Oct 30

~找不同 不指定

felix021 @ 2008-10-30 22:59 [IT » 程序设计] 评论(2) , 引用(0) , 阅读(6117) | Via 本站原创
题目:给出2N个正数,找出其中两个不凑对的。
e.g.:
对于1, 2, 2, 3, 4, 5, 3, 4,不凑对的是1和5

算法思路1(momodi给出):
设不凑对的两个数分别为m和n
1. 对所有数字进行XOR,得出k,则必有k != 0
2. 找到 k 二进制表示中的某一个 1,必有m和n该位分别为1和0
3. 根据该位置为1或0,把所有数分为两a, b半
4. 对a、b两半分别异或,即得出m、n
此算法可以保证正确性,以及O(N)的时间复杂度、O(1)的附加空间。

算法思路2(felix给出):
Oct 29
安装了exim,测试一下,gmail成功收到邮件。
telnet localhost 25
引用
helo felix021
mail from: felix021@felix021-laptop
rcpt to: felix021[at]gmail.com
data
subject: test
line 1
line 2
.


下面是转贴的,如何通过telnet方式连接到smtp/pop服务器进行邮件的收发:
Oct 29

更深入了解 HTTP/1.1 POST 不指定

felix021 @ 2008-10-29 21:43 [IT » 网络] 评论(0) , 引用(0) , 阅读(5273) | Via 本站原创
对于HEAD和GET,已经比较了解了,但是对POST发送的请求格式特别是HTTP实体,尤其是带有文件的HTTP请求,还很不了解,于是刚刚用PHP写了一个简单的"服务器"程序,看看浏览器到底给我发了什么,代码如下:

1. server.php
很简单的一个脚本,等待8080端口的请求,输出请求内容,然后返回一个像模像样的东东。不过需要注意,用浏览器进行请求的时候需要在发送完毕以后点击停止按钮(断开连接),这个脚本才会断开连接。脚本还存在一些其他问题,比如字符0好像输出得不太对头。不过差不多够用,大致可以让我看清楚浏览器发了什么过来。代码如下:
Oct 29
    *  教您怎样使用位运算实现循环移位
    * 来源:http://www.idcnews.net/html/edu/C/20070606/235880.html

    循环移位区分于一般移位的是移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端,而循环右移时,用从右边移出的位填充字的左侧。这种情况在系统程式中时有使用,在一些控制程式中用得也不少。
    设有数据说明:
    a=01111011,循环左移2位 正确结果: 11101101
    过程:
Oct 28
以下一步一步以Felix的实际操作为例
演示如何在Windows下安装Apache2.2 + PHP5.2 + MySQL5

1. 建立目录 C:\web, C:\web\www

2. 安装 apache 2.2 到 (选择Custom方式安装) C:\web\apache

3. 打开浏览器访问 http://localhost
    看到 It works! 表示安装正常,否则需要再处理一下。
    打开命令提示符,
Oct 27
在Google上查了很多东西,综合一下,加上自己的经验,写一篇完整的,恩。

1. 安装输入法和输入法切换程序
sudo apt-get install im-switch fcitx

2. 切换输入法
sudo im-switch -s fcitx -z default
im-switch -s fcitx -z

3. 禁用scim
sudo gedit /usr/lib/gtk-2.0/2.10.0/immodule-files.d/scim-gtk2-immodule.immodules
内容一般是
引用
# automatically generated by dh_gtkmodules, do not edit
“/usr/lib/gtk-2.0/2.10.0/immodules/im-scim.so”
“scim” “SCIM Input Method” “scim” “/usr/share/locale” “ja:ko:zh”

将最后的:zh删掉

4. 重启X Window
按下CTRL + ALT + BackSpace

5. 设置fcitx的字体
gedit ~/.fcitx/config  (其编码是GB18030)
修改第二行
引用
显示字体(中)=*

把*修改为想要使用的字体的名字,比如微软雅黑为 Microsoft YaHei
这个可以通过双击打开字体,在Font Viewer显示内容的第一行看到(为此纠结了好久,网上貌似没有人提到过)

6. 重启X Window

OK~享受小企鹅带来的乐趣吧!
Oct 26

PHProxy 0.5b2 Felix更新版 不指定

felix021 @ 2008-10-26 06:59 [IT » 网络] 评论(1) , 引用(0) , 阅读(9097) | Via 本站原创
By Felix021 @ 2008-10-26 03:41 CST

  If you visit http://sourceforge.net/projects/poxy/ , you'll find such statement: As of 2007-09-07 11:55, this project is no longer under active development.
  
  The original authors abandoned this project for abusement of it, but I think it very useful, at least to me who have to download something but have a bad direct connection while via PHProxy on my own webspace I can download with high speed.
  由于使用者对poxy的滥用,作者停止了开发,但是对于我这种需要下载某个文件、直接下载很慢但是通过我的空间连接很快的人而言,poxy还是很有用的。

  But I found that poxy is designed just for browsing, not optimized for downloading, for example, it doesn't support multi-thread downloadment, so I feel obliged to modify the source code. In fact this is very simple. I added a few lines, and now it works well, supporting multi-thread downloading and pause-continue action. What's more, I added a button for users to obtain download link directly from copying the address shown below.
  但是我发现,poxy基本上只是为了浏览而开发的,没有为下载优化过。比如,它不支持多线程下载,所以我觉得有必要去改下源码。实际上非常简单,加上几行代码就行了,现在它工作得很好,不仅支持多线程下载,还支持断点续传。此外,我还增加了一个按钮可以让用户直接获取下载地址。

  This version of poxy is based on poxy 0.5b2, where you can get from sourceforge. It's TODO list has 17 features to be completed, and my modification only partial implemented the 9th, 'support HTTP 1.1' . Maybe I'll implement the FTP support in the future (indeed I've written a simple web ftp proxy before).
  这个版本的poxy是从0.5b2版本改进而来,你可以在sourceforge上down到。本来作者打算还有17个功能要完成,我的修改部分地完成了功能9,支持HTTP 1.1。也许以后有空的时候我会吧FTP支持也做进去(事实上我已经写了一个在线ftp代理 )。

Modification:
我做的修改

1. added a button and an input field for direct download link
    增加一个按钮和输入框,可以直接获取下载地址
2. added HTTP/1.1 'Range' support, now capable of multi-thread downloading
    增加对HTTP/1.1 Range(范围)的支持,可以多线程下载了。
3. added HTTP/1.1 'Referer' support, no worry for anti-leech of the server
    增解HTTP/1.1 Referer(来源页)的支持,可以突破防盗链(很卑鄙,呵呵。。)

Download here:
下载文件 (已下载 1376 次)
Oct 14

在Ubuntu中安装OpenOffice.org 3.0 不指定

felix021 @ 2008-10-14 21:30 [IT » 软件] 评论(0) , 引用(0) , 阅读(4326) | Via 本站原创
参考 http://metamuse.blogspot.com/2008/05/install-openoffice-3-beta-in-ubuntu.html

首先去下载OOo3.0
在这个页面 http://download.openoffice.org/index.html
选择 Linux DEB 这一列下面的某个适合自己语言的链接下载

下载得到一个 tar.gz 解压
打开终端,进入里面的DEBs目录
输入下面的命令自动安装所有的DEB包
$ sudo dpkg -i *.deb
安装完毕后,OOo3.0的启动中心就可以从 /opt/openoffice.org3/program/soffice 打开
更好的方式是在主菜单中建立快捷方式:系统->首选项->主菜单
更多的链接为:
/opt/openoffice.org3/program/soffice   启动中心
/opt/openoffice.org3/program/swriter   文档编辑
/opt/openoffice.org3/program/simpress   演示文稿
/opt/openoffice.org3/program/scalc   电子表格
/opt/openoffice.org3/program/sdraw    Draw
/opt/openoffice.org3/program/smath   Math
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]