분류 전체보기 81

JavaScript 다양한 디자인 패턴 (간단하게)

1. Factory Pattern요약: 객체 생성 로직을 별도의 메서드로 캡슐화하여, 객체 생성 과정을 쉽게 관리할 수 있는 패턴입니다. 객체를 생성할 때 직접 클래스를 호출하지 않고, 팩토리 메서드를 통해 객체를 반환받습니다.왜 사용하는지?: 객체 생성 방식이 복잡하거나, 여러 종류의 객체를 유연하게 생성해야 할 때 사용합니다.예시:class Car { constructor(brand) { this.brand = brand; } drive() { console.log(`${this.brand} is driving`); }}class CarFactory { static createCar(type) { switch (type) { case 'Tesla': re..

TIL 2024.09.26

NodeCup KPT 회고록 작성

1. Keep: 잘한 점이나 계속 유지해야 할 것. 성공적으로 진행되었거나 긍정적인 영향을 준 것들을 기록합니다.대표자의 효율적인 질문 및 설명: 팀원들이 모르는 부분이 있을 때, 대표자가 질문을 하고 돌아와 팀원들에게 하나씩 설명해주는 방식이 매우 효율적이었습니다.편한 회의 분위기: 편안한 분위기 속에서 자유롭게 회의할 수 있어 긍정적인 결과를 얻을 수 있었습니다.적극적인 회의 참여: 팀원 모두가 적극적으로 회의에 참여하여 활발한 의견 교환이 이루어졌습니다.적극적인 소통과 협력: 팀원들이 각자의 의견을 내고, 부족한 부분은 함께 보완하며, 모르는 부분은 서로 물어보며 해결해 나간 점이 매우 좋았습니다.새로운 기능 도전: 작업이 끝난 후에도 새로운 기능에 도전하는 열정이 있었습니다.팀장의 의견 조율 능력..

회고록 2024.09.25

OSI 7계층 응용 계층 (Application Layer)에 대하여 (자세하게)

응용 계층(Application Layer)이란?응용 계층은 OSI 7계층 모델의 가장 상위 계층으로, 사용자가 네트워크 상에서 직접적으로 사용하는 애플리케이션들과 통신하는 부분을 담당합니다. 응용 계층의 주요 목적은 사용자가 네트워크를 통해 접근하는 서비스를 제공하는 것이고, 이는 이메일, 웹 브라우징, 파일 전송, 원격 로그인 등의 다양한 네트워크 서비스를 포함하며, 네트워크 상의 애플리케이션 프로세스 간의 통신을 규정합니다.응용 계층에서 사용되는 다양한 프로토콜들은 실제 데이터를 처리하는 애플리케이션 프로그램들과 하위 계층 간의 인터페이스 역할을 하며, 응용 프로그램이 네트워크 상에서 데이터를 주고받는 데 필요한 규칙들을 정의합니다.사실 OSI 7계층 모델은 이미 시장에서 도태된 네트워크 시스템이라..

TIL 2024.09.25

OSI 7계층 응용 계층 (Application Layer)에 대하여 (간단 소개)

응용 계층(Application Layer)이란?응용 계층은 OSI 7계층 모델의 가장 상위 계층으로, 사용자가 네트워크 상에서 직접적으로 사용하는 애플리케이션들과 통신하는 부분을 담당합니다. 응용 계층의 주요 목적은 사용자가 네트워크를 통해 접근하는 서비스를 제공하는 것이고, 이는 이메일, 웹 브라우징, 파일 전송, 원격 로그인 등의 다양한 네트워크 서비스를 포함하며, 네트워크 상의 애플리케이션 프로세스 간의 통신을 규정합니다.응용 계층에서 사용되는 다양한 프로토콜들은 실제 데이터를 처리하는 애플리케이션 프로그램들과 하위 계층 간의 인터페이스 역할을 하며, 응용 프로그램이 네트워크 상에서 데이터를 주고받는 데 필요한 규칙들을 정의합니다.응용 계층의 주요 프로토콜과 기능응용 계층에서는 여러 가지 프로토콜..

TIL 2024.09.24

Status Code 종류별로 한줄로 설명하기 - 틀린 부분 또는 추가할 부분 지적 O

1xx (Informational Responses)1xx 코드는 요청을 수신하였으며 처리가 진행 중임을 나타냅니다.100 Continue: 클라이언트가 요청을 계속해도 된다는 신호.101 Switching Protocols: 서버가 클라이언트의 요청에 따라 프로토콜을 전환.102 Processing (WebDAV): 서버가 요청을 수신하고 있지만 아직 응답을 제공할 수 없음.2xx (Successful Responses)2xx 코드는 요청이 성공적으로 완료되었음을 나타냅니다.200 OK: 요청이 성공적으로 처리되었음을 나타냄.201 Created: 요청에 의해 리소스가 성공적으로 생성됨.202 Accepted: 요청이 접수되었지만, 아직 처리되지 않음.203 Non-Authoritative Inform..

TIL 2024.09.24

Repository Pattern 간단한 소개

개요Repository Pattern은 데이터 접근을 추상화하여 비즈니스 로직과 데이터 저장소 간의 의존성을 줄이는 디자인 패턴입니다. 이 패턴은 데이터 소스에 대한 CRUD(Create, Read, Update, Delete) 작업을 캡슐화하여 코드의 유지보수성과 테스트 용이성을 향상시킵니다.주요 개념Repository: 데이터에 대한 CRUD 작업을 수행하는 인터페이스 및 구현체를 정의합니다.Entity: 데이터베이스의 테이블과 매핑되는 클래스입니다.Unit of Work: 여러 리포지토리에서 발생하는 데이터 변경 작업을 하나의 트랜잭션으로 묶는 패턴입니다.장점분리된 관심사: 비즈니스 로직과 데이터 접근 로직이 분리되어 코드가 더 깔끔해집니다.테스트 용이성: Mock 객체를 사용해 리포지토리를 대체함..

TIL 2024.09.23

초보자를 위한 깃허브 팀원끼리 연결, PullRequest, Merge 하는 법 (feat. SubBranch, VSCODE)

팀 프로젝트를 하던 도중 Main Branch와 SubBranch를 나눠서 작업을 하고 MainBrach에서 모든 팀원들이 동일한 코드에서 시작을 하려고 하던 도중 간단한 깃허브 사용법에 대해서 알아보려고 합니다. 1. 팀원들이 팀장의 깃허브 연결하기 => 1) 팀장이 깃허브 repository를 생성해 줍니다.  => 2) main을 눌러서 Find or create a branch에 원하는 서브 브렌치를 이름을 적은 후 Enter를 눌러줍니다. => 3) 같이 일할 동료를 초대해줍니다. Settings -> Collaborators 들어가 줍니다. => 4) 밑에 내려보면 Add people을 눌러줍니다. => 5) 초대하려는 사람의 이메일 또는 깃허브 풀 네임을 받아서 검색하고 Add to repo..

TIL 2024.09.19

아이템 시뮬레이터 프로젝트

1. 과제 이름 : 아이템 시뮬레이터주소 : https://github.com/YongHyeon1231/item_simulator 2. 과제 목표Express.js의 기본적인 사용법 및 CRUD 기반의 REST API 설계 방법 숙지NoSQL의 한 종류인 MongoDB를 mongoose를 통해 사용하는 법에 대해서 학습RDBMS의 한 종류인 MySQL를 prisma를 통해 사용하는 법에 대해서 학습Node.js를 이용해서 게임 아이템 제작 시뮬레이션 서비스 백엔드 서버를 구현AWS EC2에 Express.js를 이용한 웹 서비스를 배포즉, 프로젝트에 요구 사항을 토대로 API 리스트를 작성하고, 백엔드 서버를 설계할 수 있다.3. API 명세서API 목록userscharactersitemsequipmen..

Node.js 2024.09.12

OSI 7계층 중 전송 계층에 대하여

1. 전송 계층에 대하여 (OSI 4계층)    -> 전송 계층은 컴퓨터가 데이터를 전달받고 어떤 애플리케이션에 전달해야 하는지 판단 후 해당 애플리케이션에 전달할 수 있도록 해줍니다.         -> 그 전 단계인 네트워크 계층에서는 데이터를 전달하고, 전승 계층에서는 데이터가 제대로 도착했는지 확인합니다.         -> 이제 좀더 자세하게 이야기 해보도록 하겠습니다. 전송 계층은 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공합니다.         -> 전송 계층의 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신을 제공합니다.         -> 논리적 통신은 애플리케이션 관점에서 보면 프로세스들을 동작시키는 호..

TIL 2024.09.11

에러 핸들러와 미들웨어에 관하여 & 데이터 유효성 검증 라이브러리 Joi

게임 서버 개발을 하면서 미들웨어와 에러 핸들러는 너무나도 중요한 개념인 것 같아서 다시 공부하게 되었습니다.1. 미들웨어 (Middleware) -> 1) 미들웨어 기본 개념      -> 미들웨어란 웹 서버에서 요청을 받을때, 모든 요청에 대한 공통적인 처리를 하고 싶을 수 있습니다. 이 때 필요한 것이 바로 미들 웨어 입니다. 여기서 미들웨어는 서버의 요청 - 응답 과정에서 중간에 위치하여 특정 기능을 수행하는 함수라고 보면 됩니다. 예를 들어, 모든 요청에 대해서 로그를 남기거나, 특정 사용자만 API를 접근(Authentication & Authorization)하게 하고 싶을 때도 미들 웨어를 사용합니다. 또한, 사용자가 웹 페이지에서 Form을 통해 전송한 데이터를 서버에서 쉽게 파싱(Bod..

TIL 2024.09.10