November 1, 2008 – 5:21 pm
这次回家没带本本,家里的台式机已经病入膏肓,光进入 WinXP 就要四五分钟,遂装 Ubuntu 自用。
Ubuntu 默认的中文字体实在是不怎么样,于是把华文黑体设置为默认的中文字体。设置方法如下:
1、下载华文黑体,将其复制到 /usr/share/fonts/ 的任意目录底下,我是自己新建了一个目录放乱七八糟的字体。
2、设置 STHeiti(华文黑体) 为首选中文字体:
$ sudo gedit /etc/fonts/conf.d/69-language-selector-zh-cn.conf
找到 <string>AR PL UMing CN</string> (反正就是插入排第一位的中文字体之上)添加 <string>STHeiti</string>
3、设置英文字体和渲染方式
打开 “系统-首选项-外观-字体” 面板,在字体选项里选择一款英文字体,如 Lucida Grande。然后在 “字体渲染” 选项中选择 “最佳形状” ,再在 “细节” 里面把平滑选择为 “次像素(LCD)” 。
4、另外我发现 Ubuntu 默认的中文字体似乎不是文泉驿正黑,而是一种貌似叫“明”的字体,总之歪歪扭扭的不太好看,我修改了一下中文字体的渲染顺序。就是修改 /etc/fonts/conf.avail/ 下的 40-generic.conf 和 65-nonlatin.conf 这两个文件,在 AR PL KairiM GB 和 AR PL KaitiM Big5 之前添加了 STHeiti(STHeiti是一种 Sans Serif 字体,只需修改 Sans Serif 部分即可)。
刷新字体缓存:
$ sudo fc-cache -f -v
最后重启一下X即可。
本文参考:
《字体设置小结》
更好的华文黑体渲染效果
Ubuntu 8.04 中的字体美化配置,修正前辈介绍
修改Ubuntu中字体渲染的顺序
September 28, 2008 – 9:42 pm
最近喜欢上玩DotA,于是从某地搞到简体中文版的冰封王座,没想到不能在英文版本的 WinXP 运行,在 Google 上搜索半天找到解决方案。注意,由于要修改游戏安装文件,请提前做好备份以防万一。
打开 WarCraft 安装目录,找到 game.dll 文件,用 UltraEdit 或者类似的编辑器打开此文件,搜索 16 进制字符串“3D 04 08 00 00 74 2A 3D 04”,将 74 修改为 EB,然后保存退出。
August 19, 2008 – 5:44 pm
Access Flickr!
Bypasses the flickr.com fliter in Iran & …
Adblock Plus
Get grid of ads.
CacheViewer
This extenion is GUI Front-end of “about:cache”.
Allows searching and sorting memory and disk cache files.
CHM Reader
An extension make firefox support CHM file reading.
DownThemAll!
DownThemAll is all you can desire from a download manager: it features an advanced accelerator that increases speed up to 400% and it allows you to pause and resume downloads at any time.
Firebug
Web Development Evolved.
Foxmarks Bookmark Synchronizer
If you use Firefox on more than one computer, you’ll want Foxmarks. Install Foxmarks on each computer, and it will work silently in the background to keep your bookmarks synchronized.
Greasemonkey
Allows you to customize the way a webpage displays using small bits of JavaScript.
SingletonFox
Use only one instance of Firefox to handle all the URL requests.
SwitchProxy Tool
A tool that allow you to manage and switch between multiple proxy configurations quickly and easily.
August 8, 2008 – 10:39 am
—–BEGIN PGP PUBLIC KEY BLOCK—–
Version: GnuPG v1.4.6 (GNU/Linux)
mQGiBEiaUa4RBACg8VXxnHN8vTyUpcqH9pPeUmY4xBqLXirqlSE++vDGmWPRFtGe
v+KU8TC1gH8Y7OO5j5oHrHZuJZOReTXpPfPG70T4psYW+jE3R6voiinYlt2/eEk1
CyKhuIC+W9jwKl4frKmvWo2cVhXJWriaF9MhwCv4oAs28IUwVFMx8DQRXwCg6Abn
8DRkqWINjSREL69ybAIUMuUD+wUM+rpKQUrAv4GK6TqXLSmjvVwPkAE+2CxS4He/
S/Tm84uhXqWWg26+oxLsPX4PY6nxeOg/oLCP8RdtbH/D1Vgb3YjFk/0X2/dUkEr8
dDHCNb3y9q36GfiHe8eVOKw6NVz4m09YaJKGREulxky0T5SeAsyI3yA5zT76hA/u
DGLOBACTx1fvbgRis4j6JSVFtnAWce9UZESCWrygHmqg0jOuTXjtD5RW7GAY3utl
8n493li9vNK9oQrwQeQJpKHi+jMIJ4SCEgyb5zr+y1hisvIScPUgb+LmeKEt179G
TlKV31uJljdJBeksZEXj23b6k5p/uVBVAmDghyVHwgp154FTILQfVmF5biBUc2Fp
IDxkZXJhbXgwMDdAZ21haWwuY29tPohgBBMRAgAgBQJImlGuAhsDBgsJCAcDAgQV
AggDBBYCAwECHgECF4AACgkQZOc0QlqRhmDFUwCeOWn0ScO9sOla1QzgcYkIq2k3
tCYAnRpLPxc1Ys6kvpOk4DGTro10/QR0uQENBEiaUa4QBAC+RKTwO9bG2C5Ij6+D
TdaUs+iE0JDp+TiDM2arayweB/UuRDn2aJen5WNgIgBh+I8xCEOB1bVLPFQvg2xc
3SmIAaJIw4DIfrHJywwOa0pYy0c4mXgV6IFLbGF1ID+HVavBvSeCVmoyx+Vw6fJz
YFUtF83pXaswFmMCKbXO5DyfUwADBgP8DeoydEj3ALSvCOeQV2+FnQmXDn9HIwgt
ILRUiRlBw0UHaFqVVWoubzmFg/hF7miSgETyOimStA4OEmAbjhowZ0FFdfG5g2ms
NOlJhOpw+RHOUSd5Cat0QvsPBilwVLx0FLkKT4HDrhFonTfDwiOgrq83+RfFkZxW
axrJRaEeORqISQQYEQIACQUCSJpRrgIbDAAKCRBk5zRCWpGGYEVsAKDKXCW7i0Ra
XrRhEGnPmMCGYr4ImQCeO3Y4NFwhB6JOLEHApj8kc/lK5Io=
=U0bF
—–END PGP PUBLIC KEY BLOCK—–
欢迎发送加密函件 
August 1, 2008 – 10:59 am
LOAD DATA INFILE
LOAD DATA INFILE “filename.txt” INTO TABLE tablename;
字段包括在单引号内,用 tab 键进行间隔,每行由 \n 换行,特殊字符用 \ 转义。
存储引擎
MyISAM(MySQL 默认)
ISAM
MEMORY
MERGE
BDB
InnoDB
用 ALTER TABLE 语句转换,比如:
alter table tablename type=innodb;
事务安全性的四个需求(ACID 原则):Atomicity, Consistency, Isolation, Durability。
MySQL 默认为 autocommit 模式。
mysql>set autocommit=0; #关闭 autocommit
在自动提交打开前提下开始事务:
mysql>start transaction;
完成后手动提交:
mysql>commit;
回滚:
mysql>rollback;
InnoDB 支持强制使用 foreign key。
创建存储过程 create procedure
设置分隔符 delimiter …
调用过程 call procedurename(@t);
查看该变量 select @t;
创建函数 create function
局部变量 declare variablename
游标(cursor)
控制结构
声明句柄

EXPLAIN
id
select_type
table
type
possible_keys
key
key_len
ref
rows
Extra
关联优化器
$myisamchk –analyze pathtomysqldatabase/table
$myisamchk –analyze pathtomysqldatabase/*.MYI
$myisamchk –analyze pathtomysqldatabase/*/*.MYI
mysql>analyze table tablename1, tablename2, …;
将列创建为索引
ALTER TABLE table ADD INDEX (column);
表的优化
mysql>OPTIMIZE TABLE tablename;
$myisamchk -r table
$myisamchk –sort-index –sort-records=1 pathtomysqldatabase/*/*.MYI
备份数据库
1. LOCK TABLES table lock_type [, table lock_type ...]
锁定类型 READE / WRITE,备份之前必须执行 FLUSH TABLES。
*******没明白*******
以文件方式备份
2. $mysqldump –opt –all-databases > backup-file.sql
再,停止 mysqld 进程,通过 –log-bin[=logfile] 重新启动进程。日志将记录备份后数据库发生的变化。
*******还是没明白*******
3. $mysqlhotcopy database /path/for/backup
再,停止 mysqld 进程,通过 –log-bin[=logfile] 重新启动进程。日志将记录备份后数据库发生的变化。
*******模模糊糊*******
恢复 MySQL 数据库
使用了方法 1,可将数据文件重新复制到安装 MySQL 的相同位置。
使用了方法 2,首先在导出文件中运行查询(???)从而将数据库重新构建至导出时的状态,接着将数据库更新至保存在二进制日志文件中的状态 —— $mysqlbinlog hostname-bin.[0-9]* | mysql
*******没明白*******
先 $mysql db_name < backup-file.sql 将转储文件读回到服务器,然后再更新。
设置主服务器和从服务器,略过
--eof--
p.s. 这一章基本没怎么看懂
p.s.2 貌似小站被墙了
意外发现 WordPress 彩蛋,已经有人发现了 http://www.youtube.com/watch?v=gkF4WLSkz-U
抽象类(abstract class): 不能被实例化.
抽象方法(abstract operation): 只提供了一个方法的声明, 但是不提供方法的具体实现.
包含抽象方法的任何类自身必须是抽象的.
使用 PEAR::DB 抽象类与数据库进行交互
安装: $sudo apt-get install php-pear
检查最新版本: $pear list-upgrades
升级 DB: $sudo pear upgrade DB
require_once(’DB.php’); # set for using PEAR DB
$dsn = “mysqli://$user:$pass@$host/$db_name”; # set up DSN
$db = $DB::connect($dsn); # connect to database
与实例化 mysqli 类连接数据库相比其实都差不多.
Prepared 语句向 MySQL 发送需要执行的查询模板, 再单独发送数据.
$query = “insert into table values(?, ?, …)”;
$stmt = $db->prepare($query);
$stmt->bind_param(”sssd”, $value1, $value2, …);
$stmt->execute();
$stmt->affected_rows;
除了 bind_param()[insert?] 还有 bind_result() [select?] 函数.
注意! 一定要细心! 下面使用上面的变量, 拼写要正确, 不要想当然 