技术文章
文章平均质量分 74
yangyuankp
手机:13046669898
展开
-
C# Socket通信客户端类、服务器类
其实这些东西网上都有,但是比较凌乱,很少有封装好的类,在此共享一下。。。 一个Socket服务器类,一个Socket客户端类,都可以直接拿去用,下边有详细的调用示例。 需要说明的是,服务器类没有处理多客户连接,只是简单的响应单客户连接。 另外,提醒一点,尤其是很多新手容易犯的错误,就是服务器类处理事务是在线程中进行的,此时不能访问界面上的原创 2012-11-28 17:00:37 · 3541 阅读 · 3 评论 -
在U盘上安装Linux系统解决方案
作为一名IT菜鸟,用PE维护系统已经满足不了我的需求,把windows装进U盘又太俗,只能把目光转向Linux了。 大致从网上搜索了一下教程,尽是些N年前老掉牙的教程。别的不说,那个麻烦劲就让人吐了。 时代在发展,科技在进步,其实简单的方法早就有了,虽然网上也有一些,但是并不全面,造成很多问题。现在,本小菜把它总结出来。 准备工作:原创 2012-07-26 09:56:58 · 13400 阅读 · 21 评论 -
C#禁用USB的两种方法(附代码)
方法一:通过修改注册表禁用USB 原理:只要把注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR路径下的Start值改成4即可禁用USB(默认为3,即允许USB)。 优点:简单易行。 缺点:地球人都知道,很容易识破。 建议:用一个timer或者创建一个线原创 2012-07-16 13:20:19 · 9249 阅读 · 8 评论 -
win7 IIS运行ASP.NET程序500错误解决方案总结
俗话说,常在河边走哪有不湿鞋。前些天重新安装了系统,最近需要用IIS发布一下.NET程序。我一向很放心的IIS竟然抛出了莫名其妙的500错误,让我一头雾水。 500错误是服务器内部错误,一般和程序没关系。最终问题算是解决了,可是改动了N个地方,具体是哪的原因也不太清楚,反正跑不了这些地方。 注意:以下图有显示不全的,可以图片另存为,在电脑上看原创 2012-07-15 21:14:49 · 15925 阅读 · 2 评论 -
新云CMS网站内容管理系统生成HTML静态化教程
网站静态化一直是SEO重点关注对象。静态化有好有坏,最大的好处是收录迅速,坏处是纯静态的HTML页面难以维护,特别是对于大型的网站。本文将介绍如何将新云CMS网站管理系统静态化。 本文以新云CMS 3.0为例。 1.进入后台控制面板,找到“软件频道基本设置”,点击进入,在右侧窗口找到如下设置: 在这主要是开启静态功能,设置一下静态原创 2012-06-22 09:15:28 · 5675 阅读 · 3 评论 -
C#利用委托跨线程更新UI数据
在使用C#的过程中,难免会用到多线程,而用多线程之后,线程如何与界面交互则是一个非常头疼的问题。其实不仅仅是界面,一般情况下,我们往往需要获得线程的一些信息来确定线程的状态。比较好的方式是用委托实现,看例子: 注:本例利用委托和跨线程访问技术,用界面上的两个label控件实时显示线程的执行次数。网上虽然有很多这方面的文章,但是过于简略,说明很少,刚刚接触这方面的程序员很难理原创 2012-06-18 10:13:43 · 24940 阅读 · 7 评论 -
Java内存分配全面浅析
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。 进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM原创 2012-06-11 09:46:31 · 29811 阅读 · 29 评论 -
ASP.NET巧妙利用repeater控件和checkBox控件实现批量操作
一般的CMS(Content Manager System)中,不可避免的会涉及批量操作。比如显示一页数据,一个良好的设计都会加上批量删除、批量推荐等操作。 在ASP.NET中,做这样的批量操作非常简单,以批量删除为例,我们仅需要checkBox控件用来多选,外加一个批量删除按钮。显示数据这里采用repeater控件。 下面是我的工程中一段代码: aspx前台文件代码:原创 2012-05-20 20:27:23 · 10426 阅读 · 6 评论 -
先有鸡还是先有蛋:数据库中的相互依赖
本小菜在设计数据库的时候,不幸遇到这样一个问题: 数据库中有两个表,分别是小组表和成员表。其中小组表中有一个创建者字段,成员表中有一个所属组字段。 看着挺符合逻辑的设计,却引发了一个哲学问题:先有鸡先有蛋?两个表形成了互相依赖。在数据库刚刚建成的时候,两个表中都没有数据,那么向任何一个表中插入数据都是失败的。 出现问题就要马上解决,于是我便到网上搜索,找原创 2012-05-20 19:17:29 · 2621 阅读 · 6 评论 -
让菜单充满活力:ASP.NET根据角色动态分配菜单+权限
这次做图书馆维护系统,首先要解决的问题就是角色权限动态分配,权限分配直接体现就是菜单的动态分配。在此和大家分享一下心得。 大多数系统,都有多种类型的用户,不同的用户权限不同,某一个功能,A类用户是可见的,但是B类用户没有必要或者不应该看见这个功能,这就要涉及到功能的动态分配。要解决这个问题,当然要从数据下手,在学姐的指导下,有了如下的UML设计图:解释一下:MemberTy原创 2012-05-20 19:06:54 · 10933 阅读 · 4 评论 -
小问题也纠结:ASP.NET弹出显示ex.Message异常信息
最近完善图书馆维护系统,遇到了一个小问题: 没办法显示抛出的异常。 由于用户要求不高,所以没有对异常进行处理,直接把异常信息显示给用户,其实这样做是很不恰当的,但是时间有限,还要继续学习,不能做太细了。但是就这么个小小的问题,竟然花费了两个小时!从网上查了很多资料,基本上就没有对的,也可以说没人能给出一个明确的答案。 事情非常简单:用ASP.NET的原创 2012-06-04 11:58:55 · 5263 阅读 · 3 评论 -
菜鸟也能飞:SQL数据库实战专业教程(二)
四、需求分析→数据库设计 从这开始,就真正进入项目实战啦。先说点体会,我刚开始接触编程的时候,都是编写一些小东西,往往都是半天或者一天什么的就编完了,那时候根本没想过做程序之前还要有需求分析。经过快两年的学习,接触的都是比较大的系统,才明白没有需求分析的程序都太业余了,没有任何技术含量。对于一个系统来说,如果需求分析不到位,那么将有灾难性的后果,从这节的小标题就能看出,需求是数据原创 2012-04-19 13:06:54 · 5668 阅读 · 1 评论 -
ASP.NET调用cmd命令提示符拒绝访问解决方案
最近做关于Windows Server POP3服务器的小项目,翻遍网络,也没能找到接口。 值得庆幸的是最终发现了一个控制台接口winpop.exe,也就是用cmd命令提示符与POP3服务器交互。 这样实属无奈之举,用cmd命令效率低不说,而且获取、分析返回信息相当麻烦。然而这还不算什么,最主要的是:B/S模式下,网页程序有权限调用cmd吗?原创 2012-08-14 09:48:41 · 13957 阅读 · 4 评论 -
三层架构中使用实体类填充泛型集合代替DataTable解决方案(ASP.NET+C#)
用三层架构开发项目,经常会遇到如下场景: D层负责与数据库交互,一般是得到DataTable或DataSet对象,然后返回给B层,B层进行类似的处理来读取数据:dt.Rows[0][“xxx”];或者dt.Rows[0][1];(强烈不建议使用)。 有时DataTable也会被传到UI层,与控件进行绑定,显示数据。例如ASP.NET的repeater控件提取数据:。原创 2012-08-01 08:17:20 · 8933 阅读 · 17 评论 -
C#操作注册表REG_DWORD类型键异常(RegistryValueKind.DWord异常)解决方案
在用C#操作注册表时,如果注册表键的类型是REG_DWORD,有可能遇到溢出BUG。网上这方面的资料很少,在这共享一下。 C#可以用RegistryKey类的SetValue方法来设置键值,例如: 看起来一切正常,但是这个RegistryValueKind.DWord是有问题的。 注册表中的REG_DWORD是无符号3原创 2012-11-28 16:28:01 · 7427 阅读 · 2 评论 -
注册表添加NoDrives隐藏盘符(禁用U盘)参数说明
关于禁用USB接口,有一种方法是在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer位置新建键“NoDrives”,类型是REG_DWORD,通过设置其值,隐藏某个驱动器盘符;再新建一个键“NoViewOnDrive”,类型也是REG_DWORD,通过设置其值,禁止访问某个驱动器。原创 2012-11-28 14:22:31 · 15889 阅读 · 1 评论 -
svchost.exe启动服务原理(如何查看系统服务究竟启动了哪个文件)
引言: 本来是不想研究这些东西的,但是米老大指示要求禁用网上邻居,顺便研究一下。 其实禁用网上邻居,可以简单的从注册表禁用,不过这样太苍白无力了,既然做,就做强悍点,直接从服务入手,彻底kill网上邻居服务(是篡改服务文件,而不是简单的暂停服务),神也无力回天,除非修复系统。 网上邻居核心服务是ComputerBrowser,那么如何找到这个服务启动的文件原创 2012-11-11 14:19:20 · 9615 阅读 · 3 评论 -
SQL LIKE语句多条件贪婪加权匹配(新增必要词指定)
前两篇博客: SQL LIKE语句多条件贪婪匹配算法 SQL LIKE语句多条件贪婪加权匹配算法(改进版) 为了更好的扩充本算法的适用范围,特加入必要关键词指定功能。 在实际应用中,很可能希望匹配的时候必须出现某个词,否则就是没有意义的匹配。 说到这,读者可能觉得这些需求小题大做,在程序中用原创 2012-10-18 14:12:15 · 4822 阅读 · 1 评论 -
SQL多条件模糊查询解决方案(类似百度搜索)
参考博文: SQL LIKE语句多条件贪婪匹配算法 SQL LIKE语句多条件贪婪加权匹配算法(改进版) SQL LIKE语句多条件贪婪加权匹配(新增必要词指定) 前言: 算法的基本特性在前几篇博客中已经做了详细的说明,经过不断的改进优化,到归仓的时候了,也就是说,该算法告一段落,不再更新原创 2012-10-18 14:29:51 · 18142 阅读 · 2 评论 -
SQL LIKE语句多条件贪婪匹配算法
在CMS开发中,经常会有类似这样的需求: 提问——回答模式,最经典的例子就是百度提问。 提问者提出问题,由其他人回答,其他人可以是用户,也可以是服务商。 在这个模式中,如何充分利用历史数据是最关键的技术。很多时候,由于客户不擅长使用搜索功能,一上来就提问,而这些问题往往早已经有近乎完美的答案,但没有充分利用。这样一来,不仅加大了劳动量,又原创 2012-10-04 18:46:11 · 47991 阅读 · 9 评论 -
Foxmail添加微软最新outlook.com邮箱解决方案
前言废话: 微软最近推出的outlook.com邮箱非常火爆,笔者也抢注了一个,当时大约是一个半月之前,微软公开注册的第二天,那时候我的名字就已经被注册了,可见是多么疯狂。。。。 最近想正式使用,因为俺现在的QQ邮箱显得太业余了。 作为专业菜鸟当然不能在网页里使用邮箱,但加入Foxmail时却遇到一系列问题,不是想的那么容易。。。。微软总是给人惊喜。。。。原创 2012-10-04 18:35:25 · 88283 阅读 · 3 评论 -
简单模拟多线程Socket通信(java)
先来看一段单线程的原始代码(代码中有详细的注释): 服务器(TCPServer.java):import java.net.*;import java.io.*;public class TCPServer{ public static void main(String[] args) throws Exception{ ServerSo原创 2012-09-03 09:36:38 · 6831 阅读 · 2 评论 -
浅谈三层架构中的实体类(C#)
最近因为三层架构中的实体类,引发了不少小问题,下面列举一下,谈谈自己的感想。 本文所指的实体类仅限于三层中的实体类,即数据库表的映射。 一、为什么要用实体类? | 使程序简洁易懂,便于维护。 | 暗合接口不变原则。 | 体现面向对象思想。 举例说明:原创 2012-08-18 15:52:05 · 22593 阅读 · 15 评论 -
菜鸟也能飞:SQL数据库实战专业教程(三)
六、概要设计。 数据库分析完了,基础已经搞定,接下来就是对程序的初步设计。如何设计呢?如果是小程序,用脑子想想,也就算设计完了,但是如果是稍微复杂点的系统,恐怕就不行了。概要设计还是要借助于UML图,现在你知道它有多重要了吧?我们先来设计程序的大致结构,可以用UML的包图。作为专业水准的菜鸟,我们要用三层架构来设计程序。所谓三层架构,就是把程序分为基本的三层,分别为:UI层(用户原创 2012-04-19 13:12:35 · 1771 阅读 · 5 评论 -
菜鸟也能飞:SQL数据库实战专业教程(一)
写在前面的话:这个教程本来是想重点介绍SQL数据库,但是写着写着发现已经有很多关于数据的知识了,索性把项目整个开发过程都写了下来。由于时间确实很紧,教程收尾比较匆忙,感觉写的很对不起大家,但是基本上一个项目的流程就这么多了(不包括后期测试),什么时候该做什么,该用什么工具,有什么技巧,都差不多说到了,我的能力也就到这了。补充一点:每个阶段都要产生相应的文档,这可是非常重要的,真正做项目的时候不要忽原创 2012-04-19 13:00:46 · 2781 阅读 · 7 评论 -
ASP.NET-AspNetPager分页控件完整使用方法
牛腩新闻发布系统不知不觉就看完了,第一次接触网页制作,感觉很多知识点都是新的,虽然新,但是有种似曾相识的感觉,利用米老师的织网学习法,很快便消化了!由于学到的东西太多太多,而且很杂,就没有发到博客上来。看到最后,牛腩大哥没有做分页,但是我感觉这是一个相当重要的功能,几乎是网页必备。作为一个锻炼的机会,自己实现了一下分页功能。第一次做,显得很生疏,为了方便以后参考和方便更多人学习,特总结成一篇文章。原创 2011-12-29 12:32:04 · 1484 阅读 · 0 评论 -
澄清VB调用API时字符串参数的困惑
声明:本文部分内容来源于网络!首先,我认为这样花费精力去研究VB调用API字符串的种种猫腻是很有必要的。本着严谨和发现问题与解决问题的原则,和为了能更好的认识问题的本质,我特写了这篇冗长的讨论。网上有很多关于此的讨论,但比较杂乱,目的不明确,也很难懂。在此也就是做个总结吧!让大家能有一个清楚认识。我的问题是从调用内存API时参数的ByVal VarPtr+变量和直接写变量的区别开始的。举个原创 2011-08-05 14:50:25 · 1628 阅读 · 0 评论 -
由Timer控件到Windows消息的思考
问题首先是由vb的Timer控件引起的。大家都知道vb不支持多线程,但Timer控件给我们一个错觉:一个Timer控件就是一个线程,Timer控件是并行的。开始我也这么认为,但一段简单的代码说明了一切。代码如下: Option ExplicitDim i As Long, j As LongPrivate Sub Command1_Click()Dim x As D原创 2011-08-05 15:43:06 · 1458 阅读 · 0 评论 -
吐血巨献:VB网络编程(webbrowser+Inet+抓包封包+经验)
声明:本文部分内容来源与网络! 网络的重要性不用我说,所以关于网络的编程对我我们来说也是非常重要,非常实用的! 但是我在网络上却没有看到多少关于VB网络编程方面的知识,一方面是VB用的人比较少,不会用就说VB不好(个人认为学好VB以后C++、Java一看就会!);另一方面是大家不愿意公开这方面的知识,自己辛辛苦苦探索的,还得靠它吃饭,怎么可能轻易拿出来公布?但是社会要发展,人类要进原创 2011-08-05 16:20:55 · 37493 阅读 · 5 评论 -
亦思验证码识别系统3.1详解
本教程只供学习交流使用,请下载24小时后删除!切勿用于商业用途!所有法律纠纷与作者无关! 今天给大家带来久违的亦思验证码识别系统,这个系统确实很不错,对于一些不太复杂的验证码识别率高达99%!但是这个系统是收费的,据说是很贵!而且使用说明也不是很详细,在此我就简单的演示一下到底怎么用(我用的是亦思验证码识别系统3.1破解版)。要识别验证码我们要先做一个验证码识别库(即亦思的FC文件原创 2011-08-05 16:46:42 · 5619 阅读 · 1 评论 -
由hosts到域名解析与网站备案的思考
如果您对建站有所了解,但又不是很懂其中的原理,这篇文章可以解答你很多困惑! 这篇文章来自于实践和推理,错误在所难免,见谅! 前几天玩我的休闲小游戏时,突然发现登录不上去,官方的解决方法是修改C:\WINDOWS\system32\drivers\etc\hosts文件。很有意思,索性就上网查了一下这个文件是干什么的,简要的概括一下:在浏览器解析域名之前,要先从这个文件中原创 2011-09-01 17:16:30 · 2977 阅读 · 4 评论 -
win7上一个微软都不知道的快捷键
知道的路过,勿喷! 大家一般知道Windows键+数字可以打开任务栏上对应的程序,图解: 这个组合非常好用,但是用过之后会发现一个问题:当我们已经打开一个实例之后,如下图IE: 按Windows+数字组合就不能再打开新的实例了。这时候只要按住Windows+shift+数字就可以了,无论之前打开了多少个,按这个组合键都可以打开一个新的实例。原创 2011-10-13 09:05:56 · 770 阅读 · 6 评论 -
建站杂谈
自从来到提高班,生活就比较忙碌,几乎没有闲暇时间。突然有一天,感觉自己应该在大学期间做点什么,为以后工作打下点基础。做什么?做就要做有技术含量的,做就要做有意义的。考虑到目前网络垃圾软件泛滥,用户一件难求,我选择了做一个软件下载网站。 我建立这个网站从一开始就有很有压力。首先,学习任务本来就很紧,如果我做这个网站,无疑会占用我睡觉吃饭的时间,因为我已经没时间可挤了。其次,妈妈不原创 2011-11-14 17:34:03 · 796 阅读 · 1 评论 -
VB拖放讲解,填补网络空白(个人认识过程)
对于拖拽,我一直没有一个明确的认识,今天发现了这个问题,马上着手解决(发现问题与解决问题的无缝结合,不能放到明天),认识到自己哪里不会是一种学问,解决更是一种学问。 首先,我站在巨人的肩膀上-----先百度一个例子,通过例子理解更好一点。但这个巨人有点让我失望,网上并没有太完善的说明,但是还是得到了启示。下面通过我的学习历程来理解拖拽!(那就让我当一个小巨人吧~~~~) 说原创 2011-08-05 16:00:31 · 1908 阅读 · 0 评论 -
由VB的KeyCode和KeyAscii到扫描码、虚拟码的思考
相信用VB的朋友都知道KeyCode和KeyAscii。在KeyDown和KeyUp事件中有KeyCode参数;在KeyPress事件中有KeyAscii参数。这两个参数用的还算是比较多的。 以前也没怎么注意,这两个参数到底有什么区别也不太清楚,唯一明确的就是KeyCode的范围比KeyAscii广,因为有些按键不激发KeyPress事件。直到前几天做一个模拟按键的程序时,发现原创 2011-08-14 08:20:32 · 3446 阅读 · 0 评论 -
在新版CSDN博客添加友情链接
自从CSDN博客改版之后,很多功能都消失了。。。。我以前没用过CSDN,满心欢喜的来到这,期待着漂亮的皮肤,顺畅的操作、飞一般的速度。可是事实恰恰相反。。。。。 言归正传,简单说一下怎么在新版的CSDN添加友情链接。 第一步:登录帐号后进入博客,找到“博客栏目” 第二步:在“博客栏目”最下边找到“添加栏目” 第三步原创 2011-10-06 16:31:00 · 2613 阅读 · 3 评论 -
善用拖放
这些天对Windows操作系统拖放有很大感触,很多操作如果用了拖放将变得十分快捷。只怪以前自己没注意培养,下面分享几个场景。 场景1:QQ聊天。聊天有时候会用到之前说过的话,或者别人说过的话,以前我都是选中-右键-复制或者选中-Ctrl+c。但是偶尔一次拖放尝试竟然成功了,可以把文字直接拖放到QQ聊天输入窗口,不仅仅可以从QQ拖放,从其他地方也可以拖放文字到聊天窗口。另外用这种文字原创 2011-10-23 20:52:11 · 514 阅读 · 2 评论 -
第一次接触三层架构感想
看完大话设计模式,今天研究了一下三层架构和MVC。经过对比发现三层架构和MVC其实本质上没有区别,都分为三层,我觉得MVC就是三层架构,只不过具体要求不同。当然,只是我的理解,我接触三层架构才一天时间,是不可能真正理解的。老师没给资料,自己百度了点,拿来谈谈心得。利用一天宝贵的时间看了三层架构,也应该有点收获,分为两个部分。 1. 三层架构简单理解。 对于三层架构原创 2011-11-14 17:39:07 · 1035 阅读 · 0 评论 -
Windows畸形文件操作总结
不知道大家在使用电脑过程中有没有遇到一些文件或文件夹无法删除的情况。当然,无法删除的原因有很多,对于普通的由于“文件正在使用中”而无法删除推荐使用360的解锁功能,虽然也不是太好用,但是目前没有发现那款软件比它好(win7系统上无奈才用360,但是用xp系统的我推荐一款软件:超级巡警暴力删除(点击下载)。只能在xp上用,可以删除任何文件,无论文件是否被使用,包括操作系统在内。)。原创 2011-08-23 10:34:02 · 3732 阅读 · 0 评论 -
JQuery以POST方法从ASP.NET服务器获取Json数据完整示例
最近学习JQuery,用到了它的POST方法向服务器请求数据,服务器返回Json格式的数据。看上去非常简单,但出了很多莫名其妙的问题。主要原因就是第一次学习太生疏,很多地方写的不规范造成的。这方面的资料虽然可以从网上查到,但是百花齐放,怎么写的都有,在此,我就以标准的格式写一个例子,希望对大家有帮助,也给自己留着备用。 本文适合有一定JQuery、ASP.NET基础的读者阅读。原创 2012-01-31 16:11:01 · 4826 阅读 · 3 评论