목록분류 전체보기 (46)
멍두의 개발새발

"스프링 빈 왜 쓰세요?" 하면 어떤 것이 떠오르는가? 대표적으로 의존성 주입, 싱글톤이 떠오를 것이다.좀 더 구체적으로 말해보자면1. 의존성 주입을 IoC컨테이너가 해주어서 객체지향적이다.2. 싱글톤으로 요청마다 객체가 생성되지 않아 객체 생성과 메모리 비용이 줄어 성능이 향상된다.일 것이다. 그렇다면 과연 진짜 그럴까?한번 진짜 그런지 직접 두눈으로 확인해보자.1. 의존성 주입을 IoC컨테이너가 해주어서 객체지향적이다.🤔 그러면 개발자가 DI 해주면 객체지향적이지 않다는 건가? 실제로 해보자. 예시 : RacingGame 도메인RacingController → RacingService, DriverServcie를 의존각 Service → Repository를 의존개발자가 직접 DI를 해준다.여기..

JPA에서 NOTNULL 속성을 둘 중에 어떤 어노테이션으로 관리해야할지 고민이 있었다. 둘을 공부해보자!@NotNull@Jakarata.validation의 어노테이션이다.하지만 Entity의 column에 달려있으면 hibernate가 인식하여 NotNull을 DDL에도 반영해준다.이때 NotNull을 DDL에 추가해주는 것은 JPA의 기본 동작이 아닌, hibernate의 작동 방식임@Column(nullable = false)jakarta.persistence의 어노테이션이다.database column의 null 속성을 지정해주는 어노테이션으로 기본은 true이다.@Column(nullable = false) vs @NotNull공통점DDL에 NOT NULL을 넣어준다.Null을 넣으려고 하면 ..

Entity를 사용하다보면, Table이나 Column명이 Database와 불일치하여 name=''으로 정의를 해주어야하는 경우가 있다. 그렇다면 hibernate가 자동으로 명명해주는 이름과 Table이나 Colum의 이름이 동일할 때도 name을 정의해주어야할까? 일단 @Column, @Table, @Entity의 name 속성을 정의하면 어떤일이 발생하는지 다시 한번 짚고 넘어가자. @ColumnColumn의 속성들을 지정해주는 어노테이션 name 지정 시, DB column명과 매핑해주는 어노테이션 (create 사용 시DDL에서도 사용)없다면 필드명을 통해 자동 생성된 컬럼명으로 매핑이 된다.@Tablename 지정 시, DB Table명과 매핑해주는 어노테이션 (create 사용 시 D..

@TableDB에 지정되는 Table의 이름 @EntityEntity로 관리name을 지정해주면 JPQL에서 해당 명으로 사용할 수 있음참고 : [JPA] Entity에서 @Table, @Entity, @Column의 name을 정의해주어야할까? @IdPrimaryTable의 PrimaryKey를 지정해준다 @GeneratedValueprimary 생성 전략 제공@Id에 @GeneratedValue 없으면 insert할 때 반드시 id도 직접 넣어주어야함이름종류기능startegyAUTO(default)JPA가 알아서 DBMS에 따라 하위 4가지 전략중 택 1 TABLE@TableGenerator로 함께 쓰인다. 모든 DBMS에서 사용가능하지만 ID가 필요할 때마다 select, update를 해야하고 L..

한달 차 회고를 남긴게 엊그제같은데 벌써 우아한테크코스의 레벨 1이 끝나고, 방학도 얼마 남지 않았다. (사실 내일 레벨2임..)레벨 2를 시작하기 전에, 레벨 1에 대한 회고를 남기고 더 나은 레벨2를 보내보고자 한다. 더 나은 레벨2를 위해 레벨 1에서 잘한 점과 아쉬웠던 점, 개선 방향 위주로 회고를 남길 것이다. Technical Skill미션들두 달 동안 로또, 출석, 블랙잭, 장기를 구현했다. 잘한 점코드 리뷰에 진지하게 참여했다.처음에는 리뷰어님이 ㅇㅇ하는 건 어떤가요? 하면 네 좋은 것 같습니다 하고 리뷰어님의 의견을 반영하려고 했는데, 주변 크루 중 코드리뷰에 생각의 흐름을 작성하며 더 좋은 리뷰를 주고받는 것을 보고 최대한 그렇게 하기 위해 노력했다.이런 식으로 결론만 말하기 보다 나만..

우테코에 들어와서 가장 예상하지 못했지만 가장 좋았던 활동은 유강스였다. 나의 가장 못난 부분을 드러내고 고칠 수 있었다.유강스 ; 유연성 강화 스터디유연성을 강화하기 위한 목표를 세우고, 이를 위한 실험을 하고 일주일에 한 번씩 크루들과 피드백을 주고받는 활동이다. 내 유강스 목표는 눈치 보지 않고 논리적으로 소통하며 신뢰받는 사람이 되기였다.난 좀 타고나게 설명을 못 하는 사람이다.그래서 면접, 발표, 토론처럼 생각하고 말해야 하는 상황을 적극적으로 피해 다녔다. 피할 수 없는 순간들이 오면 극도로 스트레스를 받아 예민해졌고 당연히 결과가 좋을 리도 없었다. 이런 순간순간들이 쌓이면서 더 최선을 다해서 피해 다녔다. 하지만 우테코에 들어오니, 매일 매일을 토론하면서 보내야 했다. 페어 프로그래밍, 수..