분류 전체보기 186

DTO(Data Transfer Object)에 대하여

안녕하세요~ DTO가 도대체 무엇인지 포스팅을 작성하면서도 어려웠던 느낌을 많이 받았습니다. 학교에서 자바를 배우게 되면서 DTO에 대해 잠시 배웠지만 제가 이해하는 영역에서는 접근 할 수 없었습니다. 이번 기회에 DTO에 대한 내용을 숙지하고자 합니다. 📑목차1. DTO란 무엇인가? 1-1. DTO의 정의1-2. DTO가 필요한 이유1-3. NestJS에서 DTO가 사용되는 위치 1-4. 간단한 DTO 작성 예시 2. Class와 Interface 간단 정리 2-1. Class란 무엇인가? 2-2. Interface란 무엇인가? 2-3. Class와 Interface의 차이점 2-4. 왜 DTO는 Interface가아닌 Class로 작성할까?서론NestJS를 배우다 보면 Controller, Serv..

Next.js 기록 2025.12.02

Nest.JS 란 무엇인가?

안녕하세요~ Node.JS를 마치고나서 이제는 Nest.JS라는 것에 대해 알아볼 내용입니다. 현업에서도 많이 사용되고 있는 백엔드 프레임워크로 알고 있습니다. 일단 Nest.JS가 무엇이고, 왜 사용하는지 알아보시죠📑목차1. Nest 소개1-1. Nest.JS란?1-2. Nest.JS를 왜 사용할까?1-3. Nest.JS 특징은 무엇일까?1-4. Nest.JS VS Node.JS 차이점2. Nest.JS의 기본 구조 쉽게 이해하기2-1. Module 2-2. Controller 2-3. Service 2-4. DI ( Dependency Injection )2-5. 데코레이터 3. NestJS 프로젝트 생성3-1. Nest CLI 설치3-2. 프로젝트 생성3-3. 폴더 구조 이해서론Nest.JS를 ..

Nest.js 2025.11.28

객체지향(Object-Oriented Programming)OOP에 대해서 알아보자

안녕하세요~ 이번엔 프로그래밍에서 아주 중요한 객체지향에 대해서 알아보도록 하겠습니다. 객체지향의 배경과 목적, 원리에 대해알아보시죠📑목차1. 객체지향 개요1-1. 객체지향의 개념1-2. 객체지향이 필요한 이유1-3. 객체지향의 한계2. 객체지향의 핵심 원리2-1. 추상화(Abstraction)2-2. 캡슐화(Encapsulation)2-3. 상속(Inheritance)2-4. 다형성(Polymorphism)서론현대 소프트웨어 개발에서는 프로그램의 규모와 복잡성이 증가하면서, 효율적이고 유지보수하기 쉬운 코드 작성이 중요해졌다. 이를 위해 객체지향 프로그래밍(OOP)은 현실 세계의 사물을 객체 단위로 모델링하여 코드의 재사용성과 확장성을 높이는 방법론으로 각광받고 있습니다. 그럼 이 객체지향이 무엇이고..

개발 이야기 2025.11.24

웹 소켓(WebSocket)이란?

웹 소켓에 대해 알아보도록 하겠습니다. 흔히 말하는 실시간 데이터를 주고받을 수 있는 양방향 통신을 뜻하죠, 프로그래밍에 접하셨다면 한번쯤은 들어보셨을겁니다. 예를 들면 실시간 스트리밍 라이브 방송도 실시간으로 방송이 송출되는 것이죠, 그럼 이 웹 소켓을 직접 다루기전에 웹 소켓에 대한 역사를 한번 살펴보시죠📑목차1. 웹 소켓 개요1-1. 웹 소켓의 개념(기존 HTTP 통신과 차이점, 등장 배경)1-2. 웹 소켓의 필요성1-3. 웹 소켓의 한계2. 웹 소켓 동작원리2-1. 연결과정 (HandShake)2-2. 연결유지와 양방향 통신 2-3. 메시지 교환 방식 2-4. 연결종료3. 웹 소켓의 구성요소3-1. 클라이언트3-2. 서버 3-3. 프로토콜4. 웹 소켓과 다른 실시간 통신 방식4-1. 폴링의 개념..

Node.js 기록 2025.10.28

DBMS, RDBMS, ORDBMS 각각 무엇을 뜻하는가?

안녕하세요~ 저번에 RDBMS와 ORDBMS를 따로 포스팅해 드린다고 했었죠? 각각 무슨 내용인지 쉽게 설명해드리도록 하겠습니다. 📑목차1. DBMS1-1. DBMS란?1-2. DBMS 주요 특징1-3. ACID란?2. RDBMS (관계형 데이터베이스)2-1. RDBMS란?2-2. RDBMS 주요 특징3. ORDBMS (객체 관계형 데이터베이스)3-1. ORDBMS란?3-2. 객체 지향이란?3-3. ORDBMS 주요 특징3-4. 어떤 상황에 어떤 데이터베이스를 선택해야할까?서론웹 사이트에 접속하고 회원가입을 하게 되면 가입한 데이터가 어디에 저장되는지 궁금하시죠? 이번 포스팅에서 주목해야할점은 데이터가 어디에 저장되고 구조는 어떻게 되어있는지, RDBMS와 ORDBMS 각각 무엇을 뜻하는지 살펴보도록 ..

Database 기록 2025.10.13

MySQL과 PostgreSQL 차이점

이번에는 알아볼 내용은 MySQL과 PostgreSQL에 차이점입니다. 그동안 데이터베이스를 사용하면서 MySQL로 많이 사용했었는데요, 많은 개발자분들이 PostgreSQL 사용 빈도가 점점 높아지면서 백엔드 분야에서 요구하는 기술스택중 하나이기도 합니다. 그럼 이 두개의 차이점이 무엇인지 살펴보면서 어떤 프로젝트에서 사용해야하는지 살펴보도록 하겠습니다.📑목차1. MySQL 1-1. MySQL이란?1-2. MySQL 주요 특징1-3. 장점과 단점2. PostgreSQL2-1. PostgreSQL이란?2-2. PostgreSQL 주요 특징2-3. 장점과 단점3. MySQL VS PostgreSQL 차이점3-1. 주요 차이점3-2. 어떤 상황에서 어떤 DB를 선택해야할까?서론지금까지 모든 프로젝트에서 ..

Database 기록 2025.10.12

개발자가 알아야 할 AWS S3 + CloudFront 배포 전략

안녕하세요~ 이번에도 배포에 대한 이야기를 하고자 합니다. 이전에 EC2와 Route 53을 이용한 백엔드 서버 배포 과정을 설명해드렸는데요, 그럼 프론트는 어떻게 배포하는지 궁금하실 수 있는데요 그 해결점을 포스팅에서 찾고자 합니다. 📑목차1. CDN1-1. CDN이란?1-2. CDN 특징2. CloudFront2-1. CloudFront란?2-2. 엣지 로케이션(Edge Location)2-3. CloudFront의 특징2-4. 프론트엔드 배포에 CloudFront가 사용되는 이유2-5. CloudFront와 Route 53 도메인 연결3. S33-1. S3란?3-2. S3의 특징3-3. CloudFront와 함께 S3를 사용하는 이유서론프론트엔드 애플리케이션을 배포할 때 가장 중요한 요소 중 하..

AWS 관련 기록 2025.09.25

AWS EC2(Amazon Elastic Compute Cloud), Route 53

안녕하세요! 오늘은 개발 이야기 말고 배포에 대해 이야기해보려 합니다. 백엔드와 프론트엔드를 배포하는 방법은 여러 가지가 있지만, 많은 개발자들이 가장 먼저 떠올리는 서비스가 바로 AWS의 EC2(Amazon Elastic Compute Cloud) 입니다. 그렇다면 왜 하필 EC2일까요? 단순히 서버를 올릴 수 있어서일까요, 아니면 더 특별한 이유가 있을까요? 이번 글에서는 백엔드와 프론트엔드 배포 과정을 간단히 살펴보고, 그중에서도 AWS EC2를 활용하는 이유를 중점적으로 다뤄보도록 하겠습니다.📑목차1. EC21-1. EC2란?1-2. EC2의 특징1-3. 백엔드 서버 배포에 EC2를 사용하는 이유2. Route 532-1. Route 53이란?2-2. EC2와 Route 53 연결2-3. Ro..

AWS 관련 기록 2025.09.25

기업협약 프로젝트를 마치고 난 뒤

이번 기업협약 프로젝트를 진행하면서 가장 크게 느낀 점은 바로 소통의 중요성이었다. 팀 프로젝트에서 실력이 아무리 좋아도, 원활한 소통이 이루어지지 않으면 진행 과정에 반드시 차질이 생긴다는 것을 몸소 경험했다.나는 이번에 프론트엔드를 맡았는데, 문제는 백엔드에서 전달받은 엔드포인트가 규칙적인 Restful 형식을 따르지 않았다는 점이었다. 그러다 보니 프론트 입장에서는 “이 API가 어떤 응답값을 반환하는지”를 한눈에 파악하기 어려웠다. 결국 여러 차례 백엔드 팀원에게 직접 확인을 요청해야 했고, 그 과정에서 데이터 패칭 작업이 지연되는 상황도 생겼다.돌이켜보면, 단순히 프론트엔드만 맡고 있다고 해서 내 영역만 들여다보면 안 되는 일이었다. 백엔드에서 어떤 API를 작성하고 있는지, 그 구조가 어떻게 ..

프로젝트 2025.09.23

리액트 useCallback이란?

이번에는 리액트에서 메모이제이션 기법중 사용하는 useCallback 훅에 대해 살펴보도록 하겠습니다. 📑목차1. useCallback1-1. useCallback이란?1-2. useCallback 문법1-3. useCallback 사용 예시1-4. useCallback 사용해야하는 이유1-5. useCallback VS useMemo 비교1-6. useCallback 사용하지 않아도 되는 경우서론저번 글에서는 메모이제이션의 개념과 함께 React.memo, useMemo 훅을 살펴보며 컴포넌트 렌더링 성능을 최적화하는 방법을 알아보았습니다. 이번 글에서는 연장선인 함수의 불필요한 재생성을 방지하고 자식 컴포넌트의 리렌더링을 최소화할 수 있는 useCallback 훅에 대해 정리해보겠습니다. 본론1. ..

React 기록 2025.08.21