Terraform 적용하는 방법 A to Z
·
Infra/IAC
(base) nayongjun@nayongjun-ui-noteubug cherrypic-iac % cd terraform/env/dev 이번에 새로운 프로젝트를 하면서 Terraform을 적용해 보았는데요, 제가 순차적으로 공부했던 순서와 Terraform CI/CD를 구축하기까지 모든 내용을 요약해 보겠습니다. 미리 저의 IAC github repository를 첨부하겠습니다. 간단히 설명하고 넘어가는 부분도 많아서 중간 중간에 참고하시면 보시면 좋을 것 같아요. 근거가 있는 경우 레퍼런스 링크를 달아주었고 저의 주관적인 판단도 많이 있다는 점 참고하시면 좋을 것 같습니다. 📌 왜 테라폼을 사용하면 좋을까요?Terraform이란 클라우드 인프라를 코드로 관리(IaC)를 할 수 있는 유용한 도구입니다...
테스트 코드는 어떻게 작성해야 할까? - 좋은 테스트 코드 작성 TMI
·
프로젝트
오늘은 테스트 코드에 대해서 알아보겠습니다.공부를 해 나가는 만큼 추후에는 더 좋은 방법을 찾고 생각이 달라질 수도 있겠지만, 여러 Reference를 공부하고 또 직접 코드를 작성해 보면서 느꼈던 부분들과 찾았던 개인적인 인사이트에 대해서 작성하고자 합니다!📌 필수 개념 정립하기✅ 테스트 코드는 왜 작성해야 할까요?간단히 팀 프로젝트로 구현을 해보는 경우, 테스트 코드를 작성하지 않는 경우도 있습니다. Swagger나 Postman처럼 직접 API 요청을 보내고 결과를 확인만 하고 어느 정도 작동하는 것을 확인한 채로 말이죠. 그렇게 생각하게 된다면, 테스트 코드는 불편한 숙제가 될수도 있습니다. 이미 작성한 코드에 대해서 또 테스트를 하는 코드를 작성하는 느낌이라면 말이죠. 하지만, 실제로 테스트..
Clokey 리펙토링 : JPA 성능 최적화
·
카테고리 없음
최적화에 필요한 지식들을 공부를 했고 이전 게시물(🔗)에 정리를 해두었습니다,이를 바탕으로 다음과 같은 목표를 가지고 최적화 작업을 하기로 결정했습니다.양방향 매핑을 사용하지 않는다N+1 문제를 꼼꼼히 점검한다. (EntityGraph 또는 JPQL을 통한 Fetch Join)필요한 필드만 DTO 직접 반환(Projection)을 효율적으로 사용할 수 있는 경우 사용한다많은 데이터를 불러오는 경우 페이징을 사용하자적재적소에 인덱스를 적용한다OSIV를 꺼준다그런데, 실제로 적용하려다 보니 여러 가지 의문들이 생기게 되었습니다.❓프로젝션을 통한 직접반환이 영속성 컨텍스트를 재사용하지 않는 모든 경우에 유리하다면 JPA 기본 메서드들이 대부분의 경우에 비효율적이게 될 텐데 얼마나 더 빨라지는가? 이것이 AP..
JPA 최적화는 어떻게 해야할까?
·
프로젝트
이번 게시물에서는 JPA 최적화와 여러 가지 배경 지식을 알아보도록 하겠습니다.정답은 아니지만 저의 기준과 나름대로 얻었던 인사이트를 공유하고자 합니다.📌 N+1 문제와 해결법에 대해서 정확하게 알아보자✅ N+1 문제란?JPA 성능 최적화를 공부하게 된다면..? 아니 그 이전에 JPA라는 기술을 공부하게 된다면 가장 먼저 마주하는 개념 중 하나입니다. 또한, 성능 최적화에서 고려해야 할 가장 중요하면서도 기본적인 개념입니다.@Entitypublic class Member { @Id @GeneratedValue private Long id; private String name; @ManyToOne private Team team;}@Entitypublic class Team {..
배포의 모든 것 - 5. Blue-Green 무중단 배포 적용
·
프로젝트
🥲 길고 길었던 배포에 대한 드디어 마지막 게시물입니다.이번 포스트에서는 기존에 해오던 실습에 도커를 통한 무중단 배포를 적용하면서 마무리를 해보도록 하겠습니다 Docker에 대해서 알아보자 - 1. Docker의 개념과 생태계 🔗Docker에 대해서 알아보자 - 2. Dockerfile 🔗Docker에 대해서 알아보자 - 3. docker build & docker compose 🔗 도커에 대한 개념은 따로 포스트로 정리해 두었습니다. 따라서, 조금은 가볍게 설명하면서 속도감 있게 넘어갈 예정입니다. 개념을 잘 알고 계시다면 확인하지 않아도 좋습니다. 지금부터 진행하는 Blue-Green 무중단 배포 방식은 정답은 아닙니다..! 제가 어떻게 진행을 했는지 소개를 해드리겠습니다.우선 저 같은 경우..
Clokey 프로젝트 리펙토링 - Github Actions & Docker 최적화
·
프로젝트
🤔 프로젝트가 1차적으로 끝난 이후에 배포 부분을 제대로 공부를 하고 싶었다고 생각하고 있었고...그에 따라서 Docker와 Github Action에 대해서 깊이 있게 알아보면서 가지고 있던 의문들에 대한 답을 어느 정도 얻은 것 같습니다.CI/CD 도구 - 1. Github Action 🔗Docker에 대해서 알아보자 - 1. Docker의 개념과 생태계 🔗Docker에 대해서 알아보자 - 2. Dockerfile 🔗Docker에 대해서 알아보자 - 3. docker build & docker compose 🔗 "> 어떻게든 돌아가던 설계에서 제대로 돌아가는 설계를 향해서... 리펙토링을 해보겠습니다. 현재 Clokey의 배포 프로세스는 Gi..