Show GN: 8주간 작은 브라우저를 만들어봤어요.
(github.com/beginner-jhj)안녕하세요! 컴퓨터 공학과 입학을 앞둔 고3 학생입니다.
8주간 C++, QT를 통해서 작은 브라우저 엔진을 기초부터 만들어 봤습니다.
C++는 이번에 처음 접해본 터라 수많은 시행착오가 있었지만, 렌더링 파이프라인의 핵심을 직접 코드로 옮겨보며 많은 것을 배웠습니다.
전체 렌더링 파이프라인을 5단계로 나누어 구현했습니다:
-
HTML 문자열을 분석하여 DOM 트리 생성 (에러 교정 포함)
-
CSS 규칙 파싱 및 Cascade를 통한 Computed Style 계산
-
block/Inline 모델 기반의 박스 위치 및 크기 계산
-
이미지 캐싱 및 로딩 후 레이아웃 재계산(Reflow) 처리
-
Qt Graphics View Framework를 사용한 최종 Painting
처음 배우는 C++로 작성한 코드라 부족한 점이 많을 수 있습니다.
코드 구조나 개선 방향에 대해 피드백을 주신다면 감사히 배우겠습니다!
더 자세한 내용은 https://github.com/beginner-jhj/mini_browser/blob/main/README.ko.md 에서 확인하실 수 있습니다.