당신의 메모리는 안녕하십니까?
·
Spring/Spring Boot
당신의 애플리케이션은 안전한가요?"혹시 서비스 운영 중 아무런 이상이 없어 보이던 시스템이 갑자기 느려지고, 응답 시간이 증가하며, 결국 장애로 이어진 경험이 있지는 않나요? 우리가 흔히 간과하는 작은 코드 한 줄이 애플리케이션 성능 저하와 서버 장애를 초래할 수 있다는 사실, 알고 계셨나요?" 이런 문제는 대부분 메모리 관리의 작은 실수에서 시작된다. 애플리케이션이 실행되는 동안 메모리는 끊임없이 할당되고 해제된다. 특히 Java의 JVM 메모리 관리 방식을 제대로 이해하지 못하면, 시스템 성능 저하와 장애를 초래하는 메모리 누수(memory leak)가 발생하여 시스템 성능이 점점 저하될 수 있다.위 그래프는 JVM 메모리 사용량을 보여준다. 시간이 지남에 따라 메모리 사용량이 꾸준히 증가하고 있으며..
Udemy - Java 멀티스레딩, 병행성 및 성능 최적화
·
후기/Udemy 리뷰
글또 9기에서 지원받은 Udemy 강의 리뷰입니다. 강의를 지원받는 대신! 리뷰를 작성하기로 했다는 점! 강의를 듣기 전에 자바의 기본적인 문법과 원리에 대해 이해하고 있어야 한다. 자바로 어플리케이션을 개발해본 경험이 있다면 강의를 들을 때 더 이해가 잘 것이다. 운영체제를 미리 공부해둬야 강의를 수월하게 이해할 수 있다. 개인적으로는 운영체제를 공부하지 않았다면 강의 내용을 이해하기 어려웠을 거라고 생각한다. 강의 구성 강의: 링크 강의는 먼저 이론을 설명한 뒤 실습에 들어가는 형식으로 진행되었다. 중간중간 이론 퀴즈와 실습 문제가 제공한다. 1. 스레드의 개념, Runnable과 Thread 강의를 시작하기 전 가장 많이 사용하게 될 Runnable과 Thread의 기본적인 사용 방법을 알려준다. ..
2023 Spring Camp 근데 이제 현업 경험을 곁들인
·
활동/컨퍼런스
스프링 캠프? 3월에 막 입사하여 신입 개발자로 근근이 살아던 중 인프런에 재직 중인 부스트캠프 동기 김00 군에게 연락이 왔다. 아래 링크를 던져주면서 참가할 생각이 있냐고 물어봤다. [오프라인] 스프링캠프 2023 - 인프런 | 강의 애플리케이션 서버 개발자들과 함께 가치있는 기술에 관한 정보과 경험을 '공유'하고, 참가한 사람들과 함께 '인연'을 만들고, 시끌벅적하게 즐길 수 있는 개발자들을 위한 '축제'를 목표로 하는 www.inflearn.com 현재 회사의 핵심 기술스택이 스프링이었음에도 스프링 알못인 나는 스프링에 대해서 하나라도 더 주워들어야 했기 때문에 그 친구와 함께 참가하기로 결정했다. 스프링 캠프는 한국 스프링 사용자 모임(KSUG)에서 매년 진행하는 비영리 컨퍼런스이다. 가격은 3..
java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package
·
JAVA/오류해결
😢 오류 내용 java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(Unknown Source) at java.lang.ClassLoader.preDefineClass(Unknown Source) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.Secu..
[Spring Boot][오류해결] Modifying queries can only use void or int/Integer as return type
·
JAVA/오류해결
Resolved [org.springframework.dao.InvalidDataAccessApiUsageException: Modifying queries can only use void or int/Integer as return type! Offending method: public abstract com.example com.example.repository.myRepository.mySave(int,int,java.lang.String); nested exception is java.lang.IllegalArgumentException: Modifying queries can only use void or int/Integer as return type! Offending method: publ..
[Spring Boot][오류해결] Executing an update/delete query
·
JAVA/오류해결
스프링 부트를 사용할 때 네이티브 쿼리를 통해 JPARepository를 다루는 경우가 있다. 그런데 아래와 같은 오류가 발생할 때가 있다. Resolved [org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query] TransactionRequiredException이 발생한 것인데, update/delete 쿼리를 실행할 때 @Transactional을 붙여주지 않았기 때문에 발생한 에러이다. 문제의 코드 publ..