2010年5月27日星期四

Makefile的例子

Makefile的例子

#CC=cc
PROC=${ORACLE_HOME}/bin/proc

PROC_INCLUDES=\
      include=$(ORACLE_HOME)/precomp/public \
      include=$(ORACLE_HOME)/rdbms/public \
      include=$(ORACLE_HOME)/plsql/public \
      include=$(ORACLE_HOME)/network/public

PROCFLAGS=code=ansi_c \
          lines=yes \
          parse=full \
          char_map=string \
          dbms=V8 \
          unsafe_null=yes \
          $(PROC_INCLUDES)

CFLAGS=-O4 -trigraphs -g -Wall -D DEBUG\
      -I$(ORACLE_HOME)/precomp/public \
      -I$(ORACLE_HOME)/rdbms/public \
      -I$(ORACLE_HOME)/plsql/public \
      -I$(ORACLE_HOME)/network/public

LDFLAGS=-L${ORACLE_HOME}/lib -lclntsh

TARGET=yumlog
OBJECTS=main.o insert.o

.SUFFIXES: .pc .c .o

all: ${OBJECTS}
 ${CC} ${CFLAGS} ${LDFLAGS} ${OBJECTS} -o ${TARGET}

.c.o:
 ${CC} ${CFLAGS} -c $<

.pc.c:
 ${PROC} ${PROCFLAGS} $<

clean:
 rm -rf main.o insert.o insert.c yumlog tp* insert.lis

2010年5月21日星期五

Set utf8 for all MySQL encoding

[mysqld]
#
# * Using utf8 for all encoding
#
default-character-set=utf8
skip-character-set-client-handshake
# end add by yz_wang

ubuntu字体包

#requirement
ttf-dejavu
ttf-dejavu-core
ttf-dejavu-extra
ttf-liberation
ttf-mscorefonts-installer
ttf-opensymbol
ming-fonts-opensymbol
ttf-sazanami-gothic
ttf-sazanami-mincho
ttf-wqy-zenhei

#optional
ttf-arphic-bkai00mp
ttf-arphic-bsmi00lp
ttf-arphic-gbsn00lp
ttf-arphic-gkai00mp
ttf-arphic-ukai
ttf-arphic-uming
ttf-kochi-gothic
ttf-kochi-mincho
ttf-sawarabi-gothic

Ubuntu系统启动程序管理

系统启动程序管理

添加
sudo update-rc.d mysql default

删除
sudo update-rc.d mysql remove

2010年5月19日星期三

Install ndiswrapper on Ubuntu

很多的无线网卡没有Linux下的驱动,如果想在Linux下面使用无线网卡的,可以使用ndiswrapper来安装Windows下的
驱动到Linux下。

这边我用的是 Buffalo出的 WLI-U2-KG54L USB型无线上网卡

Ubuntu: 9.10

1. 禁用Linux自带的zd1211rw驱动程序
在/etc/modprobe.d/blacklist.conf 的最后加上下的话
blacklist zd1211rw

2. 安装ndiswrapper程序
2.1 从网络下载
sudo apt-get install ndiswrapper

2.2 从别的机器下载,usb盘copy过来
如果无法上网,可以在这里下载。下载最新的,适用程序即可
http://jp.archive.ubuntu.com/ubuntu/pool/main/n/ndiswrapper/

ndiswrapper-common_1.54-2ubuntu1_all.deb
ndiswrapper-utils-1.9_1.54-2ubuntu1_i386.deb

sudo dpkg -i ndiswrapper-common_1.54-2ubuntu1_all.deb
sudo dpkg -i ndiswrapper-utils-1.9_1.54-2ubuntu1_i386.deb

3. 下载buffalo的驱动程序,安装
sudo ndiswrapper -i netu2kgl.inf

4. 重启电脑
sudo reboot

5. 加载ndiswrapper
sudo modprobe ndiswrapper

6. 无线网卡应该就可以识别出来了,可以在图形界面的网络配置里对无线网卡进行配置。我在命令行界面怎么试都没出来,知道的请告诉我

sudo iwlist wlan0 scan # 扫描可用无线网络
sudo iwconfig wlan0 essid essidname # 设置essid名称
sudo iwconfig wlan0 key s:keyphrase # 设置密码
sudo iwconfig wlan0 mode managed # 手动模式
sudo dhclient wlan0 # 启动dhcp链接网络


7. 重启后自动加载ndiswrapper。 (还未曾试过)
sudo ndiswrapper -m

2010年5月13日星期四

有关Rails程序的SEO

整理一下有关SEO的链接,有必要慢慢学习

Google的SEO指导
http://googlewebmastercentral.blogspot.com/2008/11/googles-seo-starter-guide.html

Google的SEO中文指导
http://www.google.cn/ggblog/googlewebmaster-cn/2008/12/google-seo.html
http://docs.google.com/fileview?id=0B5Utlw5ap2R8MGMyM2I3MjktMGE5Yy00OTMxLTkwZDktZmNkNWFhMjJlZGNj&hl=en&pli=1

中文网站管理员博客
http://googlewebmaster-cn.blogspot.com/


SEO on Rails专门网站
http://www.seoonrails.com/

Rails SEO开始手册
http://web.elctech.com/2008/11/19/rails-seo-starter-guide/

2010年5月12日星期三

关于Rails程序安全性

问题

默热情况下ActiveRecord允许访问者更新所有字段,以及子表字段。
这就让系统中的敏感字段暴露在外。

ActiveRecord里面提供了一下两个函数来声明可以改变的字段。
attr_accessible attr_protected

但是在实际使用中,极为不便,因为
ActiveRecord.new
ActiveRecord.update_attributes
的方法将无法正常使用

当然你可以为每个属性赋值,但这个不是聪明的做法。

问题所在不是出现在ActiveRecord上面。
而是应该在ActiveController上屏蔽一些敏感Parameter

寻找良久,以下这个Plugin应该是一个最为完善的解决方案吧。
据说这个是从Merb里面研究出来的,我想Rails3可能会有直接支持吧。

http://github.com/cjbottaro/param_protected


参看以下链接
http://railspikes.com/2008/9/22/is-your-rails-application-safe-from-mass-assignment

安全检查工具
http://thinkrelevance.com/blog/2008/02/26/tarantula-vs-your-rails-app.html

如何用curl来发送一个非GET请求

# The request
$ curl -X PUT -d "order[price_in_cents]=0" example.com/orders/225

2010年5月10日星期一

vim using easy mode ( modeless )

对于新手来说vi里面有一大堆的命令,很难使用。
但同时他的语法加亮功能却很出色。
为了两者兼得,可以使用vi的简单模式。


vim -y file


vim就会使用简单模式为你文件。
简单模式就是如同一般的文本编辑器,例如Windows里面的notepad小程序。
vi默认使用插入模式,所以你不用再为了切换模式频繁使用Esc按键了。


需要说明的是,如果你在终端下使用简单模式的话,vim没有菜单供你选择退出vim程序。
正确的做法是:

Ctrl + L



来切换到命令模式,输入 :q 来退出去。
对于新手来讲,只要记住这个退出方法就OK了。
是不是很简单。