Genie의 Java 개발 공부와 일지를 기록하는 아카이브 공간 전체 글176 (24.07.22)[15주차] MinIO 활용 정리 프로젝트 구성에 있어서 데이터를 저장하고, 조회, 그리고 수정도 할 수 있게끔 기능을 추가를 했다.DI 배포 파이프라인에 따라서 AWS S3를 사용해야하지만,개발 단계에서 테스트용으로 직접적으로 사용하는데에는 비용적으로 부담이 크고, 빠르게 변경을 할 수 없다는 단점이 있다.이 때, 오픈 소스 객체 스토리지 서버인 MinIO를 활용하여 개발을 진행하려고 한다. 이를 위해 아래에는 MinIO를 활용하기 위해 정리하고 학습한 내용이다.MinIO오픈 소스 객체 스토리지 서버를 제공해주는 소프트 웨어오픈 소스 이므로 커뮤니티를 통한 정보와 문서가 제공되고 있음쉬운 튜토리얼이 가능 : WebUI 제공Amazon S3 API와 호환이 가능실제 S3에 배포 전 기능을 그대로 활용해서 개발, 테스트를 실제 환경과 똑같.. 2024. 7. 22. (24.07.19) Project S.A. 작성 1. 프로젝트 제목/설명프로젝트 명 : public class Dev {}기획배경개발자 풀이 증가하는 트렌드에 따라, 개발 취준생과 주니어 개발자들에게는 협업 경험의 효과 적인 플랫폼의 필요성 증가기획 목적개발자들이 모여서 함께 스터디 그룹을 구성하고 사이드 프로젝트를 진행하며, 코드 리뷰와 피드백을 주고받을 수 있는 협업 플랫폼을 제공주요 기능 요약• 사용자가 직접 CRUD를 통해 관심사별/프로젝트별 모임을 효율적으로 관리• Feed 형 코드리뷰 및 정보 공유와 Comment CRUD 를 통한 관리• 협업 Process 칸반보드 CRUD를 통한 효율적인 프로젝트 관리와 실시간 소통 2. WireFrame3. ERD 4. API 명세서 2024. 7. 19. (24.07.16) A08조 "Palette" Project - KPT 회고 Summary👍 KEEP협업 회의 시, 너무 기능 구현 또는 해야할 일에서만 회의를 하는 것이 아니라 서로 Small Talk을 섞어가면서 활기찬 분위기와 좋은 컨디션으로 프로젝트를 진행할 수 있었다.프로젝트를 시작 하기 전, GitHub 규칙, Git Convetion, .env 를 통한 환경변수 설정 및 docker-compose.yml을 통한 협의를 통해 개발 환경을 일치시켜, 개발 환경 관련 트러블이 발생하지 않았다.GitHub에 Pull Request 진행이 있을 때 곧바로 Merge 되는 것이 아니라 서로의 코드를 보면서 부족한 부분이나 놓친 부분을 점검해주는 코드리뷰/피드백을 적극적으로 할 수 있었다.서로의 코드와 로직 등 각 팀원간 분배되어 구현된 기능과 파트에 대해서 서로 코드로써 존중.. 2024. 7. 16. (24.07.15)[14주차] 프로젝트 중 동시성 제어를 위한 Redisson 활용 많은 요청이 한번에 들어올 경우 DB에 CRUD간 데이터의 일관성, 무결성, 정합성의 DB 데이터 특성을 보호하기 위해서 동시성을 제어할 필요가 있다. 쓰레드나 프로세스가 동시에 데이터에 접근하는 것을 방지하기 위해 여러가지 방법이 있지만, Synchronized나 DB Lock은 DB또는 서버등의 환경이 분리됨에 따라 동시성 제어가 불가능할 수 밖에 없다. 따라서 DB단이 아닌 싱글 쓰레드인 메모리와 같은 Redis단에서 DB 접근에 관하여 제어를 하면서 동시성 제어를 해야한다. 이러한 Redis단에서의 분산된 Lock, Distributed Lock 중 Redisson API를 통해 임계영역을 직접적으로 Redis가 관리할 수 있도록 협의를 하고 구현을 진행함에 있어서 그 과정을 정리했다. Synch.. 2024. 7. 15. (24.07.15) Card 생성의 동시성 제어 Card 생성의 동시성 제어Column과 Card(할일)에 관해서는 Position이라는 위치에 해당하는 값을 필드로 가지고 있기 때문에 동시에 DB에 접근해서 저장/삭제/수정을 할 경우에 대해서 위치가 겹쳐져서 데이터가 입력이 될 수 있으므로 이 부분에 동시성 제어를 적용하기로 결정물론 Redis 자체가 싱글 쓰레드이므로 RedisTemplate을 사용해도 문제는 없으나 실제로 적용하는 연습과 그 과정을 선택하기 위해 선택RedissonConfig@Configurationpublic class RedissonConfig { ... public static final Long WAIT_TIME = 30L; public static final Long LEASE_TIME = 10L; @B.. 2024. 7. 15. 이전 1 ··· 5 6 7 8 9 10 11 ··· 36 다음