모니터링 구축기 : Logback + PLG
·
프로젝트
최근 좋은 기회로 EAT-SSU라는 숭실대 학식앱을 운영하는 팀에 합류하게 되었습니다.모니터링을 구축하게 된 계기와 그 과정에 대해서 이야기해보고자 합니다. 📌 로그와 모니터링이 왜 필요할까?사실, 지금까지의 프로젝트에서는 이러한 부분들을 크게 생각해 봤던 적이 없습니다. 왜냐고요..? 대규모 트래픽을 대상으로 운영을 돌려볼 일이 없었기 때문입니다.EAT-SSU는 MAU가 3500+ 정도 되었고 종종 문제가 발생할 때마다 모니터링을 꼭 구현하고야 말겠다는 생각을 했습니다.현재 구조에서는 slack을 통한 에러 알림과외부 모니터링 서버에서 Grafana와 Prometheus를 통한 기본적인 모니터링은 되고 있었습니다.그런데 위와 같은 구조는 충분하다고 느끼지는 못했습니다. 예를 들어서, 어떤 문제가 터진..
@Modifying의 문제점을 알고 사용하자
·
프로젝트
이전 게시글에서는 삭제의 용도로 사용하던 양방향 매핑을 제거하게 된 계기와 그로 인해서 deleteAllInBatch와 JPQL 삭제 메서드를 사용하게 된 이유를 소개했습니다. https://coding-self-study.tistory.com/31 양방향 매핑을 왜 함부로 사용하면 안될까? 삭제 성능 최적화최근 여러 프로젝트를 하면서 @OneToMany를 충분히 잘 알고 사용하고 있다고 생각했습니다.양방향 매핑과 Cascade를 통해서 삭제를 편리하게 하려고 했는데 또 쿼리를 까보니 양방향 매핑은 그렇게coding-self-study.tistory.com 이번 게시물에서는 삭제 관련 기능들을 구현할 때 발생하는 문제점과 주의 사항에 대해서 다뤄보겠습니다.✅ 영속성 컨텍스트 동기화 가장 먼저 이 개념에 ..
양방향 매핑을 왜 함부로 사용하면 안될까? 삭제 성능 최적화
·
프로젝트
최근 여러 프로젝트를 하면서 @OneToMany를 충분히 잘 알고 사용하고 있다고 생각했습니다.양방향 매핑과 Cascade를 통해서 삭제를 편리하게 하려고 했는데 또 쿼리를 까보니 양방향 매핑은 그렇게 사용하면 안 된다는 것을 깨달았습니다. 그 경험에 대해서 소개를 하고 @OneToMany를 어떻게 활용할 수 있는지 다뤄보겠습니다.✅ 예전에 공부한 @OneToMany를 사용함으로써 발생한 문제들 https://coding-self-study.tistory.com/25 JPA 최적화는 어떻게 해야할까?이번 게시물에서는 JPA 최적화와 여러 가지 배경 지식을 알아보도록 하겠습니다.정답은 아니지만 저의 기준과 나름대로 얻었던 인사이트를 공유하고자 합니다.📌 N+1 문제와 해결법에 대해서 정coding-sel..
어째서 Jmeter로 메서드 단위 성능을 반복 측정하면 안되는가? (JVM Warm-up & DB Cache)
·
카테고리 없음
이전에 작성했던 게시글에서 Jmeter로 한 메서드의 성능을 반복 측정하면 안 되는 이유를 JVM Warm-up과 DB Cache와 관련해서 설명을 드리겠습니다. https://coding-self-study.tistory.com/26 Clokey 리펙토링 : JPA 성능 최적화최적화에 필요한 지식들을 공부를 했고 이전 게시물(🔗)에 정리를 해두었습니다,이를 바탕으로 다음과 같은 목표를 가지고 최적화 작업을 하기로 결정했습니다.양방향 매핑을 사용하지 않는다coding-self-study.tistory.com해당 게시물에서 겪었던 시행착오 중, Jmeter를 이용해서 단일 Repository 메서드의 성능을 측정하려 한 일이 있었습니다. 이때 메서드가 반복 호출됨에 따라 발생했던 문제가 있습니다.첫 번째..
MCP란? 빠르게 배우고 적용해 보자
·
ETC
최근 AI가 빠르게 발전하면서 개발자들의 생산성이 크게 증가하게 되었습니다. 이와 관련하여 더욱더 편리하게 AI를 사용할 수 있는 MCP라는 개념에 대해서 간단하게 설명하고 '어떻게 사용할 수 있는지'이 집중해서 설명드리겠습니다.✅ MCP의 개념MCP란 Model Context Protocol로써 Anthropic이 오픈 소스로 공개한 프로토콜입니다. 프로토콜이란 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 규칙인데요, MCP는 AI에 최적화된 표준 프로토콜이라고 생각하시면 됩니다. 공식 문서에서는 MCP를 AI 어플리케이션을 위한 USB-C포트라고 비유하는데요, 사실 MCP의 개념은 MCP를 어떤 것에 활용 가능한지에 주목하면 조금 더 쉬운 이해가 가능합니다.✅ MCP를 적용하면 이런게 가능해..
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)를 할 수 있는 유용한 도구입니다...