본 포스팅은 함께자라기 책을 읽고 작성하였습니다. 자라기 파트에서 감명깊게 본 부분, 다시 찾아봐야 할 것 같은 부분들 위주로 정리하였습니다. 학습 대학교 때 코딩을 잘 하는 친구가 있고 성적이 높은 친구가 있었습니다. (둘 다 잘하는 친구도 있었지만 여기선 논외로 생각하겠습니다.) 이 두 친구의 차이점은 무엇이었을까요? 참고로 전 둘 다 못하는 학생이었고, 둘 다 잘하는 친구는 물론이거니와 둘 중 하나라도 잘 하는 친구가 너무 부러웠던 기억이 납니다. 이 책에서는 학교 다닐 때 공부를 잘 했던 친구가 현실(실무)에서는 그 공부의 도움을 받지 못하는 경우에 대해 소개합니다. 그리고 학생 때 하는 학습을 학교 학습, 현실에서 하는 학습을 야생 학습이라고 구분합니다. 학교 학습 야생 학습 성격 개별적 협력적..
소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem You are given an integer array matchsticks where matchsticks[i] is the length of the ith matchstick. You want to use all the matchsticks to make one square. You should not break any stick, but you can link them up, and each matchstick must be used exactly one time. Return true if you can make this square and false otherwise. Example 1: Input: matchsticks = [1..
소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence. You must write an algorithm that runs in O(n) time. Example 1: Input: nums = [100,4,200,1,3,2] Output: 4 Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4. Example 2: Input: nums = [0,3,7,2,5,8,4,6,0,1] Outp..
예전부터 '읽어야지 읽어야지' 하다가 책을 구매한지 어느덧 세 달이 흐르고.. 블로그를 매일 포스팅하기 위해 억지로 무언가를 찾아내던 중, 모니터 앞에 놓여있는 "함께자라기"가 보였습니다. 늦은 시간에 읽기 시작했지만 새벽까지 정독을 완료하고 후기를 포스팅해야겠다고 마음먹어습니다. (이정도면 거의 블로그 포스팅 중독) 단순 후기 작성이 목적이 아니라 나중에 책을 다시 보지 않고 찾아볼 수 있을 정도로 감명깊었던 부분들을 정리하는 목적으로 후기 겸 정리 스타트합니다! 이 글 자체는 아무런 도움이 안 될 확률이 굉장히 높으므로 1분 1초가 아까운 분들은 스킵을 권장합니다. (여기부터 짧은 후기) 책은 총 세 개의 파트로 나눠져 있습니다. 자라기 함께 애자일 먼저 각 파트에 대한 총 평을 짧게 요약하면, 자라..
Overview JPA의 데이터 타입은 크게 엔터티 타입(Entity Type)과 값 타입(Value Type)으로 나뉩니다. 각각 어떤 특징을 가지는지 알아보도록 하겠습니다. Entity Type @Entity로 정의하는 객체로 식별자(@Id)로 계속 추적할 수 있습니다. 식별자를 제외한 속성들은 설정에 따라 얼마든지 변경 가능합니다. Value Type int, Integer, String 처럼 단순히 값으로 사용되는 primitive 타입이나 refenrece 타입을 말합니다. 식별자가 없고 값만 있기 때문에 변경시 추적이 불가능합니다. Value Type은 세 가지로 분류됩니다. Primitive Type primitive 타입과 primitive 타입을 감싸는(boxing) wrapper typ..
고아 객체란? 부모 엔터티와 연관관계가 끊어진 자식 엔터티를 말합니다. 잔인하게도 JPA에서는 고아가 된 객체를 보육원에 맡기는 게 아니라 흔적도 없이 제거해 버릴 수 있습니다. 동작 방식 매핑 애너테이션의 속성 중 orphanRemoval을 true로 지정하면 됩니다. import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.p..
Overview JPA를 사용하느라 Entity 클래스를 정의하다보면 static 생성자를 만들어야 할 때가 있습니다. 특히 외부에서 객체를 생성할 수 없게 protected 레벨로 기본 생성자를 만들고, Dirty Checking 방지를 위해 setter 또한 외부로 공개하지 않습니다. lombok을 같이 사용하면서 필요한 생성자를 만들고 @Builder를 생성자에 추가해 외부에서 객체를 생성할 수 있게 하는 경우도 있지만 Builder 패턴을 이용하면 필수항목과 선택적인 항목을 구분하기 어렵고, 필수항목을 따로 받을 수 있는 방법이 있긴한데 깔끔하게 잘 되진 않습니다. 이런 상황에서 다들 어떻게 개발하시나요? IntelliJ에 생성자를 기반으로 static 생성자를 만들어주는 기능이 있습니다. Bui..
소스 코드는 여기 있습니다. (commit hash: 85838b8) > git clone https://github.com/lcalmsky/jpa > git checkout 85838b8 Warning: 최종 커밋 기준으로 작성되어 있어 모든 테스트 결과를 정확히 확인할 순 없으니 참고 부탁드립니다. Overview 즉시 로딩(EAGER)과 지연 로딩(LAZY)에 대해 알아봅니다. 지연 로딩(Lazy Loading) Unit를 조회하면서 Factory의 정보가 필요하지 않을 때 굳이 Factory를 같이 조회할 필요가 없습니다. 그럴 때 지연 로딩을 사용합니다. 사용법은 간단합니다. 매핑관계를 지정한 애너테이션에 fetch 속성을 FetchType.LAZY로 설정하시면 됩니다. package com.t..
소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence. You must write an algorithm that runs in O(n) time. Example 1: Input: nums = [100,4,200,1,3,2] Output: 4 Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4. Example 2: Input: nums = [0,3,7,2,5,8,4,6,0,1] Outp..
소스 코드는 여기 있습니다. 문제는 여기 있습니다. Problem There are n children standing in a line. Each child is assigned a rating value given in the integer array ratings. You are giving candies to these children subjected to the following requirements: Each child must have at least one candy. Children with a higher rating get more candies than their neighbors. Return the minimum number of candies you need to have ..
- Total
- Today
- Yesterday
- 스프링 데이터 jpa
- QueryDSL
- JSON
- 스프링 부트 회원 가입
- spring boot app
- r
- Spring Boot
- 함께 자라기 후기
- spring boot jwt
- spring boot application
- JPA
- Jackson
- proto3
- Spring Boot Tutorial
- 스프링부트
- Java
- 헥사고날 아키텍처
- intellij
- gRPC
- 함께 자라기
- Spring Data JPA
- leetcode
- 스프링 부트
- @ManyToOne
- 알고리즘
- 스프링 부트 튜토리얼
- 스프링 부트 애플리케이션
- 클린 아키텍처
- Linux
- Spring Boot JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |