일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 명시적 타입 변환
- Headless 컴포넌트
- Microtask Queue
- linux 배포판
- Compound Component
- useCallback
- 타입 단언
- 좋은 PR
- useLayoutEffect
- jotai
- Recoil
- Custom Hook
- JavaScript
- 암묵적 타입 변환
- type assertion
- Redux Toolkit
- prettier-plugin-tailwindcss
- Render Queue
- CS
- 주니어개발자
- helm-chart
- 프로세스
- AJIT
- TypeScript
- react
- zustand
- 클라이언트 상태 관리 라이브러리
- docker
- Sparkplug
- task queue
- Today
- Total
목록독서 (7)
구리
도커 교과서의 5장(레지스트리에 이미지 공유), 6장(도커 볼륨을 이용한 퍼시스턴트 스토리지)을 읽으면서 공부한 것을 정리한 글입니다. 도커의 여러 장점 중에서도 공유는 핵심에 해당됩니다. 공유는 로컬 컴퓨터에서 빌드한 이미지를 다른 사람이 사용할 수 있게끔 하는 기능입니다. 그러면 공유되는 이미지의 구조와 공유 방식에 대해 알아보겠습니다. 이미지 참조 우리가 내려받는 이미지는 도커 레지스트리라는 서버에 저장됩니다. 도커 레지스트리 중 가장 유명한 도커 허브는 도커 엔진에 기본으로 설정된 레지스트리로 로컬에 없는 이미지를 내려받을 경우, 먼저 도커 허브에서 탐색합니다. 이때, 도커 이미지를 구분하기 위해 이미지에는 이미지 참조(전체 이름)이 부여되며 레지스트리에서 이미지 식별자 역할을 합니다. 이미지 참..
도커 교과서의 4장(애플리케이션 소스코드에서 도커 이미지까지)을 읽으면서 공부한 것을 정리한 글입니다. Dockerfile을 통한 멀티 스테이지 빌드 만약 팀단위로 작업을 하는데 도커가 없다면 코드를 빌드하기 위한 별도의 서버인 빌드 서버가 필요합니다. 빌드 서버 사용시, 팀원이 파일 누락 후 푸쉬할 경우 빌드 서버에서 빌드가 실패된 것을 팀원들도 알 수 있고 건전한 프로젝트를 유지할 수 있지만 빌드 서버 유지 비용이 추가되며 유지 보수를 위한 큰 오버헤드가 발생할 수 있습니다. 예를 들어 로컬 컴퓨터, 빌드 서버와의 사용 도구 버전이 다를 경우 빌드가 실패됩니다. 하지만 도커를 이용해 빌드 툴체인을 패키징하여 공유한다면 이런 단점을 극복할 수 있습니다. 먼저 개발에 필요한 모든 도구를 배포하는 이미지를..
도커 교과서의 1장, 2장, 3장을 읽으면서 공부한 것을 정리한 글입니다. Docker 탄생 배경 Docker는 2013년에 dotCloud의 Solomon Hykes와 그의 팀에 의해 처음 데모되었습니다. 이 당시에는 클라우드 환경에서 애플리케이션을 배포시 어려운 문제가 있었습니다. 커져가는 클라우드 환경에서 서버가 10대라면 문제가 되지 않지만, 수천 대의 서버를 관리하는 것은 매우 어려웠으며 기존 가상화 기술을 사용하면 리소스가 많이 소모되는 단점도 존재했습니다. dotCloud팀은 가상화 자체가 아닌 가상화 사용 방식이 문제라는 것을 인식했습니다. 전체 운영 체제를 가상화하는 대신 애플리케이션과 해당 종속성만 가상화하는 것이 더 효율적이라는 것을 깨닫고 Docker의 핵심인 컨테이너 개념을 도입했..
이 글은 코어 자바스크립트 책을 읽으며 정리한 글입니다. 4장. 콜백 함수 4-1. 콜백 함수란? 콜백 함수란 다른 코드의 인자로 넘겨주는 함수로 제어권과 관련이 깊습니다. 콜백 함수는 다른 코드(함수 또는 메서드)에게 인자로 넘겨줌으로써, 그 제어권도 함께 위임한 함수입니다. 4-2. 제어권 (1) 호출 시점 setInterval 콜백 함수 예제 (코드 실행 방식과 제어권) var count = 0; var cbFunc = function () { console.log(count); if (++count > 4) clearInterval(timer); }; var timer = setInterval(cbFunc, 300); code 호출 주체 제어권 cbFunc(); 사용자 사용자 setInterval..
이 글은 코어 자바스크립트 책을 읽으며 정리한 글입니다. 3장. this 3-1. 상황에 따라 달라지는 this 전역 공간에서의 this 전역 공간에서의 this는 전역 객체를 의미합니다. 개념상 전역 컨텍스트를 생성하는 주체는 전역 객체이기 때문입니다. 브라우저 환경에서 전역 객체는 window, Node.js 환경에서 전역 객체는 global입니다. 전역 변수, 전역 객체 예시 (1) var a = 1; console.log(a); // 1 console.log(window.a); // 1 console.log(this.a); // 1 전역 변수 선언 및 할당시, window.a와 this.a 모두 1이 출력됩니다. 이는 JS의 모든 변수는 실행 컨텍스트의 LexicalEnnvironment(이하 L..
이 글은 코어 자바스크립트 책을 읽으며 정리한 글입니다. 2장. 실행 컨텍스트 2-1. 실행 컨텍스트 실행 컨텍스트란 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로 다음과 같은 방식으로 진행되며 전체 코드의 환경과 순서를 보장합니다. 동일한 환경에 있는 코드들을 실행할 때, 필요한 환경 정보를 모아 컨텍스트를 구성 이를 콜스택에 쌓아 올림 가장 위에 쌓여 있는 컨텍스트와 관련 있는 코드들을 실행 보통 실행 컨텍스트를 구성하는 방법은 함수를 실행하는 것 뿐입니다. (자동으로 생성되는 전역 공간과 eval 제외) 참고로 최상단의 공간은 코드 내부에서 별도의 실행 명령 없이도 브라우저에서 자동으로 실행하므로 JS 파일이 열리는 순간 전역 컨텍스트가 활성화됩니다. 실행 컨텍스트에 담기는 정보들은 다음과 같..
이 글은 코어 자바스크립트 책을 읽으며 정리한 글입니다. 데이터 타입 1-1. 데이터 타입에 관한 배경지식 컴퓨터는 메모리에 데이터를 저장한다. 메모리는 많은 비트(bit)들로 구성되어 있으며 각 비트는 고유한 식별자로 구성된다. 바이트(byte) 비트로 위치 확인하는 것이 비효율적이며 표현 가능한 개수에 어느정도 제약이 있어도 문제되지 않을만큼의 적정한 공간을 묶기 위해 탄생되었다. 모든 데이터는 바이트 단위 식별자 (메모리 주소값)으로 구분된다. 1bit = 0 또는 1 (2개의 값 표현 가능) 1byte = 8bit (2의 8제곱, 256개의 값 표현 가능) 변수와 식별자의 차이점 변수 : 변할 수 있는 데이터 식별자 : 어떤 데이터를 식별하는데 사용하는 이름 (즉, 변수명) 1-2. 변수 선언과 ..