2017年1月20日 星期五
[Graffitalk] Day-2 能動再說
剛開始做的時候,根本也不知道能做到什麼程度,能不能做起來,所以一切的準則都是能動就好.先做 POC (Proof of Concept)出來,程式碼東抄西抄剪下貼上,也沒特別包裝,伺服器也是放在現有的 VPN 主機上,靜態網頁直接用 google storage 擋著,就直接放到網路上給朋友試用.雖然事後也是花了一些功來重新調整,但是我認為在這個階段,趕快看到產品雛形比把code,架構都弄完整還要來得重要.一來是比較能想像產品的樣子,二來好玩不好玩有什麼要加強的也很快在心裡有底.
在做POC的時候最重要的是呈現自己產品(或服務或功能)的核心,確定這個服務或功能可行可用,再來將它優化.如何避免造成未來過多的技術債,就是邊寫邊優化.確定功能可行後,馬上變成可用的組件,未來添加新功能或改版時才不會造成太多負擔.
2017年1月18日 星期三
[Graffitalk] Day-1 ClientA 和 Server 和 ClientB 的糾葛
雖然以前也寫過 client - server的程式,但之間的關係就是很單純的API呼叫,沒有更複雜的互動關係.但是聊天室處理的的是眾多 client 端彼此之間的關係,中間透過 server 來溝通,有些看起來簡單的邏輯,認真追究都很傷腦.
2017年1月15日 星期日
[Graffitalk] Day-0 網頁RPG和 Socket.io
因為我喜歡玩RPG也喜歡有社交元素的遊戲,所以先從相關的專案開始著手,第一個找到的是一個PHP做的RPG網頁,玩法很像早期的MUD,透過靜態網頁切換來選擇行為,另外一個找到的專案就是這個 Browser Quest.這個遊戲畫面完全就是早期ARPG的風味,直接在畫面上與敵人戰鬥,也可以直接和畫面上的人聊天.
本來很有興致地想找人合作開發,但是一時之間也找不到人,就想說來翻翻code看有沒有辦法自己改.結果當然是完全不行.對於一個完全沒js html前端經驗的人來說,這根本是大boss等級的專案,而且還有動畫和地圖模組,果斷放棄這種幼稚的想法.
2017年1月8日 星期日
[Graffitalk] 前傳 (剛看完星際大戰前傳的後遺症)
有些讀者來信問我為甚麼很久都不發文了,主要是因為過去一年發生太多事情,到國外工作,遠距離戀愛,家人的事情等等,每天下班後就是耍頹廢,花了很多時間發呆,煮菜,看韓劇.過去三年之前碰了很多技術,為了解決技術問題,找了很多資料,通常最終都有個答案.但是最近困擾我的卻是沒有資料可以找的問題--下一步我到底要做什麼.
2016年9月18日 星期日
[Python] Callback Function 回調函數
大概有一個月沒寫 XD.其實在家裡寫部落格真的是很麻煩的事情,雖然買了 VPN ,但是一直斷斷續續連線不是很順,越寫越抓狂就算了.而且前半個月去美國出差,簡直樂不思蜀,寶貴的晚上時間也都不想拿來寫 Blog ㄎㄎ.話扯回來,之前和朋友聊天談到 javascript 中 callback 是很普遍的用法,但是因為 python 沒有強制使用 callback ,加上我書讀得少,一直沒有深入瞭解.
根據 wiki 的說法,callback 就是將一段可以執行的程式碼作為參數傳到其他程式碼中,然後可以在適當的時機被呼叫使用.用 python 的語言來說,就是把一個 function 作為參數傳到另外一個 function 中.聽起來很玄,但是實作起來到底長什麼樣子.
- 首先這邊有個數列 my_list
- 第一個 function - is_even:判斷傳入的數值是不是偶數,如果是偶數則回傳一個 boolean 值 True ,反之則為 False.
- 第二個 function - count_occurrences:有兩個參數,第一個參數是要判斷的數列,第二個參數得放一個輸出為 boolean 值判斷式,最後回傳該數列中,符合判斷式的數值個數.
這樣做的好處是程式碼可以更加簡化,比如說我今天需要一些函數,分別可以計算奇數,偶數,判斷三的倍數五的倍數,透過 callback 的寫法,第二個 function 只需寫一次,透過代入不同的判斷式就可以切換不同的功能.(實作上當然也可以不用callback的方式,而是用代入參數的方式來判斷倍數)
更多的討論可以參考:知乎上的討論,雖然我覺得有些例子太複雜了XD 但是也不失為一種參考.
2016年8月8日 星期一
[職涯] 百發百中的履歷秘訣!履歷跟事業一樣需要經營,你/妳,有好好經營嗎?
圖片來源:wikipedia
想試試看寫一下聳動的標題能帶來多少流量 lol.前幾天跟朋友聊轉職的事情,朋友說他都不知道在工作中學到什麼,履歷要怎麼寫比較好.說實在,身為一個每年換一次工作的人,寫/投履歷算是相當有經驗XD.很多履歷教學都會著重在怎樣選擇履歷格式,要不要放照片,經歷要怎樣寫比較吸引人,但是有件我覺得更重要的事情反而比較少人提及,那就是履歷絕對不是要找工作前才開始寫的!
2016年7月25日 星期一
[Python] 簡易網站爬蟲 ( Web Crawler) 抓取公開資訊觀測站的資料 - Payload 和 Session (下)
上一篇說明如何使用session 和 payload 進入資料畫面,這一篇就會非常簡單的介紹怎樣 parsing 要用的資料.有大大提示使用Pandas 的 read_html 會輕鬆很多,但是我還沒試驗,等我試驗成功再來介紹.
2016年7月21日 星期四
[Python] 簡易網站爬蟲 ( Web Crawler) 抓取公開資訊觀測站的資料 - Payload 和 Session (上)
2016年7月15日 星期五
A Traditional and Fantastic Trip in West Japan (Day 1- Kamigamo-jinja)

This trip had been scheduled half a year ago. This was my first time to go to west Japan, so I was very excited and did a lot of homework about Kyoto. I heard from my friend that he saw many cute and interesting things such as cups, hand-made shoes, and cookies in the Japan-style hand-made market and I really like that. There are many little markets in Kyoto, but not open every day. After research the schedule of those markets and read a lot of blogs, I choose Kamigamo-jinja(上賀茂神社) to be my first stop on this trip.
2016年6月21日 星期二
[Spark] 利用 Spark 將亂七八糟資料格式的 Fortigate Log 檔轉成關聯式資料
圖片來源:http://www.fastcompany.com/1842000/company-chaos-you-dont-know-youre-creating
不論資料多雜亂,在做資料分析之前,總是先要整理成關聯式資料,這一段一直是分析中最麻煩也最惱人的一段,特別是當資料量大的時候,其中可能問題又更多了.這次遇到的麻煩是要固定將機器每天的 Log 檔轉成關聯式資料,聽起來不難,是很常見的需求,但是看了資料格式之後整個傻眼.
這樣的格式麻煩點在:
不論資料多雜亂,在做資料分析之前,總是先要整理成關聯式資料,這一段一直是分析中最麻煩也最惱人的一段,特別是當資料量大的時候,其中可能問題又更多了.這次遇到的麻煩是要固定將機器每天的 Log 檔轉成關聯式資料,聽起來不難,是很常見的需求,但是看了資料格式之後整個傻眼.
這樣的格式麻煩點在:
- 非一般的資料格式: 既不是關聯式資料,也不是 Json 格式(真的很想打設計這種 log 出來的人),沒辦法輕易地整理.
- 分隔符號不固定: 雖然後面的資料是用 = 做為key和value分隔,但是前面四個欄位不是,表示資料要分開處理.
- 資料欄位內有空格: 如果預設用" "當做每個欄位的分隔符號,會在這些內部有空格的地方吃了大虧,所以要另外寫工具來區別這種情況.
- 每筆資料有的key不一致: 這是最麻煩的事.例如有些筆資料有 location 這個 key ,但是有些資料沒有...,連 null 都不給.所以就算你處理完上面三件事,每筆資料的欄位長度還是不一樣.
訂閱:
文章 (Atom)










