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 (上)



平常工作上沒啥機會用到,所以很久沒有寫爬蟲了.最近因為平常下班沒事幹某人有工作上的需求,看他每天人工複製貼上很辛苦,就來從操舊業一下.這次要抓的是公開資訊觀測站中,上市上櫃公司資料上市上櫃公司資料可以依照產業別看到各公司的股東,地址,會計師事務所等基本資料,格式非常整齊,是個很好解析的資料.但是卻沒辦法直接從網址抓取,因為這個網頁有兩個特別的地方:
  1. 傳遞資料是用 POST 方法,而不是 GET.
  2. 網站有認 Session ,要在同一個 Session 中使用POST才能正確取得資料.
一些基本網站分析方式可以參考先前的拙作:

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 檔轉成關聯式資料,聽起來不難,是很常見的需求,但是看了資料格式之後整個傻眼.

這樣的格式麻煩點在:
  1. 非一般的資料格式: 既不是關聯式資料,也不是 Json 格式(真的很想打設計這種 log 出來的人),沒辦法輕易地整理.
  2. 分隔符號不固定: 雖然後面的資料是用 = 做為key和value分隔,但是前面四個欄位不是,表示資料要分開處理.
  3. 資料欄位內有空格: 如果預設用" "當做每個欄位的分隔符號,會在這些內部有空格的地方吃了大虧,所以要另外寫工具來區別這種情況.
  4. 每筆資料有的key不一致: 這是最麻煩的事.例如有些筆資料有 location 這個 key ,但是有些資料沒有...,連 null 都不給.所以就算你處理完上面三件事,每筆資料的欄位長度還是不一樣.

2016年6月18日 星期六

[心得] 美國ESTA簽證申請流程


因為八月份要到矽谷出差,所以最近趕緊來研究一下怎麼到米國.美國於2012年10月2日宣布台灣加入免簽證計劃(以下簡稱VWP)。根據VWP,符合資格之台灣護照持有人若滿足特定條件,即可赴美從事觀光或商務達90天,無需簽證。其實還是要的,只是流程沒以前那麼麻煩.根據美國在台協會的說明:VWP允許來自38個參與國[1]符合資格的旅客,無須申請美簽即可前往美國洽商或觀光(B簽證之旅行目的,詳情請按這裏)並可停留達90天。惟停留天數不得延長,VWP旅客在美期間亦不得改變其身份,例如變更為學生簽證身份。若符合VWP資格之旅客希望申請美簽,亦可選擇申辦。旅客欲以VWP入境美國,須先透過旅行授權電子系統(ESTA)取得授權許可(若搭飛機或船),並於旅行前滿足所有相關資格條件。

2016年6月17日 星期五

[職涯] 給畢業生的話

畢業季到了,因為我家剛好也有一個應屆畢業生,剛好可以趁機說說想對畢業生說的話.
  1. 不要被自己的學歷給限制了.台灣太喜歡用單向價值觀來看人,但是世界是充滿各種可能的.身在台灣的大學畢業生,手上的選擇權算多了,當你羨慕人家用四年喚來台清交的文憑,那你可以設定自己在四年後走向不一樣的路.
  2. 如果不工作也能好好生活,那太棒了.你有很多時間做想做的事情,也可以不受薪水限制去做想做的工作.那如果逼不得已要上班的話,找個自己也有興趣的工作.有興趣的工作讓你有機會做得比別人更好,偶爾的加班也能當成自我成長學習,活得比較開心.
  3. 找工作最重要的是做自己,而不是委屈求全.很多人覺得面試是就是假來假去,面試官唬爛工作內容,公司福利,求職者唬爛自己的能力和意願,但是長期來說這都是不健康的態度.進入一個能接受你的環境,進去之後也會活得比較舒服.
  4. 人生不是只有工作.工作是為了生活,而不是讓生活被工作吞噬.工作固然有他有趣的部分,但那是我覺得那是在不得已需要工作的情況下從中找的好處.聽過斯德哥爾摩症候群嗎?因不得非得要工作,只好賦予工作一個更正當的含義,才能讓自己不受威脅的活著.
  5. 培養工作以外的興趣.如果工作剛好是你的興趣,那很好,如果不是認真建議培養一份.興趣可以讓你真正的放鬆和轉換心情.

2016年6月13日 星期一

[職涯] 廈門工作+生活攻略(三)上班要吃什麼


民以食為天,人可以不工作但是不能不吃飯(?).吃飯是很重要的.在園區裡面工作的好處就是不用為吃飯擔心太多(如果你不太挑食的話),每天中午可以到大食堂裡面吃飯,有飯有麵有自助餐任君挑選.因為是園區的廠商,相信食物的安全上應該是滿OK的.在食堂吃飯有滿滿當兵的感覺.

2016年5月31日 星期二

[職涯] 廈門工作+生活攻略(二)第一天上班該辦哪些卡

第一天上班的時候非常忙碌,一早就要填寫基本資料和簽一堆文件.大部分好的公司都會幫你辦好,但是有些東西一定得本人去辦理.基本上中國所有服務都綁定手機,如果需要方便的線上支付又要綁定銀行卡,越早辦好越方便生活.

2016年5月27日 星期五

[職涯] 廈門工作+生活攻略(一)第一天要做哪些事


在我來廈門工作之前一次都沒有來過廈門,也沒來中國工作過.分享一下經驗給未來有機會過來的朋友.

廈門,根據維基百科的介紹:別稱鷺島,簡稱鷺,是中華人民共和國15個副省級城市之一,五個計劃單列市之一;是中國最早實行對外開放政策的四個經濟特區之一,五個開發開放類國家綜合配套改革試驗區之一廈門市是中华人民共和国東南沿海重要的中心城市,現代化國際性港口風景旅遊城市,位於臺灣海峽西岸中部、福建省東南沿海、閩南金三角的中心,地處北緯24°23'~24°54'、東經117°53'~118°26',隔海與龍海市及中華民國的金門縣相望,陸地與南安市、安溪縣、長泰縣、龍海市接壤[3]。全市通行閩南語廈門話,為閩南語的代表方言。廈門島是廈門的主要島嶼,也是廈門經濟特區的發祥地,島上有廈門的商業和政治中心。廈門島和金門島隔海對望.

2016年5月13日 星期五

[閒聊] 近況更新

最近停了很久沒有更新.主要原因是四月底來到廈門工作,因此前一個多月除了工作上忙著收尾,交接外,一些工作外的活動也需要收尾和整理,同時也花了比較多時間在朋友和家人身上.四月底來了之後,也花了點時間適應新生活,新工作.主要就是租房,買傢俱,認識環境這些事情.當工作開始進入狀況,應該就會比較有動力開始寫了XD.

2016年3月29日 星期二

[職涯] 海外求職經驗分享




一開始也沒特別想找國外的工作,原本計畫還要在磨練個兩三年才往外發展,但是去年有一天突然收到Facebook的來信,不是Faceb00k,是真的Facebook,邀請我參加面試,才開始第一次海外求職的經驗,之後膽子也大了起來,投投履歷聊聊天,當做練英文和練表達方式.

2016年2月27日 星期六

2016年2月21日 星期日

[Python] Google Deep Learning TensorFlow課程(一)


Deep Lerning在現在硬體計算能力增長的現在又開始火紅了起來.比起一般的Machine Learngin,Deep Learning在圖形,聲音,影片的辨識上又更強大.Google大神也將Deep Learning的套件開源出來叫做TensorFlow.TensorFlow是一個Deep Learning套件,希望能讓Deep Learning的使用更方便,更有彈性,而且能輕易套在產品上面.

2016年1月23日 星期六

[AWS] 搬上雲端綜合使用心得


由於公司想把一些東西搬上AWS,進一個月來我都在和AWS奮鬥.因為台灣寫AWS的人很多,我就不設定的細節,就幾個常用到的功能來閒聊一下.

在真的搬上去之前,我立下幾個搬上AWS的主要目標:
1) 減少我個人維運機器的時間
2) 減少每個人互相搶資源的狀況
3) 費用

以下每個行動都是基於上述三個考量.

2016年1月4日 星期一

[閒聊] 2016 新年雜談

不同於2015以學習為目標,2016將會是開始有些什麼結果的一年.

在2015年底最後一季,著手籌備了一些很有趣的計畫,經歷了年底的籌備階段,2016開始將會慢慢將這些計劃付諸實現.待事情到了可以公開的階段會在陸續分享相關成果和心得.

過去一兩年都以學習技術為主要的軸心,但在開始籌備專案後,自然將更多的心思移到思考及規劃上.而且從專案觀點來看,一開始的方向正確,比後續技術還要來得重要得多.希望隨著時間和經驗累積,可以盡量做出更多正確的判斷.

去年給自己開了太多目標,導致每件事情完成度都很低,與其這樣,不如把心思放在最重要的事情上好好做好(也歸因於去年一年真的發生太多意想不到的變動).今年不要貪心,每個月一本,看完十二本書就好.

不管是人生,管理,還是學習,斷捨離,都是非得面對的情境和課題.適當的修剪可以讓留下來的部分有更好的發展.