전체 글

흔한 컴공 출신 개발자입니다. 제가 경험하고 공부하고 아는 것을 적어둡니다.
· JAVA/spring
0. 이 글을 쓰는 이유 통신 과정에서 method에 대한 정보를 가져온 후 특정 어노테이션이 붙은 경우에 대해 필터링을 하는 방법을 정리하기 위함 1. 가장 필요한 건 HandlerMethod Spring 공식 문서에 보면 HandlerMethod클래스에 이런 말이 적혀있다. Provides convenient access to method parameters, the method return value, method annotations, etc. 메서드의 어노테이션이나 파라미터, 리턴 등에 대해 쉽게 제공할 수 있게 해준다고 한다. 이걸로는 정보가 좀 부족한 것 같다. 요새 ChatGPT가 코딩조무사처럼 잘 도와주고 있던데 한번 예제 코드를 달라고 해 봤다. @RequestMapping("/use..
· JAVA/spring
0. 이 글을 쓰는 이유 로깅을 정말 아무것도 없는 상태에서 처음부터 적용하려고 하면 어떻게 해야 하나 정리를 하기 위함 공식 도큐먼트 : logback : https://logback.qos.ch/manual/configuration.html spring-boot : https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging Chapter 3: Configuration In symbols one observes an advantage in discovery which is greatest when they express the exact nature of a thing briefly and, a..
· docker
0. 이 글을 쓰는 이유 이번에 MariaDB로 컨테이너 설정하다가 conf파일과 최초 컨테이너 생성 시 초기화를 하는 방법에 대해 알게 되어 정리하려고 작성함 1. 최초 컨테이너가 동작하면서 sql을 실행해야한다면 결론먼저 컨테이너가 동작할 때 docker-entrypoint-initdb.d 디렉터리에 실행하고자 하는. sql파일들을 넣어주면 된다. FROM mariadb ADD ./mysql-init-files /docker-entrypoint-initdb.d EXPOSE 3306 처음에는 행복회로를 좀 돌렸다. 쿼리를 실행해서 스키마와 테이블을 만들고 해당 컨테이너로 이미지를 만들면 해당 테이블과 스키마가 같이 저장된 이미지가 만들어질 것 같았다. 하지만 어림도 없었다. 왜냐하면 이미지는 생성되는 ..
0. 이 글을 쓰는 이유 java를 완전 처음 접하면 try catch와 throw에 대해 생각이 좀 많아질 수 있는데 최대한 간단하게 설명을 하고 내 생각을 정리하기 위함 1. throw? 이름 그대로 생각하면 던진다는 뜻이다. java에서는 에러를 "다른 메서드에게 던진다" 정도로 생각하면 될 것 같다. 2. try - catch (- finally) 이름 그대로 생각하자. 시도하고 잡고 마침내 뭔가를 한다. try 블록에서 시도하다가 문제가 발생한 경우 catch문에서 후속조치를 할 수 있다. 이후 옵션 사항으로 finally문을 통해 try가 다 끝나던 catch로 후속조치를 하던 아무튼 무조건 실행해야 하는 로직은 finally 블록에서 진행한다. 3. 본론 3-1. throw는 책임전가? tr..
· JAVA/spring
0. 이 글을 쓰는 이유 평온하게 개발을 하던 중 환경에 따라 동적으로 flyway의 sql파일에서 값을 변경하여 넣어줘야 할 일이 생겼다. 다른 곳들은 뭐 @Value로 잘 가져오면 괜찮던데 Flyway는 딱 하나가 달라서 리마인드 겸 정리를 해보고자 한다. 1. 사건의 발단 proxy table(db link)를 위해 외부 ip를 가져와야하는데 flyway는 모든 프로파일에 걸쳐 동작을 하고 외부 database ip는 각 상황(dev, live)등에 따라 고정값이지만 다른 값이었다. 그러면 믿을 수 있는 부분은 application의 properties파일이고 어떻게 가져와야 할까 create table tmp_table( //중략 ) engine=CONNECT table_type=MYSQL dbn..
· JAVA/spring
0. 이 글을 쓰는 이유 스프링에서는 컨트롤러를 통해 서비스가 동작하는 도중 내가 에러 핸들링을 하지 않은 경우에 대해도 was가 죽지 않고 계속 떠있는 것을 볼 것이다. 우리가 일반적으로 자바로 프로그램을 수행해 보면 별도의 예외 처리가 없는 경우 해당 애플리케이션은 바로 죽게 되는데 스프링에서는 그렇지 않다. 어떻게 이게 가능한 것일까에 대해 궁금해져서 알아보고자 했다. 1. 사전 지식 1-1. Filter 스프링에는 Filter라는게 존재한다. 이게 뭐 하는 놈이냐 하면 WAS가 servlet container에게 request를 던져주면 그걸 적절히 필터링한 후 servletrequest와 servletresponse를 servlet에게 던져준다. 이후 response가 나올 시점에 다시 Filt..
1편 : https://developer-youn.tistory.com/124 jvm 조금씩 알아가기 1편 - jvm이란 2편 : https://developer-youn.tistory.com/125 jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) 1편(https://developer-youn.tistory.com/124)을 보고 오시는걸 추천드립니다. 0. 목표 java를 개발하다 보면 종종 class loader developer-youn.tistory.com 2편 : https://developer-youn.tistory.com/125 jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) 1편(https://developer-youn.tistory.com/124..
1편 : https://developer-youn.tistory.com/124 jvm 조금씩 알아가기 1편 - jvm이란 2편 : https://developer-youn.tistory.com/125 jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) 1편(https://developer-youn.tistory.com/124)을 보고 오시는걸 추천드립니다. 0. 목표 java를 개발하다 보면 종종 class loader developer-youn.tistory.com 2편 : https://developer-youn.tistory.com/125 jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) 1편(https://developer-youn.tistory.com/124..
1편 : https://developer-youn.tistory.com/124 jvm 조금씩 알아가기 1편 - jvm이란 2편 : https://developer-youn.tistory.com/125 jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) 1편(https://developer-youn.tistory.com/124)을 보고 오시는걸 추천드립니다. 0. 목표 java를 개발하다 보면 종종 class loader developer-youn.tistory.com 3편 : https://developer-youn.tistory.com/126 jvm 조금씩 알아가기 3편 - 데이터 영역(Runtime Data Areas) 1편과 2편을 보고 읽으시는 것을 추천드립니다 1편 https:..
2편 : https://developer-youn.tistory.com/125 jvm 조금씩 알아가기 2편 - 클래스 로더(class loader) 1편(https://developer-youn.tistory.com/124)을 보고 오시는걸 추천드립니다. 0. 목표 java를 개발하다 보면 종종 class loader라는 단어를 콘솔에 찍힌 에러 등을 통해 본 적이 있을 수도 있다.(실은 대부분 봤을 developer-youn.tistory.com 3편 : https://developer-youn.tistory.com/126 jvm 조금씩 알아가기 3편 - 데이터 영역(Runtime Data Areas) 1편과 2편을 보고 읽으시는 것을 추천드립니다 1편 https://developer-youn.tist..
Berno
흔한 컴공 출신 개발자