Weeklies

2018 05 12

  • WEEKLY
本週的熱門事件大概就是電信商的 499 之亂了!但中華電信藏了很多細節在裡面,透過送一堆用不到的服務,美其名是各項優惠,但在提前解約時,這些優惠不管你有沒有用到過,全部都要吐回去給中華電信的。 Ref: 499 吃到飽方案含隱藏陷阱!不合理的超高額違約金,簽字前你知道嗎? Technology What happens when … Kubernetes edition! 如果有自己全手動架設過 Kubernetes,應該比較容易能看懂這篇文章的內容 Redis Select Index 一種類似 namespace 的概念,同一個 Key 可以存在不同的 index 內,像是可以拿來區分開發環境或不同用途的測試環境,但底層儲存資料還是存放在同一個 RDB / AOF 檔案內,另外像是 FLUSHDB、SWAPDB 或 RANDOMKEY 指令,只會在指定的 index 內作用,只有 FLUSHALL 指令是真的清除掉整座 Redis 內的資料。預設有 16 個 index 可以用,如果需要修改數量,可以在 redis.conf 檔案中以指定 databases 32 方式來修改。 當使用 Redis Cluster 的時候就不能用 SELECT 指令,因為 Redis Cluster 只支援 index 0。基本上這個用法不建議在 Production 環境中使用,拿來測試環境降低 Redis Instance 的數量就還算蠻實用的。 Reference: Redis SELECT index Working with Multiple Databases Other 如何建立組織的溝通機制 部落領導學 Tribal Leadership: Leveraging Natural Groups to Build a Thriving Organization 一個合格的CTO應該具備哪些核心能力? 工時長沒加班費 中國千禧世代反「996工時制」

2018 04 29

  • WEEKLY
Technology Nginx 打開 gzip 壓縮後,如果前面還有另一個 Proxy(例如 GCP 的 load balancer),則需要額外再打開 gzip_proxied 選項 Nginx Compression and Decompression gzip_proxied Farewell, MaxMind! Geolocating requests with Google Load Balancer for free! Sars: 過 GCP 的 Load Balancer 的 HTTP 流量可以直接取得使用者的地理位置資訊,這個小功能超實用,不過每開一個 Google Load Balancer 的費用其實也不便宜就是。 Building Minimize Golang Executable Docker Image with Alpine Linux Sars: 目前 GoLang 寫的程式都是直接放在 scratch 裡面,不過 alpine 還是一個可以考慮的起點 4/24 Muzeum 區塊鏈創意產業開放協定 技術發佈會 Slide: Muzeum 創意產業區塊鏈應用 - 以音樂授權為例 為什麼非得用區塊鏈? 通貨數位化 資產憑證數位化 Bitmark 權利義務數位化 角色 創作人 音樂廠牌 代理發行 利用人 查詢 - 聯繫+簽約 - 物料派送 - 交易 耗時 2-3 個月 錢怎麼分? 多久會到? 3-6 個月 Soundscape 音樂查詢、授權 BEATS EX 音樂商店 綁定會員概念 目標 讓授權更容易 確保分潤正確快速 減少盜版 新商業模式 音樂區塊鏈 Muzeum 登場!授權、分潤半小時搞定 「Muzeum」以區塊鏈技術來解決版權分潤等問題,將收益直接回饋授權人 KKFARM解決台灣文創產業痛點,首創「Muzeum」區塊鏈簡化授權流程 用區塊鏈簡化音樂的授權 Other 你可以沒有熱情,但不應該自我設限

2018 04 08

  • WEEKLY
Technology 測試技術之測試技術分類系統 範圍 => 被測對象 覆蓋 => 測試深度與廣度 測試者 => 測試者 風險 => 需要被發現的潛在問題 活動 => 如何執行測試 評估和測試先知 => 對測試結果進行評估 結果導向 => 測試的目標 針對 macOS Server 的變更做好準備 Sars: 小時候曾經短暫用 Mac mini 架過一台 macOS Server 放些自己的小東西,後來也因為 Mac mini 壞了只好換地方重建。這次一口氣砍掉 Calendar、Contact、DHCP、DNS、Mail、Message、NetInstall、VPN、Web Server、Wiki 等服務,幾乎快沒東西可用了,加上新版硬體的外型不適合放在機房內,這條產品線的命運看來不樂觀。 Facebook 的 API 重大變更與劍橋分析事件 Linux基金會為何搶進區塊鏈,Hyperledger技術主席大解密 Go Lang Stream: Why we switched from Python to Go Advantages Performance: Go is typically 30 times faster than Python Language Performance Matters Developer Productivity & Not Getting Too Creative Concurrency & Channels: Goroutines are Go’s lightweight approach to threading, and channels are the preferred way to communicate between goroutines. Fast Compile Time The Ability to Build a Team Strong Ecosystem Gofmt, Enforced Code Formatting gRPC and Protocol Buffers Disadvantages Lack of Frameworks Error Handling: it’s easy to forget to handle an error by accident Package Management all performance-intensive code will be written in Go dep - Dependency management for Go Virtualgo: Easy and powerful workspace based development for go Other 兩岸產品運營深度交流Meetup 會後整理 主管該如何培養自己的接班人? Slack 與 JANDI 的深度分析,為什麼你的團隊應該換掉 Email 與 LINE? MAU 指標的真實面貌 追問「那你們 MAU 的定義是什麼」 Active(活躍),是說使用者做了一件能夠代表活躍的行為 Sars: 每個網站、每種服務,對於「活躍」的定義皆不同,拿來比較也不一定有意義,終究還是要看怎麼從這些活躍用戶中提取出各種價值,以及營收 超偏僻的觀光景點,怎麼讓遊客想一去再去?熊本縣黑川溫泉的做法值得學! Sars: 趁著清明假期,去了趟福岡,就有特別去黑川溫泉,也買了可以選三家溫泉去泡的「入湯手形」,覺得這真的是個好方式,整個產業一同創造出更多利潤,才是健全的產業生態! 培育部屬,而非複製自己的思維到他們身上 Sars: 這觀念也就是所謂的「與其給他魚吃,不如教他怎麼釣魚」,學會思考,而不是單純複製。 GU Self-checkout 趁著清明連假去了一趟福岡,剛好在天神的 GU 看到了自動結帳機器,顧客只要把整個籃子的衣服放進去底下的小櫃子中,機器就會在幾秒鐘內辨識出所有的產品並結算出總金額,最後再用現金或信用卡付款,整個結帳的速度比櫃檯的店員一件一件商品刷條碼快多了,只是結帳完後要自己將商品裝進袋子,沒有店員幫忙裝。

2018 04 01

  • WEEKLY
Technology GCP - GCE - Creating a PTR Record for a VM Instance Sars: 實用的小功能,可以將 Public IP 綁上 DNS 反解,這樣在 nslookup 時就不會看到「xxx.xxx.xxx.xxx.bc.googleusercontent.com」,而是顯示自定義的 domain name。 同為分佈式緩存,為何Redis更勝一籌? 8 DevOps tools that smoothed our migration from AWS to GCP: Tamr Server/Configuration management: Ansible Infrastructure configuration: Terraform Server imaging: Packer Containers: Docker Container and service orchestration: Mesos + Marathon User management: JumpCloud Storage: RexRay Getting started with Data Engineering CAP理論十二年回顧:“規則"變了 Sars: 這個領域真的是深不見底,日常中最常遇到的問題通常是,新服務的架構該選哪類型、哪套來用,這必須要先知道各個的優缺點,才能根據使用情境選擇最適合的 Kubernetes Skaffold - Easy and Repeatable Kubernetes Development Introducing Skaffold: Easy and repeatable Kubernetes development GitHub - skaffold Agones Introducing Agones: Open-source, multiplayer, dedicated game-server hosting built on Kubernetes GitHub - agones Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what? Setting up HTTP Load Balancing with Ingress GitHub - ingress-nginx GitHub - cert-manager Other 基於區塊鏈的去中心化報名系統 Sars: 區塊鏈結合報名系統直接整進了售票、收款、報到等功能,其實算是不錯的應用,不過交易速度可能還無法應付大量搶票情境,而且現有的售票系統也已經解決大部分的問題了。 “Blockchain” sounds so much cooler than “slowest distributed database known to man”.

2018 03 25

  • WEEKLY
Tech Google Play 遊戲新功能:Instant Apps 即點即試玩 Sars: 看起來是開發者需要另外用特殊的 API 開發一個是玩專用的 App,並額外上架到 Google Play Store 上,使用者點擊試玩按鈕時,立即把輕量的 App 下載到手機上並開啟,技術細節還看不出來是怎麼實作的,不過應該可以肯定不是類似像 FIISER 等透過影音串流方式把遊戲畫面傳到手機上顯示。 當比特幣挖礦不再賺錢,背後的區塊鏈才是價值所在 源鉑資本專注投資全球區塊鏈與金融創新 Google開第一槍,旗下雲端服務將導入區塊鏈 我為何撤銷了大部分網站的 Facebook 帳戶連結 Sars: 一直以來就儘量不使用 Facebook 帳號登入其他網站,也不會授權給眾多心理測驗網站 The Graph API: Key Points in the Facebook and Cambridge Analytica Debacle Sars: 2012 年左右,為了開發 Social Network Service 軟體,玩了 Facebook、Twitter、YouTube、Facebook 等大平台的 API,其中對於資料的存取授權,本來就是要經過使用者允許才能取得,但通常使用者不知道自己同意了什麼,也不知道自己獻出了哪些東西,而 Facebook 對於透過 API 存取資料,也是越來越嚴格,常常每天的自動測試跑一跑,哪天就突然發現某些資料從此拿不到了。 Docker Ensuring Containers Are Always Running with Docker’s Restart Policy --restart no on-failure unless-stopped always aws-nodejs-sample Nginx 遇到一個奇妙的小限制,如果有在 HTTP header 裡面放一些自定義的 header 變數,而且變數名稱包含底線,Nginx 預設是會把這些自定義變數過濾掉,需要在 http 或 server 區塊內加上 underscores_in_headers on; 來開啟。

2018 03 18

  • WEEKLY
Tech 分散式系統的彈性 Resiliency in Distributed Systems Faults(錯誤) v.s. Failures(故障) 錯誤只是一部分系統元件的異常狀態,通常只影響到與他有關聯或相依的其他子系統;故障則是整個系統失效無法運作 架構設計時加入彈性,避免系統從部分錯誤演變成整體故障 在分散式系統中,網路是不可靠的;相依性永遠有機會失效;且使用者行為是無法預期的 Resiliency Patterns Timeouts(時效性):不要等回應等太久,避免連鎖性故障(Cascading Failures),並需要進行故障隔離。Timeouts 的時間長短必須根據相依元件的 SLA 來制定 Retries(重試):不立即重試,將錯誤的呼叫放入 retry queue 中,等適合的時機再重試,並以冪等(Idempotency)方式重試 Circuit Breakers(斷路器):當系統已經不健康,避免更多的請求呼叫 Netflix Hystrix afex/hystrix-go Fallbacks(退路):優雅的降級,避免重要的元件故障,在 Integration points 考慮 fallbacks 機制 Integration points are points at which documents within your process move from one system or application to another. Resiliency Testing(系統彈性的測試):找到各種可能故障的模式,並找猴子大軍進行 Monkey Test Create a Test Harness to break callers 完全不懂這句話的意思 Other 用小學生數學解釋內容付費行業 閱讀效益 / (找內容的時間 + 閱讀時間 + 機會成本 + 金錢) Sars: 每次都會很猶豫要不要訂閱各種服務,一來可能沒時間,二來也擔心買到不適合自己的服務而浪費錢,雖然大部分的訂閱都是月繳制,真的不適合通常可以中途停止 八種做法逼走優秀員工 一隻金玉其外敗絮其中的獨角獸啟示錄 Sars: 這種買空賣空的戲碼不時上演,大家仍然趨之若鶩,人類終究是學不乖的生物…

2018 03 04

  • WEEKLY
Startup 17 億美元打水漂!這 10 間獨角獸終結於 2017 年 名單內唯一有短暫使用過的只有 Yik Yak … 從慘賠 7 億到營收 600 億,全家如何走到今天?3 大祕訣一次解析 後進者必須勇於變革、創造改變 Sars: 全家近幾年真的是推出許多命中消費者需求的產品或服務,背後不知道失敗了多少次,才能有今天的成就 Technology Get the most out of Google Kubernetes Engine with Priority and Preemption 1.9 提供 Pods 的優先權設定,在 Nodes 資源不足的情況下,先將不重要的 Pods 結束掉,讓優先權較高的 Pods 可以取得資源運作 Zero Downtime Deployment with Kubernetes RollingUpdate strategy maxUnavailable, maxSurge iOS Developer Roadmap Sars: 幾年前自學 iOS App 開發,圖上面的技能樹,當時好多部分都沒有摸透徹 Other Remote 工作是長什麼樣子的 Sars: 如果自制力足夠,remote work 除了可以省下許多通勤時間,也可以不受辦公室侷限,把工作狀態調整到最佳情況 第一份工作主管教我的事 當PM的第一年學到的三件事 史丹佛基礎教育指南:如何用「刻意練習」促進學習? Sars: 學習各項事務通常是需要經過練習的,正確且有效的練習方式才能達到效果 假日才有人搭的摩天輪,平日該降價攬客嗎?大前研一:這是最常見的錯誤方法! 消除機器或設備等產能閒置的狀況 Spillover Effect (溢出效應) Sars: narrowcasting (窄播) 有點類似分眾行銷,根據受眾屬性,區隔出顧客族群,再根據特性推不同的方案給他,達到效益最大化