自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 Netty实现带UI客户端服务器聊天功能

最近有点闲,用Netty这个异步框架写了个聊天功能,也算是对Java语言的一个回顾:      现有的例子总是使用回调去处理读写,但有时候我们确需要接受来自外界的输入,比如UI界面的消息输入,此时我们就需要提取Channel或者ChannelHandlerContext来进行消息的传输。      Client端的代码比较简单,提取Connect后的Channel直接进行write就可以写

2016-03-02 21:54:06 4788

原创 一句话描述常用设计模式——代码大全

常用的设计模式能解决很多面向对象过程中的程序设计问题,但常常又让人有些迷惑,看代码大全一书睹简明解释,摘录如下:单例模式(Singleton):为有且仅有一个实例的类提供一种全局访问的功能。工厂模式(Factory):为特定基类的派生类进行实例化时,除了在工厂内部以外无需为了每一种可能的职责配置情况去创建特定的子类。抽象工厂模式(Abstract Factory):通过指定对象组的种类

2015-12-13 22:48:43 1159

原创 包的设计

在进行开发的过程中,尤其是Java的开发。在对哪些类需要组织在一个包中,哪些类需要放在另外一个包中往往感到比较迷茫。UML一书中给了我们比较好的总结如下:准则1 通过功能性内聚进行划分意即将参与共同目的,服务,协作,策略和功能的强相关类型组织在一起。准则2 将一组功能上相关的接口放入单独的包准则3 区分用于正式工作的包和用于聚集不稳定类的包准则4 职责越

2015-11-26 23:42:55 468

原创 UML中GRASP面向对象设计原则

GRASP原则(General Responsibility Assignment Software Patterns)基于职责分配的的面向对象设计原则,它是面向对象设计的基本原则。主要包括9个原则,总结一下:1.创建者。谁负责创建类?在Java和C++中对应调用new或者对象构造函数。这个还比较容易理解,谁负责创建,则可以考虑将被创建者组合为创建者的一个属性(属性可见),或者创建者的某个

2015-11-19 20:40:44 3000

原创 vim全局搜索当前目录

在使用vim操作是,总是希望能够全局搜索某个word,函数名或者变量。但一直没有找到很好的方法,最近vimscript的书发现了一种非常好的方法,贴出来供大家分享:map 0 :ccl

2015-11-15 23:42:51 1703

原创 UML和模式应用书中C++版 NextGen POS代码

最近在看UML和模式应用一书,感觉获益匪浅,全书围绕两个示例进行分析,其中一个就是著名的POS机示例。UML分为交互图和类图两个部分,交互图表明类与类之间的相互关联(强调方法),类图表明类本身的属性和成员函数(强调类本身),当然它也给出类之间的对应关系,表明类之间的组合,依赖等关系。由于交互图篇幅比较大,故在此只上类图:在实现中为了简单点,把Store 的功能加在了Re

2015-11-15 23:19:26 1968

原创 crontab的正确使用

在使用Linux进行任务定时执行时,crontab 的使用不可或缺,有的文章介绍实在有点乱,在此整理一下Crontab的格式:

2015-11-04 21:20:13 396

原创 scrapy模拟表单爬虫

刚入职事情比较多,有段时间没写博客了。公司的一个项目要求,使用scrapy做爬虫,所以自己周末闲来没事也就瞎倒腾了一个爬电子书的爬虫。同时也推荐大家一个资源非常好的电子书托管平台,看云。里面的很多资料都是非常不错的感觉像是经过筛选的,关键是居然有的还有word。业界良心啊!!1.scrapyscrapy作为python下的爬虫框架,已经被广泛使用了,它的好处在于帮我们处理好了http请

2015-10-25 22:52:18 2583

原创 事件机制实现超时触发功能,同时捕捉Ctrl+C信号

更多代码详细请参见:https://github.com/wcwu/Timout-Event超时事件任务包括几个部分:事件结构体的构造;事件的初始化;事件的注册;事件的删除;事件的触发和执行。 事件结构体构造:结构体包括两个部分,一个是事件本事的结构体,该结构体包含每个事件的节点信息,主要是每个节点的超时时间记录和超时处理函数。typedef struct timeou

2015-08-25 20:21:43 696

原创 C语言对char*的封装,形成buffer

通过对lighttpd中buffer的裁剪,得到对char*的封装代码,包括初始化,copy,append等操作结构体的定义typedef struct { char *ptr;   size_t used; size_t size; } buf

2015-07-27 20:08:00 5569

原创 使用python 处理发送POST请求

#!/usr/bin/python2.7import urllib2import urllibdef post(url, data):    en_data = urllib.urlencode(data)    try:        f = urllib2.urlopen(url, en_data)    except urllib2.URLErro

2015-07-25 16:10:38 1130

原创 vmware虚拟机按钮是灰色的解决办法

1.在虚拟机中,选用硬件->CD/DVD选项加载linux.iso或者windows.iso镜像,镜像可以在虚拟机安装目录下找到2.在客户虚拟机中将vmtools*.tar.gz解压出来3.sudo 运行其中的pl文件

2015-07-12 20:41:54 42734 1

原创 程序参数解析函数使用getopt_long()函数,改编自webbench

#include "socket.c"#include #include #include #include #include #include #include /* Allow: GET, HEAD, OPTIONS, TRACE */#define METHOD_GET 0#define METHOD_HEAD 1#define METHOD_

2015-05-28 15:47:52 552

原创 bash脚本中的分支结构

if-else分支结构:if then else fi case 变量 in pattern1)comd1; pattern2) comd2; *) comd3; esac select 变量 in 变量列表 do 命令 done 首先显示菜单,根据用户输入获取选项内容。 for 变量 in 取值列表 do 命令

2015-05-12 17:12:23 606

原创 bash脚本中的一些特殊字符的用法

#sigle double inverse quotesecho "The use of sigle quotes:"#connect the string, escape the spaceecho 'hello world'#ingore special character such as '\' '$'echo '$0, will not show the script

2015-05-11 16:28:27 554

原创 批处理的一些理解

这两天研究了下批处理操作,主要是之前有个在证券公司的哥们要用到,虽然不知他们为什么不用python之类的脚本,感觉更好用。但其实批处理本身也不是很难,关键是现在用的人越来越少了,所以市面上的资料也少。dos批处理学习主要包括以下几个方面吧:1.常用的dos命令:如 cd,dir,md,rd,ren等等。其实这些命令的很多参数才比较关键,记得多用 command /?进行帮助查找2.fo

2015-05-07 09:54:47 880

转载 批处理中的符号用途说明

[ & ] (Ampersand) (AMM-perr-sand) Used by 4DOS to indicate that both standard out and standard error are to be directed to a file or device. It also is used to denote command-line parameters in batch

2015-05-06 20:48:44 951

原创 批处理中for调用call而不是goto

@echo off::for 中使用call不会停止,但使用goto会,标签页对程序不进行任何中断for /l  %%i in (1,1,3) do (    :before    echo "before call!"    call :next1    call :final    :next1        echo "next1 called!"    

2015-05-06 17:00:36 1534 2

原创 删除指定某一天之前的所有文件

::****************************::删除某一天之前创建的所有文件::****************************::输入要删除的年月日@echo offset /p iyear="请输入指定的年:"set /p imonth="请输入指定的月:"set /p iday="请输入指定的日:"echo %iyear% %i

2015-05-06 16:38:46 1156

原创 批处理批量修改文件名添加日期

在文件名后面添加当前日期例如原文件为test1.txt添加后变成test1_年_月_日.txt@echo offsetlocal enabledelayedexpansionset rq=%date:~0,10% ::获取日期set y=%rq:~0,4% ::分割日期,得到年月日set m=%rq:~5,2%set d=%rq:~7,2%echo %y% %m%

2015-05-06 15:00:32 7811

原创 Windows批处理删除大小和类型一样的文件,带注释

作为批处理教程中的一个典型例子,这段代码随处可见。但却让人比较费解,大家也是抄来抄去,毫无注解。现将基本注释如下。假设我们的目录下有三个文件:f1.txt(10kb),f2.txt(2kb), f3.txt(2kb)@ECHO OFF //关闭命令显示SETLOCAL ENABLEDELAYEDEXPANSION //设置延时扩展,因为后面的复合语句中包含set操作

2015-05-05 09:59:22 2702

原创 Redis时间任务精简版--定时器设计

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespa

2014-11-20 11:02:42 3869

原创 C中LOG 的实现-参考Redis实现

#include#include#include#include#include#include#include "log.h"char logfile[] = "log.txt";void myLog(int level, const char *fmt, ...) {    va_list ap;    char msg[MAX_LOGM

2014-11-18 18:46:27 499

原创 必须写下的项目经历

一直想写下研究生这几年为之“奋斗”的项目。但苦于自己平时比较懒,没有写博客的

2014-11-02 20:58:57 668

LwConvert.exe

该软件用于将lwo格式文件转换为mdl文件,为空间仿真软件STK的一个工具

2015-05-19

SA模拟退火算法C++实现

使用C++实现的模拟退火算法,解决DSP问题

2013-07-27

ID3算法C++实现

C++实现的ID3算法,使用机器学习教材上的例子

2013-07-27

python写的urllib2下载文件基于ntlm

使用python写的下载linux.linuxidc.com的资源。对于其它网页,请自行修改

2013-07-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除