스프링 빈의 생성자, afterPropertiesSet(), @PostConstruct

스프링 빈의 생성자, afterPropertiesSet(), @PostConstruct 의 차이점과 용도

3일 전
·
0개의 댓글

왜 정렬된 배열이 정렬되지 않은 배열보다 처리 속도가 빠른가요?

원본 링크 Why is processing a sorted array faster than processing an unsorted array? 질문 아래의 C++ 코드에서 정렬된 데이터가 알 수 없는 이유로 6배 정도 빨리 실행됩니다. std::sort(data, data + arraySize); 코드가 없을 때 : 11.54초 std::sort(d...

2019년 12월 9일
·
0개의 댓글

Stackoverflow 둘러보기

최근 취업 준비와 개인 프로젝트만 준비하다보니 조금 지치는 느낌이 들어서 '간단하게 기분전환도 하고 공부도 되는 일이 없을까?' 하며 찾아보다 stackoverflow 에 눈길이 갔습니다. stackoverflow 메인페이지.PNG질문 링크로만 들어가보다 처음 본 Stackoverflow 메인 페이지 간단하게 Stackoverflow에 대해 소개하자면 ...

2019년 12월 9일
·
0개의 댓글

Spring API 서버에서 PUT, DELETE 요청 시 CORS 설정이 적용 안되는 경우

Spring Backend에 Vue Frontend를 구성해 테스트를 하던 중 POST 요청은 정상적으로 동작하는데 PUT 요청 시 403 에러가 발생하는 상황을 만났습니다. 에러 메시지와 요청을 살펴보니 PUT 요청 전 preflight 요청인 OPTIONS 에서 403 에러가 발생했는데 이미 Spring Security 설정에서 Frontend의 CO...

2019년 10월 23일
·
2개의 댓글

Thymeleaf Set 타입 input 처리 방법

Spring MVC와 Thymeleaf를 사용해 Form 맵핑 시 Set 타입의 input을 처리하는 방법입니다. Set 필드를 가지는 Post 객체가 있다고 할 때, Post.java 아래와 같이 select나 checkbox 태그를 이용해 사용자의 입력값을 Post 객체로 맵핑할 수 있습니다. posting-form.html

2019년 9월 10일
·
0개의 댓글

카카오 블라인드 데모 테스트 후기

내일 진행되는 카카오 블라인드 테스트의 데모 테스트를 풀면서 드는 생각을 기록삼아 정리해 보았습니다. 카카오 블라인드 테스트는 Programmers라는 플랫폼에서 진행되는데 시험 전 테스트 환경을 경험해 볼 수 있게 간단한 데모 테스트를 제공해 줍니다. 별 찍기와 같은 기초적인 문제이지만 괜히 이런 문제도 잘 풀어야 될 것 같은 마음에 조금 고민하면서 풀...

2019년 9월 6일
·
0개의 댓글

@SpringBootTest에서 Yaml 프로퍼티 적용하기

Spring Boot 프로젝트에서 application.yml과 secret.yml, 2개의 프로퍼티를 적용하려면 아래와 같이 SpringApplicationBuilder를 이용해 해결할 수 있었습니다. 하지만 테스트 코드에서는 프로퍼티를 어떻게 가져와야 할 지 고민하던 중 @SpringBootTest에 properties속성이 있는것을 발견했고 위의 사...

2019년 8월 28일
·
1개의 댓글

Spring Security Form Login 간단 사용 설명서

Spring Boot에서 Spring Security를 사용해 Form Login을 최대한 간단히 구현해 보겠습니다. 전체 코드는 Github에서 확인할 수 있습니다. 의존성 Spring Security를 위해 starter-security 의존성을 추가하고 편리한 테스트를 위해 web, jpa, thymeleaf, lombok, h2 의존성을 추가했습...

2019년 8월 23일
·
0개의 댓글

Spring + Thymeleaf 에서 boolean + lombok 사용시 주의할 점

Spring Thymeleaf 환경에서 개발을 하다 간단한 에러를 겪어 이를 공유해보고자 합니다. 평소와 다름없이 필요한 Entity를 만들고 (문제 상황에 집중하기 위해 간단히 구현합니다.) 컨트롤러에 PostMapping을 추가한 뒤 Thymeleaf View에서 Form 요청을 보냈습니다. 당연히 setLike() 핸들러에 like가 저장된 P...

2019년 8월 22일
·
0개의 댓글

@RequestParam(required = false) 주의할 점

@RequestParam을 사용하며 겪은 실수를 공유해 보았습니다. @RequestParam 먼저 간단하게 @RequestParam에 대해 알아보자면 Spring MVC에서 쿼리 스트링 정보를 쉽게 가져오는데 사용할 수 있습니다. 예를 들어 /user?name=hellozin 이라는 요청에서 "hellozin" 이라는 값을 가져오기 위해 아래와 같이 ...

2019년 8월 17일
·
0개의 댓글

JPA Specification으로 쿼리 조건 처리하기

해당 코드는 Github에서 확인할 수 있습니다. Spring Data에서 Specification은 DB 쿼리의 조건을 Spec으로 작성해 Repository method에 적용하거나 몇가지 Spec을 조합해서 사용할 수 있게 도와줍니다. 간단한 예제와 함께 Specification 사용 방법을 소개해 보겠습니다. 먼저 Spcification을 모르는...

2019년 8월 14일
·
0개의 댓글

Spring Boot와 RabbitMQ 초간단 설명서

이번 포스트에서는 Spring boot 프로젝트에서 RabbitMQ를 사용하는 간단한 방법을 알아보겠습니다. Consumer 코드와 Producer 코드는 GitHub에 있습니다. 먼저 RabbitMQ 서버를 실행해야 하는데 Docker를 사용하면 쉽게 서버를 구성할 수 있습니다. 프로젝트 루트 폴더에 docker-compose.yml 파일을 생성하고 다...

2019년 8월 10일
·
2개의 댓글

Annotation으로 Enum 검증하기

Entity나 DTO를 검증하기 위해 @NotBlank, @Email 등 javax.validation.constraints.* validation을 사용하다 보면 아래와 같이 필드에 Enum 타입을 String으로 입력받는 경우가 있습니다. 이러한 경우 Enum 타입도 함께 validation 하는 방법을 정리해 보았습니다. 먼저 Enum annotat...

2019년 8월 7일
·
0개의 댓글

Spring Boot에서 여러개의 Property, Yml을 적용하는 방법

Spring boot 프로젝트에서 여러개의 property 혹은 yml을 추가하며 겪은 문제와 해결방법을 공유해 보겠습니다. 프로젝트에 OAuth와 MailSender를 사용하기 위해 yml를 작성하던 중 Github에 올라가선 안될 ClientId나 Password를 숨기기 위해 yml을 분리하는 방법을 사용했습니다. 공개해도 괜찮은 설정은 appli...

2019년 8월 7일
·
1개의 댓글

@Valid 예외를 전역 컨트롤러로 간단하게 처리하기

Spring을 사용하면 입력값을 받을 때 @Valid를 사용해서 쉽게 검증을 할 수 있는데 기본적으로 반환하는 에러 메시지는 너무 길고 복잡해 필요에 따라 처리하는 방법을 알아보았습니다. 우선 간단한 POST 요청을 처리하는 과정을 살펴보겠습니다. 이와 같은 요청을 처리하기 위해 다음과 같은 Controller를 작성합니다. 입력받는 값을 검증하고 싶...

2019년 8월 7일
·
0개의 댓글

JWT, Json Web Token

최근 세션 대신 사용자 인증에 주로 사용되는 JWT와 OAuth. 그 중 JWT에 대해 아주 기본적인 내용까지만 알아보도록 하겠습니다. 혹시 틀린 내용이 있다면 지적 부탁드립니다. JWT 란? Json Web Token의 줄임말로 JWT 라이브러리인 JJWT의 Docs에서는 다음과 같이 정의하고 있습니다. > JWT is a means of tran...

2019년 8월 7일
·
0개의 댓글

쿠키, 세션 그리고 웹 스토리지

웹 프로그래밍을 하다 보면 자주 접하게 되는 쿠키, 세션, 웹 스토리지에 대해 간략히 정리해보았습니다. 쿠키, 세션, 웹 스토리지를 설명하기에 앞서 왜 사용하는지를 더 쉽게 이해하기 위해 HTTP 프로토콜의 특징을 알아보겠습니다. HTTP 프로토콜의 특징 비연결지향 (Connectionless): 클라이언트가 서버에게 Request를 보내고 서버가 클...

2019년 8월 7일
·
0개의 댓글

REMARK, 마크다운으로 PT 만들기

스터디나 모임에서 간단하게 발표할 일이 있으면 보통 마크다운으로 정리한 문서를 보면서 진행을 했는데 아무래도 PT형식이 가독성에 도움이 될 것 같아 찾아보던 중 마크다운 포맷으로 PT를 만드는 툴을 발견했다. Remark 깃허브 링크 : https://github.com/gnab/remark 샘플 : https://remarkjs.com/1 ...

2019년 8월 7일
·
0개의 댓글