内容简介:CodeTengu Weekly 碼天狗週刊 - Issue 88 除錯就像是推理劇,你擔任偵探,同時也是兇手 - May 15t...
@tzangms
The Push Train
這篇是在講 Continuous Delivery 的心理面, 或者是說非 工具 面, 作者本來覺得把 CD 的工具鏈導進一家新公司就可以搞定了, 但是其實需要搞定很多人的問題。
當中也提到, 像是去年我在 StreetVoice 開始提的一個流程 (看來我得寫一篇文章), 就是在說開發人員的 code 被 Review approve 過後, 要自己去 merge PR, 等 CI 跑完, code 自動 deploy 上 staging 後, 開發人員看到 Slack 通知, 就得上去人工測試, 沒問題了就自己把 code 丟上 production 這件事。
而 Etsy 因為開發人數多, 部署的併發數高, 變成是得多人同時做這件事, 當多人同時做這件事時, 流程就又更厲害了, 真的是非常值得參考。
另外, 最近重新看了在CodeTengu 74 期提過的 YesSQL, Process and Tooling at Scale , 重新看一遍除了有更深層的心得之外, 當中提到 GitHub 的 migration queue 這件事, 我覺得可以搭配 Etsy 的流程, 果然 Scale 到一種程度就得有更完善的流程。
JAVASCRIPT MODULARIZATION JOURNEY
雖然是英文標題, 但其實是中文內容的投影片。
從早期的 js 開發講到近期的開發演進史, 主要是工具跟規格演進, 以及說明為何當初要這樣做, 我身為一個非前端開發人員, 真的是解決了我許多當初不曉得為何要這樣做的疑惑。
@mingderwang
How to go from Employee to Entrepreneur in 10 Steps
我雖然不是很鼓勵年輕人太早出來創業,但我不相信有人不喜歡自由。Yann Girard 這篇文章講得非常實在,要先做好準備,再辭掉手上的工作;事業要從小做起,不要好高騖遠。未來社會會趨向個人化的自由工作型態,先打好您跟客戶之間網路互動的基礎,也就是 followers 越多越好,得到相當程度的信賴與支持,就可以離開現有的公司,拾回原本就應該屬於你的自由。
Some Blockchain Reading
以前,有了 Internet 跟 WWW,就覺得小公司也可以跟 IBM 一樣做全世界的生意。讓大家對未來充滿信心和希望。這ㄧ年多以來,blockchain 跟 A.I. 一樣,被人類重新重視。但它有可能像蒸氣車對工業革命的影響,再次對人類社會與生活方式,造成巨大的改變。
還有很多文章要看... (就不多說了)... 不,不能不現在說,它讓我覺得小小的公司也可以跟 Google Play 或 Apple App Store 一樣,做一個 marketplace。而且不需要等下個月,或下下個月才拿得到錢,用戶可以透過 blockchain 馬上支付軟體公司錢。還有其他無限多的應用,我就真的不再多說了...
UAE GovHack - Tesla & Tollbooth on Blockchain
這 YouTube 介紹Oaken 專案 如何在 Tesla 電動車上,利用Ethereum blockchain 技術做到 m2m IoT 自動收費系統。其中最大的優點是,大量減少營運成本。去中心化的結果,使得系統與系統之間的轉換與廠商跟廠商之間的費用的轉嫁,可以讓 3% 以上的所謂服務費,降至 0.01% 左右。對 IoT 結合 blockchain 有興趣的人,可以從EthEmbedded 開始。
youtube.com@hiroshiyui
在 GitHub 上尋找 Elixir/Phoenix 的前後端分離、RESTful API 範例時,挖到這個東西(先說 Elixir/Phoenix 版在此 )。
這個專案透過實作一個 Medium 的仿品 的 API 規格 、具體示範了「只要 API 不變,前後端隨便你用任何語言與框架實作,都可以提供一樣的服務」這件事。如果你也跟我一樣渴求這類專案的參考、學習範例,這是一個不錯的資源。
github.comHow does Elixir compile/execute code?
一篇 Elixir 機制的科普文,介紹 elixir
與 elixirc
執行程式的方式,兩者執行結果看起來一樣,但是處理的目的卻不一樣,最終產物也不同。望「名」生義, elixir
是 "The Elixir script runner" ( man 1 elixir
), elixirc
是 "The Elixir compiler" ( man 1 elixirc
),所以後者 compile 出了 Modulename.beam 檔。
Recovering from Burnout and Depression
作者分享他之前遭遇燃盡 (burnout) 狀況時,面對它、處理它的過程。讀完這篇讓我心有戚戚焉,原來在某段工作後期,我的精神狀態,就是燃盡。
這篇我就不想方設法多擠一些字出來湊版面了,如果你目前工作也遇到類似的狀況,讀吧你,這篇文章或許能幫得上你。
(我也很希望當時就能有這篇文章)
Repose
最近讀到 IBM 開源了 API Connect Microgateway 的新聞,正好我最近在學習刻 Web API,所以對這類訊息的關注敏感度較高。Repose 是另外一個功能近似的產品,由Rackspace 公司開源。
老實說,這些 API middleware 產品我都還沒用上,但是看功能介紹,有命中我的需求,墊了這麼一層如果可以解決很多阿雜的麻煩事,我會很樂於採用。
@uranusjr
How I Broke Rust’s Package Manager for All Windows Users
作者做了一個 crate(Rust 對可散佈套件的稱呼),然後就把全世界 Windows 使用者的 Cargo(Rust 的套件管理工具)弄壞了。
原來 Cargo 在同步套件列表時,會為每個 crate 在本地建立一個檔案,存放相關資訊。作者上傳的 crate 叫做 nul
,在 Windows 上是個保留檔名,讓 Cargo 在建檔時出錯,結果就什麼事情都做不了。
什麼啦這限制也太 87 了吧 Windows 不意外呵呵 Windows 呵呵。如果你的反應是這個,那你就,嗯,跟我一樣 XD 不過更奇耙的是,這還不止是唯一的保留名——總共有 22 個!至於理由嘛實在有點長,就請大家自己享受
/dev/null
,但是在所有目錄都適用,且與副檔名無關(也就是說 NUL.EXE
、 NUL.TXT
、 NUL.DOC
Rust 社群最後的解法是把這個 crate 下架,並禁止未來的使用者使用這 22 個保留名稱當作 crate 名。如同原文 comments 提到的,如果你的程式支援 Windows,也有類似功能,就快點檢查你會不會踩到一模一樣的 bug 吧。
[ -z $var ] works unreasonably well
繼續討論 87 的話題。Bash scripting 有一堆雷這不是新聞,不過如果你踩中這個,雖然程式做的事情會跟你想的完全不一樣,但結果卻會正確!
幫不熟 Bash 的人解釋: $var
代表取變數值, [
會對後面的參數進行處理,回傳 0 或 1; -z
如果後面有接參數,就是一個 binary operator,判斷參數是否為空。問題在於,Bash 的變數取值就只是個取代,所以如果 $var
是 foo bar
, [ -z $var ]
就會被展開成 [ -z foo bar ]
,兩個參數。更神的是,如果 $var
為空,則 [ -z $var ]
就會變成 [ -z ]
。為了解決這個問題,通常的建議是 永遠加引號
。如果寫成 [ -z "$var" ]
,就可以在所有狀況都正常。
至於不加引號會怎麼影響 [
的行為,以及為什麼 [ -z $var ]
可以得到算 OK 的結果,大家就點進去看引文吧。這也是好 87 啊 Bash 不意外呵呵 Bash 呵呵。
Grok the GIL: How to write fast and thread-safe Python
談到 Python 的缺點,就是跑得慢和 GIL 啦——雖然也是很有本,Python 就是這兩個點最麻煩了。不過在抱怨的同時,你有試著了解他嗎?
On The Turing Completeness of PowerPoint
真的啊,如果 PowerPoint 是 Turing-complete,不就代表可以用它實作任何的簡報軟體;既然可以識做任何簡報軟體,其他的就都不需要,可以廢除了啊!
以上所述就是小编给大家介绍的《CodeTengu Weekly 碼天狗週刊 - Issue 88 除錯就像是推理劇,你擔任偵探,同時也是兇手 - May 15t...》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 碼天狗週刊 第 135 期 @vinta - Kubernetes, Python, MongoDB
- 碼天狗週刊 第 140 期 @vinta - MongoDB, Kubernetes, NGINX, Google Cloud Platform, MySQL
- CodeTengu Weekly 碼天狗週刊 - Issue 89 我是十倍工程師,十倍爛的工程師 - May 22nd 2017
- CodeTengu Weekly 碼天狗週刊 - Issue 86 聽說有些人家裡的日曆上 5 月 1 日寫的不是「勞動節」而是...
- CodeTengu Weekly 碼天狗週刊 - Issue 91 如何檢查你的 Linux 作業系統是 32 位元或是 [敏感词已被...
- CodeTengu Weekly 碼天狗週刊 - Issue 86 聽說有些人家裡的日曆上 5 月 1 日寫的不是「勞動節」而是...
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。