개발 3

[Docker] Dockerfile로 도커 이미지 만들기

도커 컨테이너를 실행시키기 위해서는 설계도 역할을 하는 도커 이미지가 필요하다. 도커 이미지는 레지스트리에서 pull 받아서 사용할 수 있다. 레지스트리는 이미지를 제공하는 저장소이고, 기본값은 도커 허브이다. 다음 명령어로 레지스트리에서 이미지를 pull 받아올 수 있다. docker image pull {이미지 이름} 레지스트리에 이미 공개되어 있는 이미지를 쓸 수 있을 뿐만 아니라, 공개된 이미지에 기반하여 나만의 설정을 추가한 이미지를 빌드할 수 있다. 나만의 이미지를 빌드하기 위해서는 Dockerfile을 작성해야한다. 도커 이미지란? 이미지는 물리적으로는 여러 개의 작은 파일(레이어)로 구성되어 있다. 도커는 레이어들을 조립해 컨테이너의 내부 파일 시스템을 만든다. Dockerfile Dock..

개발/Docker 2024.01.23

Event Loop & 비동기 정리

자바스크립트는 동기 자바스크립트는 싱글 스레드 언어, 즉 동기식 언어이다. 하나의 콜 스택(Call Stack)으로 동작하며, 콜 스택에서 작업을 하나씩 뽑아서 한번에 한개의 작업을 실행한다. 따라서 콜 스택에 있는 작업들을 순차적으로 처리할 수 밖에 없다. 이미지 출처: https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif 즉, 자바스크립트는 병렬 처리를 할 수 없으며, 작업들은 동기적으로 처리된다. 그러나! 이벤트 루프(Event Loop)를 통해 비동기 처리를 할 수 있다. 자바스크립트 혼자서는 동기식으로 동작하지만, 브라우저 or Node.js의 이벤트 루프를 통해 비동기적인 처리를 할 수 있다. 비동기적 처리를 할 수 있다니, 이게 ..

개발/Node.js 2023.07.26

객체 지향 프로그래밍(OOP)이란?

객체(Object)란? 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화한) 하나의 독립된 존재. 소프트웨어 모듈. 데이터: 객체가 가지고 있는 정보. 속성(attribute) 함수: 객체가 수행하는 기능으로 객체가 갖는 데이터(속성, 상태)를 처리하는 알고리즘. 객체의 상태를 참조하거나 변경하는 수단. 메서드(method) 객체 지향 프로그래밍(Object Oriented Programming, OOP) 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아닌, 프로그램을 수많은 객체로 나누고 이들의 상호 작용으로 서술하는 방식. 객체 지향 프로그래밍의 특징 추상화 (Abstraction) 다형성 (Polymorphism) 상속 (Inheritance) 캡슐화 (Encapsulation) 객체 지향..

개발 2023.07.18