전체 글 48

[좋은 코드, 나쁜 코드 review] 1장 코드 품질

개발자라면 한 번쯤은 들어봤을 법한 책이다. 대부분의 개발자들은 모두 좋은 코드, 성능이 나오는 코드, 오류 없는 코드, 가독성 좋은 코드를 작성하고자 하는 마음이 있을 것이다. 나 또한 그런 생각을 하기 때문에 이 책을 통해 나의 코드의 품질이 보다 개선되길 바란다! 목차 1.1 코드는 어떻게 소프트웨어가 되는가 1.2 코드 품질의 목표 1.3 코드 품질의 핵심 요소 1.4 고품질 코드 작성은 일정을 지연시키는가? 요약 1장은 다음과 같은 내용을 다룬다. 코드 품질이 중요한 이유 고품질의 코드가 이루고자 하는 네 가지 목표 고품질 코드 작성을 위한 높은 수준에서의 여섯 가지 전략 고품질의 코드 작성이 어떻게 중장기적으로 시간과 노력을 절약할 수 있는지 1.1 코드는 어떻게 소프트웨어가 되는가 코드는 일..

Reviews 🧐/Books 2023.12.12

[타입스크립트 프로그래밍 review] 2장 타입스크립트: 3,000미터 상공에서 내려다보기

타입스크립트에 관해 궁금하던 찰나 이 입문자가 시작하기에 예시도 많고 설명이 친절하다고 해서 이 책으로 타임스크립트 입문에 도전하고자 한다. 목차 2.1 컴파일러 2.2 타입 시스템 2.3 코드 편집기 설정 2.4 index.js 2.1 컴파일러 타입스크립트는 다른 언어와 달리 컴파일러가 코드를 바이트코드 대신 자바스크립트 코드로 변환한다. 이후로는 일반적인 자바스크립트 코드를 실행하듯이 브라우저, NodeJS 등으로 실행할 수 있다. 타입스크립트 컴파일러는 AST를 만들어 결과 코드를 내놓기 전에 타입 확인을 거친다. 타입 확인 덕분에 타입스크립트는 프로그램이 개발자의 기대대로 실행될 수 있게 해주고, 명백한 실수가 들어가지 않게 방지해준다. 더보기 타입 검사기(typechecker) 코드의 타입 안전..

Reviews 🧐/Books 2023.12.12

[javascript] for...of 명령문

오늘은 자바스트립트의 반복문 중 하나인 for...of 명령문에 대해 공부해보자. for...of 명령문은 반복가능한 객체(예를 들어 Array, TypedArray, Set, Map...)에 대해서 반복하고 각 개별 속성값에 대해 실행되는 문이 있는 사용자 정의 반복 후크를 호출하는 루프를 생성한다. 구문 for (variable of iterable) { statement; } variable 각 반복에 서로 다른 속성값이 variable에 할당된다. iterable 반복되는 열거가능(enumerable)한 속성이 있는 객체. 예제 let iterable = [10, 20, 30]; for (let value of iterable) { // let 대신 const 사용도 가능 console.log(v..

[javascript] parseInt() 사용 방법

오늘은 자바스크립의 parseInt() 함수에 대해 공부해보자. parseInt() 함수는 문자열 인자를 파싱하여 특정 진수의 정수를 반환한다. (파싱이란 데이터를 분해 분석해서 원하는 형태로 조립하고 다시 빼내는 프로그램) 구문 parseInt(string); parseInt(string, radix); 매개변수 string 파싱할 값이다. 문자열이 아닌 경우 toString 추상 연산을 사용해 문자열로 변환할 것이다. 문자열의 선행 공백은 무시한다. radix string의 진수를 나타내는 2부터 36까지의 정수이다. 주의! 기본 값이 10이 아니다! Number 자료형이 아닌 경우 Number로 변환한다. 반환 값 주어진 string에서 파싱한 정수이다. 아래와 같은 경우에는 NaN을 반환한다. r..

[javascript] Constructor(생성자)란?

오늘은 자바스크립의 Constructor 메서드에 대해 공부해보자. Constructor 메서드는 클래스의 인스턴스 객체를 생성하고 초기화하는 특별한 메서드로 쉽게 말해 생성자이다. 파이썬의 경우 클래스에서 __init__으로 변수를 초기화하는 것과 동일한 역할을 한다고 이해하면 된다. 구문 constructor() { ... } constructor(argument0) { ... } constructor(argument0, argument1) { ... } constructor(argument0, argument1, ... , argumentN) { ... } 설명 Constructor를 사용하면 다른 모든 메서드 호출보다 앞선 시점인, 인스턴트 객체를 초기화할 때 수행할 초기화 코드를 정의할 수 있다..