분류 전체보기 52

24.11.15 TIL - 윈도우 WSL Ubuntu 저장 경로 이동 방법

오늘 배운 것윈도우 WSL Ubuntu 저장 경로 이동 방법 개요WSL Ubuntu를 설치하면 C:\Users\\AppData\Local\Packages에 WSL Ubuntu의 데이터가 저장이 된다.  현재 Docker Desktop이 원인 모를 오류로 설치가 안되어서 WSL Ubuntu에서 Docker를 실행해서 사용하고 있다.  Docker를 사용하면 용량을 엄청 먹기 때문에 C 드라이브에서 하면 용량이 부족해질 수 있다. 그래서 용량이 널널한 HDD D 드라이브로 WSL Ubuntu을 옮겼다.  그리고 Docker를 사용해보려고 하니 Docker가 너무 느렸다.  심지어 HDD 사용률이 100%가 되었었다.  그래서 다시 WSL Ubuntu를 SSD인 E 드라이브로 옮기기로 했다.  이때 WSL U..

TIL 2024.11.15

최종 프로젝트 트러블슈팅 + 기술적 의사 결정

트러블 슈팅CDN Server 같은 이미지 동시 요청 시 DB 및 storage service 여러 번 가는 문제대용량 이미지 업로드 시 CDN URL 생성 오래 걸리는 문제이미지 정보 FeignClient 전송 시 문제 기술적 의사 결정CDN Server 도입으로 조회 및 다운로드 성능 향상CDN Server 캐싱 동작 구현 방법 CDN Server 같은 이미지 동시 요청 시 DB 및 storage service 여러 번 가는 문제개요현재 CDN Server의 구현은 아래와 같이 구현되어 있다.  브라우저에서 CDN Server에게 CDN URL로 이미지 조회 및 다운로드를 요청한다. CDN Server는 Redis에 해당 CDN URL을 key로 가지고 있는 value가 있는지 확인한다. 첫번째 요청..

프로젝트 2024.11.14

최종 프로젝트 회고

프로젝트 소개프로젝트 소개 :회사 내부에서 이미지 관련 처리를 돕는 이미지 처리 모듈 프로젝트프로젝트 기간 :24.09 ~ 24.10 (5주)프로젝트 팀원 구성 :BE 4명프로젝트 Github 주소 :https://github.com/4-Image-Module프로젝트 brochure 주소 : https://teamsparta.notion.site/4-Storage-Service-17e981c3249d47128b67cafebd09d4ee프로젝트 발표자료 : 나의 개발 파트CDN 서버 구축CDN server 이미지 조회 및 다운로드 기능 구현CDN server에 이미지 캐싱 기능 구현CDN server 용량 체크 로직 구현CDN server 최적화로 성능 개선Backend Client 라이브러리 구현이미지 ..

프로젝트 2024.11.13

3차 프로젝트 3주차 WIL

중간 발표  서비스 아키텍쳐 서비스 아키텍쳐에 조금 수정이 있었다.  여러 서비스가 같은 DB 사용하게 되어서 data server를 추가하였다.  하나의 DB에 여러 서비스가 직접 접근하는 것보다 data server를 통해 접근하는 것이 좋아 추가되었다.  또한 서비스들의 이름이 조금 바뀐 것이 있다.  internal server → processing server, url server → fetch server로 더 이해하기 쉽게 바꾸었다.  또한 fetch server에 있던 Redis가 사용되지 않을 것 같고 CDN server에서 필요해져 옮기게 되었다.   기술적 의사 결정업로드 응답 위치 문제 상황동기적으로 처리 시 이미지 업로드 완료 후 응답 받음이 과정 오래 걸려 사용자 경험이 저하됨..

프로젝트 2024.10.14

3차 프로젝트 2주차 WIL

CDN URLCDN URL을 어디서 생성하고 어떻게 조회하는지에 대한 고찰 CDN URL 조회하는 부분은 크게 2가지로 나뉨브라우저에서 CDN URL로 CDN에서 이미지 가져가기 위한 조회Backend Client에서 CDN URL Frontend로 반환하기 위한 조회 이때 CDN URL을 동적으로 생성하는가, 정적으로 생성하는가에 따라 동작이 달라진다.정적 생성은 CDN URL을 미리 규칙을 정해놓고 이미지 정보 DB에 저장해 두는 것이다. 동적 생성은 CDN에 이미지를 넣을 때 규칙 없이 CDN URL을 생성해서 반환하는 것이다.  동적으로 생성CDN에 이미지 넣을 때 URL 랜덤으로 생성그 후 Image URL Server에서 Redis에 CDN URL 보관2번 조회의 경우 Image URL Ser..

프로젝트 2024.10.07

24.09.30 TIL - 이미지 모듈 시스템 설계도

오늘 배운 것이미지 모듈 시스템 설계도이미지 모듈 시스템 흐름 이미지 모듈 시스템 설계도 이미지 모듈 시스템 흐름 시스템 큰 흐름은 2가지다. 이미지 업로드 이미지 조회 및 다운로드 이미지 업로드이미지 업로드 요청이미지에서 저장할 데이터 추출 및 가공해 DB에 저장ex: 원본 이미지 이름, storage service에 저장할 이미지 이름, 이미지 생성된 시간....DB에 저장 후 Backend Client에서 업로드한 이미지 구분에 필요한 데이터 반환 (ex: UUID??...)왜냐하면 이미지 업로드 후 URL 반환까지 오래 걸리기 때문원본 이미지 storage service에 저장 후 URL DB에 저장비동기, 배치 처리??어떻게 이미지 업로드 처리할지는 더 공부 후 상세 로직 나올듯원본 이미지 업로..

TIL 2024.10.01

24.09.27 TIL - 이미지 처리 모듈 생각 정리

오늘 배운 것백엔드에서 이미지 처리 시 불편한 점, 고려할 점이미지 모듈에서 있으면 좋을 것 같은 기능 백엔드에서 이미지 처리 시 불편한 점, 고려할 점대용량 이미지 업로드, 다운로드 시 시간이 오래 걸림여러 이미지를 차례로 업로드, 다운로드 하면 오래 걸림업로드, 다운로드 시 중간에 오류 발생하면 전체 취소됨업로드, 다운로드 시 중간에 오류 발생하면 취소된 곳부터 다시 하는 것이 어려움이미지 조회 시 권한 체크를 고려해야 함이미지를 resize해서 여러 size로 저장해야 함이미지 메타데이터 정보를 고려해야 함원본 이미지 이름은 그대로 넣지 않는 것이 좋음확장자를 제한해서 받아야 함이미지 업로드, 다운로드를 동기, 비동기로 처리할 것인지 고려해야 함 이미지 모듈에서 있으면 좋을 것 같은 기능업로드, 다..

TIL 2024.09.30

24.09.26 TIL - 2차 프로젝트 trouble shooting

오늘 배운 것Spring Cloud Gateway와 OpenFeign 사용 시 문제점FeignClient 사용 시 header 문제 개요 MSA에서 인증 인가를 진행할 때 발생한 문제들이였다.  우선 MSA에서 인증 인가를 위와 같이 진행했다. Gateway에서 하는 일들어오는 요청에 Authorization Header에 JWT가 있는지 확인 JWT가 있다면 JWT가 유효한 JWT인지 검증JWT 검증되었다면 JWT에서 추출한 정보로 필요한 정보 얻어옴필요한 정보 = username, roles를 Header에 넣어 요청 뒤로 진행시킴회원가입, 로그인 요청은 JWT 검증 로직 진행하지 않음Auth 서버에서 하는 일회원 가입 진행Spring Security 이용해 인증 진행 이 과정에서 User 서비스에게..

TIL 2024.09.27

대규모 AI 시스템 설계 프로젝트 회고

프로젝트 소개물류 관리 및 배송 시스템을 위한 MSA 기반 플랫폼 개발 프로젝트 나의 개발 파트Eureka 서버 설정Gateway 서버 구현Auth 서버 구현User 서비스 구현AI & Slack 서비스 구현MSA에서 Spring Security & JWT로 회원가입/로그인 로직 구현 백엔드 아키텍처 LikedMSA에서 인증, 인가 구현 경험모니터링, 분산 추적, 서킷브레이커 설정 해보는 경험MSA 환경 설정 및 FeignClient로 통신하는 경험Docker 및 Docker Compose 활용 경험 LackedAI 및 Slack 부분 구현하지 못한 것모니터링, 서킷브레이커 적용 및 사용 못한 것좀 더 세밀한 공통화 및 예외 처리, fallback 로직 등 적용하지 못한 것동시성 및 보상 트랜잭션 등 데..

프로젝트 2024.09.25

스프링 심화 대규모 AI 시스템 설계 프로젝트 - Starting Assignments

API 명세서https://teamsparta.notion.site/API-f7da2a7b7fe64f9c9eeb8616fd15e9f4 API 명세서 | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.teamsparta.notion.site 테이블 명세서https://teamsparta.notion.site/fa7f938fb7554cf884904d99c95c8ca5 테이블 명세서 | Notion기본 감사 로그teamsparta.notion.site ERD 명세서 인프라 설계서

프로젝트 2024.09.25