TIL

TIL_20221220

번잔중 2022. 12. 20. 23:53

오늘 할 일

🔥 코드 스테이츠 84일차

[Pre-Project] Day 4

  • 사용자 요구사항 정의서 작성
  • 테이블 명세서 작성

다른거

  • 1일 1커밋

오늘 배운 것

[Pre-Project] Day 4

라이브 수업 정리

  • 일단 코드 안보고 80% 칠 수 있을만큼 유어클래스 내용 공부하자.
  • 계속 반복하는 것이 답. 못하겠으면 외워라.
  • API → controller → service → repository → JPA → DB
  • 백엔드의 최종 목적지는 DB와 file들이다. → 즉, 이러한 것들을 더 잘하기 위해서는 테이블 설계를 잘해야 한다. → 이것들을 Spring에서 하려면 Object와 Entity가 중요하다.
  • 데이터 모델링: 데이터 흐름을 도식화하는 과정이다. 신규 또는 대체 데이터베이스 구조를 생성할 때 설계자는 데이터가 어떻게 데이터베이스로 유입되고 빠져나오는지에 관한 다이어그램으로 시작한다. 이런 흐름에 관한 다이어그램은 데이터 형식, 구조, 데이터베이스 처리 기능의 특징을 정의하는 데 사용되어 데이터 흐름 요구사항을 효율적으로 지원한다.
    • 개념적 데이터 모델 > 논리적 데이터 모델 > 물리적 데이터 모델
  • 기획 → 분석 → 설계 → 구현 → 시험
    • 기획, 분석 단계에서 사용자 요구사항 정의서가 잘 나와야 좋은 데이터 모델링이 가능하다.
    • 이후 데이터 모델을 필요한 도메인에 따라 설계한다.
    • 데이터를 인풋, 아웃풋해서 코드로 구현한다.
    • 테스트를 해본 이후에 배포한다.

사용자 요구사항 정의서 작성

  • USER
    • 회원정보 변경, 회원가입, 로그인, 회원정보 조회, 비밀번호 찾기, 아이디 찾기, 회원 탈퇴
  • SEARCH
    • 회원 검색하기, 태그 검색하기
  • QUESTION
    • 질문 작성하기, 질문 투표, 질문 수정하기, 질문 검색하기, 질문 필터, 질문 정렬, 질문 삭제하기
  • ANSWER
    • 답변 작성하기, 답변 수정하기, 답변 삭제하기, 답변 채택하기
  • ADDITIONAL
    • 연관 질문 추천, 인기 있는 질문, 드롭다운 메뉴, 태그별 질문 분류, 바운티 기능 등

테이블 명세서

  • USER 테이블
    • 요구사항 ID: 사용자 요구사항 정의서에 있는 USER_기능 으로 구성되어 있다.
    • 테이블 설명: USER Entity의 정보를 담은 테이블

다른거

- 1일 1커밋

Programmers Lv. 1햄버거 만들기 문제입니다. 스택으로 풀어주면 되는 문제인 것 같아서 조건을 주렁주렁 달아줬는데, 생각보다 성능이 안좋아서 좋은 코드도 가져왔습니다. ㅎㅎ

 

Programmers 햄버거 만들기

 

GitHub - chaning49/algorithm: 코딩테스트를 위한 알고리즘 공부

코딩테스트를 위한 알고리즘 공부. Contribute to chaning49/algorithm development by creating an account on GitHub.

github.com

느낀점

  • 건질 것이 많은 라이브 수업이었다. 스프링 공부를 어떻게 해야할지 방황하는 중이었기 때문에 더 집중하고 듣게 됐다. 하나 하나 모든 것을 내가 할 수는 없지만 할 수 있는 선에서 꼭 다 따라해봐야겠다.
  • 사용자 요구사항 정의서를 작성하면서 몇 가지 내용을 수정했다.
    • 요구사항 ID를 CRUD에 맞춰서 정해주었다.
    • 이전에 작성할 때 빠진 기능인 답변 채택하기 기능을 추가했다.
    • 기존에 작성한 중요도(상, 중, 하, 최하)에서 최하를 빼고 상, 중, 하만 따지기로 했다.
  • 테이블 명세서를 작성하기 시작했다.
    • USER 테이블에 필요한 값을 선택했다.
    • 처음에는 회원가입 하는 사용자의 ID를 테이블의 id 값으로 사용할까 고민했지만 인수님과 Stackoverflow 사이트의 URI와 화면을 체크하던 중, ID 값을 Auto Increment로 해놓고 URI로 접속하면 /ID/user_nickname 의 형태로 리디렉션 하는 것을 확인했다. 그래서 user_id의 컬럼을 Auto Increment, PK로 설정해주었다.
  • 내일부터는 스프링 복습 해야지... 

내일 할 일

🍏 코드 스테이츠 85일차

[Pre-Project] Day 5

  • 테이블 명세서 나머지 작성하기
  • ERD 그리기
  • 개발 초기 파트부터 API stub 데이터까지 만들어놓기

다른거

  • 1일 1커밋