<?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: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-4189522427848712687</id><updated>2011-11-28T11:09:29.373+08:00</updated><category term='程式集訓'/><category term='閒聊'/><category term='Maildir'/><category term='wiki'/><category term='javascript'/><category term='SQL'/><category term='蒸氣鐘'/><category term='機器人歷險記'/><category term='web'/><category term='VirtualBox'/><category term='帳號管理'/><category term='tinymce'/><category term='blender'/><category term='postfix'/><category term='blog小玩意'/><category term='命令列'/><category term='中文化'/><category term='webmail'/><category term='電腦教室'/><category term='SQLBuddy'/><category term='升級'/><category term='C++'/><category term='firefox'/><category term='CCNA'/><category term='RSS'/><category term='vlan'/><category term='VM'/><category term='css'/><category term='一般'/><category term='SLAX'/><category term='lifetype'/><category term='utf8'/><category term='GIMP'/><category term='研習'/><category term='windows'/><category term='unicode'/><category term='vim'/><category term='V-webmail'/><category term='SSL'/><category term='電腦課'/><category term='syntaxhighlighter'/><category term='好玩'/><category term='PHPminiAdmin'/><category term='電影'/><category term='linux'/><category term='apache'/><category term='網路著作權'/><category term='批次檔'/><category term='MySQL'/><category term='php'/><category term='演算法'/><category term='關機'/><category term='moodle'/><category term='utf-8'/><category term='VB'/><category term='sshd'/><category term='ntp'/><category term='網路校時'/><category term='網管'/><category term='免費電子書'/><category term='網路安全'/><category term='blogger'/><category term='自由軟體'/><category term='smarty'/><category term='北海道'/><category term='遊記'/><category term='VirtualHost'/><category term='md5'/><category term='ubuntu'/><category term='procmail'/><category term='LaTeX'/><category term='迷宮'/><category term='google'/><category term='MV'/><category term='碎碎唸'/><title type='text'>lss實驗室beta</title><subtitle type='html'>我的學習心得、我的心情記事…</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default?start-index=101&amp;max-results=100'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>177</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1992644392822285414</id><published>2010-01-17T14:51:00.001+08:00</published><updated>2010-01-17T14:52:03.349+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>看來，我的身體狀況真的不太妙</title><content type='html'>去年十一月，參加學校的團體健康檢查，拿到報告後，有幾個異常的地方：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;脂肪肝：嗯~~~這是早就知道的了。&lt;/li&gt;
&lt;li&gt;左心室肥大：平常缺乏運動，好像也不算什麼，多運動就是了。&lt;/li&gt;
&lt;li&gt;血液常規檢查異常：主要是血色素數值太低，好像只有一般人的一半。&lt;/li&gt;
&lt;/ul&gt;當時我的想法：「哈！像我這樣肥胖的人也會貧血哦！ XDDDDDD 」&lt;br /&gt;
可是，前幾天例行性的痛風門診，原本只是要開個連續處方簽拿藥。那知，護士、醫生第一眼看到我，劈頭就問，「你是不是貧血很嚴重啊？！」&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;隔天趕緊又掛了直腸外科和心臟血管內科。&lt;br /&gt;
直腸外科確診痔瘡很嚴重，出血太多可能導致貧血，要處理。開刀前還要先做大腸鏡檢查看看是不是有其他毛病得一起處理。 Orz&lt;br /&gt;
心臟血管內科又做了一次心電圖檢查，確定心臟是異常的，約診下週做心臟超音波，並且建議我去看家醫科對貧血的部份做一次詳細檢查。 Orz&lt;br /&gt;
原來，以為平常缺乏運動加上肥胖，讓我會喘、會胸悶、偶爾會頭痛。只是近幾個月來確實有點不尋常，多走幾步路，爬個樓梯或緩坡就會有點喘不過氣、臉色發白。原來，我最大的問題是貧血。&lt;br /&gt;
這個寒假大概就要經常跑醫院、開刀、靜養、調理身體中度過了。&lt;br /&gt;
大家要好好保重自己身體啊，別像我這樣過勞與輕忽了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1992644392822285414?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1992644392822285414/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2010/01/blog-post.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1992644392822285414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1992644392822285414'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2010/01/blog-post.html' title='看來，我的身體狀況真的不太妙'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1589034904785159537</id><published>2009-10-22T21:03:00.000+08:00</published><updated>2009-10-22T21:03:40.754+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]我們都虧錢在做案子，在服務學校</title><content type='html'>廠商：「我們都虧錢在做案子，在服務學校。」&lt;br /&gt;
哇！好偉大，好委屈，好可憐。&lt;br /&gt;
是嗎？&lt;br /&gt;
我：「每個廠商都說在虧錢做案子，在服務學校，我們當然看那個賣的東西最實在，售後服務最好囉！」&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1589034904785159537?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1589034904785159537/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/10/blog-post.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1589034904785159537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1589034904785159537'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/10/blog-post.html' title='[閒聊]我們都虧錢在做案子，在服務學校'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1941931873912898790</id><published>2009-07-01T20:34:00.003+08:00</published><updated>2009-07-01T21:03:41.030+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[Ubuntu]Firefox flash 中文亂碼(方塊)問題</title><content type='html'>&lt;p&gt;改用 Ubuntu 一陣子了，關於 FireFox flash 中文方塊字的問題，因為影響不大，所以一直也沒有去解決。因為過幾天要去台南玩，女兒指名要去&lt;a href="http://www.chimeimuseum.com/"&gt;奇美博物館&lt;/a&gt;。預先在看網頁上的&lt;a href="http://www.chimeimuseum.com/_chinese/01_collection/collection.aspx"&gt;奇美博物館館藏&lt;/a&gt;時，終於遇到不解決不行的狀況了。&lt;/p&gt;&lt;p&gt;google 一下 「 &lt;a href="http://www.google.com.tw/search?hl=zh-TW&amp;amp;q=ubuntu+9.04+flash+%E4%B8%AD%E6%96%87&amp;amp;sourceid=navclient-ff&amp;amp;rlz=1B5_____zh-TWTW330TW330&amp;amp;ie=UTF-8"&gt;ubuntu 9.04 flash 中文&lt;/a&gt; 」，果然資料不少。&lt;/p&gt;&lt;p&gt;搜尋結果第一項就是曾董的「&lt;a href="http://plog.longwin.com.tw/my_note-unix/2009/06/05/ubuntu-firefox-flash-chinese-fix-2009"&gt;Ubuntu 9.04 的Firefox Flash 中文無法顯示修復| Tsung's Blog&lt;/a&gt;」。裡面的兩個方法，曾董推薦的是修改 &lt;span style="font-weight: bold;"&gt;/etc/fonts/conf.d/69-language-selector-zh-tw.conf&lt;/span&gt; 設定。不過，個人試過這個方法會讓整個功能表變成單線字，看得很不習慣。&lt;/p&gt;&lt;p&gt;所以，我改用第一個方法，修改 &lt;span style="font-weight: bold;"&gt;/etc/fonts/conf.d/49-sansserif.conf&lt;/span&gt; 。記一下整個改好的檔案內容如下：&lt;/p&gt;
&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#004a43; '&gt;&amp;lt;?&lt;/span&gt;&lt;span style='color:#004a43; '&gt;xml&lt;/span&gt; &lt;span style='color:#004a43; '&gt;version&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#008c00; '&gt;"1.0"&lt;/span&gt;&lt;span style='color:#004a43; '&gt;?&gt;&lt;/span&gt;
&lt;span style='color:#004a43; '&gt;&amp;lt;!&lt;/span&gt;&lt;span style='color:#004a43; '&gt;DOCTYPE&lt;/span&gt; &lt;span style='color:#004a43; '&gt;fontconfig&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;SYSTEM&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;"fonts.dtd"&lt;/span&gt;&lt;span style='color:#004a43; '&gt;&gt;&lt;/span&gt;
&lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;fontconfig&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
&lt;span style='color:#696969; '&gt;&amp;lt;!--&lt;/span&gt;&lt;span style='color:#696969; '&gt;&lt;/span&gt;
&lt;span style='color:#696969; '&gt;&amp;#xa0;&amp;#xa0;If the font still has no generic name, add sans-serif&lt;/span&gt;
&lt;span style='color:#696969; '&gt;&amp;#xa0;&lt;/span&gt;&lt;span style='color:#696969; '&gt;--&gt;&lt;/span&gt;
    &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;match&lt;/span&gt; &lt;span style='color:#274796; '&gt;target&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;pattern&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;test&lt;/span&gt; &lt;span style='color:#274796; '&gt;qual&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;all&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;name&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;family&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;compare&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;not_eq&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
            &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;sans serif&lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;test&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;test&lt;/span&gt; &lt;span style='color:#274796; '&gt;qual&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;all&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;name&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;family&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;compare&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;not_eq&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
            &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;serif&lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;test&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;test&lt;/span&gt; &lt;span style='color:#274796; '&gt;qual&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;all&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;name&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;family&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;compare&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;not_eq&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
            &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;monospace&lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;test&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;edit&lt;/span&gt; &lt;span style='color:#274796; '&gt;name&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;family&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt; &lt;span style='color:#274796; '&gt;mode&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;append_last&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
            &lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;sans serif&lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;string&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
        &lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;edit&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
    &lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;match&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
&lt;span style='color:#a65700; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;fontconfig&lt;/span&gt;&lt;span style='color:#a65700; '&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1941931873912898790?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1941931873912898790/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/07/ubuntufirefox-flash.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1941931873912898790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1941931873912898790'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/07/ubuntufirefox-flash.html' title='[Ubuntu]Firefox flash 中文亂碼(方塊)問題'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1295870800076848562</id><published>2009-07-01T20:28:00.003+08:00</published><updated>2009-07-01T21:13:51.931+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]人不要臉，天下無敵！</title><content type='html'>&lt;p&gt;今天聽到&lt;a href="http://blog.xuite.net/huihui.jan/blog/25176740"&gt;一件事&lt;/a&gt;，雖然不意外，但是還是覺得很沒力。&lt;/p&gt;&lt;p&gt;心裡浮現的就是這句話：&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;人不要臉，天下無敵！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;唉~~~
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1295870800076848562?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1295870800076848562/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/07/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1295870800076848562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1295870800076848562'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/07/blog-post.html' title='[閒聊]人不要臉，天下無敵！'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5442038545908173323</id><published>2009-06-17T12:05:00.002+08:00</published><updated>2009-06-17T13:03:28.896+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>[blogger]從Google文件發文</title><content type='html'>&lt;p&gt;&lt;a title="blogger" href="http://www.blogger.com" id="i1_d"&gt;blogger&lt;/a&gt; 的後台用起來實在不順手，除編輯區太小，最主要的是，插入圖片及影片一定會跑到文章的起始處而不是插入點，以致於每次插入圖片後，還得手動複製貼上並調整版面。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;另外， &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 對換行的處理也是怪怪的，每次得用 HTML 模式自行插入 &amp;lt;br/&amp;gt; 標籤才行，這也挺麻煩的。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;但 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 後台的好處是隨時幫你儲存草稿。只要有瀏覽器，一篇文章可以在不同電腦分次寫完，這個又挺方便的，也不怕不同電腦沒有安裝 &lt;a title="Windows Live Writer" href="http://download.live.com/writer" id="wd8v"&gt;Windows Live Writer&lt;/a&gt; 或 &lt;a title="Zoundry Raven" href="http://www.zoundryraven.com/" id="e2kl"&gt;Zoundry Raven&lt;/a&gt; 之類的離線編輯程式。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;有沒有加強版的 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 後台呢？我只要比 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 的編輯功能好一些，讓我插入圖片能更方便一些，可以線上儲存草稿就行了。今天才忽然想到， &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;本身就具備發文到部落格的功能，當然也支援自家的 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 囉！&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;如何做？&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;首先，當然是在 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;寫文章。&lt;/p&gt;&lt;p&gt;&lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;會隨時幫你儲存，只是這時是存檔在 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;，而不是 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 。&lt;/p&gt;&lt;p&gt;寫好要發文到 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 時，請從右上方按&lt;b&gt;共用&lt;/b&gt;按鈕 &amp;gt; &lt;b&gt;以網頁發佈…&lt;/b&gt; ，然後按下&lt;b&gt;張貼至網誌&lt;/b&gt;按鈕即可。&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div id="raya" style="text-align: left;"&gt;&lt;a target="_blank" href="http://docs.google.com/File?id=ddqs36f7_143dbhsmtg3_b"&gt;&lt;img style="width: 640px; height: 382.145px;" src="http://docs.google.com/File?id=ddqs36f7_143dbhsmtg3_b"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;第一次發文要如上圖步驟 3 點選變更網站設定，然後依下圖設定你的 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 設定值。 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 設定超簡單，就不多說了。&lt;br&gt;&lt;div id="o6:o" style="text-align: left;"&gt;&lt;a href="http://docs.google.com/File?id=ddqs36f7_144c7wn99cx_b" target="_blank"&gt;&lt;img style="width: 444px; height: 415px;" src="http://docs.google.com/File?id=ddqs36f7_144c7wn99cx_b"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;這篇文章就是在 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;寫好再發文的。&lt;br&gt;&lt;p&gt;&lt;b&gt;補記：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;有一好就有一壞，記一下不習慣的地方：&lt;/p&gt;&lt;p&gt;&lt;b&gt;段落樣式問題：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;在 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;裡，段落跟段落之間是擠在一起的，也就是 &amp;lt;p&amp;gt; 標籤的預設樣式很擠，所以會習慣在段落間多按一次 Enter ，發到 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 後，會多出一堆空白段落，這蠻麻煩的。目前是先忍受 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;裡的擁擠文字，畢竟發至 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 是目的。&lt;/p&gt;&lt;p&gt;&lt;b&gt;插入圖片問題：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;插入本機的圖片是上傳到 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;的主機，而不是 &lt;a title="picasaweb" href="http://picasaweb.google.com/home" id="enyq"&gt;picasaweb&lt;/a&gt; 。這倒是還好，如果未來不會再搬家的話 ( 難說啊 ) 。若可以，能集中一個圖床會比較好管理。&lt;/p&gt;&lt;p&gt;另外， &lt;a title="picasaweb" href="http://picasaweb.google.com/home" id="enyq"&gt;picasaweb&lt;/a&gt; 對上傳圖片的縮圖處理似乎比 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;理想一點。&lt;/p&gt;&lt;p&gt;還有一點，使用 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;發文，好像不能直接下分類標籤 ( tag ) ？得回 &lt;a title="blogger" href="http://www.blogger.com/" id="i1_d"&gt;blogger&lt;/a&gt; 後台處理。&lt;/p&gt;&lt;p&gt;嗯！使用 &lt;a title="google 文件" href="http://docs.google.com" id="efsc"&gt;google 文件&lt;/a&gt;發文還是得再評估一下。&lt;/p&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5442038545908173323?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5442038545908173323/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/06/bloggergoogle.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5442038545908173323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5442038545908173323'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/06/bloggergoogle.html' title='[blogger]從Google文件發文'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4312071748940068363</id><published>2009-06-16T10:27:00.019+08:00</published><updated>2009-06-16T22:35:14.198+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GIMP'/><category scheme='http://www.blogger.com/atom/ns#' term='自由軟體'/><title type='text'>[GIMP]好用的批次轉檔功能-David's Batch Processor</title><content type='html'>這學期的數位影像課程，完全改用 &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt; 做數位影像處理。除免費取得外， 15.3 MB 的小安裝檔，功能卻也不輸以前在用的 PhotoImpact 8 ( 因為學校沒有買後續的升級版本，就這樣用了好多年 ) 。就是學期末收作業時，才發現找不到一個「&lt;span style="font-weight: bold;"&gt;批次轉檔功能&lt;/span&gt;」，用來將學生的 xcf 格式的作業轉成 png 格式。&lt;p&gt;雖然家裡已經開始在熟悉 &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; 的桌面環境，但是學校的教學目前還綁在 M$ 底下，總要想辦法找到 M$ 解決方案。&lt;/p&gt; &lt;p&gt;以下是陸續找到的幾個解決方案，但都有些小問題：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.imagemagick.org/index.php"&gt;ImageMagick&lt;/a&gt; ：強大的命令列影像處理工具，是自由軟體，有 &lt;a href="http://www.imagemagick.org/script/binary-releases.php#windows"&gt;Windows 版&lt;/a&gt;。其中的 &lt;a href="http://www.imagemagick.org/script/convert.php"&gt;convert&lt;/a&gt; 支援讀取 xcf 圖檔。但是轉出的 jpg 或 png 只有兩個圖層。也許是我下錯指令吧？有空再研究。&lt;/li&gt;&lt;li&gt;GIMP plugin ： &lt;a href="http://registry.gimp.org/node/16241"&gt;auto-convert-and-resize.scm&lt;/a&gt; 。這是到 &lt;a href="http://registry.gimp.org/"&gt;GIMP Rigistry&lt;/a&gt; 去找的 Script-Fu 命令稿，所以可以跨平台。但是 xcf 轉 png / jpg 檔更慘，只剩下一個圖層。又沒有選項可以調，也看不懂 scm 命令稿，殘念。&lt;/li&gt;&lt;li&gt;&lt;a href="http://henning.makholm.net/xcftools/"&gt;xcftools&lt;/a&gt; ：這是 &lt;a href="http://henning.makholm.net/software"&gt;Henning Makholm&lt;/a&gt; 做的命令列工具，採 GPL2 授權。其中的 xcf2png 可以直接將 xcf 轉檔成 png 格式，但沒有支援 Windows 。回家後再到 &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; 裡試試。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;後來，終於讓我找到一個 GIMP plugin ： &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;DBP - David's Batch Processor&lt;/a&gt; ！功能超完備，而且有 Windows 用的版本。&lt;span style="font-weight: bold;"&gt;強烈建議一定要用看看。&lt;/span&gt;以下就介紹如何安裝及如何批次轉檔。&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;下載：&lt;/p&gt;&lt;p&gt;&lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;BDP&lt;/a&gt; 的介紹及下載網頁網址 ： &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;http://members.ozemail.com.au/~hodsond/dbp.html&lt;/a&gt; 。 據網站說明， Windows 執行檔是由網友由原始碼編譯好之後，再回饋給作者的。請到該網頁選擇適當的版本下載。&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Windows 版安裝：&lt;/p&gt;&lt;p&gt;以目前網站上的最新版為例，將下載的 &lt;a href="http://www.ozemail.com.au/%7Ehodsond/dbp-1.1.8.zip"&gt;dbp-1.1.8.zip&lt;/a&gt; 解壓縮後得 dbp.exe ，複製到 &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt; 的 plugin 資料夾。&lt;/p&gt;Plugin 資料夾所在位置可以由 &lt;span style="font-weight: bold;"&gt;功能表編輯 &gt; 偏好設定 &gt; 資料夾 &gt; 增效模組&lt;/span&gt; 看到兩個路徑：&lt;ul&gt;&lt;li&gt;C:\Documents and Settings\[你的帳號]\.gimp-2.6\plug-ins ：若複製到此，則 DBP 只有你自己的帳號可以使用。&lt;/li&gt;&lt;li&gt;C:\Program Files\GIMP-2.0\lib\gimp\2.0\plug-ins ：若複製到此，則 Windows 裡的所有帳號都可以使用。&lt;/li&gt;&lt;li&gt;下圖為 Ubntu 裡的 Plugin 資料夾位置。
&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NoueTEbEtsM/SjepsWJdNwI/AAAAAAAAAkE/Hnzhk9b586w/s1600-h/0GIMP-%E5%81%8F%E5%A5%BD%E8%A8%AD%E5%AE%9A.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 294px;" src="http://4.bp.blogspot.com/_NoueTEbEtsM/SjepsWJdNwI/AAAAAAAAAkE/Hnzhk9b586w/s320/0GIMP-%E5%81%8F%E5%A5%BD%E8%A8%AD%E5%AE%9A.png" alt="" id="BLOGGER_PHOTO_ID_5347929661850334978" border="0" /&gt;&lt;/a&gt;

&lt;p style="font-weight: bold;"&gt;Linux 版安裝：&lt;/p&gt; &lt;p&gt;網站上的 Linux 版最新版是&lt;a href="http://www.ozemail.com.au/%7Ehodsond/dbpSrc-1-1-9.tgz"&gt; dbpSrc-1-1-9.tgz&lt;/a&gt; ，要由原始檔自行編譯安裝。在 Ubuntu 中，至少要先安裝兩個套件集： &lt;span style="font-weight: bold;"&gt;build-essential &lt;/span&gt;和&lt;span style="font-weight: bold;"&gt; libgimp2.0-dev&lt;/span&gt; 。看是透過套件管理程式或 apt-get 安裝都可以：&lt;/p&gt; &lt;blockquote&gt;sudo apt-get install build-essential&lt;br/&gt;sudo apt-get install libgimp2.0-dev&lt;/blockquote&gt;接下來將下載的 &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;BDP&lt;/a&gt; 解壓縮，並在解壓縮的目錄裡執行 &lt;blockquote&gt;make install&lt;/blockquote&gt; &lt;p&gt;就會把 &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;BDP&lt;/a&gt; 安裝到 /home/[帳號]/.gimp-2.6/plug-ins 裡。
&lt;/p&gt; &lt;p style="font-weight: bold;"&gt;批次轉檔：&lt;/p&gt;&lt;p&gt;首先，由 &lt;span style="font-weight: bold;"&gt;功能表 &gt; 濾鏡 &gt; Batch Process...&lt;/span&gt; 開啟 BDP。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NoueTEbEtsM/Sjeq_1HF8kI/AAAAAAAAAkM/yZRejyUyt8k/s1600-h/1%E9%96%8B%E5%95%9FBDP.png"&gt;&lt;img style="cursor: pointer; width: 176px; height: 320px;" src="http://2.bp.blogspot.com/_NoueTEbEtsM/Sjeq_1HF8kI/AAAAAAAAAkM/yZRejyUyt8k/s320/1%E9%96%8B%E5%95%9FBDP.png" alt="" id="BLOGGER_PHOTO_ID_5347931096091062850" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;開啟 &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;BDP&lt;/a&gt; 後，於 &lt;span style="font-weight: bold;"&gt;Input&lt;/span&gt; 標籤頁，用 &lt;span style="font-weight: bold;"&gt;Add Files 按鈕&lt;/span&gt;加入要轉檔的圖檔。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NoueTEbEtsM/SjerVO3r-2I/AAAAAAAAAkU/SFLdL3UKlQs/s1600-h/2BDP%E5%8A%A0%E5%85%A5%E6%AA%94%E6%A1%88.png"&gt;&lt;img style="cursor: pointer; width: 296px; height: 320px;" src="http://1.bp.blogspot.com/_NoueTEbEtsM/SjerVO3r-2I/AAAAAAAAAkU/SFLdL3UKlQs/s320/2BDP%E5%8A%A0%E5%85%A5%E6%AA%94%E6%A1%88.png" alt="" id="BLOGGER_PHOTO_ID_5347931463783021410" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;在 &lt;span style="font-weight: bold;"&gt;Output&lt;/span&gt; 標籤頁選擇要轉檔的圖檔格式，然後按下&lt;span style="font-weight: bold;"&gt; Start 按鈕&lt;/span&gt;就開始轉檔了。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NoueTEbEtsM/Sjer58JIEnI/AAAAAAAAAkc/jDX7F3-8Mmc/s1600-h/3BDP-Output.png"&gt;&lt;img style="cursor: pointer; width: 296px; height: 320px;" src="http://1.bp.blogspot.com/_NoueTEbEtsM/Sjer58JIEnI/AAAAAAAAAkc/jDX7F3-8Mmc/s320/3BDP-Output.png" alt="" id="BLOGGER_PHOTO_ID_5347932094411051634" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;其他功能：&lt;/p&gt;&lt;p&gt;除了批次轉檔外， &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;BDP&lt;/a&gt; 還可以整批處理圖檔的 Rotate ( 旋轉 ) 、 Blur ( 模糊 ) 、 Colour ( 著色 ) 、 Resize ( 改變大小 ) 、 Crop ( 截圖 ) 、 Sharpen ( 銳利化 )  。更甚者， BDP 還支援「&lt;span style="font-weight: bold;"&gt;整批修改檔名&lt;/span&gt;」 Rename 的功能，真是一整個強大啊。&lt;/p&gt;&lt;p&gt;強烈建議 &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt; 玩家快點補上 &lt;a href="http://members.ozemail.com.au/%7Ehodsond/dbp.html"&gt;BDP&lt;/a&gt; 吧，光是批次轉檔與批次改檔名就夠值了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4312071748940068363?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4312071748940068363/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/06/gimp-davids-batch-processor.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4312071748940068363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4312071748940068363'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/06/gimp-davids-batch-processor.html' title='[GIMP]好用的批次轉檔功能-David&apos;s Batch Processor'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NoueTEbEtsM/SjepsWJdNwI/AAAAAAAAAkE/Hnzhk9b586w/s72-c/0GIMP-%E5%81%8F%E5%A5%BD%E8%A8%AD%E5%AE%9A.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5356634717726619290</id><published>2009-06-10T22:47:00.002+08:00</published><updated>2009-06-10T23:05:34.336+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]最近都沒寫文</title><content type='html'>&lt;p&gt;最近都沒寫文。為什麼呢？&lt;/p&gt;&lt;ol&gt;&lt;li&gt;很忙 ( 真的嗎？我也不記得到底忙什麼) 。&lt;/li&gt;&lt;li&gt;很懶 ( 懶病又發作了 ) 。&lt;/li&gt;&lt;li&gt;很 e04 ( 學校又一堆鳥事，想寫，又只會寫出一堆不雅又沒營養的事 orz ) 。
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;最近比較有空有心情了，所以又回頭來關心部落格了。&lt;/p&gt;&lt;p&gt;新機入手：家裡添購了一部 &lt;a href="http://www1.ap.dell.com/content/products/productdetails.aspx/desktop-optiplex-760?c=tw&amp;amp;l=zh&amp;amp;s=bsd"&gt;Dell Optiplex 760&lt;/a&gt; ，這回下定決心要脫離 &lt;a href="http://www.microsoft.com"&gt;M$&lt;/a&gt; 的魔掌，所以會有一系列的 &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; 轉台文章。&lt;/p&gt;&lt;p&gt;新機入手：自己用的 &lt;a href="http://www.nokia.com.tw/find-products/products/nokia-5200"&gt;Nokia 5200&lt;/a&gt; 轉給女兒用了，入手一支 &lt;a href="http://www.nokia.com.tw/find-products/products/nokia-5320-xpressmusic"&gt;Nokia 5320&lt;/a&gt; 。第一次用 &lt;a href="http://www.nokia.com.tw/services/s60"&gt;S60 的手機&lt;/a&gt;，也許會隨便記一些備忘的東西。&lt;/p&gt;&lt;p&gt;課程轉換：下學年開始&lt;a href="http://lsslab.blogspot.com/2009/05/blog-post.html"&gt;電腦課只剩一學分&lt;/a&gt;，教材要大變動大調整了。這應該會花不少時間。&lt;/p&gt;&lt;p&gt;以上只是筆記，不一定會兌現的。 :P
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5356634717726619290?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5356634717726619290/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/06/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5356634717726619290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5356634717726619290'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/06/blog-post.html' title='[閒聊]最近都沒寫文'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8899855202511590564</id><published>2009-05-06T21:11:00.004+08:00</published><updated>2009-05-06T23:10:37.242+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦課'/><title type='text'>[電腦課]終於變成一學分了</title><content type='html'>&lt;p&gt;昨天中午，學校開第二次課發會，終於，校長主導，家長會長鼓吹，國英數強力動員，加上不記名投票 ( 而且竟然沒沒有唱票 ) ，就在 12 比 15 外代 3 票 ( 還是 2 票？ )棄權的情形下，通過刪減高一電腦選修為一節課，改開高一選修數學。&lt;/p&gt; &lt;p&gt;校長：「…鄰近高中也都只開 1 節電腦課…」拜託，人家電腦老師最多是 1+1 ( 1 位行政、一位專任 ) ，我們有 1+2 ，師資結構不同耶。況且，不論教學成果，學生競賽成績，學生的推甄、申請入學成果，我們也都不辜負那兩學分吧。&lt;/p&gt; &lt;p&gt;會長：「…電腦可以靠自己學，數學一定要有老師帶…」早在七、八年前，我們的教材就以經走在 95 、 98 課綱的前面了。舉凡電腦概論、網路概論、資訊素養、資訊安全、程式設計、演算法，難道就不需要老師帶嗎？
&lt;/p&gt; &lt;p&gt;會長：「…我的兒子女兒數學就學得不好，需要多上點課…」不論那一科，學不好都可能有很多原因，不搞清楚緣由，只是加課，那是沒用的。&lt;/p&gt; &lt;p&gt;數學科代表：「…數學通常在考前兩到三週才教完，學生需要多一點時間消化…」同樣是老師，這句話有沒有道理，我就不予置評了… Orz&lt;/p&gt; &lt;p&gt;校長祭出「不記名投票」，我當場有點錯愕 O_O 。不過，隨後想想，既然搞到這樣，那麼大勢已去，也不必多做抗議了，徒留自己難看。&lt;/p&gt; &lt;p&gt;最後，說一個集訓學生的故事。他參加程式集訓，參加第四區資訊科學能力競賽得到佳作。但是學科 ( 就是升學考試科目 ) 成績不好，學測成績偏低。就我們瞭解，並非投入程式集訓影響他的課業，這反而是學科成績不理想時，支持他信心的一大助力。但是班導師、任課老師酸他諷他， 說他憑學程式參加比賽就想上大學…。&lt;/p&gt; &lt;p&gt;沒錯，他後來念的不是大家眼中理想的大學。但是在系裡，就高中打下的基礎，在大一就被同學們稱為「神人」級，前一陣子又得知，現在有兩個老師視他為可造之材，有點搶人的味道。&lt;/p&gt; &lt;p&gt;一學分就一學分吧。在升學考科永遠是最重要的學校裡，即使只有一學分的電腦課，難道我們就沒法子給他上的精彩萬分嗎？只是希望「學生的數學成績」能好看一點啦。學生升學考科再變得不好，總跟我們沒關係了吧。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8899855202511590564?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8899855202511590564/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/05/blog-post.html#comment-form' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8899855202511590564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8899855202511590564'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/05/blog-post.html' title='[電腦課]終於變成一學分了'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5628197570834633644</id><published>2009-04-12T00:23:00.001+08:00</published><updated>2009-12-11T08:18:32.838+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦課'/><title type='text'>[電腦課]什麼是程式語言？</title><content type='html'>hacker ， huihui 電腦課的一個學生，在本校 BBS 程式集訓板發表學習 C++ 的心得。以下是其中的一小段文字：&lt;br /&gt;
&lt;blockquote&gt;老實說吧，電腦程式，簡直就是，另一種"英文語言"和"數學語言"。  就是英文與數學的融合罷了...&lt;br /&gt;
&lt;/blockquote&gt;hacker ，我要謝謝你，這個解釋太精闢了，簡單又易懂。&lt;br /&gt;
下面是 hacker 對於學好程式語言的心得，一語中的：&lt;br /&gt;
&lt;blockquote&gt;我說過了，它就像數學一樣。  你只要背好公式 弄懂公式，再來就是最重要的....   "邏輯推理及運用"&lt;br /&gt;
&lt;/blockquote&gt;教電腦這麼多年，這兩段話我當然懂，卻沒想過可以這麼清楚適切的表達，真是教學相長，受教了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5628197570834633644?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5628197570834633644/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/04/blog-post.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5628197570834633644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5628197570834633644'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/04/blog-post.html' title='[電腦課]什麼是程式語言？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5452998507400097119</id><published>2009-04-10T21:20:00.007+08:00</published><updated>2009-04-10T21:57:07.480+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦教室'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>[Windows]使用 wmic.exe 修改 Windows XP 的電腦名稱</title><content type='html'>&lt;p&gt;電腦教室終於換新電腦， 50 部 Ghost 出來的電腦長得一模一樣，連上網路馬上跑出 49 個訊息，說網路上有同名的電腦。&lt;/p&gt;&lt;p&gt;透過 GUI 替 49 部電腦修改電腦名稱？饒了我吧！即使 huihui 一起幫忙，我還是嫌麻煩。&lt;/p&gt;&lt;p&gt;在網路上尋尋覓覓了半天，首先找到了 hostname 命令，執行後：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;C:\&gt;hostname -s pc403-01&lt;br /&gt;
sethostname: Use the Network Control Panel Applet to set hostname.&lt;br /&gt;
hostname -s is not supported.&lt;/blockquote&gt;&lt;p&gt;好！ Windows XP 不支援用 hostname 命令修改電腦名稱了。改用控制台？我就是不要用 GUI 點半天啊！&lt;/p&gt;&lt;p&gt;後來找到這篇：「&lt;a href="http://support.microsoft.com/kb/298593"&gt;如何使用 netdom.exe 公用程式來重新命名電腦&lt;/a&gt;」，可以利用 netdom renamecomputer 替網域裡的電腦重新命名。問題是，我得先讓電腦有不重複的名稱才能加入網域啊！不過，用 netdom.exe join 替電腦加入網域是蠻好用的啦。&lt;/p&gt;&lt;p&gt;另外還有找到用 WSH script 來改電腦名稱的方法。基於對 WSH script 的不瞭解，不敢貿然使用。&lt;/p&gt;&lt;p&gt;皇天不負苦心人，讓我找到 wmic 命令可以直接搞定： ( &lt;a href="http://www.techtalkz.com/windows-xp/363493-how-force-computer-restart-requirement-via-script.html"&gt;這一篇的三樓 &lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;wmic.exe ComputerSystem Where Name="%ComputerName%" Rename
Name="NewComputerName"&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;wmic.exe 是 wmi 的命令列版本，用起來應該是沒有後遺症的。為了節省打字的時間，我把他改寫成批次檔 s.bat 放在 c:\：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;wmic.exe ComputerSystem Where Name="%ComputerName%" Rename
Name="PC403-%1"&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;於是，整個步驟化簡成：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;Win+R &gt; \s 01&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;01 是電腦編號， s 01 就把電腦重新命名為 PC403-01 了。&lt;/p&gt;&lt;p&gt;筆記！
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5452998507400097119?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5452998507400097119/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/04/windows-windows-xp.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5452998507400097119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5452998507400097119'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/04/windows-windows-xp.html' title='[Windows]使用 wmic.exe 修改 Windows XP 的電腦名稱'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3962140624619781730</id><published>2009-03-18T22:42:00.004+08:00</published><updated>2009-03-18T23:06:53.301+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]IBM 要買 Sun ？</title><content type='html'>&lt;p&gt;在&lt;a href="http://java.dzone.com/news/ibm-buy-sun"&gt;這裡&lt;/a&gt;看到的消息！&lt;/p&gt;&lt;p&gt;大意是說，引述&lt;a href="http://online.wsj.com/article/SB123735124997967063.html?mod="&gt;華爾街日報報導&lt;/a&gt;， &lt;a href="http://www.ibm.com/"&gt;IBM&lt;/a&gt; 想要用 65 億美元的現金買下 &lt;a href="http://www.sun.com/"&gt;Sun&lt;/a&gt; 。該文作者認為這對 &lt;a href="http://www.java.com/zh_TW/"&gt;Java&lt;/a&gt; 的發展有很大的好處，因為 &lt;a href="http://www.ibm.com/"&gt;IBM&lt;/a&gt; 的銀彈夠多，可以注資益於 &lt;a href="http://www.java.com/zh_TW/"&gt;Java&lt;/a&gt; 的發展。&lt;/p&gt;&lt;p&gt;可是底下的一大串迴響都在談論一件事情： &lt;a href="http://www.netbeans.org/"&gt;Netbeans&lt;/a&gt; 完蛋了，因為 &lt;a href="http://www.ibm.com/"&gt;IBM&lt;/a&gt; 應該會為了 &lt;a href="http://www.eclipes.org/"&gt;Eclipes&lt;/a&gt; 而放棄 &lt;a href="http://www.netbeans.org/"&gt;Netbeans&lt;/a&gt; 。甚至，有鑑於 &lt;a href="http://www.ibm.com/"&gt;IBM&lt;/a&gt; 之前併購的公司來看， &lt;a href="http://www.sun.com/"&gt;Sun&lt;/a&gt; 的一些產品大概也要完蛋了。甚至還有人提到，目前屬於 &lt;a href="http://www.sun.com/"&gt;Sun&lt;/a&gt; 旗下的 &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; 商業版也許會被 &lt;a href="http://www.ibm.com/"&gt;IBM&lt;/a&gt; 的 &lt;a href="http://www.ibm.com/db2"&gt;DB2&lt;/a&gt; 取代。&lt;/p&gt;&lt;p&gt;免費版的 &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; 應該不會受影響吧？？？
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3962140624619781730?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3962140624619781730/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/ibm-sun.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3962140624619781730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3962140624619781730'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/ibm-sun.html' title='[閒聊]IBM 要買 Sun ？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-7011207989073690649</id><published>2009-03-17T21:34:00.004+08:00</published><updated>2009-03-18T09:14:04.145+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='免費電子書'/><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><title type='text'>[集訓]免費電子書：Data Structures and Algorithms</title><content type='html'>&lt;p&gt;忘記在那裡看到的，一本免費的資料結構與演算法的原文電子書。&lt;/p&gt;&lt;p&gt;書的全名： &lt;a href="http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx"&gt;Data Structures and Algorithms: Annotated Reference with Example CHRISTMAS&lt;/a&gt; 。
&lt;/p&gt;&lt;p&gt;進入&lt;a href="http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx"&gt;下載網頁&lt;/a&gt;，擊點 &lt;a href="http://dotnetslackers.com/Community/files/folders/30283/download.aspx"&gt;download 連結按鈕&lt;/a&gt;，便可將這本電子書下載回家了。&lt;/p&gt;&lt;p&gt;這篇其實 lag 很久了，應該是去年 12 月的消息，貼在學校的 BBS 而已。怕忘了找不到，所以補記在此。&lt;/p&gt;&lt;p&gt;書裡面有常見的資料結構與演算法的介紹，但是沒有範例程式，而是使用虛擬碼。再加上是英文，介紹給學生後，有興趣的人幾乎為零。 orz 其實，這本書的內容真的蠻不錯的，想學資料結構與演算法的人強烈建議好好讀，然後自己用 C++ 或熟悉的程式語言實作裡面的虛擬碼，對功力的提昇是大有幫助的。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-7011207989073690649?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/7011207989073690649/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/data-structures-and-algorithoms.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7011207989073690649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7011207989073690649'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/data-structures-and-algorithoms.html' title='[集訓]免費電子書：Data Structures and Algorithms'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6065091184801386683</id><published>2009-03-16T21:30:00.002+08:00</published><updated>2009-03-16T22:02:21.773+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦課'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[C++]攝氏溫度轉華氏溫度</title><content type='html'>&lt;p&gt;這是給學生的一個簡單的作業題目，但很多學生卡在公式的寫法，會產生誤差。&lt;/p&gt;
&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;double&lt;/span&gt; c&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;  &lt;span style="color: rgb(105, 105, 105);"&gt;// 攝氏溫度&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;double&lt;/span&gt; f&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;  &lt;span style="color: rgb(105, 105, 105);"&gt;// 華氏溫度&lt;/span&gt;

&lt;span style="color: rgb(96, 48, 0);"&gt;cin&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&gt;&lt;/span&gt; c&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
f&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;9&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;c&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;32&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;

&lt;span style="color: rgb(96, 48, 0);"&gt;cout&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;攝氏 &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt; c &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt; 度 = 華氏 &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt; f &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt; 度&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;上面的程式，若由鍵盤輸入 37 指派給變數 c ，則運算後，變數 f 的值為 69 ，而不是正確答案 98.6 。可是，若把計算 f 的計算式寫成如下：&lt;/p&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;f&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;c*9/5&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;32&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;則可以得到正確的計算結果。為什麼呢？&lt;/p&gt;&lt;p&gt;上課時有教，若&lt;span style="font-weight: bold;"&gt;算術運算子的優先順序相同，則一律要由左而右運算。&lt;/span&gt;還有一個重點，&lt;span style="font-weight: bold;"&gt;兩個整數相除，求的是整數除法的商&lt;/span&gt;，不會有小數以下的部份。&lt;/p&gt;&lt;p&gt;所以，第一個算式 f=9/5*c+32=1*c+32=c+32 ；第二個算式 f=c*9/5+32 ，因為變數 c 為 double 型別，所以先做 c*9 時，就已經是 double 型別的運算結果了，再來 double 與整數 5 相除則會得到 double 的運算結果，所以答案是正確的。&lt;/p&gt;&lt;p&gt;其實第一種寫法有個變通的地方，將運算式改寫如下：&lt;/p&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;f&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;9.0&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;c&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;32&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;強迫數值常數使用浮點數，計算結果自然就正確了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6065091184801386683?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6065091184801386683/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/c.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6065091184801386683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6065091184801386683'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/c.html' title='[C++]攝氏溫度轉華氏溫度'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8401773002246292392</id><published>2009-03-13T13:41:00.000+08:00</published><updated>2009-03-13T13:43:44.037+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]舊站關掉了</title><content type='html'>&lt;p&gt;因為一些問題出現了，為了避免麻煩，在學校的舊站「 lss 實驗室」正式關閉了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8401773002246292392?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8401773002246292392/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8401773002246292392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8401773002246292392'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/blog-post.html' title='[閒聊]舊站關掉了'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-9144726340391714856</id><published>2009-03-09T20:30:00.002+08:00</published><updated>2009-03-09T21:01:14.580+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CCNA'/><title type='text'>[研習]CCNA Discovery 2 - Day9 and Day10</title><content type='html'>&lt;p&gt;終於……為期五週，五個週休沒有的研習課程結束了。&lt;/p&gt;&lt;p&gt;D2 的 final test 跟 D1 的 final test 一樣，粗心錯了一個選項，沒有滿分，殘念 。 T_T&lt;/p&gt;&lt;p&gt;銘傳的樓梯從中山北路上到風管大樓電腦教室，總共是…… 266 階， huihui 算的 XD 。其實我算的是 268 階，不過，既然說過要相信他，就當做是 266 階吧。&lt;/p&gt;&lt;p&gt;最後一天還是走的蠻早的，驚動講師 (?) 來門口堵人 XD ，問有沒有問題，不好意思 XD&lt;/p&gt;&lt;p&gt;關於加入思科網路學院，我是有一個想法。像我們學校是升大學導向的高中，有大頭症的人我也不太想去溝通。我是建議，不如思科搞一個高中職綜合網路學院，讓我們這些結訓的老師可以用個人名義加入，這樣阻力可是小很多啊。而且，若是有人調校到沒有加入思科網路學院的學校也還是可以繼續開課。至於入會費，只要個人可以負擔的話，我是會想加入的。只是要學校蓋章，怕是難哦。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-9144726340391714856?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/9144726340391714856/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/ccna-discovery-2-day9-and-day10.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/9144726340391714856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/9144726340391714856'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/ccna-discovery-2-day9-and-day10.html' title='[研習]CCNA Discovery 2 - Day9 and Day10'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-9065633679786331332</id><published>2009-03-09T11:20:00.003+08:00</published><updated>2009-03-10T08:00:39.153+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦教室'/><title type='text'>[電腦教室]hub 掛掉了</title><content type='html'>&lt;p&gt;電腦教室裡使用 2 台 24 ports 加 1 台 16 ports switch hub 構成區域網路。這是 88 年時購入的設備，已經使用快九年了！今天竟然在臨上課之時掛了一台 O_O 。之前有兩節空堂你正常工作，上課鐘響才掛掉是怎樣啊？？？&lt;/p&gt;&lt;p&gt;還好 huihui 緊急支援自機房拿出備品更換，不致影響上課太多。老舊設備該好好檢查一下了，該換的看能不能直接換掉。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-9065633679786331332?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/9065633679786331332/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/hub.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/9065633679786331332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/9065633679786331332'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/hub.html' title='[電腦教室]hub 掛掉了'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1479687832535937441</id><published>2009-03-07T22:04:00.003+08:00</published><updated>2009-03-07T22:32:40.437+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[聊閒]好慢啊！ Lenovo System Update</title><content type='html'>&lt;p&gt;電腦教室的新電腦候選機種之一是 &lt;a href="http://www.lenovo.com/tw/zh/"&gt;Lenovo&lt;/a&gt; M57e 9439 。最近在進行測試。&lt;/p&gt;&lt;p&gt;新機器的作業系統，考量 Vista 網路上的風評不是很好 ( 我是還沒用過啦 ) ， Vista 的 KMS 認證好像也不太好搞，加上是因為學期中更換系統，決定還是安裝 Windows XP 。結果，儘管硬體架構晶片不盡相同，每家機器都非常有默契的音效、顯卡、主機板晶片、網卡抓不到。&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.lenovo.com/tw/zh/"&gt;Lenovo&lt;/a&gt; 網站原本連 M57e 的驅動程式下載頁都找不到，後來是用 google 搜尋才在&lt;a href="http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-69414"&gt;這裡&lt;/a&gt;找到了。看到裡面有個 &lt;a href="http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TVSU-UPDATE"&gt;Update your drivers and software automatically&lt;/a&gt; ，於是就試試能否自動地搞定所有驅動程式的安裝。&lt;/p&gt;&lt;p&gt;搞定網卡、 Lenovo System Update 後，開始讓他執行，結果呢？從上午十一點多安裝完畢，到下午四點半我要離開學校，剩下三個硬體的驅動程式還沒下載完畢？！ 囧rz &lt;/p&gt;&lt;p&gt;聽說以前 &lt;a href="http://www.ibm.com/tw/"&gt;IBM&lt;/a&gt; 的服務是很好的 ( 來不及用 )，換成 &lt;a href="http://www.lenovo.com/tw/zh/"&gt;Lenovo&lt;/a&gt; 後是差很多嗎？有經驗的人來聊一下？
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1479687832535937441?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1479687832535937441/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/lenovo-system-update.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1479687832535937441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1479687832535937441'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/lenovo-system-update.html' title='[聊閒]好慢啊！ Lenovo System Update'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4563851826859357821</id><published>2009-03-07T21:07:00.004+08:00</published><updated>2009-03-07T21:54:04.717+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦教室'/><title type='text'>[PDF]解決 PDFCreator 安裝失敗的問題</title><content type='html'>&lt;p&gt;前天在測試機器時，遇到 &lt;a href="http://www.pdfforge.org/products/pdfcreator"&gt;PDFCreator&lt;/a&gt; 無法安裝的問題，症狀是安裝到最後一個步驟時，無法生出 PDF 印表機。原以為是最新版本的 bug ，但是回溯到前一版時還是一樣。
&lt;/p&gt;&lt;p&gt; &lt;a href="http://www.pdfforge.org/products/pdfcreator"&gt;PDFCreator&lt;/a&gt; 是一個好東西，三不五時要生個 PDF 時，真是太實用了，實在捨不得放棄，幾經嚐試，終於找到問題。&lt;/p&gt;&lt;p&gt;因為安裝最後是卡在 PDF 印表機無法生成，又用的是 administrator 帳號安裝，不可能是權限不足，猜測是被什麼程序鎖住了。在已安裝軟體的清單中，跟 PDF 有關的只有 &lt;a href="http://get.adobe.com/tw/reader/"&gt;Adobe Reader&lt;/a&gt; 和 &lt;a href="http://go-oo.org/"&gt;OpenOffice.org(Go OO)&lt;/a&gt; 。當然先懷疑 &lt;a href="http://get.adobe.com/tw/reader/"&gt;Adobe Reader&lt;/a&gt; 。果然，移除後再安裝 &lt;a href="http://www.pdfforge.org/products/pdfcreator"&gt;PDFCreator&lt;/a&gt; 後就正常了，而且，再次安裝 &lt;a href="http://get.adobe.com/tw/reader/"&gt;Adobe Reader&lt;/a&gt; 後一切正常。所以，結論是：&lt;/p&gt;&lt;p&gt;先安裝 &lt;a href="http://www.pdfforge.org/products/pdfcreator"&gt;PDFCreator&lt;/a&gt; 再安裝 &lt;a href="http://get.adobe.com/tw/reader/"&gt;Adobe Reader&lt;/a&gt; 就行了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4563851826859357821?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4563851826859357821/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/pdf-creator.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4563851826859357821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4563851826859357821'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/pdf-creator.html' title='[PDF]解決 PDFCreator 安裝失敗的問題'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1903660561037125060</id><published>2009-03-03T22:04:00.003+08:00</published><updated>2009-03-03T22:37:07.293+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><category scheme='http://www.blogger.com/atom/ns#' term='研習'/><title type='text'>[研習]CCNA Discovery 2 - Day7 and Day8</title><content type='html'>&lt;p&gt;最近幾週都是這樣，星期六、星期天回家後都一陣昏沈，連星期一也是。好想念睡覺睡到自然醒的星期天啊。&lt;/p&gt;&lt;p&gt;Day 7 &amp;amp; Day 8 綜合雜記一下：&lt;/p&gt;&lt;p&gt;兩天花在 ciso router 的設定、路由的觀念不少時間，以及如何在 ciso router 上實作 DHCP 、 NAT 的方法。講師比較耐人尋味的一句話是：「雖然 ciso router 可以做到 dhcp 、 nat 等功能，但還是&lt;span style="font-weight: bold;"&gt;建議讓 router 只做 router 該做的事&lt;/span&gt;， dhcp 或 nat ，拿個好一點的 Linux 主機應該比較耐操啦。」&lt;/p&gt;&lt;p&gt;switch 部份只有教基本設定而已。想學的 cisco multi layer switch 的進階使用，像 vlan 、 trunk …都沒提到。據說，那是 D3 和 D4 的內容了。&lt;/p&gt;&lt;p&gt;上課的學員比起 Day 1 &amp;amp; 2 時，好像少了一些？有四分之一到三分之一吧？&lt;/p&gt;&lt;p&gt;有廠商來介紹學校簽約加入思科網路學院的事。基本上，學校要付一次的所謂諮詢費？給 RA ( 地區網路學院，設在一些國立大學。如本次上課的銘傳便是其中之一 ) 。我們學校有可能加入嗎？我想都不敢想。普通高中耶，上頭都是升學第一的思維 ( 其實現在我蠻懷疑這一點的 ) ，如果是免費可以加入，寫個報告請學校用印也許還有可能吧。&lt;/p&gt;&lt;p&gt;下課時，發現我跟 huihui 都走的蠻早的，每次看到大部份的人還在裡面奮鬥，不禁想說，&lt;span style="font-weight: bold;"&gt;我會不會太混了？&lt;/span&gt; huihui 不算啦！因為，據說敝校目前除了大型超貴的 6 系列 multi layer switch ，我們的 cisco 設備算蠻齊的了， huihui 已經玩到廠商的業務要請教他的程度了。&lt;/p&gt;&lt;p&gt;這週是最後兩天的課程，而且要做 D2 的 final test 。 huihui 一直交代 ISP 的部份要好好唸。嗯！加油！&lt;/p&gt;&lt;p&gt;PS. 為了慶祝即將不用爬銘傳傳的階梯，本週我們會認真的算一遍，到底從中山北路爬上去到電腦教室到底要爬多少階。上次的 273 階似乎不太準確的樣子。 XD
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1903660561037125060?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1903660561037125060/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/03/ccna-discovery-2-day7-and-day8.html#comment-form' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1903660561037125060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1903660561037125060'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/03/ccna-discovery-2-day7-and-day8.html' title='[研習]CCNA Discovery 2 - Day7 and Day8'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6931928147264610937</id><published>2009-02-28T21:39:00.002+08:00</published><updated>2009-02-28T21:53:56.145+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[linux]免費的口袋電子書 Ubuntu Pocket Guide and Reference</title><content type='html'>&lt;p&gt;在 &lt;a href="http://www.thegeekstuff.com/2009/02/around-the-geek-world-feb-2009/"&gt;Around The Geek World - Feb 2009&lt;/a&gt; 看到的：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;If you are one of the very few who did not download the &lt;strong&gt;free&lt;/strong&gt; &lt;a href="http://www.ubuntupocketguide.com/index2.html"&gt;Ubuntu Pocket Guide eBook&lt;/a&gt;, it is time to do it now.&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;這本書有電子版和印刷版，其中電子版是免費的，而且沒修改過電子版是可以散佈的。有需要的快動手囉！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6931928147264610937?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6931928147264610937/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/linux-ubuntu-pocket-guide-and-reference.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6931928147264610937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6931928147264610937'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/linux-ubuntu-pocket-guide-and-reference.html' title='[linux]免費的口袋電子書 Ubuntu Pocket Guide and Reference'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5904984070462073433</id><published>2009-02-26T09:40:00.002+08:00</published><updated>2009-02-26T10:14:01.926+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]對不起！詐騙集團實在太多了。</title><content type='html'>&lt;p&gt;這是昨天晚上發生的事，記錄一下：&lt;/p&gt;&lt;p&gt;(電鈴響~~~~~)&lt;/p&gt;&lt;p&gt;有線電視稽查員：您好，我是北XX的稽查員(提示掛在胸口的證件)，請問你們有線電視登記在誰的名下？&lt;/p&gt;&lt;p&gt;(怪了，用了有線電視這麼多年，從來沒遇過什麼稽查員調查資料的。)&lt;/p&gt;&lt;p&gt;我：對不起，我們用的不是北XX的。(關門)&lt;/p&gt;&lt;p&gt;(電鈴再響~~~~~)&lt;/p&gt;&lt;p&gt;稽查員：(提示掛在胸口的另一面的證件)我也是北X的稽查員，請問你們有線電視登記在誰的名下？&lt;/p&gt;&lt;p&gt;我：你手上應該有資料吧？你告訴我，我再回答你對不對好了。&lt;/p&gt;&lt;p&gt;稽查員：我就是手上沒有你的資料，才要查看看你有沒有私接有線電視。&lt;/p&gt;&lt;p&gt;(我火大了。我按時繳費，還半年繳的，都過還不到一半，怎麼會派人到我家來問我是不是私接？甚至我還不知道你是不是詐騙集團的咧？)&lt;/p&gt;&lt;p&gt;我：我都有按時繳費，你們公司應該都有資料，怎麼還來問我？我怎麼知道你是不是詐騙集團？&lt;/p&gt;&lt;p&gt;稽查員：我們的工作就是不定時稽查，公司給的資料沒有你家的紀錄，我當然要查。(理所當然生氣狀)。&lt;/p&gt;&lt;p&gt;我：這樣好了，我打電話到你們公司確認一下再說。(若你是詐騙集團，應該知難而退了吧？！)&lt;/p&gt;&lt;p&gt;稽查員：好，我給你電話。(我怎麼知道你給的電話是不是真的？)&lt;/p&gt;&lt;p&gt;我：不用，我自己打。&lt;/p&gt;&lt;p&gt;稽查員：那我先去查別戶，待會再過來。
&lt;/p&gt;&lt;p&gt;(打電話給北X的客服)&lt;/p&gt;&lt;p&gt;客服：喂！您好…(細節我記不清了，還蠻有禮貌的啦)。&lt;/p&gt;&lt;p&gt;我：請問一下，剛剛有一個自稱是你們公司稽查員的人，要問我家的資料。我都有按時繳費，你們不是應該有資料嗎？怎麼還派人來問我？&lt;/p&gt;&lt;p&gt;客服：這樣？！請問你們的地址是？我幫您查一下。&lt;/p&gt;&lt;p&gt;(給了地址後…)&lt;/p&gt;&lt;p&gt;客服：確認您有繳費了。請問那位稽查員的名字是？&lt;/p&gt;&lt;p&gt;(給了名字)&lt;/p&gt;&lt;p&gt;客服：沒錯，他是我們的人。&lt;/p&gt;&lt;p&gt;我：既然我有繳費，為什麼還派他來查我？還一直問我的資料？一副詐騙集團模樣？&lt;/p&gt;&lt;p&gt;客服：對不起，應該是我們的作業疏失。&lt;/p&gt;&lt;p&gt;我：那麻煩你直接打電話給他，讓他等一下不要再來按我家的電鈴了。&lt;/p&gt;&lt;p&gt;客服：是的，沒問題。&lt;/p&gt;&lt;p&gt;(事件結束)&lt;/p&gt;&lt;p&gt;這裡，我要向那位稽查員先生說聲對不起。因為你的行為實在太像詐騙集團了，所以我言語上也不甚客氣。我想，你應該覺得受氣了。不過，你的服務態度應該可以再改進一點，至少你可以在我表示我們有繳費非私接戶時，主動打電話向公司確認。說實在的，&lt;a href="http://b-oo-k.net/blog/blog.php/2009/448"&gt;詐騙集團的服務態度可能比你好太多了&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;雖然這次遇到的是真的有線電視稽查員，但是遇到詐騙集團的可能性更高。最好的方法，還是打電話向原公司詢問確認。不應該告訴他人的資料，可千萬別說啊！
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5904984070462073433?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5904984070462073433/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/blog-post_26.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5904984070462073433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5904984070462073433'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/blog-post_26.html' title='[閒聊]對不起！詐騙集團實在太多了。'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6485385875625954698</id><published>2009-02-25T21:46:00.002+08:00</published><updated>2009-02-25T21:51:26.469+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><title type='text'>[集訓]大師兄爭奪戰 Part2</title><content type='html'>&lt;p&gt;這個已經 lag 三天了， Part 2 的成績， &lt;a href="http://blog.xuite.net/huihui.jan/blog/22419935"&gt;huihui 已經有報導&lt;/a&gt;，就不多說了。&lt;/p&gt;&lt;p&gt;想說的是，二年級的小朋友們，這三題程式你們都寫過了耶，怎麼還輸給一年級的小朋友啊！太久沒寫程式，手感差很多哦！如果是現在的你們去參賽，還拿得到佳作嗎？&lt;/p&gt;&lt;p&gt;這對你們也算是震撼教育吧。有心的話，要再加油啊！
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6485385875625954698?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6485385875625954698/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/part2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6485385875625954698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6485385875625954698'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/part2.html' title='[集訓]大師兄爭奪戰 Part2'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6484263267230807527</id><published>2009-02-25T21:18:00.002+08:00</published><updated>2009-02-25T21:42:25.478+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CCNA'/><title type='text'>[研習]CCNA Discovery 1 &amp; 2 - Day5 and Day6</title><content type='html'>&lt;p&gt;累了幾天，有空趕緊記一下。&lt;/p&gt;&lt;p&gt;Day 5&lt;/p&gt;&lt;ul&gt;&lt;li&gt;今天改到銘傳大學基河校區上課。 Bravo ！不用爬 273 階，椅子有靠背，不會上課上到腰酸背痛了。&lt;/li&gt;&lt;li&gt;講師說這邊研究所加進修部，電腦教室不歸他們管，只借用一天。 orz&lt;/li&gt;&lt;li&gt;Discovery 2 chapter 1~3 跟 Discovery 1 重複的部份不少。&lt;/li&gt;&lt;li&gt;下午是 Discovery 1 final test 。&lt;span style="font-weight: bold;"&gt;中文果然是博大精深啊&lt;/span&gt;，檢查又檢查，果然找到幾個語意精深的題目。再次檢查後，還是錯了一題。不過，也算是高分通過了。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Day 6&lt;/p&gt;&lt;ul&gt;&lt;li&gt;早上算 subnet 算到頭昏腦脹，用 class C 習慣了，用 NAT 習慣了，雖然會切 subnet ，還真是不習慣啊。尤其是把 class B 再拿來切，陷阱尤多。&lt;/li&gt;&lt;li&gt;chapter 4 開始接觸 cisco router 。講師不斷強調，「你們都是高手，大家都用 CLI 設定 router 吧」。 XD&lt;/li&gt;&lt;li&gt;下週開始，正式進入 router / switch 的設定，開始比較刺激了。
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6484263267230807527?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6484263267230807527/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-2-day5-and-day6.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6484263267230807527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6484263267230807527'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-2-day5-and-day6.html' title='[研習]CCNA Discovery 1 &amp; 2 - Day5 and Day6'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-916609117946143224</id><published>2009-02-18T20:40:00.006+08:00</published><updated>2009-02-18T21:40:02.620+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]長官應不應該有預設立場？</title><content type='html'>&lt;p&gt;以下寫的，是一個見聞，以及我個人對這個見聞的看法，請勿自行對號入座。 XD
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;某主任：「我們&lt;span style="font-weight: bold;"&gt;沒有預設立場&lt;/span&gt;，你們有什麼意見，做成提案，我們提到校務會議，跟其他議案並列，大家一起研究&lt;span style="font-weight: bold;"&gt;表決&lt;/span&gt;。」&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;這樣很民主，對不對？這樣很開明，對不對？對不對？對不對？&lt;span style="font-weight: bold;font-size:180%;" &gt;錯&lt;/span&gt;！&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;會議中，某 L 當場回嗆：「學校應該要預設立場才對！」&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;現在，在開會時，很多時候，一大部份的人，懂得掌握會議節奏、議事規則的人，會說著冠冕堂皇的理由，為學校發展，為學生升學，該當如何如何……用來包裝他們背後的目的。長官也是，同仁們也是。校方以為「沒有預設立場」，讓大伙一陣廝殺後，不，是一陣又一陣的廝殺後，就可以得到一個大家都能接受的結果。唉~~~即便最後得到一個大家都能接受的結果，同仁的情誼，對學校的向心力，就這樣在一次又一次的廝殺中不斷的消耗掉了。&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;學校本來就應該預設立場！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;學校本來就應該要預設立場，要為學生好，讓學生有學習，有成長。不只是考上理想的學校，還要有自主的學習能力，成長的能力，做正確選擇的能力。&lt;/p&gt;&lt;p&gt;學校本來就應該要預設立場，要為老師好，讓老師能發揮專長，不只是教學生知識，考上理想學校，還要能發掘學生興趣、專長，適當指引。不要讓老師還要分心去勾心鬥角，可以專心教學。&lt;/p&gt;&lt;p&gt;要預設這個立場，長官們應該要去發想、動念，進一步去規劃、評估，主動去溝通、協調。這才是學校應該預設的立場。
&lt;/p&gt;&lt;p&gt;只是，這個預設立場，在沒有擔當的長官帶領下，變成民主開明的「沒有預設立場」。再加上一點點的私心、一點點的怠惰、一點點鴕鳥心態，形成的決議、產生的結果，卻是足以影響學校未來多年的發展，足以影響學生未來多年的成長啊！
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-916609117946143224?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/916609117946143224/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/blog-post_18.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/916609117946143224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/916609117946143224'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/blog-post_18.html' title='[閒聊]長官應不應該有預設立場？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4076186441842364781</id><published>2009-02-16T23:01:00.005+08:00</published><updated>2009-02-20T21:49:11.613+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><title type='text'>[集訓]大師兄爭奪戰 Part1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NoueTEbEtsM/SZmEr9ObBGI/AAAAAAAAAis/u1WtyK4sDuM/s1600-h/%E5%A4%A7%E5%B8%AB%E5%85%84%E7%88%AD%E5%A5%AA%E6%88%B0part1.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_NoueTEbEtsM/SZmEr9ObBGI/AAAAAAAAAis/u1WtyK4sDuM/s320/%E5%A4%A7%E5%B8%AB%E5%85%84%E7%88%AD%E5%A5%AA%E6%88%B0part1.jpg" alt="" id="BLOGGER_PHOTO_ID_5303415926909764706" border="0" /&gt;&lt;/a&gt;
&lt;p&gt;跟 huihui 決定要給程式集訓的小朋友一些刺激，於是準備利用三次午休時間讓一、二年級的集訓小朋友一起來一個「第一屆跨年級程式設計對抗賽」。為了加強刺激性，第一名的獎品，是&lt;span style="font-weight: bold;font-size:130%;" &gt;大師兄的稱號&lt;/span&gt;，所以這次比賽，又稱為「大師兄名號爭奪戰」。 XD&lt;/p&gt;&lt;p&gt;今天是第一次，利用學校的 moodle 做線上測驗。&lt;/p&gt;&lt;p&gt;目前保有大師兄稱號的是二年級的 j007sgps 。你應該是倍感壓力吧，閒散了一整個寒假，又有三個學弟虎視眈眈要趕過你。話說題目是我出的，二年級的你們不能不爭氣啊！&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.xuite.net/huihui.jan/blog/22305360"&gt;如 huihui 說&lt;/a&gt;，今天氣氛蠻歡樂的，今年也是集訓留下來的人最多的一年。若能保持下去，今年十一月的成績也許會不錯哦！&lt;/p&gt;&lt;p&gt;目前 part 1 由一年級的 blackgod252 以 76 分領先，接下來的兩次程式實作賽，大家加油吧！&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4076186441842364781?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4076186441842364781/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/part1.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4076186441842364781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4076186441842364781'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/part1.html' title='[集訓]大師兄爭奪戰 Part1'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NoueTEbEtsM/SZmEr9ObBGI/AAAAAAAAAis/u1WtyK4sDuM/s72-c/%E5%A4%A7%E5%B8%AB%E5%85%84%E7%88%AD%E5%A5%AA%E6%88%B0part1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3756556547575076711</id><published>2009-02-16T21:55:00.003+08:00</published><updated>2009-02-16T22:57:25.070+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='研習'/><category scheme='http://www.blogger.com/atom/ns#' term='CCNA'/><title type='text'>[研習]CCNA Discovery 1 - Day3 and Day4</title><content type='html'>&lt;p&gt;前兩天比較忙，今天補記一下 CCNA D1 第三天和第四天的記事。&lt;/p&gt;&lt;p&gt;第三天：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;進度是 Chapter 5 ~ Chapter 7 。&lt;/li&gt;&lt;li&gt;大概搞清楚 multicast 是怎麼回事。&lt;/li&gt;&lt;li&gt;OSI 7 層以前懶得背，現在背起來了。也不算用背的，搞清楚各層 PDU 大概是怎麼包的，弄懂 frame 、 packet 、 segment 、 datagram 的差異， OSI 7 層自然就記起來了。&lt;/li&gt;&lt;li&gt;下午做完測驗，實在受不了那裡的椅子，就跟 huihui 走人了， lab 回家再做。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;小插曲！話說進到火車站月台，時間是 15:28 ， 15:30 準點的自強號卻不在月台上。等了一分鐘後，因為等車位置在 12 車，跟 huihui 兩人想往前面一點的車廂等車。走過樓梯的遮蔽後，看到火車尾在不遠的前方。原來，列車好像只有 10 節車廂。當下趕緊衝上車去。真是搞笑。 囧rz&lt;/p&gt;&lt;p&gt;第四天：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;進度 Chapter 8 ~ Chapter 9 。&lt;/li&gt;&lt;li&gt;今天的講師資安經驗豐富， Chapter 8 的網路安全舉了好多、好多、好多、好多、好多、好多、好多、好多、好多、好多、好多……的例子，所以整個上午大約有 2/3 強的時間在上 chapter 8 。chapter 9 故障排除很快地在吃便當前結束了。&lt;/li&gt;&lt;li&gt;Discovery 1 的課程今天結束，下週六要做 Discovery 1 的 final test 。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;下午的測驗，那個~~~~囧rz&lt;/p&gt;&lt;p&gt;huihui 因為 chapter 8 test 中被講師廣播，急忙交卷造成了他畢生的&lt;a href="http://blog.xuite.net/huihui.jan/blog/22292404"&gt;恥辱&lt;/a&gt;。為了讓他心理能夠平衡，於是~~~~~~~~我 chapter 8 test 做了五次才拿 100 分。怎麼樣，夠兄弟吧！&lt;/p&gt;&lt;p&gt;整個 Discovery 1 的課程其實跟一般計概的課程差不多，但是在 PDU 、網路設備、 OSI 7 層之間的關係講的比較清楚，再輔以 Packet Tracer 的 lab 實驗，釐清了一些以前半知半解的觀念，算蠻有收獲的。&lt;/p&gt;&lt;p&gt;今天發了一張問卷，是關於課程、場地、講師的問卷調查。我只對地點有些意見，那 273 階的樓梯真的太高太累人了。 ( 沒錯！今天我重新算過了。 )
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3756556547575076711?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3756556547575076711/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-day3-and-day4.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3756556547575076711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3756556547575076711'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-day3-and-day4.html' title='[研習]CCNA Discovery 1 - Day3 and Day4'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8253390025172227665</id><published>2009-02-13T20:26:00.003+08:00</published><updated>2009-02-13T20:38:06.110+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='免費電子書'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>[linux]Linux 101 Hacks 免費電子書下載</title><content type='html'>&lt;p&gt;在 &lt;a href="http://www.thegeekstuff.com/"&gt;The Geek Stuf&lt;/a&gt; 看到這篇： &lt;a href="http://www.thegeekstuff.com/2009/02/linux-101-hacks-download-free-ebook/"&gt;Linux 101 Hacks - free ebook download&lt;/a&gt; 。&lt;/p&gt;&lt;p&gt;當下趕緊下載回來。全書 12 章 140 頁，合計 101 個實用技巧。看目錄介紹，內容蠻充實的，應該是很實用的工具書。&lt;/p&gt;&lt;p&gt;電子書下載網頁在此： &lt;a href="http://www.thegeekstuff.com/book/linux101hacks.php"&gt;Linux 101 Hacks&lt;/a&gt; 。&lt;/p&gt;&lt;p&gt;進入該網頁後，會要你輸入密碼，密碼是： &lt;span style="font-weight: bold;"&gt;linuxrocks&lt;/span&gt;&lt;/p&gt;&lt;p&gt;有需要的人快點囉！下面是原文裡的全書目錄：&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;h2&gt;Linux 101 Hacks - Table of Contents&lt;/h2&gt; &lt;h3&gt;Chapter 1: Powerful CD Command Hacks&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 1. Use CDPATH to define the base directory for cd command&lt;/li&gt;&lt;li&gt; Hack 2. Use cd alias to navigate up the directory effectively&lt;/li&gt;&lt;li&gt; Hack 3. Perform mkdir and cd using a single command&lt;/li&gt;&lt;li&gt; Hack 4. Use “cd -” to toggle between the last two directories&lt;/li&gt;&lt;li&gt; Hack 5. Use dirs, pushd and popd to manipulate directory stack&lt;/li&gt;&lt;li&gt; Hack 6. Use “shopt -s cdspell” to automatically correct mistyped directory names on cd&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 2: Date Manipulation&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;Hack 7. Set System Date and Time&lt;/li&gt;&lt;li&gt; Hack 8. Set Hardware Date and Time&lt;/li&gt;&lt;li&gt; Hack 9. Display Current Date and Time in a Specific Format&lt;/li&gt;&lt;li&gt; Hack 10. Display Past Date and Time&lt;/li&gt;&lt;li&gt; Hack 11. Display Future Date and Time&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 3: SSH Client Commands&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;Hack 12. Identify SSH Client Version&lt;/li&gt;&lt;li&gt; Hack 13. Login to Remote Host using SSH&lt;/li&gt;&lt;li&gt; Hack 14. Debug SSH Client Session&lt;/li&gt;&lt;li&gt; Hack 15. Toggle SSH Session using SSH Escape Character&lt;/li&gt;&lt;li&gt; Hack 16. SSH Session Statistics using SSH Escape Character&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 4: Essential Linux Commands&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;Hack 17. Grep Command&lt;/li&gt;&lt;li&gt; Hack 18. Find Command&lt;/li&gt;&lt;li&gt; Hack 19. Suppress Standard Output and Error Message&lt;/li&gt;&lt;li&gt; Hack 20. Join Command&lt;/li&gt;&lt;li&gt; Hack 21. Change the Case&lt;/li&gt;&lt;li&gt; Hack 22. Xargs Command&lt;/li&gt;&lt;li&gt; Hack 23. Sort Command&lt;/li&gt;&lt;li&gt; Hack 24. Uniq Command&lt;/li&gt;&lt;li&gt; Hack 25. Cut Command&lt;/li&gt;&lt;li&gt; Hack 26. Stat Command&lt;/li&gt;&lt;li&gt; Hack 27. Diff Command&lt;/li&gt;&lt;li&gt; Hack 28. Display total connect time of users&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 5: PS1, PS2, PS3, PS4 and PROMPT_COMMAND&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 29. PS1 - Default Interaction Prompt&lt;/li&gt;&lt;li&gt; Hack 30. PS2 - Continuation Interactive Prompt&lt;/li&gt;&lt;li&gt; Hack 31. PS3 - Prompt used by “select” inside shell script&lt;/li&gt;&lt;li&gt; Hack 32. PS4 - Used by “set -x” to prefix tracing output&lt;/li&gt;&lt;li&gt; Hack 33. PROMPT_COMMAND&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 6: Colorful and Functional Shell Prompt Using PS1&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;Hack 34. Display username, hostname and current working directory in the prompt&lt;/li&gt;&lt;li&gt;Hack 35. Display current time in the prompt&lt;/li&gt;&lt;li&gt;Hack 36. Display output of any command in the prompt&lt;/li&gt;&lt;li&gt;Hack 37. Change foreground color of the prompt&lt;/li&gt;&lt;li&gt;Hack 38. Change background color of the prompt&lt;/li&gt;&lt;li&gt;Hack 39. Display multiple colors in the prompt&lt;/li&gt;&lt;li&gt;Hack 40. Change the prompt color using tput&lt;/li&gt;&lt;li&gt;Hack 41. Create your own prompt using the available codes for PS1 variable&lt;/li&gt;&lt;li&gt;Hack 42. Use bash shell function inside PS1 variable&lt;/li&gt;&lt;li&gt;Hack 43. Use shell script inside PS1 variable&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 7: Archive and Compression&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;Hack 44. Zip command basics&lt;/li&gt;&lt;li&gt; Hack 45. Advanced compression using zip command&lt;/li&gt;&lt;li&gt; Hack 46. Password Protection of Zip files&lt;/li&gt;&lt;li&gt; Hack 47. Validate a zip archive&lt;/li&gt;&lt;li&gt; Hack 48. Tar Command Basics&lt;/li&gt;&lt;li&gt; Hack 49. Combine gzip, bzip2 with tar&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 8: Command Line History&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 50. Display TIMESTAMP in history using HISTTIMEFORMAT&lt;/li&gt;&lt;li&gt; Hack 51. Search the history using Control+R&lt;/li&gt;&lt;li&gt; Hack 52. Repeat previous command quickly using 4 different methods&lt;/li&gt;&lt;li&gt; Hack 53. Execute a specific command from history&lt;/li&gt;&lt;li&gt; Hack 54. Execute previous command that starts with a specific word&lt;/li&gt;&lt;li&gt; Hack 55. Control the total number of lines in the history using HISTSIZE&lt;/li&gt;&lt;li&gt; Hack 56. Change the history file name using HISTFILE&lt;/li&gt;&lt;li&gt; Hack 57. Eliminate the continuous repeated entry from history using HISTCONTROL&lt;/li&gt;&lt;li&gt; Hack 58. Erase duplicates across the whole history using HISTCONTROL&lt;/li&gt;&lt;li&gt; Hack 59. Force history not to remember a particular command using HISTCONTROL&lt;/li&gt;&lt;li&gt; Hack 60. Clear all the previous history using option -c&lt;/li&gt;&lt;li&gt; Hack 61. Substitute words from history commands&lt;/li&gt;&lt;li&gt; Hack 62. Substitute a specific argument for a specific command&lt;/li&gt;&lt;li&gt; Hack 63. Disable the usage of history using HISTSIZE&lt;/li&gt;&lt;li&gt; Hack 64. Ignore specific commands from the history using HISTIGNORE&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 9: System Administration Tasks&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 65. Partition using fdisk&lt;/li&gt;&lt;li&gt; Hack 66. Format a partition using mke2fsk&lt;/li&gt;&lt;li&gt; Hack 67. Mount the partition&lt;/li&gt;&lt;li&gt; Hack 68. Fine tune the partition using tune2fs&lt;/li&gt;&lt;li&gt; Hack 69. Create a swap file system.&lt;/li&gt;&lt;li&gt; Hack 70. Create a new user&lt;/li&gt;&lt;li&gt; Hack 71. Create a new group and assign to an user&lt;/li&gt;&lt;li&gt; Hack 72. Setup SSH passwordless login in OpenSSH&lt;/li&gt;&lt;li&gt; Hack 73. Use ssh-copy-id along with ssh-agent&lt;/li&gt;&lt;li&gt; Hack 74. Crontab&lt;/li&gt;&lt;li&gt; Hack 75. Safe Reboot Of Linux Using Magic SysRq Key&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 10: Apachectl and Httpd Examples&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 76. Pass different httpd.conf filename to apachectl&lt;/li&gt;&lt;li&gt; Hack 77. Use a temporary DocumentRoot without modifying httpd.conf&lt;/li&gt;&lt;li&gt; Hack 78. Increase the Log Level temporarily&lt;/li&gt;&lt;li&gt; Hack 79. Display the modules inside Apache&lt;/li&gt;&lt;li&gt; Hack 80. Show all accepted directives inside httpd.conf&lt;/li&gt;&lt;li&gt; Hack 81. Validate the httpd.conf after making changes&lt;/li&gt;&lt;li&gt; Hack 82. Display the httpd build parameters&lt;/li&gt;&lt;li&gt; Hack 83. Load a specific module only on demand&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 11: Bash Scripting&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 84. Execution Sequence of .bash_* files&lt;/li&gt;&lt;li&gt; Hack 85. How to generate random number in bash shell&lt;/li&gt;&lt;li&gt; Hack 86. Debug a shell script&lt;/li&gt;&lt;li&gt; Hack 87. Quoting&lt;/li&gt;&lt;li&gt; Hack 88. Read data file fields inside a shell script&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Chapter 12: System Monitoring and Performance&lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Hack 89. Free command&lt;/li&gt;&lt;li&gt;Hack 90. Top Command&lt;/li&gt;&lt;li&gt;Hack 91. Ps Command&lt;/li&gt;&lt;li&gt;Hack 92. Df Command&lt;/li&gt;&lt;li&gt;Hack 93. Kill Command&lt;/li&gt;&lt;li&gt;Hack 94. Du Command&lt;/li&gt;&lt;li&gt;Hack 95. lsof commands.&lt;/li&gt;&lt;li&gt;Hack 96. Sar Command&lt;/li&gt;&lt;li&gt;Hack 97. vmstat Command&lt;/li&gt;&lt;li&gt;Hack 98. Netstat Command&lt;/li&gt;&lt;li&gt;Hack 99. Sysctl Command&lt;/li&gt;&lt;li&gt;Hack 100. Nice Command&lt;/li&gt;&lt;li&gt;Hack 101. Renice Command&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8253390025172227665?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8253390025172227665/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/linuxlinux-101-hacks.html#comment-form' title='8 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8253390025172227665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8253390025172227665'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/linuxlinux-101-hacks.html' title='[linux]Linux 101 Hacks 免費電子書下載'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8037653168616628222</id><published>2009-02-10T22:31:00.004+08:00</published><updated>2009-02-10T23:39:03.421+08:00</updated><title type='text'>[moodle]測驗之克漏字</title><content type='html'>為了要在 moodle 上出一些程式的填空題，研究了一下測驗卷裡的克漏字 ( cloze ) 試題要怎麼使用。完成範例如下：&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NoueTEbEtsM/SZGQhyOBYgI/AAAAAAAAAik/nf5MrKVnIyA/s1600-h/moodle%E5%85%8B%E6%BC%8F%E5%AD%97.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 133px;" src="http://4.bp.blogspot.com/_NoueTEbEtsM/SZGQhyOBYgI/AAAAAAAAAik/nf5MrKVnIyA/s320/moodle%E5%85%8B%E6%BC%8F%E5%AD%97.png" alt="" id="BLOGGER_PHOTO_ID_5301177146482450946" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;上面的部份是屬於原來的簡答題  ( short answer ) ，下面有 List Box 的原來的選擇題 ( multi choice ) 。&lt;/p&gt;&lt;p&gt;要做克漏字有兩個方法，一個是先用 &lt;a href="http://hotpot.uvic.ca/"&gt;Hot Potatos&lt;/a&gt; ( 這裡有 &lt;a href="http://www.lttc.ntu.edu.tw/academics/hotpotatoes.htm"&gt;Hot Potatos 的中文介紹&lt;/a&gt; ) 製作題目並存檔，再匯入 moodle 的題庫裡。我則是選擇按官方說明土法煉鋼手動做出來。
&lt;/p&gt;&lt;p&gt;這裡是 &lt;a href="http://docs.moodle.org/en/Embedded_Answers_%28Cloze%29_question_type"&gt;moodle 官方的克漏字原文說明網頁&lt;/a&gt;。以下則是簡單介紹土法煉鋼的方法，因為不難啦，只是做個筆記。&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;克漏字裡的每個答案可以是填充題 ( 即簡答題 SHORTANSWER ) 或選擇題 ( MULTICHOICE ，可以單選或複選 ) ，格式如下：&lt;/p&gt;&lt;p&gt;單選題的格式：
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;{配分:MULTICHOICE:=正確答案選項#回饋~錯誤答案1#回饋1~錯誤答案2#回饋2}&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;其中，錯誤答案可以很多個，而回饋的部份也可以省略。&lt;/p&gt;&lt;p&gt;簡答題的格式：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;{配分:SHORTANSWER:=正確答案選項#回饋~*#錯誤答案的回饋}&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;其中， * 表示其它任意答案，加上這個項目是為了給予錯誤答案的回饋。若沒有給予回饋的話，也可以省略。&lt;/p&gt;&lt;p&gt;格式中，可以把 ~ 符號視為各答案的分隔符號，預設得分是 0% ，即錯誤的答案；答案前面加上 = 等號的，則是正確答案，即得分 100% 。也可以寫成：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;~%100%答案&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;所以，複選題格式如下：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;{配分:MULTICHOICE:~%50%正確答案1#回饋1~%50%正確答案2#回饋2~錯誤答案1#回饋1~錯誤答案2#回饋2}&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;簡答題也可以比照，對不同答案給予不同的給分：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;{配分:SHORTANSWER:=正確答案選項#回饋~%50%半正確答案#回饋1~*#錯誤答案的回饋}&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;一些注意事項：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;如果答案裡有包含 { } # \ " / 等符號的話，要在前面加上 \ 反斜線。&lt;/li&gt;&lt;li&gt;使用 " 引號容易產生問題，建議使用 &amp;amp; quot; ( 中間沒有空格 ) 取代。&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;這個官方說明沒有！&lt;/span&gt;答案裡若要使用 &amp;amp; 符號， moodle 裡面的編輯工具 &lt;a href="http://www.fckeditor.net/"&gt;FCKeditor&lt;/a&gt; 會自動轉成 &amp;amp; amp; ，但是建議&lt;span style="font-weight: bold;"&gt;在下一個 ~ 符號之前加一個空格&lt;/span&gt;，答案選項才能被正確分辦。下面是我自己的例子：&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;{1:MULTICHOICE:=*~&amp;amp; ~(保留空白)}&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;其中， &amp;amp; 和後面的 ~ 之間加一個空格，不然，整個 「 &amp;amp;~(保留空白) 」被當成一個選項了。&lt;/p&gt;&lt;p&gt;克漏字還蠻好用的，以後隨堂測驗的題目可以更多樣了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8037653168616628222?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8037653168616628222/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/moodle.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8037653168616628222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8037653168616628222'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/moodle.html' title='[moodle]測驗之克漏字'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NoueTEbEtsM/SZGQhyOBYgI/AAAAAAAAAik/nf5MrKVnIyA/s72-c/moodle%E5%85%8B%E6%BC%8F%E5%AD%97.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-2157632956030376709</id><published>2009-02-09T13:40:00.002+08:00</published><updated>2009-02-09T13:58:45.402+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='研習'/><category scheme='http://www.blogger.com/atom/ns#' term='CCNA'/><title type='text'>[研習]CCNA Discovery 1 - Day2</title><content type='html'>&lt;p&gt;昨天參的 CCNA Discovery 1 第二天還是很累。補記一些小事。&lt;/p&gt;&lt;ol&gt;&lt;li&gt;弄清楚為什麼銘傳的 260 階會那麼累人了。陪老婆回娘家也是要爬 200 多階更陡的石階，也沒那麼累過。原來，從桃園到台北的火車加捷運加等車時間，已經先讓我的&lt;span style="font-weight: bold;"&gt;雙腳站了快一個鐘頭之後，再去爬 260 階&lt;/span&gt;，難怪會受不了。不過第二天已經比較適應了。自己的心肺功能還是得再加強。&lt;/li&gt;&lt;li&gt;銘傳電腦教室的椅子沒有靠背，坐上一整天，難怪只是當學員上課也會累到腰酸背痛。&lt;/li&gt;&lt;li&gt;今天 chapter 3 &amp;amp; 4 講了連結層網路設備如 Hub / Switch ，對他們的行為，尤其是錯誤處理部份，釐清了一些觀念。&lt;/li&gt;&lt;li&gt;Discovery 教材是先有英文版，然後翻譯成簡體中文版，再依簡體中文版翻成繁體中文版。有些地方中文真的看不懂。還好可以切換成英文版看原文對照。難怪講師一直強調「&lt;span style="font-weight: bold;"&gt;中文看不懂的話就看英文&lt;/span&gt;」。 XD&lt;/li&gt;&lt;li&gt;昨天狀況不太好， chapter 3 的測驗第一次竟然 20 題錯 5 題，當下決定等今天神清氣爽後再來 review 。今天一看，有些題目還真是中文看不懂造成的。 Orz&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;據 huihui 說，早上他搭的比我早一班的區間車座位很多。嗯！下週日要早點出門，雖然搭自強號省點時間，但是雙腳能多休息半個小時再爬 260 階應該會好很多吧。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-2157632956030376709?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/2157632956030376709/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-day2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2157632956030376709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2157632956030376709'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-day2.html' title='[研習]CCNA Discovery 1 - Day2'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1818768214789347794</id><published>2009-02-07T22:08:00.005+08:00</published><updated>2009-02-07T23:29:13.330+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='研習'/><category scheme='http://www.blogger.com/atom/ns#' term='CCNA'/><title type='text'>[研習]CCNA Discovery 1 - Day1</title><content type='html'>&lt;p&gt;今天跟 &lt;a href="http://blog.xuite.net/huihui.jan/blog"&gt;huihui&lt;/a&gt; 去銘傳大學台北校區參加 CCNA Discovery 研習，真的很累。記一些流水帳。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;悠遊卡是好物！搭火車、乘捷運，除了不用浪費時間買票外，還有折扣的樣子 ( 確定搭火車是&lt;span style="font-weight: bold;"&gt;復興號票價再打九折&lt;/span&gt; )。而且，&lt;span style="font-weight: bold;"&gt;搭自強號與區間車是一個價錢&lt;/span&gt;。 ( &lt;strike&gt;這個優惠好像快結束了？&lt;/strike&gt; google 不到相關資訊，大概是記錯了。 )
&lt;/li&gt;&lt;li&gt;出了捷運劍潭站後，看到比我搭早一班火車的 huihui 跟著錯誤的指標繞一圈後回到劍潭站出口，兩人一起去爬銘傳的 260 階樓梯。&lt;/li&gt;&lt;li&gt;我沒有爬樓梯爬到快&lt;a href="http://blog.xuite.net/huihui.jan/blog/22167245"&gt;翻臉&lt;/a&gt;，只是快要喘不過氣來，膝蓋快要受不了。唉！太久沒運動了，心肺功能要加強。&lt;/li&gt;&lt;li&gt;今天上課的 CCNA Discovery 1 chapter 1 和 chapter 2 還蠻簡單的，就當複習吧。&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Packet Tracer 是超級好物&lt;/span&gt;，要好好研究。&lt;/li&gt;&lt;li&gt;還好中午有供餐，不然，還要爬 260 階下銘傳找午餐，再爬 260 階上去上課的話，我可能直接去搭捷運回家了。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;據 huihui 說， CCNA Discovery 1 &amp;amp; 2 學齊了的話，學校那堆 cisco 設備應該就可以搞定了。嗯！學起來再說。&lt;/p&gt;&lt;p&gt;休息了，明天還要再爬 260 階。 T_T
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1818768214789347794?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1818768214789347794/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-day1.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1818768214789347794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1818768214789347794'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/ccna-discovery-1-day1.html' title='[研習]CCNA Discovery 1 - Day1'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6831396489062597558</id><published>2009-02-03T21:52:00.004+08:00</published><updated>2009-02-03T23:09:24.250+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]Acer H223HQ 入手</title><content type='html'>&lt;p&gt;家裡一個服役快十年的 15 吋 LCD 因為亮度色彩都已經差很多了 ( 好個敗家的藉口 ) ，日前獲得財政部長批准預算，去燦坤搬了一台 &lt;a href="http://www.acer.com.tw/product_detail.asp?p_id=531"&gt;Acer H223HQ&lt;/a&gt; 回家。這台在敗家天堂 &lt;a href="http://www.mobile01.com/"&gt;Mobile01&lt;/a&gt; 的&lt;a href="http://www.mobile01.com/topiclist.php?f=350"&gt;電腦螢幕板&lt;/a&gt;的討論裡 C/P 值不錯，有 D-sub / DVI / HDMI ，而且支援 1080 Full HD。運氣不錯，目前沒發現暗點及亮點，快樂使用中。&lt;/p&gt;&lt;p&gt;順便記一下換螢幕的注意事項。&lt;/p&gt;&lt;p&gt;最主要是因為我是用 DVI ，而不是 D-sub ，新螢幕接上去後，直接告訴我「解析度不支援」。正確的步驟應該如下：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;開機時按 F8 ，選擇 「 &lt;span style="font-weight: bold;"&gt;VGA 模式&lt;/span&gt;」，可以用 640 x 480 進 Windows 。&lt;/li&gt;&lt;li&gt;再來，把解析度設定成最佳 ( 原生 ) 解析度 1920 x 1080 。&lt;/li&gt;&lt;li&gt;預設字太小了，進 「螢幕內容 &gt; 外觀 」將字型大小設為「超大字型」。&lt;/li&gt;&lt;li&gt;接著「效果按鈕」，勾選「使用大圖示」及「使用 clear type」。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;這樣畫面看起來就舒服多了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6831396489062597558?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6831396489062597558/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/acer-h223hq.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6831396489062597558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6831396489062597558'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/acer-h223hq.html' title='[閒聊]Acer H223HQ 入手'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5924634574287321159</id><published>2009-02-02T00:34:00.003+08:00</published><updated>2009-02-02T01:06:55.833+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]文建會藝文活動查詢</title><content type='html'>&lt;p&gt;女兒的一項寒假作業是「欣賞音樂會」。好！上網找找……挖勒，現在才找，絕大部份容易查到的活動都是過年前跟開學後。嗯…這不是重點，重點是怎麼找？&lt;/p&gt;&lt;p&gt;直接搜尋「二月 音樂會 桃園」是找不到什麼啦。&lt;a href="http://www.tyccc.gov.tw/"&gt;桃園文化局&lt;/a&gt;逛完後心得，他們也要放假吧 orz 。&lt;a href="http://www.ntch.edu.tw/front/index"&gt;兩廳院&lt;/a&gt;在開學前的表演活動女兒表示比較沒興趣。&lt;a href="http://www.ticket.com.tw/"&gt;年代售票&lt;/a&gt;要開學後才有音樂表演的場次。&lt;a href="http://www.culture.gov.tw/freeway_web/web/"&gt;台北市文化局&lt;/a&gt;、&lt;a href="http://www.culture.tpc.gov.tw/web/Home?command=display&amp;amp;page=flash"&gt;台北縣文化局&lt;/a&gt;、&lt;a href="http://www.hchcc.gov.tw/"&gt;新竹縣文化局&lt;/a&gt;的表演資訊都少的可憐。&lt;a href="http://www.blogger.com/www.hcccb.gov.tw/"&gt;新竹市文化局&lt;/a&gt;跟本連不進去 orz 。&lt;a href="http://www.klccab.gov.tw/_index_main.php"&gt;基隆市文化局&lt;/a&gt;倒是過年期間還列出幾項音樂表演活動。&lt;/p&gt;&lt;p&gt;後來，在台北縣文化局網站看到一個&lt;a href="http://event.cca.gov.tw/default.asp"&gt;文建會藝文活動查詢&lt;/a&gt;的連結，才算是解決問題了。這裡可以設定縣市、表演種類、關鍵字的搜尋，重點是活動資訊應該是比較充份，&lt;span style="font-weight: bold;"&gt;一些在各縣市文化局查不到的表演活動這裡都有&lt;/span&gt;。&lt;/p&gt;&lt;p&gt;文建會藝文活動查詢網址： &lt;a href="http://event.cca.gov.tw/default.asp"&gt;http://event.cca.gov.tw/default.asp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;附代一提，這是個用 &lt;a href="http://moztw.org/"&gt;FireFox&lt;/a&gt; 看會破得很嚴重的網站 囧rz，請搭配 IE 服用。
&lt;/p&gt;&lt;p&gt;順便談談這個「欣賞音樂會的寒假作業」。這樣的作業其實不錯，讓小孩子多接觸音樂，接受現場表演的熏陶。只是，今年寒假沒多久就過年了，&lt;span style="font-weight: bold;"&gt;現在還在過年期間，靜態展出是不少，但一些表演團體似乎也在放年假當中&lt;/span&gt; XD ，不仔細找，還真是很難找到適合的音樂會參觀。另外，各縣市文化局的網站要加油了，怎麼連在你們場地 ( 各文化中心演藝廳 ) 的演出，甚或由你們主辦的演出都在網站裡找不到呢？
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5924634574287321159?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5924634574287321159/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/02/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5924634574287321159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5924634574287321159'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/02/blog-post.html' title='[閒聊]文建會藝文活動查詢'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4616016843125477700</id><published>2009-01-26T23:00:00.002+08:00</published><updated>2009-01-26T23:10:56.945+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]這幾天在幹什麼？</title><content type='html'>&lt;p&gt;已婚熟男跟&lt;a href="http://blog.xuite.net/huihui.jan/blog"&gt;未婚少男&lt;/a&gt;過的年就是不一樣。&lt;/p&gt;&lt;p&gt;不像某未婚少男還有空閒可以做 3D 佛劍公仔(&lt;a href="http://blog.xuite.net/huihui.jan/blog/21987334"&gt;進度1&lt;/a&gt;、&lt;a href="http://blog.xuite.net/huihui.jan/blog/22008610"&gt;進度2&lt;/a&gt;)，最近忙著採辦年貨、打掃、又趕在年前把客廳用了十多年的沙發給換了。今天出門走春拜拜，明天又要帶老婆小孩回娘家去了。&lt;/p&gt;&lt;p&gt;最○○(大過年的，不要用不好的字眼)的是，竟然在這兩天鬧腸胃炎。&lt;/p&gt;&lt;p&gt;換個角度想今年一定是愈來愈好吧 XD 。&lt;/p&gt;&lt;p&gt;也祝大家新的一年「&lt;span style="font-weight: bold;font-size:180%;" &gt;牛轉乾坤、牛年行大運&lt;/span&gt;」。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4616016843125477700?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4616016843125477700/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post_26.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4616016843125477700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4616016843125477700'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post_26.html' title='[閒聊]這幾天在幹什麼？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-449132210437234825</id><published>2009-01-20T23:15:00.003+08:00</published><updated>2009-01-20T23:31:49.088+08:00</updated><title type='text'>[Blender]NLHS BBS 馬克杯</title><content type='html'>&lt;p&gt;這是本校 BBS 虛擬商品： NLHS BBS 馬克杯。上面有 bbs 的網址，以及一張聖誕節時，板主們扮演的聖誕老公公及小麋鹿們到各班發送糖果的照片之一。
&lt;/p&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-540d78df37bd3b64" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="flashvars" value="flvurl=http://v18.nonxt6.googlevideo.com/videoplayback?id%3D540d78df37bd3b64%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1331215422%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1AECC3AD0F6C57FED57AAFDA8E8D0763382323F0.23AD81E112DD8AF4988E947D82DB48F9822B2520%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D540d78df37bd3b64%26offsetms%3D5000%26itag%3Dw160%26sigh%3DPvYcHNVTDOGgxB_zOol6KANMvUo&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;
&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"
width="320" height="266" bgcolor="#FFFFFF"
flashvars="flvurl=http://v18.nonxt6.googlevideo.com/videoplayback?id%3D540d78df37bd3b64%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1331215422%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1AECC3AD0F6C57FED57AAFDA8E8D0763382323F0.23AD81E112DD8AF4988E947D82DB48F9822B2520%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D540d78df37bd3b64%26offsetms%3D5000%26itag%3Dw160%26sigh%3DPvYcHNVTDOGgxB_zOol6KANMvUo&amp;autoplay=0&amp;ps=blogger"
allowFullScreen="true" /&gt;&lt;/object&gt;
&lt;p&gt;這次學到的重點記一下：&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;modifier &gt; subsurf modifier 可以得到比較好的 render 效果。&lt;/li&gt;&lt;li&gt;UV caculatate &gt; cylinder from view 可以只展開成圓柱表面。&lt;/li&gt;&lt;li&gt;UV image editor 可以移動、編輯展開圖。&lt;/li&gt;&lt;li&gt;UV image editor &gt; UVs &gt; scripts &gt; save UV face layout 可以將展開圖存檔。&lt;/li&gt;&lt;li&gt;利用儲存的展開圖編修材質圖，再 load 到 Blender 貼圖。&lt;/li&gt;&lt;li&gt;馬克杯內側可以跟外側分別展開，並移動到不同的位置來做展開圖。這樣做材質貼圖時會比較方便。&lt;/li&gt;&lt;li&gt;其他想到再補充。
&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-449132210437234825?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=540d78df37bd3b64&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/449132210437234825/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blendernlhs-bbs.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/449132210437234825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/449132210437234825'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blendernlhs-bbs.html' title='[Blender]NLHS BBS 馬克杯'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-2624616495769494181</id><published>2009-01-14T22:48:00.003+08:00</published><updated>2009-01-14T23:46:59.098+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blender'/><title type='text'>[Blender]建模練習-直昇機</title><content type='html'>&lt;p&gt;師父啊，第二課作業完成了，請驗收：&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NoueTEbEtsM/SW37jvkDVAI/AAAAAAAAAh0/0dIdsQGKq_o/s1600-h/0001.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_NoueTEbEtsM/SW37jvkDVAI/AAAAAAAAAh0/0dIdsQGKq_o/s320/0001.jpg" alt="" id="BLOGGER_PHOTO_ID_5291161728711873538" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;幾年前曾經跟 huihui 一起玩過一小陣子的 3D canvas 建模，那時帶學生做的範例就是「海豚式直昇機」(因為畫出來的直昇機長得比較像海豚 :DDDD ) 。&lt;/p&gt;&lt;p&gt;這回改用 &lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt; 建模，還真不習慣。 &lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt; 的操作界面與一般的視窗繪圖程式&lt;span style="font-weight: bold;font-size:130%;" &gt;真是差太多了&lt;/span&gt;，一大堆的功能還是要記鍵盤快速鍵，不然，面對如此複雜的操作界面，光是找功能選單或按鈕就會死人哦。&lt;/p&gt;&lt;p&gt;這架直昇機是「一體成型」，實在應該把螺旋翼分開來，才能在動畫裡旋轉吧？？？有空再來改。下面再補兩張不同角度的圖：&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NoueTEbEtsM/SW4ImGq_WJI/AAAAAAAAAiE/0sCC-OJdEZU/s1600-h/0003.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_NoueTEbEtsM/SW4ImGq_WJI/AAAAAAAAAiE/0sCC-OJdEZU/s320/0003.jpg" alt="" id="BLOGGER_PHOTO_ID_5291176062925887634" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NoueTEbEtsM/SW4ImJTG5ZI/AAAAAAAAAh8/5BEXuLpgqN8/s1600-h/0002.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_NoueTEbEtsM/SW4ImJTG5ZI/AAAAAAAAAh8/5BEXuLpgqN8/s320/0002.jpg" alt="" id="BLOGGER_PHOTO_ID_5291176063631025554" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;下一課會是什麼呢？貼材質？
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-2624616495769494181?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/2624616495769494181/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blender_14.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2624616495769494181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2624616495769494181'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blender_14.html' title='[Blender]建模練習-直昇機'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NoueTEbEtsM/SW37jvkDVAI/AAAAAAAAAh0/0dIdsQGKq_o/s72-c/0001.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6264803267644958635</id><published>2009-01-13T15:09:00.004+08:00</published><updated>2009-01-13T15:48:45.808+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blender'/><title type='text'>[Blender]轉動的火星</title><content type='html'>&lt;p&gt;昨天&lt;a href="http://blog.xuite.net/huihui.jan/blog/21818382"&gt;拜了 huihui 為師&lt;/a&gt;，開始學 &lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt; ，第一課是轉動的地球。&lt;/p&gt;&lt;p&gt;然後，這是我的第一個作業：轉動的火星。對啦，換了地圖而已 :P
&lt;/p&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-af889a9037a97cd5" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="flashvars" value="flvurl=http://v12.nonxt7.googlevideo.com/videoplayback?id%3Daf889a9037a97cd5%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1331215422%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D831B749677CC4C0B56073D3BD02E159FB62C95B8.6A35FF1291C7A7C40AD7AF0C1502284839CA91D8%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Daf889a9037a97cd5%26offsetms%3D5000%26itag%3Dw160%26sigh%3D27bzl2_62lej0rinAqyZSfbr9PE&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;
&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"
width="320" height="266" bgcolor="#FFFFFF"
flashvars="flvurl=http://v12.nonxt7.googlevideo.com/videoplayback?id%3Daf889a9037a97cd5%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1331215422%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D831B749677CC4C0B56073D3BD02E159FB62C95B8.6A35FF1291C7A7C40AD7AF0C1502284839CA91D8%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Daf889a9037a97cd5%26offsetms%3D5000%26itag%3Dw160%26sigh%3D27bzl2_62lej0rinAqyZSfbr9PE&amp;autoplay=0&amp;ps=blogger"
allowFullScreen="true" /&gt;&lt;/object&gt;
&lt;p&gt;火星的地圖是從 Google 搜尋到的，來自 &lt;a href="http://www.oera.net/How2/TextureMaps2.htm"&gt;Texture Earth and Planets&lt;/a&gt; 。&lt;/p&gt;&lt;p&gt;可能因為用的電腦等級比較差，還是記憶體不足？在展開 uv 圖顯示火星地圖材質時都會當掉。反正師父還沒教怎麼用 uv image editor 做調整，先不理他，直接做了再說。&lt;/p&gt;&lt;p&gt;師父，這樣有沒有及格？！ XD&lt;/p&gt;&lt;p&gt;更新：使用未縮圖的 bump 材質圖，奇怪的火星地表紋路處理掉了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6264803267644958635?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=af889a9037a97cd5&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6264803267644958635/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blender.html#comment-form' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6264803267644958635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6264803267644958635'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blender.html' title='[Blender]轉動的火星'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-973151775692116578</id><published>2009-01-12T20:54:00.008+08:00</published><updated>2009-01-12T21:39:16.791+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf-8'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>[Web]用IE6開啟網頁變成空白頁</title><content type='html'>&lt;p&gt;拋棄 IE6 改用 &lt;a href="http://moztw.org/firefox/"&gt;Firefox&lt;/a&gt; 已經很久了，電腦教室學生電腦雖然還是 IE7 ( 這學期剛改，之前是 IE6 ) ，但是 IE 的編碼有設為自動選取，也不常遇到 IE 開啟 UTF-8 網頁變成空白頁的狀況。但是幫老婆大人寫的一個小程式，學生說常遇到這個問題。 ( 怎麼還在用 IE6 ？ ) 只好研究一下了。&lt;/p&gt;&lt;p&gt;用「 IE6 空白頁」當關鍵字搜尋，馬上就找到正解了，算是 IE6 的 bug 吧。找到這篇：「&lt;a href="http://disp.twbbs.org/text.php?bi=9&amp;amp;ti=634"&gt;用IE6有時候會出現空白頁的問題&lt;/a&gt;」，他的解釋是：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;原來是ie6在讀取utf-8編碼的網頁時在讀到
&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="color: rgb(166, 87, 0);"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;meta&lt;/span&gt;&lt;span style="color: rgb(39, 71, 150);"&gt; equiv&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;"Content-Type"&lt;/span&gt;&lt;span style="color: rgb(39, 71, 150);"&gt; &lt;/span&gt;&lt;span style="color: rgb(7, 71, 38);"&gt;content&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;"text/html; charset=utf-8"&lt;/span&gt;&lt;span style="color: rgb(166, 87, 0);"&gt;&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;之前是不認識utf-8編碼的文字的，所以如果出現了utf-8編碼的文字可能就會有編碼錯誤的問題而變成空白頁&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;而我的程式裡，是把這個 meta tag 放在中文的 title tag 之前。所以，為了讓 IE6 也能正確開啟我的 PHP 小程式，只好在程式裡送出 HTML 之前，先送出：&lt;/p&gt;&lt;blockquote&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#a65700; background:#ffffe8; '&gt;&amp;lt;?php&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;
&lt;span style='color:#400000; background:#ffffe8; '&gt;header&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;(&lt;/span&gt;&lt;span style='color:#0000e6; background:#ffffe8; '&gt;"Content-Type: text/html; charset=utf-8"&lt;/span&gt;&lt;span style='color:#808030; background:#ffffe8; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; background:#ffffe8; '&gt;;&lt;/span&gt;&lt;span style='color:#000000; background:#ffffe8; '&gt;&lt;/span&gt;
&lt;span style='color:#a65700; background:#ffffe8; '&gt;?&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;讓 IE6 從一開始就知道網頁是使用 UTF-8 編碼就行了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-973151775692116578?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/973151775692116578/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/webie6.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/973151775692116578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/973151775692116578'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/webie6.html' title='[Web]用IE6開啟網頁變成空白頁'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1587899428518292916</id><published>2009-01-12T10:28:00.003+08:00</published><updated>2009-01-12T10:59:13.584+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='閒聊'/><title type='text'>[閒聊]讓開！讓專業的來</title><content type='html'>&lt;p&gt;話說家裡浴室的恆溫龍頭熱水的出水量愈來愈少，常導致熱水器停止加熱。尤其最近寒流來襲，洗澡洗一半變冷水的話，簡直要出人命。&lt;/p&gt;&lt;p&gt;自己也嚐試拆下水龍頭看看水管是否有堵塞、也清除了水龍頭濾網上的小碎石，但是熱水量依然小的可憐。想說 DIY 再換一個吧，恆溫水龍頭又貴得要死。後來，上網找了原廠網站，發現可以報修，就試試看吧。&lt;/p&gt;&lt;p&gt;好不容易等到師傅來了，問了一下狀況，就拆開水龍頭熱水管那一邊，「換了一個橡皮墊片」。&lt;/p&gt;&lt;p&gt;就這樣，不用 10 分鐘，搞定了！&lt;/p&gt;&lt;p&gt;問了師傅原因，說是「橡皮墊片用久了會脹大，讓出水口變小。」所以，換掉就 OK 了。&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;我自己在拆裝時，也有看到這個墊片，但是就沒想到可能是它的問題 ( 囧rz ) 。這就是專業所在吧。什麼是專業？以這個溫控龍頭為例，聽了症狀，現場稍微查看，就能找到問題，並熟練的搞定它，這就是專業。雖然一個墊片大概不要 5 元，雖然我自己也會換這個墊片，雖然師傅只花了 10 分鐘，雖然請師傅來家裡搞定它要 350 元，但我還是覺得值得，甚至覺得還很便宜。因為他知道我不知道的事，他知道問題是出在熱水管的橡皮墊片，這是他的專業。&lt;/p&gt;&lt;p&gt;自從 DIY 盛行後，很多人都會自己動手修些小東西，覺得很簡單。當自己搞不定後，去請教專業人士時，常會出現「這很簡單啊？怎麼收費這麼貴？」或是「零件不是很便宜嗎？為什麼要收這麼多錢？」或是「大賣場只賣 XXXX 元耶？你怎麼多了這些錢？」為什麼？因為他專業，因為你自己搞不定。要學會尊重專業，自己不懂的，別人沒有義務服務你。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1587899428518292916?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1587899428518292916/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post_12.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1587899428518292916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1587899428518292916'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post_12.html' title='[閒聊]讓開！讓專業的來'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4174606819058386585</id><published>2009-01-09T21:43:00.002+08:00</published><updated>2009-01-09T21:51:07.262+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='syntaxhighlighter'/><title type='text'>[blogger]Online syntax highlighting</title><content type='html'>&lt;p&gt;要在 blogger 貼程式碼，搜尋了很多前輩的經驗後，目前暫時決定採用 &lt;a href="http://tohtml.com"&gt;Online syntax highlighting&lt;/a&gt; 產生程式的 html 碼，再貼到文章裡面的做法。像前一篇的 C++ 程式碼就是這樣貼出來的。
&lt;/p&gt;&lt;p&gt;這樣做，一來可以把語法裡的關鍵字、變數、常數、運算子……等顯示清楚，二來，減少使用 javascritpt 也可以讓文章顯示的速度快一點。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4174606819058386585?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4174606819058386585/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/bloggeronline-syntax-highlighting.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4174606819058386585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4174606819058386585'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/bloggeronline-syntax-highlighting.html' title='[blogger]Online syntax highlighting'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3995222336399889522</id><published>2009-01-09T21:10:00.004+08:00</published><updated>2009-01-09T21:40:42.346+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[C++]常犯的for迴圈邏輯錯誤</title><content type='html'>&lt;p&gt;最近錯了兩次，除錯浪費不少時間，記一下好了。&lt;/p&gt;&lt;p&gt;剛學 C++ 時，都是用 int 做 for 迴圈的變數檢索陣列，後來才改用 size_t 。當我們需要反方向檢索陣列時，如下例：
&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;const&lt;/span&gt; &lt;span style="color: rgb(96, 48, 0);"&gt;size_t&lt;/span&gt; len&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; d&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;len&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;4&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;size_t&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;len-1&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;
&lt;span style="color: rgb(96, 48, 0);"&gt;    cout&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt; d&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;這樣在 compile 時沒問題，但迴圈很可能會發生「跑不完」的情形。&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;為什麼？因為當 i=0 跑完迴圈最後一次，再減 1 時，並不是 -1 ，而是 size_t 型別的最大值。於是 i 仍舊大於 0 ，迴圈就會繼續檢索超出陣列範圍的記憶體了。&lt;/p&gt;&lt;p&gt;變數 i 用 int 型別不好嗎？不是不好， compile 會有 warning ，誰知道會不會有什麼邏輯錯誤出現。那要怎麼解決呢？程式改寫如下：&lt;/p&gt;&lt;blockquote&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;const&lt;/span&gt; &lt;span style="color: rgb(96, 48, 0);"&gt;size_t&lt;/span&gt; len&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; d&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;len&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;4&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;for&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;size_t&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;len&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;
&lt;span style="color: rgb(96, 48, 0);"&gt;    cout&lt;/span&gt; &lt;span style="color: rgb(128, 128, 48);"&gt;&lt;&lt;&lt;/span&gt; d&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;
&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;這樣寫，雖然每次在迴圈裡要多做一次 i-1 ，但是保證不會出現邏輯錯誤。&lt;/p&gt;&lt;p&gt;如果是 STL container 要反方向檢索 container 的內容，則是應該用 reverse_iterator 這個包裝過的反向 iterator 。雖然會多寫一點程式碼 ( 先型別名稱就比 size_t 長多了 ) ，但是保證不會出錯。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3995222336399889522?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3995222336399889522/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/cfor.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3995222336399889522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3995222336399889522'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/cfor.html' title='[C++]常犯的for迴圈邏輯錯誤'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3190714383572484982</id><published>2009-01-08T21:34:00.004+08:00</published><updated>2009-01-09T08:41:10.916+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[C++]online C++ Tutorial</title><content type='html'>&lt;p&gt;今天查資料時搜到的好站。
&lt;/p&gt;&lt;p&gt;只要你不介意看英文，有這個站你就不用買什麼入門書了。而且他的英文都蠻易懂的，沒什麼廢話，就只是淺顯易懂的範例程式。即使拿來當線上隨手查手冊也很好用。&lt;/p&gt;&lt;p&gt;
網址： &lt;a href="http://www.java2s.com/Tutorial/Cpp/CatalogCpp.htm"&gt;http://www.java2s.com/Tutorial/Cpp/CatalogCpp.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;
大家加油吧！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3190714383572484982?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3190714383572484982/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/conline-c-tutorial.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3190714383572484982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3190714383572484982'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/conline-c-tutorial.html' title='[C++]online C++ Tutorial'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3282255848252395178</id><published>2009-01-07T21:15:00.003+08:00</published><updated>2009-01-07T21:37:03.320+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>[網誌]好用的LaTeX方程式編輯器</title><content type='html'>以前 &lt;a href="http://blog.xuite.net/huihui.jan/blog"&gt;huihui&lt;/a&gt; 常要我在 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; 裡生一個支援 LaTex 的方程式編輯器給他。無奈力有未逮，始終做不出來。(我連 LaTeX 都沒學過，怎麼生給他 orz )&lt;p&gt;最近搬來 blogger ，又想起了這回事，再 google 一次，這回找到了 hdj@Berkeley 介紹的「&lt;a href="http://hdj-berkeley.blogspot.com/2008/05/latex.html"&gt;線上 LaTex 數學方程式編輯器&lt;/a&gt;」。一整個好用啊……&lt;/p&gt;&lt;p&gt;網址在此： &lt;a href="http://www.sitmo.com/latex/"&gt;http://www.sitmo.com/latex/ &lt;/a&gt;&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;根據這篇文章的介紹：&lt;a href="http://blogs.sun.com/yongsun/entry/a_cool_latex_equation_online"&gt;A cool Latex Equation Online Editor -- sitmo&lt;/a&gt; ，甚至可以把方程式語法當成 URI 接在上面的網址後，直接生成方程式圖檔。這樣一來，不需借助 GUI 的人可以直接把帶方程式的網址直接拿來當 img 標籤的 src 屬性值，用起來更方便了。&lt;/p&gt;&lt;p&gt;我也來亂寫個例子：&lt;/p&gt;&lt;p&gt;方程式網址： http://www.sitmo.com/gg/latex/latex2png.2.php?z=100&amp;amp;eq=x%3D\frac{-b\pm\sqrt{a^2-4ac%20}}{2a}&lt;/p&gt;&lt;p&gt;產生的方程式：&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sitmo.com/gg/latex/latex2png.2.php?z=100&amp;amp;eq=x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Ba%5E2-4ac%20%7D%7D%7B2a%7D"&gt;&lt;img style="cursor: pointer; width: 146px; height: 37px;" src="http://www.sitmo.com/gg/latex/latex2png.2.php?z=100&amp;amp;eq=x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Ba%5E2-4ac%20%7D%7D%7B2a%7D" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3282255848252395178?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3282255848252395178/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/latex.html#comment-form' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3282255848252395178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3282255848252395178'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/latex.html' title='[網誌]好用的LaTeX方程式編輯器'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1207340432117968302</id><published>2009-01-07T14:59:00.003+08:00</published><updated>2009-01-07T15:22:22.240+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>[雜記]網誌搬家後續工作</title><content type='html'>&lt;p&gt;忙了幾天，記一下到目前為止的處理進度：
&lt;/p&gt;&lt;p&gt;文章裡面的網誌內連結和圖檔都已經修好了。&lt;/p&gt;&lt;p&gt;LifeType 一些 patch 和 hack 檔因為都是舊東西，直接移除連結。&lt;/p&gt;&lt;p&gt;有用的東西剩下&lt;a href="http://lsslab.blogspot.com/2005/12/lifetype.html"&gt;動手玩 LifeType 模版&lt;/a&gt;裡的教學檔案，搬到 &lt;a href="http://skydrive.live.com/"&gt;SkyDrive&lt;/a&gt; 放了。&lt;/p&gt;&lt;p&gt;&lt;a href="http://lsslab.blogspot.com/2006_06_01_archive.html"&gt;2006年六月&lt;/a&gt;的四篇學生 MV 文裡的影片檔案，本來也考慮放 &lt;a href="http://skydrive.live.com/"&gt;SkyDrive&lt;/a&gt; ，但是大檔下載的速度好像很差？？目前還在學校主機上。未來也許直接丟 &lt;a href="http://video.google.com/"&gt;GoogleVideo&lt;/a&gt; 或 &lt;a href="http://tw.youtube.com/"&gt;YouTube&lt;/a&gt; 比較省事。&lt;/p&gt;&lt;p&gt;2005年十月的 &lt;a href="http://lsslab.blogspot.com/2005/10/tiddlywiki.html"&gt;TiddlyWiki 真的很好玩&lt;/a&gt;裡面的 &lt;a href="http://web.nlhs.tyc.edu.tw/%7Elss/wiki/TiddlyWikiTutorialTW.html"&gt;TiddlyWiki 使用教學&lt;/a&gt;，據說至今仍然蠻受 TiddlyWiki 初學者歡迎。傷腦筋！！！還是要找個沒有顧慮的地方做個分身才行。&lt;/p&gt;&lt;p&gt;後續還有一些網誌功能的調整工作，已經陸續在進行了。等差不多的時候再寫個筆記好了。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1207340432117968302?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1207340432117968302/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post_07.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1207340432117968302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1207340432117968302'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post_07.html' title='[雜記]網誌搬家後續工作'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3718839276057908648</id><published>2009-01-06T14:27:00.003+08:00</published><updated>2009-01-06T14:39:20.664+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>[windows]D:\$MFT毀損</title><content type='html'>&lt;p&gt;前幾天，家裡一部電腦開機時出現一個訊息：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;無法讀取 D:\$MFT (完整訊息沒有記下來)&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;再重開機後，整個存放資料及許多照片的 D:\ 就此消失！   O_O|||&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;後來 google 到這篇文章： &lt;a href="http://support.microsoft.com/kb/814594/zh-tw"&gt;如何找出和修正 NTFS 磁碟區上的磁碟空間問題&lt;/a&gt;。裡面提到：
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;NTFS 檔案系統毀損&lt;/span&gt;&lt;br/&gt;在極少有的情況下，NTFS 中繼檔 $MFT 或 $BITMAP 可能會毀損而導致磁碟空間遺失。您可以藉由對磁碟區執行 chkdsk /f 命令來識別和修正這個問題。在 chkdsk 快要結束時，如果您必須調整 $BITMAP，便會收到下列的訊息：
Correcting errors in the master file table's (MFT) BITMAP attribute. (在主檔案表格 (MFT) BITMAP 屬性中發生修正錯誤)CHKDSK discovered free space marked as allocated in the volume bitmap. (CHKDSK 發現可用空間在磁碟區點陣圖中標示為已配置)Windows has made corrections to the file system. (Windows 已對檔案系統進行了修正)&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;於是執行 chkdsk /f 後，掃到 D: 磁碟有壞掉的叢集，把錯誤修復後，資料就全都回來了。&lt;/p&gt;&lt;p&gt;特此記錄，做個筆記。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3718839276057908648?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3718839276057908648/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/windowsdmft.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3718839276057908648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3718839276057908648'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/windowsdmft.html' title='[windows]D:\$MFT毀損'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6512146312263335649</id><published>2009-01-06T09:06:00.003+08:00</published><updated>2009-01-06T15:46:59.173+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifetype'/><title type='text'>[LifeType]LifeType 怎麼辦？</title><content type='html'>&lt;p&gt;huihui 問我：「你搬到 &lt;a href="http://www.blogger.com/"&gt;blogger&lt;/a&gt; 去，那你談 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; 不是很沒有說服力？」&lt;/p&gt;
&lt;p&gt;是啊！我的 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; 怎麼辦？&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;現在要玩 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; ，只能在自己的 localhost 玩了，或是找個免費的虛擬主機玩。&lt;/p&gt;
&lt;p&gt;其實，以目前 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; 的狀況，除非有強大新功能的 2.0 版出來了，或是 &lt;a href="http://blog.markplace.net/"&gt;mark&lt;/a&gt; 真的 fork 一個新分支出來，否則是沒什麼太多需要關注的。從 &lt;a href="http://forum.lifetype.org.tw/"&gt;LifeType 中文開發論壇&lt;/a&gt;最近的活動也可以觀察到這個現象，台面上的技術與教學其實都蠻夠了。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.markplace.net/"&gt;mark&lt;/a&gt; 啊，你什麼時候要真的 fork 一個分支出來啊？&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6512146312263335649?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6512146312263335649/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/lifetypelifetype.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6512146312263335649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6512146312263335649'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/lifetypelifetype.html' title='[LifeType]LifeType 怎麼辦？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5810070323081759490</id><published>2009-01-05T21:11:00.006+08:00</published><updated>2009-01-05T21:55:24.181+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>[網誌]新居落成！</title><content type='html'>&lt;p&gt;因為極可能在下學期之後，我就碰不到學校的主機了，換句話說，原來架在學校的 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; 也可能隨時會掛掉。所以，繼 huihui 出走，到 Xuite 建立 &lt;a href="http://blog.xuite.net/huihui.jan/blog"&gt;huihui的飛機場的分身&lt;/a&gt;之後，我也將 lss實驗室搬到這裡來了。&lt;/p&gt;
&lt;p&gt;搬家過程：&lt;/p&gt;
&lt;p&gt;我是先用 &lt;a href="http://www.zoundryraven.com/"&gt;Zoundry Raven&lt;/a&gt; 將原 blog 裡的文章下載後，再重新發佈到新家。這裡面有幾個重點要記一下：&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.zoundryraven.com/"&gt;Zoundry Raven&lt;/a&gt; 的設定： Publishing Opthions &gt; Remove Newlines 。不然，發佈到 &lt;a href="http://www.blogger.com/"&gt;blogger&lt;/a&gt; 的文章會多出一堆 br 標籤。&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/"&gt;blogger&lt;/a&gt; 一天似乎只能發表 50 篇新文章，我的 131 篇文章分三天才搬完。&lt;/li&gt;&lt;li&gt;原網誌裡的回響只能放棄了，在此向留言的網友們說抱歉了。&lt;/li&gt;&lt;li&gt;原文章裡的圖檔儘可能搬到 &lt;a href="http://picasaweb.google.com.tw/home"&gt;picasaweb&lt;/a&gt; 存放。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;當初選用 &lt;a href="http://www.lifetype.org.tw/"&gt;LifeType&lt;/a&gt; 有個很大的原因是為了他的檔案中心。除了網誌的圖檔外，下載檔案也可以方便管理。現在要另外想辦法了。 huihui 有建議 &lt;a href="http://skydrive.live.com/"&gt;Microsoft Live SkyDrive&lt;/a&gt; ，找時間試試。&lt;/p&gt;
&lt;p&gt;再來就是有一些文章裡面有網誌內的連結，這個要找時間修一修。&lt;/p&gt;
&lt;p&gt;最後就是 &lt;a href="http://www.blogger.com/"&gt;blogger&lt;/a&gt; 的門面要再修一修，包括最新回應、繼續閱讀、標籤雲…，這些已經有很多前輩的經驗在網路上等著我去學習。這些就慢慢來了。&lt;/p&gt;
&lt;p&gt;最近要進入打成績地獄，時間不多，先這樣吧。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5810070323081759490?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5810070323081759490/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post.html#comment-form' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5810070323081759490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5810070323081759490'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2009/01/blog-post.html' title='[網誌]新居落成！'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-792261786212753932</id><published>2008-12-27T23:22:00.000+08:00</published><updated>2009-01-05T00:29:11.204+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLBuddy'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPminiAdmin'/><title type='text'>[網管][更新]試用 SQL Buddy 與 PHP mini Admin</title><content type='html'>&lt;p&gt;簡單記一下：&lt;/p&gt; &lt;p&gt;關於 &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt; ：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;無痛安裝：解壓縮、上傳、開始用，超簡單！&lt;/li&gt; &lt;li&gt;操作方便：一整個直覺，該有的功能都有了，而且程式反應很快。&lt;/li&gt; &lt;li&gt;中文OK：有包含中文語系，中文的資料表顯示也正常。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;好像一切都很美好的樣子 :P ，其實還是有一些小缺憾啦(全是個人感覺)：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;只有 zip 包可下載：這個純粹是個人問題啦，我管不到學校主機了，而管理員沒有在主機上裝unzip 。 &lt;br/&gt;          &lt;/li&gt; &lt;li&gt;沒有產生 PHP 程式碼的功能：這個在 &lt;a href="http://www.phpmyadmin.net/home_page/index.php" title="phpMyAdmin"&gt;phpMyAdmin&lt;/a&gt; 有，寫程式時還蠻方便的。&lt;/li&gt; &lt;li&gt;            &lt;del&gt;小心 cookie 的資訊安全：為了安裝超簡單， &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt; 把一些訊息存在 cookie 裡了，包括 MySQL 的連線帳號及密碼。這讓我有點小擔心，有空可以看程式時再來想想辦法。&lt;/del&gt;          &lt;/li&gt; &lt;li&gt;更正一下！ &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt; 只有用 cookie 存放語系和佈景主題設定，資料庫帳號密碼是放在 session 裡，可以放心用啦！ &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;              &lt;br/&gt;            &lt;/a&gt;          &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;          &lt;del&gt;對我而言， &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt; 應該是會取代 &lt;a href="http://www.phpmyadmin.net/home_page/index.php" title="phpMyAdmin"&gt;phpMyAdmin&lt;/a&gt; 吧！&lt;/del&gt;        &lt;/p&gt; &lt;p&gt;再更新一下， &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt; 不支援直接匯入 csv 資料檔，這個我還蠻常用的啊~~~~&lt;/p&gt; &lt;p&gt;殘念， &lt;a href="http://www.phpmyadmin.net/home_page/index.php" title="phpMyAdmin"&gt;phpMyAdmin&lt;/a&gt; 暫時還是無可取代的！&lt;/p&gt; &lt;p&gt;關於 &lt;a href="http://phpminiadmin.sourceforge.net/" title="PHP mini Admin"&gt;PHP mini Admin&lt;/a&gt; ：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;只有一支 script ，安裝簡單到爆。&lt;/li&gt; &lt;li&gt;畫面不討喜。(我竟是外貌協會的 O_O)&lt;/li&gt; &lt;li&gt;操作不夠直覺，有些功能要找一下才找得到。&lt;/li&gt; &lt;li&gt;中文的資料表顯示有問題。原來在 &lt;a href="http://www.phpmyadmin.net/home_page/index.php" title="phpMyAdmin"&gt;phpMyAdmin&lt;/a&gt; 及 &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt; 正常顯示的資料表在 &lt;a href="http://phpminiadmin.sourceforge.net/" title="PHP mini Admin"&gt;PHP mini Admin&lt;/a&gt; 裡面都變成問號了。&lt;/li&gt; &lt;li&gt;使用 cookie 存放資料庫的連線帳號及密碼，資訊安全要小心點。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;中文顯示不正常對我來說算致命傷，加上操作上個人感覺不夠直覺，應該暫時不會去用他吧。&lt;/p&gt; &lt;p&gt;PS.唉！一時不慎，張冠李戴了，原來之前看到的 cookie 是 &lt;a href="http://phpminiadmin.sourceforge.net/" title="PHP mini Admin"&gt;PHP mini Admin&lt;/a&gt; 生出來的。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-792261786212753932?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/792261786212753932/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/12/sql-buddy-php-mini-admin.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/792261786212753932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/792261786212753932'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/12/sql-buddy-php-mini-admin.html' title='[網管][更新]試用 SQL Buddy 與 PHP mini Admin'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-7267970576447965096</id><published>2008-12-22T00:24:00.000+08:00</published><updated>2009-01-05T00:29:05.780+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLBuddy'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPminiAdmin'/><title type='text'>[網管]phpMyAdmin 的替代品</title><content type='html'>&lt;p&gt;在 &lt;a href="http://jdev.tw/blog" title="簡睿隨筆"&gt;簡睿隨筆&lt;/a&gt; 看到這篇：&lt;a href="http://jdev.tw/blog/1164/phpmyadmin-sql-buddy" title="phpMyAdmin 的替代品：SQL Buddy"&gt;phpMyAdmin 的替代品：SQL Buddy&lt;/a&gt; 。&lt;/p&gt; &lt;p&gt;裡面提到另一篇文章：&lt;a href="http://blog.primalskill.com/2008/09/12/2-great-web-based-alternatives-to-phpmyadmin/" title="2 Great Web Based Alternatives to PHPMyAdmin"&gt;2 Great Web Based Alternatives to PHPMyAdmin&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;總共提到了兩個代替方案：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;            &lt;a href="http://www.sqlbuddy.com/" title="SQL Buddy"&gt;SQL Buddy&lt;/a&gt;          &lt;/li&gt; &lt;li&gt;            &lt;a href="http://phpminiadmin.sourceforge.net/" title="PHP mini Admin"&gt;PHP mini Admin&lt;/a&gt;          &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;先記下來，找時間試試。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-7267970576447965096?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/7267970576447965096/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/12/phpmyadmin.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7267970576447965096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7267970576447965096'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/12/phpmyadmin.html' title='[網管]phpMyAdmin 的替代品'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1891047653440989676</id><published>2008-09-23T09:09:00.000+08:00</published><updated>2009-01-05T00:29:00.871+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><title type='text'>[moodle]修改「將使用者從課程中退選的期限」為365天</title><content type='html'>&lt;p&gt;自從把學校的 moodle 更新版本後，有些新功能要適應，不然，也許會發生慘劇。&lt;/p&gt; &lt;p&gt;像是在「課程參與者」的學生列表中，就出現了：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;(當使用者 120 日未曾進入本課程則自動退出)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;moodle 目前上課時主要用到的是他的測驗功能，換句話說，若剛好 120 天內都沒用到 moodle 的話，學生的測驗成績是不是隨著被自動退出課程而消失了？ ( 這我不確定，有誰有確定的答案能提供嗎？感恩！ )&lt;/p&gt; &lt;p&gt;找了半天，調整的地方如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;系統管理 &amp;gt; 主機 &amp;gt; 清除 &amp;gt; 「將使用者從課程中退選的期限為」( 即 &lt;span class="form-shortname"&gt;longtimenosee 選項 )&lt;/span&gt;          &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;調整成 365 天，至少一個學年之內不會發生學生被自動踢出課程的事吧。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1891047653440989676?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1891047653440989676/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/09/moodle365.html#comment-form' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1891047653440989676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1891047653440989676'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/09/moodle365.html' title='[moodle]修改「將使用者從課程中退選的期限」為365天'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-535908981238150856</id><published>2008-06-22T14:43:00.000+08:00</published><updated>2009-01-05T00:28:52.778+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='自由軟體'/><title type='text'>[自由軟體] Notepad++ 的 Hex Editor 外掛</title><content type='html'>&lt;p&gt;huihui 說 &lt;a href="http://blog.nlhs.tyc.edu.tw/post/3/337" title=" 一個似乎可以用來取代 UltraEdit 的編輯器 "&gt;Notepad++ 少了 Hex 編輯不夠用&lt;/a&gt;，可我記得好像有一個 plugin 可以做 Hex 編輯？！&lt;/p&gt; &lt;p&gt;找了一下，在 &lt;a href="http://notepad-plus.sourceforge.net/" title="Notepad++"&gt;Notepad++&lt;/a&gt; 的 &lt;a href="http://notepad-plus.sourceforge.net/tw/download.php?lang=tw" title="pluing 列表"&gt;plugin 列表(向下找到「外掛模組」區)&lt;/a&gt;裡果然有 HexEditor 可以用，而且 info 是這樣介紹的：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;It's a damn good Hex Editor - works seamlessly with Notepad++&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;簡單的翻譯一下，兩個重點：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;真他ｘｘ的好用啊！！&lt;/li&gt; &lt;li&gt;用起來就像 Notepad++ 裡內建的一樣自然。&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;大概這是一個第三方實作的外掛，所以沒在安裝包裡。以下簡單介紹一下安裝及用法如下：&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;安裝 Hex Editor： &lt;br/&gt;        &lt;/p&gt; &lt;ul&gt; &lt;li&gt;首先下&lt;a href="http://downloads.sourceforge.net/npp-plugins/HexEditor_0_8_4_dll.zip?modtime=1185406943&amp;amp;big_mirror=0" title="下載 Hex Editor pluign"&gt;下載 Hex Editor pluign&lt;/a&gt; ，建議國內可以直接用下面的連結直接由國網中心高速下載：&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;            &lt;a href="http://nchc.dl.sourceforge.net/sourceforge/npp-plugins/HexEditor_0_8_4_dll.zip" title="Hex Editor 國網中心 mirror 連結"&gt;http://nchc.dl.sourceforge.net/sourceforge/npp-plugins/HexEditor_0_8_4_dll.zip&lt;/a&gt;          &lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;下載後解壓縮，將 HexEditor.dll 複製到 "C:\Program Files\Notepad++\plugins" 裡面。&lt;/li&gt; &lt;li&gt;重新執行 Notepad++ ，搞定。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;使用 Hex Editor：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;安裝 Hex Editor 外掛後，在 Notepad++ 工具列會多出一個 [H] 圖示，可以將編輯中的文件切換到 Hex 編輯模式，再按一次切換回一般編輯模式。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;          &lt;a href="http://lh5.ggpht.com/_NoueTEbEtsM/SWDZU5_9PpI/AAAAAAAAAdc/QYbTry6j03s/npp_hex_editor1.png?imgmax=800"&gt;            &lt;img src="http://lh6.ggpht.com/_NoueTEbEtsM/SWDZWvPnvoI/AAAAAAAAAdg/2_VM40JhHd8/zrtn_001p455b7bf6_tn.jpg?imgmax=400" style="WIDTH: 400px; HEIGHT: 276px" height="276" width="400"/&gt;          &lt;/a&gt;        &lt;/p&gt; &lt;p&gt;設定 Hex Editor：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;功能表的「外掛模組 &amp;gt; Hex Ediotr 」裡面，可以做 Hex Editor 的各項設定。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;          &lt;img src="http://lh3.ggpht.com/_NoueTEbEtsM/SWDZXe-R5rI/AAAAAAAAAdk/Qhz183QsRjA/npp_hex_editor2.png?imgmax=576" style="DISPLAY: inline; WIDTH: 540px; HEIGHT: 248px" height="248" width="540" alt="Hex Ediotr 管理選單" border="0"/&gt;        &lt;/p&gt; &lt;p&gt;          &lt;img src="http://lh6.ggpht.com/_NoueTEbEtsM/SWDZX3E2PLI/AAAAAAAAAdo/G3C7uBZlaTQ/npp_hex_editor3.png?imgmax=400" style="DISPLAY: inline; WIDTH: 344px; HEIGHT: 232px" height="232" width="344" alt="Hex Ediotr 選項設定視窗" border="0"/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-535908981238150856?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/535908981238150856/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/06/notepad-hex-editor.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/535908981238150856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/535908981238150856'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/06/notepad-hex-editor.html' title='[自由軟體] Notepad++ 的 Hex Editor 外掛'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_NoueTEbEtsM/SWDZWvPnvoI/AAAAAAAAAdg/2_VM40JhHd8/s72-c/zrtn_001p455b7bf6_tn.jpg?imgmax=400' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5234661905009429567</id><published>2008-06-04T11:13:00.000+08:00</published><updated>2009-01-05T00:28:46.711+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>[moodle][php]測驗卷的項目分析逾時錯誤</title><content type='html'>&lt;p&gt;moodle 的測驗卷模組經常被我用在課堂上做隨堂測驗。由於每個題目都是自己生出來的，總是會想知道每個題目學生的答題狀況。測驗卷模組的報告項目裡，有一項「項目分析」，可以針對所有答題學生對每一題的答題狀況做分析，透過分析結果，可以替每個題目設定難易度，是相當有用的功能。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;但是，由於授課班級數多，所以每個測驗答題學生也多。以這個學年為例，授課八個班，總共約 380 學生的作答資料，讓 moodle 的 PHP 程式在 server 端做統計，常會發生逾時的狀況。&lt;/p&gt; &lt;p&gt;PHP 預設每個 script 最大執行時間為 30 秒，若執行超過這個時間，就會傳回錯誤。解決方法當然就是調整這個設定值，讓 script 可以有更多執行時間。&lt;/p&gt; &lt;p&gt;找到 php.ini 裡面的 Resource Limits 段落，修改下面這個設定：&lt;/p&gt; 
&lt;pre class="ini"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;php.ini&lt;/div&gt; &lt;span class="re1"&gt;max_execution_time&lt;/span&gt; = &lt;span class="re2"&gt;            &lt;span class="nu0"&gt;150&lt;/span&gt;          &lt;/span&gt;        &lt;/div&gt; &lt;p&gt;然後重新啟動 apache 即可。&lt;/p&gt; &lt;p&gt;原來預設值是 30 秒，我改成 150 秒，稍微多等一下，項目分析就可以算出來了。&lt;/p&gt; &lt;p&gt;沒錯！還是筆記！ &lt;br/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5234661905009429567?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5234661905009429567/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/06/moodlephp.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5234661905009429567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5234661905009429567'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/06/moodlephp.html' title='[moodle][php]測驗卷的項目分析逾時錯誤'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5750786058063549680</id><published>2008-05-12T22:16:00.000+08:00</published><updated>2009-01-05T00:28:40.640+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf-8'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[ubuntu][網管]使用 putty 進 ubuntu 時的中文亂碼問題</title><content type='html'>&lt;p&gt;最近嚐試 Ubuntu 8.04 server ，遇到一個問題：用 PuTTY 自 windows 進 ubuntu server 的 ssh console 時，中文一律變成亂碼。&lt;/p&gt; &lt;p&gt;這麼一來，不只 console 上的中文訊息看不懂，連最常用的 vi 都因為亂碼而影響操作。雖然 nano 還算簡單，總是用不習慣。&lt;/p&gt; &lt;p&gt;後來 google 了一下，找到各種說法，試了其中一種方法，調整 PuTTY 的 Translation 設定，果然搞定。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;我想原因應該是出在 ubuntu 安裝時遇設使用 UTF-8 編碼，而根據 PuTTY &amp;gt; Window &amp;gt; Translation 裡的「 Received data assumed to be in character set: 」，預設是使用「 use font encoding 」，指的應該是字型的預設編碼。我猜 Windows XP 裡的字型的預設編碼大概都是 Big5 或 CP950 ，於是造成 ssh console 裡的中文字變亂碼。&lt;/p&gt; &lt;p&gt;我只是依下圖，把「 Received data assumed to be in character set: 」的值改成「 UTF-8 」，之後再進 ubuntu 的 ssh console 就可以正常顯示中文了，連 vi 也跟著恢復正常了。 ^___^&lt;/p&gt; &lt;p&gt;          &lt;img src="http://lh3.ggpht.com/_NoueTEbEtsM/SWDjtZvRe3I/AAAAAAAAAeQ/tdNHLGZNgJg/putty-utf8.png?imgmax=512" style="DISPLAY: inline; WIDTH: 456px; HEIGHT: 440px" height="440" width="456" alt="putty translation set to utf-8" border="0"/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5750786058063549680?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5750786058063549680/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/05/ubuntu-putty-ubuntu.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5750786058063549680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5750786058063549680'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/05/ubuntu-putty-ubuntu.html' title='[ubuntu][網管]使用 putty 進 ubuntu 時的中文亂碼問題'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_NoueTEbEtsM/SWDjtZvRe3I/AAAAAAAAAeQ/tdNHLGZNgJg/s72-c/putty-utf8.png?imgmax=512' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3772680832760053017</id><published>2008-03-12T09:17:00.000+08:00</published><updated>2009-01-05T00:28:29.992+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf-8'/><category scheme='http://www.blogger.com/atom/ns#' term='unicode'/><title type='text'>[教學]Unicode 是用幾個位元來進行編碼？</title><content type='html'>&lt;p&gt;2008-03-12 update：這篇有重新改寫過。&lt;/p&gt; &lt;p&gt;這篇想寫很久了………&lt;/p&gt; &lt;p&gt;94學年度四技二專統一入學測驗的計算機概論有一考題：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Unicode 是用幾個位元來進行編碼？ (A)8 (B)16 (C)24 (D)32&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;當年的標準答案是 (B)16 位元。這題考古題至今仍被各大高職教科書出版社收錄在計算機概論的參考書、測驗卷、模擬試裡。其中一家對此題的說明是：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;ASCII 碼使用 8 位元編碼、 BIG-5 碼與 Unicode 都是使用 16 位元編碼。&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;後來發現，一些高職計算機概論教科書也都是這般寫。&lt;/p&gt; &lt;p&gt;          &lt;span style="FONT-SIZE: x-large; COLOR: #ff0000"&gt;            &lt;strong&gt;拜託，別再害人了。&lt;/strong&gt;          &lt;/span&gt;        &lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;這個題目本身存在著一個&lt;strong&gt;絕對錯誤的假設&lt;/strong&gt;「 Unicode 是一種&lt;strong&gt;編碼方式&lt;/strong&gt;」。而實際上，「 Unicode 只是一種&lt;strong&gt;編碼的概念&lt;/strong&gt;」。有關 Unicode 的說明，除了 &lt;a href="http://www.unicode.org" title="www.unicode.org"&gt;www.unicode.org&lt;/a&gt; 網站的官方說明之外，我以前也貼過一篇周思博的 &lt;a href="http://local.joelonsoftware.com/mediawiki/index.php/The_Joel_on_Software_Translation_Project:萬國碼" title="每個軟體開發者都一定要會的Unicode及字元集必備知識"&gt;每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口！)&lt;/a&gt; 的連結。強列建議搞不清楚 Unicode 、 UTF-8 …這些術語的人好好看一看。我整理一些重點如下：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Unicode 是一種&lt;strong&gt;編碼概念&lt;/strong&gt;，希望將全世界所有的文字符號在任何系統之一都使用統一的編碼，解決資訊跨平台的問題。&lt;/li&gt; &lt;li&gt;現行 Unicode 使用的編碼空間 ( &lt;a href="http://www.unicode.org/glossary/#codespace" title="code space"&gt;code space&lt;/a&gt; ) 為 0~10FFFF(16) 。&lt;strong&gt;由這點看， Unicode 就不是 16 bits&lt;/strong&gt; 。而 code space 也只是一種概念，不是編碼方式。&lt;/li&gt; &lt;li&gt;Unicode 的編碼有各種不同的實作方式，或稱&lt;strong&gt;字元編碼方式&lt;/strong&gt; ( &lt;a href="http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#G7404" title="Unicode Encoding Forms"&gt;Unicode Encoding Forms&lt;/a&gt; ) ，不同編碼方式儲存文字使用的記憶容量是不同的。&lt;/li&gt; &lt;li&gt;Unicode 標準支援三種字元編碼方式： UTF-8 、 UTF-16 、 UTF-32 。&lt;/li&gt; &lt;li&gt;UTF-8 使用 1 至 6 個位元組 ( 8 ~ 48 bits ) 儲存一個文字。&lt;/li&gt; &lt;li&gt;UTF-8 英文部份使用 1 位元組儲存 1 個字元，與 ASCII 碼的 1 - 127 相容，這也使得 UTF-8 成為目前最受歡迎的 Unicode 編碼方式。&lt;/li&gt; &lt;li&gt;UTF-8 在中 ( 包含簡中與繁中 ) 日韓語言上使用 3 個位元組儲存一個文字。&lt;/li&gt; &lt;li&gt;UTF-16 使用 2 個位元組編碼常用的 63000 多個字，包括英文。&lt;strong&gt;因為 UTF-16 比現在最受歡迎的 UTF-8 早出來，或許這是國內一些計概教科書關於 Unicode 使用 2 Bytes 的由來吧。&lt;/strong&gt;          &lt;/li&gt; &lt;li&gt;UTF-16 當然不是只能編 63000 多個字，它還使用 4 Bytes 編碼 1 百多萬個不常用字，這部份稱為 surrogates。&lt;/li&gt; &lt;li&gt;            &lt;a href="http://www.unicode.org/faq/utf_bom.html#34" title="UTF-16 的 surrogates"&gt;UTF-16 的 surrogates&lt;/a&gt; 是由兩組 16 bits 的碼組成，第一組的範圍為 D800(16)~DBFF(16) ，第二組的範圍為 DC00(16)~DFFF(16) ，也就是說符合前述的連續 4 Bytes 會被視為 1 個 UTF-16 裡的次常用字。&lt;/li&gt; &lt;li&gt;所以，&lt;strong&gt;若單論 UTF-16 ，一個字元是使用了 2~4 Bytes&lt;/strong&gt; 。 &lt;br/&gt;          &lt;/li&gt; &lt;li&gt;UTF-32 每個文字使用 4 個位元組。&lt;/li&gt; &lt;li&gt;因為&lt;strong&gt;文字編碼架構&lt;/strong&gt; ( &lt;a href="http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#G28070" title="Unicode Encoding Schemes"&gt;Unicode Encoding Schemes&lt;/a&gt; ，我理解為字元編碼儲存方式的實作 ) 不同， UTF-16 與 UTF-32 又分為 UTF-16LE 、 UTF-16BE 、 UTF-32LE 、 UTF-32BE 。&lt;/li&gt; &lt;li&gt;為了讓作業系統、應用程式分辨 UTF-16LE 、 UTF-16BE 、 UTF-32LE 、 UTF-32BE ，必需要在文件的開頭加上 2 位元組的 BOM ( Byte Order Mark ) 。&lt;/li&gt; &lt;li&gt;UTF-8 不需要 BOM ，但是一些文字編輯程式會一律替 Unicode 文件加上 BOM ，其中最有名的就是 Windows 的記事本程式。&lt;/li&gt; &lt;li&gt;BOM 會造成許多 PHP 程式執行發生錯誤。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;以上資料，主要參考 &lt;a href="http://www.unicode.org" title="http://www.unicode.org"&gt;Unicode.org&lt;/a&gt; ，尤其很多東西在&lt;a href="http://www.unicode.org/faq/utf_bom.html" title="UTF-8, UTF-16, UTF-32 &amp;amp; BOM"&gt;這篇 FAQ&lt;/a&gt; 裡就說明的很清楚了，不是什麼難查的東西。&lt;/p&gt; &lt;p&gt;四技二專的學測，很多科系計算機概論都是必考的專業課程，在考試領導教學的今天，加上曾是學測的考古題，又不見技職院校在更正，國立編譯館在高職計概教科書的把關上似乎也蠻寬鬆的，不知道國內的計概教科書什麼時候才會更正？&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3772680832760053017?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3772680832760053017/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/03/unicode.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3772680832760053017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3772680832760053017'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/03/unicode.html' title='[教學]Unicode 是用幾個位元來進行編碼？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6545762137931660255</id><published>2008-03-09T23:24:00.000+08:00</published><updated>2009-01-05T00:28:23.570+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='md5'/><category scheme='http://www.blogger.com/atom/ns#' term='網路安全'/><title type='text'>[網管]關於 md5(); 的一些想法</title><content type='html'>&lt;p&gt;在黑米看到一個書籤： &lt;a href="http://www.hemidemi.com/bookmark/info/168507" title="md5(); - reverse engineer md5 hashes - powered by rednoize.com"&gt;md5(); - reverse engineer md5 hashes - powered by rednoize.com&lt;/a&gt; 在介紹 &lt;a href="http://md5.rednoize.com/" title="http://md5.rednoize.com/"&gt;http://md5.rednoize.com/&lt;/a&gt; 這個網站，有一點想法，先記下來。&lt;/p&gt; &lt;p&gt;首先，這個網站是以類似 google 搜尋引擎外觀的 md5/sha1 hashes 搜尋網站。你可以用 hashed string 反向查詢其原始字串，也可以用任意字串查詢其 hashed md5/sha1 string 。&lt;/p&gt; &lt;p&gt;我的想法比較負面，我個人覺得，這是一個 &lt;span style="COLOR: #ff0000"&gt;            &lt;strong&gt;              &lt;span style="FONT-SIZE: x-large"&gt;相當危險&lt;/span&gt;            &lt;/strong&gt;          &lt;/span&gt; 的服務。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;md5/sha1 編碼被拿來作為密碼的編碼方法，是因為他的不可逆演算法，如果想破解，通常是用暴力法將 hashed password 跟 hashed 字典檔比對，只要密碼設得稍微複雜一點，不要是簡單的數字組合、字典裡的單字或單字組合、長度足夠的話，應該還算安全。加上不定期更改密碼的話，那就更不易被破解。&lt;/p&gt; &lt;p&gt;知道我的重點了嗎？ hashed string 的安全，在於我們假設 &lt;strong&gt;hashed 字典沒有安全密碼的條目可以檢索查詢&lt;/strong&gt;，所以即使編碼後的密碼檔外洩，至少不會在短時間內就被攻破，有比較充足的時間可以更換密碼。&lt;strong&gt;而這個服務，可以說是在集合所有使用這個服務的人的力量在充實 hashed 字典&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;不信，你可以試試查詢「6a22f07b48660658bff878e44e1431e2」這個 hashed string 。原本我第一次使用時是查不到的，可是現在可以查得到了，你會得到「 tbontb 」 ( to be or not to be 每個單字的首字組合) 。只要你先查詢過，然後使用他 switch mode 後，便可以改為用字串查詢 hashed md5/sha1 。可怕的是，&lt;strong&gt;他把你的查詢紀錄下來了&lt;/strong&gt;，從此後，便可以用 hashed string 反查回原字串。如果你好奇的用他來查詢你的密碼的 md5/sha1 值，恭喜你，你的密碼 md5/sha1 string 從此可以輕易被任何人從這個網站上反查得到。&lt;/p&gt; &lt;p&gt;假設，這個網站運作了相當長的一段時間後，充實了相當大量的 hashed string 字典，而這個字典資料庫被用在駭客工具上的話……&lt;/p&gt; &lt;p&gt;所以囉，寫密碼驗證的程式不是用 md5/sha1 就比較安全，至少要加點鹽調味 ( salted md5/sha1 ) 才會更安全。&lt;/p&gt; &lt;p&gt;2008-03-10 更新！&lt;/p&gt; &lt;p&gt;剛剛在 plog-svn 裡看到 mark 介紹這裡 ( &lt;span style="FONT-SIZE: x-small; FONT-FAMILY: 新細明體"&gt;            &lt;a href="http://kuza55.blogspot.com/2006/10/online-reverse-lookup-tables-for.html" target="_blank"&gt;http://kuza55.blogspot.com/2006/10/online-reverse-lookup-tables-for.html&lt;/a&gt;          &lt;/span&gt; ) 蒐集了更多提供類似服務的相關的網站，記下來參考。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6545762137931660255?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6545762137931660255/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/03/md5.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6545762137931660255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6545762137931660255'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/03/md5.html' title='[網管]關於 md5(); 的一些想法'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8124136546736027160</id><published>2008-03-06T22:40:00.000+08:00</published><updated>2009-01-05T00:28:14.306+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>孝順有三、不孝者五</title><content type='html'>&lt;p&gt;小時候學過孝順有三，但後來就只記得顯揚父母一件，另兩件忘記了。今天心血來潮，&lt;a href="http://www.google.com/search?hl=zh-TW&amp;amp;q=孝順+顯揚父母&amp;amp;btnG=搜尋&amp;amp;lr=" title="搜尋 孝順 顯揚父母"&gt;搜尋&lt;/a&gt;了一下，在&lt;a href="http://www.namoamitabha.net/ch/publication/filial_piety/sageword.htm" title="古聖賢銘言"&gt;古聖賢銘言&lt;/a&gt;裡找到了。特記之。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;孝有三，大孝尊親，其次弗辱，其下能養。 -- 曾子 &lt;br/&gt;&lt;br/&gt;尊親: 建基立業能夠揚名於後世，以顯耀自己的父母的意思。 &lt;br/&gt;弗辱: 要建謹言慎行，不要辱及父母的人格的意思。 &lt;br/&gt;能養: 即為供養父母的意思。&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;世俗所謂不孝者五: 惰其四支，不顧父母之養，一不孝也; 博奕，好飲酒，不顧父母之養，二不孝也; 好貨財，私妻子，不顧父母之養，三不孝也; 從耳目之欲，以為父母戳，四不孝也; 好勇鬥狠，以危父母，五不孝也。 -- 孟子 &lt;br/&gt;&lt;br/&gt;世俗所說那不孝的有五種: 懶得勞動他的手腳，不顧到父母的奉養，這是第一種不孝; 賭博下棋，又喜歡喝酒，不顧到父母的奉養，這是第二種不孝; 喜愛貨物錢財，偏私妻子，兒女，不顧到父母的奉養，這是第三種不孝; 放縱聲色的嗜欲，使父母受到羞辱，這是第四種不孝; 喜好逞勇，和人爭鬥，以致連累父母，這是第五種不孝。&lt;/p&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8124136546736027160?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8124136546736027160/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/03/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8124136546736027160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8124136546736027160'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/03/blog-post.html' title='孝順有三、不孝者五'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-488256291263348567</id><published>2008-03-04T20:37:00.001+08:00</published><updated>2009-01-06T14:58:16.939+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>[moodle][apache]moodle 搬家後遺症</title><content type='html'>&lt;p&gt;還是筆記！&lt;/p&gt; &lt;p&gt;          &lt;a href="http://lsslab.blogspot.com/2008/03/moodleapachemoodle.html" title="moodle 搬家到獨立網址"&gt;moodle 搬家&lt;/a&gt;後，發生了一點後遺症，原來教材文章裡插入的圖片都是用原來的舊網址，並沒有隨著 moodle 搬家自動跟著更改，於是產生一堆叉燒包。&lt;/p&gt; &lt;p&gt;解決方法，直接使用 apache 的 &lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect" title="redirect"&gt;redirect&lt;/a&gt; 功能做轉址就行了。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;直接在 httpd.conf 裡面，把原網站目錄加入如下設定：&lt;/p&gt;
&lt;pre class="apache"&gt;
&lt;/pre&gt;
&lt;div class="insertcode"&gt; &lt;div class="head"&gt;httpd.conf&lt;/div&gt; &lt;span class="co1"&gt;# 前略&lt;/span&gt;
&amp;lt;Directory /var/www/html&amp;gt;
&lt;span class="co1"&gt;# 略&lt;/span&gt;
&lt;span class="co1"&gt;# 加入下面這一行&lt;/span&gt;
&lt;span class="kw1"&gt;Redirect&lt;/span&gt; /moodle http://moodle.nlhs.tyc.edu.tw
&lt;span class="co1"&gt;# 略&lt;/span&gt;
&amp;lt;/Directory&amp;gt;
&lt;span class="co1"&gt;# 後略&lt;/span&gt;        &lt;/div&gt; &lt;p&gt;如此，便可以讓原來 http://web.nlhs.tyc.edu.tw/moodle/file.php/xxxxxx 直接轉址到新網站 http://moodle.nlhs.tyc.edu.tw/file.php/xxxxxx ，除了叉燒包破圖問題之外，順便也解決了所有原來指向舊網址產生 404 錯誤的問題。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-488256291263348567?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/488256291263348567/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/03/moodleapachemoodle_04.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/488256291263348567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/488256291263348567'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/03/moodleapachemoodle_04.html' title='[moodle][apache]moodle 搬家後遺症'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8284449108657655142</id><published>2008-03-03T08:27:00.000+08:00</published><updated>2009-01-05T00:28:00.243+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>[moodle][apache][網管]moodle 搬家到獨立網址</title><content type='html'>&lt;p&gt;這是一篇筆記！&lt;/p&gt; &lt;p&gt;為了因應未來的系統調整，要先將 moodle 移至獨立網址。目前先以同一台機器上的虛擬主機處理。大致步驟如下：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;新增 DNS 紀錄，分配 IP 與 Domain 。&lt;/li&gt; &lt;li&gt;開通防火牆規則。&lt;/li&gt; &lt;li&gt;建立虛擬網卡並指定 IP 。&lt;/li&gt; &lt;li&gt;建立 apache 虛擬主機。&lt;/li&gt; &lt;li&gt;複製資料庫。&lt;/li&gt; &lt;li&gt;搬移 moodle 目錄及更改設定檔。&lt;/li&gt; &lt;li&gt;moodle 改用 ldap 認證。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;其中， DNS 、防火牆與 ldap 現在不歸我管，這裡只做建立虛擬主機與 moodle 搬家的筆記。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;          &lt;strong&gt;            &lt;span style="FONT-SIZE: medium"&gt;建立虛擬網卡&lt;/span&gt;          &lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;目前主機還是 Mandriva ，其他 Linux 系統或有不同。&lt;/p&gt; &lt;p&gt;首先，在 /etc/sysconfig/networking/devices 建立一個 ifcfg-eth0:2 的檔案如下：&lt;/p&gt; 
&lt;pre class="bash"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;ifcfg-eth0:2&lt;/div&gt; &lt;span class="re2"&gt;BOOTPROTO=&lt;/span&gt;none &lt;br/&gt;&lt;span class="re2"&gt;DEVICE=&lt;/span&gt;eth0:&lt;span class="nu0"&gt;2&lt;/span&gt; &lt;br/&gt;&lt;span class="re2"&gt;NETMASK=&lt;/span&gt; &lt;span class="nu0"&gt;255.255&lt;/span&gt; &lt;span class="nu0"&gt;.255&lt;/span&gt; &lt;span class="nu0"&gt;.0&lt;/span&gt; &lt;br/&gt;&lt;span class="re2"&gt;MTU=&lt;/span&gt; &lt;span class="st0"&gt;""&lt;/span&gt; &lt;br/&gt;&lt;span class="re2"&gt;BROADCAST=&lt;/span&gt; &lt;span class="nu0"&gt;192.168&lt;/span&gt; &lt;span class="nu0"&gt;.5&lt;/span&gt; &lt;span class="nu0"&gt;.255&lt;/span&gt; &lt;br/&gt;&lt;span class="re2"&gt;ONPARENT=&lt;/span&gt;yes &lt;br/&gt;&lt;span class="re2"&gt;IPADDR=&lt;/span&gt; &lt;span class="nu0"&gt;192.168&lt;/span&gt; &lt;span class="nu0"&gt;.5&lt;/span&gt; &lt;span class="nu0"&gt;.23&lt;/span&gt; &lt;br/&gt;&lt;span class="re2"&gt;NETWORK=&lt;/span&gt; &lt;span class="nu0"&gt;192.168&lt;/span&gt; &lt;span class="nu0"&gt;.5&lt;/span&gt; &lt;span class="nu0"&gt;.0&lt;/span&gt; &lt;br/&gt;&lt;span class="re2"&gt;ONBOOT=&lt;/span&gt;yes&lt;/div&gt; &lt;p&gt;因為這已經是網卡 bind 第三個 IP 了，所以是 ifcfg-eth0:2 。&lt;/p&gt; &lt;p&gt;然後，複製一份到 /etc/sysconfig/network-scripts 目錄：&lt;/p&gt; 
&lt;pre class="php"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt;cp ifcfg-eth0:&lt;span class="nu0"&gt;2&lt;/span&gt; /etc/sysconfig/network-scripts/&lt;/div&gt; &lt;p&gt;重新開機，然後用 ifconfig 確認一下 eth0:2 是否有跑起來。&lt;/p&gt; &lt;p&gt;          &lt;strong&gt;            &lt;span style="FONT-SIZE: medium"&gt;建立 apache 虛擬主機&lt;/span&gt;          &lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;這裡使用 IP-base Virtual host 。因為 moodle 的身份認證要使用 https ，要簽一個專用的憑證給他，所以才會需要一個獨立的 IP 。&lt;/p&gt; &lt;p&gt;在 /etc/httpd/conf/vhosts.d/ 目錄加入 moodle.conf 設定檔：&lt;/p&gt; 
&lt;pre class="apache"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;moodle.conf&lt;/div&gt; &amp;lt;VirtualHost &lt;span class="nu0"&gt;192.168&lt;/span&gt; &lt;span class="nu0"&gt;.5&lt;/span&gt; &lt;span class="nu0"&gt;.23&lt;/span&gt;:&lt;span class="nu0"&gt;80&lt;/span&gt;&amp;gt; &lt;br/&gt;&lt;span class="kw1"&gt;DocumentRoot&lt;/span&gt; &lt;span class="st0"&gt;"/home/moodle/html"&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;ServerName&lt;/span&gt; moodle.nlhs.tyc.edu.tw &lt;br/&gt;&amp;lt;Directory &lt;span class="st0"&gt;"/home/moodle/html"&lt;/span&gt;&amp;gt; &lt;br/&gt;&lt;span class="kw1"&gt;allow&lt;/span&gt; &lt;span class="kw1"&gt;from&lt;/span&gt; &lt;span class="kw1"&gt;all&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;AllowOverride&lt;/span&gt; &lt;span class="kw1"&gt;All&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;DirectoryIndex&lt;/span&gt; index.php index.htm &lt;br/&gt;&lt;span class="kw1"&gt;SetEnvIf&lt;/span&gt; User-Agent ^Baidu baidu &lt;br/&gt;&lt;span class="kw1"&gt;Deny&lt;/span&gt; &lt;span class="kw1"&gt;from&lt;/span&gt; env=baidu &lt;br/&gt;&lt;span class="kw1"&gt;SetEnvIf&lt;/span&gt; User-Agent ^Sogou sogou &lt;br/&gt;&lt;span class="kw1"&gt;Deny&lt;/span&gt; &lt;span class="kw1"&gt;from&lt;/span&gt; env=sogou &lt;br/&gt;&amp;lt;/Directory&amp;gt; &lt;br/&gt;&lt;span class="kw1"&gt;ErrorLog&lt;/span&gt; /home/moodle/logs/error_log &lt;br/&gt;&lt;span class="kw1"&gt;TransferLog&lt;/span&gt; /home/moodle/logs/access_log &lt;br/&gt;&amp;lt;/VirtualHost&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;lt;VirtualHost &lt;span class="nu0"&gt;192.168&lt;/span&gt; &lt;span class="nu0"&gt;.5&lt;/span&gt; &lt;span class="nu0"&gt;.23&lt;/span&gt;:&lt;span class="nu0"&gt;443&lt;/span&gt;&amp;gt; &lt;br/&gt;&lt;span class="kw1"&gt;DocumentRoot&lt;/span&gt; &lt;span class="st0"&gt;"/home/moodle/html"&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;ServerName&lt;/span&gt; moodle.nlhs.tyc.edu.tw &lt;br/&gt;SSLEngine &lt;span class="kw2"&gt;on&lt;/span&gt; &lt;br/&gt;SSLCertificateFile /etc/ssl/apache/moodle.nlhs.tyc.edu.tw_NLHSCA.crt &lt;br/&gt;SSLCertificateKeyFile /etc/ssl/apache/moodle.nlhs.tyc.edu.tw_NLHSCA.key &lt;br/&gt;&amp;lt;Directory &lt;span class="st0"&gt;"/home/moodle/html"&lt;/span&gt;&amp;gt; &lt;br/&gt;&lt;span class="kw1"&gt;allow&lt;/span&gt; &lt;span class="kw1"&gt;from&lt;/span&gt; &lt;span class="kw1"&gt;all&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;AllowOverride&lt;/span&gt; &lt;span class="kw1"&gt;All&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;DirectoryIndex&lt;/span&gt; index.php index.htm &lt;br/&gt;&lt;span class="kw1"&gt;SetEnvIf&lt;/span&gt; User-Agent ^Baidu baidu &lt;br/&gt;&lt;span class="kw1"&gt;Deny&lt;/span&gt; &lt;span class="kw1"&gt;from&lt;/span&gt; env=baidu &lt;br/&gt;&lt;span class="kw1"&gt;SetEnvIf&lt;/span&gt; User-Agent ^Sogou sogou &lt;br/&gt;&lt;span class="kw1"&gt;Deny&lt;/span&gt; &lt;span class="kw1"&gt;from&lt;/span&gt; env=sogou &lt;br/&gt;&amp;lt;/Directory&amp;gt; &lt;br/&gt;&lt;span class="kw1"&gt;ErrorLog&lt;/span&gt; /home/moodle/logs/ssl_error_log &lt;br/&gt;&lt;span class="kw1"&gt;TransferLog&lt;/span&gt; /home/moodle/logs/ssl_access_log &lt;br/&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/div&gt; &lt;p&gt;先用 /etc/rc.d/init.d/httpd configtest_vhosts 檢查一下設定檔有沒有問題，然後重新啟動 apache 。&lt;/p&gt; &lt;p&gt;          &lt;strong&gt;            &lt;span style="FONT-SIZE: medium"&gt;複製資料庫&lt;/span&gt;          &lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;為免生意外，將原來的 moodle 資料庫複製一份，並讓原來使用 moodle 資料庫的 dbuser 有對新資料庫有相同的存取權限。這部份我是用 phpMyAdmin 處理，可以輕鬆完成，略過不表。&lt;/p&gt; &lt;p&gt;          &lt;strong&gt;            &lt;span style="FONT-SIZE: medium"&gt;搬移 moodle 目錄及更改設定檔&lt;/span&gt;          &lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;新的虛擬主機是放在 /home/moodle 下，要搬移的目錄有兩個：&lt;/p&gt; &lt;p&gt;/var/www/moodledata 搬到 /home/moodle/moodledata ， /var/www/html/moodle 搬到 /home/moodle/html 下。這裡要配合前面的虛擬主機設定檔。&lt;/p&gt; &lt;p&gt;然後，修改 /home/moodle/html/config.php 裡的設定：&lt;/p&gt; 
&lt;pre class="php"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;修改 moodle 的 config.php&lt;/div&gt; &lt;span class="kw2"&gt;&amp;lt;?php&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 前略&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 修改下面這三行&lt;/span&gt; &lt;br/&gt;&lt;span class="re0"&gt;$CFG&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;wwwroot&lt;/span&gt; = &lt;span class="st0"&gt;'http://moodle.nlhs.tyc.edu.tw'&lt;/span&gt;; &lt;br/&gt;&lt;span class="re0"&gt;$CFG&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;dirroot&lt;/span&gt; = &lt;span class="st0"&gt;'/home/moodle/html'&lt;/span&gt;; &lt;br/&gt;&lt;span class="re0"&gt;$CFG&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;dataroot&lt;/span&gt; = &lt;span class="st0"&gt;'/home/moodle/moodledata'&lt;/span&gt;; &lt;br/&gt;&lt;span class="co1"&gt;// 後略&lt;/span&gt; &lt;br/&gt;&lt;span class="kw2"&gt;?&amp;gt;&lt;/span&gt;        &lt;/div&gt; &lt;p&gt;這時應該可以用新網址連至 moodle 了。&lt;/p&gt; &lt;p&gt;          &lt;strong&gt;            &lt;span style="FONT-SIZE: medium"&gt;moodle 改用 ldap 認證&lt;/span&gt;          &lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;huihui 已經建好了 ldap ，所以改用 ldap 認證。這裡要改兩個地方：&lt;/p&gt; &lt;p&gt;moodle 部份： 系統管理 &amp;gt; 帳號名稱 &amp;gt; 身份驗證選項 ，改用「使用一個LDAP伺服器」並填入相關參數。&lt;/p&gt; &lt;p&gt;資料庫部份： 要把之前使用 imap 驗證的使用者全改用 ldap 驗證，下面一個 SQL 就可以搞定：&lt;/p&gt; 
&lt;pre class="sql"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;改用 ldap 認證&lt;/div&gt; &lt;span class="kw1"&gt;UPDATE&lt;/span&gt; &lt;span class="st0"&gt;`mdl_user`&lt;/span&gt; &lt;span class="kw1"&gt;SET&lt;/span&gt; &lt;span class="st0"&gt;`auth`&lt;/span&gt;=&lt;span class="st0"&gt;'ldap'&lt;/span&gt; &lt;span class="kw1"&gt;WHERE&lt;/span&gt; &lt;span class="st0"&gt;`auth`&lt;/span&gt;=&lt;span class="st0"&gt;'imap'&lt;/span&gt;;&lt;/div&gt; &lt;p&gt;以上，收工。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8284449108657655142?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8284449108657655142/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/03/moodleapachemoodle.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8284449108657655142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8284449108657655142'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/03/moodleapachemoodle.html' title='[moodle][apache][網管]moodle 搬家到獨立網址'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6347489607964249830</id><published>2008-01-25T17:27:00.000+08:00</published><updated>2009-01-09T08:48:43.809+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[ubuntu]gcin 安裝嘸蝦米輸入法</title><content type='html'>&lt;p&gt;ubuntu 7.10 安裝 gcin 後，在輸入法選項裡預設就有嘸蝦米輸入法，不過卻無法使用，也連帶造成整個 gcin 失效。&lt;/p&gt; &lt;p&gt;原以為是 gcin 沒裝好的緣故，可是重裝整個 gcin 後還是不行，後來參考 lazyeeepc 之後才發現，原來 ubuntu 的 gcin 還是有把嘸蝦米包進去，但是預設是沒有啟動的。&lt;/p&gt; &lt;p&gt;要啟動 ubuntu gcin 裡的嘸蝦米輸入法，只要執行：&lt;/p&gt; 
&lt;pre class="bash"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;安裝嘸蝦米&lt;/div&gt; sudo /usr/share/gcin/script/noseeing-inst&lt;/div&gt; &lt;p&gt;就可以了。&lt;/p&gt; &lt;p&gt;我想，應該還是為了嘸蝦米輸入法表格的版權問題吧。如果你有購買嘸蝦米輸入法，不需要再搞什麼轉檔之類的工作，直接執行上面的指令就可以在 ubuntu 裡當個快樂的蝦米族了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6347489607964249830?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6347489607964249830/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/01/ubuntugcin.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6347489607964249830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6347489607964249830'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/01/ubuntugcin.html' title='[ubuntu]gcin 安裝嘸蝦米輸入法'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4570974728158857610</id><published>2008-01-08T08:44:00.000+08:00</published><updated>2009-01-05T00:27:49.931+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>[更新][網管]搬進 DMZ 、擋掉百度搜尋、擋掉搜狗搜尋</title><content type='html'>&lt;p&gt;這兩天提供 web 服務的主機狂當， CPU 經常跑到 100% 不回應，流量也不正常，於是終於做了一件早就該做的事：把這部主機搬進 DMZ 。 :P&lt;/p&gt; &lt;p&gt;另外在 access_log 裡看到大量的百度機器人和搜狗機器人搜尋紀錄，以前原本不太在意這回事兒，但既然主機有點流量問題，還是擋一下好了。參考&lt;a href="http://twntwn.info/blog/ajer001/archives/931" title="擋掉百度-阿駕"&gt;阿駕的擋掉百度&lt;/a&gt; (來自 GSLin 的&lt;a href="http://blog.gslin.org/archives/2006/02/26/416/" title="搞掉 Baidu Spider"&gt;這裡&lt;/a&gt;) 說明，加入了下面的設定：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;SetEnvIf User-Agent ^Baidu baidu &lt;br/&gt;Deny from env=baidu &lt;br/&gt;&lt;br/&gt;SetEnvIf User-Agent ^Sogou sogou &lt;br/&gt;Deny from env=sogou&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;huihui 說要從防火牆把整個百度擋掉，有人能幫忙提供 IP 列表嗎？&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4570974728158857610?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4570974728158857610/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2008/01/dmz.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4570974728158857610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4570974728158857610'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2008/01/dmz.html' title='[更新][網管]搬進 DMZ 、擋掉百度搜尋、擋掉搜狗搜尋'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1142874109045563169</id><published>2007-11-16T09:55:00.000+08:00</published><updated>2009-01-09T08:42:15.292+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vlan'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[網管]vlan 與 802.1Q</title><content type='html'>&lt;p&gt;huihui 說要研究這個......&lt;/p&gt; &lt;p&gt;先把看懂的記下來：&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;ul&gt; &lt;li&gt;802.1Q ：描述 vlan 的協議。 &lt;br/&gt;          &lt;/li&gt; &lt;li&gt;vlan ： Virtual bridged Local Area Network 。&lt;/li&gt; &lt;li&gt;四種 vlan 類型： &lt;ul&gt; &lt;li&gt;依 switch 上的 port 劃分 vlan ：大部份支援 vlan 的 switch 都有實作。 &lt;br/&gt;              &lt;/li&gt; &lt;li&gt;依電腦的 MAC 位址劃分 vlan ：好處是電腦移動時不必再調整 switch 設定，缺點是電腦很多時很難維護 switch 的設定，還有跨 swtich 時的 broadcast 問題。&lt;/li&gt; &lt;li&gt;依網路層劃分 vlan ：可以根據不同的網路層，甚至是協定來劃分 vlan ，似乎是進階的功能了。&lt;/li&gt; &lt;li&gt;依 IP 群組劃分 vlan ：好像不適合區域網路，效率問題。&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;vlan 原理：由 switch 在封包加上 4 Bytes 的 tag header 做 vlan 的識別，不在 TCP/IP 的標準內。&lt;/li&gt; &lt;li&gt;ethernet 交換封包流程： receive -&amp;gt; lookup / route -&amp;gt; transmit 。&lt;/li&gt; &lt;li&gt;tag aware port ：連接埠上的設備支援 vlan ，通常是另一個支援 vlan 的 switch。&lt;/li&gt; &lt;li&gt;access port ：連接埠上的設備不支援 vlan ，一般的電腦、伺服器、集線器等都是。 switch 收到封包時要加上 tag header ，送出封包時要移除 tag header 。 &lt;br/&gt;          &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;最重要的，使用 vlan 的目的，當然是為了網路管理：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;例如教務處在行政大樓，但設備組在專科教室大樓，透過機房及另兩棟大樓的骨幹 switch 支援，可以將設備組與教務處設在同一個 vlan ，形成一個邏輯上的區域網路。&lt;/li&gt; &lt;li&gt;可以減少骨幹上不必要的廣播封包。&lt;/li&gt; &lt;li&gt;流量排名與統計的分區處理。&lt;/li&gt; &lt;li&gt;IP 的使用與流量監控的彈性。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;理論上的部份大致上應該是這樣，實務上的操作與規劃則是與使用的網路設備有關。當然，完整建置所需的設備經費也很可觀就是了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1142874109045563169?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1142874109045563169/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/11/vlan-8021q.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1142874109045563169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1142874109045563169'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/11/vlan-8021q.html' title='[網管]vlan 與 802.1Q'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5238774341547033319</id><published>2007-11-12T16:05:00.000+08:00</published><updated>2009-01-05T00:27:33.846+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='碎碎唸'/><title type='text'>[碎碎唸]能力不足，煩另請高明</title><content type='html'>&lt;p&gt;在下義務管理的電子郵件主機被主任嫌垃圾信過濾太差了！&lt;/p&gt; &lt;p&gt;我是沒有認真的去做過統計到底效果是怎樣，只是每天一早收信時，個人的信箱除固定收到主機 security report 之外，大概過濾掉幾十到一百多封的垃圾信，只偶爾有少數漏網之魚罷了。至少過濾掉 95% 以上的垃圾信吧。公開的網管人員帳號收到的垃圾信應該是全校最多了吧？！&lt;/p&gt; &lt;p&gt;好啦，我承認沒花學校半毛錢的 postfix + procmail + spamassasin 過濾垃圾信的效果真的不如 google 的 gmail ，這樣還不滿意，只好拿掉 procmail + spamassassin ，讓學校另請高明做垃圾郵件防治，我管不了啦。&lt;/p&gt; &lt;p&gt;huihui ，對不起你啦！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5238774341547033319?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5238774341547033319/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/11/blog-post_12.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5238774341547033319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5238774341547033319'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/11/blog-post_12.html' title='[碎碎唸]能力不足，煩另請高明'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6876678914559203691</id><published>2007-11-11T22:35:00.002+08:00</published><updated>2009-01-05T00:27:25.672+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>準備搬家到 blogger</title><content type='html'>&lt;p&gt;有鑑於學校的網管義工大概不用做了，放在學校的 blog 也就不是很穏了，加上 blog 放在學校，想要大鳴大放總是有顧忌，還是趁早搬出來比較好。 &lt;br/&gt;&lt;br/&gt;就來試試 blogger 吧，如果用得習慣，準備把整個 lss 實驗室搬過來這裡。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6876678914559203691?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6876678914559203691/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/11/blogger.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6876678914559203691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6876678914559203691'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/11/blogger.html' title='準備搬家到 blogger'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1022189776187356710</id><published>2007-11-09T20:25:00.000+08:00</published><updated>2009-01-05T00:27:03.376+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>最快幹掉一個主機的方法</title><content type='html'>&lt;p&gt;經常看到有人不小心下了一個指令：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;rm -rf /&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;造成慘劇。但是，如果有心要讓慘劇發生的話，這個方法其實不太好。為什麼？因為只要來得及強迫停止執行、關機……等，沒刪掉的檔案還是救得回來。&lt;/p&gt; &lt;p&gt;目前我想得到的最邪惡的方法是：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;dd if=/dev/null of=/dev/sda bs=1m&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;把硬碟最開頭的 1MB 幹掉，又快又方便。雖然其他的部份沒有清掉，但是想要救回，大概也要進實驗室了吧？ @@&lt;/p&gt; &lt;p&gt;今天聽到了一些事，讓我感覺以前做了太多白工傻事。應該要把兩台&lt;strong&gt;乾淨的主機&lt;/strong&gt;還給學校才對，不需要做什麼義工了。&lt;/p&gt; &lt;p&gt;有人能提供更快速邪惡的方法嗎？哈…哈…哈…&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1022189776187356710?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1022189776187356710/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/11/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1022189776187356710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1022189776187356710'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/11/blog-post.html' title='最快幹掉一個主機的方法'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8716279340128400225</id><published>2007-11-01T18:58:00.000+08:00</published><updated>2009-01-05T00:26:57.566+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='SLAX'/><title type='text'>[SLAX]SLAX實驗室開張</title><content type='html'>&lt;p&gt;伙伴 huihui 交代要做一個 DNS LiveCD ，而且催了好幾遍，於是找上 &lt;a href="http://www.slax.org" title="SLAX.org"&gt;SLAX&lt;/a&gt; ，玩了兩天做出來了。據說這兩天就要上線試用看看。&lt;/p&gt; &lt;p&gt;重點是，這東西還 &lt;strong&gt;            &lt;span style="FONT-SIZE: large"&gt;真好玩&lt;/span&gt;          &lt;/strong&gt; ！&lt;/p&gt; &lt;p&gt;所以， SLAX 實驗室就開張了。&lt;/p&gt; &lt;p&gt;SLAX 是基於 &lt;a href="http://www.slackware.com" title="The Slackware Linux Project"&gt;slackware linux&lt;/a&gt; 版本的 LiveCD ，重點在輕薄短小，把大小控制在 180 MB 以下，能燒進 8 公分的小光碟隨身攜帶，又要有桌面系統、應用程式…… 。&lt;/p&gt; &lt;p&gt;自己客製化 SLAX 也是非常方便的，因為 &lt;a href="http://www.slax.org" title="SLAX.org"&gt;SLAX&lt;/a&gt; 使用模組來組織整個 OS ，而包裝、修改模組的工作也很方便。這回，就是用 192 MB 的 &lt;a href="ftp://ftp.linux.cz/pub/linux/slax/SLAX-5.x/special-editions/slax-server-5.1.8.1.iso" title="SLAX server edition"&gt;SLAX server edition&lt;/a&gt; 再精簡化後，改成只有大約 80 MB 的 DNS LiveCD 。其實，熟練以後，整個客製化過程也不會太久，花了兩天，是因為要從頭熟悉 &lt;a href="http://www.slax.org" title="SLAX.org"&gt;SLAX&lt;/a&gt; 架構，以及再重溫久遠之前玩 &lt;a href="http://www.slackware.com" title="The Slackware Linux Project"&gt;slackware linux&lt;/a&gt; 的回憶。真正客製化的過程，應該半個小時就足夠了。&lt;/p&gt; &lt;p&gt;最近會先把 &lt;a href="http://www.slax.org" title="SLAX.org"&gt;SLAX&lt;/a&gt; DNS LiveCD 的心得先整理記下來。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8716279340128400225?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8716279340128400225/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/11/slaxslax.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8716279340128400225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8716279340128400225'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/11/slaxslax.html' title='[SLAX]SLAX實驗室開張'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6214353379315522115</id><published>2007-10-30T23:03:00.000+08:00</published><updated>2009-01-05T00:26:52.591+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VM'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><title type='text'>[VirtualBox]Panic: CPU too old for this kernal.</title><content type='html'>&lt;p&gt;為了轉台到 Ubuntu ，裝了個 &lt;a href="http://www.virtualbox.org/" title="innotek VirtualBox"&gt;innotek VirtualBox&lt;/a&gt; 來安裝 ubuntu-7.10-server-i386.iso 。好容易裝起來了，結果如下：&lt;/p&gt; &lt;p&gt;          &lt;img src="http://lh5.ggpht.com/_NoueTEbEtsM/SWDXenESZeI/AAAAAAAAAdY/Ob2SjFdNJCA/panic_cpu_too_old.jpg?imgmax=400" style="DISPLAY: inline; WIDTH: 389px; HEIGHT: 256px" height="256" width="389" alt="virtualbox 安裝 ubuntu server 的結果" border="0"/&gt;        &lt;/p&gt; &lt;p&gt;上網查了一下，好像是 VirtualBox 的問題。殘念 -_-&lt;/p&gt; &lt;p&gt;有大德能指點一下明燈嗎？若沒有，只好去用還要註冊碼的 &lt;a href="http://www.vmware.com/" title="VMWare"&gt;VMWare&lt;/a&gt; 了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6214353379315522115?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6214353379315522115/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/virtualboxpanic-cpu-too-old-for-this.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6214353379315522115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6214353379315522115'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/virtualboxpanic-cpu-too-old-for-this.html' title='[VirtualBox]Panic: CPU too old for this kernal.'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_NoueTEbEtsM/SWDXenESZeI/AAAAAAAAAdY/Ob2SjFdNJCA/s72-c/panic_cpu_too_old.jpg?imgmax=400' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4349471881743635391</id><published>2007-10-25T22:54:00.001+08:00</published><updated>2009-01-09T08:49:37.526+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[postfix procmail spamassassin]搞定垃圾郵件過濾最終解決方案</title><content type='html'>&lt;p&gt;搞了一個禮拜的東西，記一下，做個紀念！&lt;/p&gt; &lt;p&gt;遇到的問題：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;amavisd-new 在當時無法從套件庫安裝。
解決方法：考慮大量相依性問題 ( 可能還有缺少的很多套件 ) ，放棄使用。
         &lt;/li&gt; &lt;li&gt;procmail 必需能搭配郵件目錄使用 Maildir/ 格式，而非 mbox 檔案格式。
解決方法：見前一篇「 &lt;a href="http://lsslab.blogspot.com/2007/10/postfix-procmail-maildirprocmail.html" rel="bookmark" title="Permanent Link: [postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配"&gt;[postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配&lt;/a&gt;」。&lt;/li&gt; &lt;li&gt;有人很少 ( 或根本 ) 不收信，家目錄的 quota 用完後，無法收信會讓 spamd / spamc 的執行環境錯亂無法過濾垃圾郵件。
本篇目的就是解決這個問題。&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;使用 procmail 替代直接遞送 mail box ，是造成上述問題的原因。如果是由 postfix 遞送郵件到收件人信箱，無法遞送時 ( 如我遇到的收件者信箱 quota exceeded 問題 ) 會由 postfix 退信。但是如果是由 promail 遞送到收件者信箱， postfix 把信交給 procmail 時，就算完工了，而 procmail 則是無法退信 ( 註1 ) ，於是送信到預設的 mbox 信箱去了。&lt;/p&gt; &lt;p&gt;我決定採用 &lt;a href="http://www.postfix.org/FILTER_README.html"&gt;Postfix After-Queue Content Filter&lt;/a&gt; 裡的 &lt;a href="http://www.postfix.org/FILTER_README.html#simple_filter"&gt;Simple content filter&lt;/a&gt; ，讓 procmail 做為 mail filter ( 註2 ) ，將郵件 pipe 給 spamc 過濾加標籤，再 pipe 給 sendmail ，讓郵件重回 postfix 的 mail queue ，讓 postfix 做最後的遞送到收件人信箱。如此，就可以解決收件人信箱 quota exceeded 的問題了。&lt;/p&gt; &lt;p&gt;以下是各項設定：&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;/etc/postfix/master.cf&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;# 修改這一行 ( 加入 content-filter )：
smtp inet n - n - - smtpd
-o content_filter=procmail:filter
# 加入這一行：
procmail unix - n n - - pipe
flags=R user=filter argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;/etc/postfix/main.cf&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;不用 mailbox_command 來使用 procmail 。
postconf -e mailbox_command=&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;/etc/procmailrc&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;# log 檔路徑
LOGFILE=/var/log/procmail.log
SENDER=$1
SHIFT=1

# 將信件轉給 spmac 過濾並加標籤
:0 hbfw
| /usr/local/bin/spamc

# 將已過濾加標籤的信送回給 smtp
:0
| /usr/sbin/sendmail -i -f "$SENDER" -- "$@"
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;建立使用者 filter&lt;/p&gt; &lt;p&gt;不允許登入，要有 shell 及家目錄，因為 spamassassin 會把設定與資料寫在 /home/filter/.spamassassin/ 裡。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;useradd -d /home/filter -s /bin/sh filter
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;建立 log 檔， owner 為 filter ，procmail 才能寫入。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;touch /var/log/procmail.log
chown filter.filter /var/log/procmail.log
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;重新載入 postfix 設定，信件重新排入 mail queue 。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;postsuper -r ALL
postfix reload
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;順利的話，到這裡應該已經開始過濾垃圾信了。因為使用的是 Mandriva ，安全等級為 high ，所以還要再做一些後續設定。&lt;/p&gt; &lt;p&gt;/var/log/procmail.log 的 owner 問題：&lt;/p&gt; &lt;p&gt;Mandriva 的安全性程式 msec 會定時把 /var/log/procmail.log 的 owner 改為 root.root ，但是 procmail 是用 filter 帳號的身份執行，會造成無法寫入 log 檔。處理方法如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;vi /etc/security/msec/perm.local
/var/log/procmail.log filter.filter 0640
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;最後， /var/log/procmail.log 要定期維護，以免長太大佔用太多硬碟空間。這裡使用 logrotate 來維護 procmal.log 。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;建立 /etc/logrotate.d/procmail
/var/log/procmail.log {
create 0640 filter filter
weekly
size=10M
rotate 5
compress
}
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;搞定！最近幾篇就是這一週來的紀念了。&lt;/p&gt; &lt;p&gt;註1： procmail 應該是可以 pipe 給 sendmail 做退信的動作，但是效率上應該差很多。&lt;/p&gt; &lt;p&gt;註2： 一般用 simple content filter 是建一個 filter.sh ，在 script 裡做 procmail + spamassassin ，再 sendmail 。我是搜尋到下面這兩篇，提供參考設定，直接使用 procmail 就行了。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;參考連結1： &lt;a href="http://www.webservertalk.com/archive280-2004-6-252672.html"&gt;http://www.webservertalk.com/archive280-2004-6-252672.html&lt;/a&gt;          &lt;/li&gt; &lt;li&gt;參考連結2： &lt;a href="http://www.webservertalk.com/archive280-2005-4-1028899.html"&gt;http://www.webservertalk.com/archive280-2005-4-1028899.html&lt;/a&gt;
         &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4349471881743635391?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4349471881743635391/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/postfix-procmail-spamassassin.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4349471881743635391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4349471881743635391'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/postfix-procmail-spamassassin.html' title='[postfix procmail spamassassin]搞定垃圾郵件過濾最終解決方案'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8586708947568876231</id><published>2007-10-23T23:06:00.000+08:00</published><updated>2009-01-05T00:26:34.800+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='procmail'/><category scheme='http://www.blogger.com/atom/ns#' term='Maildir'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>[postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配</title><content type='html'>&lt;p&gt;以前使用 procmail + spamassassin 過濾垃圾信，只會搭配 mbox 信箱使用，後來為了設定用戶信箱的 qutoa ，將信箱格式改為 Maildir/ 目錄信箱格式，就不再使用 procmail ，而改用 amavisd-new 了。&lt;/p&gt; &lt;p&gt;現在放棄 amavisd-new ，回頭改用 procmail ，搭配 Maildir/ 的問題得想辦法解決。終於給我搞定了，紀錄如下：&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;在契而不捨的搜尋下，終於找到了這篇討論：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;            &lt;a href="http://www.redhat.com/archives/rhl-list/2005-January/msg00974.html"&gt;http://www.redhat.com/archives/rhl-list/2005-January/msg00974.html&lt;/a&gt;          &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;依照討論裡的方法並稍加修改，將 /etc/procmailrc 設定如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;LOGFILE=/var/log/procmail.log &lt;br/&gt;DROPPRIVS=yes &lt;br/&gt;DEFAULT=$HOME/Maildir/ &lt;br/&gt;MAILDIR=$HOME/Maildir &lt;br/&gt;&lt;br/&gt;:0fw &lt;br/&gt;| /usr/local/bin/spamc&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;然後建立 procmail.log 檔：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;touch /var/log/procmail.log&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;接著設定 postfix 將郵件遞送給 procmai ：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;postconf -e mailbox_command=/usr/bin/procmail &lt;br/&gt;/etc/rc.d/init.d/postfix reload&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;果然成功了！可以從 procmail.log 裡看到信件被 spamassassin 過濾加標籤，並正確遞送到收件者的 Maildir 目錄下。&lt;/p&gt; &lt;p&gt;可惜，好景不常，如果不用管使用者 quota 的話，世界應該是美好的。 spamc / spamd 一陣子後就無緣無故失效了，信件被 procmail 遞送到 /var/mail/userxxx 信箱去了。&lt;/p&gt; &lt;p&gt;/var/log/mail/info.log 裡的相關紀錄之一：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;procmail: &lt;strong&gt;Quota exceeded&lt;/strong&gt; while writing "/home/userblahblah/Maildir/tmp/1192780146.5838_0.mail"&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;於是，修改後的 /etc/procmailrc 第二版如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;LOGFILE=/var/log/procmail.log &lt;br/&gt;DROPPRIVS=yes &lt;br/&gt;DEFAULT=$HOME/Maildir/ &lt;br/&gt;MAILDIR=$HOME/Maildir &lt;br/&gt;&lt;br/&gt;:0fw &lt;br/&gt;| /usr/local/bin/spamc &lt;br/&gt;&lt;br/&gt;# 如果發生錯誤則離開，以免搞亂之後的 spamc /spamd 執行環境。 &lt;br/&gt;:O E &lt;br/&gt;{ &lt;br/&gt;EITCODE=127 &lt;br/&gt;}&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;這樣做可以解決部份問題，但是超過 quota 的用戶，信件並沒有被退回，還是送到 mbox 信箱去。&lt;/p&gt; &lt;p&gt;我想，這是因為 mailbox_command 是 postfix 用來取代遞送信件到信箱的動作，所以由 procmail 接手後， postfix 便認為信件遞送動作完成，不會處理無法寄達信箱的退信了。&lt;/p&gt; &lt;p&gt;好，這個方法要組合 postfix ( Maildir/ ) + procmail + spamassassin 來過濾垃圾信應該是不可行了，要另尋他法。不過，至少玩出了 procmail + Maildir 的用法，也算是有收獲。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8586708947568876231?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8586708947568876231/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/postfix-procmail-maildirprocmail.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8586708947568876231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8586708947568876231'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/postfix-procmail-maildirprocmail.html' title='[postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4250546669269167919</id><published>2007-10-23T22:28:00.000+08:00</published><updated>2009-01-09T08:49:56.532+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[spamassassin]自己動手安裝spamc/spamd</title><content type='html'>&lt;p&gt;上週升級 mail 主機的痛苦之一，是套件庫裡雖有 spamassassin ，但是少了 spamc / spamd 。學校的 mail 主機，真正在用的人雖然不多，但是垃圾著實不少，還是得用 spamc / spamd 來得安全些。&lt;/p&gt; &lt;p&gt;既然套件庫沒有，那就自己抓 source 來安裝吧。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt; &lt;br/&gt;SpamAssassin 下載網頁： &lt;a href="http://spamassassin.apache.org/downloads.cgi?update=200708092033"&gt;http://spamassassin.apache.org/downloads.cgi?update=200708092033&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;該網頁會自動幫你找一個合適的 mirror site 。&lt;/p&gt; &lt;p&gt;下載目前的最新版本：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;wget &lt;a href="http://apache.stu.edu.tw/spamassassin/source/Mail-SpamAssassin-3.2.3.tar.gz"&gt;http://apache.stu.edu.tw/spamassassin/source/Mail-SpamAssassin-3.2.3.tar.gz&lt;/a&gt;          &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;安裝：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;cd /usr/local/src &lt;br/&gt;tar zxvf Mail-SpamAssassin-3.2.3.tar.gz &lt;br/&gt;cd Mail-SpamAssassin-3.2.3 &lt;br/&gt;perl Makefile.PL &lt;br/&gt;..... &lt;br/&gt;default text: [the administrator of that system] 輸入管理員 email &lt;br/&gt;.....&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;此時會有有兩個警告訊息：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;optional module missing: Mail::DomainKeys &lt;br/&gt;optional module missing: Mail::DKIM&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;沒有用到那兩個 plugin ，沒關係，接著編譯：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;make &lt;br/&gt;make install&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;順利的話，已經安裝完成了。兩個重要的執行檔分別在 /usr/local/bin/spamassassin 和 /usr/local/bin/spamc&lt;/p&gt; &lt;p&gt;接著建立 spamd 啟動程序：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;cd spamd &lt;br/&gt;cp redhat-rc-script.sh /etc/rc.d/init.d/spamd&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;設定 /etc/mail/spamassassin/local.cf (只列出修改的部份)&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;# 原來的*****SPAM*****太長了 &lt;br/&gt;rewrite_header Subject [SPAM] &lt;br/&gt;&lt;br/&gt;# 關閉用附件方式處理垃圾信 &lt;br/&gt;report_safe 0&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;spamassassin 的預設行為，另寄通知信給收件者，並把判定為垃圾信的郵件變成附件。不過，垃圾信其實常部份是廣告信，有人愛著咧。讓他們來抗議是給自己找麻煩。所以，只要在 mail header 加上標籤，並修改主旨，剩下的讓收信人自己處理吧。&lt;/p&gt; &lt;p&gt;啟動 spamd&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;etc/rc.d/init.d/spamd start&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;完成了，來測試一下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;cd /usr/local/src/Mail-SpamAssassin-3.2.3 &lt;br/&gt;spamc &amp;lt; sample-nonspam.txt &amp;gt; nonspam.out &lt;br/&gt;spamc &amp;lt; sample-spam.txt &amp;gt; spam.out&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;這時， nospam.out 和 spam.out 應該可以在表頭區看到下面的內容 ( 以 spam.out 為例 ) ：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;X-Spam-Flag: YES &lt;br/&gt;X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on mail.nlhs.tyc.edu.tw &lt;br/&gt;X-Spam-Level: ************************************************** &lt;br/&gt;X-Spam-Status: Yes, score=1002.5 required=5.0 tests=GTUBE,NO_RECEIVED, &lt;br/&gt;NO_RELAYS,RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E4_51_100,RAZOR2_CHECK &lt;br/&gt;autolearn=no version=3.2.3 &lt;br/&gt;X-Spam-Report: &lt;br/&gt;* -0.0 NO_RELAYS Informational: message was not relayed via SMTP &lt;br/&gt;* 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email &lt;br/&gt;* 1.5 RAZOR2_CF_RANGE_E4_51_100 Razor2 gives engine 4 confidence level &lt;br/&gt;* above 50% &lt;br/&gt;* [cf: 100] &lt;br/&gt;* 0.5 RAZOR2_CHECK Listed in Razor2 (http://razor.sf.net/) &lt;br/&gt;* 0.5 RAZOR2_CF_RANGE_51_100 Razor2 gives confidence level above 50% &lt;br/&gt;* [cf: 100] &lt;br/&gt;* -0.0 NO_RECEIVED Informational: message has no Received headers &lt;br/&gt;Subject: [SPAM] Test spam mail (GTUBE)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;搞定！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4250546669269167919?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4250546669269167919/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/spamassassinspamcspamd.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4250546669269167919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4250546669269167919'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/spamassassinspamcspamd.html' title='[spamassassin]自己動手安裝spamc/spamd'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4441488688186318593</id><published>2007-10-22T20:29:00.000+08:00</published><updated>2009-01-09T08:50:14.338+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='升級'/><category scheme='http://www.blogger.com/atom/ns#' term='碎碎唸'/><title type='text'>[碎碎唸]升級主機的作業系統要懂得忍</title><content type='html'>&lt;p&gt;上週把 mail 主機的 Mandriva 升級為最新的 2008.0 Free 版本，結果，讓我一週來吃不好睡不好，日子難過。為什麼？因為我升級的「太早」。&lt;/p&gt; &lt;p&gt;為什麼，因為我不懂得要忍一下，沒有等到台灣的 mirror 站完全 mirror 完所有套件。&lt;/p&gt; &lt;p&gt;mail 主機的 email 服務，我是使用 postfix + amavisd-new + spamassassin ( spamd / spamc ) 的組合做 spam filter 。最早是用 postfix + procmail + spamassassin ，但是因為資源有限，必需控管用戶信箱的 quota ，所以 postfix 改用 Maildir/ 格式的信箱。但是當時 procmail 搞不定 Maildir/ 格式信箱，只能使用 mbox 格式，不合用。後來就改用 amavisd-new 當 postfix 的 filter server 取代使用 mailbox_command 的 procmail 。&lt;/p&gt; &lt;p&gt;在 Mandrake 2006 時，因為 postfix / amavisd-new / spamassassin / spamd /spamc 都有現成的套件，而且相依性的處理很好，只要簡單的 urpmi xxx ，然後修改設定檔就可以搞定了。&lt;/p&gt; &lt;p&gt;這回升級到 2008.0 Free 時，問題可大了：&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;ol&gt; &lt;li&gt;三片安裝光碟只有 main 套件。&lt;/li&gt; &lt;li&gt;全台只找得到兩個 mirror site ： &lt;ol&gt; &lt;li&gt;mdk.linux.org.tw ，不過連線狀況時好時壞。&lt;/li&gt; &lt;li&gt;ftp.ntcu.net 。&lt;/li&gt; &lt;li&gt;兩個 mirror site 都套件不全。&lt;/li&gt; &lt;li&gt;以前常用的兩個大水管中山大學與義守大學則是沒看到 Mandriva 2008.0 Free 的 mirror ( 是不是表示國內的 Mandriva 使用者愈來愈少了？)。&lt;/li&gt; &lt;/ol&gt; &lt;/li&gt; &lt;li&gt;國外的 mirror site 速度慢，中午過後更有 TANet 出國限流，更是雪上加霜。&lt;/li&gt; &lt;li&gt;不管如何，有網路套件庫可用，即使慢一點也還可以接受。最大的問題是，這些站都還 mirror 不完全。&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;於是，我要安裝 amavisd-new ，找不到 orz ； spamassassin 有，但是沒有 spamc / spamd orz 。&lt;/p&gt; &lt;p&gt;沒有套件，只好上網找 source 回來自己裝。為了單純化，這次回頭使用 procmail ，好不容易找到 procmail 使用 Maildir/ 郵件信箱格式的方法。結果，有用戶的信箱都沒在收信，塞滿垃圾後， quota exceed 造成 spamd / spamc 的環境錯亂，無法繼續濾信。&lt;/p&gt; &lt;p&gt;後來終於找到不用 mailbox_command ，而用 mail filter 的方法來使用 procmail ，讓 quota exceed 問題交回給 postfix 自己處理 ( 可以正常退信 ) 。&lt;/p&gt; &lt;p&gt;這前後，搞了我一個禮拜的時間，累死了。&lt;/p&gt; &lt;p&gt;今天全搞定之後，又下了 urpmq 再查一下網路套件的狀況， amavisd-new / spamd / spamc 都有了。 囧rz&lt;/p&gt; &lt;p&gt;這次的教訓有二：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;線上服務的伺服器一定要等 OS 的 mirror site 完整後再做升級。&lt;/li&gt; &lt;li&gt;似乎真的該轉檯了。 Ubuntu 似乎是個不錯的選擇。&lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4441488688186318593?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4441488688186318593/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/blog-post_22.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4441488688186318593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4441488688186318593'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/blog-post_22.html' title='[碎碎唸]升級主機的作業系統要懂得忍'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4131652595519404695</id><published>2007-10-18T22:00:00.000+08:00</published><updated>2009-01-09T08:51:44.334+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[poppassd]使用 MD5 密碼</title><content type='html'>&lt;p&gt;          &lt;a href="http://ipsec.pl/pubs/poppassd.php" title="poppassd-ceti"&gt;poppassd&lt;/a&gt; 透過 pam 來改密碼，預設是使用 DES 編碼，要改用比較安全的 MD5 ，要修改 /etc/pam.d/poppassd&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;#%PAM-1.0 &lt;br/&gt;auth required pam_pwdb.so shadow nullok &lt;br/&gt;account required pam_pwdb.so &lt;br/&gt;password required pam_cracklib.so retry=3 &lt;br/&gt;password required pam_pwdb.so &lt;strong&gt;md5&lt;/strong&gt; use_authtok nullok&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;在第四行的 pam_pwdb.so 加上 md5 參數就行了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4131652595519404695?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4131652595519404695/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/poppassd-md5.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4131652595519404695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4131652595519404695'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/poppassd-md5.html' title='[poppassd]使用 MD5 密碼'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-2486993556599878235</id><published>2007-10-18T20:02:00.001+08:00</published><updated>2009-01-09T08:52:02.422+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='webmail'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[poppassd]500 Old password is incorrect</title><content type='html'>&lt;p&gt;以前用 &lt;a href="http://www.squirrelmail.org/" title="SquirrelMail"&gt;SquirrelMail&lt;/a&gt; 時，有一個 &lt;a href="http://www.squirrelmail.org/plugin_view.php?id=21" title="pluing: change password"&gt;change_password plugin&lt;/a&gt; 很好用，我是用 poppassd backend ，可以讓使用者直接在 webmail 裡修改自己帳號的密碼。&lt;/p&gt; &lt;p&gt;後來&lt;a href="http://lsslab.blogspot.com/2006/09/v-webmail.html" title="V-webmail 實驗室開張"&gt;因故&lt;/a&gt;放棄 SquirrelMail 後，改用 &lt;a href="http://sourceforge.net/projects/v-webmail/" title="V-webmail"&gt;V-webmail&lt;/a&gt; ，界面什麼都不錯，中文問題也修得差不多了，就是沒有線上改密碼的功能。於是，動手把 SquirrelMail 的 change_password plugin 裡的 poppassd beckend 給移植過來用，效果蠻不錯的。&lt;/p&gt; &lt;p&gt;          &lt;img src="http://lh4.ggpht.com/_NoueTEbEtsM/SWDVrjcBGnI/AAAAAAAAAdQ/sUP4-yk3knM/chpw2.jpg?imgmax=512" style="display: inline; width: 459px; height: 319px;" alt="V-webmail change password" border="0" height="319" width="459" /&gt;        &lt;/p&gt; &lt;p&gt;最近將 Mail 主機升級 ( 其實是重新安裝 ) 成 Mandriva 2008.0 Free ，結果慘劇發生，完全相同的程式碼，不管輸入的密碼是多麼的正確，一律給錯：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;            &lt;strong&gt;500 Old password is incorrect&lt;/strong&gt;          &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;好不容易終於解決了。因為是 &lt;a href="http://ipsec.pl/pubs/poppassd.php" title="poppassd-ceti"&gt;poppassd&lt;/a&gt; 的問題，所以，解決這個問題後， SquirrelMail 的 change_password plugin 不能換密碼的問題也可以一併解決。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;查了半天程式、 log 、網路，不斷搜尋資料，一直找不到原因，直到看到有人提到 /etc/pam.d/poppassd 裡面&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;#%PAM-1.0
auth required pam_pwdb.so shadow nullok
account required pam_pwdb.so
password required pam_cracklib.so retry=3
password required pam_pwdb.so use_authtok nullok&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;使用的 pam_pwdb.so ，但是系統上沒有這個檔案 O_O 。仔細一查，奇了， Mandriva 2008.0 竟然真的找不到這個檔案。 -_-&lt;/p&gt; &lt;p&gt;知道原因，就好辦。仔細查了一下， Mandriva 2008.0 Free 的 pam 套件裡，真的沒提供 pam_pwdb.so 。網路上看到似乎 pam_pwdb.so 是 redhat 維護的，我沒去找 source code ，以後還要升級啊。而 pam_pwdb.so 與 pam_unix.so 是相同功能的模組，於是解決方法就很簡單了：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;cd /lib/security
ln -s pam_unix.so pam_pwdb.so&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;建立一個 soft link ，用 pam_unix.so 來提供 pam_pwdb.so 的功能，搞定！&lt;/p&gt; &lt;p&gt;          &lt;img src="http://lh4.ggpht.com/_NoueTEbEtsM/SWDVt2AshII/AAAAAAAAAdU/V5ylugXZlLU/chpw3.jpg?imgmax=576" style="display: inline; width: 518px; height: 551px;" alt="V-webmail change password" border="0" height="551" width="518" /&gt;        &lt;/p&gt; &lt;p&gt;順便記一下，網路上找到的文件，關於 pam 各模組的介紹，蠻詳細的：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;            &lt;a href="http://big5.webasp.net/article/11/10849.htm"&gt;http://big5.webasp.net/article/11/10849.htm&lt;/a&gt;          &lt;/li&gt; &lt;li&gt;            &lt;a href="http://big5.webasp.net/article/11/10851.htm"&gt;http://big5.webasp.net/article/11/10851.htm&lt;/a&gt;          &lt;/li&gt; &lt;li&gt;            &lt;a href="http://big5.webasp.net/article/11/10850.htm"&gt;http://big5.webasp.net/article/11/10850.htm&lt;/a&gt;          &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-2486993556599878235?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/2486993556599878235/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/poppassd500-old-password-is-incorrect.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2486993556599878235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2486993556599878235'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/poppassd500-old-password-is-incorrect.html' title='[poppassd]500 Old password is incorrect'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_NoueTEbEtsM/SWDVrjcBGnI/AAAAAAAAAdQ/sUP4-yk3knM/s72-c/chpw2.jpg?imgmax=512' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1730798304045273572</id><published>2007-10-08T23:17:00.000+08:00</published><updated>2009-01-05T00:25:37.791+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='碎碎唸'/><title type='text'>[碎碎唸]這個可能要用電腦…</title><content type='html'>&lt;p&gt;huihui 今天有感而發，寫了這篇「&lt;a href="http://blog.nlhs.tyc.edu.tw/post/3/273" title="這個可能要用電腦......"&gt;這個可能要用電腦…&lt;/a&gt;」。以下的內容原本是那篇文章的回應，後來想想，這樣的言論還是放自己的 blog 好了。&lt;/p&gt; &lt;p&gt;對於那些 動不動 / 一有機會 就把「這個可能要用電腦…」掛在嘴邊的業務執行人員，想理所當然的把工作推給「懂電腦的人」，我想回應你們幾句話：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;「沒那個屁股，就不要吃那堆泄藥。」 &lt;br/&gt;&lt;br/&gt;「這可能要用電腦…」「可以啊，自己做」 &lt;br/&gt;&lt;br/&gt;「我又不會？」「那就不要用電腦做啊！」 &lt;br/&gt;&lt;br/&gt;「你比較厲害啦！」「要你管。」 &lt;br/&gt;&lt;br/&gt;「這一定得用電腦啦！」「既然如此，幹嘛不早學？」 &lt;br/&gt;&lt;br/&gt;「這個馬上就要，我做不出來。」「那是你家的事。」 &lt;br/&gt;&lt;br/&gt;「我不管了，就給他開天窗吧。」「那還是你家的事。」&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;就這樣。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1730798304045273572?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1730798304045273572/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1730798304045273572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1730798304045273572'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/blog-post.html' title='[碎碎唸]這個可能要用電腦…'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4830231846468147254</id><published>2007-10-04T15:34:00.000+08:00</published><updated>2009-01-09T08:51:11.910+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sshd'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[ssh]Server refused our key</title><content type='html'>&lt;p&gt;為了讓努力不懈的大陸網友能有繼續努力永不休止的機會， Server 的 ssh 全面使用 ssh-key 認證，密碼登入沒有了。&lt;/p&gt; &lt;p&gt;不過，改用過程中發生一件怪事，我的帳號沒有問題，可以用 ssh-key 登入 ssh console / sftp ，但是同事的帳號卻發生 "Server refused our key" 的訊息拒絕連線。&lt;/p&gt; &lt;p&gt;經過一番檢查，原來是 ~/.ssh/authorized_keys 的權限錯了。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;authorized_keys 的 group 和 others 不能有 w 權限。這其實蠻合理的，否則 public key 被別人改了，自己不就不能連進主機了嗎？！&lt;/p&gt; &lt;p&gt;          &lt;a href="http://www.openssh.org/manual.html" title="OpenSSH Manual"&gt;OpenSSH Manual&lt;/a&gt; 的 &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssh" title="ssh manual"&gt;ssh 說明&lt;/a&gt;裡有寫到：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;~/.ssh/authorized_keys &lt;br/&gt;&lt;br/&gt;Lists the public keys (RSA/DSA) that can be used for logging in as this user. The format of this file is described in the sshd(8) manual page. &lt;strong&gt;This file is not highly sensitive, but the recommended permissions are read/write for the user, and not accessible by others.&lt;/strong&gt;          &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;所以，只要&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;cd ~/.ssh &lt;br/&gt;chmod 600 authorized_keys&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;搞定。&lt;/p&gt; &lt;p&gt;順便記一下， authorized_keys 可以放多個 public key ，但格式是每行一個 key ，不能自己亂斷行。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4830231846468147254?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4830231846468147254/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/sshserver-refused-our-key.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4830231846468147254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4830231846468147254'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/sshserver-refused-our-key.html' title='[ssh]Server refused our key'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3850495640763114436</id><published>2007-10-03T14:03:00.001+08:00</published><updated>2009-01-06T15:11:46.637+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSL'/><category scheme='http://www.blogger.com/atom/ns#' term='lifetype'/><title type='text'>[hack]使用SSL連線的管理界面</title><content type='html'>&lt;p&gt;伙伴 huihui 最近在玩 ca 認證主機，幫 blog 簽了一個 SSL 憑證，要&lt;a href="http://lsslab.blogspot.com/2007/10/apachessl.html" title="[apache]虛擬主機與SSL憑證"&gt;試試虛擬主機是否能使用獨立的憑證&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;試完了，想說 SSL 憑證不用白不用，於是動手改一改 LifeType 程式，看看能否做到後台管理界面都在 SSL 連線下作業，至少 login 時輸入帳號密碼會比較安全。&lt;/p&gt; &lt;p&gt;初步試驗算蠻成功的，只修改兩個地方：&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;第一個地方，提供管理界面網址的程式碼， class/net/baserequestgenerator.class.php 裡的 getAdminUrl() 方法，改成如下：&lt;/p&gt;
&lt;pre class="php"&gt;
&lt;/pre&gt;
&lt;div class="insertcode"&gt; &lt;div class="head"&gt;baserequestgenerator getAdminUrl() method&lt;/div&gt; &lt;span class="kw2"&gt;function&lt;/span&gt; getAdminUrl&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="re0"&gt;$useSubdomains&lt;/span&gt; = &lt;span class="kw2"&gt;true&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;
&lt;span class="br0"&gt;{&lt;/span&gt;
&lt;span class="co1"&gt;// $url = $this-&amp;gt;getBaseUrl( $useSubdomains )."/admin.php";&lt;/span&gt;
&lt;span class="re0"&gt;$url&lt;/span&gt; = &lt;span class="st0"&gt;"https://blog.nlhs.tyc.edu.tw/admin.php"&lt;/span&gt;;

&lt;span class="kw1"&gt;return&lt;/span&gt; &lt;span class="re0"&gt;$url&lt;/span&gt;;
&lt;span class="br0"&gt;}&lt;/span&gt;        &lt;/div&gt; &lt;p&gt;這部份因為 LifeType 並沒有提供相關的設定值可以用，而且目前是試著玩看看，我就直接把管理界面的網址 hard code 成我網誌管理頁面的 https 連結了，想嚐試的人這裡要自己更改。晚上再跟 mark 商量看看，在管理界面裡加入相關設定值來支援的可能性。&lt;/p&gt; &lt;p&gt;其實這裡完成後，只要模版裡是規規矩矩的用 {$url-&amp;gt;getAdminUrl()} 來產生管理界面網頁連結的應該就可以達成使用 https 連線進管理界面了。只要先把 server 上的 cache 清掉 (./tmp/* ) 大概就可以正常工作了。若還有問題，那大概要檢查一下模版裡是不是用了其他方法產生 admin.php 的連結。&lt;/p&gt; &lt;p&gt;另一個要改的地方是摘要頁面 summary 的模版。在 templates/summary/index.template 裡，登入表單的 action 值是用相對路徑到 "admin.php" ，登入後的「管理者界面」連結也要處理。下面是我修改的地方：&lt;/p&gt;
&lt;pre class="smarty"&gt;
&lt;/pre&gt;
&lt;div class="insertcode"&gt; &lt;div class="head"&gt;templates/summary/index.template&lt;/div&gt; &lt;span class="coMULTI"&gt;{****上略****}&lt;/span&gt;
&amp;lt;h2&amp;gt;&lt;span class="br0"&gt;{&lt;/span&gt;$locale-&amp;gt;tr&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="st0"&gt;"login"&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&amp;lt;/h2&amp;gt;
&lt;span class="coMULTI"&gt;{*改下面這行*}&lt;/span&gt;
&amp;lt;form id="loginForm" method="post" action="&lt;span class="br0"&gt;{&lt;/span&gt;$url-&amp;gt;getAdminUrl&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;"&amp;gt;
&amp;lt;fieldset class="inputField"&amp;gt;
&lt;span class="br0"&gt;{&lt;/span&gt;dynamic&lt;span class="br0"&gt;}&lt;/span&gt;
&lt;span class="br0"&gt;{&lt;/span&gt; &lt;a href="http://smarty.php.net/if"&gt;            &lt;span class="kw1"&gt;if&lt;/span&gt;          &lt;/a&gt; $authuser&lt;span class="br0"&gt;}&lt;/span&gt;
&lt;span class="br0"&gt;{&lt;/span&gt; &lt;a href="http://smarty.php.net/assign"&gt;            &lt;span class="kw3"&gt;assign&lt;/span&gt;          &lt;/a&gt; var=userName &lt;span class="kw6"&gt;value&lt;/span&gt;=$authuser-&amp;gt;getUsername&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;
&lt;span class="br0"&gt;{&lt;/span&gt;$locale-&amp;gt;pr&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="st0"&gt;"summary_welcome_msg"&lt;/span&gt;, $userName&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&amp;lt;br/&amp;gt;
&lt;span class="coMULTI"&gt;{*還有下面這行*}&lt;/span&gt;
&amp;lt;a href="&lt;span class="br0"&gt;{&lt;/span&gt;$url-&amp;gt;getAdminUrl&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;?op=blogSelect"&amp;gt;&lt;span class="br0"&gt;{&lt;/span&gt;$locale-&amp;gt;tr&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="st0"&gt;"summary_go_to_admin"&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&amp;lt;/a&amp;gt;
&lt;span class="br0"&gt;{&lt;/span&gt; &lt;a href="http://smarty.php.net/else"&gt;            &lt;span class="kw1"&gt;else&lt;/span&gt;          &lt;/a&gt; &lt;span class="br0"&gt;}&lt;/span&gt;
&lt;span class="coMULTI"&gt;{****下略****}&lt;/span&gt;        &lt;/div&gt; &lt;p&gt;這樣， summary 也可以用 https 連管理界面了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3850495640763114436?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3850495640763114436/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/hackssl.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3850495640763114436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3850495640763114436'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/hackssl.html' title='[hack]使用SSL連線的管理界面'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4140164229947586519</id><published>2007-10-03T13:42:00.000+08:00</published><updated>2009-01-09T08:51:11.913+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSL'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualHost'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>[apache]虛擬主機與SSL憑證</title><content type='html'>&lt;p&gt;純筆記！&lt;/p&gt; &lt;p&gt;          &lt;strong&gt;IP-based Virtual host 可以各自擁有獨立的 SSL 憑證， Name-based Virtual host 則只能共用一個 SSL 憑證。&lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;原因： SSL 為比 http 更底層的協定， Name-based Virtual host 是在 http 層才能分辨，而 SSL 憑證早在這之前就載入了。&lt;/p&gt; &lt;p&gt;          &lt;strong&gt;若 Virtual host 要同時支援 http 與 https 協定，要當成兩個 Virtual host 設定，分別監聽 80 port 與 443 port ，&lt;/strong&gt;但是把網址與文件目錄設為相同。至於 access log 與 error log 最好是分開以方便未來利用。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4140164229947586519?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4140164229947586519/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/10/apachessl.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4140164229947586519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4140164229947586519'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/10/apachessl.html' title='[apache]虛擬主機與SSL憑證'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-2169840225646544448</id><published>2007-09-30T22:19:00.000+08:00</published><updated>2009-01-05T00:25:06.569+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Firefox Sage 退役，改用 Google Reader</title><content type='html'>&lt;p&gt;訂閱了五十多個 RSS ，一直都是用 Firefox + Sage 當 RSS Reader ，也用得很順，就是要維護家裡和學校幾台電腦裡的訂閱清單一致，覺得麻煩而已。&lt;/p&gt; &lt;p&gt;一直嚐試找一個好用的 online RSS Reader ，試過了 Bloglines ，他的界面跟我沒緣份；也試過 Newsgator ，但是太慢了。後來折衷的方法是，把一些比較關注的 RSS 用 Newsgator 做成聯播，放在 blog 上，權充線上閱讀器使用。&lt;/p&gt; &lt;p&gt;google reader 也試用過，但是以前的界面覺得不是那麼方便閱讀文章，留下了一堆 RSS 後，就沒理他了。&lt;/p&gt; &lt;p&gt;前一陣子終於 google reader 改版並且出中文界面了，於是嚐試改用 google reader 取代 Firefox + Sage 的組合。一段時間的使用後， google reader 速度快、界面清爽好用，配合 google toolbar 工具按鈕提示，實在很滿意。於是決定切換到 google reader 上，讓 Sage 從 Firefox 上退役。&lt;/p&gt; &lt;p&gt;本站上的網誌聯播也一併被取代，功成身退了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-2169840225646544448?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/2169840225646544448/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/firefox-sage-google-reader.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2169840225646544448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2169840225646544448'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/firefox-sage-google-reader.html' title='Firefox Sage 退役，改用 Google Reader'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3052587999524108619</id><published>2007-09-30T14:23:00.000+08:00</published><updated>2009-01-05T00:25:01.296+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='好玩'/><title type='text'>skinniest=藍心湄</title><content type='html'>&lt;p&gt;這是怎麼回事啊？！ @@?&lt;/p&gt; &lt;p&gt;剛剛用 iGoogle 的自動翻譯查一下「 skinniest 」這個單字，結果自動翻譯的結果竟然是「藍心湄」？！&lt;/p&gt; &lt;p&gt;有圖有真相：&lt;/p&gt; &lt;p&gt;          &lt;img src="http://lh5.ggpht.com/_NoueTEbEtsM/SVzG_ytNAuI/AAAAAAAAAcU/NG3HdGX_YxU/skinniest.gif?imgmax=288" alt="skinniest.gif" height="271" width="280"/&gt;        &lt;/p&gt; &lt;p&gt;用 google 搜尋一下 「 skinniest 藍心湄 」 ，也只得到似乎是自動翻譯的結果。有人知道是怎麼回事嗎？ :D :D :D :D :D&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3052587999524108619?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3052587999524108619/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/skinniest.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3052587999524108619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3052587999524108619'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/skinniest.html' title='skinniest=藍心湄'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_NoueTEbEtsM/SVzG_ytNAuI/AAAAAAAAAcU/NG3HdGX_YxU/s72-c/skinniest.gif?imgmax=288' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4237883289579761192</id><published>2007-09-28T20:30:00.000+08:00</published><updated>2009-01-09T08:47:24.690+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='網路著作權'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>[apache]只有宣導是不夠的</title><content type='html'>&lt;p&gt;忍無可忍了，只有祭出 RewriteRule 來堵一下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;RewriteEngine on &lt;br/&gt;RewriteRule \.mp3$ - [F,L]&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;好你個百度mp3音樂盒，再來試試。&lt;/p&gt; &lt;p&gt;不聽宣導勸導的學生，我準備要拿 access_log 出來簽校規 ( &lt;a href="http://web.nlhs.tyc.edu.tw/network/nlhsrule1.htm" title="國立內壢高中學生獎懲實施要點補充規定"&gt;國立內壢高中學生獎懲實施要點補充規定&lt;/a&gt; 第四條、第二款 ) 處分了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4237883289579761192?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4237883289579761192/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/apache.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4237883289579761192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4237883289579761192'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/apache.html' title='[apache]只有宣導是不夠的'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-900544058807548100</id><published>2007-09-28T20:09:00.000+08:00</published><updated>2009-01-05T00:24:51.841+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>定期會消失的垃圾筒？！</title><content type='html'>&lt;p&gt;繼上個學期初的&lt;a href="http://blog.nlhs.tyc.edu.tw/post/3/213" title="把垃圾筒還給我們"&gt;垃圾筒消失事件&lt;/a&gt;之後，本學期又再次發生了。難道每學期都要發生個一次嗎？&lt;/p&gt; &lt;p&gt;          &lt;del&gt;上次是隔天就把垃圾筒找回來了&lt;/del&gt;，這回不知道要多久？&lt;/p&gt; &lt;p&gt;[update 2007-10-01]&lt;/p&gt; &lt;p&gt;上回是伙伴 huihui 在垃圾筒消失一段時間候才 post 文章，實際找回垃圾筒已經是多日後了。&lt;/p&gt; &lt;p&gt;另，今天垃圾筒已經自己出現了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-900544058807548100?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/900544058807548100/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/blog-post_28.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/900544058807548100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/900544058807548100'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/blog-post_28.html' title='定期會消失的垃圾筒？！'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8619425708926716489</id><published>2007-09-26T23:34:00.000+08:00</published><updated>2009-01-09T08:53:05.843+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='網管'/><title type='text'>[tool]好用的lsof</title><content type='html'>&lt;p&gt;Daniel Miessler 的 &lt;a href="http://dmiessler.com/" title="dmiessler.com"&gt;dmiessler.com&lt;/a&gt; 寫了一篇好文章介紹&lt;a href="http://dmiessler.com/study/lsof/" title="超好用的網管指令 lsof "&gt;超好用的網管指令 lsof&lt;/a&gt; ，以前都不知道，真是受教了。&lt;/p&gt; &lt;p&gt;先記下連結： http://dmiessler.com/study/lsof/ ，找時間要全文翻過來放著用。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8619425708926716489?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8619425708926716489/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/toollsof.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8619425708926716489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8619425708926716489'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/toollsof.html' title='[tool]好用的lsof'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1471003055563737849</id><published>2007-09-26T23:03:00.000+08:00</published><updated>2009-01-05T00:24:19.078+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='迷宮'/><category scheme='http://www.blogger.com/atom/ns#' term='演算法'/><title type='text'>[演算法]迷宮產生器參考連結</title><content type='html'>&lt;p&gt;前一陣子教集訓同學走迷宮問題。那自然需要範例的迷宮檔案，以前都偷懶用亂數產生迷宮裡的牆，再手動修一下來使用。&lt;/p&gt; &lt;p&gt;今年花了點時間研究迷宮產生器的寫法，在 google 上搜尋後，找到以下兩個很有用的連結：&lt;/p&gt; &lt;p&gt;          &lt;a href="http://bbs.mychat.to/sindex.php?t455879.html" title="挖迷宮通道法"&gt;MyChat 數位男女 &amp;gt; 程式設計 的這篇討論&lt;/a&gt;裡，有唐老鴨寫的現成程式，稍微修改就可以跑了。基本上，是使用「挖通道」的方式，寫遞迴函數來挖迷宮。判斷原則是：「如果牆的另一邊沒有通道，則把牆挖穿，並挖出通道；否則就退回換個方向再試。」&lt;/p&gt; &lt;p&gt;另外，「&lt;a href="http://hctu.blogspot.com/" title="也是回顧"&gt;也是回顧&lt;/a&gt;」的 tu 寫了很多&lt;a href="http://hctu.blogspot.com/search?q=迷宮" title="也是回顧：迷宮 的搜尋結果"&gt;關於迷宮的文章&lt;/a&gt;，讓我獲益良多。雖然沒有現成的程式可以參考，但是在「&lt;a href="http://hctu.blogspot.com/2007/04/blog-post_14.html" title="產生迷宮的另一種方法"&gt;產生迷宮的另一種方法&lt;/a&gt;」裡所提出的用 set Union 方法產生迷宮，讓我搞清楚了 ( 單一解 ) 迷宮的本質：&lt;strong&gt;所有的通道都是相通的，都屬於同一個集合&lt;/strong&gt;。這樣，我也搞清楚了為什麼唐老鴨的程式挖通道時，碰到通道就不挖了的原因。&lt;/p&gt; &lt;p&gt;再深入研究後，發現要產生單一解的迷宮其實非常的簡單。這篇文章只是先記下以上兩個連結，免得以後忘了。我的迷宮產生器寫法待整理好了再拿出來獻醜吧。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1471003055563737849?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1471003055563737849/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/blog-post_26.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1471003055563737849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1471003055563737849'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/blog-post_26.html' title='[演算法]迷宮產生器參考連結'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-7637749060927024616</id><published>2007-09-26T22:21:00.000+08:00</published><updated>2009-01-09T08:45:14.718+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[C++]PI</title><content type='html'>&lt;p&gt;記得古早、古早以前寫 C 的時候，依稀記得圓周率 PI 在 math.h 標頭檔裡面有定義一個 macro ，可以直接使用。但最近在 C++ 裡嚐試要用時，卻告訴我「未宣告的識別項」錯誤。&lt;/p&gt; &lt;p&gt;調出 math.h 來看，找到答案了！裡面有一段註解：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;/* Define _USE_MATH_DEFINES before including math.h to expose these macro &lt;br/&gt;* definitions for common math constants. These are placed under an #ifdef &lt;br/&gt;* since these commonly-defined names are not part of the C/C++ standards. &lt;br/&gt;*/&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;原來這些常數巨集不屬於 C/C++ 的標準，若要使用的話，要在引用 math.h 標頭檔時，先 #define _USE_MATH_DEFINES 才行，也就是要像下面這樣寫：&lt;/p&gt; 
&lt;pre class="cpp"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;使用數學常數巨集&lt;/div&gt; &lt;span class="co2"&gt;#define _USE_MATH_DEFINES&lt;/span&gt; &lt;br/&gt;&lt;span class="co2"&gt;#include &amp;lt;cmath&amp;gt;&lt;/span&gt;        &lt;/div&gt; &lt;p&gt;另，引用 math.h 裡的內容，這些可用的常數巨集及其值如下 ( 記得前面加上 M_ )：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;/* Definitions of useful mathematical constants &lt;br/&gt;* M_E - e &lt;br/&gt;* M_LOG2E - log2(e) &lt;br/&gt;* M_LOG10E - log10(e) &lt;br/&gt;* M_LN2 - ln(2) &lt;br/&gt;* M_LN10 - ln(10) &lt;br/&gt;* M_PI - pi &lt;br/&gt;* M_PI_2 - pi/2 &lt;br/&gt;* M_PI_4 - pi/4 &lt;br/&gt;* M_1_PI - 1/pi &lt;br/&gt;* M_2_PI - 2/pi &lt;br/&gt;* M_2_SQRTPI - 2/sqrt(pi) &lt;br/&gt;* M_SQRT2 - sqrt(2) &lt;br/&gt;* M_SQRT1_2 - 1/sqrt(2) &lt;br/&gt;*/ &lt;br/&gt;&lt;br/&gt;#define M_E 2.71828182845904523536 &lt;br/&gt;#define M_LOG2E 1.44269504088896340736 &lt;br/&gt;#define M_LOG10E 0.434294481903251827651 &lt;br/&gt;#define M_LN2 0.693147180559945309417 &lt;br/&gt;#define M_LN10 2.30258509299404568402 &lt;br/&gt;#define M_PI 3.14159265358979323846 &lt;br/&gt;#define M_PI_2 1.57079632679489661923 &lt;br/&gt;#define M_PI_4 0.785398163397448309616 &lt;br/&gt;#define M_1_PI 0.318309886183790671538 &lt;br/&gt;#define M_2_PI 0.636619772367581343076 &lt;br/&gt;#define M_2_SQRTPI 1.12837916709551257390 &lt;br/&gt;#define M_SQRT2 1.41421356237309504880 &lt;br/&gt;#define M_SQRT1_2 0.707106781186547524401&lt;/p&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-7637749060927024616?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/7637749060927024616/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/cpi.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7637749060927024616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7637749060927024616'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/cpi.html' title='[C++]PI'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1423375652801399749</id><published>2007-09-24T14:35:00.000+08:00</published><updated>2009-01-05T00:24:03.533+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><title type='text'>[維護]你的 moodle 變慢了嗎？</title><content type='html'>&lt;p&gt;這學期上課使用 moodle 時，一個班的學生同時使用線上測驗時，就會發生大部份同學遇到 MySQL OverLoad 的問題，進主機用 top 觀察一下，記憶體用量沒問題，但是 mysqld 卻使用了 99.9% 的 CPU 。&lt;/p&gt; &lt;p&gt;檢查了一下 moodle 的 db 使用量，發覺有一個資料表 mdl_cache_text 就用掉了 400MB 以上。這個表應該是前端網頁文字的快取用途，看了一下內容，裡面的條目重複情形還蠻多的。&lt;/p&gt; &lt;p&gt;既然是 cache ，那代表即使刪掉了，也會自己重建吧？！另外，猜測每次執行時，可能會大量 qurey 這個表，所以大膽猜一下，這個表可能是造成系統瓶頸的原因。所以，動手將這個表的內容清掉了。重新進入 moodle 後，感覺反應確實有變快了。&lt;/p&gt; &lt;p&gt;再來就是等星期三上課時的實測效果，看看是不是真的能有效的解決問題了。&lt;/p&gt; &lt;p&gt;[update 2007-09-26]&lt;/p&gt; &lt;p&gt;今天上課時，完全沒有再發生 MySQL OverLoad 問題了，所有學生 ( 44 人 ) 都很順利在同一段時間裡進入隨堂測驗。看來之前的猜測沒錯。有空再來看看 moodle 這個 text_cache 機制到底是怎麼回事？！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1423375652801399749?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1423375652801399749/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/moodle.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1423375652801399749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1423375652801399749'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/moodle.html' title='[維護]你的 moodle 變慢了嗎？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-2483417891777976687</id><published>2007-09-24T00:06:00.000+08:00</published><updated>2009-01-09T08:45:14.721+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>[C++]isNumeric</title><content type='html'>&lt;p&gt;C / C++ 的標準函式庫裡，找不到一個類似 VB 裡的 isNumeric() 可以判斷字串是否為數值型式的標準函式可用。&lt;/p&gt; &lt;p&gt;沒錯， Visual C++ 的 System 命名空間裡，有 Char::isNumeric 可以用，但是非 VC++ 的 compiler 不能用。&lt;/p&gt; &lt;p&gt;另外，有找到一份 &lt;a href="http://www.linuxselfhelp.com/HOWTO/C++Programming-HOWTO.html" title="C++ Programming How-To"&gt;C++ Programming How-To&lt;/a&gt; ，裡面有一份強化過的 &lt;a href="http://www.linuxselfhelp.com/HOWTO/C++Programming-HOWTO-4.html" title="download A! Dev's String class"&gt;A! Dev's String class&lt;/a&gt; ，看起來遠比標準 C++ 的 String class 好多了，有空應該研究看看。只是學生比賽時，這樣的程式庫不知道可不可以用？&lt;/p&gt; &lt;p&gt;回到 isNumeric() 函式，看來只有自己手工打造一個來用了。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt; &lt;br/&gt;google 了很多資料後，在 &lt;a href="http://forums.devarticles.com/c-c-help-52/" title="C++ Help"&gt;C / C++ Help&lt;/a&gt; 的&lt;a href="http://forums.devarticles.com/c-c-help-52/checking-if-string-is-a-number-or-not-57342.html" title="Checking if string is a number or not"&gt;這裡&lt;/a&gt;，看到 jaro 提供的方法：使用 strtod() 函式來判斷，似乎是個最好的解法了。於是參考 jaro 的方法，修改了一下，寫出了下面的 isNumeric() 函式：&lt;/p&gt; 
&lt;pre class="cpp"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;my isNumeric function&lt;/div&gt; &lt;p&gt;            &lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; &lt;span class="kw4"&gt;char&lt;/span&gt; *&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; string &amp;amp;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; &lt;span class="kw4"&gt;char&lt;/span&gt; *test&lt;span class="br0"&gt;)&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 接受傳統 C 字串引數，判所是否為數值字串&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 若是，則傳回 true ；若否，則傳回 false&lt;/span&gt; &lt;br/&gt;&lt;span class="br0"&gt;{&lt;/span&gt; &lt;br/&gt;&lt;span class="kw4"&gt;char&lt;/span&gt; *testEnd; &lt;span class="co1"&gt;// 指向 strtod() 後剩於部份的開頭&lt;/span&gt; &lt;br/&gt;&lt;span class="kw4"&gt;double&lt;/span&gt; d; &lt;br/&gt;&lt;br/&gt;d=&lt;span class="kw3"&gt;strtod&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;test, &amp;amp;testEnd&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="co1"&gt;// 如果轉換後 testEnd 指向 test 字串開頭，&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 則表示沒有轉換出任何數值，也就是說 test 是字串，不是數值&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;return&lt;/span&gt; test!=testEnd; &lt;br/&gt;&lt;span class="br0"&gt;}&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; string &amp;amp;test&lt;span class="br0"&gt;)&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 接受 C++ 字串物件引數，判所是否為數值字串&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 若是，則傳回 true ；若否，則傳回 false&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 因為在 C++ 的程式裡， string 類別比 char 陣列好用&lt;/span&gt; &lt;br/&gt;&lt;span class="co1"&gt;// 所以寫了個 string 類別物件引數的版本&lt;/span&gt; &lt;br/&gt;&lt;span class="br0"&gt;{&lt;/span&gt; &lt;br/&gt;&lt;span class="kw4"&gt;char&lt;/span&gt; *testEnd; &lt;br/&gt;&lt;span class="kw4"&gt;double&lt;/span&gt; d; &lt;br/&gt;&lt;br/&gt;d=&lt;span class="kw3"&gt;strtod&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;test.&lt;span class="me1"&gt;c_str&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;, &amp;amp;testEnd&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="kw1"&gt;return&lt;/span&gt; test.&lt;span class="me1"&gt;c_str&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;!=testEnd; &lt;br/&gt;&lt;span class="br0"&gt;}&lt;/span&gt;          &lt;/p&gt; &lt;/div&gt; 
&lt;pre&gt;
&lt;/pre&gt;
 &lt;p&gt;以下是測試程式：&lt;/p&gt; 
&lt;pre class="cpp"&gt;
&lt;/pre&gt;
 &lt;div class="insertcode"&gt; &lt;div class="head"&gt;測試 isNumeric() 函式&lt;/div&gt; &lt;p&gt;            &lt;span class="co2"&gt;#include &amp;lt;iostream&amp;gt;&lt;/span&gt; &lt;br/&gt;&lt;span class="co2"&gt;#include &amp;lt;string&amp;gt;&lt;/span&gt; &lt;br/&gt;&lt;span class="co2"&gt;#include &amp;lt;sstream&amp;gt;&lt;/span&gt; &lt;br/&gt;&lt;span class="co2"&gt;#include &amp;lt;cctype&amp;gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw2"&gt;using&lt;/span&gt; &lt;span class="kw2"&gt;namespace&lt;/span&gt; std; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; &lt;span class="kw4"&gt;char&lt;/span&gt; *&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; string &amp;amp;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw4"&gt;void&lt;/span&gt; main&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;br/&gt;&lt;span class="br0"&gt;{&lt;/span&gt; &lt;br/&gt;istringstream iss&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="st0"&gt;"this is a book 3607252 3.14159632587425 -45265"&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;br/&gt;&lt;span class="co1"&gt;//char test[80]="";&lt;/span&gt; &lt;br/&gt;string test; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw1"&gt;while&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; iss &amp;gt;&amp;gt; test &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;{&lt;/span&gt; &lt;br/&gt;&lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt;test&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;br/&gt;&lt;span class="kw3"&gt;cout&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class="st0"&gt;"得到數字："&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class="kw3"&gt;atof&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;test.&lt;span class="me1"&gt;c_str&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &amp;lt;&amp;lt; endl; &lt;br/&gt;&lt;span class="kw1"&gt;else&lt;/span&gt; &lt;br/&gt;&lt;span class="kw3"&gt;cout&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class="st0"&gt;"得到字串："&lt;/span&gt; &amp;lt;&amp;lt; test &amp;lt;&amp;lt; endl; &lt;br/&gt;&lt;span class="br0"&gt;}&lt;/span&gt; &lt;br/&gt;&lt;span class="kw3"&gt;system&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="st0"&gt;"pause"&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="br0"&gt;}&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; &lt;span class="kw4"&gt;char&lt;/span&gt; *test&lt;span class="br0"&gt;)&lt;/span&gt; &lt;br/&gt;&lt;span class="br0"&gt;{&lt;/span&gt; &lt;br/&gt;&lt;span class="kw4"&gt;char&lt;/span&gt; *testEnd; &lt;br/&gt;&lt;span class="kw4"&gt;double&lt;/span&gt; d; &lt;br/&gt;&lt;br/&gt;d=&lt;span class="kw3"&gt;strtod&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;test, &amp;amp;testEnd&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="kw1"&gt;return&lt;/span&gt; test!=testEnd; &lt;br/&gt;&lt;span class="br0"&gt;}&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;&lt;span class="kw4"&gt;bool&lt;/span&gt; isNumeric&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw4"&gt;const&lt;/span&gt; string &amp;amp;test&lt;span class="br0"&gt;)&lt;/span&gt; &lt;br/&gt;&lt;span class="br0"&gt;{&lt;/span&gt; &lt;br/&gt;&lt;span class="kw4"&gt;char&lt;/span&gt; *testEnd; &lt;br/&gt;&lt;span class="kw4"&gt;double&lt;/span&gt; d; &lt;br/&gt;&lt;br/&gt;d=&lt;span class="kw3"&gt;strtod&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;test.&lt;span class="me1"&gt;c_str&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;, &amp;amp;testEnd&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;br/&gt;&lt;span class="kw1"&gt;return&lt;/span&gt; test.&lt;span class="me1"&gt;c_str&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;!=testEnd; &lt;br/&gt;&lt;span class="br0"&gt;}&lt;/span&gt;          &lt;/p&gt; &lt;/div&gt; 
&lt;pre&gt;
&lt;/pre&gt;
 &lt;p&gt;然後是輸出結果如下，看來蠻管用的。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;得到字串：this &lt;br/&gt;得到字串：is &lt;br/&gt;得到字串：a &lt;br/&gt;得到字串：book &lt;br/&gt;得到數字：3.60725e+006 &lt;br/&gt;得到數字：3.1416 &lt;br/&gt;得到數字：-45265&lt;/p&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-2483417891777976687?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/2483417891777976687/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/cisnumeric.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2483417891777976687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2483417891777976687'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/cisnumeric.html' title='[C++]isNumeric'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3550330176926969377</id><published>2007-09-14T23:31:00.000+08:00</published><updated>2009-01-05T00:23:52.023+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB'/><title type='text'>[VB]最簡單的中置式求值法</title><content type='html'>&lt;p&gt;常見的中置式求值做法，是要操作運算元堆疊和運算子堆疊，比較運算子優先順序逐一運算求值。&lt;/p&gt; &lt;p&gt;今天有人問我，想實驗用 VB 的 Print 指令直接求出中置式的值，例如輸入的中置式字串&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"(5-3)*4/2+(2+3)"&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;先把運算子符號放一個陣列(例如叫 opr())，運算元數字放一個陣列(例如叫 opd())，再用 for next 依原來順序放在 Print 指令後執行&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Print opr(0);opd(0);opr(1);opd(1)...&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;結果呢？當然是印出原運算式字串。&lt;/p&gt; &lt;p&gt;那有沒有辦法做到呢？其實是可以的。&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;他要的方法通常是在 script 語言如 VBScript 或 JavaScript 裡面的 eval() 函數。eval 函數接受一個字串參數，把字串內容當成程式語言來執行 ( 差不多是這個意思啦 ) 。但是 VB 本身不是 Script 語言，沒有 eval 函數，那怎麼辦呢？&lt;/p&gt; &lt;p&gt;只要讓 VB 具有 Script 功能就行啦！在 VB 的專案裡加入參考項目「 Microsoft Script Control 1.0 」就能讓 VB ( 6.0 與 2005 都試過了 ) 支援 Windows 的 Script 了。接下來，只是在程式裡宣告個 Script 物件，執行他的 eval 方法，就能達成目的，範例程式碼如下：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Dim infix As String = "(5-3)*4/2+(2+3)" &lt;br/&gt;Dim sc As New ScriptControl &lt;br/&gt;sc.Language = "VBSCRIPT" &lt;br/&gt;Print sc.Eval(infix)&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;這樣就搞定了，不必再管什麼堆疊、運算子優先順序，連最煩人的字串分析都省了，怎麼樣！夠簡單吧！&lt;/p&gt; &lt;p&gt;只是，如果是程式設計競賽時，程式這樣寫能計分嗎？我不知道？除非比賽規則有寫明不能這麼做，否則再怎麼硬抝也可以要到分數吧。&lt;/p&gt; &lt;p&gt;在 google talk 上跟 huihui 聊到這個問題，他的回答是：「被我抓到就趕出場去 -_-」&lt;/p&gt; &lt;p&gt;後記：這方法只要用對關鍵字 ( VB eval )，在 google 上可以查到一大堆相關的資料。我只是想記下身邊曾發生過這樣的事情罷了。不過，我倒是對程式設計比賽時用這方法解題算不算分到是很感興趣。嘿！嘿！嘿！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3550330176926969377?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3550330176926969377/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/vb.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3550330176926969377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3550330176926969377'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/vb.html' title='[VB]最簡單的中置式求值法'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-5718964321580667292</id><published>2007-09-08T23:10:00.000+08:00</published><updated>2009-01-05T00:23:46.784+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>朝天子 志感</title><content type='html'>&lt;p&gt;今天在看霹靂皇龍紀(第36集)時，刖俠遊患吟出這首元曲，深覺與最近的心情相呼應，特此記下：&lt;/p&gt; &lt;p&gt;朝天子 志感&lt;/p&gt; &lt;p&gt;作者：元 無名氏&lt;/p&gt; &lt;p&gt;不讀書有權，不識字有錢，不曉事倒有人誇薦。 &lt;br/&gt;老天只恁忒心偏，賢和愚無分辨。 &lt;br/&gt;折挫英雄，消磨良善，越聰明越運蹇。 &lt;br/&gt;志高如&lt;a href="http://zh.wikipedia.org/w/index.php?title=魯仲連&amp;amp;variant=zh-tw" title="魯仲連"&gt;魯連&lt;/a&gt;，德過如&lt;a href="http://zh.wikipedia.org/w/index.php?title=闵子骞&amp;amp;variant=zh-tw" title="閔子騫"&gt;閔騫&lt;/a&gt;，依本分只落的人輕賤。&lt;/p&gt; &lt;p&gt;不讀書最高，不識字最好，不曉事倒有人誇俏。 &lt;br/&gt;老天不肯辨清濁，好和歹沒條道。 &lt;br/&gt;善的人欺，貧的人笑，讀書人都累倒。 &lt;br/&gt;立身則小學，修身則大學，智和能都不及鴨青鈔。&lt;/p&gt; &lt;p&gt;嗯！又是牢騷。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-5718964321580667292?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/5718964321580667292/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/09/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5718964321580667292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/5718964321580667292'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/09/blog-post.html' title='朝天子 志感'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8337414040584505423</id><published>2007-06-04T19:59:00.000+08:00</published><updated>2009-01-05T00:23:42.696+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>[非關政治]名實相符是重要的！</title><content type='html'>&lt;p&gt;馬英九因為特支費使用發票有問題，即使據說那是合法的用途，但不能因為用途是正確的，就可以使用非法的手段。&lt;/p&gt; &lt;p&gt;陳水扁因為國務機要費使用發票有問題，即使據說是用在機密外交…等，但不能因為目的是正義的，就可以使用非法的手段。&lt;/p&gt; &lt;p&gt;即使是應得的收入，名實不相符，還是不要拿的好！&lt;/p&gt; &lt;p&gt;有感而發，別理我。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8337414040584505423?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8337414040584505423/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/06/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8337414040584505423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8337414040584505423'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/06/blog-post.html' title='[非關政治]名實相符是重要的！'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8473566810575629627</id><published>2007-04-25T13:51:00.000+08:00</published><updated>2009-01-05T00:23:36.079+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifetype'/><title type='text'>舊的回響浮出來了？</title><content type='html'>&lt;p&gt;昨天升級了 LifeType 1.2.1 ，今天檢查一下 error_log ，看到一堆如下的 error ：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;[Wed Apr 25 13:31:01 2007] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/html/lifetype/js/tinymce/jscripts, referer: http://blog.nlhs.tyc.edu.tw/category/2/9&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;都是找不到 TinyMCE 的 emotions 表情圖。原因是以前自己做 TinyMCE 包的路徑和後來 Mark 包進 LifeType 正式版的路徑不同造成的。&lt;/p&gt; &lt;p&gt;一時手賤，進資料庫改回響裡的回文表情圖路徑，沒改完就放棄了。不過，有改的，卻變成最近回響了。 ^_^|||&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8473566810575629627?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8473566810575629627/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/04/blog-post_25.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8473566810575629627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8473566810575629627'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/04/blog-post_25.html' title='舊的回響浮出來了？'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3637794529735976859</id><published>2007-04-25T13:40:00.000+08:00</published><updated>2009-01-05T00:23:31.156+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>程式語言錯亂篇</title><content type='html'>&lt;p&gt;同時使用多種程式語言還蠻痛苦的。集訓學生 ( 只剩一個了 ) 教他 C++ ，而最近電腦課的程式語言課程則是上 VB.Net 。相似的語法的細微差異，一時不察，讓我多花了許多時間除錯。&lt;/p&gt; &lt;p&gt;紀錄一下：&lt;/p&gt; &lt;p&gt;          &lt;a name='more'&gt;&lt;/a&gt;整數除法：&lt;/p&gt; &lt;p&gt;C++ 裡，整數與整數相除便是整數除法，商並不會自動四捨五入。&lt;/p&gt; &lt;p&gt;VB 裡，即使是整數與整數相除，得到的商也是整數，但是會四捨五入，必需改用整數除法運算子( \ ) ，才會得到真正的整數商。&lt;/p&gt; &lt;p&gt;模數 ( 求餘數 )：&lt;/p&gt; &lt;p&gt;C++ 裡面，模數運算子是百分比符號 ( % ) ， VB 裡面則是 MOD 運算子。&lt;/p&gt; &lt;p&gt;其他遇到隨時補充吧！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3637794529735976859?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3637794529735976859/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/04/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3637794529735976859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3637794529735976859'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/04/blog-post.html' title='程式語言錯亂篇'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-4415442297002279124</id><published>2007-03-09T08:50:00.001+08:00</published><updated>2009-01-06T15:17:33.545+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='批次檔'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦教室'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='命令列'/><title type='text'>遠端關閉學生的應用程式-使用 taskkill</title><content type='html'>&lt;p&gt;伙伴 huihui 發表了一個&lt;a href="http://blog.nlhs.tyc.edu.tw/post/3/203" title="電腦教室管理工具系列（一） - 關閉學生應用程式"&gt;關閉學生應用程式&lt;/a&gt;的電腦教室管理工具。初看到這一段：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;……其實用 WMI 加上 Script 就可以達成任務……&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;天真的我以為是在 AP 裡執行現成的 Windows 命令來達成將學生電腦的 IE 關掉的目的 ( 經過求證，我太天真了 ) ，於是便搜尋看看到底是用那個 Windows 命令完成的，結果找到了一個與 linux 上的 kill 命令相似的 Windows 內建命令： &lt;strong&gt;taskkill&lt;/strong&gt; 。使用 taskkill 命令加上其他命令的配合，便可以達成「&lt;strong&gt;一口氣關閉整間電腦教室的 IE 瀏覽器&lt;/strong&gt;」的目的。&lt;/p&gt; &lt;p&gt;這次要用的命令，除了 taskkill 之外，還有 for 與 start 搭配使用。&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;p&gt;taskkill 的用法，可以查詢 Windows 的說明與支援，或是直接使用 taskkill /? 來顯示，這裡就不多說明，直接解釋我的用法：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;taskkill /s pc403-01 /im iexplore.exe /u administrator /p admpasswd&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;/s pc403-01 ：遠端電腦名稱為 pc403-01 。&lt;/li&gt; &lt;li&gt;/im iexplore.exe ：要關閉的應用程式為 iexplore.exe ，即 IE 瀏覽器 ( im 為 image name 的縮寫 ) 。&lt;/li&gt; &lt;li&gt;/u administrator ：遠端電腦執行 taskkill 的帳號，用管理員就對了。&lt;/li&gt; &lt;li&gt;/p admpasswd ：遠端電腦的管理員密碼。如果只寫 /p 而省略密碼，則會提示輸入。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;還有個 /f 是強迫關閉程式，但遠端執行一律是強迫關閉程式，可以省略。另外，在 AD 網域裡，執行這個程式的身份若為網域的管理員，則可以省略 /u 和 /p 。至此，已經可以關閉某一部學生電腦上正在執行的 IE 瀏覽器了。要關閉其他應用程式，只要修改 /im 參數就行了。&lt;/p&gt; &lt;p&gt;接下來，要批次關閉整間電腦教室就要動用到批次命令了。簡單一點的方法，就是用批次檔替每個學生電腦寫一行 taskkill 命令。不過，我個人偏好使用 for 命令。在 Windows 遠端關機的文章裡已經介紹過 for 命令了，這裡直接看完整指令吧：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;for /l %a in (1,1,9) do taskkill /s pc403-0%a /im iexplore.exe
for /l %a in (10,1,46) do taskkill /s pc403-%a /im iexplore.exe&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;這裡的 for /l 參數的用法，類似於一般程式語言裡的 for 迴圈，就不廢話了。寫成兩行的原因是我找不到自動生成 01 - 09 的方法，若有高人可指點的話，不勝感激。當然，如果電腦名稱不像我們的電腦教室這般有數字規則的話，可以使用在 Windows 遠端關機文章裡提到的 for /f 參數代替。&lt;/p&gt; &lt;p&gt;那還有 start 命令呢？因為並不是每個學生都在上網，於是便會遇到 taskkill 尋找遠端電腦裡不存在的執行中應用程式而造成延遲。因為上個命令尚未執行完畢的話，批次檔裡的下個命令無法繼續執行，整個批次命令的執行時間便會拉長，於是便想看看能不能讓每個 taskkill 在背景執行。經過一番研究，找到了 start 加上 /b 參數。&lt;/p&gt; &lt;p&gt;同樣地， start 的用法請自行參閱 Windows 的說明與支援或 start /? 的說明，下面是修改過的用法：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;for /l %a in (1,1,9) do start /b taskkill /s pc403-0%a /im iexplore.exe
for /l %a in (10,1,46) do start /b taskkill /s pc403-%a /im iexplore.exe
         &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;如此便可以飛快的執行完畢，大功告成啦！與 huihui 的管理工具只差一項延遲功能了。&lt;/p&gt; &lt;p&gt;延遲功能部份，我原想找看看 Windows 是否有內建像 Linux shell 裡的 sleep 命令，可惜找不到 。後來想試試用 schtasks create 命令建立一次性的排程，但是它又只支援使用時間格式，彈性不夠。目前的想法是自己寫個 sleep 功能的命令列小程式來補足。不過，我還是想儘量能用內建的命令來完成。有人能提供點意見嗎？！&lt;/p&gt; &lt;p&gt;謝謝收看！&lt;/p&gt; &lt;p&gt;參考閱讀：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;            &lt;a href="http://lsslab.blogspot.com/2005/12/windows-xp.html" title="Windows 批次遠端關機"&gt;Windows 批次遠端關機&lt;/a&gt;          &lt;/li&gt; &lt;li&gt;            &lt;a href="http://lsslab.blogspot.com/2006/04/windows-xp-2.html" title="Windows 批次遠端關機(2)"&gt;Windows 批次遠端關機(2)&lt;/a&gt;          &lt;/li&gt; &lt;li&gt;            &lt;a href="http://lsslab.blogspot.com/2006/05/windows-xp-3.html" title="Windows 批次遠端關機(3)"&gt;Windows 批次遠端關機(3)&lt;/a&gt;          &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-4415442297002279124?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/4415442297002279124/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/03/taskkill.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4415442297002279124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/4415442297002279124'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/03/taskkill.html' title='遠端關閉學生的應用程式-使用 taskkill'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6131930211209317412</id><published>2007-02-28T23:13:00.000+08:00</published><updated>2009-01-05T00:23:20.264+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>修復 moodle 的 log 功能</title><content type='html'>&lt;p&gt;數位學習網站的紀錄功能壞了好一陣子了，懶得修啊！&lt;/p&gt; &lt;p&gt;今天查了一下，原來是紀錄 log 的 mdl_log table 壞了，用下面的 SQL 語法：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;repair table mdl_log&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;就可以修復了。關於 repair 語法的參考： &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/repair-table.html" title="REPAIR TABLE Syntax"&gt;REPAIR TABLE Syntax&lt;/a&gt; &lt;br/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6131930211209317412?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6131930211209317412/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/02/moodle-log.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6131930211209317412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6131930211209317412'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/02/moodle-log.html' title='修復 moodle 的 log 功能'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6094361809889788009</id><published>2007-01-24T09:41:00.000+08:00</published><updated>2009-01-09T08:45:20.836+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Visual Studio 2005 Express 繁體中文版 ISO 下載網址</title><content type='html'>&lt;p&gt;用 google 搜尋到的，順便記下來，下載網址如下：&lt;/p&gt; &lt;blockquote&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;                &lt;span&gt;Visual BASIC 2005 Express ISO:&lt;a href="http://download.microsoft.com/download/6/e/1/6e1e8e73-6e42-4790-a23e-4f3f3a8b776b/VB.ISO" title="http://download.microsoft.com/download/6/e/1/6e1e8e73-6e42-4790-a23e-4f3f3a8b776b/VB.ISO"&gt;[按我下載]&lt;/a&gt;                &lt;/span&gt;              &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;                &lt;span&gt;Visual C# 2005 Express ISO:&lt;a href="http://download.microsoft.com/download/d/6/5/d655c429-1d43-43d1-84c2-18acee6c0925/VCS.ISO" title="http://download.microsoft.com/download/d/6/5/d655c429-1d43-43d1-84c2-18acee6c0925/VCS.ISO"&gt;[按我下載]&lt;/a&gt;                &lt;/span&gt;              &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;                &lt;span&gt;Visual WebDeveloper 2005 Expess ISO:&lt;a href="http://download.microsoft.com/download/4/1/b/41bb5e6a-b72b-4994-aac5-9a15aa115929/VWD.ISO" title="http://download.microsoft.com/download/4/1/b/41bb5e6a-b72b-4994-aac5-9a15aa115929/VWD.ISO"&gt;[按我下載]&lt;/a&gt;                &lt;/span&gt;              &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;                &lt;span&gt;Visual C++ 2005 Express ISO:&lt;a href="http://download.microsoft.com/download/d/a/3/da39d165-bfc5-4323-8230-0caf8ed7d7c3/VC.ISO" title="http://download.microsoft.com/download/d/a/3/da39d165-bfc5-4323-8230-0caf8ed7d7c3/VC.ISO"&gt;[按我下載]&lt;/a&gt;                &lt;/span&gt;              &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/blockquote&gt; &lt;p&gt;資料來源：台灣MSDN論壇的&lt;a href="http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=260003&amp;amp;SiteID=14" title="visual studio 2005 express 繁體中文版 iso 下載連結"&gt;這篇討論&lt;/a&gt;第6個回覆。&lt;/p&gt; &lt;p&gt;另，據該討論版主回覆， Visual J# 2005 Express 沒有中文版， &lt;span&gt;            &lt;span&gt;SQL Server 2005 Express 沒有 ISO，但是有完整安裝檔：&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=220549b5-0b07-4448-8848-dcc397514b41" title="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=220549b5-0b07-4448-8848-dcc397514b41"&gt;[前往下載頁]&lt;/a&gt;            &lt;/span&gt;          &lt;/span&gt;        &lt;/p&gt; &lt;p&gt;為維護版面，不顯示下載的原始網址，請自行看連結內容囉！ &lt;br/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6094361809889788009?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6094361809889788009/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/01/visual-studio-2005-express-iso.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6094361809889788009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6094361809889788009'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/01/visual-studio-2005-express-iso.html' title='Visual Studio 2005 Express 繁體中文版 ISO 下載網址'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-3459170815033585716</id><published>2007-01-23T08:32:00.000+08:00</published><updated>2009-01-05T00:23:07.982+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='一般'/><title type='text'>他們不是代罪羔羊</title><content type='html'>&lt;p&gt;看完獨孤木的「&lt;a href="http://www.wretch.cc/blog/phopicking&amp;amp;article_id=7918411" title="獨孤木-揮揮衣袖，不帶走一片雲彩(中)"&gt;揮揮衣袖，不帶走一片雲彩(中)&lt;/a&gt;」，裡面提到不論是破釜沈舟走定了，還是以退為進有所要求，記得找個代罪羔羊來幫你說話。&lt;/p&gt; &lt;p&gt;已經過了好幾年的不愉快往事不想再提，只是想說，文中提到的方法，除了出國進修之外，其他的我都真實遇到了。&lt;strong&gt;我的家人不是代罪羔羊，是苦主啊！&lt;/strong&gt;        &lt;/p&gt; &lt;p&gt;這裡可以再提供一個苦主(當時讀幼稚園的小女兒)的說法：「爸爸已經一個月沒有回家陪我吃晚飯了。」&lt;/p&gt; &lt;p&gt;吐吐苦水，沒事。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-3459170815033585716?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/3459170815033585716/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/01/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3459170815033585716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/3459170815033585716'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/01/blog-post.html' title='他們不是代罪羔羊'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-8532499315525668851</id><published>2007-01-16T09:16:00.001+08:00</published><updated>2009-01-06T15:21:14.000+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='syntaxhighlighter'/><title type='text'>測試dp.SyntaxHighlighter</title><content type='html'>&lt;p&gt;※更新：這個站沒有用 dp.SyntaxHighlighter ，原測試部份移除了&lt;/p&gt;&lt;p&gt;先記一下，要記得替 TinyMCE 加上：&lt;/p&gt;&lt;p&gt;&lt;a name='more'&gt;&lt;/a&gt;        &lt;/p&gt;&lt;blockquote&gt;remove_linebreaks : false,&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;的設定值。不然，所有程式被擠成一行就難看了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-8532499315525668851?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/8532499315525668851/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2007/01/dpsyntaxhighlighter.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8532499315525668851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/8532499315525668851'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2007/01/dpsyntaxhighlighter.html' title='測試dp.SyntaxHighlighter'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-7892031301156075571</id><published>2006-12-21T22:18:00.001+08:00</published><updated>2009-01-06T15:22:52.843+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lifetype'/><title type='text'>分享一些 LifeType 架站經驗-給小吳老師</title><content type='html'>&lt;p&gt;小吳老師在「&lt;a href="http://lsslab.blogspot.com/2005/10/plog.html" title="pLog 安裝系列(一)-安裝環境"&gt;pLog 安裝系列(一)-安裝環境&lt;/a&gt;」一文裡問了一些問題：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;老師您好：
最近也準備架設讓全校老師使用的BLOG平台，我們的規劃是架一台主機單獨執行 pLog， 我的安裝環境是：1g-ram,raid1(150g*2),suse10.1,lifetype1.1
可否請老師針對1.要有獨特的網址和2.將資料與程式分開這兩部分的作法詳加說明，若能以圖示說明流程更有助於理解。
再者也要請問您：「若此伺服器不放個人網頁，是否在磁碟分割時要將/var/lib/mysql的空間（放資料庫的位置）規劃大一點，而/home的位置就不用給太多空間？」
若還有應注意的事項，也請您不吝指導。謝謝您的熱心回覆。祝 教安。&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;真是慚愧啊，這一系列的文章只寫了第一篇就停掉了，時間一久，都忘了自己原來有計劃要寫這些東西，實在太懶散了。&lt;/p&gt; &lt;p&gt;但是，最近實在是空不出時間把這些東西詳細寫出來，本篇就小吳老師的問題，提供一些個人玩 LifeType 的經驗：
       &lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;p&gt;首先，就主機硬體部份，小吳老師準備的主機規格算不錯的了，而且是準備給 blog 主機專用，對一般的學校而言，應該是蠻好用了。&lt;/p&gt; &lt;p&gt;再來，第一個問題，要有獨特的網址。&lt;/p&gt; &lt;p&gt;如果你是要像我一樣有一個 blog.xxx.yyc.edu.tw 之類的 blog 主機專屬網址，而你的主機又是給 blog 專用，那就只要按一般主機在 DNS server 上設定網址的正解與反解，並將 LifeType 安裝在 apache 的 document root ( 例如 /var/www/html ) 底下就行了。&lt;/p&gt; &lt;p&gt;如果你是要讓每個 blog 都有專屬的網址，這是 subdomain 的應用。我個人不喜歡 subdomain 所以沒啥研究，不過在&lt;a href="http://forum.lifetype.org.tw/" title="LifeType 中文開發論壇"&gt;論壇&lt;/a&gt;有很多討論可以搜尋看看。&lt;/p&gt; &lt;p&gt;第二個問題，資料與程式分開的部份，&lt;strong&gt;建議你不要用&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;我原本很開心的用，然後發生不少麻煩。雖然 LifeType 可以自訂很多儲存各種資料的路徑，如資料夾、語系、模版、暫存檔…等，但是，在我不斷遇到各種奇怪的問題及追蹤程式碼之後，已經一一的改回預設路徑了。說實話， LifeType 空有這些設定，但是支援並不好，有些路徑在程式裡還是用相對路徑寫的，一旦把這些路徑搬出 LifeType 安裝目錄，就會在某些特定但會經常發生的狀況下出問題或不正常。目前，我只剩下 gallery 目錄還在 LifeType 安裝目錄之外。但是，最近在 plog-svn 裡看到 Oscar 大幅改寫 gallery 相關的程式碼，直覺告訴我，把 gallery搬回 LifeType 安裝目錄的日子也不遠了。&lt;/p&gt; &lt;p&gt;其實資料與程式沒有分開對未來升級的影響並不大，放外部資料的各資料夾在下載的完整包裡大多是空的( 如 gallery 及 plugins )，或只有預設檔案( 如 locale 和 templates )。我當初會想把這些搬出 LifeType 目錄，只是龜毛的想增加一點點的安全性而已。&lt;/p&gt; &lt;p&gt;第三個問題，關於目錄空間的分配，您是對的。&lt;/p&gt; &lt;p&gt;/var/lib/mysql 如果是 MySQL 存放資料的地方，自然要大一點，這是未來第二個增加最快的空間。至於 /home ，只要留給管理員足夠的空間就行了。那第一個增長最快的空間是那裡？應該是 LifeType 裡的資料夾，也就是 gallery 目錄了。所有 blogger 上傳的檔案全都放這裡了。如果你們的 blogger 超愛上傳檔案 / 圖片的話，那 /var/www/html 非得要大一點不可了。甚至，可以考慮 /var/www/html 不必用獨立的分割區，但是替 /var/www/html/gallery 掛在一個大一點的分割區上。這也算是用分割區把資料與程式分開的一種方法吧！&lt;/p&gt; &lt;p&gt;拉拉雜雜寫了一堆，希望對你其他有相同問題的人有幫助。歡迎有空來交流。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-7892031301156075571?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/7892031301156075571/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2006/12/lifetype.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7892031301156075571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/7892031301156075571'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2006/12/lifetype.html' title='分享一些 LifeType 架站經驗-給小吳老師'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-1190518674522044423</id><published>2006-11-21T10:20:00.000+08:00</published><updated>2009-01-05T00:22:52.424+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='V-webmail'/><title type='text'>選錯台了？失連中的 V-webmail</title><content type='html'>&lt;p&gt;最近發現 &lt;a href="http://www.v-webmail.org" title="V-webmail.org"&gt;V-webmail.org&lt;/a&gt; 的網站全掛O_o&lt;/p&gt; &lt;p&gt;看情形好像是整個 domain 不見了(註冊到期？)，官方找得到的，只剩下在 &lt;a href="http://sourceforge.net" title="Sourceforge.net"&gt;Sourceforge.net&lt;/a&gt; 上的 &lt;a href="http://sourceforge.net/projects/v-webmail/" title="V-webmail @ Sourceforge.net"&gt;V-webmail 專案網站&lt;/a&gt;而已，連同作者出沒的 &lt;a href="http://www.phpguru.org" title="phpguru.org"&gt;phpguru.org&lt;/a&gt; 上也沒看到什麼相關說明…&lt;/p&gt; &lt;p&gt;難道當初選錯 webmail 程式了嗎？ &lt;br/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-1190518674522044423?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/1190518674522044423/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2006/11/v-webmail.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1190518674522044423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/1190518674522044423'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2006/11/v-webmail.html' title='選錯台了？失連中的 V-webmail'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-446924037716066968</id><published>2006-11-03T10:46:00.000+08:00</published><updated>2009-01-05T00:22:46.200+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><title type='text'>第一次程式集訓記事</title><content type='html'>&lt;p&gt;第一次集訓沒做什麼事，先跟同學確立集訓方式跟原則。&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;p&gt;報名的 24 人只來了 17 人，有一名是因勞服無法參加，另外臨時報名增加三人，還有一個 email 說記錯時間，真是 #!$%^&amp;amp;&lt;/p&gt; &lt;p&gt;下週一確定名單後，請設備組處理學生集訓公假。&lt;/p&gt; &lt;p&gt;第一次集合主要是說明集訓進行方式，大概重點如下：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;老師指定進度及作業。&lt;/li&gt; &lt;li&gt;同學回家自己 K 進度及寫程式。&lt;/li&gt; &lt;li&gt;透過 email 及數位學習網站的討論區進行離線或線上討論。&lt;/li&gt; &lt;li&gt;集合時主要為重點講解及作業程式的討論。&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;而第一階段的目標，希望到學期末時，同學們能具備以下基本能力：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;C++ 的基本語法。&lt;/li&gt; &lt;li&gt;基本的資料結構。&lt;/li&gt; &lt;li&gt;熟練寫程式的環境，以 Code::Blocks 為主。&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;另外，提到了一個觀念：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;集訓的重點，在程式設計能力的紮根。如果想快速的學會寫應用程式或遊戲，請退出集訓，以免浪費彼此的時間。&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;最後，訂了一個「開除條款」：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;缺席兩次者開除。&lt;/li&gt; &lt;li&gt;連續兩次跟不上進度者開除。&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;這麼訂的目的很簡單，想學程式設計不一定要在高中這個時期。如果無法兼顧課業，或是時間難以配合的話，還是先把升學課業顧好，以免不兩都浪費掉了。&lt;/p&gt; &lt;p&gt;下週集訓前要完成的事：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;找到一本適合自己的入門書並帶來。&lt;/li&gt; &lt;li&gt;在家裡的電腦安裝 Code::Blocks 。&lt;/li&gt; &lt;li&gt;完成第一個 Hellow World 程式。 &lt;br/&gt;          &lt;/li&gt; &lt;/ol&gt; &lt;p&gt;就這樣。&lt;/p&gt; &lt;p&gt;另外，恭喜伙伴 huihui 指導的 213 王皇元同學日前參加今年度&lt;strong&gt;第四區&lt;/strong&gt;資訊能力競賽獲得佳作。也許，等他準備好，可以跟今年的集訓同學講講話，分享一些程式集訓的心得。 &lt;br/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-446924037716066968?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/446924037716066968/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2006/11/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/446924037716066968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/446924037716066968'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2006/11/blog-post.html' title='第一次程式集訓記事'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-2908356909282622501</id><published>2006-10-28T10:19:00.001+08:00</published><updated>2009-01-06T15:24:38.391+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><title type='text'>程式設計集訓報名截止</title><content type='html'>&lt;p&gt;          &lt;a href="http://lsslab.blogspot.com/2006/10/95.html" title="95程式設計集訓"&gt;95程式設計集訓&lt;/a&gt;報名截止了。今年高一新生共計有 24 人報名，名單如下：&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;blockquote&gt; &lt;p&gt;班級 座號 姓名
103 19 董承翰
103 20 廖敦佑
104 10 陳榮傑
105 4 林文奎
105 13 彭康庭
105 17 蔡一華
106 12 陳紹罡
107 7 張日謙
107 17 黃文泰
107 18 黃禹達
107 26 呂芷儒
108 5 吳嘉豪
108 6 宋嘉祥
109 42 蕭嘉琳
110 15 景立
112 7 林士翔
113 4 林俊佑
113 8 郭珓銓
115 13 張家輝
115 14 曹芳駿
116 4 余文凱
116 7 周佳俊
116 18 劉岳奇
117 15 陳鵬升&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;如果以上同學看到名單有反悔的，請儘快跟老師連繫刪除名單。另，報名已截止，不再受理報名。&lt;/p&gt; &lt;p&gt;如果你是想：「我很快就能學會寫一個自己的遊戲了！」這種想法的同學也請連繫老師，因為這個集訓還是不符你的需要。&lt;/p&gt; &lt;p&gt;初期，我們重點在程式語法的熟悉，然後，重點放在基礎的資料結構，到這裡應該就學期末了。希望你們能撐得下去。當然，這期間不適合的同學我會刷掉，最主要的原因，是不希望浪費你們的時間。&lt;/p&gt; &lt;p&gt;第一次集訓時見！
       &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-2908356909282622501?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/2908356909282622501/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2006/10/blog-post_28.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2908356909282622501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/2908356909282622501'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2006/10/blog-post_28.html' title='程式設計集訓報名截止'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6238852243808158387</id><published>2006-10-05T12:54:00.000+08:00</published><updated>2009-01-05T00:22:35.827+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utf-8'/><category scheme='http://www.blogger.com/atom/ns#' term='unicode'/><title type='text'>每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口！)</title><content type='html'>&lt;p&gt;這是在網路上找看看有沒有能判斷字串是使用那一種字元集的程式碼時找到的。 &lt;br/&gt;        &lt;/p&gt; &lt;p&gt;原文網址：&lt;a href="http://local.joelonsoftware.com/mediawiki/index.php/The_Joel_on_Software_Translation_Project:萬國碼" title="每個軟體開發者都一定要會的Unicode及字元集必備知識"&gt;每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口！)&lt;/a&gt;        &lt;/p&gt; &lt;p&gt;這篇文章對字元集編碼的說明相當清楚易懂，建議對 Unicode 、 UTF-8 …等字元集編碼搞不清楚的人一定要看一看。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6238852243808158387?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6238852243808158387/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2006/10/unicode.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6238852243808158387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6238852243808158387'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2006/10/unicode.html' title='每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口！)'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4189522427848712687.post-6615733857628027289</id><published>2006-10-05T10:30:00.000+08:00</published><updated>2009-01-05T00:22:30.969+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='程式集訓'/><title type='text'>95年程式設計集訓</title><content type='html'>&lt;p&gt;今天開始通知 95 學年度新生在期初問卷裡表明有意參加程式設計集訓的同學。預計通知期間為 2006/10/05 ~ 2006/10/13 ，等待回覆則到 2006/10/27 24:00 截止。&lt;/p&gt; &lt;p&gt;高中生要學程式設計有主客觀環境的困難，最大的問題是，一但進入狂熱階段，那對一般升學科目的影響是一定有的，這就會讓班導、家長擔心課業受到影響，進而勸阻學生放棄繼續學習。&lt;/p&gt; &lt;p&gt;因為有心學習的人少，少到想開一個選修班級都有困難 ( 敝校並非有許多一流學生的明星高中，像第一屆的張勝淵同學、蔡尚樺同學及第五屆的丁建文同學這種奇葩幾年才有一個 ) ，我們是採用課外集訓的方式進行。這其中，要有好的成果，最大的關鍵在於學生是否能自動自發的學習。&lt;/p&gt; &lt;p&gt;不是幾年才出一個的奇葩沒關係，希望今年報名的同學是願意自動自發學習的人，而不是什麼都等著老師教還不太願意複習的那種。如果全部是，那今年的程式設計集訓應該會提早結束了。 &lt;br/&gt;        &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4189522427848712687-6615733857628027289?l=lsslab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lsslab.blogspot.com/feeds/6615733857628027289/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://lsslab.blogspot.com/2006/10/95.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6615733857628027289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4189522427848712687/posts/default/6615733857628027289'/><link rel='alternate' type='text/html' href='http://lsslab.blogspot.com/2006/10/95.html' title='95年程式設計集訓'/><author><name>lss</name><uri>http://www.blogger.com/profile/07968099777868889998</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_NoueTEbEtsM/SWGFcYnmImI/AAAAAAAAAek/c9eYm0myo-0/S220/lss.jpg'/></author><thr:total>0</thr:total></entry></feed>
