비동기 코드 핸들링: JavaScript의 Promise 와 async/await 은 비동기 코드를 동기적으로 사용하기 위해 사용됩니다. 이를 사용하므로 인해 nested callbacks (콜백지옥)을 방지해 주며 가독성 있는 코드를 만들도록 도와줍니다. 에러 핸들링
docker-compose 를 이용해 node.js 서버 컨테이너와 MySQL 데이터베이스 컨테이너 두개를 연결하려다 위와같은 에러를 만났습니다. 구글을 해보니 이를 해결하기 위해 여러가지 방법이 있었으며 대부분의 게시글에서 보안적으로 좋지 않은 방법을 제시하고 있었습
execution context & stack frame > 자바스크립트가 작동하는 과정을 공부하다 보면 call stack 이 나오며 stack 자료구조는 모두 알다시피 FILO(First-In-Last-Out)을 따릅니다. call stack 에서 코드의 실행이
아래는 this 의 개념을 설명하는 몇가지 예시 입니다.위의 예시에서 this 는 global object 를 가리킵니다. 전역 범위에서 실행되었기 때문입니다. 위의 예시 또한 this 는 global object 를 가리킵니다. sayHello 함수가 명시적인 바인딩
해당 게시글은 Javascript의 작동방식에 대해 좀 더 자세히 알아보기 위해 작성되었습니다. 전에 작성한 적이 있지만 부족한 점이 많아보여 다시 작성합니다. node.js의 개념, 특징, 동기, 비동기에 관해 다뤄보려 합니다. node.js는 흔히 이야기 하는 si
해당 게시글은 node.js의 계층 분할 과정 및 code refactoring에 대해 다루는 게시글입니다.MVC패턴의 개념은 알지만 실제 구현할 때 특정 부분을 어느 부분에 넣어야 하는지에 관한 내용을 다룹니다. 프로젝트의 구성은 대략적으로 아래와 같으며 크게 con
Typescript가 아닌 plain Javascript, 순수 자바스크립트에 DI(dependency injection, 의존성 주입)을 하는 과정을 설명하겠습니다. Typescript를 사용하면 @Service 데코레이터를 이용해 쉽게 적용할 수 있지만 plain
http 는 HyperText Transfer Protocl의 약자로, Application layer의 프로토콜이다. 서버와 클라이언트가 데이터를 서로 주고받기 위해 만들어졌다. http는 client-server 모델을 따른다. client가 요청을 위해 연결을 시
C++에서 Virtual funciton(가상함수)란 파생 클래스에서 재정의할 것으로 기대되는 함수이다. 확실히 알아야 할 점은, 반드시 재정의해야 하는 함수가 아니라 재정의가 가능한 함수를 일컫는다. Pure virtual function(순수 가상함수, 추상메소드)
멱등성이란 연산을 여러번 적용해도 결과는 한번 적용했을때와 같은 성질을 말한다. 대표적인 예로 절댓값이 존재한다.절댓값 -3은 절댓값-3의 절댓값과 같은 값을 가진다. => |-3| == ||-3||절댓값연산을 한번 이상 적용해도 한번 적용한 값과 항상 같다. 안전한
Kakao REST API > 시작하기에 앞서 해당 포스팅에 나오는 코드의 서버에서 카카오로 API 요청을 할때는 require('request-promise') 모듈을 사용합니다. 해당 게시글은 서비스에서 로그인 기능을 카카오 REST API를 사용해 구현하는 내용입
미리 알고 있어야 할 내용인 인증 및 인가 개념 클릭!!JWT란 JSON Web Token의 약자로 서버가 클라이언트에게 인증되었다는 의미로 토큰을 발급할때 사용하는 방식이며, 해외에서는 좆 토큰 이라고 부르기도 한다.이 토큰은 유일하며 토큰을 발급받은 클라이언트는 매
시작하기에 앞서 아래 미리 알아야할 용어들이다. OAuth 2.0는 "Open Authorization"의 약자로, Third-party 어플리케이션에게 리소스 소유자를 대신해 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 표준이다. 새로운 어플리케이션에
Infrastructure as a Service 의 약자로, ㄹPlatform as a Service 의 약자로, Software as a Service 의 약자로,
ERD (Entity Relationship Diagram) > ERD란 Entity Relationship Diagram의 약자로, DB에서 존재하는 것들의 관계를 도표로 나타낸 것이다. 테이블이 어떤식으로 구성되어있고, 어떻게 어떤 테이블과 연결되어있는지 등을
키(key)는 DB에서 조건을 만족하는 레코드를 찾거나 순서대로 정렬할 때 레코드를 서로 구분할 수 있는 기준이 되는 속성을 뜻한다. 키의 종류로는 다음과 같이 있다.Super key (수퍼키)Candidate key (후보키)Primary key (기본키)Altern
저번에 여기에서 1NF~3NF까지 알아봤다.BCNF의 조건은 제3 정규형의 조건을 만족해야 하며, 추가로 다음과 같다.X -> Y인 모든 X,Y에 대하여Y가 X의 부분집합이거나ABC -> AX는 후보키어야 한다.아래 사진이 반례.위 사진이 두번째 조건 X는 후보키어야
정규화(Normalization)란 중복된 데이터 방지, 부모와 자식 데이터 간의 논리적 관계 유지, 에러 감소 및 재개발 비용 감소 등을 위해 존재한다.어려운 말로는, 테이블 간 중복된 데이터를 줄이며 데이터 무결성을 개선하기 위해 정규화 단계에 따라 관계형 데이터
위와 같이 테이블 A와 B가 있다.JOIN은 테이블을 가로로 병합해 반환한다.UNION은 테이블을 세로로 병합해 반환한다.
JOIN Table A Table B > 위와 같이 A B 두개의 테이블로 여러가지 JOIN에 대해 알아보도록 하겠다. A는 1,2,3으로 구성되어있고 B는 1,4,5로 구성되어 있다. INNER JOIN > 조인하는 테이블의 ON절의 조건이 일치하는