前端三十:從HTML到瀏覽器渲染的前端開發者必備心法(iT邦幫忙鐵人賽系列書)
活動訊息
內容簡介
一口氣掌握前端進階必備知識!
開發時不解的奇思妙想,解方都在這!
•CSS 選取器是如何運作的?
•要怎麼提升網站效能?
•瀏覽器間的差異是怎麼形成的?
•為什麼要用框架?
•HTTPS 為什麼比較安全?
•瀏覽網頁時,過程中到底發生了什麼?
本書內容改編自第11屆iT邦幫忙鐵人賽,Modern Web組佳作網路系列文章——《前端三十 - 成為更好的前端工程師》,內容著重在現代前端開發者所必備的網站開發知識通識。
書中精選三十道網站開發常見問題,由最基礎的前端三兄弟:HTML、CSS、JavaScript 出發,逐一探討瀏覽器渲染原理、JavaScript 特性、演算法、網路基礎、前後端分離、效能優化、SEO 實踐等網站開發相關主題,與讀者您一起踏上前端進階之路。
三大特色
從陌生到熟悉:
•什麼是閉包?前端框架?SPA?SSR?SEO?陪你從頭認識那些以往似懂非懂的專有名詞,重新檢視整理自己的知識儲備
從疑惑到解答:
•由類似面試提問的標題名稱展開各別章節,並在內文逐步引導至關鍵知識點,帶你逐一擊破三十道難題
從入門到進階:
•HTML、CSS、JavaScript、Frontend、Backend、Web,循序擴大範疇的六大主題,相互串接、彼此關聯,讓你掌握網站開發關鍵知識,踏上前端進階之路
目錄
Chapter 01►你最近學會了什麼新東西?
主動規劃學習
被動接觸新知
新技術清單
結語
Chapter 02►[HTML]script tag 加上 async & defer 的功能及差異?
講古
簡介
用法
延伸閱讀
結語
Chapter 03►[CSS]Reflow 及 Repaint 是什麼?
瀏覽器的渲染步驟
拯救你的網頁效能
結語
Chapter 04►[CSS]z-index 與 Stacking Context 的關係是什麼?
z-index
堆疊環境 Stacking Context
結語
Chapter 05►[CSS]元素選取器是如何運作的?
瀏覽器渲染
CSSOM Tree
套用規則
CSS 效能
延伸閱讀
結語
Chapter 06►[JS]請你在旁邊的白板寫個快速排序演算法
快速排序法
演算法
結語
Chapter 07►[JS]瀏覽器 DOM 元素的事件代理是指什麼?
事件
事件代理
結語
Chapter 08►[JS]請寫出間隔一秒印出1, 2, 3, 4, 5 的程式碼
拆解問題
瀏覽器的事件迴圈
回到題目
結語
Chapter 09►[JS]什麼是閉包?
Closure
執行環境
結語
Chapter 10►[JS]一般函式與箭頭函式的差異?
一般函式
箭頭函式
結語
Chapter 11►[JS]如何處理網頁中的非同步?
同步?非同步?
回呼函式
Promise
async await
結語
Chapter 12►[JS]為什麼 typeof new Array() === 'object' ?
型別
特殊型別:物件
結語
Chapter 13►[JS]為什麼判斷相等時不能用雙等號?
相等性
一般相等的自動轉型
牛刀小試
結語
Chapter 14►[JS]深拷貝是什麼?如何實現?
資料複製
物件拷貝
實作
結語
Chapter 15►[JS]什麼是原型鏈?
物件原型
原型鏈
使用原型
結語
Chapter 16►[FE]為何會有瀏覽器差異?怎麼處理?
差異的來源
解決方案
結語
Chapter 17►[FE]為什麼現在的前端都在用「框架」?
沒有框架的日子
框架的功能
結語
Chapter 18►[FE]為什麼網站要做成 SPA? SSR 的優點是什麼?
從頭說起
Isomorphic JavaScript
結語
Chapter 19►[FE]如何實現網站 SEO?
SEO
正向影響因子
結語
Chapter 20►[FE]如何提升網站效能?
尋找問題
優化載入
優化渲染
結語
Chapter 21►[FE]用過 Webpack 之類的打包工具嗎?為什麼需要?
前端工程化
打包工具的用途
結語
Chapter 22►[FE]為什麼跨域請求會產生錯誤?如何處理?
跨域請求
解決方案
結語
Chapter 23►[FE]網頁的快取機制是怎麼運作的?
快取是什麼
網頁的快取機制
結語
Chapter 24►[BE]請說明一下 npm 的套件管理機制
套件管理工具
Install 的執行過程
安全性問題
套件管理的未來
結語
Chapter 25►[BE]Node.js 與 JavaScript 的關係是什麼?
Node.js
事件迴圈
結語
Chapter 26►[BE]API 設計拿資料要透過 POST,會有什麼問題嗎?
HTTP Method
規範與實作
GraphQL
結語
Chapter 27►[WEB]Cookie & Session 是什麼?
無狀態的 HTTP
HTTP 的狀態管理機制
結語
Chapter 28►[WEB]HTTP 和 HTTPS 的差別是什麼?
HTTP 的資料傳輸
加密
HTTPS
結語
Chapter 29►[WEB]網站常見的資安問題有哪些?
SQL Injection
XSS
CSRF
JSON Hijacking
結語
Chapter 30►[WEB]從輸入網址列到渲染畫面,過程經歷了什麼事情?
網路連線
伺服器端應用程式
瀏覽器端應用程式
結語
A 尾聲
配送方式
-
台灣
- 國內宅配:本島、離島
-
到店取貨:
不限金額免運費
-
海外
- 國際快遞:全球
-
港澳店取:
訂購/退換貨須知
退換貨須知:
**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**
-
依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
- 依消費者要求所為之客製化給付。(客製化商品)
- 報紙、期刊或雜誌。(含MOOK、外文雜誌)
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
- 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
- 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
- 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
- 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
商品評價