2010年计划

过去的一年,毕业,参加了工作,成为了一名代码民工。接下来的一年总是要有很多的期待,还是得好好安排
下。
2010年要做的事情,看下到年底的时候能不能都实现:
1、存钱,到现在为止我银行里的存款还为零,这对一个年轻人来讲是一件非常不好的事情。
2、养成时间管理的习惯,工作后时间越来越少了,得学会把最多的时间放在最重要的事情上
3、推出一个服务,coding for supply service 代码只有为他人提供服务的时候才有价值,已有idea
4、打造一个开源项目,已经有想法了
5、构造一个产品,我想第一个要做的就是这个了
6、学习英语,这事非常必要的,至少要看得懂环球时报的英文版
7、学习一门新语言,精通一门语言,不用多说了,新语言就是python了,精通的也就php吧,我对php了解
的太少了
8、看2~3个开源程序的源码,探究其实现,对于我这种没写多少代码的人来说,阅读优秀的代码是非常必要
的,我会精度sugar的代码,还有就不知道了drupal?zendframework?
9、看20本以上与专业无关的书,这一年第一本应该是《当我谈跑步时,我谈些什么》
10、感受马拉松,做一次徒步或者奔跑旅行,明天就马拉松了.嘿嘿~

在gae上搭建micolog

由于之前合租的主机被gfw墙奸了,所以决定把blog搬到gae上来,至少有一个最大的好处就是信息不会丢失,这对blog
来说是极其重要了。
简单记录下过程:
1、blog程序选择的是micolog,由徐明编写的,相关的链接
在google code上的地址:http://code.google.com/p/micolog/
项目的主页: http://micolog.xuming.net/
作者的个人主页:http://xuming.net/
2、注册和相关的gae以及google 的app注册过程省略若干
3、绑定独立域名
在域名的CNAME 增加一条记录 blog.codinglog.net 地址是ghs.google.com
在A Record增加一条记录 blog.codinglog.net ip地址是:72.14.203.121
设置url的转发把codinglog.net 转发到blog.codinglog.net 301 永久转发的形式
P.S. 如果72.14.30.121被墙奸,可以改用由 http://www.you8g.com/ 提供的ghs的ip
CNAME 是域名的别名,A Record 是域名解析指向的真实地址
虽然micoblog bug未知,性能未知,速度有点慢,但是还是值得使用的
blog会一直更新下去,关注编程,关注开源,关注linux以及一切可以改变这个互联网的事物
coding change the world!
不久之后会改一个主题上来,简约型的
欢迎通过feedburn订阅我的blog
http://feeds.feedburner.com/codinglog
who is the first one?
使用 gae的blog:
http://xuming.net
http://www.kgblog.net/
………………………………
next
you?
--the end--

在安装visual studio 2008 的过程中遇到的三个问题

1、出现Invalid keyboard code specified
出现这个问题是由于默认输入语言设置不当引起的:
解决方法:【控制面板】【区域和语言选项】【语言】【详细信息】【默认输入语言】将其改为英语 (美国) - 美式键盘的输入,问题解决。

2、 Program too big to fit in memory
出现这个问题说明您的安装文件损坏了得重新下
当您试 图从 MSDN 网站安装 Visual Studio.net 产品安装文件时出现"太大,无法放入内存的程序"错误消息
文件损坏

3、Visual Studio Web 创作组件(Visual Studio Authoring Component)” 无法安装

使用Windows Installer 清理实用工具,清理Microsoft Office system即可。
Windows Installer 清理实用工具下载地址:http://download.microsoft.com/download/e/9/d /e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe
先清理调office 2003 的web创作组件
然后到光盘的 WCU\WebDesignerCore 把 WebDesignerCore.EXE 手动解压到一个地方,然后运行里面的
setup.exe,不要直接点击WebDesignerCore.EXE,依然会失败。

在 centos5.2上搭建lamp测试环境

今天按测试人员要求给sugarcrm搭建一台lamp的web服务器,做点笔记好歹忙活了半天。
一、安装完centos后,第一件要做的就是调 整系统的开机启动服务减少占用资源
1、禁用selinux 和iptables 以及设定开机启动服务若干
最简单的办法:直接在命令行 setup进行配置
selinux的配置文件为 /etc/sysconfig/selinux
如果你禁用的话可以手动进行编辑,也可以 在root权限下使用sed命令:
sed -i '/SELINUX=enforcing/s/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux

对于开机启动服务,可以使用ntsysv进行管理,运行ntsysv后,按空格键代表选中

设 定好后可以按以下命令查看服务的状态:

查看服务
chkconfig --list | wc -l 查询系统总共的服务 个数
chkconfig --list | grep 3:on | wc -l 查询个数
chkconfig --list | grep 3:on | cut -f1查询运行中的服务


二、安装php5.2版本的和mysql server
由于默认源里面的php是5.1的,而 sugarcrm 需要的php版本是5.2的 所以需要从测试仓库中安装新版本的php
1、新建测试源文件
vim /etc/yum.repos.d/CentOS-Testing.repo
# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

ps: 加上includepkgs 这行是因为我只想升级php

yum install php-common -y


2、 安装mysql服务器并设置开机启动

安装mysql服务器
yum install mysql-server

/usr/bin/mysqladmin -u root password 'new-password'

添加到系统服务中

/sbin/chkconfig --add mysqld [在服务清单中添加mysql服务]

/sbin/chkconfig mysqld on [设置mysql服务开机启动]

3、忘记mysql密码的处理

首先,你必须拥有 MySQL操作的所有权限;

其次,停止MySQL服务:/etc/init.d/mysql stop

第三,使用无权限 模式启动MySQL服务:mysqld_safe --skip-grant-tables --skip-networking &

第 四,登录MySQL重置密码:mysql -u your_user_name mysql
mysql> UPDATE user SET Password=PASSWORD('New_of_Your_Password') WHERE User='your_user_name';
mysql> FLUSH PRIVILEGES;

最后,不要忘记重启你的MySQL已使修改生效:/etc/init.d/mysql restart

感谢mcspring提供的方法
http://hi.baidu.com/mcspring/blog/item/78ab84136d142adaf7039ee1.html


三、 设定centos的网络启动方式
由于明天得把服务器搬到另一个地方,所以得设置一下centos服务器以静态ip获取地址,这样才可以ssh到
服 务器上
到/etc/sysconfig/network-scripts/ 目录寻找网卡的配置文件,比如第一个网卡就是ifcfg-eth0
更 改为下面这种格式,更改之前先做下备份
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=172.17.103.10
USERCTL=no
PEERDNS=yes
GATEWAY=172.17.103.254

注 解:
DEVICE 接口名(设备,网卡)
BOOTPROTO IP的配置方法(static:固定IP, dhcpHCP, none:手动)
HWADDR MAC地址
ONBOOT 系统启动的时候网络接口是否有效(yes/no)
TYPE 网络类型(通常是Ethemet)
NETMASK 网络掩码
IPADDR IP地址
IPV6INIT IPV6是否有效(yes/no)
GATEWAY 默认网关IP地址

设置完后重启服务器的网络

service network restart


四、关于sugarcrm安装的一些说明
1、保证sugarcrm目录可写
2、保证data和data/upload目录可写
3、modules 目录可写
4、cache以及其子目录可写
5、custom目录可写
这样就可以了,收工 ^_^

在同一个机器上用github账号登录(一台机器多个公钥)

1、首先生成你要的公钥比如说id_rsa_github_codinlog
2、生成之后把id_rsa_github_codinglog里面的内容添加到github的accounts设置中
添加公钥
3、编辑~/.ssh/config 文件加入下面内容
#coding github 的认证
Host github-codinglog
Hostname github.com
User git
IdentityFile /home/kimi/.ssh/id_rsa_github_codinglog

第一行注释
第二行是名称
第三行是主机名(不可变)
第四行 用户 不可变一定要是git
第五行是私钥的地址

4、添加公钥给ssh-agent
a、确认下ssh-agent是否允许,ps ax|grep ssh-agent
b、添加私钥 ssh-add id_rsa_github_codinglog

5、验证是否成功
ssh git@github-codinglog
成功则返回
Hi codinglog! You've successfully authenticated,

but GitHub does not provide shell access Connection to github.com closed.

6、从源中取出代码
a、如果是首次取出
mkdir ideacollector
cd ideacollector
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github-codinglog:codinglog/ideacollector.git
git push origin master
b、如果源里面有代码了
直接git@github-codinglog:codinglog/ideacollector.git

参考:
http://github.com/guides/multiple-github-accounts

关于Zend Server的那些事

一、介绍
根据zend的介绍,zendserver 是zend 开发一款具有完备功能的,为企业量身定做的运行和管理要求有高可用性、高性能、高安全性的php应用程序的Web 应用服务器。
版本:面向社区的CE版本,和面向收费用的full版本,full版本多了Page caching、Application monitoring、Techniacl Support这几个功能
关于这两个版本的对比见:http://www.zend.com/en/products/server/editions
产品地址:http://www.zend.com/products/server/
二、安装
ubuntu下具体的安装见:
http://files.zend.com/help/Zend-Server/deb_installation.htm
三、卸载!!!!
这个要着重强调的,找了好多卸载的资料的,居然都没找到。
1、ubuntu下的卸载:
#aptitude purge '~nzend.*-pe'
如果要保留配置文件则
#aptitude remove '~nzend.*-pe'
2、centos等用rpm包管理的系统下的卸载
yum remove ’rpm –qa “*zend*” | xargs’
四、安装位置和一些常用的文件
安装在/usr/local/zend这个文件夹中
apache服务器的配置在/etc/apache2这个文件中
/usr/local/bin的中的zendctl.sh存储了zend的控制命令
具体见:
http://nextrobin.ycool.com/post.2344659.html
http://files.zend.com/help/Zend-Server/zend-server.htm

五、我为什么把zend server给卸载了
1、不开源,不论CE,还是full版本的都是不开源的
2、可定制性差
3、我用不到,除非公司要求用zend server,个人部署的话,去哪里找有zend server的ISP呢?
六、趋势
整合!

利用ssh传输文件

在linux下一般用scp这个命令来通过ssh传输文件。而如果你的工作环境是windows的话,那么可以选择用
secure CRT,或者putty 这样的ssh登录工具来进行传输.
对于linux环境:
一、利用scp传输文件
1、从服务器上下载文件
scp username@servername:/path/filename
例如scp codinglog@192.168.0.101:/home/kimi/test.txt 把192.168.0.101上的/home/kimi/test.txt
的文件下载到当前目录
2、上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp /var/www/test.php codinglog@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件
上传到192.168.0.101这台服务器上的/var/www/目录中

3、从服务器下载整个目录
scp -r username@servername:remote_dir/ local_dir/
例如:scp -r codinglog@192.168.0.101 /home/kimi/test /home/kimi/
4、上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:
scp -r test codinglog@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器
的/var/www/ 目录
对于windows环境:
二、利用putty工具集
1、psftp工具
a、建立连接 open 192.168.0.1,按要求输入用户名和密码
b、lcd 改变你要下载的目录,比如lcd D:\wwwroot\ 进入本机的D盘下的wwwroot目录
c、开始传输,put filename 上传文件
get filename 下载文件

2、pscp工具
pscp f:\dir\file1 username@servername:/tmp 把file1 上传到服务器的/tmp目录,用法和scp大同小异
三、利用secureCRT
1、设置上传和下载目录
你只要设置一下上传和下载的默认目录就行
options->session options ->Terminal->Xmodem/Zmodem 下
在右栏directory设置上传和下载的目录
2、上传文件到服务器
rz filename
下载文件
sz filename
如果要下载目录的话,要先用tar打包下
tar -czvf filename.tar.gz dirname
3、改变scurecrt的颜色方案来配合linux
仿真Linux,勾选ANSI颜色
全局选项->颜色->标准颜色,选择不那么刺眼的蓝色(系统默认是深蓝色的)