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

ts 공부를 하던 중 문득 궁금한 것이 생겼다. type 과 Interface는 둘 다 type을 정의할 때 사용될 수 있고 사용한다. 그럼 언제 type을 사용하고 언제 interface를 사용할까? 이를 확인해보기 위해 type과 interface 의 공통적인 부분화 다른 부분을 알아보고 언제 무엇을 사용하는 것이 좋은지 알아보자 type과 interface 공통적인 부분 1. type과 interface 둘 다 객체를 만들 수 있다. type TAnimal = { name: string; age: number; speak?: () => void; }; const dog: IAnimal = { name: '구쟁', age: 1, speak: () => console.log('멍멍'), }; const..

Nest.js의 레이어는 기본적으로 [ Controller - Service - Repository ] 레이어로 구성이 된다. Controller Class에서는 Service를 호출하고 Service Class에서는 Repository를 호출한다. 이렇듯 각 Class는 다른 Class에 대한 의존성이 존재한다. Nest.js는 이런 의존성을 관리하기 위해 "제어의 역전" 이라는 개념과 "의존성 주입"이라는 개념을 사용한다.(사실 이 두 개념은 객체지향과 관련된 주제이기도 하다) Nest.js의 동작은 모두 "의존성 주입"이라는 개념으로부터 시작한다고 한다. 프로그램을 짜다보면 나와있는 매뉴얼대로 빠르게 적용을 하는 것도 중요하지만 기본적인 원리를 알아두면 응용하기에 도움이 많이 되고 어떤 애러가 발생..

이번 장에서는 데이터배이스가 검색 및 저장을 내부적으로 어떻게 처리하는지에 대해 설명한다. 개발자가 이를 알아야 하는 이유는 여러 저장소 앤진 중 애플리케이션에 적합한, 좋은 성능을 내는 엔진을 선택하는 작업이 필요하기 때문이라고 책은 설명한다. 가령 여러 라이브러리 중 하나를 선택해야 할 때 우리의 애플리케이션에 적합한 라이브러리를 찾기 위해 내부를 뜯어보게 되는 일이 있다. 그냥 많이 사용한다고 해서 무거운 라이브러리를 사용하는 것은 오버스팩일 뿐이다. 해당 내용도 이런 맥락이라고 이해하였다. 특정 작업부하 유형에서 좋은 성능을 내는 저장소 엔진을 찾기 위해 엔진이 내부적으로 어떻게 수행되는지 대략적으로 알아야 할 필요가 있다. 데이터베이스를 강력하게 만드는 데이터 구조 많은 데이터베이스에서는 내부적..

NODEJS비동기의_이해와_비동기 처리에 대하여 참고 사이트 참고 사이트2 이번 주에 면접을 봤는데, 나왔던 질문 중 비동가와 관련된 질문이 있었다. 서버에서 Promise가 무엇인지 알고 있는지 Async Await은 어떻게 다른지 Server에서 비동기가 언제 쓰이는지 알고 있는지 첫 번째 질문에서는 CallBack지옥을 피하기 위해 나왔고 비동기 처리를 해주는 것이라고 말하였고 두 번째 질문은 Promise 지옥을 피하기 위해 생겨났으며 async로 비동기 처리가 있음을 알리는 키워드로 사용되고 await은 지금 이 함수가 비동기 함수라는 것을 명기해주는 키워드라고 이야기하였다. 세 번째 질문의 답으로는 상대적으로 오래 걸릴 수 있는 DB 쿼리를 할 때 주로 쓴다라고 이야기를 하였다. 틀린 대답은 ..

JAVASCRIPT-실행컨텍스트 모던 자바스크립트 Deep Dive를 읽고 정리한 포스팅 23장-실행컨텍스트-Execution-Context 언어를 공부한다는 것은 단지 언어의 문법만 공부하는 것이 아니라 자바스크립트가 실행되는 환경에 대한 이해, 이 환경에서 자바스크립트가 어떻게 코드를 관리하는지, 그리고 툭 하면 언급되었던 호이스팅에 한 이해.. 그리고 싱글스레드 기반인 자바스크립트의 Event loope등 그 언어의 동작 원리를 알아야 삽질을 덜 하고 더 효율적인 코드를 작성할 수 있다. 그리고 실행 컨텍스트는 자바스크립트의 동작 원리를 담고있는 아주 핵심적인 개념이다. 이 책에는 실행컨텍스트에 대해 정말 자세히 설명이 되어있어서 그동안 두리뭉실하게 알고 있었던 부분을 해결할 수 있었다. ECMAS..

About_export_exports_module.exports 이전 포스팅에서 require()에 대해 알아보았다. 이번엔 require와 함께 붙어 다니는 exports에 대해 알아보자 1. export는 왜 하는 것일까? exports를 하는 경우는 1. Node의 내부 모듈을 사용할 때 2. 작성한 js파일을 다른 js파일에서 불러와야 할 때 사용한다. 두 경우의 공통점은 “모듈"이라는 사실이다. 모듈이란, 우리가 만드는 applicaion을 구성하는 개별적인 요소로, 재사용이 가능하도록 만들어졌다. NodeJS에서 모듈을 따로 export 해주지 않는다면 모듈 내부의 함수,변수 등의 자원은 사용하지 못한다. 이는 모듈 자체로 스코프를 갖고 있기 때문이다. 이를 “모듈 스코프"라고 한다. 따라서,..

About require() node.js에서는 module을 불러올 때 require를 사용한다. 그리고 로컬에 작성한 파일을 다른 파일에서 사용하기 위헤 꼭 export를 해야한다. 지금까지 사용을 하면서 단순히 exports를 하면 require를 할 수 있다고만 알고 있었다. 글이 길어질듯 하니 먼저 require를 하면 내부적으로 어떤 작업이 이루어지는이 알아보자. 1. require()는 module.exports를 return 한다. 노드 사이트 참고 위의 문서에 따르면, require는 기본적으로 Javascript file을 읽고, 그 파일을 실행시킨 후 exports 객체를 return 한다. 공식 사이트에 있는 예제를 예로 들면 // example module var invisible..

Linux에서 문제를 찾아내는 방법 : log를 잘 보는 방법에 대해 알아보자 처음 리눅스 명령어를 사용할 때에는 경로 확인 pwd , 폴더 이동 cd, 파일, 폴더 조회 ls, 폴더 생성과 삭제 mkdir, rm, 복사 이동 cp, mv 등만 사용하였다. 수업 때 로그를 검색하는 방법에 대해 배웠지만 다음 과정에서 자주 사용하지는 않아서 기억에서 사라질 때 즈음,, AWS 실습을 하다가 Error들이 많이 터지는 바람에 log들을 찾아봐야 했다. 로그가 어마 무시하게 많지는 않았지만 한눈에 보기에 너무 불편하기도 하고 필터링이 필요했기에 이전에 정리했던 이 글을 다시 한번 보면서 grep과 awk를 사용하여 log를 걸러낼 수 있었다. 이제 프로젝트를 들어가면 로그를 분석해야 하는 일이 많아질 것이고 ..