admin的博客

git与svn结合使用,遇到冲突怎么办

1. 新建一个工作分支,在工作分支上干活

master分支,主要用于代码的提交和更新。
如果在master上工作,就不会更新代码了,这是不能接受的。

2.在工作分支上做好功能开发或bug修补
git checkout -b [branch name]

3. 代码改好后,合并到master分支
git merge [branch name]

4.修订提交纪录里面的log message
git rebase -i HEAD~2
将最后两个提交合成一个提交

假设要合并最后的2个提交,可以按如下命令进行:

1). git rebase –i HEAD~2
2). 将第二个pick修改为squash或者s,然后输入":wq”退出。
3). 这时git会自动第二个提交合并到第一个中去。并提示输入新的message(就是我们常说的comments),如下:
4). 编辑输入新的message,然后输入":wq"退出
5). 此时本地的(HEAD中)最后两次提交已经被合并为一个。git log可以查看。

计算机位的操作

位运算组合起来,可以对存储在计算机中的各位进行自由操作。
计算机中处理的各种数据都是以二进制的位来表示的。文本是由字符所对应编码的数字串组成,各数字串最后还是还原成二进制的比特。图像数据是各个点的颜色按一定形式排列,最后也还是二进制的比特串。程序所处理的对象,甚至计算机所执行的程序本身,说到底都是二进制的比特串。
也就是说,操作二进制位就等于操作计算机的数据。

基本的位处理操作有 4 种。
1. 取出特定位的状态。
2. 特定位置位(设为 1)。
3. 特定位清零(设为 0)。
4. 特定位反转。

1 特定位的状态
要从一连串二进制位中取出某一特定位 a 的状态当然,这个功能可以用按位与(&)来实现。按位与的两方之中,只要有一方是 0,结果就必然是 0;一方是 1,另一方的结果就原封不动返回。所以准备一个数 B,只需将想取出的那一位置设为 1,其余位置设为 0,那么取 A 与 B 的按位与,就可以只取出 A 数中 a 位的状态。
A &= (1<<3)

drupal service的基本使用| 一个php写的客户端

  1. 下载,并启用 drush dl services drush en services

  2. 新建一个端点 关键是端点名,端点协议,还有端点的drupal内部路径(绝对路径作为客户端的url)

  3. 选择开放的资源

  4. 客户端注意,先连接,再发送用户名和密码过支登陆,取得登陆后的cookie后,再拿这个cookie去请求token, 取得的token是跟当前的认证会话是绑定在一起的。

  5. 带上cooke and token, 就可以进行写操作了。

github上地址

代码可视化工具+项目管理工具+项目文档工具

代码管理及可视化工具: git, gitlab or gitweb or fisheye or github or bitbucket
目的:
* 代码持续发布 --自动化布署
* 代码审查和评注  --质量审核与分工合作
* 通过代码交流 --备份代码,增强交流

项目管理工具: redmine or jira or basecamp
工作流中各个小任务的生命周期,放在网站上,以实现任务的分配/管理/交流
通过任务流的流程来实现项目的开发与维护。
* 谁都可以创建ticket, 只有项目经理可以approve ticket;
* ticket有各种状态,还有委派人和报告人,
* 可以根据工作状态,改变ticket的委派人和报告人,
* 对工作时间进行登记,
* 实时的消息通知
最关键的几种状态: backup list -> todo list -> process list -> test list -> ready for live -> deploy to live
还有根据项目的短中长计划,可以分成好几个面板,如spring, kanban。

ubuntu12 从32升级到64位

gvim:
软件中心安装,把vim73和配置文件vimrc and gvimrc给拷过去。
-------------------------------------------------------
guake:
调整下界面
-------------------------------------------------------
输入法:
language surport -> options -> add new language
加入中文,同时键盘输入方式为ibus, 这时会从网上加载中文的翻译。重启机器就可以加载中文了。
这时,就可以增加五笔的输入方式了。
-------------------------------------------------------
lnmp

内省是成长的必经之路, 而ruby是门自省的语言 | 面向对象

在ruby对象是可以审视自身里面的对象/类的名字 变量和方法,而且ruby里面的一切都是对象,就是说,无论多么强大的程序都是可以通过内省来修习掌握的。

因为它里面所有的东西都是对象,它就意味着可以对功能程序进行内省,可以把程序生到精简。

懂的内省的语言想必是门强悍的语言。
面向对象,有一个非常大的好处是,可以大体框架给写出来,可以写好上面应用的逻辑,然后,再慢慢地把功能给实现。就是画一个东西,先把骨架给画出来,最后才把功能给实现了。面向对象是大程序组织的必经之路。

面向对象的形式来组织程序也是一件非常酷的事,起初因为计算的本质,我不太喜欢面向对象,而且有时会把程序给弄得很复杂,而且把程序给变慢了,还有基本的面向过程也可以获足,还有什么面向对象是对现实事物的模拟,这不是我接受面向对象的理由,而我接受的理由是它那分布式的思想。这里面,就像是细胞的分裂,还有细胞的分化,组织上的合作与分工,可以造就很强大的个体。因为,它那分布式的思想,可以根据现实的需求,分化出各种各样的个体,这才是面向对象的真正意义。它在架构的组织上很有力,为大程序的组织提供可能,其实,这只是它那分布式思想的副作用。

人员在项目中的组织

投资人,作为股东,是项目金钱上的出资人,但是他们不懂技术;

项目要有实施的人,因为项目的需要,分工会很细,每个方面都有很深专业技术的人;

这时,会需要在他们中间设一层的技术管理人,

* 可以对底层工作进行分配,协调,质量审核,以及工作合并;
* 审核新人,对工作质量及新人进行评估,以作为投资人的参考;
* 技术管理人直接投资人负责。

其实,可以打个比喻,最下面层是工作的硬件,最上面一层是使用的人,中间层就是驱动和操作系统。

这只是一个套式,可以在工作的各个领域和方面应用这个套式,以达到生产的组织。

这里面也适应管理权与所有权的分离。

Service模块的使用,drupal作为内容管理系统具有极大的适应性

drupal作为内容管理系统

service模块的使用,使得drupal可以作为一个纯粹的内容组织与管理的平台,而数据的使用,可以放在各种形式的终端里使用,这样就可以极大地扩展了应用的范围。无论是作web站点的数据,还是作为移动终端的数据,亦或是通过命令行获取里面的数据。

drupal只是作为内容组织的容器,主要是它己经很成熟,而且还有专业的社区和公司进行维护与更新。那么剩下的就可以只专注于形式的使用与应用的领域。

至于它的性能问题,现在不会很担心了,因为可以将它用作为数据的组织与管理,drupal的多站点特性,还有它代码跟数据库的完全分离,这可以使得它支撑很大数据的应用,最酷的是它甚至可以用分布式的形式来组织数据,这是我认为它这样设计最好的地方。这样的一个好处是,可以在数据库层面,支撑无限量大的数据,因为它们都是按照drupal的代码形式组织方式进行存储的。同时,在分布式里面,各个节点上数据内容是可以有千万种变化,以适应组建大系统,各个节点间是可以进行数据交互的。

这样就可根据应用的需求,用分布式组织的灵活性,来实现应用的架构。

页面