tag:blogger.com,1999:blog-64714023147786684672024-03-19T16:16:29.909+08:00Bryan's Notes for Big Data & CareerBryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.comBlogger201125tag:blogger.com,1999:blog-6471402314778668467.post-72453998418693229962017-12-10T09:55:00.001+08:002017-12-10T09:55:08.835+08:00[重要] 搬家囉感謝眾多朋友的支持,在 Blogger 也用了三四年,但是逐漸對 Blogger 的格式和使用方式感到很厭煩,想使用更簡潔的 Blog 又懶得架站,所以開始嘗試使用不同的 Blog 寫作.經過一番嘗試,應該會穩定在 Medium 開始新天地,請舊雨新知前往<br />
<br />
<a href="https://medium.com/@bryanyang0528/" target="_blank">https://medium.com/@bryanyang0528</a>/<br />
<br />
由於個人職涯發展的轉變與興趣,在<a href="https://medium.com/@bryanyang0528/" target="_blank">新站</a> 將有更多與開發,DevOps 相關的主題,以及關於雲服務或系統方面的研究.如果多讀點書的話也會放上讀書心得.再次感謝大家的喜愛.Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-42036153838796363702017-01-20T12:04:00.002+08:002017-01-20T12:04:32.009+08:00[Graffitalk] Day-2 能動再說<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhEwDE-osLy0d4qNKjlzJ5Zh-QKHhheAUUvkgMWxx49GuNtmXBiDQQBUSHY5_n2fii0CHuGdT-95_8uT6OAdOJ0URTviXKPX0_i-E_3M2T9RUkseZgKLGOvCVNOhVNKa3XodC7Cm9Waq4Z/s1600/Screen+Shot+2016-12-15+at+23.34.55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhEwDE-osLy0d4qNKjlzJ5Zh-QKHhheAUUvkgMWxx49GuNtmXBiDQQBUSHY5_n2fii0CHuGdT-95_8uT6OAdOJ0URTviXKPX0_i-E_3M2T9RUkseZgKLGOvCVNOhVNKa3XodC7Cm9Waq4Z/s640/Screen+Shot+2016-12-15+at+23.34.55.png" width="640" /></a></div>
<br />
剛開始做的時候,根本也不知道能做到什麼程度,能不能做起來,所以一切的準則都是能動就好.先做 POC (Proof of Concept)出來,程式碼東抄西抄剪下貼上,也沒特別包裝,伺服器也是放在現有的 VPN 主機上,靜態網頁直接用 google storage 擋著,就直接放到網路上給朋友試用.雖然事後也是花了一些功來重新調整,但是我認為在這個階段,趕快看到產品雛形比把code,架構都弄完整還要來得重要.一來是比較能想像產品的樣子,二來好玩不好玩有什麼要加強的也很快在心裡有底.<br />
<br />
在做POC的時候最重要的是呈現自己產品(或服務或功能)的核心,確定這個服務或功能可行可用,再來將它優化.如何避免造成未來過多的技術債,就是邊寫邊優化.確定功能可行後,馬上變成可用的組件,未來添加新功能或改版時才不會造成太多負擔.Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-27129852644988375612017-01-18T17:53:00.001+08:002017-01-18T17:53:49.491+08:00[Graffitalk] Day-1 ClientA 和 Server 和 ClientB 的糾葛<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6RzXyCrW9_r53RUsV8FZfYGAtB0J0tc1oAZhzlOvSd1XZhyphenhyphenSbxJgVuPS63qfEGtfbr_kvGc1ySWnAKFavOz2MhkLyeR0HWiqIVvUahrvWRM2yic2_Ckv4e0qgDMH_UZleZ5MTvm2lbvhZ/s1600/Screen+Shot+2017-01-18+at+17.11.32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6RzXyCrW9_r53RUsV8FZfYGAtB0J0tc1oAZhzlOvSd1XZhyphenhyphenSbxJgVuPS63qfEGtfbr_kvGc1ySWnAKFavOz2MhkLyeR0HWiqIVvUahrvWRM2yic2_Ckv4e0qgDMH_UZleZ5MTvm2lbvhZ/s400/Screen+Shot+2017-01-18+at+17.11.32.png" width="400" /></a></div>
<br />
雖然以前也寫過 client - server的程式,但之間的關係就是很單純的API呼叫,沒有更複雜的互動關係.但是聊天室處理的的是眾多 client 端彼此之間的關係,中間透過 server 來溝通,有些看起來簡單的邏輯,認真追究都很傷腦.<br />
<br />
<a name='more'></a><br /><br />
就拿把筆刷傳過去為例好了,有好幾點小細節需要考量到<br />
<br />
<ul>
<li>雙方使用者的螢幕可能不一樣大,甚至一方使用手機一方使用電腦,如何能最適合讓兩人共享同一張畫布?</li>
<li>當雙方使用者螢幕不一樣大的時候,如何保證我們兩個人畫的圖看到的圖是一模一樣的?</li>
<li>畫圖其實就是把每個感應到的點畫出來,要怎樣傳輸才能兼顧效能和精細度?</li>
<li>收到資料的那方怎樣把資料呈現在自己的畫布上? </li>
</ul>
<div>
這些都是 Graffitalk 根本也是最重要的核心問題.最早的版本是:當 ClientA 在畫圖的時候,定時取一個點,即時的傳送給 server 再傳給Client B.如下圖:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_d9Uji2VuycbuzzRG7VZ_EjRpj-x66YaJeyNON-Huuu5LMmVgOHLgbzPVsbWxJomF32S9TCpc_rZfnGnGQYmBCAZV5WemWo_mgspihqfw0Tk84cEL9BKIxplURRrL32O9kVxuolCqh1iT/s1600/Screen+Shot+2016-12-13+at+22.14.26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_d9Uji2VuycbuzzRG7VZ_EjRpj-x66YaJeyNON-Huuu5LMmVgOHLgbzPVsbWxJomF32S9TCpc_rZfnGnGQYmBCAZV5WemWo_mgspihqfw0Tk84cEL9BKIxplURRrL32O9kVxuolCqh1iT/s400/Screen+Shot+2016-12-13+at+22.14.26.png" width="400" /></a></div>
<div>
但在另外一方看起來線條就不是很滑順~如果太頻繁的傳,又會造成 client 和 server 負擔.</div>
<div>
簡單的畫圖功能在要同步的情況下變得相當複雜,更不用說後來還有開放不同筆刷,橡皮擦,還有著色圖的功能.</div>
<div>
<br /></div>
<div>
<br /></div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-79720357050402493762017-01-15T01:01:00.000+08:002017-01-15T01:02:37.182+08:00[Graffitalk] Day-0 網頁RPG和 Socket.io<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOCq05dAcvt7SBnuwlzcziaUzTLErW5BMCxZCMLr_kalej2UrYnkEhMCt8saf1Ags1BkzdYOnNS3QQFdWEwWt6X_-Xku-Pz6u8nfPpYNOVUJR4nhuW5YZywSlsZm5253mcAjj99iooUoxC/s1600/Screen+Shot+2017-01-15+at+00.22.23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOCq05dAcvt7SBnuwlzcziaUzTLErW5BMCxZCMLr_kalej2UrYnkEhMCt8saf1Ags1BkzdYOnNS3QQFdWEwWt6X_-Xku-Pz6u8nfPpYNOVUJR4nhuW5YZywSlsZm5253mcAjj99iooUoxC/s640/Screen+Shot+2017-01-15+at+00.22.23.png" width="640" /></a></div>
<br />
因為我喜歡玩RPG也喜歡有社交元素的遊戲,所以先從相關的專案開始著手,第一個找到的是一個PHP做的RPG網頁,玩法很像早期的MUD,透過靜態網頁切換來選擇行為,另外一個找到的專案就是這個 <a href="http://browserquest.mozilla.org/" target="_blank">Browser Quest</a>.這個遊戲畫面完全就是早期ARPG的風味,直接在畫面上與敵人戰鬥,也可以直接和畫面上的人聊天.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1GhgW6R3XCj_hQ3suv_j-A_HHikB-kWp0bkBOpWEec5xcIdtX2vPnp0kzw8B-2cWyaBwqEivLmECmTEMzjZ2PUHVC6k_gLplTy4E1eke-D-f5c-J8V5gGeuNKt1ANU1xbmTZI1ptFAJWE/s1600/Screen+Shot+2017-01-15+at+00.26.28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1GhgW6R3XCj_hQ3suv_j-A_HHikB-kWp0bkBOpWEec5xcIdtX2vPnp0kzw8B-2cWyaBwqEivLmECmTEMzjZ2PUHVC6k_gLplTy4E1eke-D-f5c-J8V5gGeuNKt1ANU1xbmTZI1ptFAJWE/s640/Screen+Shot+2017-01-15+at+00.26.28.png" width="640" /></a></div>
本來很有興致地想找人合作開發,但是一時之間也找不到人,就想說來翻翻code看有沒有辦法自己改.結果當然是完全不行.對於一個完全沒js html前端經驗的人來說,這根本是大boss等級的專案,而且還有動畫和地圖模組,果斷放棄這種幼稚的想法.<br />
<br />
<a name='more'></a><br /><br />
既然找不到人合作,就自己先練習看看吧.這個遊戲主要是 HTML5,Javascript 和 Socket.io的應用.把這幾個關鍵字丟到網路上,socket.io 最多的應用是拿來作即時聊天室.而這個遊戲用了 HTML5 中的 Canvas 作為主要畫面呈現,這兩者的結合除了像這樣的遊戲之外,就是像這種協作畫圖的應用 <a href="http://code-and.coffee/post/2015/collaborative-drawing-canvas-node-websocket/" target="_blank">A collaborative drawing canvas with node.js and socket.io</a>.透過 node.js ,socket.io 和 HTML5 就能同步的畫圖.裡面每個名詞對我來說都是全新的技術,比起去找網路課程,還是直接研究人家的程式碼比較符合我的風格.<br />
<br />
把資料 fork 一份下來後,照表操課在機器上裝了 node.js,套件跟著安裝好啟動,真的可以動的瞬間有點感動(<strike><span style="color: red;">到底感動什麼,沒一個是自己寫的</span></strike>).看著兩個瀏覽的圖可以互相傳遞,突然靈機一動有了想法,如果讓傳統聊天室加上畫圖的功能,好像是一個滿酷的主意!?現在有文字聊天,語音聊天,視訊聊天,但是好像還沒有畫圖聊天(就算是直播小畫家也只是單方面的畫圖+即時語音互動)?心裡有這個想法之後就想說邊做邊學吧,做不成多學一樣也不吃虧,就開始了 <a href="https://www.graffitalk.com/zh-tw" target="_blank">Graffitalk</a> 的第一行程式碼.<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-90268435778241392862017-01-08T23:55:00.001+08:002017-01-15T01:02:57.566+08:00[Graffitalk] 前傳 (剛看完星際大戰前傳的後遺症)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHryNPxVtHFttGBKtk6DCDZQrfHVsnkfeHydMQ-xGSZkuQuzj0ZVv9lCBDOb8Wxm7Ag1PR_aRe9XKiV2O364iw-cUvwvaQ9D_YhTLiU1GEBVBMZ5335mySxlG2zUrRvpj4-Q91galMoqoO/s1600/Graffitalk+%25E5%25AE%258C%25E7%25A8%25BF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHryNPxVtHFttGBKtk6DCDZQrfHVsnkfeHydMQ-xGSZkuQuzj0ZVv9lCBDOb8Wxm7Ag1PR_aRe9XKiV2O364iw-cUvwvaQ9D_YhTLiU1GEBVBMZ5335mySxlG2zUrRvpj4-Q91galMoqoO/s320/Graffitalk+%25E5%25AE%258C%25E7%25A8%25BF.jpg" width="320" /></a></div>
有些讀者來信問我為甚麼很久都不發文了,主要是因為過去一年發生太多事情,到國外工作,遠距離戀愛,家人的事情等等,每天下班後就是耍頹廢,花了很多時間發呆,煮菜,看韓劇.過去三年之前碰了很多技術,為了解決技術問題,找了很多資料,通常最終都有個答案.但是最近困擾我的卻是沒有資料可以找的問題--下一步我到底要做什麼.<br />
<br />
<a name='more'></a><br /><br />
過去幾年一直在換工作,原本以為我可以找一個<b>好</b>工作,找到之後就會過著幸福快樂的生活,但是我錯了.我的確進了不錯的公司,不錯的工作內容,也遇到了好同事好老闆,但是還是覺得無法滿足.感覺近幾年來,都在追求別人眼中的認同和價值,而不是自己真正喜歡的事情.過去幾年當然也嘗試在工作之外找尋自己的愛好和價值,但是來到國外之後,和過去累積的一切斷了聯繫,這種不知道自己要做什麼的焦慮更為嚴重.<br />
<br />
特別在技術領域,科技變動是很快的,前年還在spark,分散式機器學習,去年IOT,無人機,今年在講Deep Learning,BOT,在追尋這些技術的過程中,嚴重感到自己時間和能力的不足,也受了很多挫折 .過去三年開始學了資料科學而走到今天,今天我要做什麼才能走到下個三年.<br />
<br />
雖然對自己的質疑從沒有停下來過,但是因為今年太不快樂了,所以想拋開這些,做一些自己很喜歡的事情.遊戲是我一直以來都很想做的事情,以前剛學Andorid的時候也寫過猜數字的小遊戲,對我來說,不管是工作還是生活,有趣好玩永遠是最重要的事情,所以想真正動手搞個遊戲來玩.<br />
<br />
看了很多網路遊戲的範例,當初最心動的專案是網頁RPG,有用PHP做的也有用JS做的,看來看去還是JS的選擇和變化比較多,其中有一個用上了js和socket.io,因為對js<b>完全</b>沒有基礎,就開始找些簡單的範例來練習.一開始只是簡單的聊天室和畫圖,後來就越變越複雜了(菸).在這過程中,的確重新找到工程師自己動手做的樂趣,也因為開始製作跟使用者互動的產品而感到更多困擾和煩惱 XD.雖然生活比以前更為忙碌,但是也找到了希望(與標題呼應XD).<br />
<br />
最後推一下網站:一個可以和朋友線上塗鴉的聊天室:<a href="http://www.graffitalk.com/zh-tw" target="_blank">Graffitalk 塗話</a><br />
<br />
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-16433125660839695542016-09-18T10:55:00.000+08:002016-09-18T10:55:03.651+08:00[Python] Callback Function 回調函數<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpcS0wkOCOaJZFGq36Bq_I7cUgVjIiSfxToXe1SlzMQ4bVDLirqA0o-2FAMogpORT4CwG-28GrFKCmsOg9nXnF8GHw-H-jjtq219ojA9kyAXcZjspTMPX1hWai1w-lU8yedgwiHgYvmQGz/s1600/625px-Callback-notitle.svg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpcS0wkOCOaJZFGq36Bq_I7cUgVjIiSfxToXe1SlzMQ4bVDLirqA0o-2FAMogpORT4CwG-28GrFKCmsOg9nXnF8GHw-H-jjtq219ojA9kyAXcZjspTMPX1hWai1w-lU8yedgwiHgYvmQGz/s640/625px-Callback-notitle.svg.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
圖片來源:<a href="https://en.wikipedia.org/wiki/Callback_(computer_programming)" target="_blank">https://en.wikipedia.org/wiki/Callback_(computer_programming)</a></div>
<br />
大概有一個月沒寫 XD.其實在家裡寫部落格真的是很麻煩的事情,雖然買了 VPN ,但是一直斷斷續續連線不是很順,越寫越抓狂就算了.而且前半個月去美國出差,簡直樂不思蜀,寶貴的晚上時間也都不想拿來寫 Blog ㄎㄎ.話扯回來,之前和朋友聊天談到 javascript 中 callback 是很普遍的用法,但是因為 python 沒有強制使用 callback ,加上我書讀得少,一直沒有深入瞭解.<br />
<br />
根據 <a href="https://en.wikipedia.org/wiki/Callback_(computer_programming)" target="_blank">wiki</a> 的說法,callback 就是將一段可以執行的程式碼作為參數傳到其他程式碼中,然後可以在適當的時機被呼叫使用.用 python 的語言來說,就是把一個 function 作為參數傳到另外一個 function 中.聽起來很玄,但是實作起來到底長什麼樣子.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf9zx2lCP9mJgxT3OrXMWWdcHrUiPRHMAyfQd484wcFgeQsbZ8oJShwPy0oeDd7_jxkHZ5DiNmsZsvpLghDXC5D__yIJdxyEOFlKjEwBn1YNyYx00FiuUkmwD8GmckCgdzGLOHDI8yS-NY/s1600/Screen+Shot+2016-09-18+at+10.41.23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf9zx2lCP9mJgxT3OrXMWWdcHrUiPRHMAyfQd484wcFgeQsbZ8oJShwPy0oeDd7_jxkHZ5DiNmsZsvpLghDXC5D__yIJdxyEOFlKjEwBn1YNyYx00FiuUkmwD8GmckCgdzGLOHDI8yS-NY/s640/Screen+Shot+2016-09-18+at+10.41.23.png" width="640" /></a></div>
<br />
<ul>
<li>首先這邊有個數列 my_list</li>
<li>第一個 function - is_even:判斷傳入的數值是不是偶數,如果是偶數則回傳一個 boolean 值 True ,反之則為 False.</li>
<li>第二個 function - count_occurrences:有兩個參數,第一個參數是要判斷的數列,第二個參數得放一個輸出為 boolean 值判斷式,最後回傳該數列中,符合判斷式的數值個數.</li>
</ul>
<br />
這樣做的好處是程式碼可以更加簡化,比如說我今天需要一些函數,分別可以計算奇數,偶數,判斷三的倍數五的倍數,透過 callback 的寫法,第二個 function 只需寫一次,透過代入不同的判斷式就可以切換不同的功能.(實作上當然也可以不用callback的方式,而是用代入參數的方式來判斷倍數)<br />
<br />
更多的討論可以參考:<a href="https://www.zhihu.com/question/19801131" target="_blank">知乎</a>上的討論,雖然我覺得有些例子太複雜了XD 但是也不失為一種參考.<br />
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-39478598428712398082016-08-08T00:44:00.000+08:002016-08-08T00:53:30.096+08:00[職涯] 百發百中的履歷秘訣!履歷跟事業一樣需要經營,你/妳,有好好經營嗎?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjatkIGNxnndNIjyX3ClnJ-DMXGKMYaqlZbV_L9xwrzDF7juec7g5War4IoT_dHOgeDZvHpZkeu31J_rUmzreuIusCRAjfiBAPLG4YoT4fCiCjp7G3zzRkx54GBHteH2AKlx50201rWtWo9/s1600/page1-1275px-Resume.pdf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjatkIGNxnndNIjyX3ClnJ-DMXGKMYaqlZbV_L9xwrzDF7juec7g5War4IoT_dHOgeDZvHpZkeu31J_rUmzreuIusCRAjfiBAPLG4YoT4fCiCjp7G3zzRkx54GBHteH2AKlx50201rWtWo9/s400/page1-1275px-Resume.pdf.jpg" width="308" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
圖片來源:wikipedia</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
想試試看寫一下聳動的標題能帶來多少流量 lol.前幾天跟朋友聊轉職的事情,朋友說他都不知道在工作中學到什麼,履歷要怎麼寫比較好.說實在,身為一個每年換一次工作的人,寫/投履歷算是相當有經驗XD.很多履歷教學都會著重在怎樣選擇履歷格式,要不要放照片,經歷要怎樣寫比較吸引人,但是有件我覺得更重要的事情反而比較少人提及,那就是履歷絕對不是要找工作前才開始寫的!</div>
<a name='more'></a>大家看過農產品的生產履歷嗎?<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUpl7HOx9Uv48f0UodrveRCxUaXUnzOs88vyCxY-iDhL59t1mYnLNYhUCJ4k8pV6pIaY-3rhum29qdn1nk82kfw118LV02qQPEJFum6Ityswvfj4lQcOPuLI2hDa5NpxynXBJ1T_QGHzUx/s1600/28e65-jpg.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUpl7HOx9Uv48f0UodrveRCxUaXUnzOs88vyCxY-iDhL59t1mYnLNYhUCJ4k8pV6pIaY-3rhum29qdn1nk82kfw118LV02qQPEJFum6Ityswvfj4lQcOPuLI2hDa5NpxynXBJ1T_QGHzUx/s400/28e65-jpg.jpeg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
掃描 QR Code 之後就會進入<a href="http://taft.coa.gov.tw/" target="_blank">產銷履歷農產品資訊網</a>,裡面有顯示這些農作物的生產資料:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPvzWlY0s03DglMo3m0QVoaGWi0_unbvS1uccdbIghlxjc8vAbgMPv0pcI0PNox0Qct3pa1HrE7qo8WQCAz5RbYRkSzTnPXSY2lv1N2qVegsy2PGRpUcdtqcp4nGExDjyOfzy1SjZATYc0/s1600/Screen+Shot+2016-08-08+at+00.27.12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPvzWlY0s03DglMo3m0QVoaGWi0_unbvS1uccdbIghlxjc8vAbgMPv0pcI0PNox0Qct3pa1HrE7qo8WQCAz5RbYRkSzTnPXSY2lv1N2qVegsy2PGRpUcdtqcp4nGExDjyOfzy1SjZATYc0/s400/Screen+Shot+2016-08-08+at+00.27.12.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
這些作業日期和作業種類就是這個農作物的履歷,那猜猜看,這些內容是</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ol>
<li>收成後才開始思考自己是哪時候施肥,哪時候整地,還是</li>
<li>在播種前就有大概的規劃,照表操課後將確切的時間填入</li>
</ol>
<br />
<div class="separator" style="clear: both; text-align: left;">
我想以台灣農業的進步程度,選 1 的應該是少數,絕大多數的農家都有個種植時程表的.這件事情,跟我想談經營履歷的方式是一模一樣的.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
在現代社會,很少有一份工作一家公司做到底的.先前有篇文章在聊<a href="http://bryannotes.blogspot.com/2014/10/blog-post_17.html" target="_blank">在就職當天準備離職</a>,在工作中,我們隨時都要為了下一份工作做準備.這些準備包括了:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ol>
<li>思考自己的下一個目標</li>
<li>思考社會和技能趨勢</li>
<li>透過沒事看看求職廣告搜集目前主流以及未來可能需要用的技能</li>
<li>隨時準備好工作中的交接事項</li>
</ol>
<div>
如果我們知道下一個目標可能是哪方向,就可以盡量利用目前這份工作來培養下一份工作會用到的技能.例如當知道未來要往資料這塊走可能會用到程式能力,就開始利用下班時間摸摸 Java 和 Pyhton.參加一些研討會發現很多公司開始用 R,就毅然決然拋棄 SAS 把所有分析都改用 R 來做;覺得 Text Mining 有搞頭,就近量爭取參與相關的專案;想跟著強者學習,就努力擠進新創公司;為了保持對 Spark 的熟悉度,極力說服老闆讓我用 Spark 處理可能用 shell就能處理好的資料.如果到想換工作時才開始準備,或自然而然依照舊有的習慣或公司的安排,我可能到現在還在傳統產業賣衣服.</div>
<div>
<br /></div>
<div>
工作是一輩子的事情,可不能再找到一份工作後就高枕無憂.履歷是伴隨我們一生的東西,當然也是要時刻警惕經營,才不會讓過去的自己絆住想往未來奔跑的自己.</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-84885178283038761592016-07-25T23:49:00.003+08:002016-07-25T23:49:49.838+08:00[Python] 簡易網站爬蟲 ( Web Crawler) 抓取公開資訊觀測站的資料 - Payload 和 Session (下)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJoZVLFyptOOI0TOyo95iQQwEJ0TovsGh8nmjoOx-9Tk6QTg0BtnCGdQi-pC8xfeilbrw88dg0z9g6uOxL_BG5fr8D5LPrEV1oPRmRCEGxmI6h9Bb8A1YFMDIUFD5TYpXQJM9u2e6k13QL/s1600/Screen+Shot+2016-07-20+at+23.58.41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJoZVLFyptOOI0TOyo95iQQwEJ0TovsGh8nmjoOx-9Tk6QTg0BtnCGdQi-pC8xfeilbrw88dg0z9g6uOxL_BG5fr8D5LPrEV1oPRmRCEGxmI6h9Bb8A1YFMDIUFD5TYpXQJM9u2e6k13QL/s640/Screen+Shot+2016-07-20+at+23.58.41.png" width="640" /></a></div>
<br />
上一篇說明如何使用session 和 payload 進入資料畫面,這一篇就會非常簡單的介紹怎樣 parsing 要用的資料.有大大提示使用Pandas 的 read_html 會輕鬆很多,但是我還沒試驗,等我試驗成功再來介紹.<br />
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOrSRK2Rh6yjSd40vdocU9GorcW3jf7FeYlP4Rpg6N23hgpD_M9_5St6oWlMgiUwUa19C3DeXREtO2fl5M2le3L1DRqdDIVjlhHlz5gCDskNQCYujymZYbZxQKjubyYsff_etO1f8_UCJV/s1600/Screen+Shot+2016-07-25+at+23.41.30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOrSRK2Rh6yjSd40vdocU9GorcW3jf7FeYlP4Rpg6N23hgpD_M9_5St6oWlMgiUwUa19C3DeXREtO2fl5M2le3L1DRqdDIVjlhHlz5gCDskNQCYujymZYbZxQKjubyYsff_etO1f8_UCJV/s640/Screen+Shot+2016-07-25+at+23.41.30.png" width="640" /></a></div>
因為這個網頁包了非常多東西,除了目標表格外,外面還有好幾層.所以我們先透過 html tag 走訪,找到要解析的表格.這裡是用 BeautifulSoap 這個套件來處理.要注意每個function完之後物件型態是啥.例如 find() 會吐回 Bs4 物件,可以繼續用 tag 方式解析HTML,但是如果是用 find_all() 則會吐回 list 物件.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3TnJklmjIj-qzpM6xrw6Ltlm03CBnO7BaStiCsG3B4wzb2pXJR0pATkeLw8MTl4jm39H51SAPwB370YIM3F0hu-shyan8Mgmcc_ERTb3InCTVxjaL0bHjJuwT6H0tJvJ2qACT8Ev_M5fF/s1600/Screen+Shot+2016-07-25+at+23.46.35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3TnJklmjIj-qzpM6xrw6Ltlm03CBnO7BaStiCsG3B4wzb2pXJR0pATkeLw8MTl4jm39H51SAPwB370YIM3F0hu-shyan8Mgmcc_ERTb3InCTVxjaL0bHjJuwT6H0tJvJ2qACT8Ev_M5fF/s640/Screen+Shot+2016-07-25+at+23.46.35.png" width="640" /></a></div>
<br />
這個表格長得很單純,基本上找到 td 這個 tag 就可以找到所有的內容.這邊只是另外用 if else 處理有時候會遇到空白的欄位;以及先找到第一個 raw 把 header 解析出來.因為之前的文章有提到怎樣看 html 檔案,這邊我就不再多說.有興趣可以爬一爬之前或其他大大的文章.Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-17135405563309413002016-07-21T00:20:00.005+08:002016-07-21T00:26:56.768+08:00[Python] 簡易網站爬蟲 ( Web Crawler) 抓取公開資訊觀測站的資料 - Payload 和 Session (上)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBPVQqgL8HzUtyeckMSkBSkiQ-_ibGyc7SWRee7e32buk58gEj8vSqP0uDOMUpHZn8XUthsGt7Wn2-yH2J3JIZfdXgmqfHci2cQWcS2-hpHBgeBM2gZuWaRkdbu6Ioc0N-N4LavUNBLQC/s1600/Screen+Shot+2016-07-20+at+23.58.41.png" imageanchor="1"><img border="0" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBPVQqgL8HzUtyeckMSkBSkiQ-_ibGyc7SWRee7e32buk58gEj8vSqP0uDOMUpHZn8XUthsGt7Wn2-yH2J3JIZfdXgmqfHci2cQWcS2-hpHBgeBM2gZuWaRkdbu6Ioc0N-N4LavUNBLQC/s320/Screen+Shot+2016-07-20+at+23.58.41.png" width="640" /></a></div>
<br />
<br />
平常工作上沒啥機會用到,所以很久沒有寫爬蟲了.最近因為<strike><span style="color: red;">平常下班沒事幹</span></strike>某人有工作上的需求,看他每天人工複製貼上很辛苦,就來從操舊業一下.這次要抓的是<a href="http://mops.twse.com.tw/mops/web/index" target="_blank">公開資訊觀測站</a>中,<a href="http://mops.twse.com.tw/mops/web/t51sb01" target="_blank">上市上櫃公司資料</a>.<a href="http://mops.twse.com.tw/mops/web/t51sb01" target="_blank">上市上櫃公司資料</a>可以依照產業別看到各公司的股東,地址,會計師事務所等基本資料,格式非常整齊,是個很好解析的資料.但是卻沒辦法直接從網址抓取,因為這個網頁有兩個特別的地方:<br />
<ol>
<li>傳遞資料是用 POST 方法,而不是 GET.</li>
<li>網站有認 Session ,要在同一個 Session 中使用POST才能正確取得資料.</li>
</ol>
<div>
一些基本網站分析方式可以參考先前的拙作:</div>
<div>
<a href="http://bryannotes.blogspot.jp/2014/12/python-crawler.html" target="_blank">[Python][教學] 網路爬蟲(crawler)實務(上)--網頁元件解析</a></div>
<div>
<a href="http://bryannotes.blogspot.jp/2014/12/python-crawler_29.html" target="_blank">[Python][教學] 網路爬蟲(crawler)實務(下)--爬蟲策略以及設定</a></div>
<div>
<a name='more'></a>Session的概念在<a href="http://fred-zone.blogspot.jp/2014/01/web-session.html" target="_blank">Web 技術中的 Session 是什麼?</a>講得很清楚,簡單來說就是當你第一次進入<a href="http://mops.twse.com.tw/mops/web/t51sb01" target="_blank">上市上櫃公司資料</a>這個網頁的時候,網站伺服器會給你一個號碼牌,稱為 session ,你要拿著這個 Session 和適當的 Payload 才能跟伺服器要資料.為的就是避免爬蟲沒有經過首頁,直接透過 Payload 取得資料.</div>
<div>
<br /></div>
<div>
但是現在很多套件都幫我們處理好 Session 和 Payload 的問題,我們只要直接拿來用就行了,像是這樣:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipibqHMRmYv0iSDEzmHRPBLZp_4UH46uBxrPHYVNEz0FTozg1071MoAyoQ7fQD5ct2aYb2T2E25DZWXB-is3hBSfQI60CjEDYqScIZFf9jGuttUWkuY8MUKpGDRBNFb2RIy_f6RVDyZnR7/s1600/Screen+Shot+2016-07-21+at+00.14.38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipibqHMRmYv0iSDEzmHRPBLZp_4UH46uBxrPHYVNEz0FTozg1071MoAyoQ7fQD5ct2aYb2T2E25DZWXB-is3hBSfQI60CjEDYqScIZFf9jGuttUWkuY8MUKpGDRBNFb2RIy_f6RVDyZnR7/s640/Screen+Shot+2016-07-21+at+00.14.38.png" width="640" /></a></div>
<ul>
<li>第二欄定義了目標網址</li>
<li>第三個欄位定義要放進去的 Payload,這些Payload的欄位,可以在 post 方法中找到:</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYJENtIIgZB6iRTlob1jlGUZJbR64ZAAOLKsm55BrLfzZl7H3B0YpyczgV2eXTbOp3J0yKImRI27_kqAXfkhLoHX7QG3k8PCtXp66IplzynuXqdFK57eRAS3qQddyNXC75bW_ulwIREsVd/s1600/Screen+Shot+2016-07-21+at+00.16.37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYJENtIIgZB6iRTlob1jlGUZJbR64ZAAOLKsm55BrLfzZl7H3B0YpyczgV2eXTbOp3J0yKImRI27_kqAXfkhLoHX7QG3k8PCtXp66IplzynuXqdFK57eRAS3qQddyNXC75bW_ulwIREsVd/s640/Screen+Shot+2016-07-21+at+00.16.37.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<ul>
<li>至於Session就交給 <i><span style="background-color: #eeeeee;">request.Session()</span> </i>幫我們解決.只要用這個物件 s 所呼叫的 get 或 post 方法都會算在同一個 session 裡面</li>
<li>下一節將介紹怎麼從抓下來的HTML 檔中找到我們要抓的資料.</li>
</ul>
<div>
原始碼奉上:<a href="https://github.com/bryanyang0528/TWSE_Crawler/blob/master/src/twse_crawler.ipynb">https://github.com/bryanyang0528/TWSE_Crawler/blob/master/src/twse_crawler.ipynb</a></div>
<br />
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-25991658739727937512016-07-15T01:03:00.000+08:002016-11-29T14:37:16.701+08:00A Traditional and Fantastic Trip in West Japan (Day 1- Kamigamo-jinja)<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3nFJFn52zrKvT3Ac6BrqhyERgTvqjZ_ScrOaRZLQWVf158AtEBxsscIHlVsWwKH6fkrFrFbmc_dPRfp11T6g1iDIUNCHwJoZcA3Ko-lcSlaN6gGusZtrs7RnkXxlvAWjXP9IVIABXXpob/s1600/P_20160626_155159.jpg"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3nFJFn52zrKvT3Ac6BrqhyERgTvqjZ_ScrOaRZLQWVf158AtEBxsscIHlVsWwKH6fkrFrFbmc_dPRfp11T6g1iDIUNCHwJoZcA3Ko-lcSlaN6gGusZtrs7RnkXxlvAWjXP9IVIABXXpob/s640/P_20160626_155159.jpg" width="640" /></a></span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: medium;"><br /></span> <span style="font-size: medium;">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 <a href="https://en.wikipedia.org/wiki/Kamigamo_Shrine" target="_blank">Kamigamo-jinja(上賀茂神社)</a> to be my first stop on this trip.</span></span><br />
<a name='more'></a><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span> <span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;"><a href="https://en.wikipedia.org/wiki/Kamigamo_Shrine" target="_blank">Kamigamo-jinja</a> is a very beautiful place in which not only a jinja but a small forest and a river through the forest. There was almost 50 shops some of which sell cookies, and some sell hand-made cups or chopsticks.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggj0W83AYgRXVi46Af22wFiYrbsXCaKe37i2PolQh6ehhK1t_HbXWpxXG-1GBG_aM7p9R4FtsLB0ChjQjSzO1RI1DIOTMPWStfFBPEJbb3x_NpDSoIWGQypS4p6rAaRVJeqVRMGaw47z6g/s1600/DSCN3629.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggj0W83AYgRXVi46Af22wFiYrbsXCaKe37i2PolQh6ehhK1t_HbXWpxXG-1GBG_aM7p9R4FtsLB0ChjQjSzO1RI1DIOTMPWStfFBPEJbb3x_NpDSoIWGQypS4p6rAaRVJeqVRMGaw47z6g/s640/DSCN3629.jpg" width="480" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;">It was very relaxing to walk on the road through the forest and market. You could see kids playing in the river or young couple sitting on a chair and eating cookies. Everyone there smiled and looked happy.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="font-size: medium;"><br /></span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj54HDhGwnhnX8LRGbnRcn4xX-2nt7Y5uTrerAqUJp1ZTBz7GqbMuV5J8GMgkBF1G617V7vUrx7-O42PotedU0XCRZM1BAfJLFajqXy8giMVjdaahvKV5QUP18rBpQ4_ELex_j3QGXzzhWf/s1600/P_20160626_150121_1_p.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj54HDhGwnhnX8LRGbnRcn4xX-2nt7Y5uTrerAqUJp1ZTBz7GqbMuV5J8GMgkBF1G617V7vUrx7-O42PotedU0XCRZM1BAfJLFajqXy8giMVjdaahvKV5QUP18rBpQ4_ELex_j3QGXzzhWf/s640/P_20160626_150121_1_p.jpg" width="360" /></a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: medium;">I will be there again.</span></div>
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-76409848867934449572016-06-21T23:58:00.003+08:002016-07-06T13:26:15.414+08:00[Spark] 利用 Spark 將亂七八糟資料格式的 Fortigate Log 檔轉成關聯式資料<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9qox9MmL6-fynVOH99c_69ekIMLuGEZ4QiubSnFrjVP-uMXHeoZOdUKDhdyHlNVcl4jM_PGFIFi08UD-Nr2hlftWHb7PuLKkyvj5k3aX9-gOlwp3f6AXnZOAdISVHovuCbobc_KGllAD/s1600/inline-The-Company-Chaos-You-Dont-Know-Youre-Creating.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd9qox9MmL6-fynVOH99c_69ekIMLuGEZ4QiubSnFrjVP-uMXHeoZOdUKDhdyHlNVcl4jM_PGFIFi08UD-Nr2hlftWHb7PuLKkyvj5k3aX9-gOlwp3f6AXnZOAdISVHovuCbobc_KGllAD/s640/inline-The-Company-Chaos-You-Dont-Know-Youre-Creating.jpg" width="640" /></a></div>
圖片來源:<a href="http://www.fastcompany.com/1842000/company-chaos-you-dont-know-youre-creating" target="_blank">http://www.fastcompany.com/1842000/company-chaos-you-dont-know-youre-creating</a><br />
<br />
不論資料多雜亂,在做資料分析之前,總是先要整理成關聯式資料,這一段一直是分析中最麻煩也最惱人的一段,特別是當資料量大的時候,其中可能問題又更多了.這次遇到的麻煩是要固定將機器每天的 Log 檔轉成關聯式資料,聽起來不難,是很常見的需求,但是看了資料格式之後整個傻眼.<br />
<br />
這樣的格式麻煩點在:<br />
<ol>
<li>非一般的資料格式: 既不是關聯式資料,也不是 Json 格式(真的很想打設計這種 log 出來的人),沒辦法輕易地整理.</li>
<li>分隔符號不固定: 雖然後面的資料是用 <b>=</b> 做為key和value分隔,但是前面四個欄位不是,表示資料要分開處理.</li>
<li>資料欄位內有空格: 如果預設用" "當做每個欄位的分隔符號,會在這些內部有空格的地方吃了大虧,所以要另外寫工具來區別這種情況.</li>
<li>每筆資料有的key不一致: 這是最麻煩的事.例如有些筆資料有 location 這個 key ,但是有些資料沒有...,連 null 都不給.所以就算你處理完上面三件事,每筆資料的欄位長度還是不一樣.</li>
</ol>
<div>
<a name='more'></a><br /></div>
<div>
以下會逐步說明如何處理上述這幾個地方.</div>
<div>
就處理資料邏輯來說,會先把資料根據欄位切開來,然後再把對應的直塞到欄位裡.但是這個資料因為每筆欄位不太一致,所以想說乾脆直接轉成 Json 來處理比較方便,因為我把所有東西都寫在同一航裡面,所以只好一起看這主要的部分:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXd1PIjy2RHJWVKvueHUwBt2WyhfI2OxO0GLhKrYx7GO07UB5lbjcDONExW1i5IB3LMV5cMKub98TsmqDc5UXgnPs3G9lVaTuzCEx8Z1TaHw5UJrI3tAN1mMvPf0ELEPHufNZM7w3OnIYI/s1600/Screen+Shot+2016-06-21+at+23.49.17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXd1PIjy2RHJWVKvueHUwBt2WyhfI2OxO0GLhKrYx7GO07UB5lbjcDONExW1i5IB3LMV5cMKub98TsmqDc5UXgnPs3G9lVaTuzCEx8Z1TaHw5UJrI3tAN1mMvPf0ELEPHufNZM7w3OnIYI/s640/Screen+Shot+2016-06-21+at+23.49.17.png" width="640" /></a></div>
<div>
用Spark 寫起來真的很簡單:</div>
<div>
<ul>
<li>第一行的 map 用了一個自已寫的_space_split 工具來避免上面提到的第三點--把值裡面的空白切開. </li>
<li>第二行把每一個 Row 切成前面四個和後面剩下的</li>
<li>前面四個固定欄位直接人工塞 key 的名稱</li>
<li>剩下的就用 <b>=</b> 分隔,轉成Python 中的 Dictionary 物件</li>
<li>encode 的用途在於原始資料預設 utf-8格式,在字串處理上會變成u'day',這樣的東西Spark 會沒辦法辨識成 Json 格式.</li>
</ul>
<div>
這一段完成之後已經將每個醜醜的 row 轉成 json 格式,至於每個 json 格式裡面的Key都不同沒有關係,交由 Spark 自己處理.因此我們透過 JsonRDD 讀取剛剛的檔案:</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Rirmmc893N6yJoix0O0XhDC5KAFJe2xyFKqzHuWZbtGHG859aOuvkZpFWIZRBNTPrfYW5qAplZMLSA33InVa59uC8v1GkpEHrbJ-eMsOeabETQlJOVuWtuw8AimrLeez01uHjqKZcmb5/s1600/Screen+Shot+2016-06-21+at+23.55.26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="68" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Rirmmc893N6yJoix0O0XhDC5KAFJe2xyFKqzHuWZbtGHG859aOuvkZpFWIZRBNTPrfYW5qAplZMLSA33InVa59uC8v1GkpEHrbJ-eMsOeabETQlJOVuWtuw8AimrLeez01uHjqKZcmb5/s640/Screen+Shot+2016-06-21+at+23.55.26.png" width="640" /></a></div>
<div>
Spark 就會自動轉成DataFrame ,這時候可以用 printSchema() 和 show() 檢查一下欄位是不是正確,接著就可以用 write 快樂的轉成 parquet 存放了.</div>
<div>
完整程式碼:<a href="https://github.com/bryanyang0528/fortigate-log-parser-in-spark" target="_blank">https://github.com/bryanyang0528/fortigate-log-parser-in-spark</a><span id="goog_1346432967"></span><span id="goog_1346432968"></span><a href="https://www.blogger.com/"></a></div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-26053537187218745662016-06-18T00:11:00.001+08:002016-06-18T00:11:09.479+08:00[心得] 美國ESTA簽證申請流程<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfchhM7AfLzA3fMfVinHI54prHmWK0eAnPf2S5qZ8EgQH-6hisDnyRXRYzKlcDEaT-PQ3HKE1w2Ugnr9YktnLOhUWAjb8yZOmMHO2S28ArrNNJUPYrBN6ZDnG5dMhdg7Ab5iQfKsfomFku/s1600/Screen+Shot+2016-06-17+at+23.18.57.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfchhM7AfLzA3fMfVinHI54prHmWK0eAnPf2S5qZ8EgQH-6hisDnyRXRYzKlcDEaT-PQ3HKE1w2Ugnr9YktnLOhUWAjb8yZOmMHO2S28ArrNNJUPYrBN6ZDnG5dMhdg7Ab5iQfKsfomFku/s640/Screen+Shot+2016-06-17+at+23.18.57.png" width="640" /></a></div>
<br />
因為八月份要到矽谷出差,所以最近趕緊來研究一下怎麼到米國.美國於2012年10月2日宣布台灣加入免簽證計劃(以下簡稱VWP)。根據VWP,符合資格之台灣護照持有人若滿足特定條件,即可赴美從事觀光或商務達90天,<strike><span style="color: red;">無需簽證</span></strike>。其實還是要的,只是流程沒以前那麼麻煩.根據<a href="https://www.ait.org.tw/zh/vwp.html" target="_blank">美國在台協會</a>的說明:VWP允許來自38個參與國[1]符合資格的旅客,無須申請美簽即可前往美國洽商或觀光(B簽證之旅行目的,詳情請按這裏)並可停留達90天。惟停留天數不得延長,VWP旅客在美期間亦不得改變其身份,例如變更為學生簽證身份。若符合VWP資格之旅客希望申請美簽,亦可選擇申辦。旅客欲以VWP入境美國,須先透過旅行<a href="https://esta.cbp.dhs.gov/esta/" target="_blank">授權電子系統(ESTA)</a>取得授權許可(若搭飛機或船),並於旅行前滿足所有相關資格條件。<br />
<a name='more'></a>進入手續前請先準備以下物品:<div>
<ol>
<li>晶片護照</li>
<li>父母護照姓名</li>
<li>美國居住地址</li>
<li>可以線上刷卡的信用卡</li>
</ol>
<div>
到了ESTA的<a href="https://esta.cbp.dhs.gov/esta/" target="_blank">官網</a>,右上角很貼心的可以將語言改成中文,但只是介面改成中文,資料還是要填英文.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPklxePTtkWIUUfcsfPFFmcCuznugP5ZBn0oMlvFHxTapybN-_s2RYD-ArNyBK6yt-2bCn0TQrk8ufogix0rl5zN7JnCmpJqd3mTvDpiJybD5wsnv5F_UOkPX2Bv5fN90XLDMRbp2JX0M/s1600/Screen+Shot+2016-06-17+at+23.23.35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPklxePTtkWIUUfcsfPFFmcCuznugP5ZBn0oMlvFHxTapybN-_s2RYD-ArNyBK6yt-2bCn0TQrk8ufogix0rl5zN7JnCmpJqd3mTvDpiJybD5wsnv5F_UOkPX2Bv5fN90XLDMRbp2JX0M/s640/Screen+Shot+2016-06-17+at+23.23.35.png" width="640" /></a></div>
<br />
<br />
<ul>
<li>選擇新申請之後會進入申請表格的頁面,總共分成六個流程</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtq77MgP8vOtkNgn748hB2vMv0Pfr5_SIOI_R66No7ebqV3yEOC-J2fuagyzdi4OWBiZZ2P8J66bt8uMPA1jOL4JLzBe8S0iOXIz1cLc9Y2o_q79JdGOLHYO5Ps7y8kj8RR1kjxTDy-pFr/s1600/Screen+Shot+2016-06-17+at+23.24.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtq77MgP8vOtkNgn748hB2vMv0Pfr5_SIOI_R66No7ebqV3yEOC-J2fuagyzdi4OWBiZZ2P8J66bt8uMPA1jOL4JLzBe8S0iOXIz1cLc9Y2o_q79JdGOLHYO5Ps7y8kj8RR1kjxTDy-pFr/s640/Screen+Shot+2016-06-17+at+23.24.56.png" width="640" /></a></div>
<div>
<span style="color: red;"><b>資料都要填英文,資料都要填英文,資料都要填英文,很重要說三遍</b></span></div>
<ul>
<li>英文姓名拼音中間,不要加「-」,例如Wang Da Ming</li>
<li>護照資料就照實填,注意一下護照有效日期要大於停留在美國日期超過兩年以上.國家證件號碼和身分證字號相同.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK6ss8YnJHEMeE1j71kfPIrkf1wsOtw8Huig6F7OH7tXCvpbyf4NzaNvnSBQG25dO2C6bvHtPtQcc6twwURUx22OHWr6eC96Mey0BidbR5b2oCeKrvZKejCG9s8AdjbCgBpHczW0RBghsv/s1600/Screen+Shot+2016-06-17+at+23.34.30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK6ss8YnJHEMeE1j71kfPIrkf1wsOtw8Huig6F7OH7tXCvpbyf4NzaNvnSBQG25dO2C6bvHtPtQcc6twwURUx22OHWr6eC96Mey0BidbR5b2oCeKrvZKejCG9s8AdjbCgBpHczW0RBghsv/s640/Screen+Shot+2016-06-17+at+23.34.30.png" width="640" /></a></div>
<div>
<br /></div>
<ul>
<li>在美國的聯絡方式可以根據要拜訪的公司或是居住地來填.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6cR3NWESiU91uDhYe05uIIVWVa2MBJIJrXMs8Lr7YVIPZyJNCi4YX1XVLHJTaaoV04QUba-LZ9u5aJ4h4S8YLtYeVE9H_0ZbUC6DQCH3hnz_6mgKbU-UGcM85If6mGPBIbmi3Her5AEBn/s1600/Screen+Shot+2016-06-17+at+23.46.11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6cR3NWESiU91uDhYe05uIIVWVa2MBJIJrXMs8Lr7YVIPZyJNCi4YX1XVLHJTaaoV04QUba-LZ9u5aJ4h4S8YLtYeVE9H_0ZbUC6DQCH3hnz_6mgKbU-UGcM85If6mGPBIbmi3Her5AEBn/s640/Screen+Shot+2016-06-17+at+23.46.11.png" width="640" /></a></div>
<div>
<br /></div>
<ul>
<li>一些資格問題,一般都填否,如果你有符合任何一點建議誠實回報.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf-fnu5wJ49otKxo57A5yvIYLyaa0uAjm7obY7RClHTkkDnTpo8EWJjZRClVubPB9wfC2xwQXfvyak1eAQ8NtJUULNjgSGUsIrGB9zqv_141McXkfO75MfcMNfMZ4ftOS2C2q4dICvYi3h/s1600/Screen+Shot+2016-06-17+at+23.52.25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf-fnu5wJ49otKxo57A5yvIYLyaa0uAjm7obY7RClHTkkDnTpo8EWJjZRClVubPB9wfC2xwQXfvyak1eAQ8NtJUULNjgSGUsIrGB9zqv_141McXkfO75MfcMNfMZ4ftOS2C2q4dICvYi3h/s640/Screen+Shot+2016-06-17+at+23.52.25.png" width="640" /></a></div>
<div>
<br /></div>
<ul>
<li>填了這些表後會一起給你重新審閱一次,沒什麼問題就可以繳錢啦一共14美金,得用線上信用卡繳款.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhr3Zr0JSAw8Dr1Dxbb6MBfdLFWQ5h1UL4oYwsVrZ7ZEPQt2xuiIREQTsUy-xzntfoWP2I5F9s2vPHokHCqMcIqAoUKMKGMzRf17zdVsH3ERhB5iVTKcY_KXQZaBJaUXdvNYj_qIfTtoj-/s1600/Screen+Shot+2016-06-17+at+23.57.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhr3Zr0JSAw8Dr1Dxbb6MBfdLFWQ5h1UL4oYwsVrZ7ZEPQt2xuiIREQTsUy-xzntfoWP2I5F9s2vPHokHCqMcIqAoUKMKGMzRf17zdVsH3ERhB5iVTKcY_KXQZaBJaUXdvNYj_qIfTtoj-/s640/Screen+Shot+2016-06-17+at+23.57.56.png" width="640" /></a></div>
<div>
<br /></div>
<ul>
<li>我一繳完錢就拿到審核結果了-.- 快到我還以為是假的,要列印出來之前請先在右上角切換成英語語系之後再印.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWZ0HqrLTRakRalPssiz4JKMPq2MqLN_QsK73xXwNSwx_jwjDNjqDZrI-RU755sLd4iy9eIiEk9qnAmFA8AH4qGR0qN1QF0uLirUv3bPW5tt1Olr8Ixqqqfr00dlln-5YdHUlEE2r005U0/s1600/Screen+Shot+2016-06-18+at+00.03.32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWZ0HqrLTRakRalPssiz4JKMPq2MqLN_QsK73xXwNSwx_jwjDNjqDZrI-RU755sLd4iy9eIiEk9qnAmFA8AH4qGR0qN1QF0uLirUv3bPW5tt1Olr8Ixqqqfr00dlln-5YdHUlEE2r005U0/s320/Screen+Shot+2016-06-18+at+00.03.32.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbXzCs_zYAX3tlCoQuiHjY8xVN90PORjIumnW34b2kLfq81XA_ph8n5ZQQgvSh8lJ2JaHm3ay2_VvHDYnXPkj4Ge0PwEL2KKRbnwdyQ9Wi_rKhoZdQnyUNi1inu8lD67LlgFor2cxXnwGn/s1600/Screen+Shot+2016-06-18+at+00.04.58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="62" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbXzCs_zYAX3tlCoQuiHjY8xVN90PORjIumnW34b2kLfq81XA_ph8n5ZQQgvSh8lJ2JaHm3ay2_VvHDYnXPkj4Ge0PwEL2KKRbnwdyQ9Wi_rKhoZdQnyUNi1inu8lD67LlgFor2cxXnwGn/s320/Screen+Shot+2016-06-18+at+00.04.58.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbXzCs_zYAX3tlCoQuiHjY8xVN90PORjIumnW34b2kLfq81XA_ph8n5ZQQgvSh8lJ2JaHm3ay2_VvHDYnXPkj4Ge0PwEL2KKRbnwdyQ9Wi_rKhoZdQnyUNi1inu8lD67LlgFor2cxXnwGn/s1600/Screen+Shot+2016-06-18+at+00.04.58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="62" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbXzCs_zYAX3tlCoQuiHjY8xVN90PORjIumnW34b2kLfq81XA_ph8n5ZQQgvSh8lJ2JaHm3ay2_VvHDYnXPkj4Ge0PwEL2KKRbnwdyQ9Wi_rKhoZdQnyUNi1inu8lD67LlgFor2cxXnwGn/s320/Screen+Shot+2016-06-18+at+00.04.58.png" width="320" /></a></div>
<div>
<br /></div>
<ul>
<li>Have a nice trip!</li>
</ul>
</div>
</div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-85708835078202688722016-06-17T09:35:00.004+08:002016-06-17T09:37:12.277+08:00[職涯] 給畢業生的話<div style="color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; letter-spacing: -0.25999999046325684px; margin-bottom: 6px;">
<span style="font-size: medium;">畢業季到了,因為我家剛好也有一個應屆畢業生,剛好可以趁機說說想對畢業生說的話.</span></div>
<div style="color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; letter-spacing: -0.25999999046325684px; margin-bottom: 6px; margin-top: 6px;">
<ol>
<li><span style="font-size: medium;">不要被自己的學歷給限制了.台灣太喜歡用單向價值觀來看人,但是世界是充滿各種可能的.身在台灣的大學畢業生,手上的選擇權算多了,當你羨慕人家用四年喚來台清交的文憑,那你可以設定自己在四年後走向不一樣的路.</span></li>
<li><span style="font-size: medium;">如果不工作也能好好生活,那太棒了.你有很多時間做想做的事情,也可以不受薪水限制去做想做的工作.那如果逼不得已要上班的話,找個自己也有興趣的工作.有興趣的工作讓你有機會做得比別人更好,偶爾的加班也能當成自我成長學習,活得比較開心.</span></li>
<li><span style="font-family: inherit; font-size: medium;">找工作最重要的是做自己,而不是委屈求全.很多人覺得面試是就是假來假去,面試官唬爛工作內容,公司福利,求職者唬爛自己的能力和意願,但是長期來說這都是不健康的態度.進入一個能接受你的環境,進去之後也會活得比較舒服.</span></li>
<li><span style="font-family: inherit; font-size: medium;">人生不是只有工作.工作是為了生活,而不是讓生活被工作吞噬.工作固然有他有趣的部分,但那是我覺得那是在不得已需要工作的情況下從中找的好處.聽過斯德哥爾摩症候群嗎?因不得非得要工作,只好賦予工作一個更正當的含義,才能讓自己不受威脅的活著.</span></li>
<li><span style="font-family: inherit; font-size: medium;">培養工作以外的興趣.如果工作剛好是你的興趣,那很好,如果不是認真建議培養一份.興趣可以讓你真正的放鬆和轉換心情.</span></li>
</ol>
</div>
<div class="text_exposed_show" style="color: #1d2129; display: inline; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; letter-spacing: -0.25999999046325684px;">
</div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-45702562336480114492016-06-13T23:41:00.001+08:002016-06-17T09:38:00.739+08:00[職涯] 廈門工作+生活攻略(三)上班要吃什麼<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLbPXFGSafhrg4_62KUwhQ4Wo1YchJMbSBNVNsSHHDMcJSEQ8Raj4n5EvCiltbC-OTd75vWIgLuUy6JjqiJpyKVHO3CEuBd_f-mLUd3XC_FFluuFm2wP283-ovbve5AkiOeh2vKkSW1uqP/s1600/file_1800x3200_002679.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLbPXFGSafhrg4_62KUwhQ4Wo1YchJMbSBNVNsSHHDMcJSEQ8Raj4n5EvCiltbC-OTd75vWIgLuUy6JjqiJpyKVHO3CEuBd_f-mLUd3XC_FFluuFm2wP283-ovbve5AkiOeh2vKkSW1uqP/s400/file_1800x3200_002679.jpg" width="225" /></a></div>
<br />
民以食為天,人可以不工作但是不能不吃飯(?).吃飯是很重要的.在園區裡面工作的好處就是不用為吃飯擔心太多(如果你不太挑食的話),每天中午可以到大食堂裡面吃飯,有飯有麵有自助餐任君挑選.因為是園區的廠商,相信食物的安全上應該是滿OK的.在食堂吃飯有滿滿當兵的感覺.<br />
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJz0lz8BK-ci9J5gtlCeHXXD3G3oyHkCUCNtUXWbCa76unFf_JjPDn2PgIdSSumosWODLUGWmGNEwID0PMQIjP5skzG-Nm1uqByZzr6-res5nkpGjlJoUnzDSITUR-uDaXWX3vkp7cQnKt/s1600/file_3200x1800_002681.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJz0lz8BK-ci9J5gtlCeHXXD3G3oyHkCUCNtUXWbCa76unFf_JjPDn2PgIdSSumosWODLUGWmGNEwID0PMQIjP5skzG-Nm1uqByZzr6-res5nkpGjlJoUnzDSITUR-uDaXWX3vkp7cQnKt/s640/file_3200x1800_002681.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
食堂長這樣,中午用餐時間人多到爆炸...中國沒什麼特色就是人多.聽聽旁邊的人在聊什麼也是滿有趣的.菜色不用太期待,價錢大概70~90之間.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbqRbQ46CHpC84VTs1bZqZ33g2COPrnroQfINMEMR8YnWKtQPDKHdXFtpNwxoR40Qmi_RiBFk7Z60i5Ff1wNSFLOea9GVaXElxShReSs70qpdV2iI7vaTDd0-rZytWt_AS6ZwGL27ScjEj/s1600/file_1800x3200_002680.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbqRbQ46CHpC84VTs1bZqZ33g2COPrnroQfINMEMR8YnWKtQPDKHdXFtpNwxoR40Qmi_RiBFk7Z60i5Ff1wNSFLOea9GVaXElxShReSs70qpdV2iI7vaTDd0-rZytWt_AS6ZwGL27ScjEj/s400/file_1800x3200_002680.jpg" width="225" /></a></div>
像上圖的肉餅蓋飯大概65塊台幣.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfLQ_NyCtU5dlbuxscjZYDFp7bk2rln2nGZSdpll5ILjMHqXlD8Vx6WpnGZe62z0KW6bx8fL7jscQMGZ0Zf1CNrKTQc-gtZBvlXRoTxNVDpqIVT1XlHREWCIo64GJ3CA6IVpZlyy_g0TNR/s1600/file_1800x3200_002695.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfLQ_NyCtU5dlbuxscjZYDFp7bk2rln2nGZSdpll5ILjMHqXlD8Vx6WpnGZe62z0KW6bx8fL7jscQMGZ0Zf1CNrKTQc-gtZBvlXRoTxNVDpqIVT1XlHREWCIo64GJ3CA6IVpZlyy_g0TNR/s320/file_1800x3200_002695.jpg" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
像這樣兩菜一肉大概90左右.<br />
廈門這邊 雞肉是最便宜的再來是豬肉=魚肉 >>> 牛肉.各種牛肉相關產品都貴又不好吃(要不然就是份量很少).<br />
整體來說,口味吃起來和台灣滿像的,就是稍微油和辣了的一點(比英國食物好吃真的).<br />
出了園區,路上都有滿多吃的,每個居住小區都會有一排賣吃的店,不愁找不到東西,但是衛生上就要多看兩眼了.這邊很參差不齊,同一排店面有很髒亂,也有很乾淨的店.就吃飯來說物價跟台北差不多(甚至還有些貴一點的感覺)但是吃飯這種東西還是不要亂省.<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-1570370919967784292016-05-31T17:53:00.002+08:002016-05-31T17:53:11.119+08:00[職涯] 廈門工作+生活攻略(二)第一天上班該辦哪些卡<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQzv6ilH23bzvI0I2GuAdToQPsvkOyxbJne94fVPx_HuknNsmUBmmDQfg4E34j-Q6Ho-FJOKfVSrFMLHALyHmSBxN4qMRmgxxnrEhkZ9HPtz6PEB0fl2HdDpjkIQ4FPlU56FY27bwD8ZP4/s1600/card04.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQzv6ilH23bzvI0I2GuAdToQPsvkOyxbJne94fVPx_HuknNsmUBmmDQfg4E34j-Q6Ho-FJOKfVSrFMLHALyHmSBxN4qMRmgxxnrEhkZ9HPtz6PEB0fl2HdDpjkIQ4FPlU56FY27bwD8ZP4/s320/card04.gif" width="320" /></a></div>
第一天上班的時候非常忙碌,一早就要填寫基本資料和簽一堆文件.大部分好的公司都會幫你辦好,但是有些東西一定得本人去辦理.基本上中國所有服務都綁定手機,如果需要方便的線上支付又要綁定銀行卡,越早辦好越方便生活.<br />
<a name='more'></a><br />
<ul>
<li>公司帳戶銀聯卡<br />每家公司都有自己合作的銀行,第一步當然就是去公司指定的銀行開戶,才有辦法收到薪水XD.去銀行的時候要帶<b>雙證件(台胞證+身分證)</b>和<b>中國的手機門號.</b>除了開基本的功能之外,強烈一定要開通手機銀行,讓你可以在手機上轉帳,甚至無卡提款.</li>
</ul>
<ul>
<li>微信支付/支付寶銀聯卡<br />如果你想體驗方便的第三方支付功能,絕對要注意這點-不是所有銀聯卡都支援台胞證開通微信/支付寶.這個原因是因為,微信支付/支付寶如果要開通轉賬功能,需要實名制.實名制時需要輸入個人身分證件,臺胞們當然只能輸入台胞證,但是不是所有銀行都能讓你輸入台胞證.我剛來也為這個問題困擾很久,能夠支援台胞證開通的銀行卡如下<a href="https://www.zhihu.com/question/22865004/answer/71623351" target="_blank">台胞证开的银行卡帐户如何开通微信支付?</a> <a href="https://cshall.alipay.com/lab/help_detail.htm?help_id=255266" target="_blank">支付寶支援的銀行卡</a> 因為同事說招商銀行是民營銀行,服務也比較好,所以我最後是辦<b>招商銀行</b>的銀聯卡<b>.</b></li>
</ul>
<ul>
<li>e通卡<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi702uROVfb8whCSy61hUi-wa3_-bPb49B1BuXgKtkEajXrpNm2OAWpwfsoqliA9R7iU9T7wzmxA36FUh0cSk_La6V_UF4Bd_h2SEwo4F9OvftgiEPn3vaWX-0g9AqLcEP-oEMAH7HZ2lBE/s1600/bf9051fe95410b93.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi702uROVfb8whCSy61hUi-wa3_-bPb49B1BuXgKtkEajXrpNm2OAWpwfsoqliA9R7iU9T7wzmxA36FUh0cSk_La6V_UF4Bd_h2SEwo4F9OvftgiEPn3vaWX-0g9AqLcEP-oEMAH7HZ2lBE/s320/bf9051fe95410b93.png" width="320" /></a><br /><br />在廈門重要性僅次於銀行卡就是<a href="https://zh.wikipedia.org/wiki/E%E9%80%9A%E5%8D%A1" target="_blank">e通卡</a>了.e通卡有點像台灣的悠遊卡,可以坐大眾交通工具,搭計程車,也能在夏商超市或是軟件園區的餐廳用餐.但是辦理上比較麻煩,只有BRT站附近有點辦理.通常能用e通卡的店就能儲值,但是我曾經遇過儲值要多收一塊手續費的= =.</li>
</ul>
<ul>
<li>健康證<br />為了要辦社保卡,所以要先去<a href="http://www.xmciq.gov.cn/" target="_blank">廈門出入境檢疫局</a>辦理健康證.過程就是一般的健康檢查,有量身高體重,抽血,X光,腹部超音波,尿液等內容,第一次體驗中國不怎樣的醫療品質...很多都很隨便...費用如果不能報公司的其實滿傷的.</li>
</ul>
<ul>
<li>社保卡</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3jOOtAYlZqOmI5zdURj1xLLWw2FpanMgcw9XmeqtQ-rC4N_QhlMjSPCXlI4pTcxuzjTHl5moMAyP8LXQwVU1gNm5Ze3H5wNBBVVItCmS6-fRTJ8HeQ7EjNcUZIaW4Q0ILlPpiUzQkAIhz/s1600/14594080915419080.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3jOOtAYlZqOmI5zdURj1xLLWw2FpanMgcw9XmeqtQ-rC4N_QhlMjSPCXlI4pTcxuzjTHl5moMAyP8LXQwVU1gNm5Ze3H5wNBBVVItCmS6-fRTJ8HeQ7EjNcUZIaW4Q0ILlPpiUzQkAIhz/s320/14594080915419080.jpeg" width="320" /></a></div>
<ul>等了一個月才下來的卡,有這張卡視同廈門市民,去鼓浪嶼可以買當地人的票(8元,一般遊客35元),還可以去路邊圖書館借書,看醫生等,應該很好用(?</ul>
<div>
<br /></div>
<div>
社保卡公司應該會幫忙辦,但是前面幾張卡都要自己去跑,來廈門之前多拍幾張2吋和1吋的照片,會用得到的.</div>
<div>
<br /></div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-25038765381080468252016-05-27T00:41:00.002+08:002016-05-31T17:31:19.195+08:00[職涯] 廈門工作+生活攻略(一)第一天要做哪些事<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE73pEor2i5iUvHhimGkkK8y0-Bm3cZWtdoEXKq05dEODYQtGE5NhR7sWpW7Tte45SR7wuPUQsZ8uWgAF-jacTKLERXYV67iIjq3tAi1FbItfc07YEvE_awAE0aGde3v07dLoAn_fi289Z/s1600/Screen+Shot+2016-05-27+at+00.13.04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="522" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE73pEor2i5iUvHhimGkkK8y0-Bm3cZWtdoEXKq05dEODYQtGE5NhR7sWpW7Tte45SR7wuPUQsZ8uWgAF-jacTKLERXYV67iIjq3tAi1FbItfc07YEvE_awAE0aGde3v07dLoAn_fi289Z/s640/Screen+Shot+2016-05-27+at+00.13.04.png" width="640" /></a></div>
<br />
在我來廈門工作之前一次都沒有來過廈門,也沒來中國工作過.分享一下經驗給未來有機會過來的朋友.<br />
<br />
廈門,根據<a href="https://zh.wikipedia.org/wiki/%E5%8E%A6%E9%97%A8%E5%B8%82" target="_blank">維基百科</a>的介紹:別稱鷺島,簡稱鷺,是中華人民共和國15個副省級城市之一,五個計劃單列市之一;是中國最早實行對外開放政策的四個經濟特區之一,五個開發開放類國家綜合配套改革試驗區之一廈門市是中华人民共和国東南沿海重要的中心城市,現代化國際性港口風景旅遊城市,位於臺灣海峽西岸中部、福建省東南沿海、閩南金三角的中心,地處北緯24°23'~24°54'、東經117°53'~118°26',隔海與龍海市及中華民國的金門縣相望,陸地與南安市、安溪縣、長泰縣、龍海市接壤[3]。全市通行閩南語廈門話,為閩南語的代表方言。廈門島是廈門的主要島嶼,也是廈門經濟特區的發祥地,島上有廈門的商業和政治中心。廈門島和金門島隔海對望.<br />
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP6JbgZUN_a6dVt-kTds34LWx0LMFuBCtHupxoIRWI2dsIKUpNmwGGZaxf_9g9E_8U5Ofx31y9jT0RuV0lJQlh-Cv_L6B_lTEa-peYD0MKXrwY4cqBCwT4BCYxk_apA95qNfowwYa_TQKE/s1600/Screen+Shot+2016-05-27+at+00.19.25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP6JbgZUN_a6dVt-kTds34LWx0LMFuBCtHupxoIRWI2dsIKUpNmwGGZaxf_9g9E_8U5Ofx31y9jT0RuV0lJQlh-Cv_L6B_lTEa-peYD0MKXrwY4cqBCwT4BCYxk_apA95qNfowwYa_TQKE/s640/Screen+Shot+2016-05-27+at+00.19.25.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
從面積來看,廈門市跟新北市+台北市差不多大,而廈門島差不多是台北市大小.緯度上跟 台中苗栗差不多,也跟台灣屬同一個時區,從外在條件來看是個跟台灣很像的地方.</div>
<br />
<br />
<ul>
<li>松山,桃園,台中都有飛機直飛廈門島,或是也可以選擇先飛到金門,再坐船的<a href="https://zh.wikipedia.org/wiki/%E5%B0%8F%E4%B8%89%E9%80%9A" target="_blank">小三通</a>.小三通比較便宜單程大概三千初頭(價格參考<a href="http://www.eztravel.com.tw/event/2008xiamen/index.html?in=home19" target="_blank">易遊網</a>),直飛的話四千初頭,飛行時間一小時五十分鐘,其實也不算太遠.</li>
</ul>
<ul>
<li>對要來長期上班的人來說,一開始一定得先住酒店,酒店看能不能叫公司幫忙出一個禮拜的錢好讓你有時間找房子,這樣比較方便.</li>
</ul>
<ul>
<li>換人民幣,和開通海外提款.剛來最少也要待個下個月初才領得到薪水,所以總要帶點盤纏過來.一天生活費不特別節省的話大概是60~80人民幣,大約台幣300~400左右.另外還要加上剛來總需要買東買西的花費,要拿捏一下.另外最好開通海外提款,雖然手續費比較貴,但是至少不會餓死</li>
</ul>
<ul>
<li>剛到廈門,第一件事除了吃飯就是去酒店放行李.打車雖然比較貴,但是如果你大包小包還是打車吧.我第一天來提著兩箱行李走半個小時到公車站牌,再做一個小時的公交車到酒店真的很想死.</li>
</ul>
<ul>
<li>行李放一放,最重要的事情就是辦手機門號,因為中國各種方便的服務比如說打車,唯信支付甚至開銀行卡都要綁定手機門號.這邊要特別注意就是中國手機雖然同樣是4G但是系統和台灣不一樣(中國移動是用TD-LTE,台灣是FDD-LTE),唯一和台灣一樣有用FDD LTE是中國聯通(參考<a href="http://www.metsky.com/archives/788.html" target="_blank">联通/电信/移动之4G频段划分</a>),簡單來說,如果你在台灣是全頻手機,可以直接插中國聯通 sim 卡就可以用了,不用另外買手機.如果不是要另外買手機的話,也要注意手機是聯通版/移動版的.要用臺胞證辦手機門號的話,一定要到直營門市,一般綜合的手機行是不給台胞證辦的.聯通直營門市頗難找....另外中國電信商也跟台灣一樣有一堆套餐,先找個便宜的有4G流量的辦就行了.如果不夠以後還有機會升級.4G和電話都有分全國和省內,例如廈門就是福建省,有些流量是全國都可以用,有些流量只能在福建省內用,就看各自工作和需求由而定囉.</li>
</ul>
<ul>
<li>肚子餓了要吃飯的話,怕拉肚子就別吃路邊攤,找家乾淨的餐館進去吃就行了.一般看起來乾淨的餐館大概跟臺北物價差不多,也有很多自助餐或小吃可以選.口味個人覺得稍微重一點,不過也是可以跟老闆點個拌青菜不加調料的.</li>
</ul>
<ul>
<li>到這邊你大概就可以平安渡過第一天的生活到上班了,剩下的東西上班之後再說.</li>
</ul>
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-19804539684927135602016-05-13T17:35:00.002+08:002016-05-13T17:35:18.363+08:00[閒聊] 近況更新最近停了很久沒有更新.主要原因是四月底來到廈門工作,因此前一個多月除了工作上忙著收尾,交接外,一些工作外的活動也需要收尾和整理,同時也花了比較多時間在朋友和家人身上.四月底來了之後,也花了點時間適應新生活,新工作.主要就是租房,買傢俱,認識環境這些事情.當工作開始進入狀況,應該就會比較有動力開始寫了XD.<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-14217977438624280502016-03-29T23:49:00.004+08:002016-04-08T11:46:05.207+08:00[職涯] 海外求職經驗分享<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQWmYlHB-p1RtfqNOrf7MOibyacLEGH1bv73W96FQFO6uVwKzQaECUHEyZiY54rC4HBnkBaDZfSykyDP5p4jFEfPIzLK92v5CjgypgLOlkHuawICJuJ95GKUx91kz9do26QVfiKnThxV1-/s1600/HLG_JobOversea.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQWmYlHB-p1RtfqNOrf7MOibyacLEGH1bv73W96FQFO6uVwKzQaECUHEyZiY54rC4HBnkBaDZfSykyDP5p4jFEfPIzLK92v5CjgypgLOlkHuawICJuJ95GKUx91kz9do26QVfiKnThxV1-/s640/HLG_JobOversea.jpg" width="640" /></span></a></div>
<span style="font-size: large;"><br /></span>
<br />
<div style="color: #141823; font-family: helvetica, arial, sans-serif; margin-bottom: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="color: #141823; font-family: helvetica, arial, sans-serif; margin-bottom: 6px;">
<span style="font-size: large;">一開始也沒特別想找國外的工作,原本計畫還要在磨練個兩三年才往外發展,但是去年有一天突然收到Facebook的來信,不是Faceb00k,是真的Facebook,邀請我參加面試,才開始第一次海外求職的經驗,之後膽子也大了起來,投投履歷聊聊天,當做練英文和練表達方式.</span></div>
<a name='more'></a><span style="font-size: large;"><br /></span>
<span style="font-size: large;"><br /></span>
<br />
<div style="color: #141823; font-family: helvetica, arial, sans-serif; margin-bottom: 6px; margin-top: 6px;">
<b><span style="font-size: large;">1) Facebook:</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg26vch6apr27HY1jPvXbpkJPTrY9j4BKnAVRtM7tqLbvtJAKDZjgXPgYM49H1AE2aHmmL6H_20bstTuUx10WaLiCPldDrwuYF7aS-zLzQ9pwZiMo9LF2zWP_naqb1xXB6X5CZdg2_7b0yg/s1600/fb_icon_325x325.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg26vch6apr27HY1jPvXbpkJPTrY9j4BKnAVRtM7tqLbvtJAKDZjgXPgYM49H1AE2aHmmL6H_20bstTuUx10WaLiCPldDrwuYF7aS-zLzQ9pwZiMo9LF2zWP_naqb1xXB6X5CZdg2_7b0yg/s200/fb_icon_325x325.png" width="200" /></span></a></div>
<div style="color: #141823; font-family: helvetica, arial, sans-serif; margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">第零關: 人資,分別問了幾個能力(像是SQL,Python)給自己幾分<span class="text_exposed_show" style="display: inline;"><br /></span></span><br />
<span style="font-size: large;"><span class="text_exposed_show" style="display: inline;">第一關: Data Warehouse主管,問了幾個基本DW概念像是 star snowflake schema 什麼意思,在某些情況下表單要怎麼設計,線上出了題目寫了一段SQL Code.</span></span><br />
<span style="font-size: large;"><span class="text_exposed_show" style="display: inline;"><br />第二關: Engineer的主管,主要考python的 Coding,印象很深刻第一題考 KNN 實作,第二題考計算陣列中的排列算法,中間其實主管人很好會適時提示,但是因為我Coding很爛加上第一次線上寫Code,表現很差,收到感謝信.</span></span><br />
<span style="font-size: large;"><span class="text_exposed_show" style="display: inline;"><br /></span></span>
<span style="font-size: large;">因為FB會上機考,當時非常認真的刷<a href="https://leetcode.com/" target="_blank">leet code</a>,雖然最後沒用上,但是總算對一些基本的資料結構有點了解.</span></div>
<div style="color: #141823; font-family: helvetica, arial, sans-serif; margin-bottom: 6px; margin-top: 6px;">
<span class="text_exposed_show" style="display: inline; font-size: large;"><br /></span></div>
<div class="text_exposed_show" style="color: #141823; display: inline; font-family: helvetica, arial, sans-serif;">
<div style="margin-bottom: 6px;">
<b><span style="font-size: large;">2) ad2game:</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheZvI80pKxPiu67_c9gxhGh5uv31-AI7Af0xrkGYBtcATFLFGH242yfy96NkmHafIDM68ypKVMXN6sKxcgfvxob5x0fBIjGIm-JDiYc09IjrrSJnsElNre48biIpwz_lT0Cw6G9XbLBV8a/s1600/ad2games.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheZvI80pKxPiu67_c9gxhGh5uv31-AI7Af0xrkGYBtcATFLFGH242yfy96NkmHafIDM68ypKVMXN6sKxcgfvxob5x0fBIjGIm-JDiYc09IjrrSJnsElNre48biIpwz_lT0Cw6G9XbLBV8a/s1600/ad2games.png" /></span></a></div>
<div style="margin-bottom: 6px;">
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">這是一家德國的遊戲公司,做廣告投放的.</span><br />
<span style="font-size: large;">直接跟主管面試,問了一些知不知道他們怎麼運作,怎麼投廣告,為甚麼有興趣,沒什麼技術問題,後來收到感謝信.</span></div>
<div style="margin-bottom: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<b><span style="font-size: large;">3) Retention Science:</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAFr6lUKnLODsUkArI_5zvKLhX2R3Q2AmnFutjaeGSDeNEOsza9bQOPxZYS_Tj2-idT6jxQUcsuc-CXvpyhpkOOuBQiT8lntfRMlP35XD1Md7CK6CrqKW81rqtvGRQ8PGDZMcbU7p1EOS0/s1600/Retention-Science-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAFr6lUKnLODsUkArI_5zvKLhX2R3Q2AmnFutjaeGSDeNEOsza9bQOPxZYS_Tj2-idT6jxQUcsuc-CXvpyhpkOOuBQiT8lntfRMlP35XD1Md7CK6CrqKW81rqtvGRQ8PGDZMcbU7p1EOS0/s1600/Retention-Science-logo.png" /></span></a></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">專門做客戶續留的公司</span><br />
<span style="font-size: large;">只有跟人資面試,問了一些技術問題像是Spark是什麼,RDD是什麼,自認為講得滿多也滿清楚的,但是最後還是收到感謝信.</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<b><span style="font-size: large;">4) 波蘭一家人力公司:</span></b><br />
<span style="font-size: large;">要幫他們的客戶找IT人員,跟人資面試的時候不小心說到其實比較想去英國法國搞得對方很生氣XD 他們很注重求職者有沒有意願 relocate 去波蘭.</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<b><span style="font-size: large;">5) XXXXXXXX:</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;">美國公司的中國分部,所以一開始是和大陸人資面試,採用中英文交替方式進行,問了一些基本經歷問題,有沒有意願relocate,家人的支持等等.過了這關跟技術部門主管聊天,也是中英文交替,這關問比較多技術上的問題,偏重資料分析和機器學習,包括曾經用了什麼方法,要用什麼方法來改進或檢驗等等.過了這關換廈門的VP,這部分就比較少技術問題,比較多是聊聊廈門的環境和未來工作方向.這關過了還有美方的技術主管,全英文進行,問了一下偏好的工作方式,分析方面的問題,也聊到Spark和SparkR的經驗.</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;">其實我英文不是很好,但是大家對工程師的英文要求可能也沒很高,重點是能把會的東西表達到多少出來比較重要.有時候一個簡單的問題其實也可以扯到很多相關的東西進來,但是因為緊張又用英文就簡單帶過,這樣相對來說是比較吃虧的.畢竟人家要跨國找人,一定要拿出值得人家願意雇用的專業和溝通能力才有機會.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">現在工程師很多印度人,所以一定要聽習慣印度口音.我大概聽了印度的線上教學課程快一個月才比較懂.不過現在還是很多聽不懂XD</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;">面試時除了對方考驗專業技能外,大部分的面試官都滿鼓勵問問題,也很願意回答,可以趁這個時間多問問關於對方公司的風氣,而且技術主管通常也滿喜歡被問到技術上的問題,會讓場面比較活絡.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">履歷部分我有請國外的朋友幫我修,修好之後就不太再改了,不敢說是很棒的履歷,但是至少也不至於見不得人.畢竟沒有國外學歷又沒身份,聽說第一關很容易就被刷掉了XD</span><br />
<br />
<span style="font-size: large;">另外,跨國面試,很容易被放鳥...不論是HR傳達錯誤還是對方搞錯時間,很容易因為時差問題改期好幾次.幾乎每個公司都改過時間,改過兩三次以上的也不在少數...非常考驗算時差跟半夜起床的能力Orz...</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-size: large;"><br /></span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<br /></div>
</div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-5042346752798968852016-02-28T23:43:00.000+08:002016-02-28T23:46:47.384+08:00[Python] Google Deep Learning TensorFlow課程(二) -- 作業一 (下)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWfT_hqjWH9_m7r3MKFtW_KAj18AhXuZ5xOw9RcHdLrwivNhumaVvNrJaya1qytRkePuauiIkVqQp_ltqAQMk3u5BF8ff-apmBtqlmmpvVM6oOinSkl7syeoppgXmCemY7h82x9u32IhZa/s1600/tensorflow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWfT_hqjWH9_m7r3MKFtW_KAj18AhXuZ5xOw9RcHdLrwivNhumaVvNrJaya1qytRkePuauiIkVqQp_ltqAQMk3u5BF8ff-apmBtqlmmpvVM6oOinSkl7syeoppgXmCemY7h82x9u32IhZa/s640/tensorflow.jpg" width="640" /></a></div>
<br />
<br />
延續之前的作業,繼續往下寫XD~<br />
<br />
<a name='more'></a><br /><br />
<ul>
<li>分隔 dataset ,如果電腦不夠好的朋友請自行把最下面的dataset大小調小一點</li>
<script src="https://gist.github.com/bryanyang0528/85f26d7aef74ea48d26c.js"></script>
</ul>
<ul>
<li>接著把 dataset 的資料random</li>
<script src="https://gist.github.com/bryanyang0528/884785aaa399da45bd44.js"></script>
<li>接下來要用 logistic regression 分析這些圖片data</li>
<script src="https://gist.github.com/bryanyang0528/7852a4416643972b1e5b.js"></script>
</ul>
<div>
把圖片讀成矩陣後,要再用reshape把矩陣攤平才能放入logistic regression model.預測的時候也一樣把train data資料reshape後丟到裡面,就會跑出來結果.檢驗的方式很簡單,單純去對預測值跟實際值一樣的比例. 當sample資料量增加十倍(2000 -> 20000),預測準確增加了22.6%.<br />
<br />
下次就會開始使用Tensor Flow了.</div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-16677868485261603382016-02-27T12:14:00.001+08:002016-02-28T23:47:02.223+08:00[Python] Google Deep Learning TensorFlow 課程(二) -- 作業一 (上)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZWkzC_i_iZnmLSNNhjS3xc08-k1V3JG6kMyc4eDItCey9vwI1lOuAWWWBvrKP-CVbr1CaXsWdRNu81vRHnFWES2QIbfT9_FTcDVGYzuTdNHBcj-7jRt75UCZUVDMp9R4gn00ta2SJ0FlI/s1600/tensorflow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZWkzC_i_iZnmLSNNhjS3xc08-k1V3JG6kMyc4eDItCey9vwI1lOuAWWWBvrKP-CVbr1CaXsWdRNu81vRHnFWES2QIbfT9_FTcDVGYzuTdNHBcj-7jRt75UCZUVDMp9R4gn00ta2SJ0FlI/s640/tensorflow.jpg" width="640" /></a></div>
<br />
Google 大神開的課程還有放 sample code 和作業在<a href="https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/udacity" target="_blank">Github</a>上,邊念就邊把作業心得放來這邊衝文章數.<br />
<a name='more'></a><br />
<ul>
<li>第一個範例code是下載圖片的壓縮檔</li>
<script src="https://gist.github.com/bryanyang0528/241e771c25e111c63529.js"></script>
</ul>
<div>
檔案超大的...</div>
<ul>
<li>第二個範例code是要把檔案解壓縮,解完後的檔案大概有4G</li>
<script src="https://gist.github.com/bryanyang0528/d8d973b3a221439bd84c.js"></script>
</ul>
<div>
因為程式裡沒有判定是否有下載,所以我就把解壓縮那段註解掉了.而且因為會檢查檔案數量,得把一些不要算進去的檔案加到排除條件中.</div>
<ul>
<li>接著遇到第一個問題,用ipython的功能讀取影片檔</li>
</ul>
<div>
<blockquote class="tr_bq">
Let's take a peek at some of the data to make sure it looks sensible. Each exemplar should be an image of a character A through J rendered in a different font. Display a sample of the images that we just downloaded. Hint: you can use the package IPython.display.</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijfmymkcKCmHDVeobtPY1CIiM5q3BZp0id_MnhVIPiREX4enUXYjOgXsLB13Imo01F8rHD2SeeAUEus9lix9WUAguID_g3MiInRpfN4JWnwHo-ImI1jeB8q9PJZKug7yVfjqZVt7z7QTZk/s1600/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-27+12.02.55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijfmymkcKCmHDVeobtPY1CIiM5q3BZp0id_MnhVIPiREX4enUXYjOgXsLB13Imo01F8rHD2SeeAUEus9lix9WUAguID_g3MiInRpfN4JWnwHo-ImI1jeB8q9PJZKug7yVfjqZVt7z7QTZk/s640/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-27+12.02.55.png" width="640" /></a></div>
<div>
其實這個作業真的不難,但是當初跟Ipython.display不熟搞了好久XD</div>
</div>
<ul>
<li>另外試試一個比較進階的做法,用ndimage.imread讀取圖片</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_beBuqyTxbcsevqCZs34zDSrA6EuU7Uae-mhCWQVtyOJfFaLSah9OCFNkrT4OAs9ft6t4OSlbSwM1QWCDAylAEAXOn4A58p8ztI9N1DbmDmhyphenhyphenzg6TLc3iI7mk3J4jZpZ-nqiuZq7FwPP-/s1600/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-27+12.05.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_beBuqyTxbcsevqCZs34zDSrA6EuU7Uae-mhCWQVtyOJfFaLSah9OCFNkrT4OAs9ft6t4OSlbSwM1QWCDAylAEAXOn4A58p8ztI9N1DbmDmhyphenhyphenzg6TLc3iI7mk3J4jZpZ-nqiuZq7FwPP-/s640/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-27+12.05.49.png" width="640" /></a></div>
<div>
把圖片讀取成28*28的矩陣,再用plt.imshow() 把矩陣檔案還原成圖片,記得要加那一行magic function: %matplotlib inline才會在notebook裡面打開圖片</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigEc7rt-cs2u5UQ4ePn_VtmPS4l5Y742yURCAx1GSmGriWsgZO4Ef8zE-09faP4Uq5d7COpHHJ9OU1y3WmE0YME9_whXEDGr1jyhnTKepg593Hmgwxi4uRN_hpQRei2Bdl7QuRhn8IaznM/s1600/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-27+12.03.16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigEc7rt-cs2u5UQ4ePn_VtmPS4l5Y742yURCAx1GSmGriWsgZO4Ef8zE-09faP4Uq5d7COpHHJ9OU1y3WmE0YME9_whXEDGr1jyhnTKepg593Hmgwxi4uRN_hpQRei2Bdl7QuRhn8IaznM/s640/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-27+12.03.16.png" width="640" /></a></div>
<ul>
<li>接著把圖片檔轉成pickle檔</li>
<script src="https://gist.github.com/bryanyang0528/13a7bc5c41a0b8225cab.js"></script>
</ul>
<div>
Pickle可以將python 物件序列化,節省空間和加快讀取速度</div>
<ul>
<li>祭祖中,以下待續</li>
</ul>
<div>
<br /></div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-30908300045943851032016-02-21T12:29:00.002+08:002016-02-28T23:47:10.516+08:00[Python] Google Deep Learning TensorFlow課程(一)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr-b2VWqN-DA-A0keO03TEkKBppSQffphqjffpqtVu2yOytvMCZf1OzXdR32m86U82BQtFCawTlJryTmM3Z_-7eqjhgjOFfbdSOul0Cwxa1rJArg0lIPNOh-FkMJrKXEVBGy1LF2BKXDoM/s1600/tensorflow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="363" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr-b2VWqN-DA-A0keO03TEkKBppSQffphqjffpqtVu2yOytvMCZf1OzXdR32m86U82BQtFCawTlJryTmM3Z_-7eqjhgjOFfbdSOul0Cwxa1rJArg0lIPNOh-FkMJrKXEVBGy1LF2BKXDoM/s640/tensorflow.jpg" width="640" /></a></div>
<br />
Deep Lerning在現在硬體計算能力增長的現在又開始火紅了起來.比起一般的Machine Learngin,Deep Learning在圖形,聲音,影片的辨識上又更強大.Google大神也將Deep Learning的套件開源出來叫做<a href="https://www.tensorflow.org/" target="_blank">TensorFlow</a>.TensorFlow是一個Deep Learning套件,希望能讓Deep Learning的使用更方便,更有彈性,而且能輕易套在產品上面.<br />
<a name='more'></a><br />
<br />
除此之外,Google還在Udacity上開了免費的<a href="https://www.udacity.com/course/viewer#!/c-ud730" target="_blank">課程</a>,積極推動發展.課程一共分為五個單元,從很基礎的Machine Learning概念到Deep Learning<br />
雖然可能不夠深入,但是一些常用的名詞概念都有帶到,有些基礎的人看起來應該會很快,完全沒有基礎的也可以跟著課程把幾個概念弄懂,對Deep Learning也會有些概念.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha08zO0CQVpovVxhbrlIKFez_b5H4HxFztO2gp74eBRqEmMJ-5sKRPb5fVtM9huTTQQlnTOShIvq38fPLX2YZbj6ZRpe639CITUMFXMmskn62vC1Xsf7J_JFnutcTKmaRQ3FUf-3s3eF_U/s1600/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-21+12.19.59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha08zO0CQVpovVxhbrlIKFez_b5H4HxFztO2gp74eBRqEmMJ-5sKRPb5fVtM9huTTQQlnTOShIvq38fPLX2YZbj6ZRpe639CITUMFXMmskn62vC1Xsf7J_JFnutcTKmaRQ3FUf-3s3eF_U/s640/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-02-21+12.19.59.png" width="640" /></a></div>
<br />
課程用到的範例也都放在Github上<a href="https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/udacity" target="_blank">https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/udacity</a>,有興趣的人也可以直接Fork下來自己練習.之後會陸續補上上課心得和作業.<br />
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com3tag:blogger.com,1999:blog-6471402314778668467.post-32952759369673890952016-01-23T18:54:00.001+08:002016-01-23T19:09:19.654+08:00[AWS] 搬上雲端綜合使用心得<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXn_GRecrgLWPRZDJdDVHh2ok6SRTVoLNi-DfI_SOYWyostL4EIwpvqy0LCZFs7ZbnltxW6n5UEQqHq2jzQ7sFMklHlq1-yxBt5iYU8-8lajwveVhMzIhU7JyvXfg6pj-uUmWGw9xUkGdd/s1600/AmazonWebservices_Logo.svg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXn_GRecrgLWPRZDJdDVHh2ok6SRTVoLNi-DfI_SOYWyostL4EIwpvqy0LCZFs7ZbnltxW6n5UEQqHq2jzQ7sFMklHlq1-yxBt5iYU8-8lajwveVhMzIhU7JyvXfg6pj-uUmWGw9xUkGdd/s320/AmazonWebservices_Logo.svg.png" width="320" /></a></div>
<br />
由於公司想把一些東西搬上AWS,進一個月來我都在和AWS奮鬥.因為台灣寫AWS的人很多,我就不設定的細節,就幾個常用到的功能來閒聊一下.<br />
<br />
在真的搬上去之前,我立下幾個搬上AWS的主要目標:<br />
1) 減少我個人維運機器的時間<br />
2) 減少每個人互相搶資源的狀況<br />
3) 費用<br />
<br />
以下每個行動都是基於上述三個考量.<br />
<br />
<a name='more'></a><br />
<br />
<b>1. EC2</b>: 自己開機器當然對整體的掌握度最高,但是同時也要求使用者對於機器的熟悉.很難期待每個使用者都能那麼熟悉機器,所以我只打算用EC2搭配Docker來維持一些基本必要的服務,例如Jenkins, GitLab.<br />
<br />
<b>2. Redshift</b>: 這是我一開始很期待的元件,但是實際使用後發現價格真的太貴了.我們對於資料倉儲的需求還養不起每天開24小時的Redshift.再來就是我們的資料很髒,schema on read的資料倉儲真的不太好使用...而且轉檔案進去的時候真的很容易壞掉orz. 光搬資料和清洗資料這個工太大了.<br />
<br />
<b>3. RDS:</b> 就是個SQL 目前拿來放簡單的統計表格,沒啥好特別介紹的XD<br />
<br />
<b>4. EMR:</b> 這次下最多功夫的部分就是EMR了.因為EMR方便簡單一鍵開集群真的是太符合我們的使用情境了.目前EMR的Spark也支援到1.5.2版,Hive也有0.14基本上已經比我們舊有的機器好太多了XD.由於未來規劃資料都放在S3儲存,所以EMR僅用來當作計算單元,算完即扔.不同人的需求就開不同的EMR來處理資料,也不會有資源互搶的問題.一些設定上的細節就改篇再講.(EMRFS會用到DynamoDB,這個天殺的貴...)<br />
<br />
<b>5. S3:</b> 一個人用s3很方便,但是如果整個Team或BU的東西都要放s3管理起來就挺傷腦筋的.<br />
<br />
<b>6. AMI, Security Group</b>: 只能說會搞死人.<br />
<br />
<b>整體心得:</b><br />
1) AWS在EC2的架構上開了很多很方便的服務,讓一般使用者不用管太底層的問題(專家使用者還是得自己去管),真的很聰明的作法.<br />
2) 因為AWS把服務開很細,每個服務又有自己的運作邏輯,如果陷太深的話,未來要轉移也是一大痛點.<br />
3) 價錢超難算,每個服務都有自己的價格...剛開始玩一定會吃虧<br />
<br />
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0tag:blogger.com,1999:blog-6471402314778668467.post-74690671373668530012016-01-04T12:31:00.000+08:002016-01-04T12:31:42.599+08:00[閒聊] 2016 新年雜談不同於2015以學習為目標,2016將會是開始有些什麼結果的一年.<br />
<br />
在2015年底最後一季,著手籌備了一些很有趣的計畫,經歷了年底的籌備階段,2016開始將會慢慢將這些計劃付諸實現.待事情到了可以公開的階段會在陸續分享相關成果和心得.<br />
<br />
過去一兩年都以學習技術為主要的軸心,但在開始籌備專案後,自然將更多的心思移到思考及規劃上.而且從專案觀點來看,一開始的方向正確,比後續技術還要來得重要得多.希望隨著時間和經驗累積,可以盡量做出更多正確的判斷.<br />
<br />
去年給自己開了太多目標,導致每件事情完成度都很低,與其這樣,不如把心思放在最重要的事情上好好做好(也歸因於去年一年真的發生太多意想不到的變動).今年不要貪心,每個月一本,看完十二本書就好.<br />
<br />
不管是人生,管理,還是學習,<b>斷捨離</b>,都是非得面對的情境和課題.適當的修剪可以讓留下來的部分有更好的發展.Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com3tag:blogger.com,1999:blog-6471402314778668467.post-561673695506922492015-12-20T11:20:00.001+08:002015-12-20T11:21:26.140+08:00[Spark] 那些創立社群教我的五件事<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><br /></span></div>
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimJrfW5Q-YtZZswORrSixXujWHS9j6WmkZLDH0bepFg1oMHnT09Qh-8B0B_p1trarLUXB5vUCFrgCiUoqyQiQUkCmH9lekPsGNzSFmGW5lSdmI6OoTYz8GkNInNuDiCghAquN4KcQi9LbW/s1600/12046690_10207708175846802_312136292669951482_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimJrfW5Q-YtZZswORrSixXujWHS9j6WmkZLDH0bepFg1oMHnT09Qh-8B0B_p1trarLUXB5vUCFrgCiUoqyQiQUkCmH9lekPsGNzSFmGW5lSdmI6OoTYz8GkNInNuDiCghAquN4KcQi9LbW/s640/12046690_10207708175846802_312136292669951482_n.jpg" width="640" /></span></a></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">去年的這時候剛接觸了Spark,由於整個Hadoop生態系對我來說是個全新的世界,身邊的人也都剛開始摸,台灣也還沒有相關的社群討論.一時血氣方剛,找了以前的同事以及上網搭訕一些人就組了讀書會.因為之前也有找人組過R或Python的讀書會,但是通常沒幾次就散了,對於Spark我一開始也沒太大期望.雖然中間也曾青黃不接,但是沒想到竟然這樣就熬過了一年Orz. 想想是個奇蹟所以來整理一下創立SparkTW第一年的心得.</span><br />
<a name='more'></a><br />
<ol>
<li><span style="font-size: large;"> <b>找到願意一起參與的人</b><br />以我們社群來說,每個禮拜聚會一次,平常都是讀書會分享形式,偶爾才有講者分享,要每個禮拜固定參加,真的很不容易.每個人的時間都很寶貴,要讓每次的活動都能帶給參與者收穫,又得靠大家的參與.社群本身對於參與成員完全沒有約束力,如果沒有幾個固定班底是相當不容易維持的.<br /></span></li>
<li><span style="font-size: large;"><b>找到場地</b><br />雖然場地看起來跟社群內容無關,但絕對是每個社群會面臨到的問題XD 要找到免費又有投影機又可以容納20人左右的場地,真的<b>難!難!難!.特別感謝<a href="https://moztw.org/space/" target="_blank">摩茲工寮</a>跟<a href="http://www.iii.org.tw/Default.aspx" target="_blank">資策會</a>.<br /><br />===基本上上述兩ok就差不多了,以下是幾個額外的心得</b><b>===<br /></b></span></li>
<li><span style="font-size: large;"><b>為社群成員帶來價值</b><br />前面有提到,社群成員下班後還要來參加活動是相當不容易的,我會希望盡量能給大家一些回饋或是不一樣的機會.所以除了讀書會,演講之外,上半年也參加了一些比賽(雖然都沒得獎orz),舉辦了Tutorial,參加Kaggle等,一方面是因為人數少比較好溝通,二方面是上面這些平常不會參加的活動,可以藉由團體的力量讓大家有機會發揮以及表現自己,<b>讓每個成員都可以成為講者.<br /></b></span></li>
<li><span style="font-size: large;"><b>自己投入的收穫永遠比聽別人演講多</b><br />過去我也很愛跑社群聽演講,但是講者講得再好,東西都還是講者的的,只有自己下過的苦功才會是自己的東西.所以我們社群run了一年,中間也有人建議,也有機會增加社群的人數.但是我一直不把參與人數當成KPI,甚至也不是很積極宣傳跟舉辦Tutorial或是演講.基本上還是希望走讀書會的形式,讓成員有機會自己練功,每個人也都<b>必須</b>成為講者跟大家分享自己的成果.<br /></span></li>
<li><span style="font-size: large;"><b>有好的夥伴真的太重要了(對不起想不到新的梗了)</b><br />人是最關鍵的因素,社群是一群人的組合,職責的分工只是方便做事,但是每個人都是平等的.尊重參與的每個人,每個人的意見也都非常重要也都會影響社群的方向.</span></li>
</ol>
<div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">一年以來最大的收穫就是認識了很多很棒的人,各個領域,各個性格.在這一年中有人換工作有人生了小孩,每個禮拜聊聊天分享彼此的工作和問題也是很充實XD </span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">最後我想懺悔當除很白目佔用了Spark TW的名字但是現在卻常常討論其他東西Orz.我不是個技術至上論者,但是也不會否定技術的好處.技術的由來是為了解決問題,而不是為了使用技術去找適合這個技術的問題.了解問題的本質有助於解決問題,選擇合適的技術或框架能幫我們更快或更好的的解決.</span><br />
<span style="font-size: large;"><br /></span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
<br /></div>
Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com2tag:blogger.com,1999:blog-6471402314778668467.post-23094944129643898342015-12-19T11:23:00.001+08:002015-12-19T11:25:27.552+08:00[Career] 那些失敗的創業經驗教我的五件事情<dl class="wp-caption vh-photo" id="vh-photo-figure" style="border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); color: #888888; font-family: Arial, Helvetica, sans-serif; font-size: 11px; margin: auto; overflow: hidden; padding: 4px; position: relative; width: 500px; zoom: 1;">
<dt class="wp-caption-dt"><a href="http://visualhunt.com/photo/36977/"><span style="font-size: large;">
<img class="vh-photo mceItem" src="http://visualhunt.com/photos/m/2/fail-stamp.jpg" style="display: block; width: 100%;" /> </span></a></dt>
<dd class="wp-caption-dd" style="margin: 0; padding: 0;"><span style="display: block; float: right;"><span style="font-size: large;"> Photo credit: <a href="https://www.flickr.com/photos/phobia/2308371224/">hans.gerwitz</a> via <a href="http://visualhunt.com/">Visual Hunt</a> / <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a></span></span></dd></dl>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">沒有人喜歡失敗,但是不可否認失敗在一般人的人生中有多常遇見以及重要,連連公子都可以說他一生充滿挫折了(<a href="http://big5.cri.cn/gate/big5/gb.cri.cn/27824/2010/12/01/5311s3074988.htm" target="_blank">連勝文:我的一生充滿挫折</a>),何況我們一般小老百性.比起在乎失敗本身,更重要的是要能從失敗經驗中發現原因以及克服的方式.以上都是老生常談,直接進入實際案例.</span><br />
<a name='more'></a><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">小弟我莫約一年前被邀請加入一個新創團隊,在和可能股東見面的時候,整個新創團隊含創辦人,我,以及另外一個朋友只有三個人.人少不是壞事,至少在溝通協調上比較省時間.因為創辦人非常清楚他想做什麼,所以我們很快就開始相關的工作和規劃.這是第一次從0開始參與一個創業團隊,很深刻的體會每個決定以及方向的產生過程,也親自面臨了很多第一線的問題.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">當時我還很菜,一個人要規劃系統和自動化的部分滿吃力,花了一些功夫把一些系統面的東西K一K有個概念,也需要快速地看一下別人的系統是怎麼規劃和設計.另外由於創辦人也沒有創業以及和IT合作的經驗,在營運上提了不少意見和想法.最後因為和主事者不和不歡而散,我被踢出團隊,以下是從這件事學到的十個心得.</span><br />
<br />
<ol>
<li><span style="font-size: large;"><b>Business Model:</b><br />我從受邀請的時候就問過創辦人他的商業模式是什麼,當時他對收入從哪來幾乎沒有任何想法,只是很熱血的想拿錢找錢做自己想做的事情.我當時評估覺得創辦的人的idea不錯,商業模式有機會邊做邊找,自己最慘的情況下就算沒有收入至少也學到了經驗.大家總是有老小要養的,到這把年紀,熱血也需要經濟來支持.<br />不是說沒有商業模式不行,但是請經過審慎評估最大付出和風險後比較不會有過大的預期和失落.</span></li>
<li><span style="font-size: large;"><b>了解成員期望:</b><br />在我離開的時候有問過其他成員對這個團隊的期望和看法,發現大家都是嘗試性質的在做.初期以有限制的投入付出,設立停損點是合理的策略,但是因為是個初期團隊,如果對彼此的期望和願意付出的程度有個共識,會比較好擬定未來的規劃與策略.</span></li>
<li><span style="font-size: large;"><b>決策透明公開:</b><br />在初期時由於變動非常快速,需要盡量讓每個人都能進入狀況才能快速反應,傳統由上到下佈達的管理方式已經不適用.而且對於初創團隊的成員,既沒有薪水也沒有可預見的收益,想要的絕對不只是一份穩定薪水,僅僅將成員當成員工來使用也是不恰當的.</span></li>
<li><span style="font-size: large;"><b>公眾利益以及個人利益:</b><br />如果有個題目可以結合公眾利益,並達到個人利益,絕對是個好題材.就像臉書常講的:<a href="https://www.facebook.com/facebook/info" style="font-weight: bold;" target="_blank">Making the world more open and connected</a><b>.在一個不黑心的狀況下,</b>幫助更多人,才有可能賺更多錢.如果你的服務越多人使用,也越有機會賺到錢,而且這個錢可以不用來自使用者.</span></li>
<li><span style="font-size: large;"><b>會不會成功端看你的團隊成員:</b><br />最後一點也是最重要的一點,想要成功請先找到好隊友.這點很多創業家講過,自己體會後也發現這真的是至高的真理.當你的創辦人是個自私,小氣,不願意分享的人(我沒有指涉任何人,純假設),就算團隊有賺錢,也不會分到你頭上(聽過<a href="https://zh.wikipedia.org/zh-tw/%E6%9D%AF%E9%85%92%E9%87%8A%E5%85%B5%E6%9D%83" target="_blank">杯酒釋兵權</a>的故事嗎?).反之,有願意一起努力,成長,解決問題可信任的夥伴,就算當下沒有能力,也能慢慢克服眼前的問題.</span></li>
</ol>
<div>
<span style="font-size: large;">創業是個很累也很有趣的事情,創業也跟其他任何事情一樣,想要成功就得付出練習,而練習的過程一定會有失敗.</span><span style="font-size: large;">自己經歷過當老闆或是經理人的歷程才有機會用老闆或經理人的眼光處理事情.不管成功或失敗都將受益匪淺.</span></div>
<br />
<br />Bryan Yanghttp://www.blogger.com/profile/16327630096857794995noreply@blogger.com0