前提:

之前想好好的宣傳 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 )

環境導入:

如何將舊有網站導入 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

參考鏈結:


Evan

Attitude is everything