B41 TIL Blog

JavaScript에서 소수점을 더했을 때 값이 이상하다? (220318 업데이트)

JavaScript에서 소수점 더하기 컴퓨터는 2진법을 사용함. 0.1 + 0.3 = 0.30000000004 (?!) 컴퓨터의 부동 소수점 계산 문제 발생 소수를 2진수로 표현할 때 무한소수가 발생 무한수를 유한하게 표현하려다 보니 미세한 값들이 손실, 초과 됨. 따라서 계산 오류가 발생 원화는 괜찮지만 미국 달러화, 비...

HTTP란?

HTTP 프로토콜이란? HTTP(Hypertext Transfer Protocol) 통신하는 규칙을 이야기 함. 기본 포트 80번 HTTP 프로토콜로 데이터를 주고 받기 위해서는 요청(Request), 응답(Response)을 받아야 함. URL(Uniform Resource Locator...

Zustand - 상태관리 라이브러리

Zusatand란? redux같은 상태 관리 라이브러리 (홈페이지 캐릭터가 너무 귀여움.) store를 쉽게 만들고 한 줄 코드로 불러올 수 있는 정도로 매우 간단 사용법 npm i zustand 로 설치 import create from 'zustand' 로 create 불러오기 ...

컴파일과 런타임의 차이

컴파일 소스코드를 작성하고 기계어 코드로 변환되어 실행 가능한 프로그램이 되는 과정 런타임 컴파일을 마친 프로그램이 실행되고, 응용프로그램이 동작하는 때를 이야기 함 Reference https://spaghetti-code.tistory.com/35

PWA, MVC 패턴

PWA(Progressive Web App) 프로그레시브 웹이란? 웹과 네이티브 앱의 이점을 모두 가지고 있는 앱 웹 앱은 설치하지 않아도 되는 장점이 있음. 네이티브 앱은 설치하여 오프라인에서도 사용할 수 있고, 운영체제와 더 잘 통합됨. PWA는 이런 이점을 제공할 수 있는 웹 앱을 생성할 수 있음. 요즘 보면...

호출 스택과 이벤트 루프

호출 스택 (Call Stack) 함수가 호출되었을 때 호출 스택에 쌓이게 됨. 들어오는 순서대로 쌓이고 실행되는 순서는 반대로 호출 스택에는 Anonymous라는 가상의 전역 컨텍스트가 있음. 이 컨텍스트는 무언가가 호출되면 생기고 모든 함수가 실행되면 사라짐. 호출 스택의 이런 자료 구조 방식이 LIFO라고 함 LIFO (...

엔티티 코드(Entity Code)

HTML 엔티티 코드(Entity Code)는? 키보드로 쉽게 입력할 수 없는 문자를 표현하는데 사용. ISO-8859-1은 브라우저의 대부분의 기본 문자 집합 ISO-8859-1의 처음 128자는 ASCII 문자 집합 (숫자, 영문자, 일부 특수 문자) ISO-8859-1의 상위 부분(code 160-255)에는 서유럽 국가의 문자...

클로저(Closure)

들어가기 이전에 원티드 프리온보딩 코스에서 수업을 들으면서 간단하게 블로그에 정리했지만 너무 얕게 공부했다는 생각이 들어서 다시 정리. Scope 변수가 유효한 범위를 말함. Global Scope (전역), Local Scope (지역)가 있음. Lexical scoping 어휘적 범위 지정 Lexical : 변수...

React 재조정(Reconciliation)과 key, DIFF 알고리즘

들어가기 기본에 충실하자! 이전에 작성한 코드를 다시 리팩터링 하는 중 이런 코드를 보았다. array.map( x => { return ( x.length < 5 && <div id={x.id}>{x.content}</div> ) }) 위 코드에서 x의 length는 4보다...

Pseudo Element, Iass, Pass, Sass

Pseudo Class (가짜 클래스, 의사 클래스, 가상 클래스, 추상 클래스) : pseudo class hover, checked 등이 해당. 외부 인자와 관련된 경우에도 스타일 적용할 수 있음. (마우스 위치, 콘텐츠 상태 등) https://developer.mozilla.org/ko/docs/...