วิศวกรรมเว็บเบราว์เซอร์ (2021)
(browser.engineering)-
แนะนำวิศวกรรมเว็บเบราว์เซอร์
- เว็บเบราว์เซอร์ถูกใช้งานในชีวิตประจำวัน แต่หลักการทำงานของมันมีความซับซ้อน หนังสือเล่มนี้อธิบายวิธีสร้างเว็บเบราว์เซอร์พื้นฐานแต่ครบถ้วนด้วยโค้ด Python เพียงไม่กี่พันบรรทัด ครอบคลุมตั้งแต่ระบบเครือข่ายไปจนถึง JavaScript
-
คำนำ
- ให้ภาพรวมเกี่ยวกับประวัติของเว็บเบราว์เซอร์และเว็บ
-
ภาค 1: การโหลดหน้า
- การดาวน์โหลดเว็บเพจ
- อธิบายวิธีดาวน์โหลดเว็บเพจผ่าน URL และคำขอ HTTP
- การวาดบนหน้าจอ
- อธิบายวิธีสร้างหน้าต่างและวาดลงบนแคนวาส
- การจัดรูปแบบข้อความ
- อธิบายวิธีตัดคำขึ้นบรรทัดใหม่และปรับระยะห่างระหว่างบรรทัด
- การดาวน์โหลดเว็บเพจ
-
ภาค 2: การแสดงเอกสาร
- การสร้างต้นไม้ HTML
- อธิบายวิธีแยกวิเคราะห์และแก้ไข HTML
- เลย์เอาต์ของหน้า
- อธิบายวิธีใช้เลย์เอาต์แบบ inline และ block
- การใช้สไตล์ของผู้เขียน
- อธิบายวิธีแยกวิเคราะห์และใช้ CSS
- การจัดการปุ่มและลิงก์
- อธิบายวิธีจัดการไฮเปอร์ลิงก์และ browser chrome
- การสร้างต้นไม้ HTML
-
ภาค 3: การรันแอปพลิเคชัน
- การส่งข้อมูลไปยังเซิร์ฟเวอร์
- อธิบายวิธีส่งฟอร์มและการโต้ตอบกับเว็บเซิร์ฟเวอร์
- การรันสคริปต์แบบโต้ตอบ
- อธิบายวิธีเปลี่ยนแปลง DOM และตอบสนองต่อเหตุการณ์
- การปกป้องข้อมูล
- อธิบายเกี่ยวกับคุกกี้และการล็อกอิน รวมถึง XSS และ CSRF
- การส่งข้อมูลไปยังเซิร์ฟเวอร์
-
ภาค 4: เบราว์เซอร์สมัยใหม่
- การเพิ่มเอฟเฟกต์ภาพ
- อธิบายวิธีการ blend, clip และ composite
- การจัดตารางงานและเธรด
- อธิบาย event loop และ rendering pipeline
- แอนิเมชันและการคอมโพสิต
- อธิบายแอนิเมชันที่ลื่นไหลโดยใช้ GPU
- การรองรับการเข้าถึงเนื้อหา
- อธิบายการป้อนข้อมูลด้วยแป้นพิมพ์ การซูม และ accessibility tree
- การรองรับเนื้อหาแบบฝัง
- อธิบายวิธีรองรับรูปภาพ, iframes และการสคริปต์
- การนำผลการคำนวณเดิมกลับมาใช้
- อธิบาย invalidation, editing และความถูกต้อง
- การเพิ่มเอฟเฟกต์ภาพ
-
บทสรุป
- อธิบายสิ่งที่ไม่ได้ครอบคลุมและสภาพแวดล้อมที่เปลี่ยนแปลงอยู่เสมอ
-
ภาคผนวก
- มีอภิธานศัพท์ บรรณานุกรม แนะนำผู้เขียน รายชื่อผู้มีส่วนร่วม และรายชื่อคอร์สเรียนที่อ้างอิงจากหนังสือเล่มนี้
สรุปโดย GN⁺
- หนังสือเล่มนี้มีประโยชน์สำหรับผู้ที่ต้องการเข้าใจหลักการทำงานของเว็บเบราว์เซอร์ ผ่านกระบวนการสร้างเบราว์เซอร์ด้วย Python จึงได้เรียนรู้เทคนิคหลากหลาย เช่น ระบบเครือข่าย การแยกวิเคราะห์ HTML และการใช้ CSS
- ช่วยให้เข้าใจทั้งประวัติของเว็บเบราว์เซอร์และความสามารถของเบราว์เซอร์สมัยใหม่ โดยเฉพาะเนื้อหาเกี่ยวกับความปลอดภัยของเว็บและการเข้าถึง ซึ่งให้ความรู้ที่นำไปใช้ในการทำงานจริงได้
- หนังสือเล่มนี้อาจทั้งน่าสนใจและเป็นประโยชน์สำหรับนักพัฒนาเว็บหรือวิศวกรซอฟต์แวร์ และจะช่วยอย่างมากในการทำความเข้าใจกลไกการทำงานภายในของเว็บเบราว์เซอร์
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ส่วน "Stuff I didn't do" คือจุดเด่นที่ยอดเยี่ยมของหนังสือเล่มนี้
เริ่มทำงานกับเบราว์เซอร์แบบ headless ตั้งแต่ 15 ปีก่อน และใช้ SpiderMonkey เป็นตัวแปลภาษา JS
หนังสือเล่มนี้เป็นแหล่งข้อมูลที่ครอบคลุมจนชวนให้นึกถึง MITRE ATT&CK
เป็นเรื่องสดใหม่ที่ Browser Engineering กำลังกลายเป็นเทรนด์
มีบทความที่อธิบายว่าทำไมผู้เขียนถึงเลือก Python
หนึ่งในผู้เขียนเข้ามากล่าวขอบคุณและพร้อมตอบคำถาม
กำลังมองหาโปรเจ็กต์สนุก ๆ และกำลังสนุกกับหนังสือเล่มนี้
น่าสนใจมากที่มีการสร้างแหล่งข้อมูลแบบนี้ขึ้นมา
กำลังเรียนรู้เกี่ยวกับโครงสร้างภายในของเบราว์เซอร์ และหนังสือเล่มนี้มีประโยชน์มาก
เป็นหนังสือที่ดี และขอแนะนำให้แบ่งบทที่ 9 ออกเป็นสองบทแยกกัน