일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- execution context
- 자바스크립트
- algorithm
- node.js
- python algorithm
- 자바
- useState
- 파이썬
- react 기초
- REACT
- 코드스테이츠
- codestates
- 알고리즘
- 자료구조
- java
- Zerobase
- 파이썬 알고리즘 인터뷰
- 운영체제
- Computer Science
- OS
- context switching
- JavaScript
- 비동기
- 개발공부
- 컴퓨터공학
- 프로그래머스
- Operating System
- 테스트코드
- Python
- 글또
- Today
- Total
목록전체 글 (113)
Back to the Basics

NestJS에서 모듈은 애플리케이션에서 비슷한 기능을 논리적으로 묶은 단위이다. 유사한 기능을 하는 컴포넌트들을 한데 모아 관리하는 컨테이너 역할을 한다. 만약 Auth 서비스(로그인, 회원가입 등), 사용자 관련 서비스(사용자 정보 조회, 사용자 정보 수정 등), 주문 관련 서비스(주문 생성, 주문조회 등)가 있다고 한다면 이들 각가이 하나의 모듈이 된다. 이런 특성으로 코드를 깔끔하게 정리할 수 있고 다른 모듈과 독립적으로 동작하도록 한다.NestJS 모듈은 @Module() 데코레이터가 달린 단일 클래스이며 이 데코레이터를 통해 애플리케이션 구조를 구성하는데 필요한 메타데이터를 제공받는다. 제공받는 메타데이터는 아래와 같이 네 가지가 존재한다.imports다른 모듈에서 export하는 기능을 사용..

들어가며1장에서는 리팩터링이 무엇인지 감을 잡기 위한 것이었다면, 2장은 리팩터링의 정의와 이유, 시기, 그리고 리팩터링 시 고려해야 할 다양한 측면들을 다룬다.2장 요약2.1 리팩터링의 정의코드를 정리하거나 구조를 바꾸는 작업을 재구성(restructuring)이라고 하며, 리팩터링은 이러한 재구성의 한 형태다. 리팩터링의 핵심 목적은 코드를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 구체적으로 리팩터링은 "기본 동작은 그대로 유지한 채, 여러 기법들을 사용해서 소프트웨어를 재구성하는 것"을 의미한다.리팩터링은 작은 단계들을 통해 코드를 점진적으로 수정하고, 이러한 단계들이 연결되어 궁극적으로 큰 변화를 만들어낸다. 가장 중요한 점은 코드의 구조는 변경하지만, 프로그램의 전반적인 기능은 그대로 유..

개인적으로 요즘 테스트, 특히 단위 테스트에 대해 관심이 생기고 있었다.단위 테스트를 어떻게 잘, 효율적으로 작성할 수 있을까? 유의미한 단위 테스트는 어떻게 작성하는 것이 좋을까? 하는 고민을 했었고[TEST]테스트 원칙에 대하여 - 소프트웨어 테스트의 7원칙과 FIRST원칙 이라던가 [TEST]테스트 코드를 어떻게 시작하면 좋을까 와 같은 글도 작성하면서 조금씩 공부를 하고 있다.이런 와중에 "[길벗출판사] 26차 개발자 리뷰어"를 모집한다는 광고를 보았는데, 그중에 "단위 테스트의 기술"이라는 책이 눈에 들어왔다. 저번에 신청했을 때는 선정이 안되었었기 때문에 큰 기대 없이 신청서 작성을 하였다. 그런데 운 좋게도 이번엔 당첨이 되었다.책은 이틀 뒤에 받았고, 긴 연휴 동안 천천히 읽었고, 쉬는 ..

개발자 이직을 준비하다 보면 다른 직군에 비해 준비해야 할 것들이 유독 많다는 것을 실감하게 된다. 기계공학과를 졸업하고 관련 직종으로 취업을 준비했던 경험과 비교해보면 그 차이가 확연히 느껴진다.일반적인 채용 프로세스는 서류 - 1차 면접 - 2차 면접 - (추가 면접) - 협상 - 합격의 순서를 따르지만, 현재 개발자 채용 시장에서는 대부분의 기업이 코딩테스트나 과제전형을 필수로 요구한다. 심지어 둘 다 요구하는 경우도 적지 않다. 여기에 기술면접 준비와 사이드 프로젝트까지 병행하려면 시간이 매우 부족하다.이런 상황에서 코딩테스트 준비는 종종 서류 합격 이후에 급하게 이루어지곤 했다. 프로그래머스와 백준으로 꾸준히 감을 유지하려 했지만, 실제로는 쉽지 않았다. 매번 급하게 준비하고 나면 '미리 준비할..

리팩터링 2판이 나왔다고 해서 사놓고 책장에만 꽂아놓은지 1년이 지났다.요즘 좋은 코드란 무엇인지, 무엇이 읽기 좋은 코드인지, 코드 정리를 하긴 하는데 제대로 하고 있는 것이 맞는지 등의 생각을 하게 되었고 책장에 장식용으로 사용되고 있던 이 책을 발견하게 되었다. 가볍게 누워서 읽어보다 보니 정리를 하면서 읽으면 더 좋을 것 같아 정리를 시작하게 되었다.물론 항상 정답이 있는 것은 아니지만, 참고하기 좋은 책이라는 생각이 든다. 기회가 된다면 관련 스터디를 만들어서 추진해보아도 좋지 않을까 싶다.이 책은 총 12장까지 있고 01~04 까지는 리팩터링 원칙의 전반적인 이야기, 리팩터링의 필요성 등을 이야기 하고 05장~12장 은 핵심이라고 할 수 있는 마틴파울러의 리팩터링 기법들이 소개된다. 이번 포스..

NodeJS 개발자로 공부를 하면서 정리했던 것을 다시 상기하기 위해 정리해보았다. 하나의 블로그 글로 정리를 할 수 있는 양일까 싶지만 최대한 간략하게 정리해보려고한다..!(글을 쓰고 보니 간략하지는 않다)목차는 아래와 같다1. NodeJS의 기본 구조와 기본 실행 흐름2. NodeJS의 libuv 조금 더 자세히 - Event loop3. 그 외 microTaskQueue, nextTickQueue 에 대하여4. 마치며1. NodeJS의 기본 구조와 기본 실행 흐름NodeJs의 구조는 크게 아래와 같이 구성되어 있다 일단 각각 어떤 기능을 하는지 간단하게 확인해보자V8 엔진 : 자바스크립트 코드를 해석하고 실행하는 구글에서 개발한 엔진이다. JIT(Just-In-Time) 컴파일러를 활용하여 자바스..

주로 단일 인덱스를 많이 사용해 왔고 복합인덱스를 가끔 사용하곤 한다. 최근 면접 질문에서 관련 이야기가 나왔고 제대로 대답을 하지 못했다. 복합인덱스가 어떻게 저장되는지, 복합인덱스의 순서를 어떻게 해야 효과적으로 사용할 수 있는지에 대한 것은 사용하는 입장에서 당연히 알아야 할 개념이었다. 무턱대고 설정해 놓는다면 인덱스가 소용없게 될 수도 있다. 이번에 인식한 김에 정리를 해보았다.참고로 postgresql을 기준으로 하였다.목차는 아래와 같다1. 복합인덱스란?2. 복합 인덱스의 구조, 어떻게 생겼고 어떻게 작동하나?3. 복합인덱스는 어떻게 설계해야할까?4. 정리1. 복합인덱스란?복합인덱스는 하나 이상의 컬럼을 을 조합하여 만든 인덱스이다. 예를 들어 "name" 과 "age" 라는 두 열에 대해 ..

이전 포스팅 [TEST] 테스트 원칙에 대하여 - 소프트웨어 테스트의 7원칙과 FIRST원칙 에서는 효과적인 테스트 코드 작성을 위해 참고할만한 원칙들을 알아보았다. 이 두 가지 원칙을 요약해 보았다.1. 테스트의 가장 큰 목적은 문제점을 찾는 것이다. 이를 위해 문제가 될 수 있는 다양한 케이스에 대해 수행되어야 한다.2. 모든 것을 테스트하는 것은 불가능하므로 중요한 부분(비즈니스!)에 집중되어야 한다. 3. 테스트는 구현이 아닌 명확한 결과로 성공 여부를 판단할 수 있어야 한다(True or False)4. 테스트는 빠르고 독립적이며, 실행할 때마다 동일한 결과는 제공해야 한다5. 테스트코드는 코드작성과 동시에 또는 그전에 설계되는 것이 이상적이다이번 포스팅에서는 이런 원칙들을 기반으로 테스트코..