2024/12 5

물류 서비스 구조 분석 - 마켓컬리

마켓컬리 물류 서비스주요 기술 스택Java(Spring Boot)JPAGraphQLOracleAurora(MySQL)AWS MQ 서비스 구조이커머스 서비스이커머스 백엔드 시스템은 Legacy PHP와 PHP/Laravel과 Java/Spring Boot가 하이브리드 형태로 구성Legacy PHP는 회원, 상품, 주문, 결제등을 관리하고, 검색 및 데이터 기반 서비스는 Java/Spring Boot로 개발전체 이커머스 시스템은 Spring Cloud Netflix를 기반 물류 서비스물류 서비스는 크게 SCM, WMS, TMS으로 구성 Warehouse Management System은 서비스 형태 구조 고도화를 통하여 다양한 형태의 물류 창고 관련 운영 효율화를 수용가능하도록 개발하고 AWS MQ, JPA..

카테고리 없음 2024.12.16

[설계] 도서관 사이트 개발 - 요구사항 명세서

백엔드 개발에 필요한 기술을 적용하며 깊게 이해하기 위해 프로젝트를 시작..!주제는 평소에 책 읽을 때 많이 사용하는 교보문고 전자도서관을 주제로 잡아 분석하고 사용하면서 추가하고 싶었던 기능을 수정하며 구현하려고 합니다. 프로젝트를 시작하며 프로젝트의 목표와 범위를 구체적으로 정의하며 필수 기능과 부가기능 등의 개발 우선순위를작성하는 요구사항 명세서를 설계했습니다.요구사항 명세서를 통해 일정관리 및 프로젝트 관리 효율을 높이기 위해 자세하게 작성하려고 노력했습니다. 1. 요구사항 명세서 초안 작성 목표1. 사용자, 관리자 인터페이스 구현2. 전자책 대출/반납/예약 등 기능 구현3. 개인별 맞춤화 추천 구현4. 도서의 대출 예약 상태 변경 시 레디스 적용 기능 유저- 회원가입 및 로그인, 로그아웃 기능 ..

카테고리 없음 2024.12.16

IntelliJ 무한 로딩

본격 프로젝트를 시작하며 spring initializer로 파일을 만들고 야심 차게 프로젝트를 인텔리제이로 켰다그 결과 무한 로딩이라는 문제를 만나고 말았다..!이 때까지 잘 사용하던 인텔리제이가 왜 이렇게 된 걸까 당황했지만 차분하게 방법을 찾아 해결해 보기로 했다. Command + Shift + a 눌러 registry -> awt.file.dialog.enable.filter 체크 해제 후 리부팅Settings -> Build,Execution,Deployment -> Build and run using -> Gradle에서 IntelliJ로 변경JDK Gradle JVM 버전 맞춰보기 Settings -> Build, Execution, Deployment > Build Tools -> Gra..

카테고리 없음 2024.12.15

[설계] 요구사항 명세서

사이드 프로젝트 계획을 수립하고 설계하며 요구사항 분석에 대해 다시 공부하며 설계해보았다. 1.  요구사항 명세서 정의요구사항은 프로젝트를 수행하기 위해 필요한 조건이나 시스템에서 제공하는 기능과 동작을 정의하며, 요구사항 명세서는 프로젝트에서 무엇이 구현되어야 하는지 작성하며 프로젝트의 모든 요구사항들을 체계적으로 정리하고 문서화한 것이다. 2.  요구사항 종류요구사항 명세서는 기능적 비기능적 요구사항으로 나뉜다. 2-1. 기능적 요구사항- 기능 요구사항은 프로젝트에서 수행해야 할 기능에 대한 설명ex) 주문 내역 조회, 장바구니 상품 추가 2-2. 비기능적 요구사항시스템의 품질 속성과 관련된 요구사항성능 : 처리량, 속도, 응답 시간보안 : 인증방식, 암호화 기법사용성 : 학습 용이성, 만족도, 편리..

카테고리 없음 2024.12.14

mapper 설계

사이드 프로젝트를 시작하며 Mapstruct를 이용하여 mapper 인터페이스를 설계 1. MapStruct 란?데이터베이스에서 데이터를 조회하고 서비스에서 로직을 설계 하기 위해 Dto -> Entity, Entity -> Dto 의 Mapping 작업을 해준다. 사용자가 인터페이스에서 구현하고 맵핑에 대한 설정을 해주면 컴파일하면서 MapStruct가 내부 구현체에서 setter 등을 이용하여 객체를 맵핑한다. Mapstruct는 비슷한 맵핑 작업을 해주는 라이브러리 중 속도가 빠르다! 2. MapStruct 사용 이유첫번째, Mapstruct는 비슷한 맵핑 작업을 해주는 라이브러리 중 속도가 빠르다.두번째, 자동으로 DTO 클래스와 엔티티 클래스를 매핑해주어 편리하다.세번째, Mapstruct는 사..

카테고리 없음 2024.12.10