-
[Spring Boot] @RequestHeader, Header의 데이터
@RequestHeader 이란? @RequestHeader 애노테이션은 웹 request header에 바운딩 된 데이터를 나타낸다. HttpHeaders의 메서드를 통해 header의 원하는 데이터를 추출할 수 있다. Map 또는 MultiValueMap으로 메서드 인자를 설정하면 모든 header의 이름과 값을 불러올 수 있다. @GetMapping("/test") public String test(@RequestHeader HttpHeaders header) { return "header : " + header.gerFirst("Authorization") } 애노테이션에서 Key를 이용하여 데이터를 꺼낼 수도 있다. @GetMapping("/test") public String test(@Req..
-
[Spring Boot] Validation @Max 와 @Size의 차이
1. Validation이란? Java에서 Bean Validation이라는 데이터 유효성 검사 프레임워크를 제공하여 필드에 annotation을 적용하여 제약 조건을 정의하기 위해 사용한다. Validation은 객체에 직접 정의하여 유효성 검사 로직의 문제를 해결할 수 있다. 2. Dependency 추가 implementation 'org.springframework.boot:spring-boot-starter-validation' 3. Parameter 검증하기 @Valid 애노테이션을 객체에 적용하면 유효한 객체인지 검사한다. BindingResult 객체를 통해 유효하지 않을 경우 Error를 확인할 수 있다. @Controller public class TestController { priv..
-
[Spring boot] 배포 패키징 jar 에서 war로 변경
JSP 템플릿을 사용하여 화면 구성을 하기 위해 기존의 jar 프로젝트에서 war 프로젝트로 변경해보자. 먼저 간단하게 jar와 war의 차이점을 알아보자. 해당 프로젝트는 Gradle 기준으로 변경하였다. Jar란? 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다. JRE(JAVA Runtime Environment)만 있어도 실행 가능하다. war란? 웹 애플리케이션을 구성하는 자바 클래스, 자바 서버 페이지, 관련 XML 파일 등을 묶은 압축 파일 포맷이다. 원하는 구성을 할 수 있는 Jar와 달리 War는 WEB-INF 및 META-INF 디렉토리로 사전 ..
-
블로그를 작성하는 이유
수 많은 블로그 플랫폼과 글들이 인터넷 상에 존재한다.나 또한 네이버 블로그, 티스토리 두 개의 블로그를 운영한다. (활동이 활발하지 않지만..)나는 점점 인터넷 검색에 의존도가 높아지고 있다.지금은 예전보다 더 많이 검색하고 블로그 글 속에서 정보와 지식을 얻는다.목적이 다양한 많은 글 중 양질의 글을 찾기는 쉽지 않은 반면, 정말 돈을 주고봐야할 것 같은 좋은 글들이 있다.티스토리 블로그를 들어가려다 순위에 올라온 도서 소개글을 보게됐다.글쓴이 분이 짚어낸 책의 키워드와 사례를 읽으면서 책을 읽고 싶어지는건 물론이거니와글쓴이의 관점과 글을 작성하는 능력이 흥미로웠고 마음이 이끌렸다. (책도 샀다.)그러면서 문득, 이렇게 도움이 되는 글들 속에서 나의 글을 돌아보게 되었다.나는 왜 블로그를 하는가..
-
제 122회 전산회계 1급 합격
사무 업무를 보면서 회계관련 용어나 기초 지식이 필요하다고 느꼈다.쉽게 설명해주는 도서를 읽어보곤 했는데계정과목이나 분개 처리는 어떻게하는지 호기심이 생겨이왕 알아야하는거 자격증 취득을 목표로 시작했다. 흔히 말하는 노베이스였기에합격 후기를 찾아보고유튜브 무료인강 + 교재로 학습을 해나갔다. 총 학습시간은 대략 한달 소요했고,매일 저녁에 1시간 이상, 많게는 3시간 정도 투자했다. - 유튜브 박쌤 전산회계무료 인강에서 제일 유명하신 강사님 같다.아무것도 몰라도 이해하기 쉽게 설명해주고,필요한 내용만 알차게 잘 알려주신다.전산회계 1급에는 2급에 대한 내용이 빠져있기에2급 인강 다 듣고 1급인강 전체를 배속으로 다 들었다.실습도 똑같이 따라했고, 인강을 들으니 확실히 빠르게 이해된다. 박쌤 전산회계교재구입..
-
기록
되돌아보지 못하고 돌보지 못했던 스스로를 다시 보게되는 요즘 이제서야 조금 정신이 차려지는 듯 하다.빠르게 흘러가는 시간에 무섭기도 허무하기도 한데 나름 여러 일들이 있었다.모든게 여의치 않고 욕심부려 내가 관심있는 것들에 시간을 조금씩 들이고 있다.3가지나 욕심내서 잡고있다. 인연이 참 신기하고 묘하다.뭐든게 인연따라 온거겠지.. 미루고 미루던 개발 공부를 시작하게 된 건 단 하나뿐의 사용자를 위해서다.상황을 설명하시면서 "이런게" 필요하다고 이야기 해주셔서 작은 미니 프로그램을 만들어 보고 있다. 뜻밖에 그 상황에 맞추다보니 C#과 .NET으로 만드는중이다.저엉-말 작디작은 프로그램이지만 처음 접한 언어가 나를 열공하게 도와준다.(?)완성 후 과정과 결과를 정리해보리라... 언니를 도와주고 싶은 마음..
-
제 52회 SQLD 취득 후기
업무에서 SQL을 많이 사용하기도 하고이론 공부도 할겸 자격증 준비를 시작했다 기본적인 SQL문 작성과 이전에 DB공부 했던작은 지식이 바탕에 있었다. 그렇기에 이전에공부를 하지 않고 갔다가 불합격을 받았다. 유명한 노랭이책이라고 불리는SQL 자격정점 실전문제 책으로일주일동안 퇴근학 1시간 ~2시간 정도 공부하였다. https://product.kyobobook.co.kr/detail/S000001399867 SQL 자격검정 실전문제 | 한국데이터진흥원 - 교보문고SQL 자격검정 실전문제 | SQL 자격검정 실전문제는 국가공인 SQL 전문가 및 국가공인 SQL 개발자 자격시험 대비 수험서로 SQL 전문가 가이드에서 다루고 있는 데이터 모델링의 이해, SQL기본 및 활용,product.kyobobook...
-
리소스를 HTTPS 프로토콜 호출로 인한 ERR_SSL_PROTOCOL_ERROR 발생, Mixed Content
1. 문제 사항 테스트 서버에 애플리케이션을 실행 환경을 구축하기 위해 도커로 nginx와 tomcat을 띄웠다. 테스트 서버는 사내IP에서만 접근이 가능하여 SSL인증이 따로 필요하지 않았다. 프론트에서 css, image 등 외부나 내부 API 호출할 때, 프로토콜이 HTTPS로 호출되어 ERR_SSL_PROTOCOL_ERROR가 발생하며 리소스들이 가져오지 않는 현상이 발생했다. 2. 원인 웹 & 모바일 환경을 고려한 소스 코드 작성으로 모바일 테스트 서버에서는 HTTPS를 적용한 상태로 Mixed content, 혼합콘텐츠로 인해 HTTPS로 요청을 보내기 위해 프론트 코드에 추가한 META태그가 원인이였다. 3. 해결 해당 지식이 없어서 삽질을 많이했다. Nginx에서 리버스 프록시 설정에서 p..