JpaRepository를 상속하지 않는 이유 라는 최범균님의 영상을 보고 포스팅해봅니다. extends JpaRepository public interface MemberRepository extends JpaRepository { } Jpa를 학습한 이후로 한 번도 JpaRepository 이외의 인터페이스를 확장해서 사용해본 적이 없었는데요, 최근 최범균님의 JPA 영상을 보다가 Repository 상속을 선호한다는 말씀을 접하게 되었습니다. 왜 그러한지에 대해서도 간명하게 친절하게 설명해주셔서 큰 도움이 되었습니다. 팀 프로젝트 동료들에게도 이 내용에 대해 공유해보았는데요, 모두들 공감해주어서 프로젝트에서도 Repository 상속을 사용하게 되었습니다. 그럼 왜 JpaRepository가 아닌 ..
배민다움을 읽고 생각해본 내용들에 대해 간단히 정리해봅니다. 🍷 진한 협업 경험에 대한 정의 레벨 3 가이드 문서에 목표로 삼아야 할 것이 진한 협업 경험이라고 명시되어 있는데, 저는 이것이 추상적으로 느껴져서 정말 어려웠습니다. 그래서 팀 회의 시간에 각자가 생각하는 진한 협업 경험이 무엇일지 공유해보고 싶다는 제안을 했고, 아래와 같은 의견들을 나눌 수 있었습니다. ### 레벨3 목표인 진한 협업 경험인데, 이야기 해보고 싶다! 진한 협업 경험이 무엇일까에 대한 각자의 생각? - R - 책임이 분산되더라도 context는 항상 공유하고, 서로의 업무에 대해서도 잘 알고 있기 - 연결되어있다는 느낌, 안전하다는 느낌 - Y - 의견에 대한 활발한 토론 (반대 의견 👍) - 프로젝트 코드에 대한 이해, ..
new A(new B(new C())) 위와 같이 A, B, C가 의존관계에 있고 셋 모두 스프링 빈에 등록되어야 할 대상일 때, 스프링 컨테이너에서는 어떻게 인스턴스를 만들까요? 실제 구현 내용을 모른다면, 직접 구현한다면 어떻게 구현하실지 말씀해주시겠어요? 위 질문은 얼마 전 진행됐던 레벨 인터뷰에서 브라운이 인터뷰이에게 했던 질문입니다. 옵저버로서 해당 인터뷰를 관찰하면서도, 뜻밖에 질문에 저 또한 속으로 대답을 떠올려보고 있었습니다. 제 속에 떠올랐던 대답은 "현재 생성할 수 있는 인스턴스를 생성하는 사이클을 반복한다" 였습니다. 아래처럼요. 1) A는 B가 아직 생성 안되었기에 넘어가고, B도 마찬가지입니다. 그러면 C를 생성하고 mark 합니다. 2) A는 여전히 B가 없으니 넘어가고, B는 ..
6월 30일, 7월 1일 양일간 진행됐던 UX 워크샵 후기를 기록해봅니다 좋은 워크샵 시간을 제공해준 우테코, 값진 강연해주신 최은영님 감사합니다! 🤩 Wow 포인트 on 우테코 우테코에 대한 저의 Wow 포인트를 소개해봅니다 :) 프로그래밍을 학습하기 시작한지 몇달 되지 않은 시점에, 유튜브에서 어려운 개념들을 아주 쉽게 알려주는 채널을 알게 된 적 있습니다. 퀄리티가 아주 훌륭할 뿐 아니라 어려운 내용을 쉽게 전달해주기에 이 채널의 컨텐츠는 신뢰하고 봐도 되겠다 라고 생각할 정도였습니다. 처음 접하는 개념들에 익숙해지기 위해 탐색하는 곳들 중 한 곳으로 이 유튜브 채널을 아주 잘 사용했습니다. 어느날, 이 채널의 발표자들이 전문 강연자가 아닌 학습과정에 있는 사람들이란 걸 알고 경악한 적 있습니다. ..
Real MySQL 5장 트랜잭션과 잠금을 읽고 스터디한 내용을 정리해봅니다 😃 InnoDB를 통한 트랜잭션 격리 제공 트랜잭션 격리는 데이터베이스의 핵심 기능 중 하나입니다. 트랜잭션 격리는 여러 트랜잭션이 동시에 수정을 일으키는 쿼리를 요청했을 때, 신뢰성, 일관성을 유지하면서도 높은 성능을 유지하는 균형에 대한 이야기입니다. 트랜잭션 격리를 하지 않고 신뢰성을 낮추는 대신 성능을 높일 수도 있고, 트랜잭션 격리를 극단적으로 가져가며 신뢰성을 높이는 대신 성능을 다소 포기할 수도 있습니다. 트랜잭션이 안전하게 수행된다는 것을 보장하는 ACID 중 I가 바로 이 격리, Isolation의 약자입니다. 이전 포스팅에서 알아봤듯이, MySQL의 스토리지 엔진 가운데 InnoDB 만이 트랜잭션을 지원하기 때..