본문 바로가기

728x90
반응형

Server Programming

(202)
MVC -> MSA MVC에서 MSA로의 마이그레이션은 단순한 아키텍처 변경이 아니라, 시스템 구조 전반을 재설계하는 작업입니다. 이 과정은 기존에 모놀리식 아키텍처로 구성된 시스템을 마이크로서비스 아키텍처(MSA)로 전환하는 작업이기 때문에 많은 요소들이 필요하고, 각 단계에서 신중히 고려해야 할 부분이 많습니다.1. MSA로의 마이그레이션을 위한 기초 지식MVC (Model-View-Controller)와 MSA (Microservices Architecture)의 차이MVC (Model-View-Controller):모놀리식 애플리케이션의 한 형태로, 시스템의 모든 기능이 단일 애플리케이션 내에서 동작합니다.모든 요청은 동기적으로 처리되며, 애플리케이션은 하나의 서버에서 관리됩니다.장점: 개발 초기에는 빠르게 개발할 ..
메시지 브로커의 레디스, 이벤트 브로커의 카프카 이벤트 브로커(Event Broker)와 메시지 브로커(Message Broker)는 기능적으로 유사한 개념이지만, 용도와 초점이 약간 다릅니다. Kafka와 Redis는 각각 특정 목적에 최적화되어 있기 때문에, 이 두 가지 역할을 수행하는 방식에서 차이가 있습니다. 이를 통해 Kafka와 Redis의 차이점도 명확히 이해할 수 있습니다.이벤트 브로커(Event Broker)개념이벤트를 기반으로 데이터를 전달하고, 이벤트 로그를 저장하거나 스트리밍하는 역할을 합니다.이벤트는 상태의 변경 또는 특정 작업의 발생을 나타냅니다.예: 사용자 클릭, 주문 생성, 결제 완료 등.이벤트 브로커는 보통 이벤트를 생성하고, 저장하며, 소비자에게 전달하는 기능을 모두 포함합니다.특징이벤트 스트리밍:이벤트 데이터가 지속적..
Nest.js 클라이언트/서버 구조를 구현하기 위해 사용하는 프로토콜 혹은 아키텍쳐REST API웹 소켓RPCGraphQLREST API, 웹소켓, RPC, GraphQL은 모두 서버와 클라이언트 간의 통신을 위해 사용되는 프로토콜이나 아키텍처입니다. 각기 다른 장단점과 사용 사례가 있습니다. 아래에서 각각의 차이점을 설명하겠습니다.REST API (Representational State Transfer)아키텍처 스타일: 클라이언트와 서버 간의 상태 정보를 주고받는 구조. 자원(Resource)을 URI로 표현하며, HTTP 메서드(GET, POST, PUT, DELETE)를 사용하여 자원을 처리.데이터 형식: 주로 JSON이나 XML을 사용.장점:표준화된 HTTP 프로토콜 사용.캐시를 통해 성능 향상 가능.stat..
[패스트캠퍼스 백엔드 개발자 부트캠프] 8. 과정 종료 회고 서론 패스트캠퍼스 백엔드 개발자 부트캠프에 참여하고, 기자단을 시작하면서 아래와 같이 7개의 글을 작성했습니다. 1. 2개월 회고와 앞으로의 계획 2. 그룹 스터디 워크샵 3. 서버의 진화 과정과 보안 4. 상품 주문 서비스 API 프로젝트 5. 기자단 중간 회고 6. 미니 프로젝트 회고 7. 파이널 프로젝트 (+ 취업 성공) 이번 글은 패스트캠퍼스 백엔드 개발자 부트캠프 관련 글로는 마지막으로, 과정 수료 & 취업 성공 후기를 작성하려고 합니다. 본론 패스트캠퍼스 백엔드 개발자 부트캠프는 온라인 과정으로 처음에 약 35명의 수강생으로 시작해 중간에 포기하신 분들도 많고, 취업을 하신 분들이 계셔서 지금은 23명의 수강생이 수료를 앞두고 있습니다. 국비지원 과정이다 보니 아무래도 본인돈이 들어가지 않다고..
[패스트캠퍼스 백엔드 개발자 부트캠프] 7. 파이널 프로젝트 (+ 취업 성공) 목차 개요 진행 과정 진행 상황 향후 계획 마무리 개요 패스트 캠퍼스의 PM, UX/UI, 프론트엔드, 백엔드 과정 수강생들이 참여하는 기업연계 프로젝트에 대한 요약과 진행 상황을 기록했습니다. 이 프로젝트를 통해 이커머스 분야에서의 경험을 쌓고자 다양한 기업의 프로젝트 중 3D 에셋 스토어를 선택했습니다. 데일리 스크럼을 통해 개발 진행 상황을 체크하며, 수요일마다 매니저와의 회의를 통해 주간 개발 진행 상황을 공유하였습니다. 또한, 목요일마다 기업과의 소통을 통해 기업이 원하는 요구사항을 정확히 이해하도록 노력하였습니다. 진행 과정 프로젝트는 다음과 같은 주요 활동으로 진행되었습니다: 1. 팀 구성: - PM, UX/UI, 프론트엔드, 백엔드 과정 수강생들이 팀을 구성하였습니다. - 각 팀원은 자신의..
[패스트캠퍼스 백엔드 개발자 부트캠프] 6. 미니 프로젝트 회고 개요 주요기능 🔐 로그인 / 회원가입 / 유저 관리권한 JWT 토큰 발급을 이용한 로그인 구현 user/admin api 구분 회원가입시 가입 요청대기 📇 연차 / 당직 신청 날짜 선택 및 연차/당직 신청 연차 보유개수보다 신청 연차일이 더 많으면 신청불가 📨 연차 / 당직 승인 Admin결재 -> 승인/반려 승인시 연차 보유개수 다시 한 번 검증, 문제 없다면 신청일 만큼 보유개수에서 차감 승인 리스트 검색 가능 🗓️ 모든 유저 연차/당직 월별 조회 역할 프로젝트 설계 및 확장 CI/CD, 로깅 등 인프라 구축 자동화 스크립트 작성을 통해 GitHub Actions을 이용한 CI/CD Docker를 통해 컨테이너화한 이미지로, EC2에서 Docker Compose 수행을 통해 클라우드 네이티브 환경의 ..
[패스트캠퍼스 백엔드 개발자 부트캠프] 5. 기자단 중간 회고 지난 기자단 활동을 돌아보며 백엔드 개발자로서의 성장과 경험에 대해 회고해보고자 합니다. 이 기간 동안 저는 패스트 캠퍼스의 백엔드 개발자 과정에 참여하여 다양한 프로젝트와 공부를 진행하였습니다. 이를 통해 제 실력을 향상시키고 많은 것을 배우게 되었습니다. https://github.com/MiniTeam6/MiniProject_BE GitHub - MiniTeam6/MiniProject_BE: 연차/당직 프로젝트 백엔드 연차/당직 프로젝트 백엔드. Contribute to MiniTeam6/MiniProject_BE development by creating an account on GitHub. github.com 첫 번째로, 프로젝트 경험을 통한 성장입니다. 기자단 활동 중에 저는 실제 업무와 유..
138일자 - TIL 자료구조 & 알고리즘 GitHub - ji-hoooon/datastructureandalgorithms: Data Structure 구현 및 Algorithms 작성 Data Structure 구현 및 Algorithms 작성. Contribute to ji-hoooon/datastructureandalgorithms development by creating an account on GitHub. github.com 1. 완전 탐색 15651번. N과 M (3) 중복순열 : 중복을 허용해서 순서 있게 나열하기 15649번. N과 M (1) 순열 : 중복없이 순서 있게 나열하기 155652번. N과 M (4) 중복조합 : 중복을 허용해서 고르기 15650번. N과 M (2) 조합 : 중복없이 고르기 14..

728x90
반응형