오늘의 공부
데이터 정규화
- 제 1 정규화
- 제 2 정규화
- 주제와 관련없는 컬럼은 다른 테이블로 빼서 관리 → 수정이 편해진다
- composite primary key
- 서로 합치면 primary key 역할을 할 수 있는 컬럼들
- partial dependency
- composite primary key에 종속된 특정 컬럼
- partial dependency를 다른 테이블로 빼는것이 제 2 정규화
- 데이터 조회시 여러 테이블을 왔다갔다 해야하므로 불편
- 비관계형 DB는 정규화를 하지 않는 경우도 많다
- 관계형 DB는 정규화를 해두는게 일반적
- 제 3 정규화
- 특정 일반 컬럼에만 종속된 컬럼은 다른 테이블로 빼서 관리 → 수정이 편해진다
(10분 CS지식) 쉽게설명하는 데이터 정규화
포트폴리오 팁
- 포폴 탈락하는 이유 3가지
- 프로젝트가 너무 간단함
- 많은걸 하긴 했는데 표현이 잘 안됐을 경우
- 학원에서 만들라고 하는 대로만 만들었을 경우
- 꼭 들어가야 할 주제 3가지
- 핵심내용
- REST API 개발 내용
- DB 설계해본 경험
- 얼마나 효과적으로 설계했나 - ERD 다이어그램 추가
- 깃헙 링크
- 그냥 돌아가게만 만들었는지, 가독성과 효율성 신경써서 클린코드로 만들었는지
- 커밋 히스토리, 컨벤션
- README 정리!
- 오픈소스 기여 (필수는 아님)
- 프로그램 실행 링크
- 필수는 아니지만 큰 플러스요인
- 인사팀은 기술적 깊이가 없을 경우가 많으므로 실제 실행 링크를 전달하는것이 좋을 수 있다
- 기술적 하이라이트 설명
- 기술적으로 얼마나 깊게 고민하고 해결했나
- 겪었던 기술적 어려움들
- 게시글 리스트 불러오려했는데 너무 오래걸린다
- 코드가 너무 중구난방이어서 코드 클린업 과정을 다시 거쳤던 경험
- 개발하며 사용했던 좀 복잡한 기술들
- AWS에 서버 올려서 배포해본 과정
- 웹 소켓으로 채팅앱 만들어본 경험
- 얼마나 어려운 기술을 써봤나 자랑하는것이 아닌
문제를 해결하기 위해 얼마나 깊게 고민을 해 봤고, 무엇을 적용해서 어떻게 해결했는지를 어필
- A라는 기술을 썼다
- 왜 A를 썼나요? 또는 A의 장단점
- ~에서 ~기술을 써서 관심이 생겨 사용했습니다
- A가 ~한 상황에 효과적이라 사용했습니다
- A’에 대해 설명해보세요 (A를 사용하려면 알아야 하는 개념 A’)
- A와 B의 차이점 또는 각각 장단점을 설명해보세요 (A와 비슷한 기술 B)
- A를 쓰면서 발생했던(어려웠던) 문제와, 그 해결방법을 설명해보세요
- 카카오가 원하는 포폴
- 무엇을 했는지
- 어떻게 했는지
- 꾸준히 성장 가능할지
- 개인 DB의 꾸준한 업데이트
메모
- 그래서 MVC 패턴이 Spring에 어떻게 적용된건지 찾아보면 볼 수록 이해가 꼬인다...
- 그래서 Model이 뭐지? Service?
- 그래서 View가 뭐지? Templates 폴더?
- 그럼 ModelAndView는 뭐지???
- Service는 어디에 속해있는건가? Model인가 Controller인가?
- DAO, DTO는 어디에 속해있는건가? Repository는???
- 사상누각 짓지 말고 기초 용어정리부터 튼튼히 하자...