profile
야금야금
post-thumbnail

[Spring] Response, Request DTO 꽉잡기

최근 프로젝트를 하면서 당연하게 사용하던 DTO 매핑이 어떻게 일어나는지 궁금해졌고, DTO에 붙여주는 여러가지 롬북 어노테이션들.. 이중에 정말 필요한 것만 내가 쓰고있는가?라는 의문이 생겨서 싹 정리를 해보고 싶어졌습니다. DTO에 대부분의 어노테이션은 Objec

2022년 8월 8일
·
0개의 댓글
·
post-thumbnail

[CICD] Docker + Github Action + Spring Boot 자동배포환경 만들기

최근에 github action을 이용해서 spring boot서버의 자동배포환경을 구축했습니다. docker-compose와 nginx도 함께사용하니 비슷한 설정을 원하시는 분들께 도움이 될 것같네요👍 어렵고 성가신(?) 과정이지만 초반에 잘 세팅해놓으면 서버개발이

2022년 7월 19일
·
0개의 댓글
·
post-thumbnail

[Spring Security] @withUserDetails 알아보기

SpringSecurity를 통해서 접근제어를 해놓은 URL로 Controller Test를 할 때 매번 인증로직(로그인, 토큰..)을 붙여줘야할까요..?저는 JWT로 사용자인증을 짰었기 때문에 매번 header로 발급받은 토큰을 넘겨줘야하는 불편함이 생겼습니다. 좀더

2022년 7월 11일
·
0개의 댓글
·
post-thumbnail

[SpringSecurity] Servlet Authentication Architecture

Spring Security에서 가장 중요한 인증 아키텍쳐를 보도록 하겠습니다.Spring Security에서 인증된 사용자의 정보를 저장하는 곳입니다.가장 간단한 방법은 이 SecurityContextHolder에 직접 Authentication을 넣은 Securit

2022년 7월 7일
·
0개의 댓글
·
post-thumbnail

[SpringSecurity] Spring Security 아키텍쳐(with Servlet based application)

Spring based application의 보안을 책임지는 프레임워크입니다. Servlet based application에 대해서 Spring Security는 대부분 Servlet Filter기반으로 돌아갑니다. HTTP요청이 Servlet(DispatcherS

2022년 7월 3일
·
0개의 댓글
·
post-thumbnail

[Hikari] Hikari DeadLock 해결하기

최근 서버 성능테스트를 진행하던도중 이상한 일이 일어났습니다.예약생성을 하는 요청을 시험삼아 10명의 User가 각각 1번씩 총 10번을 보내도록 테스트를 마치고 조금씩 늘려가기 시작했습니다. 그런데 User수를 100명으로 올리자마자 엄청나게 실패가 떴습니다.왜지왜지

2022년 7월 2일
·
0개의 댓글
·
post-thumbnail

[단기간성장/ BJ] # 11066 파일합치기

백준 11066번: 연속되게 파일을 합치는 가장 적은 비용구하기일단 처음 이 문제를 접했을 때 연속되게 합쳐야된다는 것을 잊고.. 문제 그대로 합쳐진 것과 원본들 사이에 두개를 골라서 합쳐가야하는 상황으로 해석했다;; 그래서 우선순위큐사용해서 두개씩 pop하면 되는거네

2022년 6월 28일
·
0개의 댓글
·
post-thumbnail

[JPA] spring data jpa configuration 이해하기

spring data jpa와 mysql을 함께 사용하면서 spring boot에서 해줘야할 설정들을 살펴보면서 spring이 데이터베이스에 어떻게 접근하는지에 대해서도 살펴보려고합니다. (항상 설정이 제일 귀찮고 어려운 것 같아요..🥲)설정은 여러가지 방법들로 할

2022년 6월 20일
·
0개의 댓글
·
post-thumbnail

[Security] OAuth2.0 정리하기

토이프로젝트를 하다보면 주로 인증을 소셜로그인으로 하는 경우가 많습니다. 이렇게하면 서버 개발입장에서 인증에 대한 부담이 줄고 사용자입장에는 편하기 때문에 서비스를 사용하기에 부담이 적어집니다. 저 또한 이러한 이유로 작년에 바디프로필 서비스를 만들 때 카카오로그인을

2022년 6월 6일
·
0개의 댓글
·
post-thumbnail

[Spring] Application yaml은 대체 어떻게 작성하는거야?

스프링 공부를 시작하고 주로 강의를 통해서 공부를 했기 때문에 application.yaml파일은 주로 따라서 적고 '이런 설정이구나' 정도로 이해하고 넘어가는 경우가 많았습니다. 그러던 중 최근 대체 어디서 참고해서 저렇게 수수수숙 쓰는 거지? 궁금해졌습니다. 나중에

2022년 5월 29일
·
0개의 댓글
·
post-thumbnail

[Spring] Servlet 정리하고 넘어가자!

스프링 부트를 쓰다보면 잘 모르고 넘어가는 Spring MVC Flow! 이번기회에 한번 정리해보려고 합니다~JSP : HTML문서에서 내부적으로 Java문법을 사용할 수 있게 해주는 Java Server Page언어Servlet : client 의 요청에 대한 결과를

2022년 5월 26일
·
0개의 댓글
·
post-thumbnail

[Spring] Validation은 어디서 해야할까?

하나의 작은 프로젝트(?)를 만들다 보면 슬슬 고민이 되는 부분 바로 유효성검사이다! 크게 Controller, Service, Repository, Entity(model)로 나눠서 작업하는 경우가 많은데 그렇다면 요청에서 넘어온 값들에 대한 유효성검사는 어디서 해

2022년 5월 25일
·
0개의 댓글
·
post-thumbnail

[JPA] Spring Data Access 정리

스프링에서 유저가 DB에 있는 데이터를 이용해야하는 요청을 보낼 때 어떤 일이 일어나는지 정리해보겠습니다!JDBC는 데이터를 다루는 것을 도와주는 자바 표준 인터페이스입니다. 그리고 JDBC의 구현체로 각 DBMS에 맞는 Driver가 있습니다. 따라서 프로그램을 할때

2022년 5월 14일
·
0개의 댓글
·
post-thumbnail

[JAVA 문법] Record Class

Record는 enum과 같은 특별한 형태의 class입니다. 주로 간단하게 데이터를 저장하고 옮기는 역할로 쓰입니다. records는 일반 class와는 다르게 생성자, getter, hashCode(), equals() ,toString()를 제공해줍니다. 물론 c

2022년 4월 4일
·
0개의 댓글
·
post-thumbnail

[JAVA 문법] Stream 파보기

먼저 Stream과 Collections는 컨셉자체가 다릅니다. Collections는 데이터를 모아서 그룹으로 저장하기 위한 자료구조입니다. 예를들면 List, Map등이 있습니다. 이와 다르게 Stream은 이런 그룹으로 저장된 데이터를 다루기 위한 것입니다. 예를

2022년 3월 28일
·
1개의 댓글
·
post-thumbnail

[Java] Primitive type vs Reference type

Java에는 타입을 크게 두가지로 나눌 수 있습니다. 그 중에 딱 8가지 타입(int, char, boolean, byte, long, short, float, double)이 속하는 primitive타입은 직접 값을 저장합니다.stack영역에 저장되고 참조형이 아니기

2022년 3월 27일
·
0개의 댓글
·
post-thumbnail

[Java] boxing : wrapper class

기본형(Primitive type)을 참조형(Reference type)으로 바꾸고 싶을 때 Wrapper class를 활용합니다. 그리고 이러한 행위를 박싱(boxing)이라고 합니다. 반대로 Wrapper class로 바꾼 변수를 다시 기본형으로 바꾸는 것은 언박싱

2022년 3월 27일
·
0개의 댓글
·
post-thumbnail

[JAVA 문법] String 파보기 2 (연산, string builder, string buffer )

String은 객체로 생성하든 리터럴로 생성하든 수정을 하게 되면 그 자체가 수정이 되지 않고 수정된 새로운 문자열이 생기고 변수가 그 주소를 담게 됩니다. 따라서 원래 문자열은 힙영역에 garbage상태로 남았다가 garbage collect때 없어집니다.String

2022년 3월 26일
·
0개의 댓글
·
post-thumbnail

[JAVA 문법] String 파보기 1 (생성, 비교)

C, Python, C++... 여러 언어를 다루다보면 비슷한 점들이 많아서 금방 다른언어도 빨리 배우게 됩니다.. 그렇게 가벼운 마음으로 JAVA를 시작했지만.. 자료형부터 혼돈의 카오스를 겪으며 굉장히 당황스럽더라구요ㅎㅎ;; 매번 그때그때 슥 찾아보고 이해하고 넘어

2022년 3월 22일
·
0개의 댓글
·
post-thumbnail

[Git] git merge and conflict

작업이 커지면 master에서 따로 브랜치를 빼서 처리를 하게됩니다. 처리가 끝난뒤에 다시 master브랜치에 merge를 해서 내용을 합치곤 하는데요. 이때 같은 파일에 같은 line에 대해 수정사항이 겹치거나 수정된 파일을 지우는 상황이 발생하면 git에서 자동으로

2022년 3월 17일
·
0개의 댓글
·