TIL 43

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

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

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

TIL 2024.09.11

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

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

TIL 2024.09.10

OSI 7계층 네트워크 계층에 대하여 (IP의 개념, 서브넷 마스크, 동적 IP 주소, 라우팅)

네트워크 계층이란? 네트워크 간의 연결이 있으므로 인터넷이 가능합니다. "네트워크 계층"은 별개의 네트워크 간에 데이터 패킷을 주고 받음으로써 이러한 연결이 만들어지는 인터넷 통신 프로세스의 일부입니다. 네트워크 계층은 OSI 7계층 중 3계층 입니다. 인터넷 프로토콜(IP)는 이 계층에서 이용되는 주요 프로토콜 중 하나이며 라우팅, 검사, 암호화를 위해 다수의 다른 프로토콜도 사용됩니다. 네트워크 계층에 대한 예로 철수와 영희가 동일한 LAN에 연결되어 있다고 가정하고, 철수가 영희에게 메시지를 보내려 한다고 생각해 보겠습니다. 철수는 영희와 동일한 네트워크에 있으므로 네트워크를 통해 직접 영희의 컴퓨터에 메시지를 보낼 수 있을 것 입니다. 하지만 영희가 다른 지역으로 이사를 가게 되어 다른 LAN에 ..

TIL 2024.09.09

Sparta 챌린지 반 - 기본 실력 체크 2탄

1. DOM 조작DOM이 무엇인지 설명할 수 있다.DOM이란 The Document Object Model로 HTML, XML 문서의 프로그래밍 interface이다.DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕는다.이것을 풀어서 설명하자면 웹 페이지는 일종의 문서(Document)이다.이 문서는 웹 브라우저를 통해 그 내용이 해석되어 웹 브라우저 화면에 나타나거나 HTML 소스 자체로 나타나기도 한다.DOM은 동일한 문서를 표현하고, 저장하고, 조작하는 방법을 제공한다.DOM은 웹 페이지의 객체 지향 표현이며, JavaScript와 같은 ..

TIL 2024.09.06

Sparta 챌린지 반 - 기본 실력 체크 1탄

1. 변수와 데이터 타입var, let, const의 차이점을 설명할 수 있다.var 키워드는 재선언이 가능하고 let, const는 재선언이 불가능합니다.var, let으로 만들면 재할당이 가능하고, const로 만들면 값 재할당이 불가능합니다.기본 데이터 타입 (String, Number, Boolean, null, undefined)에 대해 설명할 수 있다.null은 원시값 중 하나로, 어떤 값이 의도적으로 비어있음을 표현한다.undefined는 원시값 중 하나로, 선언한 후에 값을 할당하지 않은 변수나 값이 주이지지 않은 인수에 자동으로 할당된다.typeof undefined는 출력하면 undefined이다.typeof null은 출력하면 object이다. 하지만 이는 여전히 원시 타입(primi..

TIL 2024.09.05

AWS 배포하는법

앞으로 해야할 Item Simulator의 과제를 하기 위해서 AWS 배포하는 법에 대해서 복기를 해보도록하겠습니다. 1. 환경 설정하기AWS에 가입하기https://portal.aws.amazon.com/billing/signup#/starthttps://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2첫번째 링크는 AWS 가입 하기위한 AWS 가입하는 주소입니다.두번째 링크는 EC2 확인하는 곳에 대한 링크입니다.접속에 성공하게 되면 아래의 창처럼 나올 것 입니다. 가비아 가입하기 & 도메인 구입하기접속하기 & 가입하기: https://www.gabia.com가입에 성공하였으면 자신에게 맞는 도메인을 구매한 후마이페이지(http..

TIL 2024.09.04

SKT 브로드밴드 Window 유저의 AWS EC2 Instance 생성 후 ssh 접속 기본 포트 22 막힘 문제 해결 방법

문제 발생 : AWS EC2 Instance의 생성을 마친 후 Git 또는 CMD를 이용해 SSH로 접속하던 도중 접속 문제가 생김 사건의 발생 위의 사진과 같은 상태로 연결이 되지 않았다.여러 인터넷 방법들을 알아보았지만 결국 통신사를 바꾸거나 우회하라는 방법들 또는 PowerShell을 건드려보라는 이야기 뿐.... 문제 해결 방법 1. AWS -> EC2 -> 인스턴스위의 인스턴스 ID를 클릭한다2. 보안에 들어간다. 3. 밑의 보안 그룹을 누른다.4. 규칙 추가 버튼을 누른후 사용자 지정 TCP -> 포트 9222-> Anywhere-Ipv4 -> 0.0.0.0/0 -> 규칙 저장을 누른다. 5. 이제 다 왔습니다.다시 Git을 킨 후 ssh -p 9222 -i "sparta_keypair.pem..

TIL 2024.09.03

OSI 7계층이란?

1. OSI 7계층이란?OSI 7계층의 간단한 개념과, 각 계층별 주요 개념에 대한 간단히 조사해주세요.OSI 7계층이란? 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.즉, 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.OSI 7 계층은 물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층으로 구성되어 있다.1계층 - 물리 계층(Physical Layer)이 계층에는 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함됩니다.이 계층은 또한 1과 0의 문자열인 비트 스트림으로 변환되는 계층입니다.뿐만 아니라 두 장치의 물리적 계층은 신호 규칙에 동의해서 두 장치의 1이 ..

TIL 2024.08.29