이렇게 글을 적게 되는게 얼마 만인지 놀라울 따름이다. 매번 시간이 없어서, 여유가 없어서라는 핑계를 대가며 글을 적는 것은 잠시 미루어두곤 했다. 지금부터 5년전이었나? 군대 전역하고 1년 정도 후이니, 아마 그때쯤이었을 것이다. 여름 방학에 여느 건축학과 학생들은
프로바이더는 Nest의 기본이 되는 개념이다. 이해가 쉽지 않아서 공식문서를 보며 정리하고 있는 중이다. 대부분의 기본 Nest 클래스는 서비스, 리포지토리, 팩토리, 헬퍼등 프로바이더로 분류된다. 이렇게 구분하는 방식 자체가 프로바이더(Provider)인 것 같다.
Testing 테스트가 자동화되어있으면 차후에 유지관리 측면에서 혹은 문제가 발생하거나 했을 때의 개발차원의 자원이 과도하게 들어가는 것을 막을 수 있기때문에 필수적으로 취급된다. 자동화를 통해 개발중에 개별 유닛으로 테스트하거나 테스트 스위트를 쉽게 빠르고 반복할 수
NestJS는 내장된 종속성 주입을 사용해서 쉽게 테스트 코드를 작성할 수 있도록 도와준다! 종속성 주입은 일반적으로 클래스가 아닌 인터페이스를 기반으로하지만, TypeScript에서 인터페이스는 런타임이 아닌 컴파일 타임에만 존재한다.(런타임에는 인터페이스는 증발함.
Swagger는 API 문서 자동화도구이다. Nest를 실질적으로 프로젝트에 적용한 적이 없었기 때문에 이전에는 DB를 기록하는 방식으로 DBdiagram이라는 웹 서비스를 이용했었다. API의 변경사항이 있을때마다 수기로 작성해서 변경시켜
컨트롤러는 들어오는 요청(request)를 처리하고 응답(response)를 클라이언트에 돌려주는 역할을 맡는 중심적인 모듈이다. (API).controllers.ts와 같은 파일명으로 작성하게되고, API 디렉토리에 저장하게 된다.컨트롤러의 목적은 애플리케이션에 대한
NestJS는 효율적이고 확장가능한 NodeJS Server-Side 어플리케이션을 만들기 위한 프레임워크이다. 내부적으로 ExpressJS를 사용하며, 초기 설정을 통해서 Fastify를 사용할 수 있다. NestJS > NodeJS 및 Server Side JS
HTTPS와 HTTP? HTTP 인터넷 상에서 정보를 주고받는 통신목적으로 사용되는 프로토콜이다. 리소스를 받는 쪽을 클라이언트(Client)가 되고, 리소스를 보내주는 쪽이 서버(Server)가 된다. HTTP에 관련된 내용은 이전에 공부한 이전 글 - 클라이언트와
현대 운영체제의 기본 요구조건은 프로세스 관리운영체제는 프로세스에게 자원을 할당하고(인터리빙, 세마포어), 프로세스들이 정보를 공유하고 교환, 각 프로세스의 리소스를 다른 프로세스로부터 보호하고, 프로세스들간에 동기화(세마포어) 시킨다.이러한 요구조건을 만족시키기 위해
운영체제(Operating System)란? > 운영체제란 컴퓨터 하드웨어(입출력 장치, CPU)의 리소스를 관리해주면서 동시에 여러 애플리케이션이 작동할 수 있는 환경을 제공해주는 소프트웨어다. OS는 프로그램들이 리소스를 필요로 할 때 필요 리소스를 할당해준다.
아무래도 주니어도 못된 내가 이런 글을 쓰는 것이 조금은 이상해보일지도 모르겠지만, 이러저러 공부를 하다보니 한자 적어보자는 취지에서 적게되었다. 물론 지금은 취준을 하는 시기고, 기술면접을 대비하는 면도 없지 않아 있지만, 이런 생각들이 모이면 언젠가 내게 강한 무기
SQL은 RDBMS에 저장된 데이터와 통신하기 위해 필요한 프로그래밍 언어다. SQL문법은 영어와 유사하게 만들어져서 쉽게 읽고 쓰고 해석할 수 있다.데이터 조작어는 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터 검색, 등록, 삭
데이터베이스시스템? DBMS! 데이터베이스시스템은 데이터베이스를 효과적으로 관리하기 위한, 많은 데이터를 효율적으로 관리하고 지원하기 위한 소프트웨어라고 일전에 공부했다. 데이터베이스시스템 통칭 DBMS는 사용자로 하여금 데이터를 추가,삭제,갱신,삽입하더라도 데이터베이
데이터 베이스의 인스턴스와 스키마는 데이터베이스 분야에서 사용하는 용어인데, 프로그래밍에서의 변수의 값과 타입(type)에 대응되는 유사한 개념이다. 인스턴스(instance)는 실질적인 데이터 리소스를 이야기하고, schema는 데이터베이스의 구조를 의미하니, 거의
데이터베이스(DB, Database)는 서로 연관성있는 데이터들의 모임을 이야기한다. 일반적으로 우리가 관심 있는 데이터베이스는 컴퓨터에 저장되어 있는 데이터이며, 또한 데이터 용량이 방대하며 주기억장치에는 저장이 불가능하여 2차저장장치인 하드디스크 또는 플래시 메모리
네트워크의 사전적 의미는 전선이나 혈관, 통로 등으로 이루어진 망형 조직이다. '네트워크'라는 용어는 방송사 네트워크, 인맥을 의미하는 휴먼 네트워크(Human Network) 등 다양한 의미로 사용하는데, 그 중 가장 많이 쓰이는 의미는 컴퓨터와 컴퓨터를 연결해주는
이전에 브라우저가 리소스를 가져와서 파서를 이용해서 파싱트리를 구성하고, 파싱트리를 컴파일러를 통해서 기계어로 번역하는 과정까지 살펴봤다. 그 과정에서 HTML이라는 마크업 언어는 유연하기 때문에 파싱이 어렵다는 사실까지 알았다. 그렇다면 내부에서 파싱이 일어날때 어떤
파서는 이전 글에서 봤듯이, 데이터(문서 파일)이 왔을 때 이것을 컴퓨터가 이해할 수 있게끔 구조를 재구성하는 단계라고 이해하면 되겠다. 파서는 우선 문서가 오게되면 이 문서를 토큰이라는 유효성이 있는 단어 단위로 나누어 분해하고, 이것을 언어구문규칙에 따라 파싱트리로