java | spring boot | BindingResult 정리.

Create by.ChatGPT 예시 코드 이 메서드에서 핵심은 @ModelAttribute Dummy data와 BindingResult result의 관계입니다. 1️⃣ @ModelAttribute가 하는 일 이 한 줄이 의미하는 것은: 이 모든 작업을 WebDataBinder가 수행합니다. 2️⃣ BindingResult가 하는 일 BindingResult는 다음 정보를 담습니다. 즉, @ModelAttribute Dummy를 만들면서 발생한 모든 문제를 담는 결과 객체 입니다. 3️⃣ BindingResult를 “넣은 경우” 코드 실행 흐름 핵심 포인트 … Read more

java | spring boot | WebDataBinder 정리 (Spring MVC 데이터 바인딩 핵심)

Create by.ChatGPT Spring MVC에서 WebDataBinder는HTTP 요청 파라미터를 자바 객체로 변환(binding)하고 검증(validation)을 연결해주는 핵심 컴포넌트입니다. 한 문장 요약 WebDataBinder는 요청 데이터(String)를 컨트롤러가 사용하는 자바 객체 타입으로 안전하게 변환하고 검증하는 역할을 한다. WebDataBinder란? 웹 요청에서 전달되는 값은 모두 문자열(String) 입니다. 예: 하지만 컨트롤러에서는 다음과 같이 자바 타입으로 받고 싶습니다. 👉 이때 문자열 → 자바 객체 변환을 담당하는 … Read more

java | spring boot | DispatcherServlet 정리 (Spring MVC 핵심 개념)

Create by. ChatGPT Spring MVC에서 DispatcherServlet은 모든 HTTP 요청을 가장 먼저 받아적절한 컨트롤러와 뷰로 전달해주는 프론트 컨트롤러(Front Controller) 입니다. 한 문장 요약 DispatcherServlet은 Spring 웹 애플리케이션에서 모든 요청의 흐름을 제어하는 중앙 관문이다. DispatcherServlet이란? DispatcherServlet은 Spring MVC의 핵심 컴포넌트로,클라이언트의 HTTP 요청을 직접 처리하지 않고 요청 처리 전체 흐름을 조율합니다. 즉, DispatcherServlet의 역할은 다음과 같습니다. 왜 DispatcherServlet이 … Read more

redmine | mattermost-redmine-bot

mattermost에서 redmine을 연동해서 사용하려고하다보니 구현이 필요함. bot기능 구현 코드 github: https://github.com/icurfer/mattermost-redmine-bot Redmine RestAPI 기능 활성 REST web service를 활성한다. API key 조회 기능 개발 Mattermost mattermost 연동 slash commands를 선택 Add Slash Command save를누르면 Token이 발행된다.이 토큰을 flask의 환경변수에 추가한다. 내부 네트워크를 허용하도록 설정 Docker build Kubernetes mattermost 수정 Integrations > Slash Commands에서 endpoint를 kubernetes … Read more

redmine | 구성 가이드

jira를 대체할만한 프로젝트 관리툴 중 redmine을 추천 받아 구성을 한번 해보려고 한다. Redmine 1.1. DB 구성 나는 테스트환경에 MariaDB를 사용하고 있으므로 MariaDB를 이용하였다. 1.1.1. Create Database 1.1.2. Create Account 1.1.3. Grant Account 1.1.4. Show Grant 2. Docker Install 2.1. Docker-compose.yaml 2.1.1. 공식문서 참고자료 db는 별도 분리를 할것이므로 해당항목은 사용하지 않을 것이다.port는 외부 포트는 임의로 정해도된다.volume영역은 … Read more

kong | single node + db 구성

kong api gateway를 vm으로 구성해보는 내용. Kong Database 구성 패키지 설치 환경설정 네트워크 설정(외부 접근 허용 설정) 모든 대역에서 접근을 허용하도록 설정합니다. 계정 접근 권한 설정 db와 kong이 동일서버이면 아래 설정에서 암호화 방식만 md5로 변경한다. 설정 적용 DB 내부 설정 접속후 비밀번호 저장 암호화 방식을 조회하면 db에 아직 적용되지 않은 것을 확인 할수 있습니다.md5로 변경합니다. … Read more

kubernetes | hostNetwork=true 사용이슈

POD에서 Ansible을 이용해서 WOL을 동작 시킬 수 있는 backend 앱을 구현한다음.원격 부팅을 날리면 L2 layer가 아니라 부팅이 되지 않는다. mac주소를 이용하는데 당연히 일반적인설정으로는 pod에서 는 안되는 것인데… POD에서 host의 network대역으로 brodcast를 날리려면 deployment에 hostNetwork를 적용하는 방법이 있다. 해당 옵션을 적용하게되면 pod는 node의 ip를 갖고 동작하게되고, istio-injection으로 사이드카를 넣어주던 것이 동작하지 않게 되는 문제가 함께 발생한다. … Read more

LGTM 구성해보기(테스트 및 작성중)

Cloud Native를 하다보면 여러 오픈소스들을 다루게 된다고 하지만,내부 고객, 외부 고객사, 운영업체 등 요구하는게 너무 다양하다. 이번에는 LGTM을 해야한다…Loki, Grafana, Tempo, Mimir. LGTM ( Loki Grafana Tempo Mimir ) gpt를 통해 간단하게 리서치해본 결과. LGTM 스택 구성요소와 대응 비교 구성요소 역할 유사한 도구 (EFK/Prometheus 계열) 비교 설명 Loki 로그 수집 및 저장 Elasticsearch + Fluentd/Fluent … Read more