`
文章列表
自己申请了个域名,搭了个小站,  http://guan58.com  。 以后新内容都会写在上面的新的小站了,此blog就停用了。
PostgreSQL源码编译安装   author: vincentzhwg@gmail.com date: 2014-05-12   本文的编译安装与 PostgreSQL 9.3.4 为准,操作系统为Ubuntu12.04 LTS server版,以非root用户进行安装到自己的home目录下。   前期所需组件安装: sudo apt-get install build-essential automake autoconf libreadline-dev libxml2-dev libxslt1-dev    解压从官网下载回来后的压缩包,进入解压目录,运行以下参数 ...
   z是一个shell脚本,可以帮你快速的切换目录。至于是什么原理我还没有深究,有兴趣的东西可以看下。    z的源码在这里:https://github.com/rupa/z    你把源码复制到你的用户目录下的z.sh文件,然后用vim打开.bashrc这个目录,在最后添加“source $HOME/z.sh”。    然后回到shell执行:source .bashrc。这样这个东西就生效了。    怎么用呢?你就像平常一样切换目录就行了,z会记录下你的最终目录。    比如说你切换到/home/the5fire/learn/python,然后执行一下:z[回车],就会输出一 ...
Luigi:   author: vincentzhwg@gmail.com date: 2014.5.6   blog已迁移,最新的Luigi教程更新在:http://guan58.com/archives/38   ### web         https://github.com/spotify/luigi   ### intro         Luigi是基于python语言的,可帮助建立复杂流式批处理任 ...
With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。 如果不用with语句,代码如下:   fil

Python yield 用法

yield 用法说明 yield 简单说来就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。 生成器 是 一个函数 函数的所有参数都会保留 第二次调用 此函数 时 使用的参数是前一次保留下的.
在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。这个概念的名字来源于由James Whitcomb Ril ...
在看多核编程相关论文时,往往一个并发算法会说自己是wait-free的或者lock-free的,或者是 non-blocking 的,这些专有词汇其实表示的是并发的程度,或者说并发的级别。并发级别的理解是阅读各种并发算法设计论文以及并发数据结构实现的必备基础。 1.1  Wait-freedom 无等待并发 Wait-freedom 指的是每一个线程都一直运行下去而无须等待外部条件,整个流程中任何操作都能在一个有限的步骤内完成,这是最高的并发级别,没有任何阻塞。  结合之前原子操作部分的知识,可以简单认为能够直接调用一个原子操作实现的算法或程序就属于Wait-free,比如下面的 inc ...
Apache Commons CLI是对java命令行的增强.   Commons CLI supports different types of options: POSIX like options (ie. tar -zxvf foo.tar.gz) GNU like long options (ie. du --human-readable --max-depth=1) Java like properties (ie. java -Djava.awt.headless=true -Djava.net.useSystemProxies=true Foo) Short o ...
maven生命周期 maven的生命周期包含超过20多个阶段,以下是最主要的阶段,按顺序排列: Validate: validates that all project information is available and is correct Compile: compiles the source code Test: runs unit tests within a suitable framework Package: ...
在命令行下启动bin/flume-ng时,竟然遇到报错,找到如下解决办法 错误如下: bin/flume-ng: line 82: syntax error in conditional expression: unexpected token `(' bin/flume-ng: line 82: syntax error near `^java\.library\.path=(.' bin/flume-ng: line 82: ` if [[ $line =~ ^java\.library\.path=(.*)$ ]]; then' 将字符串的引用,加上双引号即可。如 ...
jar包在命令行下正确运行的方式,在这里做个记录,下次就不要再忘记而乱试了.   java -cp 依赖jar包所在路径  main方法所在的class全路径名  参数   其中: 依赖jar包所在路径: 这个是关键因素,如把所有的依赖jar包都放在了lib目录下的话,且只有一个要写的话,一定要写成 lib/*:   注意,最后的那个冒号不能省,还有那个*号也不能省.当然如果你还有其他的路径也要包含进来的话,就接在冒号后面就好了.
screen可谓是linux下一个相当好用的命令呀,可以实现多窗口,且还可保持住连接,下次再连接上去.下面是我自己在用的一个 ~/.screenrc 配置文件.   # Set default encoding using utf8 defutf8 on ## 解决中文乱码,这个要按需配置 defencoding utf8 encoding utf8 utf8 #兼容shell 使得.bashrc .profile /etc/profile等里面的别名等设置生效 shell -$SHELL #set the startup message start ...
常用screen操作 screen                //第一次執行screen screen -S name        //name替换为想取的名称,这样下次方便回到该screen中 screen -r name        //回到被命名为name的screen中 screen -r name        //重新回到(resume)剛剛的screen 裡 screen -d name        //远程detached掉名为name的screen screen -x             //回到最上一 ...
公司开发环境限制,需要先登录跳板机,再ssh登录到真正需要操作的服务器上,而且跳板机的登录密码还需要一个随机token码,甚是麻烦呀.在windows下有SecureCRT,比较方便好用,虽说也有linux版本,但有30天的限制,也不好破解,毕竟都用了linux,那还是要尊重一下知识产权的.本文就是记录有没有什么好方法,在linux下也能方便地解决跳板机登录ssh的问题记要.   通过几番搜索,找到一个好办法,那就是利用ssh的controlmaster特性,结合 ~/.ssh/config 的配置来使用,但还未达到最终目的,可以直达真正想要到达的服务器,后续再找办法吧.   编辑 ...
Global site tag (gtag.js) - Google Analytics