
程序员
文章平均质量分 61
sahusoft
Coding4Fun
展开
-
七个高效的文本编辑习惯(以Vim为例)
如果你花很多时间输入纯文本、写程序或HTML,那么通过高效地使用一个好的编辑器,你可以节省大部分时间。本文将提供指导和提示,让你更迅速地做这些工作,并且少犯错误。本文用开源文本编辑器Vim(Vi IMproved)来演示如何高效编辑,本文方法同样适用于其他的编辑器。选择合适的编辑器,实际上是进行高效编辑的第一步。我们避免去讨论哪个编辑器最适合你,因为这个话题将占用太多篇幅。如果你不知道选用那个编辑转载 2013-08-16 19:44:22 · 2329 阅读 · 1 评论 -
Git详解之三 Git分支
Git 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓是难以置信转载 2013-01-25 22:16:44 · 1025 阅读 · 0 评论 -
Git详解之一 Git起步
起步本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。 1.1 关于版本控制什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,转载 2013-01-25 22:10:28 · 1124 阅读 · 0 评论 -
Git详解之六 Git工具
Git 工具现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力。接下来你将领略到一些 Git 可以实现的非常强大的功能,这些功能你可能并不会在日常操作中使用,但在某些时候你也许会需要。 6.1 修订版本(Revision)选择Git 允许你通过几种方法来转载 2013-01-25 22:31:07 · 1904 阅读 · 0 评论 -
Git详解之二 Git基础
Git 基础读完本章你就能上手使用 Git 了。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更 新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异转载 2013-01-25 22:13:35 · 1119 阅读 · 0 评论 -
程序员水平分级 你属于哪一类?
随着技术发展,编程悄然融入了我们的生活。我们已然离不开那些程序和编程语言。很多人都在不同程度地谈论着如何编程,也诞生出很多编程语言排行,那么程序员到底应该如何分级呢?首先要明白什么是程序员。设计自己的Apache Web服务器的家伙?制作一个复杂Excel的家伙?还是能自己开发RPG的家伙?Minecraft的玩家?这些都属于程序员的哪一个级别呢?当我们说:“每个人都需要了解编程”,这句话意味转载 2012-02-18 23:13:02 · 1239 阅读 · 0 评论 -
CVS自动登录
你遇到过还有用shell也解决不了的问题么?我遇到过,所以不得不学习弥补shell的弊端的语言Expect;的确,交互式既是shell的优点,同时也是它的遗憾。前两天,因为工作原因需要写一个自动连接cvs的脚本,本以为用bash简简单单的就搞定了,没成想可怜的ba原创 2011-10-12 16:34:04 · 1771 阅读 · 0 评论 -
如何在linux环境下轻松搭建CVS服务器
<br />CVS是一种广泛应用的、开源的、透明于网络的版本控制系统。用户使用CVS时,首先要架设一台CVS服务器,在CVS服务器上导入项目实例、设置CVS项目访问控制等。而客户则通过客户端来访问CVS服务器,客户可以取得项目最新代码副本,提交自己修改的代码等,而客户可以从In原创 2011-03-24 22:54:00 · 989 阅读 · 0 评论 -
MediaWiki安装WYSIWYG编辑器扩展FCKeditor
安装步骤 从开发网页下载FCKeditor extension(直接下载)。 解压缩后放置到 {MediaWiki}/extensions/FCKeditor 档案结构為 {MediaWiki}/|- extensions/ |- FCKeditor/ |- FCKeditor.php |- ...由于PHP 5.3环境差异,请修改{MediaWiki}/extensions/FCKeditor/FCKeditor.body.php 否则将出现错误「Detected bug in原创 2011-05-02 16:43:00 · 3896 阅读 · 0 评论 -
openSUSE上Wiki架设[openSUSE11.4+MediaWiki1.16.4]
0、首先确保已经安装了Apache+PHP+Mysqlzypper se apache php mysql没装的话,安装之。zypper in apache php mysql1、下载mediawiki: http://www.mediawiki.org/wiki/Download我用的版本是MediaWiki1.16.4。2、安装mediawiki#进入到MediaWiki1.16.4文件所以目录。#tar tar zxvf mediawiki-1.16.4.tar.gz#mv mediawiki-1.1原创 2011-05-02 10:06:00 · 1674 阅读 · 0 评论 -
CVS使用手册
<br />CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。工作模式如下: CVS服务器(文件版本库)<br /> / | /<br /> (版 本 同 步)<br /> / | /<br />开发者1 开发者2 开发者3<br /><br />作为一般开发人员挑选2,6看就可以了,CVS的管理员则更需要懂的更多一些,最后还简单介绍了一些Window原创 2011-03-24 22:48:00 · 971 阅读 · 0 评论 -
Git详解之五 分布式Git
分布式 Git为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库。经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令。接下来,我们要学习下如何利用 Git 来组织和完成分布式工作流程。特别是,当作为项目贡献者时,我们该怎么做才能方便维护者采纳更新;或者作为项目维护者时,又该怎样有效管理大量贡献者的提交。 5.1 分布式工作转载 2013-01-25 22:28:36 · 1500 阅读 · 0 评论 -
Git详解之八 Git与其他系统
Git 与其他系统世界不是完美的。大多数时候,将所有接触到的项目全部转向 Git 是不可能的。有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常见的是 Subversion 。你将在本章的第一部分学习使用git svn ,Git 为 Subversion 附带的双向桥接工具。或许现在你已经在考虑将先前的项目转向 Git 。转载 2013-01-25 22:33:14 · 1078 阅读 · 0 评论 -
Git详解之四 服务器上的Git
服务器上的 Git到目前为止,你应该已经学会了使用 Git 来完成日常工作。然而,如果想与他人合作,还需要一个远程的 Git 仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在 自己不开机的时候也能从仓库获取数据 — 拥有一个更稳定的公共仓库十分有用。因此,更好的合作方式是建立一个大家都可以访问的共享转载 2013-01-25 22:18:13 · 1280 阅读 · 0 评论 -
Makefile锦集(持续更新中)
1、为每个源文件生成一个可执行程序使用场景:目录下的所有源文件都能生成可执行程序。如在做《C++ Primer》练习时,每个练习都是一个独立的小程序,不必为每个练习编写一个Makefile,也不必为每个练习执行g++编译。CC :=gcc CFLAGS := -g -Wall SOURCES := $(wildcard *.c)TARGETS := $(patsubst %.c,%,$(SO原创 2013-06-15 10:09:54 · 2162 阅读 · 0 评论 -
九大PHP开源Wiki(维基百科)程序评测
维基百科(wiki)是Web2.0的代表产物,跟博客、digg、视频分享等一样同样强调用户参与,分享互联网的精神。如果想自己编写一本百科全书,跟建一个博客一样,有已经开发好的程序可以使用,而且是开源的。有了这些工具,我们要实现编写百科全书的梦想就不难实现了。以下是九大基于PHP和 Mysql架构的wiki程序的介绍,有兴趣的朋友可以选择一款适合自己的wiki程序。1 PmWiki 下载原创 2011-05-02 08:52:00 · 29859 阅读 · 1 评论 -
arm-linux-gdb: makeinfo is required for compilation
解决办法:sudo apt-get install texinfosudo apt-get install libncurses5-dev sudo apt-get install m4sudo apt-get install flex sudo apt-get install bison以上的错误主要是缺少这些软件造成的,在安装gdb之前执行以上五个命令,一般就没有问题啦原创 2013-05-06 01:04:19 · 2415 阅读 · 0 评论 -
GDB7.6 Remote 'g' packet reply is too long
修改gdb/remote.c文件,屏蔽process_g_packet函数中的下列两行:if (buf_len > 2 * rsa->sizeof_g_packet)error (_(“Remote ‘g’ packet reply is too long: %s”), rs->buf);在其后添加:if (buf_len > 2 * rsa->sizeof_g_packe原创 2013-05-06 01:03:15 · 4351 阅读 · 1 评论 -
vim查找利器:FuzzyFinder
FuzzyFinder plugin提供了一个快速搜寻档案、Buffer、书签、指令、标签的一个介面。 搜寻时,可以即时预览搜寻结果,并且支援wildcard的模糊搜寻 ※ 下载 http://www.vim.org/scripts/script.php?script_id=1984 www.vim.org/原创 2013-04-14 21:40:39 · 7866 阅读 · 0 评论 -
为标签页的标题添加序号
在~/.vimrc中添加如下:"为标签页的标题添加序号if exists("+showtabline") function! MyTabLine() let s = '' let wn = '' let t = tabpagenr() let i = 1 while i <= tabpagenr('$'原创 2013-04-01 22:30:11 · 1490 阅读 · 0 评论 -
NFS刷新(同步)
为了让nfs客户端和服务器端同步,在mount时添加 -o sync选项。 前几天,一直被这个问题困扰。程序在nfs服务器端编译,在nfs客户端运行。发现,运行的程序始终是本次编译之前的,很差异!ls查看,文件的时间也正常,再运行,可以了!所以,这几天一直在运行程序前,添加了一次ls操作,很山寨。 今天有空查了一下,才发现是mount时,默认是异步的。添加 -o sync选项后原创 2013-03-02 22:11:56 · 6601 阅读 · 0 评论 -
vim中taglist使用
本节所用命令的帮助入口::help helptags:help taglist.txt 使用下面的命令生成帮助标签:helptags ~/.vim/doc下面介绍常用的taglist配置选项,你可以根据自己的习惯进行配置: - Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量所定义的路径中,需要使用原创 2013-01-19 22:09:25 · 1053 阅读 · 0 评论 -
Git详解之九 Git内部原理
Git 内部原理不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些内容对于初学者来说可能难以理解且过于复杂。正因如此我把这部分内容放在最后一章,你在学习过程中可以先阅 读这部分,也可以晚点阅读这部分,这完全取决于你自己。既然已经读到这了,就让转载 2013-01-25 22:38:41 · 1169 阅读 · 0 评论 -
Git详解之七 自定义Git
自定义 Git到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它。 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求。通过这些工具,它会和你和公司或团队配合得天衣无缝。 7.1 配置 Git如第一章所言,用git config配置 Git,要做的第一件事就是设置名字和邮箱地址:$ git转载 2013-01-25 22:32:23 · 1531 阅读 · 0 评论 -
CVS的远程认证通过SSH远程访问CVS
使用cvs本身基于pserver的远程认证很麻烦,需要定义服务器和用户组,用户名,设置密码等,常见的登陆格式如下:cvs -d :pserver:cvs_user_name@cvs.server.address:/path/to/cvsroot login例子:cvs -d :pserver:cvs@samba.org:/cvsroot login不是很安全,因此一般是作为匿名只读CVS访问的方式。从安全考虑,通过系统本地帐号认证并通过SSH传输是比较好的办法,通过在客户机的 /etc/prof原创 2011-03-24 23:11:00 · 2288 阅读 · 0 评论 -
CVS使用手册
<br />CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。工作模式如下: CVS服务器(文件版本库)<br /> / | /<br /> (版 本 同 步)<br /> / | /<br />开发者1 开发者2 开发者3<br /><br />作为一般开发人员挑选2,6看就可以了,CVS的管理员则更需要懂的更多一些,最后还简单介绍了一些Window原创 2011-03-24 22:43:00 · 851 阅读 · 0 评论 -
如何手动创建 Internet 快捷方式
[InternetShortcut]URL=http://www.baidu.com将上面代码复制到任意文本编辑器,然后另存为后缀为“url”的文件。原创 2009-08-03 10:35:00 · 1798 阅读 · 0 评论 -
着佐权
著佐权是一由自由软件运动所发展的概念, 是一种利用现有著作权体制来挑战该体制的授权方式,在自由软件授权方式中增加 著佐权 条款之後, 该自由软件除了允许使用者自由使用、散布、改作之外, 著佐权 条款更要求使用者改作後的衍生作品必须要以同等的授权方式释出以回馈社群。 「著佐权」(Copyleft)的名字,以彰显著佐权是补足著作权(Copyright,版权)不足的意义。另有译为「反版权」、「版权转载 2009-08-02 14:24:00 · 1944 阅读 · 0 评论 -
语录:101条伟大的计算机编程名言
人们总是害怕改变.电被发明出来的时候他们害怕电,是不是?他们害怕煤,害怕蒸汽机车.无知无所不在,并导致恐惧.但随着时间推移,人们终究会接受最新的科技.正如比尔盖茨曾经警告过一样,计算机已经真正成为我们的最新科技,几乎遍布我们日常生活的每一方面.所以,我们这个时代的某些最伟大的头脑开始思索起计算机和软件对于人类的重要性来了.以下就是101条有关计算机的伟大名言,并且,既然我们这个网站是一个软转载 2009-05-23 12:53:00 · 966 阅读 · 0 评论 -
linux 命令全称
/bin = BINaries/dev = DEVices/etc = ETCetera/lib = LIBrary/proc = PROCesses/sbin = Superuser BINaries/tmp = TeMPorary/usr = Unix Shared Resources/var = VARiable ?FIFO = First In, First OutGRUB = GRand原创 2009-05-22 20:23:00 · 1810 阅读 · 1 评论 -
Windows下架设Subversion服务器
作者:indian版本:v1.2修订:2008年1月24日11:45:35出处:http://indian.blog.163.com/blog/static/10881582007112415021751版权:作者保留对本文的一切修改、发布等权力。任何人想要转载本文部分或全部内容时,必须保留包括作者、版本、修订、出处、版权,共五项信息。对本文的参考引用,则不受限制。 关键词转载 2009-07-25 00:56:00 · 811 阅读 · 0 评论 -
vim常用命令
(转)<a onclick="function onclick(){tagshow(event, vim);}" href="javascript:;" target="_self">vim 使用技巧先稍为介绍一下 vim. vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都有. vi 有各种变种, 在不同的机器上常用不同的变种软件. 其中 vim 比较好原创 2009-07-18 13:51:00 · 951 阅读 · 0 评论 -
马尔科夫链-状态转移矩阵生成(C#)
/*计算N步转移矩阵。状态空间为{1,2, ...cnt_stats} cnt_stats,指定状态数 stats,为状态数组 step,指定步数*/ private static float[,] createTransfer_matrix(int[] stats,int cnt_stats,int step) {原创 2009-04-05 13:48:00 · 4456 阅读 · 0 评论 -
用LINUX作CVS服务器
版本控制的概念以及几种版本控制工具的简介 1.1源文件的标示与版本的概念 源文件是一个软件最为重要的一个组成单元,因此源文件的管理也是整个软件组成管理中最重要的一环,是进行高效软件开发的关键岁所在.对源文件进行管理,必须对源文件进行标示.通常认为只需文件名.而实际上,在一个版本维护工具下对于源文件的标示包括两部分:文件名与版本.即:源文件可以用如下的二元组表示{filena转载 2009-03-12 13:50:00 · 991 阅读 · 0 评论 -
Eclipse中cvs的使用介绍
很多时候我们在做项目开发时,会用到cvs,现在我给大家介绍一下关于eclipse下怎么使用cvs管理功能,eclipse本身是自带cvs的,我们只要简单设置一下让它连接到cvs服务器上。 看下图点击cvs的图标出现此画面后,在空白处点击右键就可以,新建一个资源库位置,如下图输入完信息后,点击完成,就建立好了,跟cvs服务器的连接,下面我们打开cvs服务器上的目录转载 2009-03-12 13:31:00 · 1332 阅读 · 0 评论 -
2008金融危机,你读懂了吗
对金融危机最普遍的官方解释是次贷问题,然而次贷总共不过几千亿,而美国政府救市资金早已到了万亿以上,为什么危机还是看不到头?有文章指出危机的根源是金融机构采用“杠杆”交易;另一些专家指出金融危机的背后是62万亿的信用违约掉期(Credit Default Swap, CDS)。那么,次贷,杠杆和CDS之间究竟是什么关系?它们之间通过什么样的相互作用产生了今天的金融危机?在众多的金融危机分析文章中,始转载 2008-10-23 01:16:00 · 1185 阅读 · 0 评论 -
循环与递归
优缺点:循环效率更高,递归容易理解 是大家普遍的观点。尽管两种想法在时间复杂度和空间复杂度上是等价的。但递归的有一个弱势:函数调用开销如参数传递和堆栈之类的开销,会导致在层次过深的时候,系统崩溃。递归是用栈机制实现的(c++),每深入一层,都要占去一块栈数据区域,对嵌套层数深的一些算法,递归会力不从心,空间上会以内存崩溃而告终,而且递归也带来了大量的函数调用,这也有许转载 2009-06-04 11:04:00 · 1177 阅读 · 0 评论 -
当游戏遇到Chrome操作系统
Google的Chome操作系统让在线游戏行业的未来变得相当有趣。5月份,Google宣布,今年年底将在Chrome浏览器里集成O3D,一个开源的3D Web API,可供在Web上创建界面丰富的交互式3D应用程序。这个O3D已经在著名的Google实验室里亮相多时了。也就是说,到了明年,Google自身将会形成一个网页游戏开发的平台。许多开发者已经开发了基于O3D的游戏,比如说《无限旅程》(原创 2009-08-15 19:47:00 · 866 阅读 · 0 评论 -
手把手教你把Vim改装成一个IDE编程环境(图文)
1写在前面Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Lin转载 2009-08-20 13:34:00 · 1273 阅读 · 0 评论 -
vi/vim使用进阶: 智能补全
<br />本节所用命令的帮助入口: :help ins-completion:help compl-omni:help 'omnifunc':help i_CTRL-X_CTRL-O:help ins-completion-menu:help popupmenu-keys:help 'completeopt':help compl-omni-filetypes:help omnicppcomplete.txt <br />使用过Source Insight的人一定对它的自动转载 2011-01-25 08:57:00 · 1929 阅读 · 0 评论