
diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..af21be79 Binary files /dev/null and b/.DS_Store differ diff --git a/404.html b/404.html index 1eb93f81..c08c4cb5 100644 --- a/404.html +++ b/404.html @@ -1,145 +1,148 @@ -
前一阵终于忍受不了iPad2上面的虚拟键盘,为了发博码字的方便,入手了apple的蓝牙键盘,清脆的手感非常不错。虽然苹果键盘一直以来都是与Mac搭配使用的,但是apple键盘简洁精美的做工也深受许多玩家的喜爱。加上蓝牙键盘既可以用在pc上又可以用在ios设备上,相信拥有apple keboard的玩家也不在少数。但是apple的键盘用在普通PC上的时候,发现很多功能键都不能用,甚至连del键都没有,多少带来了一些不便。最近发现了一款小工具apple keyboard helper,安装 Apple Keyboard Helper之后,苹果键盘的F3(屏幕截图)F4(任务管理器)F7-F9(iTunes控制)F10-12(系统音量控制)等按键就可以在Windows PC上使用了。
下载地址如下:apple keyboard helper
同时作者还将源码开放了,有兴趣的同学不妨看一下 :)
+刚好之前也是一直懒得升级服务器的系统版本,旧的系统(ubuntu 11.04) 已经不被支持了,所以今天升级到了最新的 LTS 版本。还好各种数据都有备份,升级过程很顺利,各种工具安装配置基本都很快弄好了。自己试了几次,访问速度还可以~~ 嘿嘿
+很快就要新年了,希望各位朋友继续多多支持~~
+提前祝各位新年快乐,工作顺利,学业有成~~
var property = obj.GetType().GetProperty(“PropertyName”);//此时可以使用GetProperty获取属性数组,循环进行赋值。
@@ -189,61 +177,37 @@ } }这样,在使用Convert.ChangeType()转换可空类型时,就不会报错了。
前一阵子工作项目上的事情忙的焦头烂额,最近要进行部门调整将要去做新的项目。又要学习很多新的知识了,还是很兴奋激动的。今天下班回来查看了一下VPS状态,发现VPS的空间只剩下了1G多!第一反应是被入侵了,但是看了一下log并没有发现什么异常的登录,加上平时基本都是用私钥免密码登录的VPS,别入侵的可能也不是很大。那我就很疑惑了,因为系统文件占用应该也就3G多,我平时并没有在VPS放过什么大文件,不应该一下子少那么多空间。于是开始一番du查找终于找到了罪魁祸首!原来是mysql的log文件导致的。
装mysql并运行一段时间后,在mysql目录下出现一堆类似mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达十几个G.。原来mysql-bin.000001、mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。 这些形如mysql-bin.00001的文件主要是用来做什么的呢? 1、数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2、主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
3、清除办法
运行 /usr/local/mysql/bin/mysql -u root -p 登录执行:
reset master;
如果你只有一个mysql服务器,在/etc/ 下面找到my.cnf文件vim /etc/my.cnf把里面的
@@ -183,61 +171,37 @@D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。 简单地说,这些MySQL目录下的形如mysql-bin.000***的文件时MySQL的事务日志。 删除复制服务器已经拿走的binlog是安全的,一般来说网络状况好的时候,保留最新的那一个足以。
1、默认设置:
保存在 HKEY_CURRENT_USER\Console
2、自定义设置:
保存在 [HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe]
36—00240000—18*41
72—00480000—36*82
以上是自定义cmd窗口属性的基本知识
1、首先你必须越狱,网上教程也很多,这里就不多讲了。
声明:越狱可以让你的ipad运行无签名的可执行文件,但可能损害你的设备,对于你设备可能出现的问题,本文不负任何责任!
好了,现在我假设你的设备已经越狱成功。很棒,下面请让你的ipad接入一个无线网络,后续的步骤也可能需要网络 :)
如果你想使用电脑来SSH 到iPad2 你可能需要使用Cydia来安装openssh。
记得安装完Openssh要修改root和mobile用户的密码哦!(默认是alpine)
-PC端可以可以使用putty 和winscp配合来访问iPad2,MAC系统或者Linux可以使用系统自带的终端 ssh root@192.168.1.6 。我这里使用的是Tunnelier,它集成了putty 和winscp两款工具的功能,个人感觉很好用!
+PC端可以可以使用putty 和winscp配合来访问iPad2,MAC系统或者Linux可以使用系统自带的终端 ssh root@192.168.1.6 。我这里使用的是Tunnelier,它集成了putty 和winscp两款工具的功能,个人感觉很好用!
可能用的的工具:
Tunnelier (地址:www.bitvise.com/tunnelier)推荐
putty (地址:www.putty.org/)
@@ -194,8 +182,7 @@2、使用Tunnelier SSH到你的iPad
-Host:添入你的iPad的IP地址
Prot:默认是22
Username:root(用root或者mobile用户登录,这里是root)
@@ -205,8 +192,7 @@将mobile用户加到sudo组,在命令行输入:
$ visudomobile ALL=(ALL) ALL
如图:
-使用:wq或者ZZ保存并退出vi。
以后就可以用 mobile用户登录并使用sudo命令来执行一些危险的操作了!
3、开始安装
@@ -214,13 +200,11 @@wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb
sudo dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb
sudo apt-get install iphone-gcc ldid
-#注:安装ldid为应用程序签名(防止在应用启动时被iOS杀掉)
-
-安装 libSystem:
cd /usr/lib/
sudo ln -s libSystem.B.dylib libSystem.dylib下载并安装SDK(IPAD)头文件:
下载sys32Libheader.tgz 文件到 iPad 路径 /var
-点击下载
+也可以将下载下来的tgz包通过sftp传到/var 目录,终端中输入代码:
cd /var
tar xzvf sys32Libheader.tgz
@@ -251,64 +235,39 @@
#为编译后的应用程序签名的方式是,运行:ldid –S [Aplication];
哈哈,看到iPad2上成功的第一次执行了自己写的代码!
附图:
-'URL_MODEL' => 2, // rewrite@@ -171,10 +159,10 @@ if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?s=/$1 last; } -}
+}
然后在你的配置文件中include一下刚刚的配置文件。
-
+
如果你的ThinkPHP入口文件index.php不在根目录,则需要把thinkphp.conf改成这样
location /入口文件所在目录/ {
@@ -183,61 +171,37 @@
}
}
方法一:在functions.php中注释掉,vim打开functions.php文件,搜索googleapis, 加//注释即可,代码如下:
@@ -173,61 +161,37 @@使用插件Remove Open Sans font from WP core,非常给力。使用插件也有一定的好处,就是你下次更新wordpress 的时候不需要再重新更改functions.php代码。
以上两种方式均能明显改善博客打开的速度,有需要的朋友不妨试试。
ID 地址 端口 类型 地区 验证时间 响应
1 177.19.245.62 3128 HTTP 巴西 Sooip.CN 05-16 14:29 0.998
2 186.194.7.185 8080 HTTP 巴西 Sooip.CN 05-16 14:29 2.008
3 89.102.106.33 3128 HTTP 捷克 Sooip.CN 05-16 14:29 1.996
4 190.182.18.109 3128 HTTP 哥伦比亚 Sooip.CN 05-16 14:29 4.012
5 207.219.7.136 80 HTTP 加拿大 Sooip.CN 05-16 14:29 6.009
6 212.62.116.82 8080 HTTP 沙特阿拉伯 Sooip.CN 05-16 14:28 8.998
7 190.206.50.100 3128 HTTP 委内瑞拉 Sooip.CN 05-16 14:28 2.004
8 210.212.150.84 8080 HTTP 印度 Sooip.CN 05-16 14:28 2.001
9 177.19.132.75 3128 HTTP 巴西 Sooip.CN 05-16 14:28 7.008
10 112.65.219.72 80 HTTP 上海市 联通IDC机房 05-16 14:28 1.994
11 120.35.31.101 8080 HTTP 福建省福州市 电信 05-16 14:28 1.012
12 124.193.109.117 80 HTTP 北京市 电信通 05-16 14:28 0.997
13 178.135.59.11 8080 HTTP 黎巴嫩 Sooip.CN 05-16 14:28 3.001
14 184.154.55.239 80 HTTP 美国 芝加哥市SingleHop公司 05-16 14:28 1.001
15 186.3.71.155 8080 HTTP 厄瓜多尔 Sooip.CN 05-16 14:28 3.997
16 212.93.195.229 3128 HTTP 沙特阿拉伯 Sooip.CN 05-16 14:28 2.002
17 213.197.81.53 3128 HTTP 匈牙利 Sooip.CN 05-16 14:28 2.001
18 82.222.49.81 8080 HTTP 土耳其 Sabanci电信公司 05-16 14:28 1.008
19 201.57.146.136 3128 HTTP 巴西 Sooip.CN 05-16 14:28 6.996
20 211.76.97.152 80 HTTP 台湾省 台北市 05-16 14:28 4.007
21 101.44.1.107 80 HTTP 上海市 鹏博士宽带 05-16 14:28 9.003
22 218.6.13.35 80 HTTP 福建省莆田市 电信LAN 05-16 14:27 0.999
23 217.112.212.74 3128 HTTP 乌克兰 Sooip.CN 05-16 14:27 0.995
24 118.97.94.194 3128 HTTP 印度尼西亚 Sooip.CN 05-16 14:27 1.002
25 122.72.2.186 80 HTTP 甘肃省 铁通 05-16 14:27 2.999
26 190.220.250.34 8080 HTTP 阿根廷 Sooip.CN 05-16 14:27 4.005
27 207.219.7.136 3128 HTTP 加拿大 Sooip.CN 05-16 14:27 3.004
28 220.243.7.126 3128 HTTP 广东省广州市 视讯宽带 05-16 14:27 0.997
29 61.157.217.31 80 HTTP 四川省雅安市 电信IDC机房 05-16 14:26 1.009
30 177.86.20.59 8080 HTTP 巴西 Sooip.CN 05-16 14:26 2.004
31 178.168.58.100 8081 HTTP 摩尔多瓦 Sooip.CN 05-16 14:26 2.013
32 192.162.150.77 3128 HTTP 波兰 Sooip.CN 05-16 14:26 2.004
33 118.96.153.181 8080 HTTP 印度尼西亚 Sooip.CN 05-16 14:26 6.999
34 178.48.2.237 80 HTTP 匈牙利 Sooip.CN 05-16 14:26 1.004
35 187.63.203.166 3128 HTTP 巴西 Sooip.CN 05-16 14:26 1.988
36 88.41.153.22 80 HTTP 意大利 Sooip.CN 05-16 14:26 1.007
37 122.72.12.88 80 HTTP 甘肃省 铁通 05-16 14:26 7.005
38 125.162.170.42 3128 HTTP 印度尼西亚 PTTelekomunikasi网络 05-16 14:26 3.019
39 202.51.113.81 8080 HTTP 印度尼西亚 Sooip.CN 05-16 14:26 1.003
40 203.66.83.46 3128 HTTP 台湾省 中华电信 05-16 14:26 1.010
41 109.205.114.2 8000 HTTP 伊拉克 Sooip.CN 05-16 14:26 1.006
42 212.33.200.174 80 HTTP 伊朗 Sooip.CN 05-16 14:26 2.007
43 188.127.230.133 3128 HTTP 俄罗斯 Sooip.CN 05-16 14:26 1.002
44 103.22.248.99 3128 HTTP 印度尼西亚 Sooip.CN 05-16 14:26 9.001
45 189.123.220.192 8080 HTTP 巴西 Sooip.CN 05-16 14:25 3.007
46 212.80.21.219 8080 HTTP 伊朗 Sooip.CN 05-16 14:25 1.997
47 85.114.132.49 3128 HTTP 德国 Sooip.CN 05-16 14:25 0.997
48 118.97.209.218 8080 HTTP 印度尼西亚 Sooip.CN 05-16 14:25 1.005
49 189.254.250.34 80 HTTP 墨西哥 Sooip.CN 05-16 14:25 10.004
50 202.115.207.25 80 HTTP [C]四川省成都市 四川师范大学 05-16 14:25 1.015
51 82.222.19.54 8080 HTTP 土耳其 Sabanci电信公司 05-16 14:25 0.993
52 122.129.102.92 3128 HTTP 印度尼西亚 Sooip.CN 05-16 14:25 7.000
53 190.0.41.78 80 HTTP 哥伦比亚 Sooip.CN 05-16 14:25 8.001
54 123.234.215.230 81 HTTP 山东省青岛市莱西市 启晟网吧一分店 05-16 14:25 1.002
55 125.93.180.234 8081 HTTP 广东省东莞市南城区 淘乐网吧(石鼓综合市场二楼) 05-16 14:25 0.997
56 180.137.45.86 8080 HTTP 广西崇左市 电信 05-16 14:25 1.004
57 180.139.91.27 8080 HTTP 广西南宁市 电信 05-16 14:25 11.006
58 188.128.6.150 8080 HTTP 俄罗斯 Sooip.CN 05-16 14:24 2.002
59 188.128.118.177 8080 HTTP 俄罗斯 Sooip.CN 05-16 14:24 3.999
60 201.174.18.170 8080 HTTP 墨西哥 Sooip.CN 05-16 14:24 1.017
61 202.43.173.21 3128 HTTP 印度尼西亚 Sooip.CN 05-16 14:24 4.000
62 202.103.215.199 80 HTTP 广西北海市 电信 05-16 14:24 0.995
63 189.74.129.10 8080 HTTP 巴西 Sooip.CN 05-16 14:24 1.005
64 202.105.233.40 80 HTTP 广东省肇庆市 电信 05-16 14:24 0.997
65 82.222.49.65 8080 HTTP 土耳其 Sabanci电信公司 05-16 14:24 0.994
66 180.211.180.194 8080 HTTP 孟加拉 Sooip.CN 05-16 14:24 1.000
67 213.217.58.25 80 HTTP 伊朗 Sooip.CN 05-16 14:24 3.003
68 187.75.129.184 3128 HTTP 巴西 Sooip.CN 05-16 14:24 7.997
69 122.226.240.233 80 HTTP 浙江省金华市 电信 05-16 14:24 1.008
70 221.12.89.189 80 HTTP 浙江省金华市 /丽水市联通 05-16 14:24 0.995
71 221.133.238.138 8080 HTTP 上海市 长城宽带 05-16 14:24 1.021
72 221.224.20.210 8080 HTTP 江苏省苏州市常熟市 登胜流体动力有限公司 05-16 14:23 4.996
73 222.73.25.121 6666 HTTP 上海市 电信(外高桥)IDC机房 05-16 14:23 0.997
74 217.146.208.162 8080 HTTP 伊朗 Sooip.CN 05-16 14:23 2.994
75 222.165.175.118 80 HTTP 斯里兰卡 电信公司 05-16 14:23 1.004
76 118.212.129.175 80 HTTP 江西省 联通 05-16 14:23 5.004
77 116.236.205.100 80 HTTP 上海市长宁区 /普陀区电信 05-16 14:23 1.006
78 119.97.146.152 80 HTTP 湖北省武汉市 电信 05-16 14:23 3.000
79 123.234.31.130 8090 HTTP 山东省青岛市 联通 05-16 14:23 0.999
80 222.184.9.242 3128 HTTP 江苏省淮安市 (楚州区)电信ADSL 05-16 14:23 1.006
81 122.226.240.235 80 HTTP 浙江省金华市 电信 05-16 14:23 4.994
82 64.85.181.45 8080 HTTP 美国 加洲 05-16 14:23 1.006
83 113.53.240.90 3128 HTTP 泰国 05-16 14:23 2.016
84 222.165.175.118 3128 HTTP 斯里兰卡 电信公司 05-16 14:23 0.996
85 79.120.107.6 80 HTTP 俄罗斯 Sooip.CN 05-16 14:23 0.996
86 79.120.107.6 8080 HTTP 俄罗斯 Sooip.CN 05-16 14:23 5.003
87 190.121.20.131 3128 HTTP 智利 05-16 14:23 8.010
88 190.128.192.202 8080 HTTP 巴拉圭 05-16 14:22 1.007
89 88.85.125.78 8080 HTTP 马其顿 05-16 14:22 2.002
90 88.85.108.16 8080 HTTP 马其顿 05-16 14:22 3.008
91 118.97.165.234 8080 HTTP 印度尼西亚 Sooip.CN 05-16 14:22 1.001
92 190.249.188.186 8080 HTTP 哥伦比亚 Sooip.CN 05-16 14:22 5.999
93 217.76.35.238 3128 HTTP 俄罗斯 Sooip.CN 05-16 14:22 1.010
94 79.175.158.156 8080 HTTP 伊朗 Sooip.CN 05-16 14:22 3.005
95 190.253.213.196 3128 HTTP 哥伦比亚 Sooip.CN 05-16 14:22 0.999
96 92.60.227.17 8080 HTTP 塞尔维亚 Sooip.CN 05-16 14:22 1.005
97 93.78.214.219 3128 HTTP 乌克兰 Sooip.CN 05-16 14:22 1.994
98 109.224.50.162 80 HTTP 伊拉克 Sooip.CN 05-16 14:22 1.996
99 201.54.230.75 3128 HTTP 巴西 05-16 14:22 5.996
100 77.245.210.161 3128 HTTP 俄罗斯 05-16 14:22 5.001
序:工欲善其事,必先利其器。近期工作中要对公司的AFP软件进行汉化,由此也带来了大量的重复性工作,海量的字符串提取,组合,规整,键盘鼠标表示压力颇大~ 为此特别找回了大学玩魔兽对战用的改键插件Autohotkey,嘿嘿。
AutoHotKey 软件可以实现很多有趣的功能,可以简化你的重复性工作。这里下载
选择一个适合你的版本,办公环境稳定的可以选择安装版,需要便携要求的可以下载绿色版本,当然安装版的好处是:系统会自动关联 .ahk 文件。安装完成后打开Autohotkey软件,然后你会在系统托盘处看到一个H字样的小图标。现在右击托盘处图标,选择Edit this Script来设置。
-
-
-
在打开的配置文件中加入你需要的功能。例如:加入
#w::Run wangheng.org+ })(window)
序:工欲善其事,必先利其器。近期工作中要对公司的AFP软件进行汉化,由此也带来了大量的重复性工作,海量的字符串提取,组合,规整,键盘鼠标表示压力颇大~ 为此特别找回了大学玩魔兽对战用的改键插件Autohotkey,嘿嘿。
AutoHotKey 软件可以实现很多有趣的功能,可以简化你的重复性工作。这里下载
选择一个适合你的版本,办公环境稳定的可以选择安装版,需要便携要求的可以下载绿色版本,当然安装版的好处是:系统会自动关联 .ahk 文件。安装完成后打开Autohotkey软件,然后你会在系统托盘处看到一个H字样的小图标。现在右击托盘处图标,选择Edit this Script来设置。
在打开的配置文件中加入你需要的功能。例如:加入
#w::Run wangheng.org
然后选择Reload This Script,现在按win键(小旗标识那个键)+w,怎么样是不是直接在浏览器打开本博的主页呢?
@@ -212,61 +196,37 @@这样平时也能节省自己不少时间~分秒必争嘛~
图1表示了各软件之间的层级关系。
+图1 各软件层级关系
图2为GT4的安装流程图。
-图2 GT 安装流程图
辅助软件安装完成之后,需要设置系统环境变量。具体方法是修改系统变量配置文件 /etc/profile。
参考:
@@ -324,16 +309,16 @@The private key is
stored in /etc/grid-security/hostkey.pem
The request is
stored in /etc/grid-security/hostcert_request.pem
-
Please e-mail the
request to the Globus Simple CA cy_xiaoxiao@yahoo.com.cn
Please e-mail the
request to the Globus Simple CA cy_xiaoxiao@yahoo.com.cn
You may use a
command similar to the following:
-
cat /etc/grid-security/hostcert_request.pem |
mail cy_xiaoxiao@yahoo.com.cn
cat /etc/grid-security/hostcert_request.pem |
mail cy_xiaoxiao@yahoo.com.cn
Only use the above
if this machine can send AND receive e-mail. if not, please
mail using some
other method.
Your certificate
will be mailed to you within two working days.
If you receive no
response, contact Globus Simple CA at cy_xiaoxiao@yahoo.com.cn
If you receive no
response, contact Globus Simple CA at cy_xiaoxiao@yahoo.com.cn
[root@xx1
grid-security]# pwd
/etc/grid-security
@@ -378,61 +363,37 @@[root@xx1
grid-security]# cp hostkey.pem containerkey.pem
[root@xx1 grid-security]#
chown globus.globus container*.pem
@@ -188,61 +176,37 @@
当然还有很多中实现的方法,写到博客仅仅是为了方便查询,欢迎各位高手指教!
日期: 2011年10月31日
+每年都有无数年轻程序员,加入软件行业。 他们在学校里学过编程,但是对这个行业的现实一无所知。 Patrick McKenzie是美国一家小软件公司的老板,他写了一篇长文,介绍这个行业的一些实际情况。我看了以后很感慨,有些地方很受启发。我选择了一部分,翻译如下。
+一、90%的编程工作来自内部软件
+(90% of programming jobs are in creating Line of Business software) 计算机专业的学生,可能有一种印象,觉得大部分程序员,都在编写公开出售的软件或者通用软件。 这种看法是不对的。大部分程序员,实际上编写的是不公开的企业内部软件,比如追踪费用的软件、优化装运成本的软件、帮助记账的软件、设计新部件的软件、计算保单价格的软件、识别恶意订单的软件等等。 各种各样的商业公司,开发内部软件,解决它们自己的问题。市场上对程序员的大部分需求来源于此,只有极少数程序员直接编写面向外部顾客的软件。 内部软件的开发,通常非常乏味,令人厌倦。因为它们的技术复杂性低、技术决策非常保守、预算很少、缺乏长远考虑。但是,世界上大部分编程工作都是这种。
+二、别人雇你的目的,是让你创造利润,不是让你编程 (Engineers are hired to create business value, not to program things)
+商业公司最关心的(或者说唯一在乎的)事情,就是增加收入、降低成本。因此,它们实际上需要的不是程序员,而是能够帮助它们增加收入、降低成本的人。 开发优美的软件,解决技术难题,编写没有bug的代码,这些都不是商业公司的目的。它们雇佣你,是为了让你帮它们完成某个可以增加收入、降低成本的项目,而不是因为你是geek。 你个人对于公司的唯一价值,就在于你能多大程度上为它们增加收入、降低成本。
+三、不要自称为程序员 (Don’t call yourself a programmer)
+很多公司的经理不懂计算机,在他们心目中,”程序员”就是一群高成本的劳动力,只会在一台复杂的机器上干一些难懂的事情。 如果你自称为”程序员”,当公司需要压缩成本的时候,某些经理首先就会想到解雇你。有一家公司叫Salesforce,口号是”没有软件”,意思就是如果经理们购买了他们的服务,就不再需要别的软件管理销售业务了,也就是说,不再需要自己雇佣程序员了。 正确的做法是,你应该把自己描述成与增加收入、降低成本有关系的人,比如”xx产品的开发者”或”改进者”。有一个Google Adsense程序员的自我介绍,是这样写的:”Google公司97%的收入,与我的代码有关。”
+四、不要限定自己 (You are not defined by your chosen software stack)
+年轻学生经常会问,应该选择哪种语言或平台?学会Java,是不是比学会.NET容易找工作? 过分强调某一种语言或平台,都是不必要的。如果你把自己限定为Java程序员或.NET程序员,你就已经输了,因为首先你不应该自称为程序员(理由见上一点),其次这种限定使得你自动被排除在世界上大多数编程工作之外。 现实生活中,学会一种新语言,只需要几个星期,然后再过半年到一年,你就会变成老手。那时,根本没人在乎你以前用什么语言。 天才程序员是很少的,可是需要天才程序员的工作机会却很多很多,大多数场合都是需求远远大于供给。这意味着,即使你不是天才程序员,只要你是一个优秀工程师,那些招聘公司也会立刻录用你,因为它们知道招聘到天才程序员的机会微乎其微。(重复一遍,所谓”优秀工程师”,就是你的履历上有一连串增加收入、降低成本的记录。) 某些公司的人事部门,会根据某个关键词(比如Java或.NET)过滤简历。虽然这样的公司根本不值得去,但是如果你真的想过这一关,也很容易:投入几个晚上和周末,在你当前的项目中设法用到这个关键词,然后再把它写进简历就行了。
+五、如何提高求职时的谈判能力? (How do I become better at negotiation?)
+(1)记住你不是在求职,不是在展示编程技巧,而是在推销某种商业需求(增加收入或降低成本)的解决方案。 (2)面试时,要有自信,要平等的对话。你要的是一个互利的录用合同,不要每次对方提出要求,你都说Yes。 (3)雇主可能会问”你的上一份工资是多少”,他们其实在说”给我一个理由,压低你的报酬”。你要想好如何适当地回答这个问题。 (4)要还价。这里不仅仅指钱,还指其它你关心的方面。如果你无法要求更高的薪水,那就试着要求更多的假期。 (5)在对方决定录用你以后,才开始讨论薪水。因为那时,他们已经在你身上,投入了大量的时间和金钱,产生了一定的成本,此时他们可能觉得一些小问题已经不值得再纠缠了,比如每年的工资增加几千元。
+六、创业公司是否适合应届毕业生? (Are startups great for your career as a fresh graduate?)
+如果你一毕业就加入创业公司,最可能的结果是,接下来几年你都工作得非常辛苦,然后公司悲惨地失败了,你失业了,不得不又去另一家创业公司工作。 如果你真的想去创业公司,应该首先找一家大公司干上两年,攒一点钱,积累一些经验,然后精心挑选后再去创业公司。 在创业公司工作,一般情况下,你遇到的都是创业者。他们大多数人没有能力在两年后雇佣你;而在大公司工作,你遇到的都是其他大公司的人,他们中很多人将来有能力雇用你或者帮你介绍工作。
+七、在创业公司工作是否值得推荐? (So would you recommend working at a startup? )
+选择创业公司,就是选择一条职业道路,而不是选择一种生活方式。可惜很多人把这两者颠倒了,他们推荐创业公司,实际上是在推荐一种你感兴趣的生活方式。 如果你确实喜欢这种生活方式,老实说,你在大公司里也可以得到它们。在许许多多大公司里,你都有机会钻研最新的技术,而且还能5点半准时回家照顾孩子。
+八、沟通技能是最重要的职业技能 (Your most important professional skill is communication)
+前面说过,工程师被雇佣,不是因为会编程,而是因为能够创造商业价值。所以,你让人们相信你能创造价值,这是帮助你找到工作的最重要的能力。这种能力与你真的能创造多少价值,实际上联系不是很紧密。 我认识的一些最优秀的程序员,往往拙于表达。因此,别人不是不想与他们一起工作,就是低估了他们的价值。相反地,如果你看上去很会编程,并且很善于表达,别人就会真的这样看待你。 (完)
+原文网址:阮一峰的网络日志
如果你创建寄宿在IIS中的WCF Service网站项目,(图1显示怎样创建这样的网站项目),或者你把你的WCF Web Application项目或者WCF Service网站项目发布或部署到IIS网站服务器上后,你可以用网页浏览器去访问你的网站。如果你在尝试打开这些网页时无法看到正确的页面显示,或者看到错误提示页面(图2是错误提示页面的一个例子: HTTP Error 500.21 – Internal Server Error Handler “svc-Integrated” has a bad module “ManagedPipelineHandler” in its module list),下面是最常见的问题和解决办法。
-+
![]()
图1
-- +
图2
常见问题与解决办法:1. 检查IIS是否正确安装和运行
-你需要保证你的IIS服务器已经正确安装并正常运行。这里我们不讨论IIS安装的方法(你可你根据你的Windows版本和需要的IIS版本去bing中搜索), 只给出简单的验证方法。如图2所示,在IE地址栏中输入http://localhost, 如果你看到如图所示的页面或者类似的其他版本IIS的默认页面。那么就说明IIS已经在正常运行了。
--图3 - +
你需要保证你的IIS服务器已经正确安装并正常运行。这里我们不讨论IIS安装的方法(你可你根据你的Windows版本和需要的IIS版本去bing中搜索), 只给出简单的验证方法。如图2所示,在IE地址栏中输入http://localhost, 如果你看到如图所示的页面或者类似的其他版本IIS的默认页面。那么就说明IIS已经在正常运行了。
+2. 正确注册安装ASP.net
打开Visual Studio命令行提示工具(Start->All Programs->Visual Studio->Visual Studio Tools->Visual Studio Command Prompt, 如果你的OS是Windows Vista及以后的版本,你需要以管理员身份打开),运行”aspnet_regiis.exe -i”。在命令运行完成后重新尝试你的网站。
3. 在IIS中配置正确的Application Pool
在IIS管理工具(IIS Manager)中找到你的Website, 选中。在右侧的面板中点击Basic Settings。 你将看到如图3所示的弹出窗口,其中有你正在使用的Application Pool的信息。 选择IIS管理工具中的Applications Pools节点。选中你在使用的Application Pool, 点击右侧的Basic Settings。 你将看到如图4所示的弹出窗口。确定其中的.NET Framework版本是v4.0.xxxxx。如果不是,这也许就是你看到错误页面的原因。尝试在图2中把它改成v4.0或者在图3中选择”Select…”, 更改成其他的使用.NET Framework v4.0的Application Pool。
-- +
图4
--图5 - +
4. 安装注册WCF组件
WCF没有正确的在IIS中注册也许是导致看到错误页面的最常见原因。如果你在安装Visual Studio后才安装IIS, 那么你就很可能遇到这样的问题。打开Visual Studio命令行提示工具(Start->All Programs->Visual Studio->Visual Studio Tools->Visual Studio Command Prompt, 如果你的OS是Windows Vista及以后的版本,你需要以管理员身份打开),运行” ServiceModelReg.exe –ia”。 命令完成后再次访问你的WCF 网站。
一、在Linux中
有机器A[192.168.1.1],B[192.168.1.2]。现想A通过ssh免密码登录到B。
第一步,在A机下生成公钥/私钥对。
[root@A ~]$ ssh-keygen-
直接三次回车,它将在~/下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。
第二步,把A机下的id_rsa.pub复制到B机下
完成后还需要将id_rsa.pub内容追加到B机的.ssh/authorized_keys文件里。
@@ -182,71 +169,46 @@[root@B ~]$ cat id_rsa.pub >> .ssh/authorized_keys [root@B ~]$ chmod 600 .ssh/authorized_keysauthorized_keys的权限必须是600。(要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。) -
第四步、验证A机无密码登录B机。
[root@A ~]$ ssh root@192.168.1.2
第四步、验证A机无密码登录B机。
[root@A ~]$ ssh root@192.168.1.2
小结:私钥文件也可以保存下来在别的机器上面使用,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。想让A,B机无密码互登录,B机器上重复以上步骤即可~
二、在Windows中
-在Windows中要想实现无密码登录Linux主机也很简单。一般在Windows中远程ssh连接Linux主机大家都会使用putty 或者Tunnelier这样的工具,我一般使用Tunnelier比较多,因为它集成了sftp工具和其他一些很实用的功能。例如使用Tunnelier很容易实现Firefox+SSH+AutoProxy智能翻墙,想试试的同学可以翻翻我以前发过的文章。下面具体介绍Windows下使用putty无密码登录Linux
+在Windows中要想实现无密码登录Linux主机也很简单。一般在Windows中远程ssh连接Linux主机大家都会使用putty 或者Tunnelier这样的工具,我一般使用Tunnelier比较多,因为它集成了sftp工具和其他一些很实用的功能。例如使用Tunnelier很容易实现Firefox+SSH+AutoProxy智能翻墙,想试试的同学可以翻翻我以前发过的文章。下面具体介绍Windows下使用putty无密码登录Linux
1、首先使用PUTTYGEN.EXE这个工具生成公钥/私钥对,点击Generate,并在空白处移动鼠标几次就行了,如下:
-2、选择Save public key和Save private key可以分别保存公钥和私钥,然后将public key的内容追加到Linux主机中的.ssh/authorzied_keys文件里。
3、使用putty这个工具创建自动登录的session
首先在Session节点填写Host Name和你Linux VPS的ssh端口,然后在/Connection/SSH/Auth节点选择你Private key文件的保存位置,然后在/Connection/Data节点填写自动登录的用户名,最后在Session节点为Session起一个名字并保存,以后就可以直接双击保存的Session名字来自动无密码登录Linux主机了。
我把Cron作为了一个Windows Service并且把ServiceInstaller的StartType设置为了Automatic来保证每次重启系统后能自动启动服务。同时serviceProcessInstaller的Account属性设置成LocalSystem来保证服务对于的进程有较高的系统权限。
使用方法很简单,将cron.exe利用.net的installutil.exe安装到系统服务(需要.net4 framework),然后在c:\cron目录中新建一个crontab文件,对照cron说明写一条规则后启动服务,就OK了。服务执行的log文件也在c:\cron目录。这里是我写的一个安装/卸载脚本,想尝试一下Windows版Cron的同学可以直接下载,解压后执行setup.bat来安装服务。服务安装好默认是stop的,需要手动启动,请确保执行前写好你的crontab文件,启动可以在命令行执行sc start cron或者在任务管理器的服务标签右击cron来启动。
买回来VPS后就一直想在上面搭建一个流媒体服务,在网上搜索了很多资料,大部分都是介绍Linux中安装Darwin Streaming Server 5.5.5版本,因为这个版本提供了针对linux的安装脚本。但既然官网有了6.0.3版本,于是果断尝试安装最新的版本。
1、什么是Darwin Streaming Server
目前主流的流媒体服务器有微软的windows media server、RealNetworks的Helixserver和苹果公司的Darwin Streaming Server. 微软的windows media server只能在windows2000 server和windows 2003 server下使用,不在考虑之列。RealNetworks的Helixserver是一款跨平台的软件,功能也很强大,但并非免费软件。
Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。
2、在Linux中编译安装Darwin Streaming Server
首先需要进行一些必要的准备工作:
apt-get install patch make gcc g++
准备好软件暂存的目录,并从官网下载软件的源码:
@@ -204,7 +192,7 @@将-M修改成-m
-![]()
执行./Install
@@ -222,7 +210,7 @@
qtss … … … /usr/local/sbin/DarwinStreamingServer
netstat -ntulp | grep Darwin(查看流媒体服务器的端口)
- ![]()
3、启动 Darwin Streaming Server
@@ -240,7 +228,7 @@最后在服务器输入 http://你的IP:1220/来访问web管理
-![]()
默认的媒体文件存放在/usr/local/movies
@@ -254,61 +242,37 @@来播放默认的测试视频。如果你的网速够给力的话效果还不错 :)
1. 下载最新版的nVidia驱动,命名为NVIDIA.run。
http://www.nvidia.com/page/drivers.html
2.编辑blacklist.conf。
sudo gedit /etc/modprobe.d/blacklist.conf
添加以下部分并保存:
blacklist vga16fb
blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv
3. 删除之前所安装的nVidia驱动。
sudo apt-get –purge remove nvidia-* sudo apt-get --purge remove xserver-xorg-video-nouveau
4. 重启电脑。
5. 按Ctrl + Alt +F1到第一控制台。
6. 输入用户名和密码后,登录后执行:
sudo /etc/init.d/gdm stop
7. 进入驱动所在的文件夹,安装驱动。
sudo sh NVIDIA.run –k $(uname –r)
8.启动GDM :
sudo /etc/init.d/gdm start
9.重启电脑。
sudo reboot
10.如果存在花屏等问题,执行:
sudo nvidia-xconfig sudo nvidia-settings
11.根据自己的电脑配置设置分辨率和刷新频率。
umount: /dev/shm: device is busy.
用fuser处理
此时再启动oracle,就没有问题了。
网站提供开放平台的API后,可以吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻松快捷的创业,从而达到双赢的目的,开放API是大平台发展、共享的途径,让开发者开发一个有价值应用,付出的成本更少,成功的机会更多。今天,OpenAPI作为互联网在线服务的发展基础,已经成为越来越多互联网企业发展服务的必然选择。下面我就列举一些常见网站服务的Open API文档资源索引。
+SNS类网站API
+Facebook - http://developers.facebook.com/
+人人网开放平台 - http://dev.renren.com/
+51.com开放平台 - http://developers.51.com/
+MySpace开发者平台 - http://developer.myspace.cn/
+Opensocial - http://wiki.opensocial.org/
+Google Gadgets 小工具 API 开发人员指南 - http://www.google.com/intl/zh-TW/apis/gadgets/docs-home.html
+Gadgets API 开发人员指南 - http://code.google.com/intl/zh-CN/apis/gadgets/docs/dev_guide.html
+Gadgets API - http://code.google.com/intl/zh-CN/apis/gadgets/
+电子商务类
+Amazon API - http://aws.amazon.com/
+eBay API - http://developer.ebay.com/
+淘宝开放平台 - http://www.taobao.com/theme/tao_source/
+微博API
+Twitter API - http://apiwiki.twitter.com/Twitter-API-Documentation
+Status.Net(Laconica) API - http://status.net/wiki/Twitter-compatible_API
+新浪微博开发者平台 - http://open.t.sina.com.cn
+注:需要授权的开发者才能访问,其API调用格式类似Twitter,但需要一个API Key用于认证管理。
+搜狐博客开放平台 - http://ow.blog.sohu.com/
+Follow5 API - http://www.follow5.com/f5/jsp/other/api/api.jsp
+嘀咕API - http://code.google.com/p/digu-api/wiki/DiguApi
+做啥API - http://code.google.com/p/zuosa-api/wiki/ZuosaApiDoc
+人间网API - http://renjian.com/api.html
+9911微博API - http://www.9911.com/api.php
+Google Maps API
+Google Maps API Developer Guide - http://code.google.com/intl/en/apis/maps/documentation/
+Google Maps API Tutorial - http://econym.org.uk/gmap/extensions.htm
+GMaps Utility Library - http://code.google.com/p/gmaps-utility-library-dev/wiki/Libraries
+GMaps Utility Examples - http://gmaps-utility-library.googlecode.com/svn/trunk/labeledmarker/release/examples/
+Saving User-Added Form Data - http://code.google.com/intl/zh-CN/apis/maps/articles/phpsqlinfo.html
+Firefox类
+Mozilla 开发者中心的扩展开发专题 - https://developer.mozilla.org/en/Extensions
+XUL 1.0 规范 - http://www-archive.mozilla.org/projects/xul/xul.html
+更多地了解这种基于 XML 的用户界面语言,它可以构建各种富跨平台应用程序。
+Mozilla Development Center 的 XUL 教程 - http://developer.mozilla.org/en/docs/XUL_Tutorial
+Getting started with extension development 编写一个最简单的Firefox扩展 - http://kb.mozillazine.org/Getting_started_with_extension_development
+Setting up extension development environment - http://developer.mozilla.org/en/docs/Setting_up_extension_development_environment
+实战 Firefox 扩展开发 - http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/
+使用 XUL 实现浏览器扩展 (1) - http://www.ibm.com/developerworks/cn/web/wa-xul1/
+使用 XUL 实现浏览器扩展 (2) - http://www.ibm.com/developerworks/cn/web/wa-xul2/
+应用类
+豆瓣API - http://www.douban.com/service/apidoc/
+Flickr API - http://www.flickr.com/services/api/
+Last.fm API - http://www.last.fm/api
+Box.net API - http://developers.box.net/
+Delicious API - http://delicious.com/help/api
+vim可以通过cydia中搜索安装,或者ssh到ipad,直接执行命令:
@@ -181,65 +169,40 @@ set laststatus=2 set statusline=\ %使用:wq或者ZZ保存并退出
- -重新使用vim编辑文件,看看是不是有语法高亮了。: )
而相信碰到过此问题的朋友应该都有所了解,目前网络上流行一些js下的自定义函数去解决这个问题,如说vbscript(URLDecode())、javascript(UrlDecode())等。而这两个函数,都无法很好的与asp(Server.UrlEncode)、php(urlencode())这两个函数相互通讯。
@@ -183,61 +171,37 @@ 解码(原=%E7%83%A6%E6%81%BC):烦恼 注意:在UTF-8编码环境下测试通过。addEventListener方法绑定DomMouseScroll事件。
elem.addEventListener('DOMMouseScroll', func, false);
IE和其他的主流浏览器可以使用传统的事件绑定模型。但不要使用IE专有的attachEvent方法,其他主流浏览器并不识别微软的这个方法。下面先测试一下。
@@ -206,61 +194,37 @@
鼠标滚轮向上滚动是120,向下滚动是-120</pre>
有人在Safari下做了一些测试:”只是滚动一圈的话,值为+-0.1,如果滚动地稍微快点的话(多滚动几圈),这个值也会变大。 这是因为Mac OS下有鼠标滚轮加速功能。滚动一次,浏览器滚动1像素,滚动3次,浏览器却滚动30像素”。同时他也对Camino(基于Gecko的内核引擎)进行研究:“与Safari相似(+- 0.3 to +-Infinity),虽然使用了与firefox相同的内核引擎,但结果这个delta值却只在+-2.666666里浮动,无论滚动速度如何。”
${this.highlightKeyword(content, slice)}...
` - }) - - resultItem += '' + matchContent + '...
' + } + } + str += '我用vim写了好久的wiki文件!~ 只给我剩下了一个!
还好快盘有个隐藏的缓存目录,折腾了半天终于算是把我的文件找回来了! 如下图:
-
+
@@ -192,61 +180,37 @@ }
--⚠️ 警告提醒:本文档已过期!因金山快盘已停止服务,此脚本不再维护,请勿继续使用。
-
PS:将原来的一篇文章拆开了,上篇是安装使用讲解,这篇是开发过程讲解。
+ })(window)以前使用dropbox的linux客户端备份VPS上的文件和数据,但是近来dorpbox在国内越来越难访问,加上dropbox本身的容量只有几G,于是有了自己动刀写一个网盘的客户端,首先想到的是百度网盘,2T的巨大容量肯定是够用了!
没想到这个决定却是悲剧的开始,按照百度PCS的API文档写了半天,没想到PCS开通居然审核了一周多还不通过! 联系客服,没想到他们的PCS API已经不审核新的申请了!再次吐槽下,你不审核,申请的时候就不能给个提示么!!! 遂放弃!
然后就想到了还是用金山快盘吧,前段时间刚被迅雷收购,速度方面应该是没有问题。找到金山快盘的官方开放平台,看了看文档似乎是…有点麻烦啊。不过本着有难度才有挑战的原则,还是开搞了。下面介绍下开发过程中遇到的一些问题。
@@ -184,8 +168,7 @@图示如下:
-
-
+
在每次请求中,下面几个参数是必须的
| Name | Required | Type and Limit | Description |
| oauth_consumer_key | Y | string | 第1步的 consumer_key |
| oauth_signature | Y | string | 本次请求的签名,生成方法请参考附录-签名生成算法 |
| oauth_timestamp | Y | int | 时间戳,正整数,和标准时间不超过5分钟 |
| oauth_nonce | Y | string | [ 0-9A-Za-z_ ]随机字符串,长度小于32字节。每次请求请使用不同的nonce |
项目开源在我的Github:https://github.com/wujiwh/kuaipan_uploader
欢迎大家多多交流~~
--⚠️ 警告提醒:本文档已过期!因金山快盘已停止服务,此脚本不再维护,请勿继续使用。
-
PS:将脚本的开发过程移动到了这里。想了解下开发步骤的可以参考~~
如果你想使用自己的app_key你需要首先注册一个金山快盘账号,然后到这里地址创建一个你自己的应用并把得到的 consumer_key、consumer_secret填写到脚本相应位置。
当然此步骤可以略过,你可以直接使用脚本中填写好的consumer_key、consumer_secret,我创建的应用名称all4fun.
3.安装
wget https://github.com/wujiwh/kuaipan_uploader/archive/master.zip
unzip master.zip
cd kuaipan_uploader-master
#或者 :
git clone https://github.com/wujiwh/kuaipan_uploader.git
cd kuaipan_uploader
#上面两种方式选择一种即可
#赋予脚本执行权限并执行
chmod a+x kuaipan_uploader.sh
./kuaipan_uploader.sh
4.使用说明
KuaiPan Uploader v1.1.0
wangheng - wujiwh@gmail.com +4.使用说明
KuaiPan Uploader v1.1.0
wangheng - wujiwh@gmail.comUsage: /usr/bin/kuaipan COMMAND [PARAMETERS]…
Commands:
upload [local file] <remote file>
download [remote file] <local file>
delete [remote file/remote dir]
list <remote dir>
info
relinkFor more informations, please visit http://wangheng.org.
其中[XXX]内的为必填参数,<XXX>内的为可选参数 @@ -200,61 +184,37 @@安装使用
许可证
Kuaipan Uploader 基于GPL第二版或以后版本发布。详见LICENSE文件
项目开源在我的Github:https://github.com/wujiwh/kuaipan_uploader
echo ""$MOUNTPT" now available for use."
#+ 以使系统启动时能自动设立一个ramdisk.
exit 0
+家里面的路由器ddns经常不能用,索性在系统中直接安了一个oray的客户端。具体安装步骤如下: + +
1、首先安装必要的开发包
+[root@wangheng.org ~] apt-get install gcc g++ automake autoconf
+2、下载phddns-2.0.2.16556.tar.gz到某一个目录
+[root@wangheng.org ~]# wget http://download.oray.com/peanuthull/phddns-2.0.2.16556.tar.gz
+3、解压所有文件
+[root@wangheng.org ~]# tar zxvf phddns-2.0.2.16556.tar.gz
+4、进入目录并编译
[root@wangheng.org ~]# cd phddns-2.0.2.16556
[root@wangheng.org phddns-2.0.2.16556]# aclocal
[root@wangheng.org phddns-2.0.2.16556]# autoconf
[root@wangheng.org phddns-2.0.2.16556]# automake
[root@wangheng.org phddns-2.0.2.16556]# ./configure
[root@wangheng.org phddns-2.0.2.16556]# make
[root@wangheng.org phddns-2.0.2.16556]# cd src
[root@wangheng.org src]# ls -l phddns
-rwxr-xr-x 1 root root 80968 Aug 2 11:18 phddns
5、执行编译好的程序并配置(默认使用/etc/phlinux.conf,如果不存在这个文件则自动进入交互配置)
+[root@wangheng.org src]# ./phddns
输入服务器地址,如无特殊情况可使用默认值
Enter server address(press ENTER use phlinux3.oray.net):
输入您的Oray帐号名称
Enter your Oray account:
对应的Oray帐号密码
Password:
选择帮定的网卡,如无特殊,默认即可
Network interface(s):
eth0:192.168.141.18
lo:127.0.0.1
Choose one(default eth0):
选择日志保存到哪个文件
Log to use(default /var/log/phddns.log):
保存配置文件,选择yes则直接保存到/etc/phlinux.conf,输入other可以指定文件
Save to configuration file (/etc/phlinux.conf)?(yes/no/other):
接下来程序将已交互模式开始运行
192.168.141.18
NIC bind success
OnStatusChanged okConnecting
OnStatusChanged okDomainListed
OnDomainRegistered skyvense22.gicp.net
OnStatusChanged okDomainsRegistered
UserType: 0
看到上面这些就表示登录成功,这个时候可以按ctrl+c先退出程序
[root@wangheng.org src]# cp phddns /usr/bin/
+7、以后台模式启动花生壳并检查运行情况
+[root@wangheng.org ~]# /usr/bin/phddns -c /etc/phlinux.conf -d
phlinux started as daemon!
[root@wangheng.org ~]# tail /var/log/phddns.log
2011/08/02 11:28:58.256| ExecuteUpdate OK, BeginKeepAlive!
2011/08/02 11:29:59.354| SendKeepAlive() 8208
2011/08/02 11:30:00.355| RecvKeepaliveResponse() Data comes, OPCODE:8272
2011/08/02 11:30:00.356| Keepalive response received, client ip: 116..123.96
2011/08/02 11:31:00.447| SendKeepAlive() 8208
2011/08/02 11:31:01.450| RecvKeepaliveResponse() Data comes, OPCODE:8272
2011/08/02 11:31:01.450| Keepalive response received, client ip: 116..123.96
8、退出花生壳
+查看进程ID
[root@wangheng.org ~]# ps -A | grep phddns
13731 ? 00:00:00 phlinux
让后台进程退出
[root@wangheng.org ~]# kill -9 13731
9、将花生壳加到系统启动时运行
[root@wangheng.org ~]# vi /etc/rc.local
在文件的末尾加上一行:/usr/bin/phddns -c /etc/phlinux.conf -d
二、花生壳Linux版本命令行参数说明
+[root@wangheng.org ~]# /usr/bin/phlinux -h
Peanuthull Linux-core 2.0 by oray.com, copyright 2011
Peanuthull Linux-core Help
–first-run
-f, run for the first time
用于首次启动时配置参数
–interact
-i, run as interactive mode
program will request for necessary parameters.
this mode will automatically enabled at first running,
or your configuration file has been lost.
启动交互模式
–daemon
-d, run as a daemon
program will quit after put itself to background,
and continue running even you logout,
you can use kill -9 <PID> to terminate.
后台模式
–config
-c, run with configuration file
program will run with the file
指定使用哪一个配置文件
–user
-u, run as the user
program will run as the user
以指定用户启动后台进程
–help
-h, print this screen.
Please visit http://www.oray.com for detail.
由于单位限制网络使用,给分配的一个Linux服务器是没有外网权限的,这给我配置开发调试环境造成了很大的不便。但是这怎么能难道我们一个专业的程序猿呢。下面介绍在Linux中使用代理服务器的步骤:
全局设置
如果您在 /etc/yum.conf 中定义代理服务器,所有 用户在使用 yum 时都会应用这个代理服务器设置。
为单个用户配置代理服务器
要为一个特定的用户启用代理访问,只要将实例框中的文本行加入这个用户的 shell 配置中。对于默认的 bash shell,配置是在 ~/.bash_profile 中。这一设置使得 yum 使用代理服务器 192.168.1.47:808,连接端口号 808。
# 这个帐号使用的代理服务器
http_proxy=”http://192.168.1.47:808”
export http_proxy
配置设定,为使用代理服务器
如果代理服务器需要用户名和密码,只要将它们加入 URL。要包含用户名 a,密码 a,添加设定:
# 这个帐号使用的代理服务器和用户名/密码
http_proxy="http://a:a@192.168.1.47:808"
export http_proxy
https_proxy="https://a:a@192.168.1.47:808"
export https_proxy
最后用wget试一下,成功!
-由于单位限制网络使用,给分配的一个Linux服务器是没有外网权限的,这给我配置开发调试环境造成了很大的不便。但是这怎么能难道我们一个专业的程序猿呢。下面介绍在Linux中使用代理服务器的步骤:
全局设置
如果您在 /etc/yum.conf 中定义代理服务器,所有 用户在使用 yum 时都会应用这个代理服务器设置。
为单个用户配置代理服务器
要为一个特定的用户启用代理访问,只要将实例框中的文本行加入这个用户的 shell 配置中。对于默认的 bash shell,配置是在 ~/.bash_profile 中。这一设置使得 yum 使用代理服务器 192.168.1.47:808,连接端口号 808。
# 这个帐号使用的代理服务器
http_proxy=”http://192.168.1.47:808”
export http_proxy
配置设定,为使用代理服务器
如果代理服务器需要用户名和密码,只要将它们加入 URL。要包含用户名 a,密码 a,添加设定:
# 这个帐号使用的代理服务器和用户名/密码
http_proxy="http://a:a@192.168.1.47:808"
export http_proxy
https_proxy="https://a:a@192.168.1.47:808"
export https_proxy
最后用wget试一下,成功!
+
Linux中修改DNS有两种方式,临时修改和永久修改,下面分别介绍。
@@ -170,70 +158,43 @@nameserver 8.8.8.8 #修改成你的主DNS
nameserver 8.8.4.4 #修改成你的备用DNS
search localhost #你的域名
-我这里用了谷歌的DNS解析服务器,修改后:wq退出,配置会实时生效,但是重启系统后可能会丢失配置。其实编辑这个文件的时候,你也应该能看到文件头部“不要手动编辑”的注释。
- -我这里用了谷歌的DNS解析服务器,修改后:wq退出,配置会实时生效,但是重启系统后可能会丢失配置。其实编辑这个文件的时候,你也应该能看到文件头部“不要手动编辑”的注释。
2、永久修改网卡DNS
sudo –i
cd /etc/resolvconf/resolv.conf.d
vim basenameserver 8.8.8.8
nameserver 8.8.4.4
:wq 保存退出,这样重启后设置就不会丢失了。
其实你cat head文件会找到图片中头部注释的那段话,不难推测resolv.conf文件就是根据/etc/resolvconf/resolv.conf.d目录中的这几个文件生成的。
命令执行完毕,你的DNS缓存就得到了更新。
较新的苹果Mac OS X系统应该使用下面的命令: type dscacheutil -flushcache
设置编译选项, 我的配置是:
@@ -188,61 +176,37 @@在debian上编译时不支持“–enable-fontset”
1、新建一个文本文件,重命名,文件名可以随便取但是后缀必须为.pbk。
输入如下内容:
[要显示的拨号名称] @@ -193,8 +181,7 @@
3、重复添加这段代码可以加入多个vpn拨号到列表中,如图
-
-![]()
此方法只是建立了一个vpn拨号的列表,所以可以很安全的作为一个登录列表发给别人,用户名和密码需要在拨号的时候另外输入。
@@ -202,61 +189,37 @@用了好久的wordpress,说起来上次更新还是三年前。今天本想整理总结下最近的学习,却总也打不开wp-admin后台了,看了下是vps的php进程有报错 :( 想了想wordpress这套框架虽然很好,然而好多功能对我来说并不是必要的,于是动了心思从wordpress 迁移到静态化的博客框架 hexo。当然另外一个好处就是可以用 Markdown 语法写日志了 :)
用了好久的wordpress,说起来上次更新还是三年前。今天本想整理总结下最近的学习,却总也打不开wp-admin后台了,看了下是vps的php进程有报错 :( 想了想wordpress这套框架虽然很好,然而好多功能对我来说并不是必要的,于是动了心思从wordpress 迁移到静态化的博客框架 hexo。当然另外一个好处就是可以用 Markdown 语法写日志了 :)
迁移过程遇到一些坑,这里做下备忘…
网上安装hexo的文章已经很多了,这里不再冗述,大概流程就是
使用 hexo-migrator-wordpress 插件导入的文章有很多的问题,错行,样式杂乱,内容错误。
最无法忍受的是之前文章中因为有代码高亮,<pre><code> 标签内的文字导过来全错了,多了很多\ 以及其他转义符号,所以自己写了一个脚本来处理这个问题,代码可以参考如下:
1 | #!/usr/bin/env python3 |
1 | #!/usr/bin/env python3 |
这里还遇到了个非常奇葩的问题,如果写到md 文件的两个html 标签不在同一行,那么md 再生成的文章会多出很多的 <br> 换行符。。。
1 | content = content.replace('>\n<', '><') |
1 | # Code Highlight theme |
todo 暂时整理这些,其他待补充…
以前经常用Live Writer写博客,最近发现文章发布不上去了,google了一下发现原来GFW才是罪魁祸首。前几天把笔记本的硬盘换了,发现上次写的两篇博文还没发布,真悲剧。只好凭记忆重写一遍了…
年假前连续三天都加班到了晚上十二点,长时间的工作导致对着电脑code时,越来越反感白色背景配色。为了缓解眼睛的刺痛,还是决定换个舒服的配色方案。经过一翻搜寻,找到了几款很不错的配色!
1、son of obsidian(推荐)
-
-
这是http://studiostyl.es/上最热门的一款的配色方案,也是我目前正在使用的配色,只是感觉选中文字时的底色太不明显,于是将底色改成了蓝色。用了一段时间后确实看着很舒服,看来用的人多总是有一定道理的。
- -2、Bespin很喜欢这款Bespin的配色方案,清新,温和,用着也很舒服。唯一的问题是使用 vim 查找字符时,高亮后看不到光标的位置,懒得去改,所以也就没用这款配色。
3、wekeroad-ink
![]()
也是款不错的配色方案,喜欢的朋友也可以试一下。但是背景是纯黑的,个人感觉看时间长了还是不舒服。 :)
点击下载:配置文件
其实配色都没有好坏之分,只要找到自己最喜欢最适合的那它就是最好的!
编辑器的字体我选择的是系统自带的幼圆,它也是等宽字体,字形瘦长好看并且支持 ClearType,综合效果都很好!所以完全没有必要费力气再去网上下载其他的字体。
-以前经常用Live Writer写博客,最近发现文章发布不上去了,google了一下发现原来GFW才是罪魁祸首。前几天把笔记本的硬盘换了,发现上次写的两篇博文还没发布,真悲剧。只好凭记忆重写一遍了…
年假前连续三天都加班到了晚上十二点,长时间的工作导致对着电脑code时,越来越反感白色背景配色。为了缓解眼睛的刺痛,还是决定换个舒服的配色方案。经过一翻搜寻,找到了几款很不错的配色!
1、son of obsidian(推荐)
这是http://studiostyl.es/上最热门的一款的配色方案,也是我目前正在使用的配色,只是感觉选中文字时的底色太不明显,于是将底色改成了蓝色。用了一段时间后确实看着很舒服,看来用的人多总是有一定道理的。
2、Bespin很喜欢这款Bespin的配色方案,清新,温和,用着也很舒服。唯一的问题是使用 vim 查找字符时,高亮后看不到光标的位置,懒得去改,所以也就没用这款配色。
3、wekeroad-ink
也是款不错的配色方案,喜欢的朋友也可以试一下。但是背景是纯黑的,个人感觉看时间长了还是不舒服。 :)
点击下载:配置文件
其实配色都没有好坏之分,只要找到自己最喜欢最适合的那它就是最好的!
编辑器的字体我选择的是系统自带的幼圆,它也是等宽字体,字形瘦长好看并且支持 ClearType,综合效果都很好!所以完全没有必要费力气再去网上下载其他的字体。
+1、首先,编辑sshd_config文件
$ sudo nano /etc/ssh/sshd_config1、首先,编辑sshd_config文件
$ sudo nano /etc/ssh/sshd_config将Port 修改成自己定义的端口号,我这里改成了8080
2、重启sshd服务$ sudo service sshd restart
如果没什么错误,就可以使用新的端口连接了
autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
注意:改为on后,显示的文件时间为文件的服务器时间
但是如果有中文目录的话会出现乱码问题,所以还需要在下面添加这一句:
charset utf-8,gbk;
'+(u?i:Wv(i,!0))+"\n":""+(u?i:Wv(i,!0))+"\n"}},{key:"blockquote",value:function(e){var t=e.tokens;return"\n".concat(this.parser.parse(t),"\n")}},{key:"html",value:function(e){return e.text}},{key:"def",value:function(e){return""}},{key:"heading",value:function(e){var t=e.tokens,n=e.depth;return"
".concat(this.parser.parseInline(t),"
\n")}},{key:"table",value:function(e){for(var t="",n="",r=0;r".concat(Wv(t,!0),"")}},{key:"br",value:function(e){return"An error occurred:
"+Wv(n.message+"",!0)+"";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}}]));function am(e,t){return um.parse(e,t)}function im(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}am.options=am.setOptions=function(e){return um.setOptions(e),am.defaults=um.defaults,Qh(am.defaults),am},am.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},am.defaults=Gh,am.use=function(){return um.use.apply(um,arguments),am.defaults=um.defaults,Qh(am.defaults),am},am.walkTokens=function(e,t){return um.walkTokens(e,t)},am.parseInline=um.parseInline,am.Parser=nm,am.parser=nm.parse,am.Renderer=em,am.TextRenderer=tm,am.Lexer=Xv,am.lexer=Xv.lex,am.Tokenizer=Yv,am.Hooks=rm,am.parse=am,am.options,am.setOptions,am.use,am.walkTokens,am.parseInline,nm.parse,Xv.lex;var om=new am.Renderer;om.code=function(e){var t=e.text,n=e.lang,r=void 0===n?"":n,u=e.escaped,a=r?"language-".concat(r):"",i=u?t:im(t),o=encodeURIComponent(t);return'\n
').concat(i,"\n {{ERROR}}
"),e.htmlEl=o,h(n,"has-html"),h(n,"has-error"),n.insertAdjacentElement("afterbegin",o),K("contentReady",e)}return eI},showLoading:function(e){let t=e.el,n=t?.querySelector(".f-spinner");if(!t||n)return eI;let o=s(Y("spinnerTpl"));return o&&(h(o,"f-spinner"),t.insertAdjacentElement("beforeend",o)),eI},version:"6.0.34"};return eI};eb.l10n={en_EN:eg},eb.getDefaults=()=>ey;let eE=function(e="",t="",n=""){return e.split(t).join(n)},ew={tpl:e=>`