Git Product home page Git Product logo

reinventing-browser's Introduction

reinventing-browser

[스터디 이름 : 맨땅에 헤딩⚽]

✏️ 주제 : 웹 브라우저 구현(기초)

✏️ 스터디 목표:

  • 직접 손으로 만들고 부딪혀보면서 실수를 하고 그로부터 조금씩 배워나가기
  • 웹 브라우저의 기반 기술 및 작동 방식 배우기

✏️ 운영 기간 : 2.19(월) ~ 3.15(금) 4주 간 운영

✏️ 학습 과정:

  • 이번 회차의 스터디는 링크된 웹 북(Web Book)으로 진행됩니다.
  • 현재 아쉽게도 영문 버전으로만 나와 있기 때문에 영문을 읽는데 거부감이 있으시면 구글 크롬의 번역기능을 활용해서 따라가도 무방합니다.
  • 저자가 책에서 사용하고 있는 언어는 파이썬이지만 기본 문법을 사용하기 때문에 자바를 어느 정도 공부하셨으면 따라가는데 어려움이 없을 것으로 생각됩니다. (작업환경은 PyCharm이나 VS code를 추천합니다.)
  • 저자의 말에 따르면 어느 정도 프로그래밍이 익숙한 사람이면 한 챕터를 4시간 내에 구현해보는데 어려움이 없을 거라고 합니다. 하지만 저희는 안그래도 따라가야할 다른 과제나 강의들이 있기 때문에 챕터당 한 주를 배정할 예정입니다.
  • 첫째주: 웹 페이지 다운로드(URL 이용해 HTTP 요청 보내기 및 응답 받기)
  • 둘째주: 웹 페이지 렌더링(브라우저 캔버스에 웹 페이지의 텍스트 부분 렌더링하기)
  • 셋째주: 텍스트 포맷팅(포맷에 따라 텍스트 레이아웃 조정하기)
  • 넷째주: HTML 트리 파서(웹 페이지를 파싱해 간단한 DOM Tree 만들기)
  • 각 챕터 맨 아래에는 연습 문제들이 있습니다.

✏️ 운영 세부사항

  • 깃(Git)을 사용해 원격 저장소에서 저희 작업을 관리합니다.
  • 마스터 브랜치는 비워두고 우리는 각자 브랜치를 따서 자신의 로컬 작업환경에서 Git을 사용하는 연습을 해 보면 좋을 것 같습니다. (브랜치라는 개념이 생소하실 수 있는데 저희 제로베이스 Git 강좌를 참고하시면 되요!)
  • Git에는 브랜치 간에 코드를 비교할 수 있는 기능이 있기 때문에 간편하게 다른 동료분의 코드를 리뷰할 수 있고 또 서로에게서 무언가 배울 수 있는 좋은 플랫폼이 되어 줄 것으로 기대합니다.
  • 저희 스터디 시즌 1이 마무리되는 4주차 때 맨땅헤딩 스터디 MVP를 선정해서 (그 분 허락 하에) 그 분의 브랜치를 마스터 브랜치에 병합해서 시즌 2를 시작할 때 다시금 참고할 수 있도록 하면 좋을 것 같습니다.

reinventing-browser's People

Contributors

sinclairjang avatar gomawoe avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

deardolph

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.