Web Browser - mysangle/twentyhours GitHub Wiki
Web Browser
1. ๊ธฐ๋ณธ์ ์ธ ์น ๋ธ๋ผ์ฐ์ ธ ๊ตฌํ์ ๋ํด ๊ณต๋ถํด ๋ณผ ์ ์๋ Web Browser Engineering ์ด๋ผ๋ ์ฑ ์ ์ฝ๋๋ค.
- Web Browser Engineering
- ํ์ด์ฌ์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ธ๋ฅผ ๋ง๋ค์ด๋ณด๋ ์ฑ
2. ์น ๋ธ๋ผ์ฐ์ ธ์ UI๋ฅผ WebGPU๋ก ๊ตฌํํ๊ธฐ ์ํด ๋ค์์ ๋ด์ฉ์ ๊ณต๋ถํ๋ค.
- Learn Wgpu
- WebGPU์ rust ๊ตฌํ์ธ wgpu ์ฌ์ฉ๋ฒ์ ์ค๋ช ํ๋ค.
- WebGPU Unleashed: A Practical Tutorial
- WebGPU์ ์ผ๋ฐ์ ์ธ ๋ด์ฉ์ ๋ํ ์ค๋ช ๋ฌธ์
- WebGPU๋ฅผ ์ง์ํ๋ ์น ๋ธ๋ผ์ฐ์ ธ์์ ํ์ธํด๊ฐ๋ฉด์ ๊ณต๋ถํด ๋ณผ ์ ์๋ค.
Garbage Collection
- The Garbage Collection Handbook(book)
- A Unified Theory of Garbage Collection(pdf)
- Biased reference counting: minimizing atomic operations in garbage collection(pdf)
- Designing a GC in Rust
- GC and Rust Part 0: Garbage Collection Background
- A Tour of Safe Tracing GC Designs in Rust
- GC Support in Rust: API Design
- Shifgrethor I: Garbage collection as a Rust library
- Piccolo - A Stackless Lua Interpreter
- I built a garbage collector for a language that doesn't need one
- Understanding Garbage Collection in JavaScriptCore From Scratch
- JavaScript: Servoโs only garbage collector
- Land ahoy: leaving the Sea of Nodes
- Guide to Nova's garbage collector
- a simple semi-space collector
์ฐธ๊ณ ํ ๋งํ ๊ธ
- Rendering NG
- ๋ ๋๋ง ์ฑ๋ฅ ๊ฐ์ (1) โ ๋ ๋๋ง ๊ณผ์ ์ดํดํ๊ธฐ
- Internals of Nova Part 1 - Sugar, spice, and everything nice...
- Better typography with text-wrap pretty
- A Python Interpreter Written in Python
- Recursive descent parsing์ ๋ํ ์ค๋ช
- Parsing Expressions by Recursive Descent
- Simple but Powerful Pratt Parsing
- Implementing Regular Expressions
- ํ์๋ฌธ(Continuation) : ์ 1๋ถ. ๊ฐ๋ ๊ณผ call/cc
- Arena allocator tips and tricks
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ๋ด ์๊ฐ์ ๋ฐ๊พผ ๊ธ๋ค
์ฐธ๊ณ ์์
- LadyBird๋ฅผ ๋ง๋ค๊ณ ์๋ Andreas Kling์ด ๋ธ๋ผ์ฐ์ ธ ๊ฐ๋ฐ ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๋ ์ ํ๋ธ ์์
์ฐธ๊ณ ๋ฅผ ์ํ ์คํ ์์ค
- Gosub-engine
- rust๋ก ๊ตฌํํ Browser engine
- https://github.com/gosub-io/gosub-engine
- Vello
- 2D graphics rendering engine in rust
- https://github.com/linebender/vello
- Retina
- rust๋ก ๊ตฌํํ ๊ฐ๋จํ ์ด๊ธฐ ๋ฒ์
- https://github.com/usadson/retina
- Boa
- an embeddable and experimental Javascript engine written in Rust
- https://github.com/boa-dev/boa
- Nova
- a JavaScript and WebAssembly engine written in Rust
- https://github.com/trynova/nova
- awesome-browser