電影流水帳(2019/02/09~2019/02/10)

Embed from Getty Images

切小金家的旅館

之前看電影預告時,覺得這部電影挺有意思,等到第四台上了春節檔,就趕緊來看。電影的故事挺有趣的,流暢度也不錯。

切小金的學生生涯並不如意,換了好幾間學校,一直被留級。這次到了新學校,認識了兩個被欺負的同學-小公主跟魯群,還被爺爺奶奶急忙的找回去接班旅館事業,於是他只好帶著小公主跟魯群回去。

小公主跟魯群原本以為旅館應該就是旅館的樣子,想不到卻看起來像鬼屋。總之,三人就住下了,跟切小金的爺爺奶奶一起生活。三人在古怪的旅館裡,屢屢遇到古怪的事情,甚至懷疑爺爺奶奶是鬼,後來還遇到了愛戀小金的小鈴木。在這段時間裡,慢慢揭露出旅館的由來跟小金父母親的故事。最後是謎底揭曉,皆大歡喜,眾人一起重新整理了旅館,邀請小金學校同學來住。

Murder on the Orient Express

鼎鼎大名的東方快車謀殺案,前一陣子為了這部電影還特地重溫了小說。電影找了許多明星來演出,大家的演出中規中矩,適度的演繹小說,整體來說蠻好看的。

白羅從土耳其搭上東方快車要回到西歐,卻在路上被大雪困住,遇上了離奇的謀殺案,死者身中十二刀,深淺不一。在大雪裡,凶手也不可能逃掉,顯然車上的某位乘客就是凶手。於是白羅一一詢問,從中找出蛛絲馬跡。經過一番推敲,白羅最後終於揭曉謎底。

Memento

諾蘭早期拍的電影,聽說也很有趣,終於這幾天把它看完了。

電影是在講一個沒有短期記憶的人,他透過一些方法,在過程中甚至被誤導之後,終於殺了原來預定想殺的那個人的故事。有趣的地方是電影以分段倒敘的方式進行,一開始是他殺了 Teddy,然後再慢慢回播前面的故事。

市長夫人的祕密

前一陣子的院線片,想不到這麼快就上第四台的春節檔了。故事設定很有意思,帶了蠻多政治的影射,有懸疑、有娛樂,也有適度的搞笑,挺不錯的,片尾看來是留了伏筆,有機會可以拍續集。

程見是一個愛情談話節目主持人,原本接受委託,要去接近市長夫人,但卻被市長夫人識破,程見跟市長夫人把話談清楚以後,反倒成功的接近了市長夫人。市長夫人渴望市長陪在身邊,可是市長卻忙碌於事業,無暇陪伴,市長夫人才找了程見。後來,程見被設了局,進了醫院。程見的女友 Miumiu 來看程見,了解過程以後,才發現這個市長夫人不單純。之後碰到市長,更明白了這整件事情根本複雜的要命。為了把事情說開,程見跟市長夫人上了直播節目,而市長跟 Miumiu 也跟著上了節目,四人就在節目裡把事情講清楚。豈知到最後,市長被槍擊,進了醫院。雖然事情看似解決,但程見跟 Miumiu 感覺到莫名其妙,這時市長夫人跟禪師的對話才透露出一切都是市長夫人的規劃。劉機要跟柳伊森再次來找程見跟 Miumiu,這埋下了下集的可能性。

電影流水帳(2019/02/01~2019/02/08)

Embed from Getty Images

海街 diary

很溫馨的片,看四個美女跟漂亮的風景,真的挺療癒的。

香田家三姊妹,幸、佳乃跟千佳三人住在一起,父母親因為父親外遇而離異,父親跟外遇對象離家走了,然後母親也拋下三姊妹,去了北海道,三個姊妹就由外婆跟姊姊撫養帶大。父親跟外遇對象生下一個女孩,之後外遇對象死了,又再婚,生下一個男孩。

經過了好長一段時間,傳來了父親死去的噩耗,三個姊妹就去了父親的喪禮。在喪禮上,看到了妹妹,淺野,以及她繼母。淺野的繼母顯然不怎麼照顧妹妹,大姊幸心軟,就問了妹妹淺野要不要一起來住。妹妹很乾脆的說,好。於是就開始了四人的生活。

四人的感覺從陌生到熟悉,生活上也慢慢聊到父親的事情。之後,母親回來參加外婆的忌日,跟妹妹也見了面。這次碰面,讓遇到感情問題的大姊對於父母親的事情也釋然了。最後就在海闊天空的場景下結束。

Ready Player One

我是先看過小說,過年時間正好上了這部電影,就來看一下,看跟小說有什麼不同。基本上劇情做了不少改動,但是基本精神還是遵循了小說,算是還不錯的更動,不至於荒腔走板。

Halliday 創建了線上最大的虛擬世界 OASIS,這世界有點像是 Second life,所有的人可以透過 VR 體驗設備在裏面翱遊,過虛擬的生活。某天 Halliday 死了,留下一個謎題,只要有人能解開這謎題,就能掌握這個遊戲。經過了好幾年,都沒有人能解開,但是還是有些瘋狂的玩家在努力著,Wade 就是其中之一。

Wade 在某天找到了 Halliday 謎題的線索,並且率先解開了這個謎題,這引領著其他的玩家也跟著往解開謎題的道路前進。在解開謎題的過程中,這些玩家也同時與 Sixers 對抗(Sixers 是有著不良居心的 Innovative Online Industries 招募來的玩家)。眾人經歷了解謎冒險與愛情的橋段之後,順利的解開最後謎團並且擊敗 Sixers 。Wade 等人在 Holliday 的前創業伙伴 Morrow 的幫忙之下,成為了新的 OASIS 管理者,讓這個虛擬世界繼續運行。

Tomb Raider

重新開機的古墓奇兵,不難看,但我沒有完整看完。

蘿拉的父親早早就離開她,過了幾年,蘿拉長大了,依著爸爸留下的線索,去找他。循線到了香港,找到陸任,讓陸任帶他去。然後他們在海上遇難,漂流到一個島上,這個島上有一群人在亂炸亂挖東西,蘿拉跟陸任被這群人抓住。蘿拉僥倖逃出去,遇到了他的父親。蘿拉非常開心,從父親口中也得知了這群人的意圖,這群人是 Trinity 的人,他們想要取得卑彌呼的祕密。蘿拉決定幫助父親阻止他們,就動手了,一場混戰下來,父親被這群人的頭頭 Mathias 挾持住,蘿拉只好聽命於 Mathias,幫 Mathias 解開謎團。解開重重的謎題之後,終於到了最後一關,Mathias 等人要將卑彌呼搬走時,搬動屍體的人卻變成像喪屍那樣,Mathias 切下卑彌呼的手指要走。被感染的父親留下破壞卑彌呼的屍體,蘿拉則去追 Mathias ,防止他帶走卑彌呼的手指。在追逐與爭奪之後,蘿拉成功的阻止了 Mathias ,透過陸任的幫忙逃出卑彌呼的洞窟。回到英國之後,她發現帳冊上有島上那群人的名稱,意識到公司裡有 Trinity 的人,至此留下伏筆。

A Knight’s Tale

一個中世紀的故事,但是配樂跟故事一點都不像是,一開始的配樂就是 Queen 的 We will rock you,熱血沸騰,後面跟女主角的舞也是非常的浪漫,我覺得挺好看的。

William (已逝的 Heath Ledger 飾演) , Roland 跟 Wat 所服侍的騎士猝然逝去,William 決定上場代替比賽,結果很幸運的,打贏了。本來三人要拆夥的,William 在此時提了一個想法,乾脆我來當騎士,一起到處比賽拿獎金。Roland 跟 Wat 聽了很吃驚,因為上場比賽的騎士是需要有身份證明的,而且要有實力,但他們什麼都沒有,不過兩人還是被 William 說服了。於是 William 開始苦練,經過一段時間,終於有了小成。

三人就開始上路比賽,在往 Rouen 的路上,他們遇到了潦倒的小說家 – Geoffrey (復仇者聯盟裡的幻視),決定相互幫忙,William 給 Geoffrey 衣服跟食物,而 Geoffrey 幫 William 捏造一個騎士的身世跟故事,於是騎士 Ulrich 憑空出世。在第一場比賽後,William 的盔甲受損,但身上又沒錢,但還好有個好心的寡婦鐵匠 Kate 幫忙,他們贏了第一場比賽。接下來就是比賽與愛情,同時也帶出情敵與 William 的身世。William 最後找到了自己的父親,認識了王子,打敗了情敵兼宿敵。

gspread

因為想操作 google 試算表,找到 gspread 這個專案。

官方網頁的設定方式語焉不詳:https://gspread.readthedocs.io/en/latest/oauth2.html

所以我設定方式後來是參考這篇:https://sites.google.com/site/zsgititit/home/python-cheng-shi-she-ji/shi-yongpython-shang-chuan-zi-liao-daogoogle-shi-suan-biao

Google API console 那邊會比較讓人搞不清楚怎麼弄,大致紀錄一下:

  1. 建立 service account,角色選「編輯者」
  2. 建立金鑰 (選 JSON),然後下載
  3. 要編輯的 google spreadsheet 那邊要設定「共用」,email 填 json 檔案裡的 client email

操作 google 試算表的方式可以參考官方文件:https://gspread.readthedocs.io/en/latest/user-guide.html#getting-a-cell-value

其他參考文章:

boto3 create_instances/run_instances

create_instances 是 boto3.resource(‘ec2’) 提供的,而 run_instances 是 boto3.client(‘ec2’) 提供的。

  • client(‘ec2’): A low-level client representing Amazon Elastic Compute Cloud (EC2)
  • resource(‘ec2’): A resource representing Amazon Elastic Compute Cloud (EC2)

主要不同點:Resources represent an object-oriented interface to Amazon Web Services (AWS). They provide a higher-level abstraction than the raw, low-level calls made by service clients. To use resources, you invoke the resource() method of a Session and pass in a service name。

也就是說實際上 ServiceResource 會去使用 client,簡單的說 ServiceResource 是一個 client wrapper (這可以從 boto3/session.py 看到)。

友情小提示:在閱讀程式碼時,用 function name 去找,會發現都找不到,實際上 boto3 library 會將 function call/parameters 轉換為 AWS API  呼叫送出去。

電影流水帳(2019/01/25~2019/01/31)

Embed from Getty Images
  • Aquaman (IMDB, Wikipedia),台譯:水行俠。
  • GODZILLA 決戦機動増殖都市 (IMDB, Wikipedia),台譯:哥吉拉-決戰機動增殖都市。
  • GODZILLA 星を喰う者 (IMDB, Wikipedia),台譯:哥吉拉-噬星者。
  • Goosebumps (IMDB, Wikipedia),台譯:怪物遊戲。

Aquaman

故事、敘事節奏跟特效都很不錯,難怪票房這麼好。看到 Orm 時,我有點意外,是之前演 Watchman Nite Owl 的 Patrick,不知道是不是特效的關係,變得年輕了。(好吧,其實裏面蠻多人都有變年輕,特效真的很偉大)

除了 Willem Dafoe (飾演 Vulko)跨了 DC 宇宙跟漫威宇宙之外,只有出現在部份片段的 Randall Park 也跨了,他在 Ant-Man and the Wasp 裡,飾演 FBI 探員,在 Aquaman 裡則是飾演了一個博士,在片頭上了電視接受採訪,在片尾彩蛋協助蝠鱝。

故事一開始先帶出 Arthur 的出身,Atlanna 不想政治聯姻,逃出來漂到岸邊,被燈塔看守人救起,於是兩人相戀,生下 Arthur。但好景不常, Atlantis 派人來追捕,Atlanna 只好回去完成政治聯姻。之後雖然 Atlanna 無法到地面上來,但派了謀臣 Vulko 去地面教導、訓練 Arthur。

前事交代完,接下來交代後來發生的事情,時間點是在正義聯盟打敗荒原狼之後,Arthur 繼續保護世界和平。但是在某次救援潛艦任務時,Arthur 跟蝠鱝結仇。然後,Mera 公主得知 Orm 的野心之後,來找他一起阻止 Orm 的野心。要阻止 Orm 的野心,得取得三叉戟來取得 Orm 王位,於是他們一同展開尋找三叉戟的旅程。最後 Arthur 跟 Mera 循著線索到了海溝國,不但找到被放逐到海溝國的 Atlanna ,也順利取得三叉戟。然後他們一同回去打敗 Orm,阻止了他的野心,Arthur 成功的成為 Atlantis 的國王

GODZILLA 決戦機動増殖都市

人類的艦隊實際上是由三個種族組成的,エクシフ (以宗教為主)、ビルサルド(畢德薩魯斯人,崇尚科技)與原來地球上的人類。當初畢德薩魯斯人跟エクシフ來到地球是要協助原生地球人打造機械哥吉拉來打敗哥吉拉的,但是哥吉拉實在太強,還沒來的及完成,就被摧毀大半了,所有人類就只能逃出地球。

接續上集的劇情,晴生被伏加斯族人救起,然後陸續找到其他存活的隊員。屬於畢德薩魯斯人的隊員發現伏加斯族使用的箭簇可以射穿已經變種的地球生物,而這些箭簇所使用的金屬居然是納米金屬。在詢問之下,請伏加斯族人帶他們去。在取得金屬的地方,他們發現了這就是當初打造機械哥吉拉的地方,這個地方經過了兩萬年,已經變成了機械都市。畢德薩魯斯人隊員在跟晴生商量之後,決定利用納米金屬科技來擊殺哥吉拉,於是他們開始備戰。納米金屬非常好用,使用這些金屬打造的武器,像是動力禿鷹裝甲,改裝以後威力非常強大。可是哥吉拉也不是省油的燈,它察覺了異常,提早搜尋,晴生等人被迫提前行動。計劃的前期算是相當順利,三台動力禿鷹裝甲引誘哥吉拉到陷阱裡,用納米金屬困住哥吉拉,並用魚叉刺入哥吉拉,誘發哥吉拉的電磁波異常。可是哥吉拉在電磁波異常後,改為異常的高溫,開始融化附近的金屬。畢德薩魯斯人隊員決定將自己奉獻給納米金屬,利用動力禿鷹裝甲去衝擊哥吉拉,一台不夠,所以也打算讓優子跟晴生奉獻生命給納米金屬,就讓納米金屬入侵二人。晴生因為被伏加斯族人治療過,納米金屬無效,但優子就被入侵了。晴生覺得這樣是不對的,就停止攻擊哥吉拉,並且為了救優子,轉為攻擊機械都市的核心,殺死畢德薩魯斯人隊員。最後,哥吉拉還是活著沒死,優子陷入昏迷,太空船上的人類則是為了晴生功虧一簣的事情陷入了爭執。

GODZILLA 星を喰う者

接續上集的故事,エクシフ這族的人崛起,透過宗教與巧合,他們利用這點,召喚出基多拉。基多拉吞噬了環繞地球的太空船,接著到地面上。哥吉拉感受到威脅醒了過來,與基多拉展開大戰。一開始哥吉拉位於弱勢,防禦無效,攻擊基多拉,卻彷彿打空氣一樣。跟登陸部隊一起登陸的博士發覺到是有人輔助基多拉,基多拉才能攻擊。告知晴生以後,晴生意識到是エクシフ的梅德菲斯搞的鬼,於是跑去阻止梅德菲斯。跟梅德菲斯碰面以後,晴生差點也被梅德菲斯蠱惑,還好有伏加斯族人的幫忙,晴生阻止了梅德菲斯。哥吉拉也開始展開反攻,基多拉實體化之後,哥吉拉的攻擊也有效了,沒多久就打爆了基多拉。

殘存的登陸部隊就跟伏加斯族人一同生活,經過了一段時間之後,甚至也生兒育女了。就在這時候,博士發現有架動力禿鷹裝甲因為納米金屬的作用,慢慢在恢復運作,就告訴晴生說有機會讓文明再次復甦。晴生想了一夜,決定要毀滅這套裝甲,就帶著形同植物人的優子搭上裝甲,去找哥吉拉。哥吉拉非常乾脆的發射出電磁炮,毀滅了動力禿鷹裝甲以及機上的晴生跟優子。故事就這樣收尾了,地球回歸原始狀態,人類與伏加斯人共存於地球上。

故事主軸是在探討文明的善與惡,副線是地球文明與崇尚文明的異星人1與崇尚毀滅的異星人2的思想衝撞,然而文明本身不是錯,人類想要進步也不算錯,那麼錯的是什麼呢?

Goosebumps

在查維基百科的時候,我發現 R. L. Stine 是個知名的作家,這部電影的怪叔叔 Stine 就是寫他本人,而這部電影的劇本也是由他操刀,很有趣。整體來說,我覺得比 The House with a Clock in Its Walls 來的好看。

Zach 跟媽媽搬到 Madison 住,鄰居是個漂亮又吸引人的女孩子 Hannah 跟她古怪的父親 R. L. Stine。Zach 跑去找 Hannah ,卻被 Stine 趕了出去。Zach 懷疑有奇怪的事情,找警察去鄰居家,卻什麼事情也沒有,也找不到 Hannah。於是,找了同學 Champ 來幫忙,進去鄰居家以後,順利找到 Hannah,但卻釋放出書裡的怪物。這些怪物將 Madison 小鎮搞得天翻地覆,Stine 趕回來,將 Zach、Hannah、Champ 三人罵了一遍。這時 Stine 娓娓道出這些怪物的由來,Stine 是知名的作家,由於童年的遭遇,他寫出的怪物栩栩如生。這些恐怖故事讓他成名,但他也知道這些怪物是真實存在的,於是他將這些怪物封印在書裡。

既然這些怪物四處流竄,Stine 等四人只能聯手處理掉這些怪物。於是他們邊打邊逃的同時,Zach 想出一個好主意,就是請 Stine 再寫一個故事,將這些怪物一次收服。於是他們去學校找了當初寫這些小說的打字機,並請參加學校舞會的同學幫忙抵擋怪物,經過一番努力,終於將這些怪物重新收到書裡去。

電影流水帳(2019/01/23~2019/01/24)

http://gty.im/593346928
  • GODZILLA 怪獣惑星 (IMDB, Wikipedia),台譯:哥吉拉 怪獸惑星。
  • Our Brand Is Crisis (IMDB, Wikipedia),台譯:危機女王。

GODZILLA 怪獣惑星

看完哥吉拉怪獸惑星,結局好悲傷啊,費盡千辛萬苦打倒了哥吉拉,結果出現一隻更大的哥吉拉,真的是白費力氣了嗎? 片子中間跟最後的彩蛋透露了地球上還有沒逃出去的人,他們是怎麼跟哥吉拉共同生活了兩萬年呢?

由於地球出現了哥吉拉,奮力抵抗甚至受到外星人協助之後,仍然無法打倒哥吉拉,地球人只好搭乘太空船去尋找其他適合居住的星球。在茫茫宇宙裡尋找一個適合居住的星球談何容易,他們屢屢碰壁。這次他們派一群較有經驗的年長者下去可能適合居住的星球,主角晴生暴走了,試圖阻止這件事情,因為他的祖父就在其中。經過一番周旋,晴生的祖父出來說服了晴生,於是晴生被關起來,這群年長者仍照原定計劃登陸,可是登陸艇爆炸了。在晴生被關的期間,他努力的研究過往哥吉拉的紀錄,並匿名提出一篇關於哥吉拉弱點的論文。太空船發生了小小的騷動,食物和資源日漸不足,再加上這篇匿名論文,主政者經過一番討論之後,決定回去地球看看,也許哥吉拉已經消失了也不一定。

之前跋涉了十幾個光年,這次使用了穿越的技術,回去只是一瞬間。回到地球之後,太空船派了無人機下去探索,不幸的是,哥吉拉仍然存在。依據該篇研究論文,他們決定試著打倒哥吉拉,就派了先遣部隊下去佈署,晴生成了主要策劃者。經過一番波折與戰鬥之後,他們順利的解除了哥吉拉的無形防護罩,並打倒了它。可是就在大家鬆了一口氣時,突然出現了莫名的震動,哥吉拉再次出現,而且變得更大。所有的先遣部隊在一瞬間就被滅了,晴生在爆炸後,暈了過去。經過了不知道多久時間,晴生醒過來,看到一名裝扮奇特的少女在照顧他,這到底是??

Our Brand Is Crisis

陸陸續續在第四台看了片段,一直沒機會整個看完,Netflix 前一陣子上片,就趕緊把它補完了。

Jane 是選舉策略師,之前因為某次選舉而決定退隱。玻利維亞即將總統大選,Castillo 的選舉團隊找了美國人 Nell, Richard 跟 Ben 來幫忙,而 Nell 跟 Ben 又去找了 Jane ,並順利以之前 Jane 的死對頭 Pat 幫了對手為由說動她出來幫忙。到了玻利維亞以後,Jane 一開始並不是很樂意,後來暖過身之後,善用 Castillo 的優勢並且以各種手段打擊 Pat 所輔佐的候選人,終於成功的慢慢追回民調。過程發生各種事,有的悲傷,有的有趣,同時也慢慢揭露了 Jane 跟 Pat 為什麼有心結。最後,Castillo 成功的當選,但他在當選之後,就立刻撕毀了之前對選民的承諾,向 IMF 借錢。這件事情,其實在競選過程裡,Castillo 就已經透露了這種可能。

看完電影,會覺得挺心涼的,一種對於政治的心涼。朋友說的也沒錯,有時候就是都很不怎麼樣,我們選民要做的就是選一個比較不那麼差的,然後監督他,讓他不要做出不好的決定。

電影流水帳(2019/01/06~2019/01/22)

http://gty.im/664247740

  • 家に帰ると妻が必ず死んだふりをしています (IMDB, Wikipedia),台譯:每天回家老婆都在裝死。
  • Venom (IMDB, Wikipedia),台譯:猛毒。
  • 志明與春嬌 (IMDB, Wikipedia)。
  • カメラをとめるな! (IMDB, Wikipedia),台譯:一屍到底。

家に帰ると妻が必ず死んだふりをしています

故事的起點很有趣,就在婚姻屆滿三年,丈夫回家的時候,看到妻子死在地上,被嚇死了。自此以後,每天回家都會看到,丈夫從驚訝到配合演出,不過到終心裡還是無奈了,無法理解為什麼妻子要裝死。接著就是婚姻生活日常,是普羅大眾會遇到的婚姻問題,也點切身,有點不痛不癢,也有點悶。經歷了身邊的人離婚、妻子父親住院以後,兩人總算是找到了答案。結局是丈夫對妻子說了一些話,但這些話被消音了,暗示著幸福並沒有標準的答案,需要各位自己去找。
榮倉奈奈的笑容一百分,看著她笑,挺療癒的。

Venom

電影真的不怎麼樣,故事弱了,可惜了Tom Hardy 跟 Venom 這個角色。不過特效挺不錯的,片尾提到的蜘蛛人動畫彩蛋也很棒。

生命基金會在做的研究是外太空生物的研究,他們從外太空取得了奇怪的生物樣本,在進行研究,但他們為了求績效,研究的過程並不人道。一個獨立記者 Eddie 原本跟女律師 Anne 交往的好好的,卻去竊取女友的生命基金會訴訟資料,去寫報導,這讓生命基金會的執行長以及公司老闆相當生氣,Eddie 失去了工作。Eddie 消沉了一年,直到有一天,Dr. Dora 來找他,想請他揭發生命基金會的事情,Eddie 考慮了許久,決定來試試看。於是透過 Dr. Dora 的幫忙,進入了生命基金會。在基金會裡,Eddie 跟外太空生物 Venom 合體,並逃了出去。基金會執行長派人去追捕 Eddie,想要追回 Venom。在這個追捕的過程裡,Eddie 跟 Venom 慢慢磨合。後來基金會的追捕不順利,執行長就跟其中一個外太空生物 Riot 合體,Riot 控制了執行長,要派太空船去帶回更多的生物。Venom 得知了 Riot 的事情,為了自己,跟 Eddie 聯手與 Riot 展開大戰。這場大戰裡,除了打鬥之外,還意外的看到 Anne 跟 Venom 合體。大戰的結果,Eddie 跟 Venom 取得勝利,從此誕生了一個新的反派英雄。

志明與春嬌

志明與春嬌是挺有意思的一見鍾情的故事,短短的幾天,從尷尬到模糊到彼此試探到確定彼此,在主線進行的同時,導演還用了類似紀錄片的形式去採訪男女主角周圍相關的人,試著以這樣的方式去探討都會男女的愛情,很有意思。當初會想看,是因為去年還前年出了「志明與春嬌2」,有點想看看為什麼這樣的電影還會有續集,而且不看第一集就看第二集怕會接不上。

カメラをとめるな!

在網路上看到一片好評,今天看了這部電影之後,覺得真的很妙而且很棒。

前面的三十分鐘是僵屍片,在某些段落有說不出的違和感,有一點點恐怖,又讓人忍不住想笑。到了後面,才開始揭露拍攝過程的背後,讓人捧腹大笑、拍案叫絕。更絕的是,最後再揭露一次這部電影的拍攝經過,所以到底哪個是真哪個是假呢?

django 裡判斷請求是否加密

原本以為照著這篇 Django, get scheme (http or https), pre request.scheme implementation 來做,用 request.is_secure() 來判斷就好,但是事情並沒有我想的簡單。

經過簡單的判讀之後,原來是因為我的 django 前面有 nginx 擋著,前面的 nginx 可以處理 HTTPS 沒錯,但是 proxy pass 到 django + gunicorn 這邊之後,由於 proxy_pass 寫的是 http://localhost:8000 ,所以 django 收到的請求還是 HTTP。

後來我是在 nginx 裡,proxy pass 之前,先設定 header,django 裡再改用 header 來判斷,才解決這問題。

# nginx
proxy_set_header X-Forwarded-Proto $scheme;
# django, 參考自 https://stackoverflow.com/questions/14377050/custom-http-header-in-django
scheme = request.META.get('HTTP_X_FORWARDED_PROTO')

goaccess

安裝

# 最新版
echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt update && sudo apt install goaccess

要可以使用 –keep-db-files 得安裝 goaccess-tcb

使用

詳細的使用可以看 手冊,以下是常用的用法

# Console
goaccess --log-format=COMBINED -f /var/log/apache2/access.log

# 先詢問要怎麼解析 log
goaccess -c -f /var/log/apache2/access.log

# 輸出 HTML (特定版本以後才有)
goaccess --log-format=COMBINED -f /var/log/apache2/access.log -o report.html

# 輸出 realtime HTML (特定版本以後才有)
goaccess --log-format=COMBINED -f /var/log/apache2/access.log --real-time-html -o report.htm

有多個 log (含 .gz) 的情況,可以參考 https://github.com/allinurl/goaccess/issues/600

# 先解析並存到 db
zcat /var/log/nginx/access.log*gz | goaccess -p /etc/goaccess.conf -a -o /dev/null --keep-db-files
# 從 db 載入資料,並且解析最新的 access.log
goaccess -p /etc/goaccess.conf -f /var/log/nginx/access.log --real-time-html -a -o /usr/share/nginx/html/goaccess.html --load-from-disk

Automatically generate GoAccess stats 的處理更費工,還放到 git 去,我覺得蠻值得研究的。我只大略看一下,後來沒用。

Vagrantfile 依版本給設定

上個月因為 vagrant 升級,在 Vagrantfile 裡加了 vb.default_nic_type = “virtio”,但今天同事使用 vagrant up 時,出現錯誤。原來我同事使用的是 vagrant 2.1,而我已經用 vagrant 2.2 了。

之前知道 Vagrantfile 其實是 ruby 語言,因此知道可以在裏面寫程式來處理,在網路上找看看怎麼做,就找到了。關鍵就是利用 Vagrant::VERSION 這個變數。

如果要印出訊息,就直接用 puts ,在執行 vagrant status 等指令時,就會看到。在找這個時,意外看到 vagrant 有 message 系統 (print message after booting vagrant machine with “vagrant up”),可以在指定的情況輸出訊息:

config.vm.post_up_message = "This is the start up message!"