jopemachine. dev blog

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

번역 - JavaScript 실행 컨텍스트 — 컴파일부터 실행까지 (part 1)

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

JavaScript 실행 컨텍스트 — 컴파일부터 실행까지 (part 1) 많은 사람들에게 JavaScript는 미스터리입니다. JavaScript만의 독특한 특징이 있습니다. 아래의 용어를 들어본 적이 있을 것입니다. 호이스팅 스코프, 스코프 체인 클로저 this 위 항...

번역 - V8 Javascript 엔진의 단계 별 작동 방식

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

V8 Javascript 엔진의 단계 별 작동 방식 하이 레벨에서 볼 때 V8 JavaScript 엔진 실행은 5단계로 구성됩니다. Host 환경 초기화 자바스크립트 코드 컴파일 바이트 코드 생성 바이트 코드 실행 및 인터프리팅 몇몇 바이트 코드의 최적화 ...

fork vs spawn (그 외 exec, clone 등)

Linux

fork vs spawn (fork_exec, clone 등) fork 현재 프로세스를 clone해 자식 프로세스를 생성함. 부모 프로세스의 모든 리소스를 카피한다. Linux (Unix)에서 기본 값. spawn 프로세스 생성 속도는 fork 보다 살짝 느리다. spawn은 fork + exec 이다, 즉 자식 프로세스...

Blocking, non blocking vs sync, async

Programming

Blocking, Non blocking vs Sync, Async 원래 sync는 blocking이고 async는 non blocking 이라고 이해해두었으나, Node.js에서만 그렇게 작동하고, 원래 다른 개념이기 때문에 다시 정리해둔다. Blocking vs Non blocking Blocking blocking은 말 ...

CORS vs CSP

Browser 세부사항

CORS vs CSP CORS (Cross-Origin Resource Sharing), 동일 출처 정책 CORS를 사용하면 현재 도메인과 (Response에서 허용해주지 않는) 다른 도메인의 API 콜을 제한함. (포트 포함) 공격자가 XSS (Cross site scripting, 악성 스크립트 삽입 실행) 공격...

크롬 브라우저 아키텍쳐 공부한 내용 정리

Browser 세부사항

Chrome 브라우저 아키텍쳐 브라우저 아키텍쳐 구현 사항에 표준은 없음. 다수의 스레드끼리 통신해도 되고, IPC를 통한 많은 프로세스들의 통신을 통해 구현해도 된다. 이런 건 그냥 세부사항일 뿐임. 크롬의 경우 한 탭 당 하나의 프로세스를 사용한다. 그래서 탭 하나 당 한 개의 렌더러 프로세스를 ...

Git ~과 ^의 차이

Git 사용법

Git ~과 ^의 차이 Rules of thumb (경험적으로 이렇게 사용한다) ~는 이전 세대 커밋 오브젝트를 가리키기 위해 사용함. (Use ~ most of the time — to go back a number of generations, usually what you want) ^는 커밋들을 병합할 때 (즉...

Git 푸시하지 않은 커밋 확인

Git 사용법

Git 푸시하지 않은 커밋 확인 1 $ git log --branches --not --remotes

Git 이미 커밋된 파일 추적 중지하기

Git 사용법

Git 이미 커밋된 파일 추적 중지하기 이미 커밋되었다면 나중에 .gitignore에 추가해도 계속해서 변경사항을 추적한다. 파일의 변경 사항 추적을 중지하기 위해, git rm --cached <file-name> 명령어를 사용할 수 있다. 해당 명령어는 디스크에서 파일을 지우지 않음. ...

자바스크립트 디버깅 console.log로 그 당시의 값을 출력하기

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

자바스크립트 디버깅 console.log 관련 1 2 3 4 5 // X console.log(obj); // O console.log(JSON.parse(JSON.stringify(obj))) 로그를 남길 당시의 object 값을 보기 위해선, 단순히 console.log로 값을 찍는 게 아니라 아래처럼 JSON.parse, J...