[백엔드] Spring
·
공부한 것
초기 자바 개발은? EJB 구조가 너무 복잡하고 설정 파일(XML)이 너무 많고 코드가 무겁고 단순한 기능도 구현 절차가 길고 비효율적.그래서? SPRING FRAMEWORK 개발왜 만들었냐.복잡한 설정 단순화.객체간 의존성 자동 관리 (DI)POJO(Plain Old Java Object) 형태로 개발 가능스프링의 장점생산성 향상 – 설정 자동화, 의존성 관리로 개발 시간 단축유지보수 용이 – 결합도를 낮추어 코드 변경이 쉬움테스트 용이성 – Mock 객체 기반 단위 테스트 지원대규모 확장성 – 스프링 부트, 클라우드, 시큐리티 등으로 확장 가능커뮤니티·문서 풍부 – 전 세계적으로 가장 널리 사용되는 자바 프레임워크임.
[서버] Nginx
·
공부한 것
Nginx(엔진엑스)웹 서버 소프트웨어로, HTTP, 리버스 프록시, IMAP/POP3 프록시 서버 기능 등을 제공함. 높은 성능과 안정성을 목표로 개발. 적은 리소스로 많은 동시 연결을 처리할 수 있도록 설계됨.핵심 아키텍처이벤트 기반 (Event-Driven) 및 비동기 (Asynchronous) 방식: 요청을 처리하기 위해 새로운 프로세스나 스레드를 생성하는 대신 마스터 프로세스(Master Process)가 설정 파일을 읽고, 그 하위에 있는 소수의 워커 프로세스(Worker Process)가 실제 연결을 처리함. 하나의 워커 프로세스는 여러 개의 연결을 동시에 처리할 수 있음. I/O 작업이 발생하면 운영체제 커널에 작업을 위임하고 다른 이벤트를 처리하는 방식으로 동작하여 CPU와 메모리 자원을..
[백엔드] NestJS
·
공부한 것
NestJS란Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크핵심 아키텍쳐의존성 주입 (Dependency Injection): 클래스가 필요한 의존성(객체)을 외부에서 주입받는 디자인 패턴. 이를 통해 구성 요소 간의 결합도를 낮추고 테스트 용이성을 높임.모듈성 (Modularity): 애플리케이션의 코드를 관련된 기능 집합인 모듈 단위로 구성. 각 모듈은 특정 기능에 관련된 구성 요소들을 캡슐화함.데코레이터 (Decorators): 클래스, 메서드, 프로퍼티에 메타데이터를 추가하는 TypeScript 기능. NestJS는 데코레이터를 사용하여 라우팅, 의존성 주입 등 프레임워크의 핵심 기능을 정의함.구성 요소컨트롤러 (Controllers): 특정 경로(Endpoint)로 들어오는 클라이..
express.js
·
공부한 것
express.js내가 백엔드를 할때 자주 사용하는 프레임워크인데,이번에 프로젝트에서도 사용하게 되어 다른 팀원에게 설명하고 알려줄 일이 생겨서 다시 공부하며 써본다. express.js는 Node.js 기반의 웹 프레임워크이다.http 서버 기능을 쉽게 구축할 수 있도록 해주고라우팅, 미들웨어, 요청/응답 처리 등의 기능을 제공한다. 여기서 라우팅은? 어떤 요청이 들어왔을 때 어떤 함수를 실행할 지 지정하는걸 말한다.미들웨어란? 요청과 응답 사이에서 동작하는 함수를 미들웨어라고 한다 .express.js의 특징은문법이 간결하고, 미들웨어 구조이고, 확장성이 좋다. 간단한 예시 코드와 한번 보자.const express = require('express')const app = express()const ..