Huli's blog

Learning by sharing

部落格搬家心得:從 Logdown 到 Hexo

早知道就早點搬...

前言 終於搬完啦! 花了一整天的時間在搞搬家的東西,其實真的挺麻煩的,而且中途碰到滿多小問題,所以特地寫這篇來紀錄一下心得。 為什麼搬家? 你知我知獨眼龍也知,Logdown 基本上已經是一個停滯的產品了,從很久以前就不再更新了,看樣子應該也不會再更新了。 我真的滿喜歡 Logdown 的,因為我覺得使用起來很方便很順手,完全打到我,到既然是個停止維護的產品,繼續在那邊就會有一些風險,例如說......

一起用 JavaScript 來複習經典排序法吧!

前言 最近剛好上到 CS50 Week3,這一週的主題是:Algorithms,裡面介紹到了幾種經典的排序法,像是選擇排序、泡沫排序、插入排序以及合併排序。 我覺得身為一個軟體工程師,大概一輩子都脫離不了排序了,畢竟這是經典演算法之一嘛!與其每次要面試之前都凌亂的準備,不如現在就整理出一篇,紀錄一下各個排序法的心得,幫自己做個統整。 因此,這一篇將利用 JavaScript 來實作各個經典排......

DOM 的事件傳遞機制:捕獲與冒泡

前言 (補充:感謝 othree 前輩的指點,指出這其實是在講 DOM 裡面事件傳遞的順序,因此把標題以及內文修正,原標題為:JavaScript 的事件傳遞機制:捕獲與冒泡) 今天為大家帶來的內容是 DOM 裡面的事件傳遞機制,而與這些事件相關的程式碼,相信大家應該不太陌生,就是addEventListener, preventDefault跟stopPropagation。 簡單來說,就......

循序漸進理解 HTTP Cache 機制

前言 前陣子在研究跟 HTTP Cache 有關的一些東西,看得眼花撩亂,不同的 Header 愈看愈混亂,像是Pragma, Cache-Control, Etag, Last-Modified, Expires 等等。找了許多參考資料閱讀之後才有了比較深刻的理解,想說若是從一個比較不同的角度來理解 Cache,說不定會比較容易了解這些 Header 到底在做什麼。 在之前查的資料裡面,很......

輕鬆理解 Ajax 與跨來源請求

前言 一般來說在學習寫網頁的時候,最先碰到的會是 HTML 與 CSS,負責把版面刻出來以及美化版面,當基礎打穩之後,會開始學習 JavaScript,試著做出一點互動性的效果。而「互動」除了使用者跟瀏覽器的互動以外,別忘了還有 Client 端跟 Server 端的互動,也就是必須要學會從瀏覽器用 JavaScript 跟後端 Server 拿資料,否則你的網頁資料都只能是寫死的。 這篇的......

該來理解 JavaScript 的原型鍊了

前言 老實說 JavaScript 的原型鍊一直是我很懼怕的一個主題,理由很簡單,因為真的不太好理解。光是一堆名詞跟錯綜複雜的關係就可以把你搞瘋,例如說prototype, __proto__, constructor, Object.prototype, Function.prototype, new等等。 可是呢,這又確實是 JavaScript 很重要的一部分,而且是面試的必考題,就算......

我遇過的最難的 Cookie 問題

前言 幾個禮拜前我在工作上碰到了一些跟 Cookie 有關的問題,在這之前,我原本想說:Cookie 不就那樣嘛,就算有些屬性不太熟悉,上網找一下資料就好了,哪有什麼跟 Cookie 有關的難題? 然而事實證明我錯了。我還真的碰到了一個讓我解超久的 Cookie 問題。 相信看到這邊,很多人應該躍躍欲試了,那我就先來考一下大家: 什麼情形下,Cookie 會寫不進去? 像是語法錯誤那種顯......

自架論壇的解決方案:flarum, github issue, nodeBB, discourse

最近想幫 Lidemy 鋰學院建一個論壇,方便讓大家在那裡討論問題,於是就研究了一下現成的幾個方案,寫在這裡做個紀錄,順便給以後想建論壇的人參考。 在這邊介紹到的論壇系統基本上都是開源的,可以自己架或是有些會提供 hosting 的服務。 Flarum Flarum是我認為比較新一點的論壇系統,實際範例可以看:他們自己的討論區,目前還在 Beta 階段,而且沒有提供任何 hosting 服務......

Lidemy 鋰學院:為初學者而生的線上程式課程平台

前言 最近剛把 Lidemy 鋰學院這個線上程式課程平台給弄好,目前這網站是建在 Teachable 上面,一個能夠快速搭建課程平台的服務。 而這篇呢,就要來談談 Lidemy 的創辦背景以及理念 緣起 我一直是個很喜歡教學的人,從最早在前公司開設的實體課程,到台北的免費程式教學,再到 Hahow 的初心者的計概與 coding 火球術,最後是近期的從新手到中手:前端工程加強班。 有關於我個......

自學、哲學、講學:我的程式之路(下)

此篇為系列文章的最後一篇,如果你錯過前兩篇,傳送門在這: 自學、哲學、講學:我的程式之路(上) 自學、哲學、講學:我的程式之路(中) 會寫程式的文組生 每當有人知道我是念哲學系的時候,就會問我說:「咦,那為什麼你會寫程式?」,我都會跟他們說:「你搞錯順序了,我是先學會寫程式,才念哲學系的。」 接著一定會問我,我在上一篇裡面回答的問題:「那你怎麼會來念哲學系?」 哲學這個詞之所以能被放在標題裡......