Record
-
AWS Building Block Review - DevSecOpsRecord 2023. 4. 21. 06:24
시작하며 AWS Korea에서 진행한 Building Block에 참여했습니다. 주제는 DevSecOps로, AWS를 활용한 데브옵스 환경에서의 보안이라는 내용을 다뤘습니다. 총 2일 간 진행되는 세션이었고, 1일차는 DevSecOps 환경에 대한 전반적인 설명과 도구들에 대한 이야기, 그리고 2일차는 DevSecOps 환경 구축 실습이 이뤄졌습니다. 실습 내용은 이렇습니다. 배포된 웹 응용 프로그램의 취약점에 직접 침투시키며 어떤 위험 요소가 있는지 미리 학습하고, 더 나아가 이런 문제에 대응하고, 미리 포착하기 위한 DevSecOps 환경 구축과 모니터링 방법에 대해 학습합니다. 이번 포스트에서는 실습에 집중해서 작성하고자 합니다. 이후에 나올 글을 보면 아시게 될 테지만, 중간중간 생략된 부분이 많..
-
토비의 스프링부트 수강 후기Record 2023. 4. 17. 08:52
정리하며 최근에 토비의 스프링부트를 완강했습니다. 출퇴근길 지하철에서 꾸준히 들었는데, 최고의 선택이었던 것 같습니다. 가장 좋았던 부분은 역시 토비님의 스프링에 대한 지식을 경험했다는 사실인 것 같습니다. '토비의 스프링' 책은 읽을 엄두가 나지 않아 망설이던 차에 너무나 좋은 기회가 됐습니다. 우선 이 강의를 한 줄로 요약한다면 '제어권을 스프링부트에서 개발자로 다시 가져오는 방법'이라고 설명하고 싶습니다. 사실 이 강의는 비약적으로 코딩 실력을 올려준다던가 현재 직면한 기술적 이슈를 해결할 지침을 제공해주지는 않습니다. 그렇지만 수강 함으로써 사고가 확장됩니다. 지금까지 스프링부트를 대략적으로만 이해하고 있었지, 하나하나 파고들어 세부사항 그리고 왜 이런 구조가 발생되었는지 까지는 생각하지 못했습니..
-
On Boarding (2) :: 이력 데이터 관리Record 2023. 3. 16. 20:59
시작하며 출퇴근 기록이 담기는 테이블은 계속해서 데이터가 누적되는 상황이었고, 중요도가 높았기에 주기적인 아카이빙 솔루션이 필요했습니다. 또한 모든 요청이 하나의 커다란 테이블로 모이면서 발생하는 부하의 해결이 필요했기에, 출퇴근 테이블을 월 별로 RANGE 파티셔닝 하는 방법을 선택 했습니다. ( 2023년 레코드만 파티셔닝하는 예제입니다. ) 조회는 이렇게 동작됩니다. 'SO'의 2023년 3월 출근 기록 조회 Request Where `date` BETWEEN `2023-03-01` AND `2023-03-31` 조건으로 파티션 프루닝 진행 ( partitions -> p202303 ) Where `username` = 'so' 조건으로 인덱싱 ✔`username` 컬럼에 인덱스 추가된 상태 ( U..
-
On Boarding (1) :: 아키텍처Record 2023. 3. 16. 20:58
시작하며 신입으로 입사하게 된 회사에서 온보딩 과제로 `근태 관리 시스템` 파일럿 프로젝트를 시작하게 됐습니다. 동시에 회사에서 진행하는 DDD 스터디에 참여하면서 아키텍처에 대한 고민을 시작했고, 이번 과제에 간단히 적용한 후 그 내용을 정리하고자 합니다. GitHub - JeyunSong/CommuteProject: 간단한 출퇴근 관리 서비스 간단한 출퇴근 관리 서비스. Contribute to JeyunSong/CommuteProject development by creating an account on GitHub. github.com ( 소스코드 첨부합니다. ) 아키텍처 선택 프로젝트 구조는 도메인을 확실히 분리한 계층형 아키텍처를 선택했습니다. 이를 선택한 이유는 간편함에 있었습니다. 우선 복..
-
BootCamp(2) - 프리티어 인스턴스 성능 튜닝Record 2022. 11. 25. 23:08
시작하며 3개월 간 진행한 부트캠프의 마지막 프로젝트에서 AWS 프리티어 리소스를 단물이 나오지 않을 때까지 최대한 써먹기 위해 고민한 내용들을 정리했습니다. 현업에서는 어떻게 클라우드 리소스 비용 최적화를 진행할까 많이 고민했고, 정답은 당연히 나오지 않았으나 최대한 시도해보려고 한 흔적들이니 심심할 때 봐주시면 좋을 것 같고 피드백 주시면 감사하겠습니다. ✔ EC2 ( t2.micro ), RDS ( t3.micro ), ElastiCache for Redis ( t2.micro ) 를 Beanstalk 환경에서 대용량 데이터가 있는 쇼핑몰 프로젝트를 진행하고 있습니다. GitHub - SpringMarket/SpringMarket: 1000만 건 상품 데이터가 있는 의류 쇼핑몰 1000만 건 상품 ..
-
BootCamp(1) :: 마지막 프로젝트Record 2022. 11. 24. 21:33
시작하며 현재 글을 작성하는 시점은 프로젝트가 마무리 되고 시간이 꽤 지난 상태입니다. 더 지난다면 기억에서 완전히 사라질 수도 있겠다 싶어 급하게 작성하게 됐습니다. 프로젝트의 목표는 '대용량 상품 데이터가 있는 이커머스 환경에서 최적의 사용자 경험을 제공할 것' 이었습니다. DB에 1000만건의 더미 상품을 적재해 부하를 걸어가며 테스트를 진행했고, 다양한 방법으로 시나리오를 해결했습니다. 물론 이제와서 생각한다면 실제 서비스 환경이 아니었기에 유의미한 결과값은 딱히 없었던 것 같지만, 대용량 데이터 처리에 대한 실마리는 잡을 수 있었던 시간이었기에 상당히 만족하며 마무리 했던 기억이 있습니다. 다만 아쉬운 점이 있다면, 너무 성능적인 부분에 집착해서인지 전체적인 설계와 코드베이스가 허술했던 것 같습..