從 Tipsy 那裡看到了å°ç£é›»å½±ä¸Šæ˜ 日曆。Google Calendar 公開沒多久,就已經有人作出這麼好用的行事曆囉。
雖然我沒時間看,ä¸éŽ Web 2.0 真好。
從 Tipsy 那裡看到了å°ç£é›»å½±ä¸Šæ˜ 日曆。Google Calendar 公開沒多久,就已經有人作出這麼好用的行事曆囉。
雖然我沒時間看,ä¸éŽ Web 2.0 真好。
ç¾åœ¨çš„ scripting language 一大票,有了 Perl, Python, PHP,å†å¤šä¸€å€‹ Ruby ä¹Ÿä¸æœƒæ”¹è®Šä»€éº¼ï¼Ÿå…¶å¯¦æœƒå•¦ï¼Œå¯« Java å¥½ç„¡èŠ (笑),多一個å¯ä»¥é¸ç•¶ç„¶æ¯”較好。
這個世界上的æ±è¥¿å¦‚果都åªèƒ½ç”¨ä¾†ç”Ÿç”¢ï¼Œä½œæ£äº‹ï¼Œæƒ³ä¾†æˆ‘們的物質會相當匱ä¹ã€‚少了那些無病呻åŸçš„詩人ã€åªèªæ•¸å—ä¸èªäººçš„ç§‘å¸å®¶ï¼Œå’Œé–’得發慌的程å¼èªžè¨€ç™¼æ˜Žè€…,或許ç¾åœ¨çš„程å¼è¨è¨ˆå¸«éƒ½è¦åŽ»æŽ’çœŸç©ºç®¡ï¼Ÿå•Šï¼Œä¸æœƒå•¦ï¼Œæ‡‰è©²æœ‰é€²æ¥åˆ°æ‰“å¡çš„æ©Ÿæœƒã€‚å¦‚æžœä¸æ˜¯å› 為舊的方法有所侷é™ï¼Œä¹Ÿå°±ä¸æœƒè¢«æ–°æ–¹æ³•å–而代之;如果組åˆèªžè¨€å¾ˆå¥½ç”¨ï¼Œå¹¹å˜›ç”¨ C 來寫 Unix å’Œ Windows å‘¢ï¼Ÿåœ¨å‰µé€ æ–°æ–¹æ³•çš„éŽç¨‹ä¸ï¼Œç¸½æ˜¯æœƒå‡ºç¾ä¸€äº›ä¸é‚£éº¼åˆ‡å¯¦éš›çš„åšè©¦ï¼Œè€Œæœ€å¾Œï¼Œå…¶ä¸çš„ä¸€äº›è¢«è‰æ˜Žæœ‰æ•ˆã€‚
銀å彈這種æ±è¥¿ï¼Œåˆ¥è²»åŠ›åŽ»æ‰¾ã€‚ä½œä»€éº¼äº‹æƒ…ï¼Œç”¨ä»€éº¼å·¥å…·ï¼›ç”¨ C++ 來寫網站留言版就是事å€åŠŸåŠï¼Œèªªä¸å®šç”¨ shell script 還會方便點。è¦ä½œç°¡å–®çš„計算,當然是
python -c "from math import *; print 3.0*2.0*pi"
一行解決;å«å‡ºå°ç®—盤我都嫌麻煩。
åƒ Python å’Œ Ruby 這種語言實在有個大優點:看起來很簡單,也真的很簡單。如果我想å¸å¥½æ¼”算法ã€è³‡æ–™çµæ§‹å’Œç³»çµ±åˆ†æžï¼Œç‚ºä»€éº¼è¦æ¨æ˜“å–難呢?
Be happy! Finally Django magic-removal branch is going to be merged back to trunk.
Andian Holovaty 在 4 月 21 è™Ÿå° django-developers å’Œ django-users 列表發出了 "magic-removal call for testing" 的郵件。Django 開發團隊從ç¾åœ¨é–‹å§‹å‡çµæ–°åŠŸèƒ½ï¼Œå°ˆæ³¨æ–¼ magic-removal 的除錯與修æ£ï¼Œé 計在下禮拜五 (2006/4/28) é–‹å§‹ merge。
一直以來,Django 的模æ¿ç³»çµ±è¦å®šæ¨¡æ¿æª”的副檔åé ˆæ˜¯ .html。從今天起,這個é™åˆ¶è§£é™¤äº†ã€‚我們ç¾åœ¨å¯ä»¥æŠŠ Django æ¨¡æ¿æª”å–作任何一種副檔å;是的,ä¸å†éœ€è¦ç‚ºæª”案關è¯å‚·è…¦ç‹ã€‚
ç•¶ç„¶ï¼Œæ¨¡æ¿æª”的副檔åä»ç„¶ä¸æœƒå½±éŸ¿åˆ°ç¶²é 內容的 mimetype。
å°å·²ç¶“使用 M-R çš„ Django é–‹ç™¼äººå“¡ï¼Œé€™å€‹æ”¹è®Šè¿«ä½¿æˆ‘å€‘å¿…é ˆä¿®æ”¹æ‰€æœ‰ view 裡é¢çš„ render_to_response() åƒæ•¸ã€‚由於模æ¿ç³»çµ±ä¸å†é™åˆ¶å‰¯æª”å,它ä¸åƒä»¥å‰ä¸€æ¨£æœƒè‡ªå·²å¹«æˆ‘å€‘åŠ ä¸Š .html (ç¾åœ¨å®ƒä¸çŸ¥é“è¦åŠ ä»€éº¼å‰¯æª”å了)ï¼›render_to_response() 函å¼è£¡ç”¨ä¾†æŒ‡å®šæ¨¡æ¿ä½ç½®çš„ç¬¬ä¸€å€‹åƒæ•¸ (ä»¥åŠæ‰€æœ‰ç›¸é—œå‡½å¼çš„æ¨¡æ¿æŒ‡å®šåƒæ•¸)ï¼Œå¾—è‡ªå·²åŠ ä¸Š .html (或其它副檔å)。
ç«Ÿç„¶å› ç‚º sqlite db 檔權é™çš„å•é¡Œï¼ŒæžæŽ‰æˆ‘ä¸€å€‹å°æ™‚。這是第二次了....
Django M-R 使用 sqlite ä½œå¾Œç«¯çš„æ™‚å€™ï¼Œå¦‚æžœå° db 檔案缺ä¹å¯«å…¥çš„æ¬Šé™ï¼Œåˆä»¥ Apache2 FCGI 進行佈署的時候,有時候 FCGI 會é€å›ž "Unable to close due to unfinalised statements" 的錯誤。
æ˜Žæ˜ŽéŒ¯èª¤è¨Šæ¯æ¸…清楚楚地說是 sqlite 有å•題,之å‰ä¹Ÿé‡éŽé¡žä¼¼çš„ç‹€æ³ï¼Œå»é‚„是花了那麼多時間找錯誤。這就是說有些æ±è¥¿ä¸è¨˜ä¸‹ä¾†ä¸è¡Œï¼Œäººé¡žçš„記憶éžå¸¸åœ°ä¸å¯é :-) (或許事實上是我該承èªè…¦è¢‹ç§€é€—了)。
無論如何,利用åƒé£¯å‰çš„一點時間,å†åŠ ä¸Šå‰å…©é€±æœ‰ä¸€ææ²’一æçš„修改,這個網站已經從 Django trunkï¼Œé †åˆ©åœ°ç§»æ¤åˆ° magic-removalã€‚å› ç‚ºæ”¹åˆ°ä¸€åŠå‡ºç¾ä¸Šè¿°çš„æ¬Šé™å•題,晚飯åˆä½œå¥½äº†ï¼Œæ‰€ä»¥æœ¬ç«™æŽ›äº†ä¸€æ®µæ™‚間;如果有人剛剛連ä¸ä¸Šæˆ–æ˜¯çœ‹åˆ°èŠ±èž¢å¹•ï¼ŒæŠ±æ‰æŠ±æ‰ã€‚
近來 django-user åˆ—è¡¨ä¸Šæœ‰å…©å¤§ä¸²è¨Žè«–ï¼Œå…¶ä¸€æ˜¯å° 0.91 舊系統,以åŠå¾ˆå¿«å°±æœƒé¢ä¸–çš„ magic-removal 的討論。有些人èªç‚ºé›–ç„¶ç›®å‰çš„ trunk è·é›¢æ—©å…ˆçš„ 0.91 release 進行了許多修訂,但為了é¿å…夜長夢多,magic-removal 應該直接作為下一版發行 (這也是 magic-removal 原訂的計畫)。然而,更多人覺得ç¾åœ¨çš„ trunk 已經作了很大的改進,ä¸é€²è¡Œç™¼è¡Œï¼Œä»¥ç…§é¡§ä¸€ä¸‹èˆŠç³»çµ±çš„使用者,有點說ä¸éŽåŽ»ï¼›æˆ–è¨±åœ¨ magic-removal 發行時,也應該把目å‰çš„ trunk åŒæ¥ç™¼è¡Œç‚º 0.91 çš„ fix。
把 0.92 發行為 0.91 çš„æ”¯æ´æ€§ä¿®æ£ç‰ˆï¼Œè€Œå°‡ magic-removal 直接推到 0.95,這主æ„è½èµ·ä¾†å¾ˆæ£’ï¼›å› ç‚ºï¼Œæ„Ÿè¦ºé›¢ 1.0 近得多了 :-)
å†è€…,有些人想為 Django 撰寫 e-commerce 的支æ´ï¼Œè€Œä¸”已經有所動作。
Google Calendar 開始測試。
我想想看。有 (G)mail,有 (G)calendar,平常上çé–‹ outlook/notes 看的大概就是這兩個æ±è¥¿ã€‚Google çš„ groupware 還缺什麼呢。
Gcalendar 具備多行事曆的è¨è¨ˆã€‚使用者å¯ä»¥çµ„態多個ç¨ç«‹çš„行事曆,也å¯ä»¥å’Œä»–人共享行事曆。多行事曆是è¨è¨ˆçµ¦ä¸åŒå±¬æ€§äº‹å‹™ä½¿ç”¨çš„,è¬å¦‚家人的事情放在 A 行事曆裡,辦公室的事情就放在 B 行事曆裡,如æ¤å³å¯é‡å°ä¸åŒçš„å°è±¡é€²è¡Œåˆ†äº«ã€‚
Gcalendar ç›®å‰å·²ç¶“附了好幾個國家/文化æ—群的節日行事曆。我覺得這是很好的è¨è¨ˆã€‚在 outlook 裡é¢é›–然有å„地節日套件å¯ä»¥æ–°å¢žï¼Œä½†ä¸€æ—¦åŠ å…¥å¾Œï¼Œç¯€æ—¥å°±å¾ˆé›£è¢«ç§»é™¤ã€‚å› ç‚ºé‚£äº›ç¯€æ—¥å¥—ä»¶æœƒæŠŠå„節日當作ç¨ç«‹çš„äº‹ä»¶åŠ é€²è¡Œäº‹æ›†ä¸ã€‚Gcalendar 讓節日變æˆé¸é …,隨時å¯ä»¥å¢žåˆªé–‹é—œï¼Œæ–¹ä¾¿æ€§å°±é«˜å¤šäº†ã€‚
ä¸å°ä¼æ¥è²· Exchange server 作什麼呢?Google éƒ½å¹«ä½ å€‘æƒ³å¥½äº†ã€‚ç•¶ç„¶ï¼Œé‚„æ˜¯ç‰ beta 兩個嗿‹¿æŽ‰ä»¥å¾Œå†ç”¨æ¯”較好。
å‡çš„æ±è¥¿å¾ˆå¥½ã€‚æœ‰äº›äº‹ç‰©æœ¬ä¾†å°±å…·æœ‰å‡çš„å±¬æ€§ï¼›å¦‚æžœä¸æ˜¯å› 為其ä¸éƒ¨åˆ†çš„ä¸çœŸå¯¦ï¼Œé€™äº›äº‹ç‰©çš„價值就會大大地減少。è¬å¦‚æˆ²åŠ‡ã€æ•…事,完全真實的情節å而ä¸èƒ½æ¿€å‹•人心的共鳴,而且也沒有必è¦å˜åœ¨ã€‚如果想è¦è¿½æ±‚真實,那麼ç¾å¯¦ç¤¾æœƒè£¡åˆ°è™•éƒ½æ˜¯çœŸå¯¦ï¼Œä½•å¿…å‰µé€ å‡ºã€ŒçœŸå¯¦çš„æ•…äº‹ã€ä¾†å‡è£å¾ˆçœŸå¯¦å‘¢ã€‚所以我喜æ¡çœ‹å‹•ç•«å‹æ–¼çœ‹é›»å½±ã€‚
æ–°èžä¸èƒ½å¸¶æœ‰å‡çš„屬性。昨天看到了兩則和「iThome online : The First IT Portal : 愚人節é§å®¢æƒ¡æžLinux網站ã€ç›¸é—œçš„æ–°èžï¼Œä»Šå¤©çœ‹åˆ° chihchun 「國際é§å®¢ç™¼å‹•網路戰ã€ã€‚æ˜¨å¤©çœ‹åˆ°æ–°èžæ™‚åªè¦ºå¾—好笑,但今天看到 chihchun çš„ã€Œå¾ŒçºŒå ±å°Žã€æ™‚,發ç¾èª¿æŸ¥å±€é›»è…¦çŠ¯ç½ªåµè¾¦ç§‘如æ¤çš„æŸ¥æ¡ˆå“è³ªå¾Œï¼Œä¸€è‚¡åŽæƒ¡çš„æ„Ÿè¦ºå»æ²¹ç„¶è€Œç”Ÿã€‚
æ ¹æ“š chihchun 的調查,該段時間 (4/1~4/4) å°ç£è¢« un-root æ‘¸çš„æ©Ÿå™¨æ‰ 17 å°ï¼Œåª’é«”çš„å ±å°Žå»æ˜¯å°‡è¿‘ 200 å°ã€‚æˆ–è¨±æ˜¯åª’é«”å ±å°Žæ™‚ä¸æ±‚甚解?那麼è¯åˆå ±ã€ä¸åœ‹æ™‚å ±å’Œ iThome å…¨éƒ½ä¸€èµ·ä¸æ±‚甚解。
Python 內建函å¼è£¡æœ‰ä¸€å€‹ __import__(),å¯ä»¥ç”¨ä¾†è‡ªè¨‚ package/module 的匯入 (import) 動作。Django 就利用這個函å¼ä¾†å–å¾— DJANGO_SETTINGS_MODULE 和其它相關的功能模組。
當我們è¦åœ¨ç¨‹å¼è£¡é¢è¨è¨ˆå¯é¸æ“‡çš„組件 (plugin) 時,讓它們被 __import__() å‹•æ…‹è¼‰å…¥æ˜¯è »ç†æƒ³çš„æ–¹æ³•。Python å®˜æ–¹æ–‡ä»¶è£¡å° __import__() 的介紹就給了一個剛好é©ç”¨çš„範例:
def my_import(name): mod = __import__(name) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod
把模組的å稱å—串 name 丟進 my_import() 去,就å¯ä»¥å¾—到該å—串所指涉的模組。這和一般所用的 import mod1.mod2 有什麼ä¸ä¸€æ¨£å‘¢ï¼Ÿæˆ‘們寫:
import mod1.mod2
所得到的是一個 mod1 å稱,這個敘述會把 mod1 æ¨¡çµ„åŠ é€²ç•¶å‰çš„命å空間ä¸ï¼ŒåŒæ™‚把 mod2 åŠ é€² mod1 模組的命å空間;實際上,在當å‰çš„命å空間ä¸å¾—到的是 mod1 é€™å€‹æ¨¡çµ„ï¼Œè€Œä¸æ˜¯ mod2 。
my_import() ä¸ä¸€æ¨£ï¼Œç•¶æˆ‘們寫:
wantedmod = my_import( 'mod1.mod2' )
會把當å‰å‘½å空間的 wantedmod 變數指定為 mod2 這一個模組。或者,也å¯ä»¥ç›´æŽ¥æ“作 my_import() 傳回的模組物件:
my_import( 'mod1.mod2' ).some_func_in_mod2()
ç•¶ç„¶ï¼Œå¦‚æžœæˆ‘å€‘åªæ˜¯æƒ³è¦èƒ½å¤ 比較方便地 mod2 這個模組,那麼:
from mod1 import mod2
或:
from mod1 import mod2 as wantedmod
都å¯ä»¥é”æˆä»»å‹™ã€‚使用 __import__() çš„é‡è¦æ€§åœ¨æ–¼ï¼Œå®ƒå¯ä»¥åœ¨åŸ·è¡ŒæœŸæ±ºå®šè¦åŒ¯å…¥çš„æ¨¡çµ„,ä¸åƒ import å’Œ from foo import bar,撰寫程å¼çš„æ™‚å€™ä¸€å®šè¦æŠŠæ¨¡çµ„å稱寫æ»ã€‚
還想弄些更奇怪的æ“作?請使用 imp æ¨¡çµ„ä¾†è®Šé”æ³•。
Relative å’Œ absolute import syntaxã€conditional expressionã€with statement ç‰éƒ½æ˜¯åœ¨ Python 2.5 è£¡å¾ˆå—æ³¨ç›®çš„æ›´æ–°ï¼Œä½†ä»Šå¤©çœ‹éŽlimodou çš„å¸ç¿’記錄之後æ‰ç™¼ç¾ Python 2.5a1 連 sqlite3 wrapper module 都包進去了。
é€™æ‡‰è©²æ˜¯ç¬¬ä¸€å€‹è¢«åŠ é€² Python official module library çš„ RDBMS æ”¯æ´ (å¦‚æžœæˆ‘å¼„éŒ¯äº†ï¼Œè«‹æŒ‡æ£æˆ‘)。å‰å“‰ sqlite,然而,Python 2.5a1 並沒有把 sqlite3 的程å¼ç¢¼åŒ…進去,故自行編è¯è€…ï¼Œé ˆå…ˆè¡Œå®‰è£ sqlite3 library åŠ header files。
這是一段ç†è¨˜ã€‚
Serial ATA (SATA) chipsets — Linux support status å° Linux 下的 ATA (IDE), SATA ä»¥åŠ Hardward/Software RAID 支æ´ä½œäº†å¾ˆè©³ç´°çš„說明。整個支æ´çš„ç‹€æ³è·é›¢æˆ‘上一次的亂æžå·²ç¶“進展了ä¸å°‘ã€‚é€™ä»½è³‡æ–™å°æŽ¡è³¼æ–°çš„ç¡¬é«”æœ‰å¾ˆé‡è¦çš„åƒè€ƒåƒ¹å€¼ã€‚