본문 바로가기

전체 글109

DI, IOC 목차1. DI2. IOC3. DI 구현1. DI(Dependency Injection)의존성 주입클래스 내부에서 객체를 생성하는 것이 아닌 생성자를 통해 외부에서 객체를 주입하는 받아 생성하는 방식기존에 클래스 내에서 다른 클래스의 객체를 사용하기 위해서는 다음과 같은 방법을 사용했을 것이다.class A{ constructor(){}}class B{ constructor(){ this.a = new A(); }}const b = new B();하지만 이와 같은 방식은 여러 문제를 갖고 있는데 1 ) 테스트 어려움3 ) 코드 중복3 ) 유연성 부족이러한 문제를 해결하기 위해 나온 방법이 외부에서 객체를 생성하여 클래스의 생성자를 통해 의존성을 주입해주는 것이다.class A{.. 2024. 7. 1.
웹소켓 목차1. 웹소켓은?2. 헤더의 내용3. 사용하는 법1. 웹소켓은?클라이언트와 서버 간의 연결을 유지하여 실시간 통신을 가능하게 하는 프로토콜웹 개발에서 핫한 기능으로 기존 HTTP 특징을 잘 이용한 REST FUL과는 조금 다르게 소켓을 통해 지속적으로 연결을 통해 다수의 클라이언트와 실시간 통신 방식을 사용한다. 따라서 실시간으로 처리가 필요한 데이터 처리나 채팅같은 서비스에 이용된다.2. 헤더의 내용웹 소켓의 통신은 일반요청에 웹 소켓의 정보를 포함되어 서버에 전송된다. 서버는 헤더를 확인하여 웹소켓을 사용한 통신이 이루어질 수 있도록 한다.3. 사용하는 법1) 웹 소켓 서버 만들기 // 1. ws라이브러리 사용 const WebSocket = require('ws');const server = ne.. 2024. 6. 30.
Sequelize 목차1. 시퀄라이즈?2. 사용법 1. 시퀄라이저?자바스크립트를 사용하는 ORM시퀄라이즈는 데이터베이스의 테이블과 객체 지향 프로그램의 객체를 매핑시켜주는 ORM 중 하나다. 객체 지향 프로그램이 대새인 현재 NodeJS를 사용하여 서버를 만드는데 express와 더불어 백앤드 한 축을 차지하고 있다.  3. 사용법1 ) 시퀄라이즈 다운로드시퀄라이즈는 외부 라이브러리로 패키지 매니저를 통해 다운 받아야 사용할 수 있다.npm install sequelize 2 ) 시퀄라이즈 객체 생성하기 데이터베이스에 연결하기 위해서는 당연하게도 접속정보가 필요하고 그 정보를 시퀄라이즈 객체를 생성할 때 지정을 해주어야 한다.const sequelize = new Sequelize( .. 2024. 6. 29.
ORM 목차1. ORM이란2. 장점3. 주의점1. ORM이란데이터 베이스의 테이블과 객체를 매핑하여 좀 더 쉽게 데이터를 조작할 수 있도록 해주는 기술기존에 코드에서 데이터를 조작할 때는 직접적으로 쿼리를 작성하였다면 ORM에서는 객체지향 코드의 객체와 데이터베이스의 테이블을 매핑하고 일부 쿼리를 사용할 수 있는 메서드를 지원하여 좀 더 수월하게 데이터를 조작할 수 있다. 이를 통해 개발자가 객체 지향 프로그래밍에 집중할 수 있도록 해준다. 2. 장점1 ) 생산성 향상▶ ORM을 사용하면 데이터베이스 작업을 객체 지향적으로 수행할 수 있으므로, 개발자는 SQL 쿼리를 직접 작성할 필요가 없어 개발 속도가 빨라진다. 2 ) 유지보수 용이▶ 코드가 더 읽기 쉽고 유지보수가 용이하다. 또한 데이터 베이스 구조가 변경.. 2024. 6. 28.