August 24th, 2016
前提:
之前想好好的宣傳 Golang ,於是乎一次投了兩個研討會.其實本來問題是不大的,只是剛好是同個禮拜(一個週日,一個週四).真是太棒了 (昏倒…)
不過今天相當的開心的跟了碼天狗的幾位作者 ( 同時也是講者 ) LY ,海總理還有特地趕來聚會的 Tim Kuo . 還有新認識的一堆講者. 難怪不少研討會都說,想要認識講者最好的方式就是… 成為講者.
Douglas Crockford (Paypal) - Typing
投影片
- History of Typing:
- Language
- Alphabet (upper)
- Alphabet (lower for writing)
- Typing
- The indent of key is to avoid key collision.
- The arrange also to avoid collision.
- “0” should come before “1”, all keyboard arrangement still wrong for now.
- ASCII code original use to for “writer” not “computer”
- Old typewriter history:
- One key combine with two word (upper/lower), Shift key to machanical shift the key to another one.
- Ctrl key is to call key control charactor if exist. (TAB is control part in “i” key.
- Return key to return to the begin of line (just like
0x0a
) - Line feed key to scroll papper line (just like
0x0d
)
心得:
從一開始語言的起源,到了字母的發明,最後到了打字 (Typing) . Douglas 說許多科技其實其來有自,你必須要好好了解科技的源頭,了解許多事情的原因,你才會了解為什麼會有這些相關科技的產生.
舉例而言,拿很古老的打字機上面的鍵盤排列來說:
- Shift key
- 一開始打字機為了要能顯示大小寫,其實一個按鍵黏著大寫與小寫的字母.而 Shift 就是要能夠機械式地移動( shift it ) 那個硬件去切換大小寫.
- Control key
- 現在已經越來越少使用了,其實一開始鍵盤上面是沒有 Tab 按鍵的.而 Tab 按鍵是使用 “I” 的按鍵.如果要使用 Tab 需要按下 Ctrl + “I”. 所以叫 Ctrol key
- 關於換行:
- 以前在打字機,要換行需要打兩次.一次是 Return 來將你的打字機頭移回最左邊,再來需要打一個 Line Feed 去將白紙向下移一個.
- 這也就是為什麼許多電腦裡面. LFCR 其實是兩個字母 LF(Line Feed)
0x0A
與 CR(Carriage return)0x0d
的原因.
Programa
是 Douglas 製作出來的字型,根據他的一些偏好.比如說:
- l 1 太相似,於是小寫的 L 就是比較小的 L
-
\/ 可以替代 Logical OR ( ) , /\ 可以替代 Logical AND (&&) .
Ian Matthew - Building and Deploying Scalable Microservice with Go & Kubernetes
投影片
- Pod:
- A local view of docker container (one pod for one image)
- It could be handled by Resource Controller
- Service:
- Combine with one or several pods replica, with one “virtual IP” and port.
快快樂樂學會 Angular 2 網站開發框架 (保哥 / 多奇創意技術總監)
投影片
- Angular 2 is not compatible with Angular1
- Angular 2 setup might not easy and strantforward..
- Angular 2 serve by
ng serve
and it is onfly (no need for refresh). - Some modification:
- Event: OnClick -> (click)
- Use
ng g COMPONENT
to generate new component. (similiar with Rails) - Only one js file, webpack will injection all related code.
電子商務 Audience Marketing, Growth Hacking 自動化設計及成效報告
投影片
Growth Hacking Model - AARRR
- Acquisition
- Facebook Id / Line mid / Google ID /… 識別不同平台的使用者 將資料綁定於UID
- 追蹤單一 user 在不同平台上的行為
- Activation
- Searched Keywords
- Active Interest
- Product Catalog
- Purchase history
- Browser history
- Retention
- Referral
- Revenue
Model 1: People v.s. Product
- 產品身上有帶標籤 (lable1, lable2 ….)
- 當使用者購買商品後,標籤會從產品身上帶到使用者身上.
- 如果使用者將訊息傳遞給其他使用者,標籤也會做稍微的轉移.
標籤過多並沒有太多好處,大多數狀態標前只要有七組就足夠
Model 2: 加上 Facebook 興趣
如同第一個 Model 只是會由臉書反饋興趣回來.
結果
- CTR up 200%
- CPC reduce 50%
- ROI up 30%
海總管 - StreetVoice 自動化部署演進
投影片
格言:
- 做喜歡的事,讓他有價值
- 繁瑣的事情,讓他自己動
演進:
- FTP
- Fabric
- Saltstack
- Ansible
通知
- Hubot + slack
讓你的 PHP 開發流程再次潮起來
投影片
PHP 為何不潮?
- 版本很難更新
- 難導入 Laravel ( PHP 版本要求高,新版的 5.3 要求 PHP 5.9 )
環境導入:
- 透過 Vagrant 導入 ( Vagrant + VirtualBox)
- Laravel - Homestead (透過 yaml 設定 vagrant)
- 懶人包 http://www.laravel-dojo.com/opensource/wagon
如何將舊有網站導入 Laravel
- 新的放 Laravel
- 舊的放在 Laravel public
- 從後台開始導入
- 使用 Route 舊版轉址
ANT - 恰如其分的 MySQL 設計技巧
投影片
- 架構先決:
- 架構先行:
- 先行探討整體架構與 License
- License:
- GPL 具有感染性,如果公司產品有用到 GPL 也會被感染到.就必須 Open Source
- 欄位設計思考:
- is_deleted, is_modified –> status 可以做更多延伸
- 需求的思考:
- 1 天不要看到 -> 半天不要看到 -> 半天不要看到同類廣告 (X)
- 在 M 小時內不要看到 N 類廣告 (O)
限制
High Throghput
- 演唱會
Low Latency
- RTB (30ms), 高頻交易 (0.5~3ms) NFV??
MySQL Support
- 5.5 (16 cores)
- 5.6 (64 cores)
Connection Poll 缺點
- 不是所有 App 都支援
- 發生錯誤,需要整體資源清理
- 經常狀況下,容易被 keep 而不會釋放.
Scale
- Scale up -> Improve CPU, Memory, HD
- Scale out -> Added more machines
參考鏈結:
- Modern Web 2016 Hackpad: Modern Web
- Modern Web 2016 Speaker