最后更新于 .

今天同事分享了一个SVN更改通知的工具,在这里分享给大家。

自己负责的模块代码有时被同事修改,但是没有知会,也不容易了解到具体的改动内容,可能造成各种各样的问题。这里推荐一个工具Commit Monitor,可以监控svn仓库的提交记录,并及时通知,非常方便。一切尽在掌握。

下载地址,开源软件,可以放心~

http://code.google.com/p/commitmonitor/

最好的一点是,有更新会弹出任务栏提示,如下图:

4

使用界面如下,左边是可以添加的待监控的子模块,右边是对应的修改:

2

新建项目的界面如下:
1

还可以很方便查看单次提交的diff:

3

这样大家就可以随时知道自己负责的项目什么时候被谁更改过啦!

最后更新于 .

注:公司同事分享,在此仅作交流

1 HTTP协议的概念和历史

1.1 什么是HTTP协议

HTTP协议是超文本传送协议(HyperText Transfer Protocol)的缩写,它是万维网(World Wide Web,www,也简称为Web)的基础。HTTP协议设计之初就是为了实现Web的想法。HTTP协议位于TCP/IP协议栈的应用层。 我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并呈现出客户端需要的网页。 HTTP协议使用的默认端口是80,同时也支持自定义端口。

1.2 HTTP协议的历史

HTTP协议到现在为止总共经历了3个版本的演化,第一个HTTP协议诞生于1989年3月。当时Berners-Lee向 CERN(Conseil Europeen pour la Recherche Nucleaire,欧洲核能研究所)提交了一篇名为《信息管理的一个提议》的文章。文章中提出了www网络的构想,不过仅仅在很多方面都只关注了概念 ...

最后更新于 .

新年伊始,首先祝大家新年快乐~~ 今天和朋友看了一下flash对3D的支持,需要用到扩展名为.as的actionscript文件(虽然我暂时确实不知道怎么写它……),于是就尝试着用vim来编辑它。 首先,下载actionscript着色文件:actionscript.vim,放到syntax目录下。然后打开一个.as文件。 结果事与愿违,由于atlas和actionscript都可以用as扩展名,而vim却将.as文件认做是atlas文件,所以着色完全不对。解决方法有三,其中第三种是最好的,但是作为思路,还是3中方案全部记录在这里:

1.修改filetype.vim文件 在vim72目录下有一个filetype.vim文件,找到

Atlas au BufNewFile,BufRead *.atl,*.as  setf atlas

   

修改为

au BufNewFile,BufRead *.atl  setf atlas 
au BufNewFile,BufRead *.as  setf actionscript

这样就可以了。

---------------------------------我是华丽的分割线---------------------------------

在说明后两种方法之前 ...

最后更新于 .

用C++的stl库,相信大家都有用vector的经历,毕竟vector支持直接下标方式取数据的确方便很多。

但是vector默认是不提供find方法的,所以我们在查找的时候,通常这样写代码:

vector<int> vec;
for(unsigned int i = 0;i<vec.size();++i)
{
    if(vec[i]==xxx)
    {
        break;
    }
}

并不是说提供不了,而是stl库中实际上已经有通用的find函数(不止find……)

可以看一下下面的代码:

int main(int argc,char* argv[])
{
    vector<int> vec;
    vec.push_back(123);
    vec.push_back(456);
    vector<int>::iterator findit = find(vec.begin(),vec.end(),123);
    //vector<int>::iterator findit = find(vec.begin ...

最后更新于 .

最近准备已久的模板载入插件 load_template 终于搞定了,现在正式放出下载大家使用.www.vim.org上已经放出了下载链接,如下: http://www.vim.org/scripts/script.php?script_id=2957 注:不好意思,由于之前我的疏忽,部分在vimrc中的变量没有放到插件中,已经修正,在www.vimer.cnwww.vim.org均可下载 就不多废话了,直接把写的中文介绍文档贴到这里啦

1.简单介绍     

该插件主要实现了自动载入各种模板的功能(如类模板,html模板,makefile模板等等),并且支持动态模版的功能,即能够通过脚本动态的实现文件名,类名的替换。(默认已经提供了简单main函数模板、单体类模板、html标准模板、xml标准模板)

2.使用说明     

1)下载load_template.vim插件,并放在plugin的目录下 ...

最后更新于 .

各位在终端下用vim的朋友们~~我想我绝对给大家带来了一个福音~~哈哈 想必每个人都受不了终端下vim那阴暗、简陋的配色吧,而且就算用 :color xxx 来选择那些支持终端配色的配色方案也不能改变什么,是不是很郁闷?! 先给大家上个图,哈哈,感觉怎么样? zhongduan

(注:请尽量在XShell或者putty下使用,secureCRT由于自身颜色显示问题不是很完美,但也是可以用滴!~) 嗯嗯,其实很简单啦,只需要在vimrc中配置上这样一句话,来指定配色方案是256色就可以啦

set t_Co=256

这个配色方案的名字叫 darkburn.vim ,他的配色在windows下gvim的表现并不怎样,但是在终端下的表现反而非常出色,大家可以去试试哦 版权所有,转载请注明出处.https://www.vimer.cn

最后更新于 .

最近正在忙着做一个新的vim插件,功能可以说是完全为技术用家准备的,当然非技术用户也可以非常好的使用,代码已经写完了,中文介绍文档也已经ok了,剩下的就是老婆大人那边帮忙翻译出英文版的啦~ OK,废话不多好,为了过几天就会端出来的正餐,今天先给大家一些小甜点吧 今天主要是想实现在cpp文件中,自动添加.h文件的引用. 即在一个class1.cpp中,能够自动的添加一行代码

#include "class1.h"

其实这个功能可以说是很简单了,但是习惯偷懒的我,确实忍受不了每次都要去写一遍代码: vim脚本如下(特别说一下,有朋友反映我的vim脚本代码总是不高亮,结果换成高亮的html代码之后,总是保存出现问题,郁闷了,看样子还是继续调整一下):

function InsertIncludeFileI()     
    let sourcefilename=expand("%:t")     
    let outfilename=substitute(sourcefilename,'\(\.[^.]*\)$','.h','g')     
    call setline('.','#include "'.outfilename.'"') 
endfunction 
imap <c-b><c-h> <ESC>:call InsertIncludeFileI()<CR> 
function InsertIncludeFileN()     
    let ...

最后更新于 .

呵呵,废话不多说,先看看到底是啥好玩的语言特性~~
1.

#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;
int main(int argc,char* argv[])
{
    char a[20]=“world”;
    printf(“%c\n”,a[2]);
    printf(“%c\n”,2[a]);
    return 0;
}

对于这段代码,你觉得是否会编译通过,并且正确运行呢?

2.

#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;
class Foo {
  public ...

最后更新于 .

好吧,我承认,我完全是为了让ctags每天固定时间点帮我给vim生成tags文件……
crontab说明 :

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :

crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。

时程表的格式如下 :

f1 f2  f3 f4  f5 command
分 时 日 月 周 ...

最后更新于 .

今天组内调来了一个架构组的大牛,结果一来就给我的代码找出了一个问题。唉,还是学艺不精啊。
问题如下:通常我们在使用C++的new的时候,都是这样用的:


char *temp = NULL;
temp = new char[1000];
if(temp == NULL)
{
return false;
}

初看起来似乎没有问题,我们来做个测试,测试代码如下:


int main(int argc,char* argv[])
{
char *test=NULL;
while(1)
{
test = NULL;
test = new char[1000000];
if(test == NULL)
{
printf("I am wrong\n");
break;
}
}
printf("I am ok!\n");
return ...