Books

5개의 글

모던 자바스크립트 Deep Dive

모던 자바스크립트 Deep Dive 스터디 1주차 💫 4장 변수 var 키워드의 단점 블록레벨 스코프를 지원하지 않고 함수레벨 스코프를 지원한다 → 의도치 않은 전역변수가 생성될 수 있다. 호이스팅의 문제 자바스크립트는 선언단계와 초기화단계가 나누어져 실행된다 위처럼 한 줄에 선언과 초기화를 모두 작성하든, 아래처럼 선언과 초기화를 두 줄에 나누어 작성하든 자바스크립트는 똑같이 선언단게와 초기화단계를 나누어 실행한다. 변수의 호이스팅은 이러한 이유로 발생하는 것이다. 가비지 콜렉팅 메모리를 사용한 후 개발자가 이를 직접 반환해주어야 하는 언매니지드 언어가 있고, 참조되지 않는 메모리는 언어 차원에서 담당하여 반환해주는 매니지드 언어가 있다. 자바스크립트는 가비지 콜렉팅(참조되지 않는 메모리는 반환)이 되는

2023. 07. 30.

우아한 타입스크립트 with 리액트

우아한 타입스크립트 with 리액트 책을 읽고 정리한 내용 [1장] 들어가며 폴리필(polyfill)과 트랜스파일(transpile) 웹사이트와 웹 어플리케이션 컴포넌트 베이스 개발(Component Based Development, CBD) 슈퍼셋(Superset) [2장] 타입 2.1 타입이란 자료형으로서의 타입 집합으로서의 타입 정적 타입과 동적 타입 강타입과 약타입 컴파일 방식 2.2 타입스크립트의 타입 시스템 타입 애너테이션 (type annotation) 타입 애너테이션이란 변수나 상수 혹은 함수의 인자와 반환 값에 타입을 명시적으로 선언해서 어떤 타입 값이 저장될 것인지를 컴파일러에 직접 알려주는 문법이다. 구조적 타이핑 (Structural type system) 이름으로 타입을 구분하는 명목

2024. 04. 20.

React Deep Dive

모던 React Deep Dive 책을 읽고 정리한 내용 리액트의 역사 [1장] 리액트 개발을 위해 꼭 알아야 할 자바스크립트 자바스크립트의 동등 비교 falsy가 가능한 값의 실제 타입 리액트에서 사용하는 동등 비교는 ==나 ===가 아닌 Object.is다. 함수 자바스크립트에서 함수는 일급 객체다. 함수의 호이스팅, 변수의 호이스팅 재사용되지 않는 함수이고, 단 한번만 실행되고 끝난다면 즉시 실행 함수(IIFE)의 사용을 검토해보자 부수효과가 없는 함수 -> 순수함수, 부수효과가 존재하는 함수 -> 비순수 함수 부수효과는 어떻게 보면 피할 수 없는 요소 -> API 호출, console.log, useEffect 등 함수는 하나의 일을, 그 하나만 잘하면 된다. 가능한 한 함수 이름은 간결하고 이해하기

2024. 02. 22.

Tidy First?

켄트 벡의 Tidy First? [PART 1] 코드 정리법 코드 정리를 리팩터링의 부분집합으로도 볼 수 있습니다. 코드 정리는 작은 리팩터링입니다. 무섭다면 작게 하세요. 두려움을 느끼지 않는 수준의 바로 그 단계가 가장 좋은 수준입니다. 보호 구문 중첩된 조건은 아래와 같이 정리할 수 있습니다. 처음 두 줄은 도우미 메서드로 추출할 수 있습니다. 안 쓰는 코드 지워 버리세요. 지웠다가 나중에 필요할 경우 어떡하지?라고 말할 수도 있습니다. 이런 걱정이라면 바로 형상 관리 도구가 해결해 줍니다. 최악의 상황이 오더라도 언제든 되돌릴 수 있습니다. 대칭으로 맞추기 코드는 유기체처럼 성장하므로 같은 문제라도 시대와 사람에 따라 여러 가지 방식으로 코드를 작성할 수 있습니다. 한 가지 방식을 선택해서 정합니다.

2024. 09. 21.

JS & React Design Pattern

[Chapter 1] 디자인 패턴 소개 디자인 패턴은 코드를 체계화하기 위한 공통적인 패턴을 제공해 코드를 쉽게 이해하도록 돕고, 다른 개발자와의 의사소통을 원활하게 해줍니다. 디자인 패턴은 유지보수가 쉬운 코드를 작성하거나 리팩터링할 수 있는 길을 열어준다는 점에서 굉장히 중요합니다. 디자인 패턴은 어딘가에 얽매이거나, 어느 한 언어에 국한되지 않는다는 점이 중요합니다. 디자인 패턴은 크리스토퍼 알렉산더라는 건축가가 특정 디자인 구조를 반복해서 사용하면 최적의 효과를 얻을 수 있다는 사실을 깨달아 패턴 언어를 탄생시킨데서 시작되었습니다. 패턴이란 소프트웨어 설계에서 반복되는 문제와 주제에 적용할 수 있는 재사용 가능한 템플릿을 뜻합니다. 디자인 패턴이 개발자들에게 유용한 이유 패턴은 완벽한 해결책이 아

2024. 09. 21.