`
finux
  • 浏览: 200122 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
最近温习下nio API,无聊写个Echo服务,直接上代码了,有点懒,具体细节不解释,查阅API或源码吧,没有公开的src就反编译下。   EchoServer.java   package com.iteye.finux.echo; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java. ...
Python Challenge 3:  One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.   大概的意思就是:有一个小写字母,它两旁有且仅有3个大写字母;然后把所有这些小写字母串接起来即可; 可举例:helloAAApBBBworldCCCyDDDwhat,那么解析后结果即是py 仍然是一个文本处理的题目,个人觉得用正则表达式处理最方便不过了,呵呵。。。 表达式:re.compile('[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]', re. ...
翻阅Python的threading模块API文档,觉得既有Java的影子(如threading.Thread类及其start/run方法),又有pthread的影子(如threading.Lock/threading.Condition)。总得来说简单易掌握,呵呵,随手写个大学OS课程里面“生产者与消费者”的Test。 相关类及方法就不多解释了,直接参考threading的API文档吧。 #! /usr/bin/env python # coding=utf-8 import threading import time class Container(object): ...
可以选择Apache + SVN搭建该环境. (假设测试机器装有Ubuntu)   1. 安装Apache: apt-get install apache2   2. 安装Apache的SVN插件模块: 软件包在各版本中名称可能不一样, 先搜索下 apt-cache search apache | grep svn libapache2-svn - Subversion server modules for Apache apt-get install libapache2-svn   3. 建立SVN资源库: cd ...

我常用的Vi命令

    博客分类:
  • Vi
  命令模式下常用的操作: 移动: ctrl + d: 往下1/2页 ctrl + f: 往下1页 ctrl + u: 往上1/2页 ctrl + b: 往上1页 h: 左 j: 下 k: 上 l: 右 w: 下一个单词的第一个字符 b: 上一个单词 e: 该单词/下一个单词的最后个字符(注意与w的注意) H: 当前屏幕的第一行 L: 当前屏蔽最后一行 gg: 第一行 G: 最后一行 '': 光标所在上一个位置(注意是两个单引号),连续使用会在两个位置进行来回切换 ctrl + i 或 tab键: 后一个tag ctrl + o: 前一个tag ...
urllib2实现是太强大,之前用c语言的curl库来实现post请求,觉着实太麻烦。 看了下urllib2的API文档,接着用它来模拟下xiami的登录,呵呵,就那么几行代码,简洁明了~ #!/usr/bin/python #coding=utf-8 import urllib import urllib2 def post(url, data): req = urllib2.Request(url) data = urllib.urlencode(data) #enable cookie opener = urllib2.build_opener(u ...

cglib学习 (2)

    博客分类:
  • Java
昨天写的cglib学习留下个问题善未实践: 对cglib的总结中有写到: “3. 该默认的constractor建议不要声明为private,毕竟,按照刚刚的方式来操作是会抛Error的哦;   对于第3点,把samples.Beans放在samples.Bean里面作为一个内部类,不知会是啥情况呀,呵呵。。。有点晚了,明儿再试试看~睡觉去罗”   今天试了下,将默认的constractor声明为private确实不行,不过,找到另一种方式来达到这样一个效果: 1. 控制其他的coder使用new创建被代理的类; 2. 使用一个工厂方法来创建被代理的类的实例;   达到上述效 ...
工作读框架的代码时常遇到cglib的东东,初看会有点摸不着头脑,打断点debug才发觉得cglib很强大。 回到家把源码下下来,呵呵,还带有sample code,下载地址见cglib sourceforge 。 下面是sample code: 1. Bean.java   package samples; import java.beans.*; /** * * @author baliuka */ public abstract class Bean implements java.io.Serializable{ String sampl ...
使用Chrome时无意中按了下Command+~(本来是想按Comman+3把我的Bash Shell调出来,不小心左手小指先按下了~键),然后进行了窗口的切换,嘻嘻。。。之前一直没注意这个快捷键呢~   然后打开XCode,同时打开了Debug窗口及Help文档,再试了Command+~,果然这个快捷键就是切换同一程序的不同窗口来着,呵呵,,,之前咱就没注意这个快捷键呢,呵呵,不错不错,挺实用的快捷键~个人觉得比F10更简洁好用,毕竟F10要先把当前程序的所有窗口都显示出来,然后再进行选择~
最近在学习libcurl,并利用它提交POST请求,可是返回的响应总是无从验证该次POST请求是否成功提交了。 1. 先看下根据firebug提交的一次成功的请求,这里以login我喜欢上的xiami为例,嘻嘻~   1.1 本次POST请求的HTTP交互   1.2 POST   1.3 经server端redirect的GET   2. OK,接下来看下使用libcurl向xiami发送POST请求   2.1 使用libcurl的大概流程 curl_easy_init() curl_easy_setopt() curl_easy_perform() ...

gcc常用参数

    博客分类:
  • C
gcc常用参数: 1. -Idir 添加源程序使用的头文件所在目录     gcc -I/Users/zhu/local/mysql/include ~/local/mysql/lib/libmysqlclient.a mysqltest.c ~/local/mysql/lib/libmysqlclient.a为MySQL客户端访问的C语言静态库  2. -ldemo 使用共享库demo gcc -lmysqlclient mysqltest.c 使用共享库mysqlclient 3. -Ldir 指定共享库所在目录   gcc -I/Users ...
最近在读《Python源码剖析》,只是看到PyIntObject的对象池技术而已,根据书中的讲解及源码可知:一旦系统中的某块内存被Python申请用于整数对象,那么这块内存在Python进程结束之前,将永远不会得到释放。   这样一句话实在太可怕了,于是做了个小小的实验: 假设sizeof(PyIntObject) = 12byte,那么1GB = 1024 * 1024 * 1024 / 12个PyIntObject,既然如此,试试运行下面的Python语句: for i in range(1024 * 1024 * 1024 / 12): pass 效果怎么样,嘻嘻,机器卡死了 ...
从事Swing的开发已经有一年时间了,常常涉及一些Swing控件的使用,比如JSplitPane,有时要求以固定的比例来分割左右/上下子控件的固度/高度。 JSplitPane提供了这样一个方法来控制分割栏所处的位置: public void setDividerLocation(double proportionalLocation)     设置分隔条的位置为 JSplitPane 大小的一个百分比。     根据 setDividerLocation(int) 来实现此方法。此方法以分隔窗格的当前大小为基础迅速改变窗格的大小。如果分隔窗格没有正确地实现并且不显示在屏幕上,此 ...
工作当中经常要操作excel文档,有些完全是纯粹的重复劳动。在我的工作中就遇到这样一个需求: 1. 存在两个excel文档(source.xls/target.xls),列数据是一致的 2. 文档source.xls的数据来源于target.xls,经常要修改source.xls文档中的数据,但是两个文档中有一列(COLUMN_INDEX)的数据只要存在就会保持不变 3. 文档target.xls已经存在一个office控件,可以从某个数据库读取数据,写回该文档 4. 数据库中的数据每天都会更新 5. 需要经常更新source.xls,将不存在该文档但存在于target.xls的数据c ...
1. 查看当前用户的Python Path: bogon:~ zhu$ python Python 2.6.1 (r261:67515, Jul 9 2009, 17:39:10) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> for s in ...
Global site tag (gtag.js) - Google Analytics