如何成為正港倫敦人

認識我的人多少知道我是單車迷,但迷的並不是單車比賽,亦非一輛三十萬台幣的高價奢侈品。我迷上的是騎單車的隨心所欲,想去哪就去哪,毫無拘束,把所...

July 12, 2023 · 3 min

2022 流水帳式年度回顧

赫然發現人生已經快過一半了。 二十五歲之後,時間的流逝感和體重增長一樣,只有不斷加速的份。若想為過去看似光怪陸離實則空白一年留下點什麼,文字記...

December 31, 2022 · 6 min

I (almost) broke 99% of Rust prjects in the world

Title is boasting but indeed could have broken builds of a lot of projects. Once upon a time (2022-10), I was trying to fix a tricky bug regarding the feature “artifact dependencies”. Artifact dependencies is a humongous feature too hard to implement it 100% right, as it touches almost every components of Cargo. There’s a saying from an anonymous Cargo maintainer, “I am mostly confident to make a change until it touches the dependency resolver....

November 6, 2022 · 4 min

不必是眾星拱月那個月 也能替世界增添光芒

謹以此文紀念 Alex Crichton 從 Cargo Team 退休 Thank you Alex for your hard work making Rust great! 猶記得,在大學生涯最後一年,我不小心掉進程式設計的兔子洞,深不見底。那時,也是我初次接觸開放原...

April 1, 2022 · 5 min

雙端佇列 Deque

本篇從 Rust Algorithm Club 移植,若欲閱讀最新版,請移駕至Rust 演算法俱樂部:雙端佇列 Deque 一文,此文不同步更新。 雙端佇列(double-ended queue...

February 16, 2021 · 19 min

我眼中的 Rust 2020:生態工具發展

最近越來越多人想要學 Rust,也有一些朋友來諮詢 Rust 相關的生態,這裡稍微囉嗦一下我眼中的 Rust 2020 吧。 如果沒有拖稿的話,文章應該會分三篇,表列如下:...

November 1, 2020 · 11 min

布隆過濾器 Bloom Filter

本篇從 Rust Algorithm Club 移植,若欲閱讀最新版,請移駕至Rust 演算法俱樂部:布隆過濾器 Bloom Filter 一文,此文不同步更新。 Bloom filter 是一種機率資料結構(probabil...

August 28, 2020 · 15 min

WWW 0x17: 再見 weekly

這裡是 WWW 第貳拾參期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多...

July 17, 2020 · 3 min

WWW 0x16: JWT、分散式 ID 生成、k8s 安全性

這裡是 WWW 第貳拾貳期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多...

June 20, 2020 · 3 min

WWW 0x15: 你懂資料庫嗎

這裡是 WWW 第貳拾壹期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多...

June 13, 2020 · 5 min

WWW 0x14: Structured concurrency is promising

這裡是 WWW 第貳拾期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜...

June 6, 2020 · 2 min

WWW 0x13: 據說網路釣魚比海釣容易成功

這裡是 WWW 第拾玖期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜...

May 30, 2020 · 2 min

WWW 0x12: Oxidized Chromium?

這裡是 WWW 第拾捌期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜...

May 23, 2020 · 2 min

WWW 0x11: 庫存文章已用罄

這裡是 WWW 第拾柒期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜...

May 16, 2020 · 2 min

WWW 0x10: 重構不是病,寫起來要人命

這裡是 WWW 第拾陸期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜...

May 9, 2020 · 4 min

WWW 0x0F: 工程師唯一需要知道的數字是伴侶生日

這裡是 WWW 第拾伍期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜...

May 2, 2020 · 2 min

WWW 0x0E: 親愛的,我把快取都放你腦中了

If you cloud end Covid-19 by sacrificing a JavaScript framework, which one would you choose and why Angular? — @dabit3 2020.4.19 這裡是 WWW 第拾肆期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期...

April 25, 2020 · 4 min

WWW 0x0D: 已達上限

欸,工時系統禁止報加班!? — Weihang Lo 2020.4 這裡是 WWW 第拾參期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟...

April 18, 2020 · 2 min

WWW 0x0C: 未具名

既然疫情嚴重,連假就在家加班吧! — Weihang Lo 2020.4 這裡是 WWW 第拾貳期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內...

April 11, 2020 · 2 min

WWW 0x0B: 個資被偷和管理 DNS 紀錄,孰難孰易

Zoom 很讚,host 可以看你有沒有認真 — Zoom: Attendee attention tracking 這裡是 WWW 第拾壹期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初...

April 4, 2020 · 2 min

WWW 0x0A: 嗯,你這塊 0xDEADBEEF

A programmer had a problem. He thought to himself, “I know, I’ll solve it with threads!”. has Now problems. two he — Davidlohr Bueso 這裡是 WWW 第拾期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。...

March 28, 2020 · 3 min

Kuberenetes Autoscaling 相關知識小整理

K8s 有好用的 autoscaling 功能,但你知道除了 pod 之外,node 也可以 auto scaling 嗎?帥,你知道就不用分享了啊 🚬 本文以重點整理的方式,先介紹目前常見的 Autoscal...

March 23, 2020 · 9 min

WWW 0x09: 到底要不要擔心 blocking

A programmer had a problem. He thought to himself, “I know, I’ll solve it with threads!”. has Now problems. two he — Davidlohr Bueso 這裡是 WWW 第玖期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。...

March 21, 2020 · 2 min

WWW 0x08: 你的 Helm chart 安全嗎

organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. – M. Conway 這裡是 WWW 第捌期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期...

March 14, 2020 · 4 min

WWW 0x07: 為什麼薯餅要炸兩次

這裡是 WWW 第柒期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜食...

March 7, 2020 · 2 min

WWW 0x06: Life is short. I hate GIL

這裡是 WWW 第陸期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜食...

February 29, 2020 · 2 min

WWW 0x05: 若單體服務是屎,微服務就是許多屎

這裡是 WWW 第伍期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜食...

February 22, 2020 · 5 min

WWW 0x04: Not feeling the async pressure

這裡是 WWW 第肆期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜食...

February 15, 2020 · 3 min

WWW 0x03: What Color is Your Function?

你的 function 是什麼顏色? 這裡是 WWW 第參期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富...

February 8, 2020 · 3 min

WWW 0x02: Distroless Docker for distressed human

這裡是 WWW 第貳期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜食...

February 1, 2020 · 2 min

WWW 0x01: 有個部署「部署「部署 K8s 」」的工具

這裡是 WWW 第壹期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五年都有可能。初期內容以軟體工程為主,等財富自由後會有更多雜食...

January 25, 2020 · 2 min

WWW 0x00: Rust 有個靜態 GC

如果員工年齡用 5 bits 存,那 J 同事的確最年輕,在 overflow 之後。 傑森 - 2020 這裡是 WWW 第零期,Wow Weihang Weekly 是一個毫無章法的個人週刊,出刊週期極不固定,從一週到五...

January 18, 2020 · 1 min

RustConf 2019 雲參訪錄(1)

RustConf 是 Rust 社群年度最重要的研討會之一,從 Rust 在 2015 年 1.0 版正式發布之後,2016、2017、2018 連續三年都在美國舉辦,今年當然不例外,八月底在 NBA 球...

September 29, 2019 · 14 min
Logo of Soft Skill Engineering Podcast

向上管理的設計模式

在資訊產業工作久了,其實就會知道,成功的軟體工程師並非社會眼中的科技宅男,溝通反而是做好工作的關鍵。Kate Matsudaira 整理了四個工作上常見的難題,並...

January 27, 2019 · 2 min

HLS 串流協議二三事

最近開始研究很夯的直播技術,一般常見的直播方案為 HLS 以及 RTMP 等,本篇將介紹 Apple 強迫使用 大力支持的 HLS 協議。 (撰於 2017-04-10) 本文是兩年前的...

January 27, 2019 · 4 min

Rust: Ownership and References

This is a series of quick notes about the fundamentals of the Rust programming language. It would cover parts of basic concepts and patterns in Rust. As a Rust begineer and a non-native English speaker, I may make some silly mistakes in my notes. Please contact me if there are some misleading words. (written on 2018-09-30) Ownership and References While a program runs, it need a way to manage memory ....

September 30, 2018 · 6 min

【譯】Rust vs. Go

本文譯自 Julio Merino 的 Rust vs. Go。Julio Merino 目前是 G 社僱員,在 G 社工作超過 8 年,無論工作內外,都接觸開發不少 Go 語言,並撰寫 Rust 點評系列文,來聽聽他對 Rust...

July 20, 2018 · 11 min
Image by Nick Youngson CC BY-SA 3.0

4 Podcasts Software Engineers May Love

As a non-native English speaker, I often try several methods to improve my English skills. Listening to podcasts is one of the most interesting way to practice English, especially with fascinating topics I indulge in. Therefore, I pick some of my favorite podcasts about software engineering to share with you. Enjoy these awesome shows and don’t forget to give them some feedback. (written on 2018-07-09) Software Engineering Daily If you are not afraid of information explosion, you may love Software Engineering Daily (SE Daily)....

July 9, 2018 · 4 min

漸進符號 Asymptotic Notation

這是個人第一次撰寫 CS 基礎知識的文章,同時也是 Rust Algorithm Club 基礎概念的首篇文章,目前 Rust Algorithm Club 尚未完工,請各位敬請期待。 (撰於 2018-05-31) 日常生...

May 31, 2018 · 7 min
三次面試中唯一一張照片

2018 前端工程師面試心得

這是我在 2018 年 Q1 的求職面試心得,不算實習的話,就是第一次正式求職。記錄下來作爲人生里程碑,也分享給大家參考。 (撰於 2018-03-15) 背景 森...

March 15, 2018 · 12 min

【譯】Tokio 內部機制:從頭理解 Rust 非同步 I/O 框架

本文譯自 Tokio internals: Understanding Rust’s asynchronous I/O framework from the bottom up。 Thanks David Simmons for this awesome article! Tokio 是 Rust 的開發框架,用於開發非同步 I/O 程式(asynchronous I/O,一種事件驅動的作法,...

January 5, 2018 · 18 min
Modified from Webcompat.com

與 IE 相處的日子二:淺談網頁相容性

還記得之前整理的 IE 相容性 一文嗎?筆者最近參與公司新版 Web App 架構規劃與開發,又遇到許多相容性的問題,連新版瀏覽器也無法倖免。就讓我們再次探討瀏覽...

December 9, 2017 · 14 min

How Is New Terminal In VS Code So Fast?

Last week, a new version (1.17) of Visual Studio Code was released. While there are many fascinating improvements and features introduced, the one that cought my eyes is “Integrated Terminal performance” section. Let’s check out what they’ve done! (written on 2017-10-12, based on Xterm.js v3, VS Code 1.17) Old Performance Issue The integrated terminal in VS Code is powered by another popular open-source project “Xterm.js”, which is currently maintained by SourceLair and community contributors....

October 12, 2017 · 13 min

使用 JavaScript 處理二進位資料

由於高度封裝與抽象,JavaScript 的執行效率比不上 C 的語言。例如 JavaScript 的 Array 下標(subscript)是根據 hash key 而非實體記憶體位址 offset 取值,雖...

September 3, 2017 · 14 min

Rx 入門二:觀察者模式

本篇介紹 Rx 另一個重要的基礎概念 Observer pattern(觀察者模式)。 (撰於 2017-08-15,基於 Swift 3.1) Definition 觀察者模式(Observer pat...

August 15, 2017 · 5 min

Rx 入門一:迭代器模式

本篇介紹 Rx 的重要基礎概念 Iterator pattern(迭代器模式)。 (撰於 2017-08-15,基於 Swift 3.1) Definition 迭代器模式(Iterator patter...

August 15, 2017 · 4 min

Rx 入門零:ReactiveX

聽過 Reactive Programming 嗎?ReactiveX(Rx)是近來火紅的技術,帶動函數響應式程式設計的熱潮。本系列將從 Rx 最原始的概念解釋起,一步步認識 Rx 巧妙的設計...

August 15, 2017 · 4 min

Thoughts on React Native from an iOS developer

About two month ago, I started making a React Native app “PyConTW 17” for the biggest annual Python conference in Taiwan (PyCon Taiwan). The app is quite simple, but still took some efforts for me to build. As a complete React newbie, I would like to share some of my thoughts about React Native. (written on 2017-07-30, based on React Native 0.44.2) Disclaimer: I am a junior iOS developer (about 1 year experience) without any computer science degree....

July 30, 2017 · 10 min

試答 Cherny 所謂「最好的前端面試題」

這份面試題出自於此,是從 /r/Frontend/ 連結過去的,看到如此自豪的標題和簡介,便手癢來作答,結果寫完基礎概念篇,才發現這份題目在 reddit 上被批評得體無完膚,與現...

July 26, 2017 · 14 min

與 IE 相處的日子

近幾年來,JavaScript 可謂風生水起,從後端到前端,從 mobile 到 desktop,各種 module 滿天飛,信手拈來就是一個 web app。不過,「沒碰過 IE,...

July 15, 2017 · 6 min

現代化的 JavaScript 併發 - Async Functions

在前一篇介紹 JavaScript Concurrency 的文章中,Promise 提供開發者安全統一的標準 API,透過 thenable 減少 callback hell,巨幅降低開發非同步程式的門檻,大大提升可維護性...

June 18, 2017 · 11 min

現代化的 JavaScript 併發 - Promises

所謂良好的使用者體驗,有個基本要求:「能即時回饋使用者的互動」。在 Mobile Native,常利用多線程(Multi-threading)分散主線程(...

June 12, 2017 · 12 min

理解 Swift Generics

泛型程式設計(Generic Programming) 是經典的程式設計典範之一,不論是老牌的 C++,還是潮潮的 TypeScript,都能一睹泛...

May 8, 2017 · 8 min

理解 Swift 的 Error Handling

如何利用 Swift 的語言特性來處理例外?使用 Optional 是常見的做法。如果成功就返回 value,失敗則返回 nil,這種模式常用於簡單的狀況。然而,面對複雜的情...

April 10, 2017 · 7 min

大前端時代的工具箱

在大前端的時代,開發 Web app 不再像以前使用一個 jQuery 的 CDN 這麼容易,從 html 模板的抉擇,css 預處理器的挑選,Javascript 模組化的方法,自動化工具...

March 10, 2017 · 19 min

Carthage 套件管理工具

Carthage 是一個較新的 Cocoa 開發第三方套件管理工具,相較於知名 CocoaPods 管理工具的複雜配置,輕巧的 Carthage 在推出之後廣受 Swift 社群喜愛。 (撰於 2017-03-05,基於 Carthage...

March 5, 2017 · 3 min

Swift 初學速記

簡單記錄 Apple 官方 Swift Guide 的重點與心得。 (撰於 2017-02-06,基於 Swift 3.1) Declaration 宣告變數使用 var,宣告常數使用 let 使用 var 宣告,該值為 mutable 使用 let 宣告...

February 6, 2017 · 9 min

閱讀原始碼:Swift-Then

本系列文視筆者心情不定期撰寫。 提升程式設計能力的途徑,不外乎一個字「寫」。而另一個重要方法,則是「讀」。我們很容易將雜亂無章的想法轉化為程式...

January 10, 2017 · 6 min