Linux 应用
Gartner中APM模型的优先级
前一段时间对APM的知识点做了一些梳理,对APM的基本概念也做了梳理,对于这个由Gartner提出的东西,在具体的应用落地场景上还是不免有很多不理解的地方。很多人直观的理解为APM就是一个监控,或者就是一个监控告警。就是我最早接触这个概念的时候也是这样认为的。
November 29, 2019
使用gitbook来写文档和文章啦
前言 项目中文档管理是一个比较麻烦的事情,一般的做法都是写word文档,或者pdf;针对代码或者接口文档高级一点的可以使用Doxygen或者swagger这样的工具自动生成更新文档。但是项目中还有很多文档有是图文混合的。那这样的文档怎么有效管理呢? 在找了几个工具之后,发现了一个比较合适的工具gitbook。这个工具之前也接触过,主要是用来书籍编写管理,这方面确实做的非常专业。但是我发现用来做文档管理也是非常好用的,所以拿来测试了一下,效果还是不错的。看看这个效果,也是左右分栏,左边是目录分类列表,右边是内容。还可以直接进行搜索。
November 24, 2018
windows10下使用dockerfile制作镜像
其实操作系统没有关系,主要还是Dockerfile的编写和执行,过程来说比较简单。 1.编写Dockerfile 我的dockerfile如下,主要是用于golang和c++的开发,所以相关软件安装都是和这方面有关的。 本来打算使用163的源的,后来看了一下官方源速度也还不错,就直接用官方的源了。
November 7, 2018
Windows10下安装Docker记录
之前一直使用window安装虚拟机的方式来做linux应用,这次想使用docker来试试,这里顺便记录一下,部分资料来自网上。 一、启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,如图:
November 5, 2018
helight.info域名启用
纠结了好久,终于定了,启用了helight.info这个域名,同时还申请了helight.cn,helight.com的域名已经被人注册了,还是一个黑科技公司,看产品就很奇怪。 这几天已经配置把helight.info配置ok了,整个网站都切换了,zhwen.org还会继续使用,欢迎大家浏览。
January 29, 2018
nginx+php站点配置https
今天准备搞一个小程序测试一下,结果发现如果要链接我的站点,那就必须要站点支持https。所以就顺便鼓捣一下把站点升级一下,增加https的访问支持。 首先解决的就是证书问题,一个个人blog就没有必要买证书了,发现证书老贵老贵的。所以找了找免费证书,最后发现腾讯云提供的还是比较好的,很方便申请,这里https://buy.cloud.tencent.com/ssl 直接选择免费证书,输入自己的域名就可以申请了,再按照他的流程就可以生效了,最后下载下来就可以用了。阿里云说是有,但是我的申请界面没有看到,所以没法用。
January 24, 2018
lex和yacc 学习笔记
前一段时间在项目中要使用一个规则表达式计算的功能,而且想可以任意扩展计算功能,比如计算AUB,A和B都表示一个号码包,计算并集,当然实际使用的公式会更为复杂,这里举例说明。在计算时候要判断如果A包已经计算ok了就可以使用A包,如果没有计算成功就需要发起计算并且等待计算成功,B包也是要同样的处理过程,最后再计算并集。当然这样一个功能自己定义写肯定是没问题的,但是还要想到后面的扩展性和程序代码可移交等问题,还是想有一个通用的方法来解决,所以在最后想到了使用yacc和lex来组织解决。实际上后来发现用yacc和lex非常方便的可以解决这类问题,而且在扩展性上非常好。所以想这里先总结一下yacc和lex使用的一些语法特点和具体我们使用的方式。现在这篇中总体总结一下yacc和lex的语法特点,下一篇再写具体使用中的一些过程。
January 20, 2018
如何使用Swagger编写API文档
最近在梳理内部系统的架构设计,而且前端时间也在kindle上看了一些国外开发在API的架构设计上的一些思考。所以就想着我们内部系统的api也应该梳理梳理了。 目前内部使用golang开发是重头,基本上的服务和调度都是使用golang来开发,而且内部模块之间的调用都是http的接口。而且目前golang1.8已经默认支持了http2的协议,在效率上以前顾虑的问题,现在都有所缓解,所以把这块的梳理重点放在了http接口的梳理上。 重点看了soap,json-rpc,restfull。在梳理中发现一个比较有意思的东东,叫 Swagger,中文名字也比较有意思:丝袜哥,哈哈。这个东西是做什么的呢:专门用户规范设计API的,简单用了一下还是非常好用的。在其官网这样介绍的:
January 19, 2018
ubuntu中编译安装protobuf记录
1.下载protobuf 下载地址:https://github.com/google/protobuf/releases
September 11, 2015
netty用pb来实现多接口rpc
在netty中使用pb, nettty的pb编解码必须指定要解码和编码的pb结构体,这然做多接口的应用就很不方便,这里采用了一种简单的方式来解决。 pb定义如下:
December 17, 2014
zz MySQL的InnoDB索引原理详解
原文地址:http://www.admin10000.com/document/5372.html 摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。
October 27, 2014
ngingx访问限制和iptables简单使用
为了方便安装了一个phpmyadmin,结果公司扫描了之后说要做一些安全限制,主要还是用到nginx的访问限制和iptables,这里稍微做一下记录 nginx的限制较为简单,在server中添加对phpmyadmin的限制即可
October 14, 2014
hdfs的C++接口编译测试
项目中要做一个数据包管理服务,我们主要项目开发都是C++的,所以这个数据包管理也是c++开发的,但是数据包的存储是个问题,最后选择了本地存储和hdfs存储结合。 昨天调试了以下hdfs的C++接口,简单这里记录一下: 代码程序是网上随处可以搜到的测试代码:
May 9, 2014
Storm云计算学习摘录总结
本想自己也总结以下,看到这篇文章总结的太好了,直接转载了 原文:http://my.oschina.net/yilian/blog/175451
April 12, 2014
Sqlite使用笔记
在目前做的元数据节点中,为了保存一些节点的私有数据,选择了本地存储,在选择本地存储的选择上又选择了使用sqlite,sqlite对数据存储和数据解析在使用比较简单。而且编译入当前代码也是比较容易的。
April 10, 2014
ROMFS文件系统分析
作者:许振文 ROMFS是一种简单的只读文件系统,主要是用来当做初始文件系统来使用的,在嵌入式linux或是uclinux中通常使用这中文件系统来作为引导系统的文件系统,甚至uclinux有时就直接把ROMFS作为其根文件系统,而不是将其作为系统启动中的过渡文件系统。在前面我也分析过,linux操作系统启动中一个是要加载内核,另一个就是要加载一个用于系统简单初始化的文件系统。这个文件系统的格式也是经过了很多发展的。现在一般使用的是一中cpio的格式。在嵌入式系统中一般使用romfs+其它的可读文件系统。romfs由于它的小巧性(其内核编译只有4000字节),所以非常适合作为系统启动初始化的文件系统。本文就是对ROMFS文件系统进行结构上的分析。前面我也曾对其源代码结构进行了简单的分析。关于ROMFS最为权威的资料是内核源代码树下的“Documentation/filesystems/romfs.txt”。本文多数资料就是来自于该文件。
April 6, 2014
Ramdisk文件系统的制作-V0.2
作者:许振文 Ramdisk文件系统: 可以利用工具软件BusyBox制作Ramdisk文件系统.busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了 一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.完整的BusyBox源代码可以从 http://www.busybox.net下载,压缩包大小为1.3 MB左右。下面是如何使用编译BusyBox的过程。
April 6, 2014
AutoMake 学习笔记
作者:许振文 过程记录: 1. autoscan 2. 修改configure.scan,重命名为configure.in,编辑Makefile.am 3. 运行aclocal 4. autoconf 5. automake --add-missing 6. ./configure && make && make install了。
April 5, 2014
thrift之php客户端使用
一方面是测试使用,另一方面还想把server的一些状态和运维信息能够以web的方式展示出来,组内的web框架全是ci,我想使用django,但是组内python的人少,所以还是随大家要使用ci,用php做开发,那么就需要php也能支持使用thrift的rpc方式去访问。
February 13, 2014
thrift之python客户端使用
写好了cpp的服务器后,测试是个问题,写cpp程序来测试好像不是很灵活,所以想用python脚本来写测试程序,记录一下过程。 首先是thrift的python程序库的安装,有些基础库需要安装后才能运行,在thrift的目录库目录中,选择py目录,使用root账户就可以直接安装了。 cd thrift-0.9.0/lib/py python setup.py install 即可完成安装。当然安装完成之后也要记得测试一下,安装是否成功。
February 13, 2014
Thrift的required和optional源码分析
thrift的数据类型定义的时候和protobuf(后面简称pb)一样也有requried和optional标签,意义是类似的,required标示改消息在序列化之前必须设置该字段值,如果不设置则无法序列化,当然也就更无法反序列化,该标签标示的字段是必填字段;而optional字段则标示该字段可赋值也可以不赋值,当然不赋值的结果是在序列化之后的数据中该字段被标示为无值字段,就是说直接访问获取该值是不行的,必须先判断是否设置了该字段的值,再去读值;这样作的好处是在协议扩充和变更时可以较为灵活的设计程序,而且在传输上也就减少了不必要的字段传输。
January 11, 2014
shell字符串的截取
shell字符串的截取的问题: 一、Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}’ 3.echo $a|cut -c1-8 4.echo $ 5.expr $a : ‘\(.\\).*’ 6.echo $a|dd bs=1 count=8 2>/dev/null
January 11, 2014
Thrift学习笔记—IDL基本类型
thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,并通过生成不同的语言代理实现来达到跨语言、平台的功能。在thrift的IDL中可以定义以下一些类型:基本数据类型,结构体,容器,异常、服务
January 5, 2014
Thrift http嵌入sever设计实现
背景介绍 在服务器模块程序种嵌入一个简单的httpserver,再通过网页或是后台再访问这个httpserver,得到一些服务模块的实时运行数据或是运行环境数据,或者在浏览器端调整服务器的实时运行参数,从而达到对后台服务模块的实时监控。 本文所写的是在thrift框架之下如何嵌入一个httpserver模块,并且如何在thrift框架之下使用js和httpserver交互,发送数据到服务器,并且获取展示服务模块的运算结果。
November 4, 2013
Nginx设置为代理服务器上网
公司的网络部门抽风,突然之间不让办公机连接idc上的非80端口了,而内部写的大部分的后台模块都是会起一个非80的http端口,让开发去实时查看模块信息,甚至动态调整模块内的一些flags参数,兄弟们着实痛苦了好几天,本来想简单点直接在任意idc机器上使用w3m来去登录这些页面,但是这些页面偏偏使用了ajax获取数据才进行展示,所以没办法,只好开代理了,上nginx吧,反正想在那台内网机器上安装nginx好久了。
July 30, 2013
Program received signal SIGPIPE, Broken pipe
在gdb调试程序的时候发现一个错误信息, Program received signal SIGPIPE, Broken pipe,原来是客户端程序在给服务器进行写入操作的时候,如果服务器执行了close操作,这时候根据tcp协议规定服务器要给客户端返回一个RST响应,如果client再用之前的fd往这个服务器写数据的时候,系统救护发一个SIGPIPE信号给进程,告诉进程链接已经断开。但是SIGPIPE信号的默认执行动作是terminate,所以客户端会退出,如果要想客户端不响应这个信号,则直接将其屏蔽忽略即可。
May 21, 2013
crontab 环境变量导致脚本运行错误
1.缺少LANG的ls取值错误 程序: yestoday=`date +%Y%m%d -d-1day` ytoday=`date +%F -d-1day` pathroot="/data5/tt_chat/" filelist=`ls $pathroot/data/ -l|grep $ytoday|awk '{print $8}'` echo $filelist 按时间过滤过滤出昨天一天生成的文件,让后再做处理,本地测试执行,没有问题,加入crontab执行总是没有数据文件过滤出来,但是自己再本地执行,就可以了
April 15, 2013
mysqldb:2014:Commands out of sync; you can't run this command now
自己写了一个python的mysql的访问类,在python的多线程种使用种有了点问题,就是报这个2014的错误,在网上搜了很多资料,基本都是说mysqldb有问题,但是在解决方法上我这里测试通过一种方式: 在每次查询或是更新的时候,从新获取一个sql执行结构体cursor,执行完毕之后在close这个cursor,例如在类方法种我这样写:
February 5, 2013
python中thread的简单使用
今天在整理一个pyton的脚本,功能是以http+json返回数据拉去线上一些模块的状态信息,一般在5分钟以内就可以跑完,昨天开始由于原始数据太多了,结果搞得5分钟跑不完了,后面的数据统计就有点乱了,仔细分析看了看之后是在网络数据拉去上花费的时间比较多,原来是单进程,单线程的,就想着如果修改成多线程会好一点,python种线程使用还是比较简单的了,从threading.thread继承了一个线程类,类里面直接编写__init__, run, __del__方法,这样就是一个基本的线程类了
February 5, 2013
js中使用sort对json数据进行排序
json格式的数据输出的时候一般是没有排序的,在展示的时候需要另外进行排序。这里总结了js对json数据排序的方法。 js中是弱类型变量,所以一般获取到数据是会按照系统自定义的类型处理,在我的系统中系统默认把数字也转化成了: “value”:“17404"这样的格式, 所以在处理上如果直接比较排序,它就会按照字符串来排序,所以要强制类型转化一下,转换为整型。 不说了,直接贴代码吧: 字符串比较排序:kdata是一个json数组,里面的有value字段,如下:
December 11, 2012
terminate called after throwing an instance of 'stdz::logic_error'
程序编译没有问题,突然在测试的时候出了这样的问题。 terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_S_construct NULL not valid 这个问题在我这里是因为调用了getenv,但是在测试的是后getenv的返回值是一个空值,而我没有检查就直接给string赋值。
December 4, 2012
Apache显示有加载php模块却不支持php文件解析问题
在测试环境搭建了一个新的LAMP环境,但是结果比较奇怪,访问页面的时候提示如下: Apache/2.2.9 (Unix) PHP/5.3.3 mod_wsgi/3.3 Python/2.6.4 Server at zhwen.isoso.com Port 80 这里显示已经成功加载了php的模块,应该可以支持php了,但是每次遇到php文件,结果还是原文下载了。 http.conf中的配置也没有错啊
November 19, 2012
c种内存分配错误:malloc.c:3096: sYSMALLOc: Assertion
今天在学习一个小程序的时候出现了下面的内存分配错误。 rbtest: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)’ failed. Aborted
November 19, 2012
nginx模块编程学习笔记3--模块主要数据结构
在nginx模块编写种主要会涉及到下面3个数据结构,这一篇我就先来看看这3个数据结构的作用和意义。 ngx_command_t ngx_module_t ngx_http_module_t 前面这两个是定义在这个文件中:src/core/ngx_core.h
October 31, 2012
nginx模块编程学习笔记2--数据类型
在模块种出现了一些nginx特有的数据类型,这里做笔记记录一下。 nginx种数据类型:整型,字符串 src/core/ngx_config.h 种定义了这么集中比较常用的数据类型: typedef intptr_t ngx_int_t; typedef uintptr_t ngx_uint_t; typedef intptr_t ngx_flag_t;
October 31, 2012
nginx+uwsgi+django/flask配置
#2pc#php#flask#uwsgi#netfilter
这几天在不断的倒腾nginx的相关东西,今天测试了nginx+uwsgi+django/flask这个组合,配置启动没有问题,后面看有没有什么app可以做。另外之前做过Nginx+mod_wsgi+webpy 的配置开发,但是mod_wsgi感觉好久没有开发维护了,而且据网上说uwsgi的效率很高,倒腾一下。 nginx我这几天一直使用的nginx-1.2.0的,nginx的编译就不说了,直接./configure && make &&make install
October 30, 2012
redis使用----数据类型和操作命令
最简单的就是key<-->value, 就是每条数据都是一个键名一个键值,如下面的操作 在编译之后在源代码目录种就可以启动redis helight@zhwen:/data/opencode/redis/redis-2416/src$ ./redis-server 另外在这个源代码目录下还有一个集成客户端:和mysql命令一样启动后就可以登录redis进行命令操作了。
October 24, 2012
redis学习笔记--编译配置
一直在找个一靠谱的内存数据库,这里所谓的靠谱,是数据能上能下,能在内存中高速的读取写入,而且还能把数据落地保存,下次启动的时候直接先加载磁盘上的数据。以前都是使用memcache来保存数据,让后自己再从memcache取数据到mysql,后来公司有个ttc的内存数据库,可以做单表映射,让后数据写入ttc后它自己再写入mysql,还比较靠谱一点,速度也有,数据也是相对靠谱,但是它也优缺点,数据不能从mysql加载过去。
October 24, 2012
nginx模块编程学习笔记1
这两天在做nginx的模块测试,想做一个可以把记录数据,以日志的形式直接写入到redis数据库中。 之前只是照猫画虎的写过nginx的模块,都是测试玩以下,这次想写个有用一点的(其实这个东西也不一定有用,先写再说)。 结果出现一个很异常的情况,也是我对nginx模块熟悉的不够,结果把filter的的模块加到处理模块的变量种–HTTP_MODULES,导致我的filter模块死活是不工作。这里整理了一下:
October 23, 2012
mysql主从又不同步了
做了数据库的主从,以为就这样没事了,一直可以稳定的用下去,但是现实是多变的。 在主库上建了一个临时库,这个库确实不需要备份到从库去,是做数据中转的,但是mysql的主从很傻瓜化,从库上没有这个临时库,所以它不能同步主库其他的数据了,卡到了那里,从库上上去看的时候:
August 23, 2012
Apache的proxy配置
最近在做的项目中有这样的需求,就是要在服务器上做一个proxy到另外一个内网机器的服务上,当然这个最多想到的就是nginx,因为nginx在proxy配置上比较简单,关键也是我会配置。但是偏偏那个服务器安装的apache,所以今天又学习了下apache中proxy的配置。 一般apache的这些功能我们在编译的时候都是以模块的形式加入的。所以我这里先是看了我的apache中有没有这个模块,结果没有,那么就需要重新编译一下这个模块:
April 13, 2012
也来学习写一下nginx的自定义模块
这几天在家里,学习了一下nginx的一些东西,首先当然就是用编译安装来配置简单的服务了。上一篇也算是学习配置的一点心得,在网上看了nginx的可扩展性后,我也简单研究了一下nginx的自定义模块。并且在晚上代码的参考下,也编译了两个模块来玩了一下,这里先展示一下一个最简单的模块。 这个模块主要是这样一个目的,在输入一个指定的url后,会返回自定义的内容:
February 19, 2012
Nginx和apache共用80端口
这几天在安装了nginx后,老想和apache一起使用,这种搭配,我这里测试使用了3种方式 方法一: 使用redirect的方式,nginx运行在80端口,apache运行在8080端口, 让后在nginx这边配置到apache8080端口的redirect,
February 19, 2012
svn 提交出现Password for '(null)' GNOME keyring: 错误
新安装了系统之后一直没有给gcode提交过代码了,前天收到一位网友xgcom的patch,我整理了一下,想提交,不想出了这样的问题:在svn commit 之后出现了以下的信息:
December 16, 2011
Linux 让你的软件支持多国语言
开头 Xgcom一直想做成多国语言的支持,但是之前没有仔细研究怎么做,今天有时间,就研究了一下,感觉也挺简单的,这里先做一个测试demo出来,也刚好记录一下。
December 14, 2011
gnome3下ibus设置
在gnome3下安装了ibus-pinyin后,安装方式如下: apt-get install ibus ibus-pinyin 并且在~/.bashrc文件中加入了以下内容。 export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus
December 4, 2011
debian下触摸板使用
之前在本本上安装了debian,但是发现触摸板的点击功能就是用不了,以为是驱动问题,加之有鼠标,而且回家用本本来写程序的时间也是很少,因为小丁同学要学习,老占用电脑,所以就没有管这个所谓的问题了,但是总是感觉不方便。
October 27, 2011
自娱自乐写的linux下音乐播放器
前一段时间周末在家没事做,突然之间就想写一个之前一直想写但是也是一直没有写的小程序--写一个自己的音乐播放器,现在终于写好了,可以使用,有基本的音乐播放功能,隐藏和tray按钮控制播放等等。小巧,程序了不多,够我自己平时在家里听音乐使用了。。。。下面是截图。
September 3, 2011
window.open的referer
今天遇到一个奇怪的问题,一个网站在firefox下可以很好的把我的referer带到服务器去进行验证,但是在ie下面就是不行,服务器怎么都没法获取到referer值,追查追查,发现在这个网站中它使用window.open来打开我的网站,原本的感觉是,这个也没有问题啊,但是事实上它就是没有给我把referer带过去。
July 11, 2011
Nginx+mod_wsgi+webpy
最近在做一个项目是以结伴开发的模式来作的,最终两个人讨论一两个人都相对熟悉而且开发效率较高的python来开发,在web框架上最终抛弃了较为原始的直接cgi和较为臃肿的django,而选择了介于之间的webpy,webpy在使用了一段时间后发现,我们两个人都很喜欢使用而且用的是相当的顺手,后台环境就使用Nginx+mod_wsgi+webpy,也是非常流畅。现在把这个简单的‘复杂’环境搭建记录一下:
April 3, 2011
Django admin搭建简单站点记录
Django 安装: 从此下载:www.djangoproject.com/download/ 下载后直接解压到目录:Django-1.2.4 然后执行:python setup.py install 进行安装,当然安装需要root用户权限 安装完成后则开始建立站点: XiAn_xxx:/data/helight 例如在该目录下建立以个xsite的站点,使用如下命令:
February 4, 2011
Gstyle-Protocol Buffers(protobuf)
部门内部在大行其道Gstyle—gtest、glog、protobuf。。。。。。所以我也就先学习学习,以备后面使用的时候在手慌脚乱的,上个月对gtest的使用做了一些学习,基本在日常的开发中已经开始慢慢使用了,而且我自己也根据网友的一个项目lcut分了一个分支xcut–主要是增加了一些我想要的特点。 这几天又学习了protobuf,是google的一个广泛的数据包协议,有了这个就可以把这边定义的包发送到对方,对方就可以很简单的解析出来,就类似于xml,json等协议一样,据网上说,该协议效率很高,空间占有量又很小,是一个比xml或是json要好很多的协议,但是一点就是可读性比较差,看不懂数据是怎么排列和各个字段的意思。
January 7, 2011
C单元测试框架-xcut
今天的网络又可以用了,就这样断断续续的,赶紧的发篇blog。 现在给大家推出一款用于C语言的单元测试框架–xcut,是由Tony Bai和helight,就是我啦,一起开发的,当然开端是有tonny开始的,我只不过在后面加入并且开始了另外一个分支,加入了一些我认为比较好的方便的特性。使用基本c写的,可以在linux,windows下跑,但是目前主要是在linux测试使用的,测试系统debian5.0。基本上都是在家里的小本本上开发的,也感谢丁丁的支持,生命中有你真好!
December 25, 2010
python中实现ssh自动登录并且执行命令
由于要做一个对大量机器访问并且执行命令的一个操作,一个一个来那肯定不行了,那家伙一个人做要到猴年马月啊。所以想写一个工具来完成,考虑到开发速度、对数据库访问的便捷性等因素,我选择了python开发。查了一下python的ssh库,呃用起来挺简单的。
December 21, 2010
xgcom0.04.1发布啦
在发布了xgcom0.04后发现一个makefile文件的错误问题,因为这个问题会影响编译安装所以是一个比较紧急的bug,所以在紧急修复后又发布了xgcom0.04.1,也感谢网友 gump.yang 的支持。感谢大家一直以来的支持! 项目地址:xgcom
November 19, 2010
Python 2.6 安装mysql支持(备忘)
做这方面的安装最麻烦的就是一些库啊,路劲啊什么的,有时候太费事了,虽然很多时候可以直接扔给运维的同事去给我安装,但是,毕竟不是很方便,尤其是为了自己做个测试,就不用去麻烦人家和浪费人家时间了。
November 19, 2010
在终端中显示彩色字符
部分转自:http://www.linuxdiyf.com/viewarticle.php?id=182904 文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例: echo -e "\033[44;37;5m ME \033[0m COOL"
November 10, 2010
mysql客户端编码问题:python
最近在使用python写一些web应用,之前使用一直没什么问题,但是昨天却出了点小问题:用python连接mysql读取数据,显示出来老是???号一类的东西,一看就知道是编码问题了,在数据库端一看:
October 28, 2010