[KT AIVLE] 빅프로젝트(5)

onlyJoon·2023년 6월 13일
0

KT AIVLE

목록 보기
21/31
post-thumbnail

작성일: 2023.06.13(화)

KT AIVLE AI 개발자 트랙 3기 과정의 마지막인 빅프로젝트를 진행하고 있습니다.


Daily Scrum

내 역할, 협업 내용, 나머지는 팀원 담당

What did you do yesterday?

  • spring 기초 공부
  • react 기초 공부
  • Wi-Fi 데이터 수집 가능성 확인

What will you do today?

  • spring 기초 공부
  • SW개발 관련 규제 준수 가이드 확인
  • react 기초 공부
  • react 컴포넌트 트리 초안 작성
  • Wi-Fi 데이터 수집 및 AI 모델링

Are there any impediments in your way?

  • 더딘 프로젝트 진행 속도

What I did today

스프링 입문

  • 회원관리 예제를 따라해보며 웹 MVC 개발을 공부함

H2 데이터베이스

  • 개발, 테스트 용도로 사용하는 가벼운 DB
  • 웹 화면도 제공해줌
  • 맥 터미널에서 h2를 다운받은 경로로 이동하여 ./h2.sh 실행하면
    홈 디렉토리에 test.mv.db가 생성됨
  • 충돌 등의 문제가 발생할 수 있으므로 h2 접속할 때 jdbc:h2:tcp://localhost/~/test로 접속 권장

DataSource

  • 데이터베이스 커넥션을 획득할 때 사용하는 객체
  • 스프링 부트는 데이터베이스 커넥션을 바탕으로 DataSource를 생성하고 스프링 빈으로 만듦 -> DI 받기가 가능해짐

Jdbc

  • Java Database Connectivity
  • Java와 DB를 연결해주는 자바 API
  • 'JDBC API로 직접 코딩하는 것은 20년 전 이야기'라고 함...

OCP: Open-Closed Principle

  • 개방-폐쇄 원칙으로 확장에는 열려있고 수정과 변경에는 닫혀있어야 하는 객체지향 원리
  • 스프링의 '의존성 주입(DI)'를 사용하면 인터페이스에서 '기존 코드를 변경하지 않고' 구현체(클래스)를 바꿀 수 있다는 점에서 큰 장점을 가짐

테스트

@SpringBootTest

  • 스프링 컨테이너와 테스트를 함께 실행

@Transactional

  • 테스트 케이스에 달면 테스트 실행 시 트랙잭션을 실행하고 DB에서 데이터 쿼리를 처리한 후 Rollback을 통해 변경사항을 반영하지 않음
  • 이를 통해 반복해서 테스트를 실행 가능
  • 서비스에 붙으면 롤백 없이 실행(@Commit이 있으면 커밋함)

단위테스트 vs 통합테스트

  • 단위테스트가 대체로 훨씬 좋은 테스트 방법 -> 단위를 잘 쪼개는 것이 중요
  • 따라서, 스프링 컨테이너 없이 테스트할 수 있는 능력이 중요

JdbcTemplate

  • JDBC API에서의 반복 코드를 대부분 제거해주는 역할
  • SQL은 직접 작성해야 함

JPA

  • Java Persistence API
  • 기존의 반복 코드뿐만 아니라 기본적인 SQL도 직접 만들어서 실행해줌
  • 객체 중심의 설계를 가능하게 함 + 개발 생산성 향상

조별 코칭

  • 금주 목요일에 Web파트와 AI파트에서 무엇을 할 것인지 아래 내용들을 '시각적'으로 보여주어야 함
  • 진척도를 퍼센티지(%)로 표현할 것
  • Web: 어떻게 구현할 것인지, 어떤 이슈사항이 있는지
  • AI: 데이터 수집, 모델링 결과 등 진행상황이 어떤지, 이후 과정은 어떻게 할 것인지, 이슈사항 및 개선사항

Good

  • AI 동작 시나리오를 체계적으로 만드려고 한점
  • 데이터 수집 과정

Bad

  • Web 개발 구현 속도가 다른 팀 대비 느린 편

기타

리액트 컴포넌트 트리

  • 프론트 담당 팀원이 만든 프론트 구현 계획

마치며

스프링 입문을 거의 다 들으면서 개념을 익힌 상태인데,
이제 본격적으로 JPA를 배우면서 프로젝트에 이를 적용해보고 싶다는 생각이 강해지는 중이다.

profile
A smooth sea never made a skilled sailor

0개의 댓글