Pulpcode

捕获,搅碎,拼接,吞咽

0%

Introduction

我们在开发过程中需要使用python去连接mysql,pymysql过于“老土”,所以我选择使用sqlalchemy。

初始化

我一般在配置文件中,配置mysql相关的用户名,密码,等参数。

1
2
3
4
5
6
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

DB_CONNECT_STRING = "mysql+mysqldb://%s:%s@%s:%s/%s?charset=utf8"
engine = create_engine(DB_CONNECT_STRING % (config.MYSQL_USER, config.MYSQL_PASSWD, config.MYSQL_HOST, config.MYSQL_PORT, config.MYSQL_DB), echo=config.SQLALCHEMY_ECHO)
DB_Session = scoped_session(sessionmaker(bind=engine))

其中:create_engine() 会返回一个数据库引擎,sessionmaker() 会生成一个数据库会话类。

阅读全文 »

是时候向emacs和vim说再见了。

其实自己仔细想想,早就应该放弃折腾了。这折腾的背后,永远是一颗放不下想要证明自己的心。

通过自己使用的工具,证明自己,而不是通过自己做的事情证明,这就是年轻人,或者真正做事的人,从来没想过证明自己。

其实自己从大二就开始折腾这些东西了,不仅仅是emacs,还有vim,还有各种编程的奇技淫巧,都是些华而不实的东西,比如这个什么递归算法,我到至今为止还是觉得这个递归几乎就没什么卵用。

学习面向对象也不好好学,而是从各种批评面向对象的东西看起,生吞大量的设计模式,至今也没真正用上几个。乱七八糟的技术试吃了一大堆,游戏编程,手机编程,web编程,os编程,lisp,haskell,c和c++,java,js和c#。

其实看我之前的最近才写的博客<准备web开发>,充分的说明,我还是没真正明白,自己该干什么。平时都被人称之为古怪的我,依然记得在学前班的时候,就用错别字造了一大堆乱七八糟的句字。

翻看我2014-12-24写的一篇叫《高效的emacs》的博客,现在来看看,干脆叫《搞笑的emacs》算了。

阅读全文 »

一些实验:

首先a文件中有:

1
print "this is a"

b文件中有:

1
2
import a
print "this is b"

然后执行b: python b.py

结果为:

this is a
this is b

结论:在import a的时候,执行了a脚本

阅读全文 »

我的工作,主要是在linux上写一些服务程序,而对于一个运行的服务来说,日志非常重要,因为它记录了运行时的所有信息。大多数情况下,我们很少去翻看自己的日志,但是如果系统出现异常,那么日志的作用就非常明显了。

而且不仅仅是在线上运行时,在调试程序的时候,打一些必要的debug级日志,对于定位错误也很有用,在上线的时候,我们只需要将日志级别设计为info,就可以“除去”这些debug信息了。

粗暴的过去

有那么一群粗暴的程序员,无论是调试代码,还是打印日志,总是会print各种上,首先这些print很少能留下极其有用的信息,还有你无法简单的将这些日志定位到各个地方(终端or文件),也不能已各种格式去打印它们,而且你还会将它们和真正的print进行混淆,很多人喜欢用print,仅仅是因为它们确实很简单,没什么门槛,所以同样的,它们什么也不能干。这些粗暴的人,永远都不会知道ipdb有多爽,logging有多爽。

python logging模块

每种语言都会带有logging模块,用法也是大同小异,绝对不会出现说我python能做的一个库,别的语言做不出来。

相比于print,日志有如下好处:

  1. 你可以控制消息的级别,过滤掉那些并不重要的消息。

  2. 你可决定输出到什么地方,以及怎么输出。

阅读全文 »

不知从何时起,优雅,简洁一词,一直充实着编程世界。

尤其那些跟python有关的项目,和开源的各种精神,一直想要表达一种:“编程其实很简单,这个世界其实很简单,是你们太蠢了,把他们想复杂了而已”的想法。

less is more,make it simple stupid,各种所谓的编程哲学,在unix编程中,你也可以看到大量这种想法。

如果你觉得这还不够酸,你就去读读《可爱的python》,这上面的人,打油诗写的足够多,就像酸秀才一样。充斥这各种优雅。

那么什么叫优雅,他们的意思就是把一个复杂的问题,用简单的方式解决了。

其实大多数优雅者,就像高科技环保设计一样。完全是耗费大量资源,制作了一个不怎么实用的环保型产品。

类似于百度一个牛逼的linux命令,然后试了半天,最后解决一个几十行的替换,还不如早点自己用手替换来的快

大多数的优雅解决问题,也就是精简了一部分模型,能解决比较针对性的问题之后,就觉得自己已经牛逼到上天了,然后给自己套了一个less is more的帽子。

阅读全文 »

jurassicpark

前段时间和朋友一起去看了我期待已久的电影,《侏罗纪世界》,这部电影也被称为是《侏罗纪公园4》。实际上多年前,在我还在上高中的时候,被卖盗版碟的骗了,买过一张所谓的《侏罗纪公园4》,但那其实是一个制作十分粗糙的什么巨大蜥蜴片,此片唯一令我记忆犹新的就是有个D罩杯妹子洗澡的画面。

《侏罗纪世界》多处引用了前几部的镜头,尤其是第一部的镜头,看到导演为老观众们留下的一个个彩蛋,甚是喜欢。还有音乐也延续侏罗纪系列的音乐。

之后,我又去亚马逊买了《侏罗纪公园》这部小说。这部小说的作者迈克尔·克莱顿毕业于哈佛大学医学院,同样也是《失落的世界》的作者,不得不说,这些人写的科幻小说才好看。

我一直不喜欢原著党每次总拿”有想象空间“来说事,实际上我一直认为,小说会把整个历史背景和情节描写的很细,但是画面感和节奏感,小说是无法跟电影相比的。

比如在坐电动jeep参观的那段,电影为了制造悬念,在参观的时候,并不会让观众看到。这一点就比小说要紧凑的多了,但其实就算小说写他们看到了,读者也看不到,所以没什么大不了的。

阅读全文 »

起因

python自带的rsa库不能够适用于生产环境,必须安装M2Crypto库。

但M2Crypto的安装并不简单,需要一些库的依赖。

安装步骤

swig下载:

下载版本:SWIG Version 3.0.4(注意这里必须是3.0.4,否则会报错)

1
2
3
4
wget http://jaist.dl.sourceforge.net/project/swig/swig/swig-3.0.4/swig-3.0.4.tar.gz
tar zxvf swig-3.0.4.tar.gz
cd swig-3.0.4.tar.gz
./configure

如果出现以下错误:

1
2
3
configure: error:
Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions)
library package. This dependency is needed for configure to complete…
阅读全文 »