- 浏览: 43584 次
- 性别:
- 来自: 北京
最新评论
文章列表
记录一下常用的sed 的 要点
sed 的执行过程:
In default operation, sed cyclically copies a line of input, less its terminating newline character, into a pattern space (unless there is something left after a D command), applies in sequence all commands whose addresses select that pattern space, and at the end of the s ...
1 所有的Logger 对象没有都没有直接的 initiate 方法,全部都过logging.getLogger的方式获得。
“Note that Loggers are never instantiated directly, but always through the module-level function logging.getLogger(name).”
这种设计意图是在应用程序的任何地方可以 ...
MYSQL_TYPE_BIT 16
MYSQL_TYPE_BLOB 252
MYSQL_TYPE_DATE 10
MYSQL_TYPE_DATETIME 12
MYSQL_TYPE_DECIMAL 0
MYSQL_TYPE_DOUBLE 5
MYSQL_TYPE_ENUM 247
MYSQL_TYPE_FLOAT 4
MYSQL_TYPE_GEOMETRY ...
1 设计数据库操作相关的函数或者方法时,把数据库连接做为参数传入,而不是作为模块的全局变量,或者在函数中自己new一个,可获得更大的灵活性和,数据库连接的复用性!
2 设计数据库操作为核心的模块时候,对数据模块进行一定的封装,为模块提供统一的唯一的调用入口(活极少数入口),可在某些时候获得比较大的编程简洁性。
(案例):抽奖活动的webLottery模块,模块内包含多个数据库操作已经事务行为,为了:
1,在服务期间始终提供一个活跃的链接(模块内全局变量)
2,不使用数据库连接池
3,不大范围改动原来的程序
需要添加一个数据连接的 keepAlive方法,在每次正式使用 数据困connectio ...
By default, MySQL-5.0 does not automatically reconnect.
mysql连接如果长时间idle的话,(时间:默认为8小时),会自动断开,而且不会为原连接自动恢复。
在python中,如果应用程序某个模块使用了持久化的db链接,则失效后,继续使用,会报错: 2006,MySQL server has gone away
解决办法: 比较ugly
在每次连接之前,判断该链接是否有效。 MySQLdb提供的接口是 Connection.ping(),
(奇怪,ping() 这个方法在 MySQLdb 的文档中居然没有文档化, 害我找了好久)
...
python文件中文和 print 的中文的总结如下:
1 # coding=utf-8 或者 # coding=gbk 表明这个文件使用何种编码
如果出现非acs II 码,则必须制定编码
否则
s = "中文"
或
s = u"中文" 都会报错
2 print是python把 字符串丢给操作系统,再丢出之前,要求字符的编码与 文件指定的编码一致(而不必与操作系统默认编码一致, 貌似print 会根据 文件编码--》操作系统编码做自动转化)
假设 操作系统编码为gbk
# coding=gbk
s = "中文& ...
各种环境rc的加载顺序:
1.先读取 /etc/profile, 再根据/etc/profile的内容去读取其他附加的设置文件,例如 /etc/profile.d与/etc/inputrc等设置 --这是“公共设置”
2.根据不同的用户,到用户的家目录去读取~/.bash_profile或~/.bash_login或~/.profile,(依次尝试,有则忽略后面的..) --有点用户定制的意思了·
3.根据不同的用户,到家目录去读取 ~/.bashrc, 其中,每次执行shell脚本的时候(去开启一个终端,执行一个脚本..),都会重新读取这个文件
环境的设置要走完以上三个完整的过程,显然 ...
今天花了至少3个小时跑这个java调c的动态链接库的Hello,native world的程序。
把所有犯的错误和要点总结一下!
1 java 中 c语言函数的声明
public native static void greeting(); //就像是接口声明一样,不过有native!
2 编译 javac HelloNative.java ,然后使用 javah
javah HelloNative会自动产生c的头文件HelloNative.h3 生成的头文件 的 第一句子为
#include <jni.h>
但是gcc里面默认环境可不知道jni.h是什么 ...
- 2009-09-25 23:47
- 浏览 11538
- 评论(0)
gcc and g++分别是gnu的c & c++编译器
gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
[参数详解]
-x language filename
设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根
据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果
你很个性,决定你的C代码文 ...
- 2009-09-18 11:29
- 浏览 1166
- 评论(0)
对于服务器 socketChannel (ServerSocketChannel),唯一(也只能)关心的操作是 OP_ACCEPT(表示一个新的客户端连接)。
一般一个线程应可以共享一个 Buffer 。
在没有客户端请求时,Selector.select() 将一直堵塞。应该将此做为唯一的堵塞时刻(在 I/0 Socket 中,在读数据时也会堵塞),做为服务器一般会无限循环此条件。
在自 Selector.selectedKeys().iterator() 中得到的 SelectionKey 时,就应该调用 iterator 的remove() 方法将其自集合中删除,防止忘记删除或删 ...
- 2009-09-10 15:20
- 浏览 2091
- 评论(0)
初步尝试了解下socket编程,结果被一个问题困扰了一天,回想真是失败~总结原因
1 明显的java功底太弱,对各种类的了解不彻底深入
2 解决问题的方法不够理性,系统~
陈述问题,最简单的情况,单线程交互,问题代码如下:
server:
package sl.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
i ...
- 2009-09-08 22:27
- 浏览 8160
- 评论(0)
------------------------------ 乔布斯演讲全文 ----------------------------
你得找出你爱的 (You've got to find what you love.)
Steve Jobs在2005年6月12日对全体史丹佛大学毕业生的演讲内容。
今天,有荣幸来到各位从世界上最好的学校之一毕业的毕业典礼上。
我从来没从大学毕业。说实话,这是我离大学毕业最近的一刻。
今天,我只说三个故事,不谈大道理,三个故事就好。
第一个故事,是关于人生中的点点滴滴怎么串连在一起。
我在里德学院(Reedcollege)待了六个月 ...
- 2009-09-07 23:51
- 浏览 968
- 评论(0)
PO:persistant object持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作.
VO:value object值对象。通常用于业务层之 ...
- 2009-09-07 22:52
- 浏览 922
- 评论(0)
dao完成连接数据库修改删除添加等的实现细节,例如sql语句是怎么写的,怎么把对象放入数据库的。service层是面向功能的,一个个功能模块比如说银行登记并完成一次存款,UI要把请求给service层,然后service曾将这一个case分解成许多步骤调用底层的实现完成这次存款,dao就是下面那层。
dao就是把数据存起来,之所以service的方法会有雷同只不过是因为service得需求不是很复杂不用再service里面完成太多包装或者处理过程可以直接调用dao的方法就完成的请求处理例如就要save一个对象,而这个对象是封装好的,dao里面有个方法专门save封装好的对象于 ...
- 2009-09-07 22:26
- 浏览 2166
- 评论(0)