스파르타 TIL(2021-11-03) - Spring 시작 및 팀 면담

김우진·2021년 11월 4일
0

내일배움캠프 TIL

목록 보기
19/21

오늘 한 일

오늘은 생각보다 공부를 많이 하지 못했다. 강의를 들으며 궁금증들을 많이 정리했지만, 팀 면담을 위해 팀원들과 회의 하고, 팀 면담 후 회고를 통해 다시 팀 목표와 목표를 달성하기 위한 Action을 정한다고 하루가 다갔다. 한 일은 많이 없지만, 팀적으로 발전을 많이 한 것 같아 어제보다 성장한 팀이 된 것 같아서 만족한다.

팀 계획 내용

  1. 현재 팀으로 같이 하고 있는 활동
  • 디스코드에서 주기적(스터디 끝난 후 or 실습 중 안되는 경우)으로 회의 및 회고
  • 매컴싸(대부분 참여 중)
  1. 스프링 실시간 수업 주간동안 팀 목표
  • 피드백 내용
    • 조금 더 디테일하고 작게
    • 아주 작은 변화부터 찾아보기!
    • 회고를 하며 언제든 팀 목표 수정 가능!!
  • 그날 스터디에서 나온 실습 진도 완수하기 (이상적인 목표)
  • 최대한 스터디등 팀적으로 할 수 있는 여러 시도하고 회고하기( + 항상 변경 가능하니 의견 제출하기)
  1. 팀 목표를 위해 우리가 시도하려는 액션
  • 피드백 내용

    • 팀 간 KPT 작성 중요.
  • 프로젝트 때 바로 실습에 참고할만한 책(?, 매체(강의, docs, 책)) 구비해두기

  • 1,2차 프로젝트 때 즉시 참고할만 한 개념서의 부족

    • 한 권보단 여러권을 필요한 부분만 빠르게 보면서 check
    • 강의/책에 대해서 질문할 때는 “이런 목적으로 책을 찾고 있는데, 목차를 보니 이런게 좋아보이는데, 목적에 부합하는지 봐주실 수 있나요?”로 하기
  • 팀코 style 1차 스터디

    • 점심시간 이후 (2시~2시 반 중 정해서) ~ 우선 1시간(3시 or 3시 반)
    • 시간은 유동적으로 가능
    • 그날 나가야 하는 실습 진도까지가 목표(목표는 언제든 수정 가능, 스터디 1시간 마다 회고(더 진행할 지) 진행)
    • 목표는 1시간 마다 바뀔 수 있고 이후에 개념 스터디 시작(1시간~1시간 반 생각 중(변경가능))
    • 개념 스터디 주제는 팀원 각자의 실시간 강의 메모 Keyword 중 공통적인 것 or 실습하다 모르는 부분이나 중요하게 다뤄지는 부분
  • 8시 30분(변경 가능)에 스터디에 대한 회고

    • 내용(변경 가능)
      • 스터디를 계속 할지
      • 진행하는 방식에 대해서?
    • 각자 실습한 코드 보며 비교
    • 코드리뷰 (10분~30분 시간 변경 가능 하나의 함수에 대해서만 해도 괜찮음)
      • spring pet clinic 참조
      • 회고 코드 리뷰 전 Agile 방식으로 생각하기
      • “아주 작은 것만 수정하면 조금만 더 개선될 수 있는 것 찾기. “
      • “이거 진짜 해야하나? 이거말고 다른 간단한 비용 적은 방법은 없나? 진짜 중요한 한가지가 뭐지? 그걸 하려면 지금 이 방식이 맞나? 아주 적은 걸로 변화를 줄 수 있는방법은?”
  1. 팀 작업할 때 시도해왔던 것(TIL, Notion 기록 포함)
  • 다음 상담 땐 스터디/회의 기록을 들고 오면 상담 받기 수월함.
  • Notion 사용(지금은 거의 폐지…)
  • Discord/Slack(팀 채널, 질문방 etc…) 채널 사용
  • github issue 사용 - https://github.com/dnwlsrla40/heart-muscle/issues
  • 코드리뷰
  1. 그 동안 팀과 함께 한 긍정적 시도와 변화
  • 각 팀원의 스파르타 목표 및 개인 전체적 목표를 이야기하며 입장 차이를 좁힘
  • 코드 리뷰(2회 밖에 못하긴 함 ㅠㅠ)
  • 좋은 자료 있으면 링크 공유 하기(강의, 코드 컨벤션 etc)
  • 스터디 시작
  • 명확한 목표 설정 / 역할 분배 / 목표 달성의 경험

강의 RoadMap

Programming

  • Coding convention
  • Framework vs Library
    • IoC(제어의 역전, Inversion Of Control)
    • Framework : 틀에 맞춰서 작성하면 Framework가 해줌(제어의 역전)

Java

  • OOP(Objected oriented)
  • 1.8(java8 이상) 이후 함수형 프로그래밍
    - 다른 언어(python, kotlin...) 등에 위기감을 느껴 함수형 프로그래밍 추가(?)
    - lambda
    • 도서, 레퍼런스 볼 때 버전 참조!
  • JDK
    - 하위호환성
    - Compiler
    - 인간 코드 -> byteCode 변환
    • JVM
      - Write one Run Everywhere
      • byteCode 실행 (runtime)
    • JAVA
      - Java API

Spring

  • https://spring.io/projects

  • Spring Boot, Spring Security, Spring Data JPA

  • TEST

    • JUnit Java 테스팅 프레임워크
      • Java + Unit Test(단위 테스트)
    • Mockito - Mock 객체
  • Spring Cloud, Spring REST Docs

  • 다형성

  • 응집도 높히고, 결합도 낮추기

  • IoC, DI

  • Layered Architecture Controller - Service - Repository

  • Layered Architecture과 MVC 패턴과의 차이

    기억에 남는 일

    팀 면담

    원래 오후 4시에 면담이 진행될 예정이 었지만 나의 잘못으로 인해 오후 6시 부터 진행되었다.
    하지만 오히려 마지막 타임이 되어 배정되어 있던 시간보다 튜터님께서 더 시간을 할애해 면담을 진행해 주셨다.
    그 덕에 다양한 방면으로 질문을 들일 수 있었고, 많은 피드백을 받았다.
    항상 튜터님으로 인해서 개발 그 이상의 Pattern적, Architecture적 생각을 해볼 수 있어서 좋은 것 같다.

0개의 댓글