Coder Social home page Coder Social logo

d0422 / learning-by-making Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 632 KB

✅ 직접 만들면서 학습하는 과정을 담은 레포지토리. ⚛️miniReact(useState구현), JS EventLoop Visualizer, miniNext(SSR,ISR) 직접구현하고, 이를 모노레포(pnpm+turborepo) 형태로 관리합니다.

Home Page: https://d0422.pages.dev/

JavaScript 4.79% HTML 1.14% TypeScript 90.97% CSS 2.89% Shell 0.23%

learning-by-making's Introduction

프로젝트 개요

✅ 프론트엔드 생태계에서 중요한 개념들을 직접 만들면서 학습하는 과정을 담은 레포지토리입니다.

⚛️miniReact(useState구현), JS EventLoop Visualizer, Next의 핵심 기능을 직접구현하고, 이를 모노레포(pnpm+turborepo) 형태로 관리합니다

📄목차

  1. Mini React
  2. JS Eventloop visualizer
  3. Mini Next

Mini React

배포 주소 : https://d0422.pages.dev/

리액트처럼 동작하는 MiniReact입니다. VDOM의 Diffing알고리즘을 직접 구현해보며 이전 DOM에서 바뀐 부분만 렌더링하는 기능을 중심으로 구현하였습니다.

MiniReactGif

useState의 구현은 실제와 분명히 다르며, Fiber 아키텍쳐를 통해 hook을 관리하지 않고 JSX Element의 객체화에 그치고 있어 한계점이 분명한 코드입니다. 실제 리액트를 분석한 글을 참고해주세요.

  1. 진짜 리액트는 어떻게 생겼나? (1) - useState 따라가며 흐름잡기
  2. 진짜 리액트는 어떻게 생겼나? (2) - renderWithHooks와 훅의 본체

JS Eventloop visualizer

배포 주소 : https://d0422.github.io/learning-by-making/

헷갈리는 개념인 자바스크립트의 브라우저 이벤트 루프 우선순위를 시각화하여 빠르게 이해하기 위해 만든 프로젝트입니다.

현재는 기본 코드 구성에 대한 시각화만 제공합니다. 추후 사용자의 코드 수정시 파싱하여 사용자의 입력값에 대한 시각화를 제공할 예정입니다.

jsVisualizer

MiniNext

Next 12버전처럼 동작하는 MiniNext입니다. express, rollup, babel을 활용하여 JSX기반의 SSR을 구현합니다.

  1. getServerSideProps를 지원합니다.
  2. pages기반의 중첩라우팅을 지원합니다.

miniNext

nestedRoute-ezgif com-video-to-gif-converter

learning-by-making's People

Contributors

d0422 avatar turbobot-temp avatar

Stargazers

Junhyung Park avatar Lee Euije avatar

Watchers

 avatar

learning-by-making's Issues

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.