12 2011 档案

十三个代码注释的小技巧
摘要:1. 对不同级别的代码进行注释对于不同级别的代码块,要使用统一的方法来进行注释。例如:对于每一个类,需要包含一段简明扼要的描述,作者和上一次修改的时间 对于每一个方法,需要包含这个方法的用途,功能,参数以及返回结果 当你在一个团队里面的时候,采用一套注释的标准是非常重要的。当然,使用一种大家都认可的注释约定和工具(例如C#的XML注释和Java的Javadoc)在一定程度上能推动这项任务。2. 使用段落注释首先把代码块分解成多个“段落”,每一个段落都执行单一的任务;然后在每一个“段落”开始之前添加注释,告诉阅读代码的人接下来的这段代码是干什么用的 复制内容到剪贴板 代码:// 检查所有记录都是 阅读全文

posted @ 2011-12-30 16:29 c语言源码 阅读(436) 评论(0) 推荐(0)

java的method反射机制(二)
摘要:在java web 开发中,我们经常会遇到,从后台获取前台的值,将获取的值通过set方法赋值给实体,然后将实体存入数据库中,有时候对于实体属性多时,代码量很大(其实都是那些set方法),所以针对这点,我们可以通过method反射机制,写个通用的底层方法(对任何实体都有效),这样一来,我们就不用再去一个一个set到实体中去。public static Object ObjectMethod(Object obj,HttpServletRequest request){ Field[] fields = obj.getClass().getDeclaredFields(); for(Field f 阅读全文

posted @ 2011-12-30 15:40 c语言源码 阅读(209) 评论(0) 推荐(0)

年末的简单回想
摘要:天天上班,加班,主要就是赶时间吃饭和睡觉,不知不觉的传说中的2012马上就要来了。不管到时是地球要爆,还是太阳要爆,还是抽点时间想想今年的得失吧。因为快要过去的2011可是俺的第二个本命年哩,让人郁闷的是在2010年末时我本以为2011要不平凡的,如今再过两天就过完了,还是平平淡淡的,也不知道是不是因为穿了一年红裤衩的原因,啥也没发生。 总之,今年就一句话,总体平平淡淡,工作上今年过完后工作经验就有两年半了;工资还是没涨;身体呢,从年初的75公斤成功减肥到70公斤;今年印象深的两件事是,五一去看女朋友,十一去看女朋友。平淡无奇的2011就要结束了。 不过收获还是有的,主要有两点: 一是,技.. 阅读全文

posted @ 2011-12-29 19:22 c语言源码 阅读(145) 评论(0) 推荐(0)

java的method反射机制(一)
摘要:在做java web开发中,我们常常会遇到前台从后台获取特定的数据格式,特别是Extjs开发,json-lib-2.2.2-jdk15.jar这个jar包帮我们解决了不少问题,但是不是特别全,所以有时候需要自己去将数据拼成所想要的格式,对此,我们可以参照json-lib-2.2.2-jdk15.jar(反编译),可以自己去封装一个jar包,对于这个问题,我们可以利用java所提供的Method反射机制来解决如下示例:import java.lang.reflect.Field;import java.lang.reflect.Method;import org.apache.commons.. 阅读全文

posted @ 2011-12-29 15:12 c语言源码 阅读(444) 评论(0) 推荐(0)

Eclipse快捷键大全(转载)
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl 阅读全文

posted @ 2011-12-29 13:25 c语言源码 阅读(270) 评论(0) 推荐(0)

C#基础知识回顾
摘要:今天在一个网站看到了一篇关于C#基础知识的文章,篇幅很长,浏览了一下,确实是基础知识,虽然顺序凌乱,没有章法,但是对于我们经常写代码的人确实应该尽量多的记住一些基础知识。掌握牢固的基础知识编程才能得心应手,最基本的东西也应该注重,因为细节决定成败。引用类型是类型安全的指针,它们的内存是分配在堆(保存指针地址)上的。string、数组、类、接口和委托都是引用类型。强制类型转换与as类型转换的区别:当类型转换非法时,强制类型转换将抛出一个system.invalidcastexception异常,而as不会抛出异常,它返回一个null值。用using创建别名:using console = sys 阅读全文

posted @ 2011-12-28 09:40 c语言源码 阅读(185) 评论(0) 推荐(0)

三步学会Java Socket编程(三)
摘要:第三步 实现信息共享:在Socket上的实时交流网络的伟大之一也是信息共享,Server可以主动向所有Client广播消息,同时Client也可以向其它Client发布消息。下面看看如何开发一个可以实时传递消息的程序。设计原理:服务器端接受客户端的连接请求,同时启动一个线程处理这个连接,线程不停的读取客户端输入,然后把输入加入队列中,等候处理。在线程启动的同时将线程加入队列中,以便在需要的时候定位和取出。源码}import java.io.*;import java.net.*;import java.util.*;import java.lang.*;public class Server 阅读全文

posted @ 2011-12-27 15:26 c语言源码 阅读(189) 评论(0) 推荐(0)

三步学会Java Socket编程(二)
摘要:第二步 多个客户同时连接在实际的网络环境里,同一时间只对一个用户服务是不可行的。一个优秀的网络服务程序除了能处理用户的输入信息,还必须能够同时响应多个客户端的连接请求。在java中,实现以上功能特点是非常容易的。设计原理:主程序监听一端口,等待客户接入;同时构造一个线程类,准备接管会话。当一个Socket会话产生后,将这个会话交给线程处理,然后主程序继续监听。运用Thread类或Runnable接口来实现是不错的办法。实现消息共享}import java.io.*;import java.net.*;public class Server extends ServerSocket{privat 阅读全文

posted @ 2011-12-27 15:23 c语言源码 阅读(160) 评论(0) 推荐(0)

三步学会Java Socket编程(一)
摘要:第一步 充分理解Socket1.什么是socket所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是S 阅读全文

posted @ 2011-12-27 15:15 c语言源码 阅读(207) 评论(0) 推荐(0)

正则表达式相关:收录常用的正则表达式
摘要:正则表达式在项目中用时常还是会用到的,不过写起来还是要费些工夫的,于是搜集了一些常用的正则,就不用每次都要自己写了。君子善假于物也,借助现有的经验资料以提高编程的效率。匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配回车换行符:[(\r\n)]匹配文件路径是否合法:[^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w]*.*))]匹配是否为数字:!(Regex.IsMatch(对象, @"^\d+$")))//表示不是全数字匹配空行的正则表达式:\n[\s|]*\r匹配HTML标记 阅读全文

posted @ 2011-12-27 14:27 c语言源码 阅读(234) 评论(0) 推荐(0)

简单实现一个Form窗体的抖动功能
摘要:今天清理电脑的时候发现了一段以前什么时候建的一个练习的工程,运行了一下exe,原来是实现窗体抖动效果的,我还以为搞了什么高级代码;结果打开程序一看,是很简单的代码,窗口抖动居然是让窗口的位置不停地变化实现的。贴出来大家看看: private void button1_Click(object sender, EventArgs e) { Random ran = new Random((int)DateTime.Now.Ticks); Point point = this.Location; for ... 阅读全文

posted @ 2011-12-26 20:21 c语言源码 阅读(245) 评论(0) 推荐(0)

判断磁盘是否是USB连接的一种方法
摘要:判断磁盘是否是USB连接的磁盘可以使用C#中的DriveType.Removable属性,但是在实际使用中有时候这个属性经常把NTFS类型的硬盘判断为系统的本地盘。不过还有一种方式来判断是否为USB磁盘,就是使用USBDISK.dll判断,这个网上有下载,不过这个dll只能使用在32位环境下,64位的环境还是要靠DriveType.Removable来判断。使用方法: [DllImport("USBDISK.dll", EntryPoint = "ReInitUSB_Disk_Letter")] public static extern string R 阅读全文

posted @ 2011-12-25 23:34 c语言源码 阅读(267) 评论(0) 推荐(0)

ASP.NET中js提示框跳转网页
摘要:网站中碰到了错误或是进行了某项操作完成后,需要提示用户,可是使用js提示框,用户点击确定后跳转到新的网页。如下:js提示框方法 public static void JSShowMessBox(string showMessage, string newUrl, HttpContext rq) { System.Text.StringBuilder msgScript = new System.Text.StringBuilder(); msgScript.Append("<script language=JavaScri... 阅读全文

posted @ 2011-12-24 20:55 c语言源码 阅读(214) 评论(0) 推荐(0)

C#匿名方法的用法
摘要:匿名方法,是C#2.0的一个特点。最近看了一篇说的还挺详细的文章,修改了一下转了过来,并用程序调试了。这里对匿名方法的使用做了详细说明值的看看。 先看看MSDN对匿名方法的描述。 在2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式。不过,本主题中有关匿名方法的信息同样也适用于 Lambda 表达式。有一种情况下,匿名方法提供了 Lambda 表达式中所没有的功能。匿名方法使您能够省略参数列表,这意味着可以将匿名方法转换为带有各种签名的委托。 匿名方法不. 阅读全文

posted @ 2011-12-23 22:43 c语言源码 阅读(313) 评论(0) 推荐(0)

C#中DES加密解密
摘要:加密和解密是一门高深和复杂的学科。在程序中有时需要用一些简单的加密和解密,以保证一些关键字符串、值等地安全性。这里就要用到DES加密解密。当然我们不用深究这些加密的原理了,因为如果深究的话估计都得转行研究数学。DES加密解密C#中需要用到这几个类,DESCryptoServiceProvider,CryptoStream。看下面的两组加密解密代码。1、 (1)、对字符串进行DES加密 public static string Encrypt(string sourceString, string key, string iv) { try ... 阅读全文

posted @ 2011-12-22 17:20 c语言源码 阅读(455) 评论(0) 推荐(0)

网页聊天室的原理
摘要:目前,无论是网页游戏、论坛博客、电子商场,随处都可以看到web聊天室。 web聊天室的实现方法有多种,包括:基于ajax技术的实现,基于Comet(Pushlet)技术的实现,基于XMPP协议的实现,以及基于flash的XmlSocket和远程共享对象的实现。(1) 基于ajax技术的实现。 ajax(异步JavaScript和XML,Asynchronous javascript and xml),它的作用就是可以实现页面与服务器端的无刷新交互。用ajax来实现web聊天室的基本原理是:在页面上每隔一段时间就通过ajax从服务器中获取数据,然后更新页面显示。这种方法简单明了,缺点是实时性.. 阅读全文

posted @ 2011-12-22 16:50 c语言源码 阅读(751) 评论(0) 推荐(0)

SVN错误问答
摘要:1.svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'http://svn.moon.ossxp.com/svn/test'错误的用户名检查登录的用户名是否输入错误svn: 服务器发送了意外的返回值(500 Internal Server Error),在响应 “OPTIONS” 的请求 “http://svn.moon.ossxp.com/svn/test” 中2.svn: OPTIONS of 'http:/ 阅读全文

posted @ 2011-12-22 15:44 c语言源码 阅读(231) 评论(0) 推荐(0)

程序员,闯你所处的行业
摘要:最近看到一个帖子,说的是一个程序员不想编程了,想转到金融行业里去,他说在IT领域很迷茫,累,也没赚到多少钱,他还说对金融很感兴趣。我想这个问题,也是大多数程序员所困惑的。能够有这样的思考,首先是值得肯定的:因为这至少说明他在考虑他的前途,他在进取,他想要更好的生存。编程有没有前途,用什么开发语言,要不要转行,诸如此类的问题一直在各程序论坛上被提起。大家讨论的不亦乐乎。对于程序员转行,我想简单说一下自己的看法。 无须质疑,IT行业是一个日新月异的行业,编程开发方面,技术更是层出不穷。加上国内的大环境,对开发人员的普遍不重视,导致程序员对所处的行业没有信心,对自己的前途担忧。我们只知道这个行业呆不 阅读全文

posted @ 2011-12-22 15:42 c语言源码 阅读(208) 评论(0) 推荐(0)

C#获取MAC地址的几种方法(补充版)
摘要:关于获取本地电脑的MAC地址,除了前面说过的根据WMI获取http://blog.csdn.net/yysyangyangyangshan/article/details/6803787,其实还有好几种方式来获取mac地址,下面一一道来。首先需要用到的一些方法和类: public enum NCBCONST { NCBNAMSZ = 16, MAX_LANA = 254, NCBENUM = 0x37, NRC_GOODRET = 0x00, ... 阅读全文

posted @ 2011-12-21 16:12 c语言源码 阅读(706) 评论(0) 推荐(0)

C#中进程间的通信:管道
摘要:程序中有两个进程,并且一个进程需要和另一个进程进行通信,那么可以使用管道,所谓的C/S模式也和这个差不多。 分为两端服务和客户端,下面简单说一下管道通信。两个类Server和Client,都包含如下方法:监听,接收,发送。如下类:Server类 public class Server { [DllImport("kernel32.dll", SetLastError = true)] public static extern SafeFileHandle CreateNamedPipe( String pipeName, ... 阅读全文

posted @ 2011-12-20 17:21 c语言源码 阅读(736) 评论(0) 推荐(0)

(转载的)提高C#编程水平的50个要点
摘要:提高C#编程水平的50个要点1.总是用属性 (Property) 来代替可访问的数据成员2.在 readonly 和 const 之间,优先使用 readonly3.在 as 和 强制类型转换之间,优先使用 as 操作符4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if 5.总是为自定义类重载 ToString 方法6.区别值类型和引用类型7.使用不可变的值类型(Immutable Atomic Value Types)8.在值类型中,确保0是一个合法的数据9.理解 ReferenceEquals, static Equals, instance E 阅读全文

posted @ 2011-12-19 19:55 c语言源码 阅读(122) 评论(0) 推荐(0)

人生是什么?感悟4:不要轻易否定自己
摘要:上网无聊的时候我经常玩一个QQ游戏:挖坑,这是在北方一带比较流行的一种纸牌游戏,人们经常那这个赢钱玩。当然在QQ里不能存在赌钱,赢一些分而已,经常玩自然有赢有输,当赢和输的时候,我发现一个规律。有时手上的牌并不好,但是抱着一种豁出去的心态去出牌,想着输了又不会损失什么,结果往往能反败为胜,反而有时虽然拿了一手不差的牌,结果发现有几张牌不打自己赢不了,一旦打了可能给对方可趁之机,于是不出,结果你输了,然后你发现对方的牌也不好打,只要你赌一把就能赢。 由此想到了平常生活中,工作中,也经常犯这种错误,面对一个机会,面对一次选择,结果老是患得患失,优柔寡断,结果错失过去,结果往往发现,当时只要再坚持. 阅读全文

posted @ 2011-12-18 21:10 c语言源码 阅读(175) 评论(0) 推荐(0)

电话本
摘要:(这个是我们c++作业)此电话本可完成以下功能:(1)实现简单电话本功能,用姓名来搜索电话号码;(2)用户输入姓名,程序查找并输出结果;(3)用户可以通过输入,添加姓名和电话号码;(4)用户可以删除姓名和电话号码;(5)电话本可以保存在指定文件中;(6)电话可被从指定文件中读入到内存。/*电话本程序 用户输入F表示用文件输入文件保存 用户输入输入K表示用键盘输入文件保存 用户输入Q表示查询电话号码 用户输入D表示删除记录 用户输入I表示插入电话号码 以空格分隔姓名和电话号码*/ #include<iostream> #include<map> #include... 阅读全文

posted @ 2011-12-18 20:43 c语言源码 阅读(478) 评论(0) 推荐(0)

stl map
摘要:一个map讲的很不错的博客http://hi.baidu.com/sppeivan/blog/item/fb1ee8f101a2eba7a40f52d3.html转来和大家共享Map概述Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面 阅读全文

posted @ 2011-12-18 00:02 c语言源码 阅读(5635) 评论(0) 推荐(0)

(转载的一些话)其实你未必非要做个“杜拉拉”
摘要:这个社会,竞争太残酷,于是我们带上了面具,小心翼翼地工作,战战兢兢地做人。唯恐一个不小心,毁了前程输了未来。为了生存,我们像杜拉拉,削尖了脑袋往上爬,却始终骗不过自己空旷的心。黑夜悄悄把面具摘下,喧嚣散去,孤单凄凉。得失真有这么重要么?何不放下心中的包袱,纯粹简单,真实洒脱,快乐工作,笑对生活。 我们在职场上踩下的每一个脚印,同样也是我们在地球上留下的足迹。金钱是让人快乐的,事业是让人付出的,成功是让人喜悦的,努力是让人尊敬的。但是,这一切有一个前提,你做的这件事本身有存在的价值。 我们为什么可怜乞丐?即使很多乞丐月薪过万还是丐帮头目?用经济学原理来解释其实很简单——乞丐不创造GD... 阅读全文

posted @ 2011-12-17 21:58 c语言源码 阅读(179) 评论(0) 推荐(0)

C#中的自定义控件
摘要:一般在开发Winform项目中,visual studio提供的控件基本能满足我们的需求。但是,往往在一些情况下,系统提供的控件并不能刚好满足需求,如果完全使用以提供好的控件,也可以完成效果需求,但是可能会造成臃肿和控制的不方便。因此,在项目中开发一些灵活的自定义控件是很有必要的。你可以根据业务需要,量身打造你想要的控件。一般来说,自定义控件可以分成三种类型。1、自定义控件,这是完全需要自己设计,开发的新的控件,一般继承自Control,重写OnPaint方法;还要自己写添加事件、处理消息等等。这样的控件,对应你的业务可以达到很好的效果,功能最灵活。同时对开发人员要求也最高,一般要了解图形绘制 阅读全文

posted @ 2011-12-16 18:58 c语言源码 阅读(987) 评论(0) 推荐(0)

HDU 3234 Exclusive-OR 扩展并查集
摘要:这个题坑了我两小时,查了半天,最后发现自己一直都弄错了运算符的优先性。val[p]^val[q]!=v是错的,应该写成((val[p]^val[q])!=v),异或运算符优先性比关系运算符==低#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int root[20010],val[20010],temp[20],xor[20],roo[20]; int n,Q; int query(int x){ int tem; if(root[x]!=x){ te 阅读全文

posted @ 2011-12-13 18:53 c语言源码 阅读(149) 评论(0) 推荐(0)

poj 2528 Mayor's posters 线段树+离散化
摘要:离散化处理要注意+1(看了HH大牛的博客懂的,以前自己的代码是不对的)例如数据:131 101 36 10这样,普通离散化处理 {1 3 6 10}, 然后此程序会操作成点染色,于是结果为2, 但正确答案为 3;HH大牛给出一种离散化方法: 如果相邻数字间距大于1的话,在其中加上任意一个数字,比如加成[1,2,3,6,7,10],然后再做线段树就好了 (详见下面代码)按照上述方法离散化处理,为 {1 3 4 6 7 10 11 }, 染色, 结果为 3;这样,就很简洁地将一个数字表示成一段区域。#include<cstdio> #include<cstdlib> #in 阅读全文

posted @ 2011-12-06 22:10 c语言源码 阅读(190) 评论(0) 推荐(0)

软件工程师两年的职场训练
摘要:德鲁克说:“组织的成员作为个体,发展得越好,组织也会取得更多的成就。这一点正是今天所有经理人培训和资深经理人教育课程重点和背后的真谛所在。当组织严谨的作风和道德精神不断发展、组织的目标和处事能力不断提升时,组织内个体成员的发展空间也愈加广阔。”借着写博客把关于软件开发中新人训练的想法总结一下,也希望抛砖引玉,得到大家的指正。综合来说,一个软件工程师的培养需要涉及以下四个方面: 1. 产品专业开发领域 指的是产品开发过程涉及的专业技术。如操作系统、数据据等。这里不讨论这一项。 2. 通用软件开发技能 指的是诸如代码撰写、Debug、单元测试、系统分析之类,也包括思维拓展等。 3. 产品应用领域  阅读全文

posted @ 2011-12-02 21:42 c语言源码 阅读(206) 评论(0) 推荐(0)

导航