Hello World
CodeTengu Weekly 碼天狗週刊
如果命運的齒輪沒有出差錯,CodeTengu Weekly 會在 UTC+8 時區的每個禮拜一 AM 10:00 出刊。每週會由三位 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到感興趣的東西,可能下一期就有了。當然你也可以瀏覽一下前幾期的內容。或是關注我們的 Facebook、Twitter、GitHub。有任何建議也歡迎來 Gitter 聊聊。
目前的 curator 陣容:
- @vinta - I failed the Turing Test - 科幻迷,最近在讀 Blindsight
- @saiday - Imnotyourson - 有什麼意見進來 Runtime 講啊
- @tzangms - Oceanic / 人生海海 - 最近真的都在玩薩爾達
- @fukuball - ImFukuball - 有新工作了,但歡迎直接挖角
- @mingderwang - Ethereum enthusiast,最近在研究區塊鏈遊戲
- @kako0507 - 熱愛嘗試新事物的前端工程師
- @chiahsien - 我們公司在徵人
- @uranusjr - Smaller Things - Pinkoi 少了個棒球記者現在去應徵前端應該有機會
- @yhsiang - AMIS / MAICOIN 徵才中,歡迎聯繫!
- @johnlinvc - 挑戰自動化家中電器
- @wancw
- @allanlei
- @theJian
- @lucienlee - 🦌
- @hwchiu
彷彿致力於解決開發者之間的資訊不對稱
@johnlinvc
Enhancing String Literals Delimiters in Swift 5
大家應該常常遇到需要在寫死的字串裡面放雙引號或是反斜線的經驗吧,特別是處理 JSON 時特別容易遇到。 預計年底推出的 Swift 5 使用了 #"hello world"# 來處理,相當優雅且有效。 裡面列出了主流語言處理 raw string 的方法 ,可以看到每個語言的異同之處,相當有趣。
What Every Programmer Should Know About Floating-Point Arithmetic
1 + 2 = 3 ,相信大家都同意。 那 0.1 + 0.2 呢? 答案是 0.30000000000000004。 😂
還不知道為什麼的人可以看看這個網站,裡面解釋了為什麼會有這樣的結果。 要處理任何不能出錯的數字的工程師們也可以看一看。
Git worktree: 同時開多個工作目錄
相信大家都有遇到需要在同一個 git repo 裡同時修改不同 branch 的情景。像是同事還在Code Review A branch, 但是需要用的 A 的 branch B 已經開始開發了。每次 A 有任何修改就要切branch 和 pull ,相當麻煩。
用了 Worktree 就可以讓同一個 repo 有超過一份的 working copy。減少切 branch 的麻煩。
@allanlei
D-Wave Quantum Computing
Seems like a great way to get people excited in quantum computing. It's also great to see the first language of choice is Python!
Detecting XFS support on GKE hosts
This demonstrates how to execute commands on the host from a pod for the purpose of XFS support detection, useful for services like mongo.
Memcache extstore
RAM is expensive. Compared to SSD/nvme, it is at least 2x. Using fast disk to extend the capacity for caching warm keys can greatly reduce server costs.
Redis also has something similar, but alas, it is under their Enterprise offering.
@hwchiu
GLB: GitHub’s open source load balancer 閱讀分析
Github 於2018/08/08 發表了一篇名為 GLB 的文章,並且將 Github 內部使用的 Layer4 Load Balancer 給開源出來,並且針對其設計架構,理念以及實作細節都進行了一番探討與講解,仔細琢磨後甚至可以發現還使用了 DPDK 等 Kernel-Bypass 的技術來達到更高速的封包處理。
本文的作者針對 Github 公開的文章進行了詳細的閱讀,並且嘗試用更簡易的方式跟大家分享該 Layer4 Load Balancer 的架構,非常適合對網路架構以及系統設計有興趣人的閱讀學習
如何透過 Cert-Manager 輕鬆簡單管理 Kubernetes 中的 HTTPS 憑證
在這個資訊安全意識稍微抬頭的世代,網站配有 HTTPS 可說是個基本標配。同時因為 Let's Encrypt 的出現,讓 TLS 憑證的申請變得簡單且容易上手。然而使用 Let's Encrypt 本身還是有一些限制要處理,譬如需要定期更新憑證,以及如何驗證申請者目標網域的擁有者,這部分的操作都有對應的腳本來處理。然而在 Kubernetes 叢集之中,除了手動去運行這些腳本之外,有沒有更方便的方式可以整合這一切。本文要介紹一個叫做 Cert-Manager 的解決方案,透過其原理的理解,以及實際操作的步驟來學習如何更方便的在 kubernetes 叢集內管理憑證
Debug a Go Application in Kubernetes from IDE
隨者微服務化概念以及容器技術的普及,愈來愈多的應用程式都會打包成容器印象檔案並且部屬在相關的容器管理平台,譬如 docker-compose, kubernetes, mesos. 這種架構在部屬與服務上雖然能夠帶來好處,但是對開發者來說,其實也無形了增加除錯的複雜度。舉例來說,當開發的應用程式打包成 Docker 格式並且部屬於 Kubernetes 叢集上,這時候若想要進行除錯就變得相對麻煩。該應用程式運行的環境已經不是開發者的本地環境,而是 Docker 內的簡易環境,同時若要直接存取該 Docker 容器內的實際環境,也有網路連線的問題要處理,這些對於應用程式的開發者來說都是額外的問題。
本文使用 Golang 應用程式與 Kubernetes 當作案例,介紹如何透過本地端的 IDE 來偵錯於 Kubernetes 叢集中運行的 Golang 應用程式,只要能掌握這個概念與流程,相信要切換到任何類型的程式語言都能夠如魚得水般輕鬆,從此整個開發,偵錯的流程能夠更加順利。
NetDevOps: The Next Frontier in Agile Enterprise Automation?
DevOps 的概念與文化這幾年席捲整個資訊產業,此外 CI/CD 的實踐更是被許多工程師以及業界視為良藥,期盼能夠為整個軟體的開發帶來穩健也強壯的生態。
現在除了軟體開者外,網路管理這邊也掀起了一股風潮,稱之為 Networking DevOps (NetDevOps)。 網路管理相對於單純的軟體開發流程,多了些許硬體交換機的管理,這些管理包含了設定及部屬。
本文介紹了 NetDevOps 相關概念以及探討什麼樣的環境與企業會需要 NetDevOps 這種流程。 最後引申閱讀的部分也有許多跟 NetDevOps 相關的文章,有興趣的都可以多加閱讀來瞭解看看在非純軟的業界與開發流程上, DevOps 的文化帶來了什麼樣的衝擊
工作機會
Senior Backend Engineer at Swag
To apply, please send your resume to hr@swag.live.
Requirements
- In-depth knowledge of Python or Node.js
- Experience with Python web frameworks (i.e., Flask, Django, or Tornado)
- Utilized work queues for background processing
- In-depth knowledge of MongoDB and Redis
- Excellent understanding of HTTP
- Experience developing REST APIs
- Designed for modular systems
- Cloud environment experience
- Excellent communication and organizational skills
Plus
- Worked with Python
asyncio
- Experience developing in Go
- Event-driven architecture
- Experience working with cluster environments and containers (i.e., Kubernetes and Docker)
- Development flow utilizing CI/CD
- Experience working with distributed systems
- Experience working with real-time APIs
薪資範圍
- 年薪 100 萬新台幣以上。
This RSS feed is published on https://weekly.codetengu.com/. You can also subscribe via email.