공식 문서를 참고해서 내용을 정리해보자. Django,Sequelize 모두 orm에 대한 설명은Object–relational mapping Wikipedia로 대체 되어있다. Hibernate 만 자체적인 Hibernate - What is Object/Relational Mapping?이라는 문서가 있어, 이 문서를 기반으로 내용을 정리해보자. What is Object/Relational Mapping? - Hibernate ORM Idiomatic persistence for Java and relational databases. hibernate.org 영속성 - Persistence 하이버네이트 ORM은 애플리케이션이 영속성을 달성하는 데 도움을 줍니다. 그렇다면 영속성이란 무엇일까요? 영속..
TypeScript의 타입 시스템은 더 나은 코드 완성, 오류의 조기 발견, 프로그램 부분 간의 더 명확한 통신과 같이 정적 타이핑이 가지는 많은 이점을 제공한다. 하지만, TypeScript의 Type 시스템을 잘 알지 못한다면, 오류를 조기 발견하려다 오히려 알 수 없는 오류의 늪에 빠질 수 있다. 글을 시작하기 앞서 아래 두 문장의 (O/X)를 고민해보자. TypeScript는 인터페이스, 상속, 정적 메서드 구현과 같은 많은 일반적인 패턴을 표현할 수 있다. (O/X) TypeScript는 인터페이스, 상속, 정적 메서드 구현과 같은 많은 일반적인 패턴을 반드시 따른다. (O/X) 타입 다시 생각하기 Java에서의 타입 SetTest.java public class Main { public sta..
Git 짧게 보는 Git의 역사 Git - 짧게 보는 Git의 역사 2005년에 커뮤니티가 만드는 Linux 커널과 이익을 추구하는 회사가 개발한 BitKeeper의 관계는 틀어졌다. BitKeeper의 무료 사용이 재고된 것이다. 이 사건은 Linux 개발 커뮤니티(특히 Linux 창시자 Linus Tor git-scm.com 우리네 삶의 삼라만상처럼 Git 또한 창조적 파괴와 활활 타오르는 갈등 속에서 시작됐다. Linux 커널은 굉장히 규모가 큰 오픈소스 프로젝트다. Linux 커널의 삶 대부분은(1991–2002) Patch와 단순 압축 파일로만 관리했다. 2002년에 드디어 Linux 커널은 BitKeeper라고 불리는 상용 DVCS를 사용하기 시작했다. 2005년에 커뮤니티가 만드는 Linux..
실행 컨택스트 자바스크립트 엔진은 단 하나의 실행 컨텍스트 스택을 갖는다. 싱글 스레드 방식으로 동작한다. 자바 스크립트의 동시성을 지원하는 것이 이벤트 루프(event loop) 이다. v8과 같은 자바 스크립트 엔진은 콜스택을 순차적으로 실행하기만 한다. 비동기 처리에서 소스코드의 평가와 실행을 제외한 모든 처리는 자바스크립트 엔진이 아니라 이를 구동하는 환경인 브라우저 또는 Node.js가 담당한다. 그림에서 JS전용이 실행 컨텍스트 톱니바퀴는 이벤트 루프를 나타내고 있다. 태스크 큐 task queue / event queue / callback queue 비동기 함수의 콜백 함수 또는 이벤트 핸들러가 일시적으로 보관되는 영역이다. 마이크로큐 microtask queue / job queue 마이..
Worker Thread Worker Thread Worker threads | Node.js v18.17.0 Documentation Worker threads# Source Code: lib/worker_threads.js The node:worker_threads module enables the use of threads that execute JavaScript in parallel. To access it: const worker = require('node:worker_threads'); copy Workers (threads) are useful for performing nodejs.org The node:worker_threads module enables the use of threa..
타입스크립트 개발환경 설정하기 TypeScript 개발 환경 설정하기(Debugging) TypeScript 개발 환경 설정하기(Debugging) VSCode 빈 디렉터리 열기 npm init 하기 npm init -y tsc init 하기 이때 반드시 sourceMap을 만들어줘야 js파일을 ts로 디버깅 할 수 있다. tsc --init --sourceMap 타입스크립트 파일 만들고 중단점 걸기 파일 sourceMa code-l.tistory.com 아래 글을 따라서 개발환경을 설정한다. JEST 설치하기 JEST 설치 Jest By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To mak..
VSCode 빈 디렉터리 열기 npm init 하기 npm init -y tsc init 하기 이때 반드시 sourceMap을 만들어줘야 js파일을 ts로 디버깅 할 수 있다. tsc --init --sourceMap 타입스크립트 파일 만들고 중단점 걸기 아래 둘중 하나의 방법으로 컴파일 하기 1. 파일 sourceMap을 만들며 자바스크립트로 컴파일 하기 tsc *ts --sourceMap 2. 또는 타입스크립트 파일 변경을 관측하면서 자동으로 자바스크립트로 컴파일하게 할 수 있다. 새로운 터미널을 열어서 아래 명령을 입력한다. tsc --watch tsc -w 보이는것처럼 관측하며 자동으로 컴파일한다. 생성된 자바스크립트 파일이랑, map 파일 확인하기 디버깅 탭 가서 launch.json 파일 만들..