실무에서는 어떻게 성능 최적화를 할까?
·
실무 기록
어느덧 실무 개발을 시작한 지도 6개월이 지났습니다. 그동안 정신없이 개발에 몰두하다 보니 다양한 기술을 다뤄볼 수 있었고, 꼭 한 번 정리해보고 싶었던 주제인 성능 최적화에 대해 정리해보고자 합니다.🤔 '성능 최적화'라는 주제여러분들은 '성능 최적화'라는 주제에 대해서 얼마나 잘 알고 계신가요?저는 개인적으로 가장 이해하기 어려웠고, 또 결국은 학부생 때 완벽하게 이해하는 것에 실패한 분야입니다.단편적으로 성능 최적화에 대한 여러가지 방법들을 공부하고 적용해 보았으나, 큰 그림에 대한 인사이트 없었기 때문에 "어떻게 성능 최적화를 해야 하는가?"라는 큰 질문에 정리된 답변을 내놓기 힘들었던 것 같아요.6개월 정도 실무를 경험해 보면서 제가 발견한 인사이트를 공유하며, 이제는 이 블로그에서도 가장 많이..
비전공자에서 카카오 최종 경험까지, 개발 인생 회고
·
회고 & 일기
결론부터 말하면 카카오는 최종에서 아쉽게 떨어지게 되었습니다!지금은 다른 서비스 회사에서 유저향 기능들을 개발하면서 개발자로서 성장해 나가고 있습니다.이 글을 사실상 저만의 개인 회고이기도 하면서, 지금까지 겪었던 시행착오와 비전공자의 위치에서 개발을 시작하는 단계에서 겪었던 일들을 정리해 보고자 합니다. (미리 말씀드리면 카카오 면접과 관련한 대단한 팁이 있지 않습니다.)저는 비전공자이면서 부트캠프 경험이 없습니다.개발을 시작하면서 "나와 같은 사람들은 어떻게 성장하고 어떻게 취업을 했을까?"라는 생각을 많이 했던 것 같고, 그런 것들에 대한 개인적인 이야기를 풀어 보고자 합니다.✅ 4학년 여름 방학 개발을 시작해 보자저는 정말 늦은 시기에 개발이라는 분야에 뛰어들었습니다. 산업공학과를 주전공으로 하..
모니터링 구축기 : Logback + PLG
·
대학생 기록/Monitoring
최근 좋은 기회로 EAT-SSU라는 숭실대 학식앱을 운영하는 팀에 합류하게 되었습니다.모니터링을 구축하게 된 계기와 그 과정에 대해서 이야기해보고자 합니다. 📌 로그와 모니터링이 왜 필요할까?사실, 지금까지의 프로젝트에서는 이러한 부분들을 크게 생각해 봤던 적이 없습니다. 왜냐고요..? 대규모 트래픽을 대상으로 운영을 돌려볼 일이 없었기 때문입니다.EAT-SSU는 MAU가 3500+ 정도 되었고 종종 문제가 발생할 때마다 모니터링을 꼭 구현하고야 말겠다는 생각을 했습니다.현재 구조에서는 slack을 통한 에러 알림과외부 모니터링 서버에서 Grafana와 Prometheus를 통한 기본적인 모니터링은 되고 있었습니다.그런데 위와 같은 구조는 충분하다고 느끼지는 못했습니다. 예를 들어서, 어떤 문제가 터진..
@Modifying의 문제점을 알고 사용하자
·
대학생 기록/JPA & Database
이전 게시글에서는 삭제의 용도로 사용하던 양방향 매핑을 제거하게 된 계기와 그로 인해서 deleteAllInBatch와 JPQL 삭제 메서드를 사용하게 된 이유를 소개했습니다. https://coding-self-study.tistory.com/31 양방향 매핑을 왜 함부로 사용하면 안될까? 삭제 성능 최적화최근 여러 프로젝트를 하면서 @OneToMany를 충분히 잘 알고 사용하고 있다고 생각했습니다.양방향 매핑과 Cascade를 통해서 삭제를 편리하게 하려고 했는데 또 쿼리를 까보니 양방향 매핑은 그렇게coding-self-study.tistory.com 이번 게시물에서는 삭제 관련 기능들을 구현할 때 발생하는 문제점과 주의 사항에 대해서 다뤄보겠습니다.✅ 영속성 컨텍스트 동기화 가장 먼저 이 개념에 ..
양방향 매핑을 왜 함부로 사용하면 안될까? 삭제 성능 최적화
·
대학생 기록/JPA & Database
최근 여러 프로젝트를 하면서 @OneToMany를 충분히 잘 알고 사용하고 있다고 생각했습니다.양방향 매핑과 Cascade를 통해서 삭제를 편리하게 하려고 했는데 또 쿼리를 까보니 양방향 매핑은 그렇게 사용하면 안 된다는 것을 깨달았습니다. 그 경험에 대해서 소개를 하고 @OneToMany를 어떻게 활용할 수 있는지 다뤄보겠습니다.✅ 예전에 공부한 @OneToMany를 사용함으로써 발생한 문제들 https://coding-self-study.tistory.com/25 JPA 최적화는 어떻게 해야할까?이번 게시물에서는 JPA 최적화와 여러 가지 배경 지식을 알아보도록 하겠습니다.정답은 아니지만 저의 기준과 나름대로 얻었던 인사이트를 공유하고자 합니다.📌 N+1 문제와 해결법에 대해서 정coding-sel..
어째서 Jmeter로 메서드 단위 성능을 반복 측정하면 안되는가? (JVM Warm-up & DB Cache)
·
대학생 기록/JPA & Database
이전에 작성했던 게시글에서 Jmeter로 한 메서드의 성능을 반복 측정하면 안 되는 이유를 JVM Warm-up과 DB Cache와 관련해서 설명을 드리겠습니다. https://coding-self-study.tistory.com/26 Clokey 리펙토링 : JPA 성능 최적화최적화에 필요한 지식들을 공부를 했고 이전 게시물(🔗)에 정리를 해두었습니다,이를 바탕으로 다음과 같은 목표를 가지고 최적화 작업을 하기로 결정했습니다.양방향 매핑을 사용하지 않는다coding-self-study.tistory.com해당 게시물에서 겪었던 시행착오 중, Jmeter를 이용해서 단일 Repository 메서드의 성능을 측정하려 한 일이 있었습니다. 이때 메서드가 반복 호출됨에 따라 발생했던 문제가 있습니다.첫 번째..