Skip to content

[팀 회고] 3주차

boogi-woogi edited this page Jul 19, 2023 · 2 revisions

2주차 - 2023-07-07

Facts

  • 우기

    • 개발을 시작했다.
    • 코틀린을 이용한 비동기 처리에 있어서 정말 중요한 코루틴이라는 것을 배웠다.
    • 우테코의 반 이상을 한 시점에서 내가 어떤 성향의 기업을 가고 싶은지 계속해서 생각하고 있다.
  • 블랙캣

    • 팀원들과 브랜치 전략을 정했다.
    • 크루들과 @Transactional 작동원리를 배웠다.
    • 백엔드 스프링 부트 프로젝트 세팅을 했다.
    • record 는 편하다
  • 떙칠

    • JPA 미션과 학습을 했다.
      • 익숙하지 않은 방식으로 익숙한 일을 하는 느낌이었다.
      • 지하철타고 집에 가는건 같은데, 지하철이 KTX가 된 느낌?
      • 엄청 방대하고 어렵다. 하지만 연관관계 매핑, 영속성 컨텍스트, 트랜잭션의 관리가 핵심이라는 것은 알겠다.
      • 앞으로 학습 테스트 레포지터리를 하나 만들어서 지속적으로 쌓아가면서 JPA와 트랜잭션을 학습해 본다.
  • 베리

    • 이슈, pr 템플릿을 정한다.
    • 깃 브랜치 전략을 정한다.
    • 스크롤을 구현했다.
    • 코루틴 강의를 들었다.
  • 콩하나

    자바 공부

    • 객체지향의 사실과 오해를 다 읽었다.
    • JPA 책 3장까지 읽었다.
    • JPA 미션을 진행했다.

    개인 성장

    • 평일 중 세번 이상 1시간 이상 운동을 했다.
    • 영양제를 꾸준히 먹었다.
    • 알고리즘 문제 중 세그먼트 트리 문제를 다시 풀면서 복습했다.

    커뮤니티

    • 프로젝트 내에서 기획 회의와 api 설계 회의를 계속 진행했다.
    • 강릉 놀러갈 멤버들과 영상통화를 했다.
    • 레벨 2 데일리 조원들과 함께 회식을 했다.(목)
  • 파워

    • 매일 알고리즘 한 문제씩 풀었다.
    • 백엔드 JPA 미션에 관한 내용을 공부했다.
    • 테코톡 PPT를 만들었다.
  • 코건

      • 2차 데모 스프린트를 수정하였다.
      • 레벨 1, 2때 배운 내용을 기반으로 이번 스프린트를 진행하라는 피드백이 있었다.
      • 깃 커밋 네이밍 컨벤션
      • 브랜치 네이밍 컨벤션
      • 기타 레포지토리 설정
      • 본격적으로 개발을 시작했다.
      • 프로젝트 설정
      • 도메인 구조 정의
      • Youtube Iframe API 사용한 영상 표시
      • 재생/일시정지/영상 변경 구현

Feelings

  • 우기
    • LEVEL3에서 배운 새로운 아키텍처인 MVVM을 적용하려고 했는데 마음처럼 쉽게 되지 않아서 고통스럽기도 하다.
    • 정말 오랜만에 제약 사항이 없는 개발을 할 수 있어서 재밌다.
    • 좋지 않은 소식이 들려오는 취업 시장, 불확실한 미래에 대해서 불안감을 많이 느낀다.
  • 블랙캣
    • 이번주는 미뤄놨던 공부를 했는데 기존에 너무 궁금했던 부분을 해소해서 기분이 좋다.
    • 이번주는 최대한 집에 일찍 안가고 남아서 공부를 했는데 일주일을 알차게 보내서 기분이 좋다.
    • ‘깊게 파는 것 vs 넓게 파는 것’ 아직은 뭐가 맞는지 잘 모르겠다.
  • 떙칠
    • 다같이 서버의 기반 코드를 작성했다.
      • 이제 진짜 시작한다는 느낌이 들었고, 우리 팀원들이 다들 많이 공부하고 고민해보았다는 것이 느껴졌다.
      • 나는 아직 근거가 확실하지 않은 부분들이 존재한다는 것을 알게 되었다.
      • 근거가 부족한 주장을 하는 상황을 인식하고, 내가 그렇다는 것을 인정하고 배우는 자세를 가지자.
  • 베리
    • 이번에 처음 칸반 보드와 issue 를 이용해서 일정 관리를 해보았는데, 투두와 코드가 한번에 관리되어서 지금 무슨 일이 진행되고, 어떤 문서가 만들어졌는지 정리하기 무척 편하다는 것을 느꼈다.
    • 협업이다 보니까 컨벤션을 잘 지켜야 된다는게 중요하고, 팀원들끼리 많은 소통을 해야된다는 것을 느꼈다.
    • 스크롤을 구현한 코드에 레벨 1,2 때 배운 개념을 어떻게 적용할지 고민을 해봐야될 것 같다.
  • 콩하나
    • 이번주는 퇴근 이후에 운동을 했던 날들이 많았다. 건강 걱정도 되고 너무 체력이 떨어졌다는 생각이 들어서 월요일부터 한번 뛰어봤다. 생각보다 뛰고 난 이후에 상쾌한 느낌이 좋고, 하루를 잘 마무리했다는 느낌도 들어서 수요일까지 계속 뛰었다. 앞으로도 뒤에 약속이 없다면 계속 러닝할 예정이다. 한시간 정도 러닝하고, 집에 와서 간단하게 팔굽혀펴기나 ab슬라이드도 했다. 뭐... 하고나면 잠자는 시간이 조금 늦어지기는 하지만 그래도 충만한 상태로 잠을 자니 다음날 아침까지도 기분이 좋았다. 다음주도 이 패턴 한번 유지해봐야겠다.
    • 운동과는 별개로 기획 회의를 계속하고, 말하면서 계속 생각도 하다보니 체력 소모가 조금 많이 되는 느낌이다. 늦게 자기도 했지만 레벨 2에 비해 조금 더 빨리 자는데 더 피곤하다. 다음주는 조금 더 빨리 자야겠다. 1시 반에 자는 것을 목표로 해봐야겠다.
    • 무엇을 공부해야할지 갈피를 못잡은 한주였다. 그래도 '객체지향의 사실과 오해' 책도 다 읽고, jpa 책도 3장까지는 다 읽었다. 결과만 놓고보면 나름 만족스럽긴하다. 그런데 무엇을 남겼냐라는 질문에는 크게 남은 것은 없다... ㅎㅎ... jpa는 그나마 내부 구조에 대해서 조금 이해했지만 객사오는 크게 배운 부분은 없다. 음... 상태를 기준으로 객체를 생성하기보단 행위에 초점을 맞춰서 객체를 생성해야한다는 점 정도?? 원래 알고 있던 내용을 정리하는 정도이거나 아니면 내용이 너무 추상적이어서 말하고자하는 방향성은 알겠는데 실제로 어떻게 적용할 수 있는지는 잘 모르겠다. 그래서 더 배운게 없다고 느껴지는 것 같다. 다음주에는 jpa 조금 더 많이 공부해봐야지!
  • 파워
    • 공부 해야할것들이 너무많다.
  • 코건
    • 주 초반에 좀 안좋았는데 며칠 지나니 나아져서 다행이다. (정기적인듯)
    • 몸이 계속 아파서 괴롭고 불안하고 빡친다.

Findings

  • 우기

    • 처음부터 잘 되는 일은 없구나.. (MVVM, COROUTINE 어려움)
    • 제약 사항이 없다는 것은 우리에게 자유를 주는 것이기도 하지만 그에 따른 구현에 대한 책임이 따른다고 생각한다.
  • 블랙캣

    • @Transaction 어노테이션과 EntityManager 를 통해 Transaction을 처리하는 것은 비슷하다.
    • @Transaction 어노테이션은 AOP 를 통해 동작한다.
      • Transaction은 begin 하면 auto commit 을 false 로 설정한다.
  • 떙칠

    • 팀의 깃 전략과 레포지토리 사용 컨벤션을 정했다.
      • 열심히 논의하고 다시 처음으로 되돌아가는 느낌이 들었다.
      • 시간과 에너지를 더 효율적으로 사용해 볼 수 있겠다는 생각을 했다.
  • 베리

    • MVVM, 코투린 등 새롭게 배운 개념들이 많은데 직접 적용해야 익혀질 것 같습니다.
    • 기능을 개발할 때 수박 겉핥기 식으로 대충 어떻게 작동하는지만 익히는게 아니라 그 원리와 개념을 확실히 익히고 정리하는 버릇을 들여야 될 것 같다.
  • 콩하나

    • JpaRepository에서 메소드명으로 쿼리를 날리는 경우에는 JPQL을 실행시킨다. 이 경우에는 영속성 컨텍스트를 거치지 않고 직접 db를 조회한다. pk 값을 가지고 엔티티를 찾아올 수 있는 1차 캐시와는 다르게 쿼리문을 가지고 pk를 판단하기는 어렵기 때문에 그렇지 않을까싶다. db를 조회한 뒤에는 영속성 컨텍스트를 뒤져본 뒤, pk값을 통해 동일한 엔티티를 반환한다. 따라서 JPQL을 사용하기 전에는 영속성 컨텍스트의 내용을 flush해야한다. 그렇지 않으면 db에서 조회한 엔티티값과 영속성 컨텍스트에 있는 엔티티가 다른 문제가 발생할 수 있다.

      여러 대의 서버에서 하나의 db에 접근할 때 위의 문제가 발생하지 않을까?하는 생각을 해봤는데 각 쓰레드마다 EntityManager를 하나씩 가지고 있기 때문에 괜찮다는 결론이 나왔다. 결국 요청마다 하나의 영속성 컨텍스트가 관리되기에 1차캐시와 데이터베이스 상의 불일치 문제는 트랜잭션을 관리하면 해결할 수 있다고 결론을 지었다.

  • 파워

    • JPA 미션에 관한 내용들을 배웠다.
    • 테코톡 준비를하면서 AWS 여러 서비스들을 많이 경험했다.
  • 코건

    • Github Project, Issue 사용법
    • Git Branch 전략
    • Youtube Iframe API
    • MVVM
    • AAC ViewModel
    • AAC LiveData

Future Action

  • 우기
    • 처음부터 완벽하게 짜려고 하지 말자! (로그인 페이지를 구현하면서 많이 느낌)
    • 공부 시간을 조금씩 늘려가자!
  • 땡칠
    • 일정 추정과 어쩌고..강의 → 타임 박스 활용
    • 일정 시간동안 깊이있게 토의하고 결정을 내리므로 고민도 충분히 해볼 수 있으면서 시간내에 결론이 난다는 점에서 효율적이라고 느꼈다.
  • 블랙캣
    • 백엔드 API 기능 구현
    • JPA 미션 3
    • 공통 회의간 타임박스 적용하기
  • 베리
    • 스크롤 기능은 구현 완료했고, 스크롤 될 때 발생하는 이벤트를 정의한다.
    • 주말에 수업시간에 배운 코루틴 개념을 정리하고 못다한 기능 구현을 완료한다.
  • 콩하나
    • 컨디션 조절을 잘해보자.
    • 다음주에 알고리즘 문제 풀어야겠다. 이번에도 최소 3문제 이상 풀어야지
    • 운동도 화이팅하자
    • 영양제 구매하자.
    • 신용카드를 많이 썼는데 신용카드를 쓴 통장에 돈을 미리 넣어둬야겠다.
  • 파워
    • 이번주 루틴 반복
    • 백엔드 개발
    • 해야하는것들 우선순위를 잘정하자
  • 코건
    • 추가 공부
    • MVVM
    • AAC ViewModel
    • AAC LiveData
    • 다음주까지 스프린트 기능 완성
    • README 작성
    • 출퇴근길에 독서
    • 기술 책도 좋고 문학, 예술 쪽
    • 더 나은 작문

Feedback

  • 우기

  • 블랙캣

  • 땡칠

  • 베리

  • 콩하나

    • good!
    • 다음주는 술 좀 더 줄여야지!이번주 만족도: 4 (5점 만점)

    이번주 플랜 수행도: 4 (5점 만점)

  • 파워

    • 이번주 잘보낸것같다.
  • 코건

    • 이번주 딱히 잘한건 없고 헛되이 시간도 많이 쓰고 몸도 마음도 고생했지만 멘탈 안 놓고 잘했다 👍