意象說明
廣告媒合
埋設 DFP - DoubleClick for Publishers 廣告
初始設定
比較跳脫一般經驗法則的是,在載入 script 之後,服務仍然不是可用狀態,因此,此時不可呼叫相關服務 API。
意象說明
廣告媒合
比較跳脫一般經驗法則的是,在載入 script 之後,服務仍然不是可用狀態,因此,此時不可呼叫相關服務 API。
意象說明
模組化 < 封裝 < 與世隔絕 < 受困於小船
絕佳搭配 < 天作之合 < 俊男美女
這篇文章記錄個人嘗試 CSS-modules 過程中所遇到的問題,並且順便將目前業界各種對 modular css 的嘗試/進展,做一個相關資訊的摘錄。
還沒有找到適合自己偏好作法的讀者,可以將此文視為簡單的技術選型指南,從中挑選適合自己的作法。
本文整理截至目前 AngularJS 1.5 為止, 個人以為的最佳實務做法。
為什麼現在?基於以下三點理由:
『你可以這麼做,不代表你必須這麼做』,基於『JavaScript: The Good Parts』的哲理,本文適合具有 AngularJS 1.x 實務開發經驗,然而卻隨著 AngularJS 的發展,逐漸對於網路上充斥各種主觀、矛盾的說法、用法感到困惑的開發者。
雖然遵循本文提出的原則,可以以趨近於元件化的風格開發 AngularJS 1.5 應用程式,但本文不涉及 AngularJS 1.x 移轉到 AngularJS 2.0 議題。
意象說明
JavaScript 社群 < 百家爭鳴 < 車廠+車廂
黎明?黃昏?
前一陣子,left-pad 的作者,因為不滿 npmjs.com 屈從財團的壓力,未經作者同意就擅自移轉所有權,因此憤而將全部模組從 npm 下架,而導致眾多知名模組受到波及。此事件引起了廣泛的反思。
然而,漸漸出現一種聲音,開始呼籲大家不要使用 open source、要盡量自己寫程式碼,不要依賴別人的模組,就像這篇文章:『NPM & left-pad: Have We Forgotten How To Program?』(中譯)。更有甚者,連『懂得怎麼寫程式之前,別去玩 node.js 好嗎?』這樣的話都出來了。
意象說明
工欲善其事必先利其器
在社群上有網友問到如何判斷 npmjs.com (或任意 open source 平台)上的套件,是否支援 node 或 browser,以下我將自己的經驗整理回答如下:
意象說明
行動網頁
Google AMP 是用來加速顯示靜態網頁內容的技術。
主要由三個部份組成:AMP HTML (content), AMP JS (runtime), Google AMP Cache。
其中 AMP HTML 及 AMP JS 牽涉到內容的技術部份,可以一併來檢視。可以這麼說,為了達成瞬間顯示的效能,這兩項技術禁用一些容易阻塞瀏覽器的元素:
document.write(), 或動態改變 class, style 等造成 reflow 的狀況。意象說明
筆記、筆記、再筆記
使用 Atom 編輯器,安裝上 linter-eslint 外掛,再加上一個現成的 ESLint 範本,就可以無痛投入到 ESLint 的懷抱了。
意象說明
問題 < 一個頭兩個大 < 小孩讀聖經
最早的 JavaScript linter 是 JSLint,但是由於作者 Douglas Crockford 設定了太多個人主觀認定必須要遵守的強制規則,而且很少有妥協的餘地,所以後來強調可以配置規則的 JSHint 漸漸崛起,我自己從一開始就是使用 JSHint,並且也用了蠻長一段時間。然而…
意象說明
Logdown 諧音 Look down
長期關注本部落格的朋友,可能有發現到,除了原本在 Blogger 的 格物致知 之外,還有一個同步更新的網站 Fragments of Time 位於 Logdown。
這是因為我在之前的文章『Medium 與 Facebook Notes 簡短試用』中提到的,厭倦了使用 HTML 撰寫部落格,所以在 Logdown 發佈之後,曾經有一段時間,我是在 Logdown 先用 Markdown 語法撰寫文章,然後再將 HTML 複製到 Blogger 中。
現在決定改用 GitHub Pages / hexo,上面的步驟就省了,現在我可以直接用 Markdown 寫文章,然後下個指令,就自動轉成 HTML 並且發佈。當初除了必須手動複製這個原因之外,其實在使用 Logdown 時,還遇到一些不方便的地方,並且做了一些筆記。我不確定現在這些問題是否依舊沒有改善,整理出來,給不幸遇到的朋友參考看看。
意象說明
glob < pattern < 在眾多相似物中尋找
Glob 類似於 regular expression,但是僅用來匹配檔案路徑名稱。名稱由來是 UNIX 一個負責解析匹配檔案、叫做 global command 的模組。
本文針對 gulp 使用的 node-glob 所支援的語法及選項進行說明,詳細的使用方法可參考 node-glob 的說明。