jopemachine. dev blog

개발 관련 개인적인 일상, 후기, 생각, 스터디, 문서 번역 등 각종 포스팅을 정리하고 공부하고, 공유합니다.

SSR, CSR, SSG, ISR

웹 프로그래밍

SSR, CSR, SSG, ISR SSR vs CSR SSR (Server Side Rendering, 서버 사이드 렌더링) 말 그대로 렌더링 로직을 서버에 두는 방식, 당연히 서버 메모리를 더 소모하고, 어느 정도 부하가 걸린다. 초기 구동 속도가 빠르지만, 클라이언트에서 js를 로드하는 경우 TTV (Time ...

호스트 객체와 내장 객체의 차이점

자바스크립트 세부사항 스터디

호스트 객체 (Host object) 와 내장 객체 (Native object) 의 차이점 내장 객체 (Native object) 내장 객체는 String, Math, Object, Function 과 같은 자바스크립트 언어의 일부에 해당하는 객체들을 의미함. 호스트 객체 (Host object) 호스트 객체는 window와 같은 BOM, XM...

Garbage collector

Garbage collector 세부사항

Garbage collector 어떤 메모리를 언제 회수할 것인가 하는 것은 비결정적 (non-deterministic) 문제이다. Reference counting (참조 횟수 계산 방식) 값이 얼마나 많이 참조 되었는지를 추적. 서로를 가리키는 객체들이 존재하는 경우 참조 횟수가 0이 되지 않으므로 회수되지 않...

프론트 성능 측정의 지표에 관해

Frontend 최적화

프론트 성능 측정의 지표에 관해 DomContentLoaded 이벤트 (DCL) HTML 문서가 파싱된 후 발생하는 이벤트. 클라이언트 사이드 자바스크립트 코드(react, jquery 등)를 로드. 예전엔 DCL의 발생 시점을 프론트 성능 측정의 지표로 사용했었다고 한다. DCL이 늦어진...

웹 폰트의 문제점과 해결

프론트 각종 문제 상황 해결

웹 폰트의 문제점과 해결 (FOIT, FOUT) 웹 폰트가 다운로드 되기 전 글자는 어떻게 렌더링 할 것인가? 브라우저에 따라 FOUT (Flash of unstyled text), FOIT (Flash of invisible text) 방식 중 어떤 것을 사용할 것인지 디폴트 값이 다름. font-displ...

브라우저의 cache 설정, 관리

Browser 세부사항

브라우저의 cache 설정, 관리 캐시의 종류 디스크 캐시: 파일 형태로 캐싱. 메모리 캐시: 브라우저를 껐다 켜면 다시 다운로드함. cache-control ;로 구분되는 다중 디렉티브들로 구성됨. 서버에서 응답할 때, Response header에 들어가 response...

호이스팅 (Hoisting) 이란?

자바스크립트 세부사항 스터디

호이스팅 (Hoisting) 이란? 호이스팅이란 변수와 함수의 선언들이 스코프의 맨 위로 끌어 올려지는 자바스크립트의 메커니즘이다. var의 경우 스코프 내에 var로 선언한 변수가 존재할 경우 호이스팅 때문에 아래 코드의 결과가 undefined가 된다. 1 2 console.log(v); // v는 선언되었지만 아직 할당 (바인딩) 되지 않...

Typescript 메서드 오버로드가 다른 언어와 다른 이유

Typescript

Typescript 메서드 오버로드가 다른 언어와 다른 이유 타입스크립트는 메서드 오버로드를 지원하지 않는다. 다른 언어처럼 오버로드한다면 타입스크립트를 자바스크립트로 바꾸어 실행할 때, 오버로드 했던 함수들이 같은 헤더를 갖게 된다. 자바스크립트에서 함수 변수는 단순히 함수 포인터일 뿐으로, 오버로딩이 불가능하다. 그래서 타입스크립트에서의 메...

tigervnc 셋팅 및 사용법 정리

리눅스

VNC란? VNC는 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템이다. 자판과 마우스 이벤트를 한 컴퓨터에서 다른 컴퓨터로 전송시켜서 네트워크를 거쳐 그래픽 화면을 갱신하는 방식을 제공한다. (출처: 위키백과) 회사에서 VNC로 GUI 기반의 서버 개발 환경에 접속하기 위해 사용할 일이...

vscode 터미널 키 바인딩 (Mac)

개발환경 셋팅

문제 vscode 터미널에서 cmd +left, cmd + right 키를 사용하여 단어 사이를 오갈 수 있게 키를 바인딩 하고 싶다. 방법 커맨드 팔레트를 연다 (cmd + shift + p) Open Keyboard Shortcuts (JSON) 를 검색 아래 텍스트를 복사 붙여넣기 한다. 1 2 3 4 5 6 7 8 9 10...