- 浏览: 101769 次
- 性别:
- 来自: 杭州
最新评论
-
kuchaguangjie:
great, thanks!!!
python学习笔记之module && package -
newlifewant:
nice article! thanks for sha ...
python学习笔记之module && package -
arganzheng:
备战备荒 写道貌似第二种的单例是县城不安全的吧。使用Synch ...
单例的两种线程安全实现 -
arganzheng:
@备战备荒: 如果还不相信,这里有一篇step-by-step ...
单例的两种线程安全实现 -
arganzheng:
备战备荒 写道貌似第二种的单例是县城不安全的吧。这里有个ste ...
单例的两种线程安全实现
文章列表
用range进行python循环需要注意的问题
2011-03-22 星期二 晴朗
今天将数据迁移脚步初步写好,输入是要迁移的记录id范围,比如[minId, maxId]。主函数体大概如下:
# migrate the table range from [minId, maxId], with data patch
def migrate(tableName, minId, maxId):
for id in range(minId, maxId):
migrate_one(id)
# now [minId, maxId] hav ...
在Ubuntu下安装Oracle Instant Client
2011-03-21 星期一 阴雨
最近需要写一个数据迁移脚本,将单一Oracle中的数据迁移到MySQL Sharding集群,刚好最近在学习python,就用它来练手。
很快搞定了MySQL,只需要安装一个MySQLdb的python模块就 ...
从面向过程到面向对象——在C中如何实现面向对象编程
2010-05-26 星期三 晴朗
引言:像我们这些80后的童鞋,一般都是从C入门,然后转到C++和Java这些面向对象语言。当习惯了OOP的思想后就会开始思考,OOP是怎么来的。为什么我们觉得从面向过程到面向对象是一种自然的进化呢?语言就是一种工具,是应需要产生的,所以必然有这样的需求,才有这样的结果。笔者在阅读开源C源码的过程发现了很多OOP的特征,因此推测OOP就是一种自然的进化。
回顾OOP的三大特性:封装,继承和多态。现在让我们分别研究怎样在C中实现这些OOP特性。
1. 实现OOP中的封装性(不包括 ...
如何安装perl模块
2010-06-28 星期一 暴雨
运行perl脚本时,经常会发现如下类似的错误:
forrest@forrest-desktop:~/study/perl/log4perl$ ./logToScreen.pl Can't locate Log/Log4perl.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/ ...
insert into (select from)
2010-08-05 星期四 晴朗
最近在搞大服务推送项目,与DW那边有些合作,DW通过DHW将数据插入到我们这边的一张临时表,我们这边通过跑Standalone将数据从临时表插入到正式表。因为正式表和临时表的字段非常接近,所以考虑能否使用insert into ... (select .. from ...)。临时表的定义是:member_id, company_id, recommend_service。正式表的定义是:id, gmt_create, gmt_modified, member_id, company_id, re ...
一直用dd, dw, d$, d0,却很少在VI中剪切或者拷贝任意区域,但是这个是很常见的需求,google并试验了一下,这里总结一下。
使用VI剪切或者拷贝某个区域,其实跟我们在GUI编辑器上的操作差不多的,不外乎是如下步骤:
mark the region you want to cut/copy
cut/copy it
move to where you want to paste
paste it
这几个步骤在VI中分别对应VI的几个命令。下面简单介绍步骤一。
1. mark the region you want to cut/copy ...
终于开博了,这个博客主要是技术博客。就以经典的Hello World程序开始吧!
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("hello, world");
}