일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- codestates
- react 기초
- 글또
- typeScript
- execution context
- Operating System
- 비동기
- 운영체제
- 자바
- 코드스테이츠
- 자바스크립트
- 알고리즘
- Computer Science
- useState
- 프로그래머스
- python algorithm
- 개발공부
- context switching
- OS
- 파이썬
- Zerobase
- Python
- java
- node.js
- JavaScript
- 자료구조
- algorithm
- 파이썬 알고리즘 인터뷰
- REACT
- 컴퓨터공학
- Today
- Total
목록글또 (5)
Back to the Basics
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. 테스트코드는 코드작성과 동시에 또는 그전에 설계되는 것이 이상적이다이번 포스팅에서는 이런 원칙들을 기반으로 테스트코..
이전 회사에서도 테스트 코드 작성에 대한 명확한 지침이 없었다. 그래서 주로 기존에 작성된 테스트 코드들을 참고하며 비슷한 방식으로 작성했다.테스트 코드를 작성하면서 종종 '이 테스트가 과연 의미가 있을까?' 하는 의구심이 들기도 했다. 특히 새로운 기능을 추가하거나 리팩토링을 할 때마다 테스트 코드를 상당 부분 수정해야 하는 경우도 많았다. 이런 비효율로 인해 업무가 많을 때는 테스트 코드 작성을 미루거나 건너뛰기도 했다. 이런 패턴이 반복되다 보니 '내가 테스트를 제대로 작성하고 있는 걸까?' 하는 의구심이 들었다.물론 테스트 코드의 가치는 충분히 이해하고 있다. 기능을 변경했을 때 버그 여부를 빠르게 확인할 수 있고, 테스트를 통해 비즈니스 로직을 더 잘 이해할 수 있다. 개발 과정에서 버그를 조..
자체 서비스에서 주소 검색 서버를 개발하는 프로젝트를 진행했던 적이 있다. 주소 데이터베이스 구축부터 검색 서버까지 개발하는 프로젝트였다. 서드 파티를 사용하면 되지, 왜 자체 주소 검색 서비스를 만드는가에 대한 의문도 있겠지만 이는 도메인 특성상 주소나 영역에 대해서 서드파티로는 한계가 있던 부분이 많았기 때문이었다.이때 사용했던 postgresql의 full text search에 대해 조사했던 것을 다시 정리해 보았다. (나중에는 postgresql > elasticsearch로 개발하였다.)내용이 조금 많기에 순차적으로 포스팅할 예정이다. 이번 포스팅에서는 Full text search에 사용되는 기본 개념을 소개하고 다음 포스팅에서는 정확한 주소 검색을 위해 고민했던 방법에 대해서 정리해 보려고..