自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浮白

当浮一大白

  • 博客(37)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

转载 Vim 复制粘贴探秘

[转]Vim 复制粘贴探秘Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情。每当学会了vim的一个新功能,就会很大地提高工作效率。有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim的强大。而这样何尝不是一件好事呢,只要有的学习,就有的提高。最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了。仔细研究了以下

2013-04-27 20:53:35 2516

转载 C++著名程序库的比较和学习经验

1、C++各大有名库的介绍——C++标准库2、C++各大有名库的介绍——准标准库Boost3、C++各大有名库的介绍——GUI4、C++各大有名库的介绍——网络通信5、C++各大有名库的介绍——XML6、C++各大有名库的介绍——科学计算7、C++各大有名库的介绍——游戏开发8、C++各大有名库的介绍——线程9、C++各大有名库的介绍——序列化10、C++各大有

2013-04-25 23:52:27 1214

原创 python中的import,reload,以及__import__

import作用:导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录。e.g:[python] view plaincopyimport module_name[,module1,...]  from module import *|child[,child1,...]  说明:多

2013-04-24 20:29:15 34701 1

原创 make中的shell

在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。eg:xx = xx1         // 这里时makefile代码yy:xx = xx2   // 这是是makefile代码,makefile允许变量赋值时,

2013-04-20 00:47:58 1202

原创 Windows和Unix下面的换行符问题

什么是^M^M符号是windows系统下的換行符,在windows下的文本通过bin模式ftp上传到了unxi空间出现的,要去掉这些结束符,我们可以用dos2unix命令去掉,也可以直接在vi中操作去掉,实现方法如下:如:在test.txt文件中有如下内容:eeesdgtdfg dfgdfgfdgfd ^Mineesert into pusfdgdfgfd)ff;^Madwwf

2013-04-19 13:59:04 6488

转载 GCC常用参数解释

1)常见编译参数介绍gcc可以说是个伟大的编译器集合。支持c, c++, object-c, java, fortran, pascal, ada等一大堆语言,同时支持几乎所有32位以上的cpu和部分16位、8位cpu。因此几乎所有开源操作系统、商业unix操作系统、嵌入式开发都使用gcc做编译器。风河也使用gcc来编译vxworks的代码。下面介绍些最常用的编译参数(仅以gcc作为c编译器使

2013-04-19 11:40:52 2027

转载 同源策略以及cookie安全策略

1、引言     跨站点请求伪造(Cross—Site Request Forgery).以下简称CSRF。是一种广泛存在的网站漏洞。Gmail、YouTube等著名网站都有过CSRF漏洞.甚至包括“ING DIRECT”这样的荚国第四大储蓄银行的金融机构网站。2009年3月著名网络安全机构SANS与MITRE结合来自全球超过30个软件工作者及安全专家,将CSRF列为最危险的25个编程错误

2013-04-18 11:47:08 9342

转载 Google Perftools简介与使用

一. 安装与简介     从主页http://code.google.com/p/google-perftools/downloads/list下载源码包,解压后使用命令序列./configure;make;make install安装。如果make报错,请使用./configure --enable-frame-pointers从新来过。默认安装路径为/usr/local/,头文件和库文

2013-04-12 16:42:03 36980

原创 vim命令备忘录

H M L 移动光标到屏幕的上/中/下* 读取光标处的字符串 移动到再次出现的地方 # 为反向| 移动列+/- 移动到下/上N行非空白字符前(/)移动到上/下一个句子Ctrl+u/d 上下翻页 相当于pagedown pageupCtrl+f/b 下上一屏Ctrl+i/o 跳转到较早/较晚的地方,:marks  列出所有的标记m{a-zA-Z} 用标记

2013-04-11 10:08:39 930

原创 ctags文件绝对路径修正

我们利用ctags生成当前目录的tags文件并放到别的目录ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ --exclude=.svn --exclude=c++ --exclude=asm* -f ~/coreycui/coreytags/gcc/tags会发现t

2013-04-10 20:09:39 4499 1

转载 ctags中文手册

[译序]     (Easwy) First of all, I would like to thank the author of Exuberant Ctags, Darren Hiebert,            without his help, I cannot finish the work. 翻译这个手册的想法,最初源于我在写“使用VIM开发软件项目”系列文章时

2013-04-10 16:43:57 6124

原创 Vim 无切换式man手册查询

在vim中常常需要查找一些man手册,比如库函数和系统调用,往往需要切换出来,敲很多命令,本来是打算希望能够直接通过获取system("man 3 socket")的文本,然后采用正则表达式之类的解析方式,直接把函数声明与需要引入的include文件直接插入到当前buffer中来,但是在这个过程中遇到一些问题,通过system过去的文本中有很多不可读的稀奇古怪的字符,最后也没有搞定,如下:

2013-04-09 21:46:15 5570

原创 Vim插件之引入头文件

这几天一直在折腾Vim开发环境,Vim下面无法引入头文件,eclipse 的CDT好歹还有头文件提示(ominicomplete貌似我是无法完成的),eclipse JDT更是能够import类包于是动手自己写了一个vim插件,其实也不是很方便,这个插件依赖A.vim和taglist.vim,基本原理是在某个单词(函数或类)tag上输入命令,先自动跳转到tag定义的文件,然后找到头

2013-04-09 21:03:51 4783

原创 Vim插件中构建新窗口

function! s:Tlist_Window_Create() call s:Tlist_Log_Msg('Tlist_Window_Create()') " If the window is open, jump to it let winnum = bufwinnr(g:TagList_title) if winnum != -1 " Jum

2013-04-09 20:55:53 1199 1

原创 Vim的execute执行ctrl命令

execute "normal \"

2013-04-09 03:50:35 1622

原创 Vim自定义函数之正则表达式匹配

初衷是实现一个Vim插件,能够帮助将C++中h头文件中声明的方法自动实现到cpp实现文件中(我所知道的c.vim实现得并不如我意思,eclipse中source菜单中实现得很好),其中用到需要解析当前光标所在行,如:需要将void sayHello(int msg,string buffer);转化为void Hello::sayHello(int msg,string m

2013-04-08 14:59:33 2363

原创 VIM 寄存器

将寄存器与各种删除、复制、粘贴命令组合使用,能够大大提高编辑文本的效率。指定寄存器在复制或删除文本时,可以使用"register命令将文本放入指定的寄存器中。例如以下命令,将复制的文本放到寄存器a中,同时文本也会被放入未命名寄存器中。"ayy如果再使用相应的大写字母来指定寄存器,那么会将当前行内容追加到寄存器a中,这时该寄存器中就有了两行文本。"Ayy

2013-04-08 12:59:46 906

转载 Vim的延迟加载技术 autoloading

AutoloadingWe've written a fair amount of functionality for our Potion plugin, and that's all we're going to do in this book. Before we finish we'll talk about a few more important ways to polish

2013-04-08 11:03:28 1579

转载 VIM格式化代码

从别的编辑器里粘贴到vim里的代码经常由于不正常的缩进变得格式混乱。在vim的官方FAQ (http://vimdoc.sourceforge.net/cgi-bin/vimfaq2html3.pl)找到的:格式化全文: gg=G自动缩进当前行: ==这个是原文节选:14.6. How do I format/indent an entire file?You can

2013-04-08 10:25:07 1275

转载 vim c/c++开发插件

Following up on my previous post on Essential Vim Plugins for Web Developers, I have decided to tell you about the awesomeness of the C / C++ plugin for Vim in this article.Now to get things goi

2013-04-07 23:34:04 1652

原创 VIM 插件安装路径

VIM 插件一般安装在 5 个地方, 存放插件的路径都列在“runtimepath”选项中,我们可以使用 set 命令查看它::set runtimepath?一般来说显示结果如下:runtimepath=~/.vim,/usr/local/share/vim/vimfiles,/usr/local/share/vim/vim63,/usr/local/share/vim/vimf

2013-04-07 00:01:54 1395

原创 VIM map映射

有五种映射存在 - 用于普通模式: 输入命令时。 - 用于可视模式: 可视区域高亮并输入命令时。 - 用于操作符等待模式: 操作符等待中 ("d","y","c" 等等之后)。 见下: |omap-info|。 - 用于插入模式: 也用于替换模式。 • 用于命令行模式: 输入 ":" 或 "/" 命令时。 下表是map绑定中,对应的模式代号。现在先了解一下,等看完之

2013-04-06 22:00:25 5717

原创 Vim 中使用 OmniComplete 为 C/C++ 自动补全

OmniComplete 并不是插件的名字,而是 Vim 众多补全方式中的一种(全能补全)。说白了 OmniComplete 其实就是根据光标前的内容猜测光标后的内容,具体怎么猜取决于所采用的脚本。而 OmniCppComplete 就是专为 C/C++ 编写的 OmniComplete 一个补全脚本。那么经常和 OmniCppComplete 一起出没的 Ctags 又是什么呢?

2013-04-06 15:26:04 2807

原创 vim多窗口使用技巧

1、打开多个窗口打开多个窗口的命令以下几个:横向切割窗口:new+窗口名(保存后就是文件名) :split+窗口名,也可以简写为:sp+窗口名纵向切割窗口名:vsplit+窗口名,也可以简写为:vsp+窗口名2、关闭多窗口可以用:q!,也可以使用:close,最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口,其内容还在缓存中

2013-04-06 14:47:09 1307

原创 VIM的使用技巧之Tlist

本节所用命令的帮助入口::help helptags:help taglist.txt 使用下面的命令生成帮助标签:helptags ~/.vim/doc下面介绍常用的taglist配置选项,你可以根据自己的习惯进行配置: - Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量

2013-04-06 14:43:42 13362

原创 VIM使用技巧之buffer操作

命令 ls 可查看当前已打开的buffer命令 b num 可切换buffer (num为buffer list中的编号)其它命令::bn -- buffer列表中下一个 buffer:bp -- buffer列表中前一个 buffer:b# -- 你之前所在的前一个 buffer真的是很好很强大

2013-04-06 07:11:42 7303

原创 一个高性能RPC框架原理剖析

业务与底层网络通信分离Server大部分主要分为两层:网络接收层:负责监听端口,负责收包,编码,解码工作,负责将响应包回传给客户端。业务处理层:负责接收网络接收层完整的包,如果是RPCserver,则需要根据上下文请求(由网络接收层构建)中指定的方法名以及参数调用指定服务(需要有完善的异常处理机制),得到响应包,通过网络接收层编码回传给客户端。

2013-04-04 19:07:34 26319 2

原创 一个高性能RPC框架的连接管理

既然说连接,先对EpollServer的连接管理做个介绍吧。客户端与服务器一次conn,被封装成为Connection类在服务器进行管理。服务器连接有三种类型,分别为:enum EnumConnectionType        {            EM_TCP = 0,            EM_UDP = 1,            EM_BUS =

2013-04-04 19:06:19 3685

原创 C++ Epoll的封装

Epoller组件的实现主要是对于epoll_create,epoll_ctl,epoll_wait等的封装,该Epoll可以设置可选择采用边缘触发还是选择触发的模式bEt,默认为边缘触发 可指定该Epoll可以指定监听的最大套接字数目max_connections/** * @brief epoller操作类,已经默认采用了EPOLLET方式做触发 */c

2013-04-04 19:05:32 8199

原创 C++ Socket封装

TC_Socket是一个socket的封装类,封装了socket的处理,该封装类的主要操作功能包括生成socket,根据指定的socket类型,调用socket系统调用,并进行异常处理,如果sock存在,则先关闭,打开新的描述符。void TC_Socket::createSocket( int iSocketType, int iDomain){    assert (i

2013-04-03 17:45:01 9901

原创 C++ 线程池的封装实现

为了充分利用多核的优势,我们利用多线程来进行任务处理,但线程也同样不能滥用,会带来一下几个问题:1)线程本身存在开销,系统必须为每个线程分配如栈,TLS(线程局部存储),寄存器等。2)线程管理会给系统带来开销,context切换同样会给系统带来成本。3)线程本身是可以重用的资源,不需要每次都进行初始化。所以往往在使用中,我们无需把线程与task任务进行一对一对应,只需要预先

2013-04-03 14:57:29 34924 2

原创 C++通用Functor仿函数 LOKI库中的模版使用以及设计新思维

如LOKI库中有一个通用的仿函数,调用方式如下:TC_Functorvoid , TL::TLMaker const string&, int >::Result> cmd3(TestFunction3);string s3( "s3");cmd3(s3, 10);TC_FunctorWrapper void, TL::TLMaker const string&

2013-04-03 01:51:50 3369

原创 C++ Thread对象封装

Pthread库是posix linux的线程库,调用接口如下,我们模仿JDK,对Thread进行封装,具体的业务逻辑只需要如同Thread一样实现run方法即可。线程操纵函数(简介起见,省略参数)pthread_create():创建一个线程pthread_exit():终止当前线程pthread_cancel():中断另外一个线程的运行pthread

2013-04-02 23:19:44 6165 1

原创 C++模板特化的几种方式类型

说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。这里用一个简单的例子来说明这三种情况:// general versiontemplateclass T>class Compare{pub

2013-04-02 10:27:19 1619

原创 C++ 模版的特化与偏特化

模版的特化与偏特化    Partial Template Specialization能够让你在模板(Template)的所有可能的实体中特化出一组子集.  1.模板的特化(template specialization):    例如,定义如下的一个模板:    template    class Widget    {      ... 泛化实现代码

2013-04-01 15:55:22 1460

原创 c++ 匿名枚举

匿名枚举enum { value = 0 , value2 = 1};enum { value3 = 2};刚看到时候有些奇怪,经过考察,他的功能等价于静态常成员变量, struct IsCustomUnsignedInt
{
       enum { value = 0 , value2 = 1};
    enum { value3 = 2};

2013-04-01 11:20:32 6495

原创 C++ STL容器线程安全的模版类

STL的容器都是非线程安全的,模仿JDK,写了一个通用的线程安全的模版类template >class TC_ThreadQueue : protected TC_ThreadLock{public:    typedef D queue_type;    /**     * 从头部获取数据, 没有数据则等待     *     * @param

2013-04-01 11:20:12 5857

纯真IP数据库 2024-06-12最新的

纯真IP数据库 2024-06-12最新的

2024-06-15

vmware不完全卸载清除器

wware虚拟机如果不完全卸载,将导致无法重新安装,这个工具主要帮你自动清除虚拟机注册表注册项

2010-08-29

JAVA WEB 服务器

JAVA WEB 服务器 socket http协议解析

2010-04-21

JAVA httpserver

JAVA socket编写的httpserver

2010-04-21

Java动画、图形和极富客户端效果

《Java动画、图形和极富客户端效果开发》是一本关于利用图形和动画效果创建更好、更有效和更酷的桌面应用程序的书。《Java动画、图形和极富客户端效果开发》讨论Java基本原理、Swing、Java 2D、图形、图形用户界面(GUI)、动画、性能和基于这些基本原理的用于创建漂亮应用程序的高级效果。《Java动画、图形和极富客户端效果开发》第一部分讲述Java图形和用户界面编程的基本概念。第二部分讲述Java 2D和Swing中创建极富界面时有用的更多高级主题。第三部分讲述动画的基本原理。第四部分介绍极富客户端效果开发及示例。

2010-03-22

confluence 中文补丁包

放置到/WEB-INF/lib文件夹下重启服务器即可

2009-10-08

eclipse plugin源代码 完整工程

自己写的eclipse plugin 整个工程,里面有对多个扩展点的扩展,成为一个基本的扩展模型

2008-08-21

ExtJS新的主题

ExtJS一套新的主题theme和皮肤<br>漂亮,

2008-02-21

ror中文资料

ror中文资料ror中文资料

2007-10-31

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

TA关注的人

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