February 5,2014

停止維護公告

想了很久,終於下了決定。

即日起,新文章會改張貼到 http://blog.elleryq.idv.tw,這裡將不會有新文章出現。若有不便之處,還請海涵。如果你訂閱的是 FeedBurner 網址,那麼你將不需要做任何修改。

elleryq發表於 樂多11:21引用(0)雜記,隨筆

January 28,2014

CentOS OpenSSL

今天看到這篇 Secure Web API ,提到可以用 SSL Server Test 這個網站服務來檢查 SSL 憑證的安全性,所以就來試試看。

我的機器用的是 CentOS 5,因為是從很早以前的版本升級來的,設定幾乎都是照舊,今天重新整理,對照設定檔跟新設定檔以後,才發現 certification 位置已經更換了。

CentOS 5 的 SSL certification 改放在 /etc/pki/tls/certs ,所以要到該目錄下輸入 make your.crt ,依照步驟回答問題後,就可以製作出 your.crt 跟 your.key ,接著把 your.key 複製到 /etc/pki/tls/private 。然後去調整 /etc/httpd/conf.d/ssl.conf ,並且參考 Configuring Apache, Nginx, and OpenSSL for Forward Secrecy 去修改設定檔案,但不要加入這行 SSLCipherSuite 。不加入的原因是因為 CentOS 的 OpenSSL 並沒有加入 EC support ,如果要加入的話,目前看來是要重新編譯 OpenSSL 套件 (Bounty : OpenSSL with EC for Fedora/RH/CentOS : 3.6 BTC),裡面提到的步驟是下載 source RPM,修改 .spec 裡的 configure 該行,改為 enable-cms enable-md2 no-idea no-mdc2 no-rc5 enable-ec enable-ecdh enable-ecdsa 。

最後再重新啟動 Apache 。

elleryq發表於 樂多23:47回應(0)引用(0)Linux 及其相關 │標籤:linux,centos,openssl

January 24,2014

電影流水帳(2014/1/11~2014/1/22)

12-1029 Wreck-It Ralph Premiere-Piper with Wreck-It Ralph 3我不知道圖裡的小女孩是誰,因為找不到適當的圖,就放了這張 Ralph 跟小女孩的合照。
  • 總舖師 (IMDB, Wikipedia)。很歡樂的片子,個人覺得根本是把中華小廚師漫畫實體化了。小婉是虎神師的女兒,可是不喜歡做菜,只想朝演藝圈發展。無奈被人所騙,欠下債務,就逃回南部。途中巧遇料理醫生葉如海,兩人互有好感。之後小婉找到媽媽,又遇到如海,一起研究料理,更是感情進展神速。但好景不常,債主再次追來,於是他們決定參加辦桌比賽贏得獎金,以還清債務。然後母女兩就拉債主當水腳參賽啦。比賽的過程很有趣,也很感人,蠻值得一看的電影。
  • Wreck-It-Ralph (IMDB, Wikipedia),中譯:無敵破壞王。Ralph 是遊戲裡的反派,負責破壞,而阿修則負責修理房子,所以遊戲裡的所有角色都不愛 Ralph,Ralph 很受傷,也想加入他們。在三十週年那天,他去了反派角色互助會,以為會有幫助,但其實沒有。會後他去了遊戲裡三十週年的派對,派對中,大家都明顯表達厭惡,他一氣之下就跟其中一個角色打了賭,拿到獎牌的話,就交換角色。然後 Ralph 就跑去 Hero duty 拿獎牌,拿到獎牌以後,意外發生了,載著 Ralph 的飛機飛到 Sugar Rush 遊戲裡去,而飛機裡剛好又有一隻超會繁殖的機器蛾。Ralph 在 Sugar Rush 遇到一個小女孩 Vanellope,他們從相互討厭到相互幫助,培養出深厚的情誼。但 Sugar Rush 的國王卻百般阻撓,後來使出殺手鐧,直接拿出獎牌給 Ralph ,讓他不再幫助 Vanellope,Ralph 就真的不再幫她,把車子毀了,Vanellope 非常難過。Ralph 回到自己的遊戲之後,才發現 Felix 不見了。原來 Felix 在 Ralph 消失以後,跑去找他,在途中遇到 Hero duty 帥氣的女主角,到 Sugar Rush 時,被國王抓住,囚禁在地牢裡。Ralph 左思右想之後,想通了一切,回到 Sugar Rush 救出 Felix ,請 Felix 修好 Vanellope 的車子,再救出 Vanellope 。接著就參加比賽,在比賽到一半的時候,國王露出了真面目,他就是十幾年前的 Turbo,而繁殖了很多的飛蛾跑出來啃食 Sugar Rush 世界,大家都紛紛撤離。最後 Ralph 設法讓曼陀珠掉落可樂溫泉形成光柱,才消滅了飛蛾。故事溫馨好看,裏面借用了不少老電影的情節,像是 Tron (一樣是在大遊戲機台,將電源插座類比為中央車站)、The Matrix (Turbo 進入一個門,重新拿回獎牌那段) 等等,結合的很好,絲毫沒有違和感。
  • The Taking of Pelham 123 (IMDB, Wikipedia),中譯:亡命快劫。故事很緊湊,飾演 Garber 的 Denzel Washington 跟飾演 Ryder 的 John Travolta 有精彩的對手戲。Ryder 出獄以後,跟他的同夥依照之前的計劃,劫持地鐵。他們很聰明的只劫持一節車廂,並且遵守紀律,在極短的時間裡,聯絡到警察,並且要求贖金。在紐約地鐵上最後一天班的 Garber 是調度地鐵的調度員,用無線電跟失控地鐵連繫時,剛好就跟 Ryder 對到了。兩方的連繫幾乎都是靠無線電,Ryder 基本上就是遵守紀律,並且無情,把 Garber 跟警方這邊壓迫的死死的,Garber 就在這樣的空隙裡去推敲並且避免被 Ryder 逼的死死的。雖然到後來還是逼的要 Garber 去交贖金,但 Garber 交完贖金以後,仍試圖以他自己的方式反抗。這些歹徒在分完贖金後,就分頭逃走,Ryder 沒拿什麼贖金,他目的在於利用這次的事件炒作金融商品。歹徒逃不了很遠,還是被截住,試圖反抗的結果是死於亂槍之下。Ryder 比較幸運,搭上計程車逃到了布魯克林大橋,Garber 則是循線趕上。最後的那一幕對手戲是 Garber 拿槍指著 Ryder,而 Ryder 則是請 Garber 幫最後一個忙,要他把自己殺掉,這邊我看不太懂為什麼,然後在緊急的最後時刻,Garber 還是開槍殺了 Ryder。故事結束了,Garber 還是被資遣。至於 Ryder 利用這次意外炒股得到的財富到哪裡去了,不得而知。

elleryq發表於 樂多16:48回應(0)引用(0)電影流水帳 │標籤:movie

January 14,2014

電影流水帳(2014/1/1~2014/1/10)

Zoe Saldaña arrives for her panel
Alice Eve 的照片有夠難找,後來還是找了 Zoe 的照片。
  • Things We Do When We Fall In Love (IMDB),中譯:當我們同在一起。說實話,劇情有點小悶。故事很真,很單純就是男女的互動,有小甜蜜,也有爭吵。但是說實話,我不太懂吵架的原因,應該是男方跟某個第三者有曖昧,然後不告訴女友,女友一直很想知道,苦苦相逼,男方就是不說。最後還是在相互退讓之下復合了,而男方也去修了車,把曖昧給切斷。
  • Star Trek Into Darkness (IMDB, Wikipedia),中譯:星際爭霸戰-暗黑無界。這次故事的衝突點是有點突兀的,反派有點不像是反派,反而是受害者。故事一開始是出任務,Kirk 不顧違反法律,去救了瀕危的 Spock,任務結束的時候,Kirk 隱瞞了這件事,但 Spock 卻老老實實的回報,導致 Kirk 被降級。這時候 Khan 出現,利用人性的弱點讓人幫他炸了星際艦隊的秘密基地,星際艦隊召集所有艦長來開會,Kirk 隨著他的長官同行,就在 Kirk 提出質疑時,Khan 架著戰鬥機對著會議室掃射。Kirk 費了一番工夫將戰鬥機打下來,Khan 在墜機時利用傳送裝置逃逸到克林貢禁區。Kirk 的長官死了,Kirk 矢志復仇,就向總長官自告奮勇要去逮人,總長官勉為其難的答應,並要他們帶上光子魚雷,直接打 Khan。等到了克林貢星,Kirk 再次違反命令,要活捉 Khan 回去審判。到地面被克林貢人發現,被克林貢人逮住,這時 Khan 反而突然跑出來救了他們。Khan 這時候才娓娓道出為什麼他要這樣做的原因,原來 Khan 跟他的同伴本來是改造過的強化人,被冰凍起來在太空中飄流,某天被星艦總長官發現,打開了一具,就是 Khan,然後以他同伴作為要脅,要他幫忙改造星艦與武器。Khan 都幫忙了,可是後來星艦總長官卻翻臉如翻書,想要毀約,Khan 氣不過,才發動攻擊。Khan 並要 Kirk 打開光子魚雷看看裡面是什麼,Kirk 打開後發現真的是 Khan 的同伴。沒多久,星艦總長官就來了,並且質問 Kirk 為什麼沒遵守命令發射魚雷消滅 Khan,並且以沒遵守命令為由,開始攻擊 Kirk 的星艦。就在 Kirk 星艦要被摧毀的時候,偷偷潛入的 Scotty 讓總長官的星艦停止行動。Kirk 當機立斷,讓 Spock 暫代艦長職位,帶了 Khan 穿上太空衣,利用噴射管潛入總長官的星艦,並且扭轉乾坤。就在控制艦橋以後,Khan 突然發難,把總長官殺了,並且要 Spock 交出那七十二具魚雷。Spock 在 Kirk 潛入的同時,與新瓦肯星的老 Spock 通訊,詢問他一些事情,得知 Khan 很危險,並且會讓 Spock 跟 Kirk 付出極大代價之後,他也做出決定,命令醫官把光子魚雷裡的人都搬出來。所以 Khan 要 Spock 交出魚雷時,Spock 同意了,並且設定魚雷在一定時間後會自爆。Khan 把魚雷傳送回來,並且將 Kirk, Scotty 跟 Carol 傳送回去。可是緊接著,Khan 就要發射武器攻擊,就在這時候,魚雷爆炸。兩台星艦因為爆炸的影響,向地球墜落。在千鈞一髮的時刻,Kirk 犧牲自己,進去曲速引擎把核心踢正,讓星艦有動力免於墜落的命運,但 Kirk 在大量輻射照射之下,眼看是不活了。Spock 繼續去追星艦墜落,大難不死的 Khan,追趕的同時,醫官想到可以用 Khan 的血來救人,總之,最後人抓到了,也救活了 Kirk ,Khan 被冰凍起來,故事就這樣結束。
    飾演 Khan 的 是福爾摩斯影集的男主角,有種獨特的氣質,或許過年的時候也來追福爾摩斯影集好了。看了一下他演過的電影,居然有哈比人跟魔戒,只是他演的是不露臉的角色,一個是索倫,一個是史茅革巨龍。

elleryq發表於 樂多15:57回應(0)引用(0)電影流水帳 │標籤:movie

January 13,2014

Apple TV 與 mt-daapd

Apple 寄信來說 1/10 有特價活動,上去一看,剛好看到 Apple TV。稍稍找了一下,Apple TV 可以用來播放影片、音樂之類的,就想說,那我可以架個 Media Server ,讓 Apple TV 存取嗎??


 

elleryq發表於 樂多14:19回應(0)引用(0)資訊相關Idea與筆記 │標籤:apple,linux

January 10,2014

LightTable

今天早上看到 LightTable 開放原始碼的消息:新一代IDE Light Table开源:让编程工作更简单,上去 github 看了一下,完全搞不清楚用什麼語言寫的,既然搞不清楚,那就只好裝來試試看了。

我的環境是 Ubuntu 12.04,安裝經過:
  1. git clone https://github.com/LightTable/LightTable
  2. 執行 ./linux_deps.sh ,提示說要安裝 leiningen,搜索了一下,找到 Leiningen 網站,閱讀之後,才知道 LightTable 應該是 Clojure 。Leiningen 應該是類似 Gradle 之類的軟體,可以自動化建置 Clojure 專案的工具。
  3. 如果 Ubuntu 有,當然是用 apt-get 安裝:sudo apt-get install leiningen ,但經過試驗,會有一些問題,版本太舊了。leiningen 網站上也建議自己另行安裝,不要使用 1.x 的版本。安裝的步驟可以參考 leiningen 的 README,只是簡單下載一個 bash 檔就能用了,然後先輸入 lein version 檢查看看版本,如果是第一次執行,會先下載檔案到 $HOME/.lein 下。
  4. 重新執行 ./linux_deps.sh ,這個步驟就會開始下載必要的檔案,然後建置,並放到 deploy 目錄下了。
  5. 執行 deploy/LightTable 就可以了。


LightTable 應該是使用 Clojure 寫的,至少 plugin 是,從下載過程看來,使用了 Maven,因此看起來是有借重 Java 的跨平台能力。Clojure 的語法真的是...看不太懂啊!! 似乎是該找 Clojure Tutorial 來看看了??

elleryq發表於 樂多11:00回應(0)引用(0)資訊相關Idea與筆記 │標籤:note,editor,clojure

January 6,2014

依照片拍攝日期來分類到"年/月/日"資料夾裡

剛好要整理照片,又懶得手動整理,就寫了 script 來處理。照片裡的資訊是放在圖片裡,也就是 EXIF,網路上已經有好心人寫好 exifread 模組,所以只要用 pip 裝上使用即可。想說只是簡單的程式,就沒使用 argparse 來解析參數了,第一個參數帶 *.jpg 或 *.png,第二個參數帶要複製過去的資料夾,例如 python photo_classifier.py *.jpg d:\tmp 即可。



elleryq發表於 樂多15:26回應(0)引用(0)Python │標籤:python

December 31,2013

電影流水帳(2013/12/18~2013/12/31)

Alice Braga 2008 by David Shankbone
Alice Braga 是 Elysium 的女主角,飾演 Frey,她是來自巴西的模特兒,蠻漂亮的。

今年一共看了 84 部電影!!

  • Elysium (IMDB, Wikipedia), 中譯:極樂世界。故事發生在未來,在那個時候,由於地球汙染過於嚴重,就在外太空建立了太空站 Elysium,繞著地球運行,太空站上有著超先進的高科技,但是,只限於特定的人才能住在那裡。Max 跟 Frey 在地球的孤兒院認識,成為好朋友,Max 在小時候就立下志願要帶大家去 Elysium,到長大以後,卻不是這樣。Max 有不少前科,可是已經改過自新,在工廠裡上班。這一天,發生了工安意外,Max 受到致命的輻射,即將於五天後死去,廠方只給了他能延續五天生命的藥物,就棄之不顧。Max 為了活下去,決心到 Elysium 去,就找上他以前的老闆 Spider ,問他要 Elysium 的假身份證與太空船票,Spider 就要他去偷富豪腦袋裡的資料。Max 經過 Spider 改裝,裝上體外強化裝甲以後,就去偷了,選的目標是工廠的大老闆 John。John 跟 Elysium 的國防部長 Delacourt 沒多久前才達成秘密協議,國防部長想要取代總統的位置,就要 John 去改寫 Elysium 的軟體,由於 Elysium 就是由 John 的公司所打造,因此 John 有這樣的能力可以修改裏面的軟體。Max 等人就在 John 打算要去改寫 Elysium 軟體時,打下 John 的飛船,並取得了 John 腦袋裡的改寫程式。之後就被國防部長的人 Kruger 追殺了,經過一番打鬥與逃跑之後,Frey 跟她的女兒因為幫助 Max 的關係被抓了,Max 跟 Spider 聯絡之後,發現自己取得的東西很不得了,決定去跟 Kruger 談判,而不願意再跟 Spider 合作,就此離去,離開的時候,Spider 趁機安裝了跟蹤裝置在 Max 身上。Max 跟 Kruger 接觸以後,Kruger 旋即也發現了 Max 腦袋裡的東西不得了,就也想利用 Max 讓自己當上總統。帶著 Max, Frey 跟她女兒的飛船到了 Elysium,就快降落的時候,Max 跟 Kruger 打了起來,飛船因此墜落。Max, Frey 跟她女兒都被抓了起來,Max 趁亂逃脫。Kruger 窩裡反,幹掉 Delacourt,跑去找 Max。Spider 也在這時候混入了 Elysium ,去找 Max。經過一番的打鬥之後,Max 幹掉 Krug,Spider 跟 Max 就改寫了 Elysium 的程式,讓所有地球人成為 Elysium 的公民,Frey 的女兒也因此得救。Max 最終犧牲了自己,也順利完成自己小時候的心願。
  • 激戰 (IMDB, Wikipedia)。蠻熱血的拳擊故事。林思齊是富二代,父親在金融危機後一蹶不振,每天買醉。為了獎金也為了讓父親站起來,就跑去拳房練拳,想要在最短的時間內讓自己強大到可以去參加比賽。阿輝原本是拳手,但因為打假拳被捕入獄,出來之後,當個計程車司機。後來愛賭被追債,逃到澳門去,跟阿君租房子,在拳房當個小教練。阿君是小丹的媽媽,丈夫拋棄母子三人離去。阿君在某次下班回來很累加上酗酒,沒注意到小兒子在浴室玩水而溺水,之後過失殺人,受不了這打擊而進精神病院,出院以後繼續跟小丹住。故事的主軸是林思齊在拳房發現阿輝很有料,就請他幫忙教拳,練拳,然後就去打比賽拿獎金。林思齊第二場比賽輸掉,但換來父親的清醒。接著換師傅阿輝決定在 48 歲去拼一次,這次的拼鬥,很順利打贏三場,第四場就放下讓賢了。副線是阿輝跟小丹、阿君住在一起,培養出家庭的感覺,溫馨的感覺軟化了熱血、可能過於陽剛的拳擊主軸。整個故事鋪陳的很不錯,故事沒有刻意讓主角一定要贏,也沒有刻意營造悲壯,蠻值得一看。
  • Pain and Gain (IMDB, Wikipedia),中譯:不勞而禍。據說是真人真事改編的犯罪案例,還蠻瞎的,也挺貼近真實世界的不確定性。Daniel Lugo 是一個健身教練,很壯也很自豪自己的身材,但偏偏就是不爽自己為什麼那麼沒錢。在某天參加 Johnny Wu 的成功研討會以後,他決定要做出一番事業,就夥同健身房裡的 Paul 跟 Adrian 策劃了一個綁架案。計劃很簡單,綁架 Victor ,威脅他簽字讓渡所有財產給 Daniel Lugo ,收工。實際上卻不是這樣,Victor 的背景讓三人在逼供時吃足了苦頭,花了快一個月,才搭配偽造文書的方法讓 Victor 就範。要將 Victor 滅口時,也沒能把 Victor 幹掉。Victor 後來幸運得救,到了醫院,警方來問案,可是 Victor 態度不佳,再加上整個過程很令人不敢置信,所以警方不採信。Victor 只好找偵探來幫忙查這樁案子,偵探查到這三人。這三人又因為 Paul 揮霍無度,Adrian 買了房子之後就缺錢,再幹了一票殺人滅屍的案件。邁阿密警方承認了自己的錯誤,跟偵探聯手出擊,將三人逮捕,順利解決這件荒謬的案件。電影不難看,但也不是那麼好看就是了,蠻適合打發時間用。
  • 單身男女 (IMDB, Wikipedia)。在第四台看到的愛情片,高圓圓在這部電影裡散發出來的獨特特質吸引我看下去。程子欣是個在金融業上班的上班族,在跟前男友分手後的某天出了意外,幸好啟宏救了她。啟宏原來是個建築師,放棄了自我,所以像個乞丐似的流落街頭。程子欣請他吃飯,並送他前男友的東西,啟宏因此重新打起精神。同時,在對面大樓的張申然吸引她注意,進而決定跟他出來約會。豈料,張申然約會當天卻沒赴約,吃了另外一個女人。程子欣沒等到張申然,非常失望,時間一下就三年過去。張申然成了程子欣的老闆,啟宏成了不錯的建築師,搬到程子欣辦公室對面。兩人都開始追求程子欣,變成了三方混戰,也就是三國演義...就看到這邊,沒看到結局。

elleryq發表於 樂多14:31回應(0)引用(0)電影流水帳 │標籤:movie

December 26,2013

電影流水帳(2013/12/07~2013/12/17)


  • The wolverine (IMDB, Wikipedia),中譯:金剛狼2-武士之戰。個人覺得這一集沒上一集好看,看完前 20 分鐘,Yashida 跟 Logan 講的話以後,大概就可以猜到反派是誰了。Yoshida 派養孫女 Yukio 去找失志的 Logan,說想要跟他講講話這樣。找回來以後,Yoshida 跟 Logan 說,我可以幫你終結永恆的生命,可是 Logan 畢竟經歷過那麼長的時間,並不是真的失志到谷底,所以就沒答應 Yoshida。在 Yoshida 的宅邸,他看到了 Yoshida 跟他的兒子跟孫女之間的一些衝突。Logan 在此,被 Yoshida 的女醫師 Viper 襲擊下毒,失去了復元能力。之後 Yoshida 跟他兒子說,我不會給你繼承家業的,我要讓孫女 Mariko 來繼承! 沒多久,Yoshida 死去。Yoshida 的兒子 Shingen 很火,因為他幫他老爸處理了好多事情,搞得公司快倒閉,還沒辦法繼承家業,就跟未來的女婿聯合起來要劫持 Mariko。很快就舉行葬禮,葬禮的時候,Logan 發現有異,就出手,讓 Mariko 免於被抓走,但失去復元能力的 Logan 也傷痕累累。兩人一起逃走,Mariko 帶 Logan 來到一個漁村躲避一陣子。但命運是殘酷的,Mariko 終於還是被擄走。Logan 在 Yukio 的幫忙下,幹掉了 Shingen 跟他未來女婿,然後回復了復元能力。接著就是去找大魔王,果然大魔王不是 Viper,而是已經死掉的 Yoshida。Yoshida 戀棧自己的權位,就想移植 Logan 的復元能力到自己身上,所以利用假死跟 Viper 的幫忙來奪取 Logan 的能力。Logan 最後大怒,經過一番打鬥後,把他們都幹掉了。Mariko 後來真的繼承了家業,而 Yukio 則跟著 Logan 去美國。片尾的驚喜是 Professor X 跟 Magneto 在機場找到 Logan,說需要他幫忙,看起來能力大增,續集看來是精彩可期。
    這集比較讓人感到難以理解的是家族內的關係。Yoshida 利用兒子去收集亞德曼金屬,製作了機器人。假死前告知兒子要把家業留給 Mariko,這是故意分化他們父女的關係,並且打算利用 Mariko 嗎? 而 Shingen 為什麼要聯合未來女婿派人來對付自己的女兒? 我實在是不太懂。
  • Percy Jackson: Sea of Monsters (IMDB, Wikipedia),中譯:波西傑克森-妖魔之海。這集主要是在馴服傲驕的戰神女兒 Clarisse 並取得金羊毛來修復本來在保護混血營的泰麗雅樹,還有就是解決 Percy 缺乏自信的問題。一開始是在第一集沒死的 Luke 對松樹下毒,所以保護混血營的防護罩消失了。這顆松樹原來是當初混血營創始人之一泰麗雅,宙斯的女兒,為了讓其他人能順利逃走而犧牲自己。宙斯在女兒將死之際,將她變為松樹,保護混血營。現在防護罩消失了,表示混血營裡的混血人都有危險。Annabeth 在書裡找到了金羊毛,認為這可能可以救活泰麗雅,於是將這訊息透露給老師。老師說危險,但後來老師卻公開的說自己在書裡找到金羊毛可能可以救活泰麗雅,接著派了 Clarisse 去找金羊毛。Percy 遇到了自己的兄弟 - Tyson,他是獨眼巨人所生的;同時也從老師那裡得知了關於自己的預言。照慣例,Percy, Annabeth, Grover 又想說要偷偷去幫 Clarisse,就帶著 Tyson 偷偷搭上計程車去妖魔之海(百慕達三角洲)了。在去妖魔之海的途中,具有指南針功能的 Grover 被 Luke 劫走 (這是希臘神話裡的設定,羊男會被金羊毛所吸引),Percy 等人就追去,到了百慕達三角洲的時候,遇到 Clarisse ,一同去找利用金羊毛吸引食物的獨眼巨人,接著就是一場金羊毛爭奪戰了。螳螂捕蟬,黃雀在後,隨後來的 Luke 不費吹灰之力地取得金羊毛,並進行他的陰謀,復活宙斯、黑帝斯與波士頓三人的父親。最後就是一場大戰,算是某種程度地應驗了預言,大戰之後,Percy 等人取得金羊毛回到混血營,讓泰麗雅回復生命力。Percy 並不居功,把功勞都算到 Clarisse 頭上,因此馴服 Clarisse。回到混血營的隔天,有人發現泰麗雅居然回復人形了,為下一集埋下伏筆。
  • Arthur Christmas (IMDB, Wikipedia),中譯:聖誕快遞。前面都沒看到,大約從 1/3 的部份開始看。聖誕老人到了 Arthur 這一代,是讓 Arthur 的哥哥 Steven 來當聖誕老人,可是卻不小心漏了一份禮物沒送到,Steven 想要就這樣算了。Arthur 覺得這樣不對,就決定自己來送,他跑去找祖父幫忙,於是就一同出門了。途中發生了不少事情,讓聖誕老人三代的想法都有了改變。最後順利把禮物送到小女孩手上,聖誕老人三代都一致認為 Arthur 比較適合擔任聖誕老人,於是就這樣結束啦。


elleryq發表於 樂多18:33回應(0)引用(0)電影流水帳 │標籤:movie

December 12,2013

轉換超級大的檔案為 MySQL 可用的 .sql 檔

在大致看過原始檔案以後,可以知道原始檔案大致的格式是是這樣:
  • 每筆記錄以只有 '@' 存在的行做分隔。
  • 每筆欄位,也就是每行以 @field: value 存在。
  • @content: 該行比較特別,有可能是多行,有可能是單行。


最簡單的想法就是逐行解析。一開始是先寫了一個小程式,確定一下有哪些欄位,結果這樣就執行了好久好久。所以為了實驗方便,後來改以 head -n 2000000 | tail -n 1000000 大致取了一小段來使用,來確定有多少欄位。為了以防萬一,有刻意改變數字,從尾段取部分、從中段取部分,確定三者得到的欄位都一致,就確定了 MySQL table 所需的欄位。這應該也算是統計吧,以採樣的方式來取得概略值。(之後稱這些部分的檔案為樣本檔)

接著用 grep '@content:' | wc -l 算了一下樣本檔,想不到這樣就有上萬筆!! 看來逐行解析然後新增到 MySQL 伺服器裡是不太現實的,不管是新增或是導出 SQL 敘述檔案肯定都會花許多的時間。因此就改變策略,要把每筆記錄都輸出到檔案,然後再根據檔案來逐檔轉換。但是這樣也出了問題,Linux 檔案系統的 inode 就這樣被我用盡,即使 df 的結果顯示還有空間,但就是沒辦法再新增檔案了。只好再次改變策略,分割為每十萬筆記錄為一個檔案。

針對檔案的解析並不難,那想要直接輸出 SQL 敘述,使用字串參數的方式未免太麻煩。這裡藉助了 mosql 模組的幫忙,只要丟一個 dict 進去,可以很簡單的輸出 SQL INSERT 敘述。

接著為了要讓 CPU 能用到所有核心,使用了 python 的 multiprocessing 模組,先把上述分割好的檔案名稱存為 list,然後以 multiprocessing.Pool 的 map 方法去執行,這樣就大幅的縮短了處理時間。

針對大型的檔案處理,必須要分割為多個小檔案,才能善用運算資源,速度才會快。

elleryq發表於 樂多11:32回應(0)引用(0)資訊相關Idea與筆記 │標籤:note