Coding 썸네일형 리스트형 [내일배움캠프] 멀티레포 | Node.js 4기 | Day 66 | 24.03.10.(일) 1. 멀티레포 등장 배경: 모노리포의 한계 극복 모노리포의 문제점: 규모 확장 어려움: 프로젝트 규모가 커질수록 코드 관리, 배포, 테스트 등이 복잡하고 어려워집니다. 변경 속도 저하: 모든 코드가 하나의 저장소에 있기 때문에 변경 사항 검토, 병합, 배포 과정이 길어집니다. 개발 환경 불안정: 한 부분의 변경이 다른 부분에 영향을 미쳐 예상치 못한 문제 발생 가능성이 높습니다. 높은 결합도: 모듈 간 결합도가 높아 독립적인 개발 및 배포가 어렵습니다. 멀티레포의 등장: 모노리포의 한계를 극복하기 위해 각 기능 또는 서비스를 독립적인 저장소로 관리하는 방식인 멀티레포가 등장했습니다. 2. 멀티레포가 해결하는 문제 개발 속도 향상: 각 팀이 독립적으로 개발, 배포, 테스트를 진행하여 개발 속도를 높일 수 .. 더보기 [내일배움캠프] 모노레포 | Node.js 4기 | Day 65 | 24.03.09.(토) 모노레포: 하나의 저장소, 무한한 가능성 모노레포는 하나의 버전 관리 저장소에 여러 프로젝트 및 코드베이스를 함께 관리하는 소프트웨어 개발 전략입니다. 마치 거대한 책장에 모든 이야기가 담겨있는 것처럼, 모노레포는 모든 코드를 하나의 체계적인 공간에 집중하여 개발 프로세스의 효율성을 극대화합니다. 모노레포의 등장 배경: 거대한 소프트웨어 시대: 오늘날 소프트웨어는 단일 기능의 모노리식 시스템에서 벗어나, 여러 서비스, 라이브러리, 모듈들이 복잡하게 연결된 거대한 생태계로 진화했습니다. 이러한 변화는 코드 관리의 복잡성을 증가시켰고, 효율적인 개발 방식에 대한 끊임없는 탐구를 불러일으켰습니다. 분산 개발의 부작용: 여러 프로젝트를 분산된 저장소로 관리하는 방식은 코드 중복, 버전 관리 어려움, 의존성 문제.. 더보기 [내일배움캠프] 타입스크립트 개인 과제 2일차 | Node.js 4기 | Day 64 | 24.03.08.(금) Insomnia 테스팅 지금까지는 Headers에서 Authorization을 입력해주고, { Bearer + 엑세스 토큰 }을 입력해주는 형식으로 사용해왔다. 아래와 같이, Auth Type에서 Bearer Token을 선택한다면 조금 더 간편하게 JWT 토큰을 사용할 수 있다. Gitmoji 사용 규칙 🎉 : Begin a project. 🔨 : Added “/user/login, /user/signup, /user/check” 수정은 Modified로 통일할 것 - Updated 사용하지 않기 iat이란? iat는 "Issued At"의 약자로, JWT 토큰이 발급된 시간을 나타내는 숫자입니다. ERD 수정 POINT 테이블 연결 해제 USER 테이블에 point 변수 추가 /user/email 엑.. 더보기 [내일배움캠프] 타입스크립트 개인 과제 1일차 | Node.js 4기 | Day 63 | 24.03.07.(목) ✅ 필수 기능 구현 리스트 로그인/회원가입 프로필 보기 새 공연 등록 공연 목록 보기 공연 검색하기 공연 상세보기 좌석을 지정하지 않고 공연 예매하기 🏆 보너스 기능 구현 리스트 공연의 좌석 예매 정보 확인하기 좌석을 지정하여 예매하기 동시성 처리하기 (이미 선택한 좌석입니다!) 예매 취소하기 테스트 코드 내용 채우기 💵 결제 관련 규칙 결제 관련된 기능은 구현하지 않습니다. 사용자는 가입시 100만 포인트를 지급받습니다. 공연을 예매할 때 1석에 최대 5만 포인트까지를 상한 금액으로 정하도록 하겠습니다. 사용자의 보유 포인트가 모자라는 경우 예매를 할 수 없습니다. 예매 취소 기능을 구현한 경우 지불한 포인트는 환불되어야 합니다. 🚨 주의사항 필수 기능 구현 리스트는 전부 구현을 해주세요! 서비스를 개.. 더보기 [내일배움캠프] DBeaver with. MySQL | Node.js 4기 | Day 62 | 24.03.06.(수) DBeaver 데이터베이스 관리 with. MySQL DBeaver가 이미 설치된 상태에서 MySQL을 설치하고, 데이터베이스를 연결하는 과정을 알아보겠다. 처음에는 DBeaver에서 데이터베이스를 생성하게 되는 것으로 착각을 했지만, 그렇지 않다는 것을 알게 되었다. DBeaver는 이미 생성된 MySQL 데이터베이스에 연결하여 관리하는 역할을 하는 것일 뿐이다. DBeaver는 다양한 데이터베이스를 관리하는 도구인 것이다. DBeaver과 MySQL의 관계에 대해 확실하게 정리하고 넘어가자. 기능 DBeaver MySQL 주요 역할 데이터베이스 관리 데이터베이스 생성 및 저장 역할 비유 도구 사용 (렌치, 드릴, 망치) 벽돌 제작 (틀) 지원 데이터베이스 다양한 데이터베이스 (MySQL, Postgr.. 더보기 [내일배움캠프] DTO(Data Transfer Object) | Node.js 4기 | Day 61 | 24.03.05.(화) 1. DTO 개요 1.1 정의 및 개념 DTO는 Data Transfer Object의 약자로, 서로 다른 계층 간 데이터를 효율적으로 전달하기 위해 사용하는 객체입니다. 마치 데이터를 담는 그릇과 같은 역할을 하며, 계층 간 직접적인 의존성을 줄여 결합도를 낮추는 데 도움을 줍니다. 1.2 DTO vs VO DTO는 종종 VO(Value Object)와 혼동되는데, 두 개념은 명확히 구분해야 합니다. VO: 값 자체에 의미를 부여하는 객체 (예: 이름, 나이, 주소 등) DTO: 데이터 전송에 특화된 객체 (VO 포함, 여러 VO 조합, 단순 값 등) 1.3 주요 특징 간결성: 데이터 전송에 필요한 속성만 포함 독립성: 비즈니스 로직과 무관 단순성: 객체 지향 설계 패턴 적용 X 일관성: 데이터 형식 .. 더보기 [내일배움캠프] NestJS 1주차, 2주차 | Node.js 4기 | Day 60 | 24.03.04.(월) NestJS 1주차 01. Warm-Up 02. Express.js의 장점 & 단점 1. 왜 Express.js로 웹 개발을 시작했는가? - 빠르고 간편한 웹 서버 개발 2. Express.js로 복잡한 웹 서버를 개발해보자 - 복잡한 웹 서버를 개발해야 된다고 하면? - body-parser 적용하여 페이로드 파싱 기능 추가 - CORS 적용해보기 - cookie-parser 적용하여 로그인/로그아웃 처리하기 - 레이어드 아키텍처 패턴 : 웹 서버를 구현할 때 가장 보편적으로 사용되는 구현 패턴 : 시스템을 여러 계층으로 나누어 각 계층이 특정 책임을 갖도록 하는 아키텍처 스타일 : SOLID 원칙 중 SRP(Single Responsibility Principle)와 유사한 면이 있다. SRP는 하나.. 더보기 [내일배움캠프] TypeScript 5주차 | Node.js 4기 | Day 59 | 24.03.03.(일) 01. 클래스 클래스는 객체를 만들기 위한 틀 속성은 객체의 성질을 정함 생성자 클래스 접근 제한자 02. 상속 상속을 통해 기존 클래스의 속성과 메서드를 물려받아 새로운 클래스를 정의할 수 있다. extends 키워드를 사용 super 키워드는 자식 클래스가 부모 클래스를 참조하는 데 사용하는 키워드! 서브타입, 슈퍼타입 upcasting, downcasting 03. 추상 클래스 인스턴스화 할 수 없는 클래스 상속을 통해 자식 클래스에서 메서드를 제각각 구현하도록 강제하는 용도 abstract 키워드를 사용하여 정의 1개 이상의 추상 함수가 있는 것이 일반적 04. 인터페이스 객체가 가져야 하는 속성과 메서드를 정의 추상 클래스와 인터페이스의 차이 추상 클래스 인터페이스 구현부 제공 여부 클래스의 기.. 더보기 이전 1 ··· 5 6 7 8 9 10 11 ··· 39 다음