• Linked List Cycle

    給定一個 Linked List,請寫出一個演算法,告訴我其中有沒有環(cycle/loop)。這是演算法很經典的題目,最簡單的方式就是使用快慢指針 fast/slow,也可以寫成 runner/walker。快指針一次走兩步,慢指針一次走一步,如果他們有碰上,那就是有環。 下圖是個簡化的 linked list...

    圖片延遲載入的現代作法

    背景知識為了改善網頁的 load performance,我們很自然地會想到圖片的延遲載入。其精神是避免網站在一開始就載入使用者根本不會看到 (not in viewport) 的圖片,圖片的載入會卡住後面的 network request,所以我們應該要避免載入不必要的圖片。 可以看到一整排的圖片,推遲了網站需...

    前端效能調校基礎

    其實精確一點,這篇文章想討論的是 Rendering Performance,也就是網頁在跟使用者互動的過程中,要怎麼樣才能有流暢的體驗。尤其 mobile device 的處理能力比較弱,要在受限制的環境展現良好的使用者體驗又更是個挑戰。 我們先看看在這方面表現優秀的網站 Google I/O 2015,在右上...

    Chrome 59 有啥新玩意?

    Chrome 59 版發行在即,它究竟有什麼新玩意呢? 1. CSS and JS code coverageChrome 新增了一個 Coverage 的 tab,能夠找出沒有用到(被執行)的 CSS 跟 JS 程式碼 Image credit by [Google](developers.google....

    程式就像天書一樣

    我現職是個前端工程師(Front-End Engineer)。不像很多有名的大神,雖然不是很喜歡唸書,但是從小就開始接觸程式,寫軟體,然後變成程式界的大神。我只是純粹不喜歡唸書而已。 直到大學我才真正地接觸到了程式,但實在提不起我的興趣,寫了一堆天書般的程式碼,只是為了在一個黑黑的框框(Terminal)裡秀出幾...

    Watching Google I/O livestream

    The stream will be available on May 17-19.

    5分鐘免費幫你的網站加上https

    Let’s Encrypt 是 Internet Security Research Group (ISRG) 所建立的一個 Certificate Authority (CA)。建立受信任的 https 連線,你需要從 CA 拿到一個 certificate。 EFF 提供了一套工具 Certbot,可以免費的...

    為過去幾年與疾病的奮鬥做紀錄

    大概是將近三年前發病的。 那一天晚上我覺得好像要死掉了,呼吸變得很困難,喘不過氣,一直有即將要休克的感覺。還記得那天晚上只有我在家,半夜三點,就叫了救護車載我去醫院。護理師問我有沒有糖尿病,我說不知道〈當然就我所知是沒有,但是看到我當下的狀況我什麼都不確定了〉。我跟他們說我不能坐著,我要站著,因為我覺得坐著坐著就...

    Atomic CSS 介紹

    簡介這篇文章想介紹一下 Atomic CSS,這是 Yahoo 開發的一個開源工具,讓使用者用一個比較不同的觀點來撰寫 CSS。 Atomic CSS 主要是想要解決目前在大型的 (large scale) 專案下,CSS 會有的問題: CSS class 命名使用的衝突問題 stylesheet 過於肥大的問...

    改造 logdown 版面

    其實我一直覺得 logdown 的版面沒那麼對我的胃口,所以我小小的修改了一下,讓我使用的時候看起來更舒服。 原本的版面![](http://user-image.logdown.io/user/6035/blog/6047/post/737444/gSs94Yd0Si2NnB67FXAn_%E8%9E%A2%E...