profile
꾸준히 나아가자 🐢
태그 목록
전체보기 (151)데브코스(47)TIL(43)CS(33)spring security(13)네트워크(12)Spring boot(11)JPA(10)Spring(9)BankSystem(9)test(8)docker(7)하루 기록(6)OS(5)디자인 패턴(5)애자일(5)http(4)Java(4)OOP(4)sql(4)optional(4)exception(4)modelattribute(4)REST(4)mysql(3)spring-data-jpa(3)spring-guide(3)JDBC(3)bean validation(3)ObjectMapper(3)자료구조(3)session(3)https(3)DML(2)운영체제(2)DTO(2)디자인패턴(2)cors(2)unit test(2)transactional(2)integration test(2)rds(2)Thread(2)Mockito(2)ResponseEntity(2)SOLID(2)entity(2)transaction(2)interface(2)build(2)controlleradvice(2)jackson(2)JVM(2)RequestBody(2)logging(2)spring mvc(2)mock(2)redirect(2)특강(2)cookie(2)@RequestParam(2)Builder(2)VO(2)queue(1)Parameterized(1)Datasource(1)process(1)array(1)N+1 문제(1)프로세스(1)피드백(1)세션(1)SpringSecurity(1)Class Diagram(1)3xx(1)@Valid(1)orElseGet(1)group by(1)mockMvc(1)throws(1)메모리(1)oAuth(1)MapsId(1)RequestMapping(1)iterator(1)validation(1)url(1)DDL(1)@DataJpaTest(1)고급 매핑(1)redis(1)chmod(1)미션(1)@ExceptionHandler(1)404(1)Trie(1)csrf(1)클라우드(1)GetMapping(1)commit 메세지(1)abstract class(1)Auto Configuration(1)gradle(1)throw(1)URN(1)class(1)getter(1)Checked Exception(1)TriFunction(1)records(1)@NotBlank(1)linkedlist(1)@JsonInclude(1)jdk(1)spa(1)tcp(1)RestController(1)RequestContextHolder(1)연관관계 매핑(1)stream(1)thread-safe(1)원인 파악 X(1)Optional.map()(1)OAuth2.0(1)ec2(1)XSS(1)UDP(1)reflection api(1)JWT(1)forward(1)var(1)BiFunction(1)git(1)ocp(1)일급 컬랙션(1)LocalDate(1)aop(1)nested(1)servlet(1)www & non-www(1)Lamda(1)Collection(1)tree(1)select(1)springboot test(1)github(1)데이터베이스(1)ResponseCookie(1)functional interface(1)메서드(1)영속성 컨텍스트(1)@RestControllerAdvice(1)Enum(1)EmptyResultDataAccessException(1)접근 제한자(1)LSP(1)repository(1)form 태그(1)Pageable(1)JDBCTemplate(1)logger(1)No serializer found for class(1)stub(1)Controller(1)@Validated(1)Collection.forEach(1)Bank System(1)LocalDateTime(1)http 헤더(1)web(1)environment(1)OneToOne(1)URI(1)IoC(1)orElse(1)@ResponseBody(1)page(1)프록시객체(1)HttpSession(1)object(1)DNS(1)mysql index(1)ArrayList(1)@SessionAttribute(1)Unchecked Exception(1)@SpringBootTest(1)stack(1)
post-thumbnail

@MapsId

@MapsId는 FK를 PK로 지정할 때 사용하는 어노테이션이다.OneToOne, ManyToOne@MapsId의 value는 관계 속성이 해당하는 복합 키 내의 속성을 지정한다.복합키 내의 어떤 요소와 관계가 있는지 명시한다.

2022년 6월 22일
·
0개의 댓글

JPA 왜 사용하나?

다양한 데이터베이스가 있지만 아직까지 데이터베이스의 세계는 관계형 데이터베이스가 대세이다.객체지향을 원하지만 관계형 데이터베이스 때문에 중복되는 무수한 SQL을 작성하는 코드가 발생하게 된다. 즉, SQL 의존적인 개발을 피하기 어렵다.필드와 메서드를 묶어 캡슐화하는

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

Tree

그래프와 유사하지만 단방향이며 cycle이 존재하지 않는 자료구조이다.Node: 트리를 구성하고 있는 각각의 요소edge: Node와 Node를 연결하는 선Root Node: 트리 구조에서 최상위에 있는 노드를 의미Terminal Node: 하위에 다른 노드가 연결되어

2022년 6월 16일
·
0개의 댓글

JOIN, FETCH JOIN

SQL에서의 JOIN과 FETCH JOIN은 다른 종류의 조인이다.오직 JPQL에서 조회하는 주체가되는 Entity만 조회하여 영속화한다.조회하는 주체가되는 Entity 뿐만 아니라 연관된 Entity도 모두 영속화 한다.

2022년 6월 15일
·
0개의 댓글

orElse, orElseGet

해당 값이 null이거나 null이 아니어도 실행된다.해당 값이 null 일때만 실행된다.orElse는 값이 null이든 null이 아니든 실행되고 orElseGet은 값이 null일 때만 실행된다고 하였는데 메서드들의 구현부를 보면 알겠지만 값이 null이든 null

2022년 6월 10일
·
0개의 댓글

Trie

문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료구조자동 완성, 사전 검색 등에 특화빠른 문자열 검색 가능하다.각 노드에서 자식들에 대한 포인터들을 배열로 모두 저장하고 있다는 점에서 저장 공간의 크기가 크다는 단점도 있다.

2022년 6월 10일
·
0개의 댓글

2022년 6월 10일 TIL

데일리 스크럼 당일 업무 시작 전 프로덕트 오너는 필참은 아니다. 하는 이유 어떤일이 있던 24시간 안에 확인가능하다. risk 관리를 잘 할 수 있다. 방법 최대 15분 동안 진행한다. 무슨 일을 했고, 오늘 무슨 일을 할지, 현재 문제가 무엇인지를 나눈다. 업무 보고가 아니다 프로덕트 백로그 다듬기 언제든지 할 수 있다. 프로덕트 오너(주최자)와 ...

2022년 6월 10일
·
0개의 댓글

2022년 6월 9일 TIL

시간을 효율적 사용을 위해 사용할일 다 적기할일 완료하는데 걸릴 시간 추정작업 시간 기준으로 스케줄 정하기스케줄대로 일하기업무 작게 쪼개기무작정 작업 시간 추정실제로 얼마나 걸렸는지 작업시간 특정멀티 태스킹을 멀리하게 된다.스프린트 단위 설정스프린트별 작업일 수 확인하

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

2022년 6월 8일 TIL

자율적으로 일하면서 엉뚱한 일을 하지 않기 위해서내가 하는 일의 의미를 알기 위해서일의 우선순위를 결정하기 위해서엘레베이터 피치분기별 3개의 목표를 설정도전적이고 동기부여를 할 수 있는 목표 설정output이 아니라 outcome으로결과물을 보여줄 수 있도록 하자!반드

2022년 6월 8일
·
0개의 댓글

Array, ArrayList, LinkedList, Stack, Queue

index로 빠르게 값을 찾는 것이 가능하다.논리적 저장 순서와 물리적 저장 순서가 일치한다.선언할 때 크기를 지정해야 한다.할당할 메모리 공간 사이즈가 고정되어 있다.데이터가 계속 증가하여 최대 사이즈를 알 수 없을 때는 사용하기에 부적합하다.데이터를 삽입 하거나 삭

2022년 6월 8일
·
0개의 댓글

@Valid, @Validated

@Valid와 @Validated의 차이를 모른 상태로 단순히 데이터 바인딩시 작성한 validation 어노테이션에 따라 검증을 하기 위해 지금까지 사용하였고 이에 대해 코들 리뷰 중 지적을 받아 다시 학습을 하게 되었다.지금까지 내가 알고 있던 내용과 동일하다. 데

2022년 6월 7일
·
0개의 댓글

2022년 6월 7일 TIL

스크럼과 애자일의 가치를 잊지 않게 해주는 사람어떻게 스크럼을 진행하는지 알려주거나 스크럼의 가치를 팀원들에게 리마인드 시켜준다. 보다 효율적이고 효과적으로 일하는 방법들을 고민하는 사람헌신적인 리더팀원들을 보호팀원 갈등 중재팀원 스스로 답을 찾을 수 있게 도와주는

2022년 6월 7일
·
0개의 댓글

2022년 6월 6일 TIL

단계적 실행계획에 의한 실행이후 수정하기가 힘들다.유연한 계획예측 불가능한 세상에서 완벽한 계획은 없다.애자일이 알맞다.핵심만을 모아서 만든 후 시장 반응을 살리고 점진적으로 발전시켜 나간다.고민할 시간에 해본다.생각복다 좋지 않다.(비효율적이다)하나의 팀이 여러 일을

2022년 6월 6일
·
0개의 댓글

JPA

스프링 데이터 JPA에서 fetch join이 들어간 경우 Count 쿼리를 정상적으로 만들어내지 못한다. 따라서 페이징을 정상적으로 처리하기 위해서 아래와 같이 countQuery 부분을 별도로 분리해서 처리 해주어야 한다.Jpql에서의 distinct SQL에 di

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

2022년 6월 1일 TIL

로그인한 사용자의 정보를 가져온다.AuthenticationPrincipalArgumentResolver.resolveArgument()를 통해 Authentication(AuthenticationToken)의 principal을 가져온다.스프링 부트 2.6 부터는 순

2022년 6월 1일
·
0개의 댓글

상태 코드

클라이언트의 요청을 서버가 성공적으로 처리한 경우 사용한다.클라이언트의 요청을 서버가 정상적으로 처리했고 새로운 리소스가 생겼다.POST, PUT 요청에 대한 응답으로 사용된다.헤더의 Content-Location을 통해 리소스가 생성된 위치를 알려주면 더욱 좋다!🤨

2022년 5월 30일
·
0개의 댓글

일급 컬랙션

Collection을 Wrapping하면서, Wrapping한 Collection 외 다른 멤버 변수가 없는 상태를 일급 컬렉션이라 한다.일급 컬랙션 example클래스 역할이 너무 무거워지는 것을 방지 중복 코드 제거일급 컬렉션을 사용하면 상태과 로직을 따로 관리할

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

2022년 5월 25일 TIL

REST에 대하여 참고Session을 사용하고 있으면, Stateful 하다고 할 수 있다.앞서 살펴본 것처럼 수평확장(Scale-Out) 과정이 쉽지 않다. Session Cluster 반드시 필요하다.단일 사용자의 다중 로그인 컨트롤, 사용자 유효성 체크, 강제 로

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

2022년 5월 24일 TIL

Custom UserDetailsService을 Bean으로 등록하기만해도 잘 전달된다. 두 방식의 차이는 뭘까? AuthenticationManagerBuilder를 이용하여 Custom UserDetailsService를 등록하였을까?가장 보편적이고 이해하기 쉬운

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

2022년 5월 23일 TIL

h2 데이터베이스의 console을 사용할 수 있도록 security 필터를 거치지 않도록 설정해주어야 한다.실행되는 SQL 및 ResultSet을 로깅BeanPostProcessor 인터페이스를 구현하여, DataSource 객체를 Log4jdbcProxyDataSo

2022년 5월 23일
·
0개의 댓글