How to use Python GroupBy Data (List+Dict)

用 Python 處理資料時,對資料的某個 Key 進行 GroupBy 是很常見的需求,例如分析 Email Log 時,想知道某個標題的發送統計數,或是列出每個標題的 Email Provider 前五名之類,就會需要對標題進行 GroupBy 的動作,在資料庫裡這是十分簡單的事情,但如果你不想丟資料庫的話呢?

除了 Pandas 這套超強的資料處理函式庫可以幫你之外,其實 Python 本身也有 GroupBy 可以使用哦!

閱讀全文 How to use Python GroupBy Data (List+Dict)

Tips for Upload Large File to Google Cloud Storage

因為我有定期備份資料的習慣,會把 Google、Facebook、Evernote、相簿等等資料都定期備份到 Google Cloud Storage 上面,每次用瀏覽器上傳都會很煩惱上傳速度慢的問題,而且如果網路斷線還要重新傳送那 10 GB 的大檔案,後來研究了官方文件,找到一些關於上傳大檔案到 Google Cloud Storage 時很好用的小技巧分享給大家。

包含:

  • 如何讓 GCP Storage 幫你驗證檔案的 MD5 Checksum
  • 如何啟動續傳功能,斷線沒關係可以繼續傳送
  • 如何透過平行化傳輸把上傳速率榨到極限

閱讀全文 Tips for Upload Large File to Google Cloud Storage

Enable Cross-Origin Resource Sharing (CORS) for Phaser.js

當你用 Phaser JS 載入不同網域的資源、素材時,就會遇到瀏覽器同源政策的阻擋,並冒出一堆錯誤訊息,例如:

XMLHttpRequest cannot load http://s.ntustcoding.club/scroll-game-workshop/map.json. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://s.codepen.io’ is therefore not allowed access.

實際上,Phaser 本身是有支援 跨來源資源共享 CORS 的,只要透過一行簡單的語法就可以解決囉,當然前提是你所使用的網路空間也有支援 CORS 才行。 閱讀全文 Enable Cross-Origin Resource Sharing (CORS) for Phaser.js

Set Cross-Origin Resource Sharing (CORS) Enable on Google Cloud Storage

最近因為社課教大家用 Phaser 開發小遊戲,有許多素材需要讓學員在 Codepen 上使用,所以需要一個支援 CORS 的網路空間來放置素材,腦筋動著動著就想到便宜大碗又可以綁定自己 Domain 的 Google Cloud Storage 去啦!

其實 Google Cloud Storage 預設是不支援 Cross-Origin Resource Sharing (CORS) 的,但只要透過 gsutil (Google Cloud Storage Cli Tool) 就可以幫指定的 Bucket 啟用 CORS 功能!

閱讀全文 Set Cross-Origin Resource Sharing (CORS) Enable on Google Cloud Storage

Facebook Graph API 部分用戶無法取得 Email 欄位的解決方法

最近遇到一個很有趣的小問題,我們開發的一個競賽投票系統遇到零星使用者無法投票的問題,該系統以 Laravel 開發,讓使用者可以透過 Facebook 登入後,投票給指定的作品,每日一票,只取得最基本的 Email、Name 資料以供抽獎用,在測試時一切安好沒問題,可是上線後卻有零星的使用者抱怨投票完顯示錯誤訊息「whoops looks like something went wrong」而大部分使用者是可以正常投票的。

閱讀全文 Facebook Graph API 部分用戶無法取得 Email 欄位的解決方法

How to hook SSH Login and send notification (email or others)

When you first time login to Google, Facebook, It will send a notification email for you to improve security. I think many IT think “How to make SSH to same thing” right? If any user login ssh can send notify to system manager, It was help for security.

閱讀全文 How to hook SSH Login and send notification (email or others)

身為一個會眾我看到了什麼 – PyCon Taiwan 2016

距離 PyCon Taiwan 2016 已經過了快一個月,這次很感謝 jserv 大大的贈票計畫,讓我有機會參加這場台灣 Python 開發者的年度盛會,活動結束後我一直在思考要用什麼角度去寫這篇心得,過去在社群活動比較常擔任志工的角色,這次 PyCon 難得我是會眾,所以就決定要用會眾的角度來寫一篇檢討文,說明在今年 PyCon Taiwan 我看到的好與壞,好的部分,值得其他研討會學習,不好的部分,也值得大家做借鏡並改善。

閱讀全文 身為一個會眾我看到了什麼 – PyCon Taiwan 2016

唸大學,可以是選擇,而非必經之路

這一個多月來,也許是我人生中最多變化的一個月吧,從推掉很棒的機會,到念期末考念到一半突然決定要休學,在旁人眼裡也許是一連串的暴走期,可是對我而言,某個角度我卻又覺得很理所當然。就用這篇文章記錄此時此刻的心情吧,最後一科報告結束,新頭殼的實習也結束了,其實對未來我沒有任何規劃卻又躍躍欲試。

休學,其實是一個過去從來沒有被我考慮過的選項,因為念完大學拿到畢業證書,對我或大部分的台灣人而言,就像是一條必經的路,不需要去思考它背後的理由,對我們而言,唸大學甚至研究所,是必經的而非選擇,你可以選擇不同的科系,但你不能選擇「不念」,這是我過去的想法。

閱讀全文 唸大學,可以是選擇,而非必經之路

端午連假,跟塞車說掰掰 – 宜蘭篇

維睽將近一年之久,終於又發表新文章啦。2016 端午連假,相信許多台北朋友的首選肯定是宜蘭吧!不管是開車或搭客運,經國道五號雪隧到宜蘭順利的話只要 40 分鐘,當然大家都知道,端午連假這種時候肯定不那麼順利的… 今天小弟就要來跟大家分析一下雪隧的塞車模式,讓大家可以避開車潮順利抵達宜蘭! 下面會有簡單的技術說明,以及分析過程,非技術的朋友可以直接看結論! 附帶一提,小弟今天人就在宜蘭,這篇文章其實是撰寫於金車伯朗咖啡城堡。

閱讀全文 端午連假,跟塞車說掰掰 – 宜蘭篇

uWSGI

介紹

uWSGI 是一種協議,同時它也是一個程式。

為什麼這麼複雜?從程式講起吧,uWSGI 這個程式最初是為了讓 Python 所撰寫的 Web Application 能夠跟 Nginx、Apache 等等的 Web Server 溝通而設計的,他採用自己設計的 uwsgi 通訊協議,此外他也支援 cgi、fastcgi、socket 等多種協議,所以除了服務 Python 之外,他也可以跟 PHP、Go 等等的程式語言整合。

閱讀全文 uWSGI