January
15th,
2021
前提 學習 Raft 的演算法的時通常都會將 Byzantine Failure 給排除掉,想不到在去年十一月底的 CloudFlare 的 incendent report 竟然用了現實世界的拜占庭問題來當作標題,就用這個來整理一些思緒。 什麼叫 Byzantine failure 在分散式系統中,不同電腦之間會相互的溝通作為「Consensus Communication」的資料確認流程。 需要不同電腦間,回報自己將要做的事情,或是進行 leader 投票的流程。 如果這時候發生了有一台電腦,跟某些團員講 A 跟另外一群團員又講 B 的狀況,造成整個團體無法達成一制性,或是達成了非預期狀態,就被稱為是 Byzantine Failure 。 許多的狀況下, Consensus Algorithm 舉凡 Paxos 跟 Raft 都會先假設 Byzantine Failure 是不存在的,因為這個問題會將 Consensus 複雜度又提升到另外一個境界。 參考文章: Wiki 拜占庭將軍問題 關於 CloudFlare 的復原機制 探討比較複雜的問題之前,其實這篇文章還有一個有趣的角度可以觀察。 就是如何透過 CloudFlare 的 Incident Report 來查看他們針對系統維護上有那一些備援機制。 服務備援機制 每一個服務都是一系列的 Rack Servers 每台機器有兩個 switches 每個機器主機架有兩個以上的電源供應設備 每個 server 都使用 RAID-10 的備份機制 (也就是 RAID 1 + RAID 0 的備份機制) 每一個 Rack 至少都是三台機器以上。 發生的問題 (圖片解釋: 左上角為 Server 1, 右側為 Server 2,下方為 Server 3 也是 Leader ) 由於 Server 1 到 Server 2 的網路發生問題。 造成 Server 1 與 Server 2 發生不同步的資訊問題。 Server1 認為 Leader (Server 3) 已經下線 Server 2 認為 Leader 是正常運行。 也是因為這樣的原因, CloudFlare 將這個問題在為 Byzantine Failure Reference Cloudflare Dashboard and Cloudflare API service issues A Byzantine failure in the real world Raft does not Guarantee Liveness in the face of Network Faults wiki: 拜占庭將軍問題 Raft lecture (Raft...
繼續閱讀
December
31st,
2020
2020 年度回顧
女兒健康成長(父母最開心的事)
公開演講 13 場。 (而且年底公司大場,一天還講兩場)
https://github.com/kkdai/slides
英文國際演講 2 場(一場日本 DevDay)
https://github.com/kkdai/slides
15 本電子書閱讀.
http://www.evanlin.com/categories/
Github 752 commits (2019 691)
https://github.com/kkdai
3 場黑客松(梅竹,內部,校園競賽)
持續運動(但是運動量沒有之前高,要努力)
61 篇部落格(持續寫作,終生學習)
提攜後進,福音戰士二號機大有潛力
MHW, MHGU, 期待著 MH-R
2021 年度期許
家人健康
再瘦一點
Golang in Machine Learning
繼續閱讀
December
27th,
2020
賈伯斯傳(最新增訂版)
Steve Jobs
作者: 華特.艾薩克森
原文作者: Walter Isaacson
出版日期:2013/09/11
買書推薦網址:http://moo.im/a/ehEGJY
前言:
這一本是今年所讀完的第十五本書。 其實這本書很捨不得看完,因為邊看這本書我習慣邊看著電影。或是邊看著蘋果的發表會來了解其中的一些細節。其實當年對於賈伯斯的認知,都是來自於早期的矽谷相關電影「微軟英雄」。 雖然這部電影其實也蠻久的了,但是許多的描述也是相當的深入,對其他相關的書籍與電影都影響相當的大。
後來由艾希頓庫奇所拍攝的「賈伯斯」,則更深入得探討到賈伯斯的內心轉折。也很建議大家來看。
最後,來談到這本書。高達六七百頁的書籍。內容包含了學生時期的賈伯斯,一直到賈伯斯因為癌症過世之前的心路歷程。都包含在其中,很值得推薦一看。
內容簡介與心得:
人人都知道賈伯斯不遺餘力捍衛隱私,這位傳奇性的企業家從未寫過回憶錄,但他在兩年間,接受本書作者艾薩克森多達四十餘次的深入訪談,並允許他遍訪他的朋友、親戚、競爭對手、仇人和同事,總數超過一百人。
艾薩克森寫出「最真實的賈伯斯」,書中描述這位創造力旺盛的企業家雲霄飛車般驚險刺激的一生。賈伯斯執著的個性、追求完美的熱情和狂猛的驅力推動六大產業革命,包括個人電腦、動畫、音樂、電話、平板電腦和數位出版。
這不只是賈伯斯的故事,也是一本談創新的書。在這個數位時代,很多企業都努力走在創新的最前頭,許多國家也汲汲於建立創新經濟,但就獨創、想像和創新,賈伯斯無疑是標竿人物。他深知要在二十一世紀創造出有價值的東西,必然要讓創造力和科技結合,因此他打造的公司,不但要有跳躍的想像力,更要呈現鬼斧神工般的科技工藝。
章節條列
1955-1980.天生反骨
這個章節講的主要是從小到求學時期到他的蘋果電腦公司的創立,並且詳細的敘述了他在學生時代在雅達利打工的怪僻。當時的他不愛洗澡,所以都是晚上才上班。但是因為寫程式的功力很了得,常常可以解決很困難的問題。所以當時的主管就讓他晚上才上班,這樣也可以避免他跟其他人的來往。
到了 Apple II 的大賣,也讓蘋果電腦變成上市的公司。瞬間也讓賈伯斯必須要在很年輕的時候就要率領著一堆比起他資深太多得各種專家來經營公司。
1980-1991.大起大落
從上市之後,麥金塔的打造更是讓蘋果電腦登上 1984 年的超級盃廣告。
但是隨著麥金塔的上市,隱憂也開始了。 蘋果電腦內部逐漸分裂鬥爭。賈伯斯也因此被趕了下來。
但是離開了蘋果的賈伯斯,雖然失意但是卻因此有機會成為皮克斯的股東。這裡也放一下最知名的 Pixar 的標誌。
1991-2004.不同凡想
藉由著 NexT 的併購案,蘋果電腦透過併購了賈伯斯後來創力的 NexT 而邀請賈伯斯回鍋當 iCEO(interm-CEO),之後則有了 iMac 等等,讓人驚艷的新產品。 也是在這個同時,皮克斯也迎來了最大的成功(玩具總動員的上映),皮克斯後來也接受了迪斯尼的併購,並且接手了動畫部門的開發。
這個階段的賈伯斯則是在前十年的沈澱後,完全堅持在更完美的產品研發上。
2004-2011.超越死亡
最後的階段,雖然 Apple 也開發出了劃時代的產品 iPhone 。 完全改變了應用端從桌面到行動裝置的年代,但是賈伯斯的身體也對他發出了抗議。 癌症的發病與延誤的治療,讓病情無法馬上獲得控制, 即便後來使用了許多相關療法,還是讓病情無法緩和下來而復發。
接下來,如同大家所了解的,到了過世的前幾天賈伯斯才卸下了蘋果 CEO 的重擔。在家人的陪伴下離開了。
心得:
記得當初賈伯斯過世的時候,許多人都相當的難過。 我想除了是紀念一個偉大的創業者,產品經理。更是紀念一個堅持己見的產品愛好者,經常在許多時候,都會有著想要偷懶與得過且過的心情。 但是受到賈伯斯對於產品的堅持與追求完美的信念,又會開始努力下去。
許多人說,賈伯斯也是人他也有很多失敗的過程。這本書也有他人性的一面,不論是年輕時候不願意面對自己的小孩,到後來又相當的後悔。不論是更多的失敗的產品,或是他被逼退的過程,更走詳細的敘述。蘋果之所以成為偉大的公司,正也是在於賈伯斯的統一集權的狀況。
不論你喜不喜歡賈伯斯,我們都得承認「Steve Jobs」 這個名詞應該會成為我們心中對於產品不停追求的象徵。
最後,這一句來自 Think Different 裡面的文字,分享給大家。
The people who are crazy enough to think they can change the world are the ones who do.”
──Apple's "Think Different" commercial, 1997
繼續閱讀
December
10th,
2020
韓國人和你想的不一樣
人妻太咪的韓國有趣文化 × 特殊習慣 × 超妙生活觀察
作者: 太咪 出版社:時報出版
出版日期:2014/08/25
買書推薦網址:http://moo.im/a/16evQS
前言:
這一本是今年所讀完的第十四本書。
我說過,我通常會一本嚴肅的書跟著一本輕鬆的書來調劑身心。跟韓國與日本同事在溝通的時候,雖然除了語言本質之外,會發現其實大家的文化上差異真的很大。這本書就是買來讓我更了解韓國同事,也希望不要踩到一些文化上的雷。
內容簡介與心得:
瘋韓劇、追偶像、學韓文,也要了解韓國人的一切;
對韓國有成見?也許你對他們有些誤會!
太咪帶你深入日常生活,從此對他們瞭若指掌,
就算第一次走跳韓國也能立刻上手!
章節條列
Chapter 1 走跳韓國!食衣住行實用指南
Chapter 2 現實就像韓劇一樣浪漫嗎?
Chapter 3 第一次融入韓國就上手!
第一章節有許多跟韓國食衣住行有趣的經驗分享,包括了韓國鐵筷子的由來。韓國的泡菜湯不是拿來喝的,是拿來洗筷子的。更有許多有趣的名字,「大醬女」,「快快病」。也有許多韓國有趣的習性,坐地上,早餐吃米飯,泡菜,見面先問年紀,聚會的續攤(日本好像也有?)。 更有提到有趣的汗蒸幕文化,職場的規則跟加班的習性。
心得:
這本有許多有趣的內容分享,雖然對我來說都是第一次知道的知識。但是常看韓劇的朋友可能都有觀察到一些小細節,很推薦大家來看這本書一起來了解韓國文化上的差異。這樣在跟朋友(同事)溝通時候的背景 context 比較能夠體會了。
繼續閱讀
December
4th,
2020
發掘你的微細領導力: 運用「第一天」模式覺察自身價值,成為更有分量的人
This Is Day One : A Practical Guide to Leadership That Matters
作者: 卓杜立
原文作者: Drew Dudley
出版日期:2019/10/03
買書推薦網址:http://moo.im/a/7afCJN)
前言:
這一本是今年所讀完的第十三本書。
是否一定要是身為管理階層才需要學習領導力? 不論是領導力還是影響力,代表的就是你如何透過你自己的行為來影響其他的人。很多時候,每一個人或多或少都在別人的生命中影響著其他人。這些影響力是如何造成,你的生命中又曾經被多少人影響過? 這一系列的問題引導著你,很適合透過這一本書來仔細思考。
內容簡介與心得:
請記住以下這句話:你對周遭的人、所屬組織發揮的最大影響力,幾乎都是日常無心插柳的意外結果。
大多數人把領導力想得過於狹隘,認為自己既沒做大事,也不在高位,需要有財富、頭銜及影響力等外在光環加持才能算是領導人。然而這種能力其實人人都有,甚至天天都在實際運用,只是肇因於陳舊思維與教育洗腦,矮化了自己的重要性與領導能力。
宏觀來看,其實職場或人生中的每段旅程(例如戒酒、保持身心健康、乃至創業成功等),都需要領導力的加持。曾是個學霸並遵循世俗成功標準與期望而活,也曾深受酒精、肥胖與躁鬱症所苦,領導力專家卓杜立在改變自己的過程中,發現了「第一天」領導哲學,也就是做每件事都要保持「第一天」的積極心態,便能持之以恆地落實個人的核心領導力價值,引領自己做出改變,進而影響他人。
章節條列
第一部 就從這一天開始
是否記得你的第一天上課,第一天上班? 想要透過哪些行動舉止來讓其他人知道對於工作的態度? 這邊提的是個人領導力,也就是你可以透過你自己的行為與態度來影響你周圍的人。
你不太需要很高的職位,或是很大的舞台。 很多時候就是做好自己,或是「多做一點」就能夠展現個人的領導人,進而影響別人。裡面提到公司車機的例子:
一位在自己崗位職守數十年的小學公車司機,有一天載到一位 22 歲的年輕人。他好奇的問了那位年輕人為何上車,他卻回答說:「我明年要去讀哈佛大學研究所,我想要感謝你,因為你喜歡在開車的時候唱歌,不論小學生們如何笑你,你還是樂在其中的每天唱歌。你讓我深信,不需要在意其他人的眼光,努力做自己」。
第一天就是你想要改變自己的第一天,想要影響其他人的第一天。因為第二天往往是第一天的延續,於是這個章節探討得是你會如何在這個「第一天」發揮你的影響你,來影響其他的人。
第二部 領導力的六個關鍵價值
這個章節,作者透過領導力的六個關鍵價值,來讓你思考個人領導力的具象話與價值所在。透過你每一天去詢問自己以下的六個問題,你能夠逐漸建立起自己的微領導力。
影響力(Impact): 我今天做了什麼樣的事情,來影響其他的人?
勇氣(Courage):我今天做什麼有不一定很有價值,但是放手一博的事情?
給力(Empowerment): 我今天做了什麼事情讓其他人更接近目標?
成長(growth):今天做了什麼可以幫助其他人學習?
格調(class): 今天做了什麼能提高而非升高對立狀況?
自重(self-respect): 做了什麼事情來善待自己?
第三部 你如何定義你自己
對於定義自己這一段,作者先建議提出以下三個方式:
「假設性的關鍵價值」
假裝有個人跟在你身旁,那麼一個月後他會認為你這個人有哪些特質。 比如說「扛責」,「冒險」,「紀錄」…
你的「床邊建議」
如果今天是你的兒子(女兒)即將要去外地讀書,獨立自主了。那麼你會給予哪些人身建議呢?
最優與最差
回顧自己人生,找出目前為止表現得最好與最差的狀態。
以上這些問題,不僅幫助定義你自己。更可以幫著你了解自己的長處與優點。進而找出自己適合影響其他人的特質來幫助其他人。
心得:
這本書當初也是因為讀了某些片段後,呼應起自己生命中的一些過程。曾經我們也是被某些人或是某些事所影響到,當然我們也有可能影響其他的人。在這裡分享兩個我印象很深刻的事件。
「現在做這些有什麼意義」
我的第一份工作是在外商(美商)工作,是做多媒體播放軟體的產品工作。 因為大環境的變遷,產品不停萎縮的狀況下,公司最終裁員。還記得裁員公告一公佈的當天,我心情雖然很差,但是還是想把自己手上的工作做到完。 這時候去找同專案的同事討論的時候,得到的卻是:
「現在做這些還有什麼意義?」
「現在做這些還有什麼意義?」
「現在做這些還有什麼意義?」
我當下其實相當的震驚,之後我默默地走回座位。然後告訴我自己,我決定要堅持自己想要做,或是應該做的事。不論大環境如何的變遷,我們不應該在那個時候就認輸。
「但是,我就是過不去啊」
一樣是在第一份工作給予我的啟發,當時正在管理著 OEM 的專案。雖然產品接近萎縮,但是還是發生了問題。這時候去問了當時的老闆應該要怎麼回覆客戶? 只見他,雖然很想回家。 但是還是說出了讓我印象很深刻的一句話。
我也是可以就這樣過去,不理這件事情。 但是我就是過不去啊!
也是這件事情之後,我更了解到。「人生,有所為,有所不為」 。我們的堅持與固執,造就了我們人格的特質。每個人都會放棄,都會想得過且過。但是真正的堅持與固執才能成就我們,也希望這些小故事能夠影響正在看這篇文章的你。
每個人都會影響其他人的,希望我們都可以帶給身邊的人正向的影響。
繼續閱讀
December
3rd,
2020
寫在前面
大家好,我是 LINE Taiwan DevRel 團隊的 Evan Lin。很開心在這裡跟各位分享本年度的第三場開發者小聚中,由 LINE SPOT Team – Julian Shen 帶來分享他在處理地理資料 (location-based data) 時候所遇到的一些問題與經驗分享。關於LINE SPOT 可以參考 Julian 在 TECHPULSE 2019 的會場有介紹過關於 LINE SPOT 服務介紹。。更多的 LINE SPOT 服務介紹與 LINE SPOT 架構介紹可以參考這篇文章 「LINE TAIWAN TECHPULSE 2019 科技盛會精彩回顧」。
KKTIX 活動網頁: 活動網址
其他相關文章:
LINE Shopping App with Flutter: 使用 Flutter 來打造 LINE 購物的手機雙平台應用
「How ML Powers LINE Services」機器學習如何的讓 LINE 的服務能更貼近使用者
投影片
演講影片
地理資訊服務 Location-Based Services
這次主要介紹 LBS: Location-Based Serivice 的內容,關於 LBS 相關的遊戲或是服務我們經常可以看到,舉凡打卡,地圖,導航都會用到。那麼要尋找兩個點之間距離上,可以使用的技術也相當的多。
找出距離幾公里的景點
處理上面經常是拿到 GPS 座標,或是直接拿到地址。 地址是可以方便人類來閱讀的,但是真正要電腦能夠處理的就是經緯度的座標位置。 如果要對某一個座標找尋出距離三公里距離的所有座標,那是不是需要把資料庫裡面的地點全部拿來計算呢? 這裡介紹了一種方式叫做 K-D Tree 。
K-D Tree 的方法就是將地圖平面透過二分法的方式來切割,將每兩個點找出距離後作為一個區塊。透過這樣的方式可以很快速地找出兩個最相近的距離點。
如何將搜尋結果作 Caching
如果有一群人同時開 LINE SPOT 需要尋找三公里內所有座標,那麼有方式可以快速的暫存起來資料,並且快速的回覆使用者的需求嗎? 這時候可以考量使用 Hashing 的方式來將經緯度數值直接轉換成一串文字,透過這個方式可以快速找到上一次搜尋的結果。如果沒有搜尋過才去跑 K-D Tree 的搜尋,這樣一來就可以在不經過複雜的運算就可以快速的回覆使用者。
這個方式雖然可以快速地知道有沒有搜尋過,但是有一些問題如下:
由於採取 zig zag travesal 的方式來 hashing ,可能不同的經緯到有相當相似的結果。
可能相當的接近,由於在邊界上可能造成 geohashing 結果不同。
其他的方式
Google 也有提出 S2 Cell ID 的方式來區分地理資訊。而 Uber 也有提出 H3 的方式,透過六角形的方塊來切分整個地理資訊。也因為使用六角形,才能更精確地將地球球形的地理狀況表現出來。
「LINE 熱點」美食推薦
別再說新竹市美食沙漠, LINE 熱點也是有精選「十家新竹在地美食店家」。
活動小結
希望同學們了解地理資訊的處理經驗分享後。也都可以來 LINE 熱點來分享你的新竹美食地圖。
立即加入「LINE開發者官方社群」官方帳號,就能收到第一手Meetup活動,或與開發者計畫有關的最新消息的推播通知。▼
「LINE開發者官方社群」官方帳號ID:@line_tw_dev
關於「LINE開發社群計畫」
LINE今年年初在台灣啟動「LINE開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦30場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看:
2019 年LINE 開發社群計畫活動時程表
LINE Taiwan Developer Relations 2019 回顧與 2019 開發社群計畫報告
2020 年LINE 開發社群計畫活動時程表
繼續閱讀