自古以来,生产工具的先进程度就代表了生成力的先进程度-------生成力的发展要求人们不断的研发出新的生产工具,新生成工具的诞生又使得生产效率飞越。作为劳动生产的一种,计算机软件开发也需要工具,随着程序员们手中的工具越来越强大,软件开发的效率和质量明显提高。善于学习和掌握新工具、新技术的程序员们也总是能得到更多的实惠。 微软Windows操作系统已经成功推出10多年,在WIndow系统中从事图形界面(Gr
分布式系统有很多成熟的解决方案。如:微软的WCF。WCF太过于复杂,配置也麻烦。其实可以自己动手设计一个小的分布式系统。系统的原理完全在自己掌握之中,可以根据业务随机而变。这里展示远程调用最核心最基本的处理逻辑,其实远程调用并不复杂神秘。分布式系统其实是数据流的交换。数据必须快速的从一段传送到另一端,否则系统性能就大打折扣。对于.net,本人设计一个非常优化易于使用的网络库(EasyNetMessage)。使用该库,不需要关心底层细节,所有处理对象是string、byte;发送时,不需要处理分包
勇哥买了一台10核心20线程的32G内存的服务器, 一时好奇, 想试试并发运算的情况下, cpu的表现如何 .字符串相关度计算是文本处理和数据挖掘中一个不可或缺的方法,例如论文查重等。Levenshtein Distance可以用来比较两个字符串的相似度,即两个字符串之间的“距离”。这个“距离”其实就是从源字符串变换到目标字符串需要进行的删除、插入和替换的次数。 有不少该算法的改进版本,可大幅度提升效率,不过这不是本文的目的。我们的目的就是看看该算法在不同的机器下到底能跑
勇哥手里这份代码启动后报下面的错误。“创建窗口句柄之前,不能在控件上调用Invoke或BeginInvoke”经检查,是在初始化设备时由OnNotifyError报出来。这个OnNotifyError是主窗体上的一个委托。原来是这样的。 public void OnNotifyOK(string msg)
{
微软的Chart图表控件好处是免费的,并且基本的画曲线、柱状图等功能还是有的。虽然Teechart非常优秀,但是它是收费的。所以熟悉一下Chart没什么坏处,目前勇哥有一个案子也用到了Chart,是一款测量R角的设备。勇哥提供两段代码来演示Chart的用法,以后有机会,还是想把Chart写成一个ChartHelper类集成到netMarketing中去。第一个演示例子:using System;
using System.Collections.Generic;
usin
今天勇哥有一段代码遇到这个需求,即把数据库表的实体类的属性名字与其值显示到UI上去。在网上找到几个函数,解决了问题。 /// <summary>
/// 获取类中的属性值
/// </summary>
这个问题是这样的,勇哥希望把另一个程序的一个form或者自定义控件复制到现有的工程中去。最笨的方法是创建空白form,然后把要复制的form上的内容粘贴过来,然后把相应代码也粘贴过来。最蠢的人都知道直接把这个form的三个文件复制过来就可以了,三个文件即是Designer.cs /.cs /.resx下图所示是: Form1.cs, Form1.Designer.cs, Form1.resx但是如果你添加新项目,把上面三个文件添加过来后,它们是分离的状态(右边所示的状态),傻眼了吧?
反混淆是用来干什么的?勇哥不知道。我只是用来参考一下作者代码的编程思路用的。我看了一下,我硬盘中的相关工具好多,截个图大家参考一下下面说一个勇哥常用的:c#反混淆工具de4dotde4dot是一个开源的.net反混淆脱壳工具,是用C#编写的,介绍一下它的使用方法首先 pushd 到de4dot.exe所在文件夹,然后调用 de4dot.exe 路径+dll名称如下图Detected Unknown Obfuscator 说明侦测不到这个程序集是用什么方式混淆的,但是de4dot依然会
如下图,黑色的电芯,蓝色的是治具。把电芯放在治具里面,如果可以轻松放进去,证明电芯的尺寸是合格的。在这个例子里面,就要用到检查一个多边形是否在另一个多边形的内部的问题。使用C#的 Region类就可以检查一个多边形是否在另一个多边的形的内部。勇哥因为上面的治具验证电芯的问题,偶然发现C#里面居然还有这么一个Region类。这个检查方法是:Region.IsVisible,如下图所示:下面的演示程序演示了Region的常见方法。演示代码:using System;
using 
如果用C#的Tuple元组从函数传出多个值,是可以的,但是在VS2017之前,取元组对象的元素时,是类似下面这样的用法。xxx.Item1xxx.Item2xxx.Item3由于这样不好识别其值究竟是什么,所以不好用。如果使用对象数组的话,你可以使用下标来访问其元素,但是需要转换数据类型。如果使用halcon的Tuple对象,就好用多了。下面勇哥演示一下其基本的使用方法。几点说明:使用TupleConcat方法来压入元素,可以是不同的数据类型,而不是使用Add方法hv_Number.I