전체 글

우아한테크코스/회고

[레벨3] 레벨3이 끝날 때까지 회고 기록을 회피해온 건에 대하여

HTML 삽입 미리보기할 수 없는 소스 우아한테크코스 레벨 3을 시작하며 남겼던, 제법 장황한 1주차 회고 이후로 그간 한 줄의 회고도 블로그에 올리지 않았다. 회고 활동을 하지 않은 건 또 아니다. 전혀. 지난 2개월 간, 팀 문화에 따라 2주마다 데모데이를 마치고나면 늘 팀원들과 회고를 하며 다음 단계를 도모했다. 레벨3가 끝난 뒤 팀 회고 활동에서도 가장 인상적이었던 순간과, 배운 점/좋았던 점/개선할 점을 개인/팀에 대해 되돌아보았고 내가 어떤 역할을 했는지, 그리고 앞으로의 역할에 대해서도 생각해보는 시간을 가졌다. 정기적으로 회고를 할 때마다 다른 동료들은 어떤 생각을 갖고 있는지도 알 수 있고, 프로젝트에 대한 공동 의식을 느낄 수 있었다. 그리고 내가 개선할 점, 팀에서 다음 단계에 나아갈..

공부/JPA

연관 관계 편의 메서드는 써야겠고, Setter는 쓰기 싫어요

학습 과정에서 작성한 글로, 잘못된 내용이 있을 수 있습니다! 피드백은 언제나 감사히 받겠습니다 🙇 연관 관계 편의 메서드가 필요한 이유 JPA를 공부하면서, 연관 관계 편의 메서드를 정의해 사용하는 것이 중요하다는 것을 배웠다. 좀 더 설명해보자면, 다대일 / 일대다 관계를 양방향 매핑하여 사용할 때에는 양 쪽 객체의 연관 관계 상태를 모두 신경써주어야 한다. 연관 관계의 주인이 아닌 쪽은 DB 반영과는 관계가 없다. 하지만 그럼에도 이게 중요한 이유는 ORM을 사용하는 만큼, 신뢰성 있게 객체 상태를 유지하고 객체 그래프 탐색을 가능하게 하기 위함이다. 그런데 이 때 각 객체에서 관계를 설정해주기보다는, 하나의 메서드에서 둘을 동시에 설정해주는 것이 안전하다. 이런 메서드를 연관 관계 편의 메서드 라..

공부/JPA

JPA 기본키 생성 전략과 선택 기준

JPA 엔티티 매핑 중 @Id로 기본 키 매핑을 할 때, 해당 값을 넣어주는 방식으로 여러 가지 선택지가 있다. @Id만 사용하고 다른 설정을 해주지 않으면, 기본 키 값을 직접 할당해야 한다. 하지만 정말 불편할 것이다. 따라서 아래와 같이, @GeneratedValue 어노테이션을 통해 기본키 값을 자동 생성할 수 있다. @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; 이러한 자동 생성 전략으로도 여러 가지가 있는데, 이 중 무엇을 사용할지 정확히 알고 있지 않다는 것을 깨달아서 정리해보려고 한다. 아래와 같이 하나의 트랜잭션 단위를 가지는 테스트 코드를 실행하여 User 엔티티를 저장할 때, 각 전략에 따라 어떤 일이..

우아한테크코스/프로젝트

[레벨3] 프로젝트 괜찮을지도 1주차 회고

이번 주부터 우아한테크코스에서의 레벨3이 시작되었다! 레벨3부터는 팀 별 프로젝트를 진행한다. 시작 주임에도 벌써 느낀 점이 많아서, 회고가 중요하다는 생각이 들었다. 그래서 앞으로는 매주 프로젝트에서 배운 점을 돌아보는 회고를 작성하려고 한다. 나의 아이디어로 시작하기 이번 우테코 5기는 모두가 제출한 기획안 중 최종 선정 된 안들을 추려 프로젝트 팀을 구성했다. 개발 이전에 건축을 해오던 때부터 위치 정보나 지도, 공간 관련된 서비스들에 관심이 있었다. 그래서 이전부터 한 번쯤은 참여해보고 싶지만 막연하게 생각만 하고 있던 아이디어를 기획안으로 제출했다. 그리고 감사하게도 내가 제출한 기획안으로 프로젝트를 진행할 수 있는 기회를 받았다. 처음에는 기획자 역할을 하느라 기술적인 부분에 집중하지 못할까봐..

우아한테크코스/미션 기록

[레벨2] 장바구니 주문 미션 (협업)

1단계 저장소: https://github.com/yoondgu/jwp-shopping-order/tree/step1 2단계 저장소: https://github.com/yoondgu/jwp-shopping-order/tree/step2 2단계 코드리뷰 진행 PR: https://github.com/woowacourse/jwp-shopping-order/pull/47 [2단계 - 주문 기능 구현] 도이(유도영) 미션 제출합니다. by yoondgu · Pull Request #47 · woowacourse/jwp-sho 안녕하세요 라빈! 🍨 리뷰이 도이입니다!! 마지막 미션을 함께 하게 되어 영광이에요~ 요청이 많이 늦었지만.. 같이 많이 대화하며 배워가고 싶습니다 😆 잘 부탁드립니다!! ㅎㅎ 백엔드, 프..

우아한테크코스/미션 기록

[레벨2] 지하철 미션

1단계 저장소: https://github.com/yoondgu/jwp-subway-path/tree/step1 2단계 저장소: https://github.com/yoondgu/jwp-subway-path/tree/step2 3단계 저장소(개인 추가 진행): https://github.com/yoondgu/jwp-subway-path/tree/step3 1단계 코드리뷰 진행 PR: https://github.com/woowacourse/jwp-subway-path/pull/78 2단계 코드리뷰 진행 PR: https://github.com/woowacourse/jwp-subway-path/pull/138 GitHub - yoondgu/jwp-subway-path Contribute to yoondgu/j..

우아한테크코스/회고

[레벨2] 학습 및 생활 관련 KPT 회고

레벨2 동안 한 일들 백엔드 강의 + 미션 - 페어프로그래밍, 코드리뷰, 학습로그 말하기 활동 테코톡 발표 프로젝트 기획서 최종 발표 데일리 미팅 코치 면담 레벨 인터뷰 글쓰기 및 말하기 워크샵 꾸글쓰 (매주 1회 글쓰기) 네트워크 스터디 Keep 1시간 일찍 출근하기 금연, 절주 아침에 따릉이 타기 집에 오면 일단 핸드폰 끄고 식사-설거지-씻기 부터 마치기 고민에 대한 나만의 규칙 유지하기 문제 해결 기록하기, 기록할 시간이 없을 때에는 대충 메모장에라도 적어놓기 (회고, 학습 기록 등) -> 나중에 기록할 수 있다 필요할 때는 책, 강의를 참고해 학습하기 궁금한 부분이 생기면 블로그 포스팅으로 남기기 최소 주 1회 글 쓰기 Problem 미션에 집중했지만, 시간이 부족해서 코드 리뷰를 찐하게 오래 하..

우아한테크코스/회고

JDBC vs SQL mapper vs ORM 테코톡 회고

우테코 크루라면 누구나 한 번씩 해야 발표자가 되어야 하는 테코톡. 테코톡은, 우아한테크코스의 각 레벨에서 다루는 키워드를 한 가지 정해서, 10분 간 청자들이 이해할 수 있도록 발표하는 활동이다. 목적은 두 가지다. 1. 말하기 연습 2. 우아한테크코스에서 다루는 키워드에 대한 학습 나는 레벨2의 중간 지점 쯤 되는 5월 4일, JDBC vs SQL mapper vs ORM이라는 주제로 발표했다. 어떻게든 끝내면 되는 과제로만 생각할 수도 있지만, 더 큰 의미의 도전으로 다가왔다. 그 이유로는 두 가지가 있었다. 궁금했던, 공부하고 싶었던 주제를 선택했다는 점. 이미 잘 아는 주제를 발표하는 것이 아니라, 발표를 계기로 새로 학습하는 내용을 다른 이들에게 잘 설명할 수 있어야 했다. 말하기 능력에 대한..

d02
개발 기록