<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24134934</id><updated>2024-10-25T02:26:41.663+09:00</updated><category term="MySQL"/><category term="cygwin"/><category term="perl"/><category term="Google"/><category term="Linux"/><category term="Catalyst"/><category term="DreamHost"/><category term="JavaScript"/><category term="ssh"/><category term="Gadget"/><category term="patch"/><category term="Apache"/><category term="Debian"/><category term="FastCGI"/><category term="FireFox"/><category term="FlashGet"/><category term="HTML::FillInForm"/><category term="HTML::Parser"/><category term="HotSaNIC"/><category term="Jcode"/><category term="Pound"/><category term="PuTTY"/><category term="Windows"/><category term="df"/><category term="procps"/><category term="subversion"/><category term="vi"/><category term="携帯"/><category term="百度"/><category term="编码"/><title type='text'>$islue-&gt;memo</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://islue.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24134934.post-7413000589013385115</id><published>2009-05-28T19:11:00.003+09:00</published><updated>2009-05-28T19:55:37.086+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>Installing MySQL 5.4.0 on Cygwin</title><content type='html'>First of all, it was an installation from source.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;./configure&lt;br /&gt;make&lt;br /&gt;make install&lt;/blockquote&gt;&lt;br /&gt;The commands above didn&#39;t work.&lt;br /&gt;&lt;br /&gt;A try:&lt;br /&gt;&lt;blockquote&gt;./configure&lt;br /&gt;make&lt;br /&gt;......&lt;br /&gt;gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include    -O3    -MT readline.o -MD -MP -MF .deps/readline.Tpo -c -o readline.o readline.c&lt;br /&gt;In file included from readline.c:54:&lt;br /&gt;readline/readline.h:70:29: sys/ttydefaults.h: No such file or directory&lt;/blockquote&gt;&lt;br /&gt;Cygwin provides no file named `sys/ttydefaults.h&#39;. Someone said a copy from a *nix distribution would help.&lt;br /&gt;I didn&#39;t try it &#39;cause MySQL provides an option to skip the bundled readline kindly.&lt;br /&gt;&lt;br /&gt;Another try:&lt;br /&gt;&lt;blockquote&gt;./configure --without-readline&lt;br /&gt;make&lt;br /&gt;......&lt;br /&gt;g++ -DUNDEF_THREADS_HACK -DDEFAULT_MYSQL_HOME=&quot;\&quot;/usr/local\&quot;&quot; -DDATADIR=&quot;\&quot;/usr/local/var\&quot;&quot; -I. -I../include -I../include -I../include -I../regex     -O3    -fno-implicit-templates -fno-exceptions -fno-rtti -MT mysql.o -MD -MP -MF .deps/mysql.Tpo -c -o mysql.o mysql.cc&lt;br /&gt;mysql.cc:1030: error: redefinition of `struct _hist_entry&#39;&lt;br /&gt;../include/readline/readline.h:46: error: previous definition of `struct _hist_entry&#39;&lt;br /&gt;mysql.cc:1033: error: ISO C++ forbids declaration of `HIST_ENTRY&#39; with no type&lt;br /&gt;mysql.cc:1033: error: conflicting declaration &#39;typedef int HIST_ENTRY&#39;&lt;/blockquote&gt;&lt;br /&gt;I have little knowledge about compiling, so what I can do is only to guess, change options and have another try.&lt;br /&gt;However, I&#39;m lucky! I found the problem is caused by the option `-O3&#39;, well, actually is the inner `-frename-registers&#39;. To set CFLAGS=-O2 or CFLAGS=-fno-rename-registers can help. Also, gcc-4 seems ok. Maybe gcc-3 is the bad, I don&#39;t know.&lt;br /&gt;&lt;br /&gt;My compiler, which is the latest default compiler on Cygwin.&lt;br /&gt;&lt;blockquote&gt;$ gcc -V&lt;br /&gt;gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)&lt;br /&gt;Copyright (C) 2004 Free Software Foundation, Inc.&lt;br /&gt;This is free software; see the source for copying conditions.  There is NO&lt;br /&gt;warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Yet another try:&lt;br /&gt;&lt;blockquote&gt;./configure --without-readline CFLAGS=-O2&lt;br /&gt;make&lt;br /&gt;make install&lt;/blockquote&gt;&lt;br /&gt;Done.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://bugs.mysql.com/bug.php?id=45056&quot;&gt;P.S.1.&lt;/a&gt; The configure option `--with-plugin-partition&#39; doesn&#39;t work. The MySQL guy said the issue is not repeatable with current development sources. So, just using `--with-plugins=partition&#39; instead.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://bugs.mysql.com/bug.php?id=45057&quot;&gt;P.S.2.&lt;/a&gt; Cygwin is not supported for MySQL.(I didn&#39;t know that.)</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/7413000589013385115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/7413000589013385115' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/7413000589013385115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/7413000589013385115'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2009/05/installing-mysql-540-on-cygwin.html' title='Installing MySQL 5.4.0 on Cygwin'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-5351654704151509386</id><published>2009-03-25T01:57:00.004+09:00</published><updated>2009-03-25T02:08:46.581+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gadget"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>かかくん（iGoogle Gadget）</title><content type='html'>毎日「価格.com」にアクセスして欲しいものの価格を見るのはあまりにも面倒くさいので、iGoogle Gadgetを作った。&lt;br /&gt;&lt;a href=&quot;http://fusion.google.com/add?source=atgs&amp;moduleurl=http%3A//www.kakakun.com/platform/igoogle.xml&quot;&gt;&lt;img src=&quot;http://buttons.googlesyndication.com/fusion/add.gif&quot; border=&quot;0&quot; alt=&quot;Add to Google&quot;&gt;&lt;/a&gt;&lt;br /&gt;【価格.com 商品IDとは】&lt;br /&gt;例えばPS3&lt;br /&gt;&lt;a href=&quot;http://kakaku.com/item/20504010180/&quot;&gt;http://kakaku.com/item/&lt;span style=&quot;color:red&quot;&gt;20504010180&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;赤い部分は価格.com 商品です。&lt;br /&gt;&lt;br /&gt;「価格.com」のAPIを使って超簡単で出来るので、もう既に同じ機能のGadgetがいっぱいあります。だから機能的にちょっとだけ強化した。同じもののAmazon.co.jpの商品リンクを付けて、価格を比較することは可能になる。ただ、最初データがないので、Amazon.co.jp のバナーのまま。&lt;br /&gt;&lt;br /&gt;周り何人に聞いたんですが、こんなニーズが全然なさそうだ。残念……</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/5351654704151509386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/5351654704151509386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/5351654704151509386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/5351654704151509386'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2009/03/igoogle-gadget.html' title='かかくん（iGoogle Gadget）'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6850258624143230224</id><published>2009-03-22T18:57:00.006+09:00</published><updated>2009-03-22T19:28:26.464+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>javascript 金额格式化</title><content type='html'>&lt;blockquote&gt;&lt;pre&gt;sum = &quot;1234567890.99&quot;;&lt;br /&gt;sum = sum.split(&quot;&quot;).reverse().join(&quot;&quot;).replace(/(\d{3})(?=\d)/g, &quot;$1,&quot;).split(&quot;&quot;).reverse().join(&quot;&quot;);&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;CAVEATS&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;前导0未作处理&lt;/li&gt;&lt;br /&gt;&lt;li&gt;小数不能多过2位&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6850258624143230224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6850258624143230224' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6850258624143230224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6850258624143230224'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2009/03/javascript.html' title='javascript 金额格式化'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-5735738387067651980</id><published>2009-02-04T22:51:00.006+09:00</published><updated>2009-02-04T23:13:15.967+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gadget"/><title type='text'>做了个 iGoogle 小工具</title><content type='html'>一直不用 iGoogle 的，某次鲜格格试了一下，还挺好用的。&lt;br /&gt;进而手痒写了个查看外汇牌价的小工具。&lt;br /&gt;&lt;a href=&quot;http://fusion.google.com/add?source=atgs&amp;moduleurl=http%3A//gadgets.h2l.name/forex/cny/ig.xml&quot;&gt;&lt;img src=&quot;http://gmodules.com/ig/images/plus_google.gif&quot; border=&quot;0&quot; alt=&quot;Add to Google&quot;&gt;&lt;/a&gt;&lt;br /&gt;顺便牢骚几句：&lt;br /&gt;1、iGoogle Gadget 和 Gadget 不是一回事，看文档的时候很容易搞起来。&lt;br /&gt;2、iGoogle Gadget 还不支持 gadgets.* API，要看基于 _IG_... 命名空间的 &quot;legacy&quot; gadgets API 的&lt;a href=&quot;http://code.google.com/intl/zh-CN/apis/gadgets/docs/legacy/reference.html&quot;&gt;文档&lt;/a&gt;。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/5735738387067651980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/5735738387067651980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/5735738387067651980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/5735738387067651980'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2009/02/igoogle.html' title='做了个 iGoogle 小工具'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-9103275090865214261</id><published>2009-01-03T01:11:00.002+09:00</published><updated>2009-01-03T01:53:55.408+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>Google App Engine, Google Account and Google Apps Account</title><content type='html'>前些日子用 Google App Engine（GAE）做了个 &lt;a href=&quot;http://app.h2l.name/&quot;&gt;iGoogle Widget&lt;/a&gt;（在墙外，*.appspot.com 被过滤了，很可惜），碰到不少问题，小结分享一下。&lt;br /&gt;&lt;br /&gt;先明确几个概念：&lt;br /&gt;Google Account（GA），大家应该很熟悉，基本上 Google 的服务都用这个做认证。&lt;br /&gt;&lt;a href=&quot;http://www.google.com/apps/&quot;&gt;Google Apps&lt;/a&gt; Account（GAA），Google 的域名托管服务，具体就不介绍了，没用过的点了链接自己看吧。&lt;br /&gt;&lt;br /&gt;同一个邮件地址（通常是自己申请的域名）可以分别注册为 GA 和 GAA，最搞的就是这里，让我来说明一下使用 GAE 流程。&lt;br /&gt;&lt;br /&gt;1、首先，在 &lt;a href=&quot;http://appengine.google.com/&quot;&gt;appengine.google.com&lt;/a&gt; 使用 GA 登录，注册一个 App ID，这个 GA 同时也会以 developer 的身份和 App 绑定。&lt;br /&gt;2、如果，这个 GA 同时又是一个 GAA，那么就很～麻烦了，创建后的 App ID 是属于 GAA 的，因此在 appengine.google.com 里是看不到的，只能去 http://appengine.google.com/a/&amp;lt;YOURDOMAIN.COM&amp;gt;/ 管理。&lt;br /&gt;3、https://www.google.com/a/cpanel/&amp;lt;YOURDOMAIN.COM&amp;gt;/Dashboard 这里有一项 Add more services，里面你能看到 Google App Engine 并且可以输入 App ID。在这里添加 App ID 没有任何意义，不会真的给你创建一个新的 App ID，只是做绑定，而且即使输入不存在的 App ID，也不会报错（GAE 官方论坛管理员语）。&lt;br /&gt;&lt;br /&gt;简而言之，3 句话&lt;br /&gt;1) 如果你用了一个邮件地址同时注册了 GA 和 GAA，而且使用 GAE&lt;br /&gt;2) http://appengine.google.com/ 在这里创建你的 App ID&lt;br /&gt;3) http://appengine.google.com/a/&amp;lt;YOURDOMAIN.COM&amp;gt;/ 在这里管理你的 App ID，域名绑定也是这里，不是 Google Apps Dashboard</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/9103275090865214261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/9103275090865214261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/9103275090865214261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/9103275090865214261'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2009/01/google-app-engine-google-account-and.html' title='Google App Engine, Google Account and Google Apps Account'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6256068773816610507</id><published>2008-09-09T20:21:00.002+09:00</published><updated>2008-09-09T20:32:34.041+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>涂鸦（？）</title><content type='html'>在地址栏中敲入以下命令，页面就会变得可编辑（仅限文字，好像），是个篡改了截屏的好助手。&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;javascript:document.body.contentEditable=&#39;true&#39;; document.designMode=&#39;on&#39;; void 0&lt;/pre&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6256068773816610507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6256068773816610507' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6256068773816610507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6256068773816610507'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2008/09/blog-post.html' title='涂鸦（？）'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-8044062513883891949</id><published>2008-08-13T23:55:00.004+09:00</published><updated>2008-08-14T00:09:19.236+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Catalyst"/><category scheme="http://www.blogger.com/atom/ns#" term="DreamHost"/><category scheme="http://www.blogger.com/atom/ns#" term="FastCGI"/><title type='text'>扩展名原来很重要</title><content type='html'>所谓世事难预料，估计我在 DreamHost 有仇家，今天我的站点突然全线瘫痪，Catalyst 始终报 500 错误。可是，站点程序又完全没有更新过，百思不得其解。Google 了一圈又一圈，抱着死马当活马医的态度，把 pl 改成了看起来更 fastcgi 的 fcgi，哎，就好了。&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;[razzle ~]$ cp script/myapp_fastcgi.pl script/myapp_fastcgi.fcgi&lt;br /&gt;[razzle ~]$ diff .htaccess.old .htaccess&lt;br /&gt;1c1&lt;br /&gt;&lt; AddHandler fastcgi-script pl&lt;br /&gt;---&lt;br /&gt;&gt; AddHandler fastcgi-script fcgi&lt;br /&gt;12,13c12,13&lt;br /&gt;&lt; RewriteCond %{REQUEST_URI} !^/script/myapp_fastcgi.pl&lt;br /&gt;&lt; RewriteRule ^(.*)$ script/myapp_fastcgi.pl/$1 [PT,L]&lt;br /&gt;---&lt;br /&gt;&gt; RewriteCond %{REQUEST_URI} !^/script/myapp_fastcgi.fcgi&lt;br /&gt;&gt; RewriteRule ^(.*)$ script/myapp_fastcgi.fcgi/$1 [PT,L]&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;没想出问题所在，如果哪位大侠精通此道，还望不吝赐教。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/8044062513883891949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/8044062513883891949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/8044062513883891949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/8044062513883891949'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2008/08/blog-post.html' title='扩展名原来很重要'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6423273356070423382</id><published>2008-05-05T21:36:00.001+09:00</published><updated>2008-05-05T21:38:36.822+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="patch"/><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><title type='text'>perl 调用 localtime 的时区问题</title><content type='html'>测试用例：&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;{&lt;br /&gt; local $ENV{TZ} = &#39;UTC+0&#39;;&lt;br /&gt; print scalar localtime, &quot;\n&quot;;&lt;br /&gt;}&lt;br /&gt;print scalar localtime, &quot;\n&quot;;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;@CentOS 4.2&lt;br /&gt;&lt;blockquote&gt;Mon Sep 24 01:05:52 2007&lt;br /&gt;Mon Sep 24 01:05:52 2007&lt;/blockquote&gt;&lt;br /&gt;@CentOS 4.4&lt;br /&gt;&lt;blockquote&gt;Mon Sep 24 01:05:52 2007&lt;br /&gt;Mon Sep 24 09:05:52 2007&lt;/blockquote&gt;&lt;br /&gt;Bug 的详情可以参考&lt;br /&gt;&lt;a href=&quot;http://rt.perl.org/rt3/Public/Bug/Display.html?id=26136&quot;&gt;http://rt.perl.org/rt3/Public/Bug/Display.html?id=26136&lt;/a&gt;&lt;br /&gt;摘要：&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;* threaded perl calls localtime_r(3) instead of localtime(3)&lt;br /&gt;* localtime(3) calls tzset(3), but localtime_r(3) does not&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;一些时间类的模块受此影响，比如 Date::Simple。&lt;br /&gt;&lt;br /&gt;CentOS 4.4/ Red Hat Enterprise Linux 4 Update 4 已解决此问题，详情见 perl 的 changelog：&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;$ rpm -q --changelog perl&lt;br /&gt;* Thu May 11 2006 Jason Vas Dias &amp;lt;jvdias@redhat.com&amp;gt; - 3:5.8.5-30.RHEL4&lt;br /&gt;&lt;br /&gt;- fix errata testing issues:&lt;br /&gt; o bug 161305 localtime_r_needs_tzset incorrectly not set on 64-bit arches&lt;br /&gt; o generate perl headers correctly to avoid missing / unresolved headers&lt;br /&gt;&lt;br /&gt;* Thu Apr 06 2006 Jason Vas Dias &amp;lt;jvdias@redhat.com&amp;gt; - 3:5.8.5-28.RHEL4&lt;br /&gt;&lt;br /&gt;- fix bug 161305: call tzset() before localtime_r&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;而 perl 的 community patch 应用于 perl 5.8.8 发布之后，此后发布的新版本目前只有 perl 5.10.0。&lt;br /&gt;&lt;br /&gt;综上，有以下数种对应解决办法：&lt;br /&gt;&lt;blockquote&gt;1、如果 OS 为 CentOS 4.4 以下，使用 yum 直接升级 perl 即可。&lt;br /&gt;2、其他 OS 可以查找是否有相应的 vendor patch。&lt;br /&gt;3、自行编译安装禁用线程（-Uusethreads）的 perl。&lt;br /&gt;4、自行编译安装 perl 5.10.0。&lt;br /&gt;5、给受影响的模块打补丁，Date::Simple 的补丁&lt;a href=&quot;http://rt.cpan.org/Public/Bug/Display.html?id=23875&quot;&gt;这里&lt;/a&gt;有。&lt;/blockquote&gt;&lt;br /&gt;相关链接：&lt;br /&gt;&lt;a href=&quot;http://islue.blogspot.com/2006/12/blog-post.html&quot;&gt;小心时区陷阱（一）&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://islue.blogspot.com/2006/12/blog-post_10.html&quot;&gt;小心时区陷阱（二）&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6423273356070423382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6423273356070423382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6423273356070423382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6423273356070423382'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2008/02/perl-localtime.html' title='perl 调用 localtime 的时区问题'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6050087346277570447</id><published>2008-05-04T00:33:00.007+09:00</published><updated>2008-05-04T00:51:27.766+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="携帯"/><title type='text'>Apacheのログに携帯のユーザIDを記録する</title><content type='html'>iモードIDの登場に伴って、三キャリアのユーザIDはすべてHTTPリクエストヘッダから取れるようになった。Apacheの場合、下記ような設定でユーザIDはログに記録される。&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;SetEnvIf X-DCMGUID    ^(.+)$ User-ID=$1&lt;br /&gt;SetEnvIf X-UP-SUBNO   ^(.+)$ User-ID=$1&lt;br /&gt;SetEnvIf X-JPHONE-UID ^(.+)$ User-ID=$1&lt;br /&gt;CustomLog &quot;logs/access_log&quot; &quot;%h %l %u %t \&quot;%r\&quot; %&gt;s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot; \&quot;%{User-ID}e\&quot;&quot;&lt;/pre&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6050087346277570447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6050087346277570447' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6050087346277570447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6050087346277570447'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2008/05/apacheid.html' title='Apacheのログに携帯のユーザIDを記録する'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-2859603371700997341</id><published>2007-11-19T20:30:00.000+09:00</published><updated>2007-11-19T20:40:56.678+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><title type='text'>Cygwin 环境下安装 Gtk2</title><content type='html'>这里的 Gtk2 是指 Perl 的 Gtk2 模块，Cygwin 环境下通过 CPAN 是无法直接安装的，需要修改了 Makefile.PL 之后手动安装。&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;--- Makefile.PL 2006/11/06 00:35:44 1.1&lt;br /&gt;+++ Makefile.PL 2006/11/06 10:24:38&lt;br /&gt;@@ -331,10 +331,6 @@&lt;br /&gt; &lt;br /&gt; # this probably needs to go into ExtUtils::Depends.&lt;br /&gt; sub find_extra_libs {&lt;br /&gt;- # right now we need this terrible hack only for windows.&lt;br /&gt;- # unfortunately, this code doesn&#39;t work on cygwin.  :-/&lt;br /&gt;- return &quot;&quot; unless $^O eq &quot;MSWin32&quot;;&lt;br /&gt;-&lt;br /&gt;  # win32 does not allow unresolved symbols in libraries, but&lt;br /&gt;  # Gtk2 uses on symbols in the dll created for Glib.&lt;br /&gt;  # so, we have to break all this nice abstraction and encapsulation&lt;br /&gt;@@ -346,10 +342,19 @@&lt;br /&gt;  my $retstring = &quot;&quot;;&lt;br /&gt; &lt;br /&gt;  use File::Find;&lt;br /&gt;- find (sub {&lt;br /&gt;-   $retstring .= &quot; &quot;.$File::Find::name&lt;br /&gt;-    if /Glib.lib/i;&lt;br /&gt;-  }, @INC);&lt;br /&gt;+&lt;br /&gt;+ if ($^O eq &quot;MSWin32&quot;) {&lt;br /&gt;+  find (sub {&lt;br /&gt;+    $retstring .= &quot; &quot;.$File::Find::name&lt;br /&gt;+     if /Glib\.lib/i;&lt;br /&gt;+   }, @INC);&lt;br /&gt;+ } elsif ($^O eq &quot;cygwin&quot;) {&lt;br /&gt;+  find (sub {&lt;br /&gt;+    $retstring .= &quot; -L&quot;.$File::Find::dir&lt;br /&gt;+     if /libGlib\.dll\.a/i;&lt;br /&gt;+   }, @INC);&lt;br /&gt;+  $retstring .= &quot; -lGlib.dll&quot; if ($retstring ne &quot;&quot;);&lt;br /&gt;+ }&lt;br /&gt; &lt;br /&gt;  return $retstring;&lt;br /&gt; }&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;这是 Dirk Froemberg 向 Torsten Schoenfeld 提交的 patch，到现在为止还没有被合并进 source。&lt;br /&gt;&lt;br /&gt;参考链接：&lt;br /&gt;&lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=371464&quot;&gt;http://bugzilla.gnome.org&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/2859603371700997341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/2859603371700997341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/2859603371700997341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/2859603371700997341'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/11/cygwin-gtk2.html' title='Cygwin 环境下安装 Gtk2'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-4196859222488140456</id><published>2007-11-09T22:24:00.000+09:00</published><updated>2007-11-09T22:45:56.408+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>寻找被占用的硬盘空间</title><content type='html'>收到系统邮件报警，有个分区的空间使用率已经超过90%&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;[root@localhost ~]# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda7             4.9G  4.3G  267M  94% /&lt;br /&gt;/dev/sda1              99M   17M   77M  18% /boot&lt;br /&gt;/dev/sda2              43G  8.8G   32G  22% /data&lt;br /&gt;none                  1.9G     0  1.9G   0% /dev/shm&lt;br /&gt;/dev/sda6             4.9G   43M  4.6G   1% /home&lt;br /&gt;/dev/sda5             4.9G  1.8G  2.8G  39% /usr&lt;br /&gt;/dev/sda3             4.9G  1.5G  3.2G  31% /var&lt;br /&gt;&lt;br /&gt;[root@localhost ~]# du -h -x --max-depth=1 /&lt;br /&gt;8.0K    /opt&lt;br /&gt;2.0K    /boot&lt;br /&gt;5.7M    /bin&lt;br /&gt;4.0K    /data&lt;br /&gt;0       /proc&lt;br /&gt;144M    /lib&lt;br /&gt;8.0K    /initrd&lt;br /&gt;11M     /etc&lt;br /&gt;8.0K    /mnt&lt;br /&gt;0       /sys&lt;br /&gt;8.0K    /selinux&lt;br /&gt;2.2M    /tmp&lt;br /&gt;42M     /root&lt;br /&gt;8.0K    /var&lt;br /&gt;8.0K    /srv&lt;br /&gt;16K     /lost+found&lt;br /&gt;17M     /sbin&lt;br /&gt;16K     /media&lt;br /&gt;8.0K    /usr&lt;br /&gt;0       /dev&lt;br /&gt;8.0K    /misc&lt;br /&gt;8.0K    /home&lt;br /&gt;4.2G    /&lt;br /&gt;&lt;br /&gt;[root@localhost ~]# ls -al /&lt;br /&gt;total 174&lt;br /&gt;drwxr-xr-x   24 root root  4096 Aug 16 01:23 .&lt;br /&gt;drwxr-xr-x   24 root root  4096 Aug 16 01:23 ..&lt;br /&gt;-rw-r--r--    1 root root     0 Aug 16 01:23 .autofsck&lt;br /&gt;drwxr-xr-x    2 root root  4096 Aug 23 04:02 bin&lt;br /&gt;drwxr-xr-x    4 root root  1024 Aug 15 19:12 boot&lt;br /&gt;drwxr-xr-x    5 root root  4096 Sep 20 16:41 data&lt;br /&gt;drwxr-xr-x    9 root root  6540 Aug 16 01:23 dev&lt;br /&gt;drwxr-xr-x   67 root root  4096 Nov  9 14:42 etc&lt;br /&gt;drwxr-xr-x    9 root root  4096 Nov  9 14:42 home&lt;br /&gt;drwxr-xr-x    2 root root  4096 Feb 22  2005 initrd&lt;br /&gt;drwxr-xr-x   12 root root  4096 Oct 26 04:03 lib&lt;br /&gt;drwx------    2 root root 16384 Aug 16 03:43 lost+found&lt;br /&gt;drwxr-xr-x    4 root root  4096 Aug 16 01:23 media&lt;br /&gt;drwxr-xr-x    2 root root  4096 May  3  2007 misc&lt;br /&gt;drwxr-xr-x    2 root root  4096 Aug 15 18:48 mnt&lt;br /&gt;drwxr-xr-x    2 root root  4096 Sep 20 17:07 opt&lt;br /&gt;dr-xr-xr-x  420 root root     0 Aug 16 10:22 proc&lt;br /&gt;drwxr-x---    6 root root  4096 Nov  9 14:42 root&lt;br /&gt;drwxr-xr-x    2 root root 12288 Aug 23 04:02 sbin&lt;br /&gt;drwxr-xr-x    2 root root  4096 Aug 15 18:43 selinux&lt;br /&gt;drwxr-xr-x    2 root root  4096 Feb 22  2005 srv&lt;br /&gt;drwxr-xr-x    9 root root     0 Aug 16 10:22 sys&lt;br /&gt;drwxrwxrwt    4 root root  4096 Nov  9 22:36 tmp&lt;br /&gt;drwxr-xr-x   16 root root  4096 Aug 15 18:45 usr&lt;br /&gt;drwxr-xr-x   22 root root  4096 Aug 21 16:32 var&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;找来找去，找不到吃掉空间的文件，还是经过好友指点，学到了这个命令：&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;[root@localhost~]# lsof | grep deleted&lt;br /&gt;logswatch 14767    zimbra    1w      REG        8,7    1830440     384006 /tmp/logswatch.out (deleted)&lt;br /&gt;logswatch 14767    zimbra    2w      REG        8,7    1830440     384006 /tmp/logswatch.out (deleted)&lt;br /&gt;......&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;意为列出已被删除，但仍被进程占用中的文件。然后就是处理（杀掉？）掉相关进程，释放文件，空间就回来了。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/4196859222488140456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/4196859222488140456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/4196859222488140456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/4196859222488140456'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/11/blog-post.html' title='寻找被占用的硬盘空间'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-1132051559775555993</id><published>2007-09-27T10:27:00.000+09:00</published><updated>2007-09-27T10:30:48.672+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>MySQL Users Conference Japan 2007 講演資料公開</title><content type='html'>&lt;blockquote&gt;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━&lt;br /&gt;&lt;br /&gt;MySQL Users Conference Japan 2007 参加登録者の方へ&lt;br /&gt;&lt;br /&gt;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━&lt;br /&gt;&lt;br /&gt;この度は、悪天候の中、MySQL Users Conference Japan 2007にたくさんの方にお越しいただき、誠にありがとうございました。カンファレンス資料を公開致しました。&lt;br /&gt;http://www.mysql-ucj2007.jp/session/index.html&lt;br /&gt;&lt;br /&gt;見逃してしまったセッション、もう一度見たいセッションがございましたら、ぜひお早めにダウンロードをお勧めいたします。10月31日まで公開しております。なお、都合により非公開の資料もございます。予めご了承ください。&lt;br /&gt;&lt;br /&gt;次回 MySQL カンファレンスに対するご要望をお持ちの方は、ucj@mysql.com までお知らせください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MySQL Enterprise にご興味のある方は、下記サイトでご紹介しております。&lt;br /&gt;http://www-jp.mysql.com/products/enterprise/&lt;br /&gt;MySQL Enterprise 30日トライアルも実施中です。&lt;br /&gt;&lt;br /&gt;購入に関するお問い合わせは、03-5918-7507 までご連絡ください。&lt;br /&gt;&lt;br /&gt;この度は、MySQL カンファレンスへのご登録およびご来場、ありがどうございました。&lt;br /&gt;&lt;br /&gt;MySQL 株式会社&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/1132051559775555993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/1132051559775555993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/1132051559775555993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/1132051559775555993'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/09/mysql-users-conference-japan-2007.html' title='MySQL Users Conference Japan 2007 講演資料公開'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-2736237758108048042</id><published>2007-09-20T19:56:00.000+09:00</published><updated>2007-09-20T20:12:18.341+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML::FillInForm"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML::Parser"/><title type='text'>Update your HTML::Parser</title><content type='html'>An example of using HTML::FillInForm&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ja&quot; lang=&quot;ja&quot;&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;...&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;after fill the form...&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;!--DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;--&amp;gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ja&quot; lang=&quot;ja&quot;&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;...&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;The declaration was changed which could cause problem in IE. It was fixed in 3.56 released in 2007.01.12.</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/2736237758108048042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/2736237758108048042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/2736237758108048042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/2736237758108048042'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/09/update-your-htmlparser.html' title='Update your HTML::Parser'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-917692751606102160</id><published>2007-09-11T20:11:00.000+09:00</published><updated>2007-09-11T21:43:51.648+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>MySQL Users Conference Japan 2007 - 1</title><content type='html'>今天是大会第一天，由于路线选择错误，我花了近两小时才抵达会场，台场真的是好远啊。&lt;br /&gt;&lt;br /&gt;迟到了一小时，所以错过了 E11（MySQL 高可用性解决方案简介 by Jimmy Guerrero）。&lt;br /&gt;&lt;br /&gt;所以就从 J12（使用 DRBD 和 heartbeat 搭建高可用性 MySQL by Patrick Bolduan of MTV Japan）开始了。介绍了一个的案例，2 个 MySQL Master 节点，heartbeat 管理共享的 Virtual IP 以及 MySQL 实例，DRBD 实现数据同步。&lt;br /&gt;这个方案的优点在于不需要人工干预就能实现 failover，M/S Replication 架构如果不考虑事后重建 Slave 这档子事儿的话也算是可以自动化的。缺点是，2 个数据库节点只能用其中 1 个，稍微有些浪费资源。关于 DRBD，一个问题是它本身有开销，会导致 MySQL 性能有一定程度的下降，另一个问题是在数据量大到某种程度后，安全性并不是非常可靠，Patrick 介绍他们测试下来，50GB 左右还是安全的。我对 DRBD 几乎没什么了解，找时间看看。&lt;br /&gt;&lt;br /&gt;接下来是 E13（MySQL Performance Tuning and Benckmark by Colin Charles of MySQL AB）。介绍了一下 Tuning 和 Benckmark 的方向和若干工具，因为多数内容都有所了解，基本没有留下笔记。Peter 的 &lt;a href=&quot;http://www.mysqlperformanceblog.com/&quot;&gt;mysqlperformanceblog&lt;/a&gt; 大家都说不错，值得常去逛逛。&lt;br /&gt;&lt;br /&gt;最后是 E14（面向 Web 2.0 的 MySQL 架构 by Brian Aker）。讲的内容面比较广，这里就略了，有时间以后再补上。Brian 重点推荐了一下 EC2，记一下。&lt;br /&gt;&lt;br /&gt;参考链接：&lt;a href=&quot;http://www.mysql-ucj2007.jp/&quot;&gt;MySQL Users Conference Japan 2007&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/917692751606102160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/917692751606102160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/917692751606102160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/917692751606102160'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/09/mysql-users-conference-japan-2007-1.html' title='MySQL Users Conference Japan 2007 - 1'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-3109770492866585010</id><published>2007-09-07T15:53:00.000+09:00</published><updated>2007-09-08T02:56:47.686+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>Debug JavaScript in Internet Explorer</title><content type='html'>经常被提到的一个话题，才知道还有这些东西。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=2f465be0-94fd-4569-b3c4-dffdf19ccd99&amp;displaylang=en&quot;&gt;Microsoft Script Debugger&lt;/a&gt;&lt;br /&gt;非常、非常弱的一个工具，只是聊胜于无。安装之后，要改一下 IE 的设置&lt;br /&gt;&lt;blockquote&gt;unchecking Tools / Internet Options... / Advanced / Disable script　debugging (Internet Explorer).&lt;/blockquote&gt;&lt;br /&gt;然后重启 IE 就可以在 View-&gt;Script Debugger 就可以调用了。在中断处呼出窗口后，能做的事情非常有限，还算有用的是 View-&gt;Command Window，输入变量或者表达式可以得到值。&lt;br /&gt;&lt;br /&gt;Microsoft Script Editor&lt;br /&gt;一个很像 Visual Studio 的脚本调试工具，但却是 Microsoft Office 的组件，如果你已安装，那么其路径应该是 %ProgramFiles%/Microsoft Office/OFFICE11/MSE7.exe。&lt;br /&gt;它可以单独启动去绑定指定进程，也可以从 IE 呼出，不过这个需要安装 Microsoft Script Debugger，然后在调试窗口打开前有个弹窗可以选 Debugger 还是 Editor。&lt;br /&gt;界面友好，功能也还可以，大家不妨试试。&lt;br /&gt;&lt;br /&gt;其他还有重型武器 Visual Studio，好像是有组件调试 JavaScript 的，我没玩过，就不乱说了。&lt;br /&gt;&lt;br /&gt;参考链接：&lt;br /&gt;&lt;a href=&quot;http://www.jonathanboutelle.com/mt/archives/2006/01/howto_debug_jav.html&quot;&gt;http://www.jonathanboutelle.com/mt/archives/2006/01/howto_debug_jav.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://erik.eae.net/archives/2005/07/04/21.49.50/&quot;&gt;http://erik.eae.net/archives/2005/07/04/21.49.50/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/3109770492866585010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/3109770492866585010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/3109770492866585010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/3109770492866585010'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/09/debug-javascript-in-internet-explorer.html' title='Debug JavaScript in Internet Explorer'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6663029912482418172</id><published>2007-09-02T15:47:00.000+09:00</published><updated>2007-09-02T15:54:15.353+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Jcode"/><title type='text'>Patch for Jcode-2.06</title><content type='html'>Bug report: &lt;a href=&quot;http://rt.cpan.org/Public/Bug/Display.html?id=29049&quot;&gt;http://rt.cpan.org/Public/Bug/Display.html?id=29049&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bug detail:&lt;br /&gt;&lt;blockquote&gt;1. According to RFC1522 as the document mentioned, I&#39;m afraid it would be better to set $lf as \r\n instead of \n, which could cause some MTA like qmail working improperly.&lt;br /&gt;&lt;br /&gt;2. The optional parameter $lf is not used in the function, although the document says it is.&lt;/blockquote&gt;&lt;br /&gt;Archive patched: &lt;a href=&quot;http://noticpan.org/archive/Jcode-2.06-patched.tar.gz&quot;&gt;Jcode-2.06-patched.tar.gz&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6663029912482418172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6663029912482418172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6663029912482418172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6663029912482418172'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/09/patch-for-jcode-206.html' title='Patch for Jcode-2.06'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-8316527154297034056</id><published>2007-08-28T01:36:00.000+09:00</published><updated>2007-08-28T01:45:38.159+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="vi"/><title type='text'>不好用的 Cygwin 的 vi</title><content type='html'>一直以为 Cygwin 的 vi 特别不好用，特别是在输入模式（i）下，小键盘的表现很奇怪。&lt;br /&gt;其实，是自己太菜了，在主目录下建一个 vi 的配置文件就万事OK了。&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;islue@localhost ~&lt;br /&gt;$ locate vimrc&lt;br /&gt;/usr/share/vim/vim71/vimrc_example.vim&lt;br /&gt;&lt;br /&gt;islue@localhost ~&lt;br /&gt;$ cp /usr/share/vim/vim71/vimrc_example.vim .vimrc&lt;/pre&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/8316527154297034056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/8316527154297034056' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/8316527154297034056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/8316527154297034056'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/08/cygwinvi.html' title='不好用的 Cygwin 的 vi'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6579287373439264793</id><published>2007-08-20T10:16:00.000+09:00</published><updated>2007-08-20T10:26:58.940+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ssh"/><title type='text'>alternative solution of port forward</title><content type='html'>ssh的port forward很方便又很不方便，如果网关代理服务器支持nc命令的话，试试这个。&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;[localhost ~]$ cat .ssh/config&lt;br /&gt;Host 192.168.0.100&lt;br /&gt;ProxyCommand ssh 192.168.0.1 &quot;nc %h %p&quot;&lt;/pre&gt;&lt;br /&gt;192.168.0.100: 内网目标服务器&lt;br /&gt;192.168.0.1: 网关代理服务器&lt;br /&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6579287373439264793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6579287373439264793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6579287373439264793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6579287373439264793'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/08/alternative-solution-of-port-forward.html' title='alternative solution of port forward'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6234431514268681140</id><published>2007-05-23T01:11:00.000+09:00</published><updated>2007-05-23T02:02:07.684+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="df"/><category scheme="http://www.blogger.com/atom/ns#" term="HotSaNIC"/><title type='text'>小发现</title><content type='html'>观察 df 的输出&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;[localhost ~]$ df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda1             2.0G  1.3G  623M  68% /&lt;br /&gt;/dev/sda3             6.9G  3.2G  3.4G  49% /usr/local&lt;br /&gt;/dev/sda8             2.0G  118M  1.8G   7% /usr/local/tmp&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;以比较明显的第二行为例，可以发现&lt;br /&gt;&lt;blockquote&gt;Size &gt; Used + Avail&lt;/blockquote&gt;&lt;br /&gt;原因是系统为特权用户保留了一部分空间。所以，Avail 的含义其实是非特权用户的可用空间，并且可能为负。&lt;br /&gt;&lt;br /&gt;然后呢，在使用一些工具时就要注意了，比如 HotSaNIC，它生成的磁盘容量使用图表中的 free 是不同于 df 的 Avail 的。&lt;br /&gt;&lt;img src=&quot;http://hotsanic.sourceforge.net/example/part/_dev_sda10-month.gif&quot;&gt;&lt;br /&gt;&lt;blockquote&gt;HotSaNIC.free = df.Size - df.Used&lt;/blockquote&gt;&lt;br /&gt;在磁盘空间快耗尽的时候，不要被它麻痹了。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6234431514268681140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6234431514268681140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6234431514268681140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6234431514268681140'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/05/blog-post.html' title='小发现'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-5030519772474824283</id><published>2007-05-17T00:20:00.000+09:00</published><updated>2007-05-17T00:27:00.143+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>MySQL Community Server 5.0.41 is released</title><content type='html'>其中，我最关注的 bug fixed 是这个：&lt;br /&gt;&lt;br /&gt;Loading data using LOAD DATA INFILE may not replicate correctly (due to character set incompatibilities) if the character_set_database variable is set before the data is loaded. (&lt;a href=&quot;http://bugs.mysql.com/bug.php?id=15126&quot;&gt;Bug#15126&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;摔过&lt;a href=&quot;/2006/09/mysql-replication.html&quot;&gt;跟头&lt;/a&gt;，自然印象深刻。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/5030519772474824283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/5030519772474824283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/5030519772474824283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/5030519772474824283'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/05/mysql-community-server-5041-is-released.html' title='MySQL Community Server 5.0.41 is released'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-6195860482064261397</id><published>2007-04-15T23:11:00.000+09:00</published><updated>2007-04-15T23:12:25.169+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>删除文件或文件夹时出错</title><content type='html'>&lt;blockquote&gt;无法删除 i-am-a-sample: 文件正在被另一个人或程序使用。&lt;br /&gt;关闭任何可能使用这个文件的程序，重新试一次。&lt;/blockquote&gt;&lt;br /&gt;相信大多数人都见过这个错误消息，而且有时候对于“任何可能使用这个文件的程序”会很困惑，最后只能重启电脑。在一次忍无可忍的经历后，我终于决定去找一个第三方软件来帮我解决这个问题。也许是 old 了，但还是推荐一下：&lt;a href=&quot;http://ccollomb.free.fr/unlocker/&quot;&gt;unlocker&lt;/a&gt;，它能帮你找出“任何可能使用这个文件的程序”。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/6195860482064261397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/6195860482064261397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6195860482064261397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/6195860482064261397'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/04/blog-post_15.html' title='删除文件或文件夹时出错'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-7620997261923857748</id><published>2007-04-05T20:49:00.000+09:00</published><updated>2007-04-05T20:59:15.193+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>谷歌拼音输入法</title><content type='html'>解脱了，总算用上了一款还算顺手的输入法。&lt;br /&gt;&lt;br /&gt;自己一直是用紫光的，也久仰搜狗大名，无奈工作环境是日文操作系统，谁也不顶。还是 &lt;a href=&quot;http://tools.google.com/pinyin/&quot;&gt;Google&lt;/a&gt; 好，赞一个。</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/7620997261923857748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/7620997261923857748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/7620997261923857748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/7620997261923857748'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/04/blog-post.html' title='谷歌拼音输入法'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-7974158531429601062</id><published>2007-03-25T02:51:00.000+09:00</published><updated>2007-03-25T02:51:59.338+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="PuTTY"/><title type='text'>PuTTYcyg</title><content type='html'>&lt;a href=&quot;http://web.gccaz.edu/~medgar/puttycyg/&quot;&gt;PuTTYcgy&lt;/a&gt;，一个 PuTTY 的改版，可使用 PuTTY 作为本地 Cygwin 终端。&lt;br /&gt;&lt;br /&gt;在这之前，我有两个选择。&lt;br /&gt;Cygwin 的自带终端。缺点，主要是复制粘贴不方便，要同时用到鼠标和键盘。&lt;br /&gt;Cygwin 的 X Term。缺点，本地要起 X Server，开销比较大。&lt;br /&gt;&lt;br /&gt;说明一下 putty 的快捷方式的创建方法。&lt;br /&gt;&lt;br /&gt;首先，打开 putty，修改好各项设置后保存，假设 Session 名为 cygwin。&lt;br /&gt;然后，再创建一个 putty 的快捷方式，把“目标”设置为&lt;br /&gt;&lt;blockquote&gt;\path\to\putty.exe -load &quot;cygwin&quot;&lt;/blockquote&gt;&lt;br /&gt;顺便提一下，&lt;a href=&quot;http://www.bcheck.net/apps/hoe.htm&quot;&gt;hoekey&lt;/a&gt; 是个创建键盘快捷方式的好工具。&lt;br /&gt;&lt;br /&gt;参考链接：&lt;br /&gt;&lt;a href=&quot;http://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-startsess&quot;&gt;PuTTY - How can I create a Windows shortcut to start a particular saved session directly?&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/7974158531429601062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/7974158531429601062' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/7974158531429601062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/7974158531429601062'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/03/puttycyg.html' title='PuTTYcyg'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-3854403790206556104</id><published>2007-03-07T20:36:00.000+09:00</published><updated>2007-03-07T21:11:54.390+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>MySQL 子查询一例</title><content type='html'>到目前为止，MySQL 还不能支持这样的操作，子查询的 FROM 字句和更新/删除对象不能使用同一张表。&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;mysql&gt; DELETE FROM tab1 WHERE col1 = ( SELECT MAX( col1 ) FROM tab1 );&lt;br /&gt;ERROR 1093 (HY000): You can&#39;t specify target table &#39;tab1&#39; for update in FROM clause&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;针对“同一张表”这个限制，撇开效率不谈，多数情况下都可以通过临时表来变通解决，像这样&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;DELETE FROM tab1&lt;br /&gt;WHERE col1 = (&lt;br /&gt;  SELECT MAX( col1 )&lt;br /&gt;  FROM (&lt;br /&gt;    SELECT * FROM tab1&lt;br /&gt;  ) AS t&lt;br /&gt;);&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;参考链接：&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/subquery-errors.html&quot; target=&quot;_blank&quot;&gt;MySQL 5.0 Reference Manual - Subquery Errors&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/3854403790206556104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/3854403790206556104' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/3854403790206556104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/3854403790206556104'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/03/mysql.html' title='MySQL 子查询一例'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24134934.post-8887187978351666382</id><published>2007-03-06T18:17:00.000+09:00</published><updated>2007-03-06T18:51:59.336+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="ssh"/><title type='text'>Cygwin 环境设置</title><content type='html'>一、使用和当前 Windows 登录用户不同的用户名&lt;br /&gt;&lt;br /&gt;打开 /etc/passwd，找到标示当前 Windows 登录用户，即“自己”，的那行，修改用户名，即第一项。&lt;br /&gt;&lt;br /&gt;二、自定义 HOME 环境&lt;br /&gt;&lt;br /&gt;打开 /etc/passwd，找到标示“自己”的那行，修改 HOME 目录。&lt;br /&gt;也可以通过设置名为 HOME 的 Windows 环境变量来实现，此设定优先级更高。但主要缺点是 ssh 命令只认 /etc/passwd，经常使用 ssh 的话还是得绕回来修改 /etc/passwd。&lt;br /&gt;&lt;br /&gt;三、自定义 HOME 文件夹&lt;br /&gt;&lt;br /&gt;1. 使用 ln 命令创建软链接&lt;br /&gt;2. 使用 mount 命令或者直接修改注册表，举个例子&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]&lt;br /&gt;&quot;flags&quot;=dword:0000000a&lt;br /&gt;&quot;native&quot;=&quot;D:\\home&quot;&lt;br /&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;br /&gt;参考链接：&lt;br /&gt;&lt;a href=&quot;http://cygwin.com/faq/faq.setup.html#faq.setup.name-with-space&quot; target=&quot;_blank&quot;&gt;Cygwin FAQ No.13 My Windows logon name has a space in it, will this cause problems?&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://cygwin.com/faq/faq.setup.html#faq.setup.home&quot; target=&quot;_blank&quot;&gt;Cygwin FAQ No.14 My HOME environment variable is not what I want.&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://cygwin.com/cygwin-ug-net/using.html#mount-table&quot; target=&quot;_blank&quot;&gt;Cygwin User&#39;s Guide - The Cygwin Mount Table&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://islue.blogspot.com/feeds/8887187978351666382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/24134934/8887187978351666382' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/8887187978351666382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24134934/posts/default/8887187978351666382'/><link rel='alternate' type='text/html' href='http://islue.blogspot.com/2007/03/cygwin.html' title='Cygwin 环境设置'/><author><name>islue</name><uri>http://www.blogger.com/profile/10597921934243820884</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>