- 浏览: 202503 次
- 性别:
- 来自: 深圳
最新评论
-
weituotian:
不好,不能用
使用libcurl提交POST请求 -
naomibyron:
谢谢!!!! 帮了我大忙
固定JSplitPane比例分割 -
hugh.wang:
我知道这个快捷键,而且很想用,可惜我在10.8的系统上无效,郁 ...
Command+~同一程序切换不同窗口快捷键 -
albrich:
不说话,不评论
使用nio实现简单Echo服务 -
albrich:
确实很好,不过你的注释好像错了
用nio实现Echo服务
文章列表
使用nio实现简单Echo服务
- 博客分类:
- Java
最近温习下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 ...
命令模式下常用的操作:
移动:
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学习留下个问题善未实践:
对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常用参数:
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 ...