기술 면접 질문
Q.
RDBMS의 정규화에 대해 설명해 주세요.
A.
RDBMS의 정규화는 중복 데이터를 최소화하여 데이터의 무결성을 유지하는 과정입니다. 이는 데이터를 여러 테이블로 분할하여 각 테이블 간의 종속성을 최소화하여 중복을 방지하고, 삽입, 갱신, 삭제 시 이상 현상을 최소화하여 데이터 일관성을 유지합니다.
Q.
Primary Key, Foreign Key에 대해 설명해 주세요.
A.
Primary Key (PK)는 데이터베이스 테이블에서 각 행을 고유하게 식별하는 데 사용되는 열입니다. 이는 NULL 값이 허용되지 않으며, 각 행에서 고유하고 중복되지 않는 값을 가져야 합니다. 주로 테이블에서 기본 키로 사용되며, 1:1, 1:N, N:M 등의 관계에서 사용될 수 있습니다.
Foreign Key (FK)는 한 테이블의 필드(열)가 다른 테이블의 Primary Key를 가리키는 데 사용되는 제약 조건입니다. 이는 참조되는 테이블의 Primary Key와 일치하는 값을 가지거나 NULL이 될 수 있습니다. Foreign Key 제약은 데이터 무결성을 유지하고 참조 무결성을 보장하는 데 사용됩니다. ForeignKey는 관계를 표현하며, 주로 1:N 관계에서 자주 사용됩니다.
프로젝트진행
도커
- 코드를 더 빨리 전달하고, 애플리케이션 운영을 표준화하고, 코드를 원활하게 이동하고, 리소스 사용률을 높여 비용을 절감가능
도커사용이유참고
https://aws.amazon.com/ko/docker/
Docker란 무엇입니까? | AWS
Q: Docker로 어떤 작업을 할 수 있습니까? Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다. 이는 Doc
aws.amazon.com
도커설치 참고
https://forbes.tistory.com/542
윈도우10 Home Hyper-V 설치 및 활성화 (Docker Desktop 설치)
HowTo - Windows 10 Home Hyper-V 활성화 방법 Hyper-V는 x64 시스템을 위한 하이퍼바이저 기반의 가상화 시스템으로 Linux, FreeBSD 등 다양한 운영체제를 Windows에서 가상 머신을 이용해 실행할 수 있습니다. 그
forbes.tistory.com
설치 과정 중
Docker Desktop requires the Workstation service to be enabled.
에러가 발생했다.
워크스테이션 활성화가 되지 않았다는 것이다.
워크스테이션 활성화방법
윈도 검색창에서 서비스를 검색 후 실행
Workstation을 찾아 더블클릭
시작유형의 사용 안 함을 자동으로 변경해 준다.
회고
금일 회의 결과
- 채팅 기능 제외
- thymeleaf(인증/인가 수정 필요) 또는 css + html + js로 다 같이 FE 구현
- 이번주 내로 api 기능 완성 (목요일까지 완성을 목표로)
채팅기능은 현재 스코프와 포폴에 담기에 애매하다는 판단으로 제외하기로 했다.
프런트에 관해서 얘기를 해보았는데 지금 우리 팀의 코드작성법과 관련하여 코드수정이 제일 적은 방향으로 가는 게 좋을듯하다.
thymeleaf 방식과 순수 css + html + js로 하는 방식이 있다고 하는데 나는 둘 중 어느 것이든 좋다고 생각한다.
우리의 목적은 백엔드로서 개발역량을 키우는 것이기에 프런트는 재미로 맛만 보면 좋을듯하다. 욕심엔 모든 부분을 다하고 싶지만 데드라인이 존재하니.. 개인프로젝트로 따로 해봐야겠다.
내일 오전회의 때 팀원들과 상의하여 어떤 진행방식으로 갈지 결정될 것 같다.
오늘 진행상황
comment 생성 API만 구현했다... 완료 후 코드 작성방법을 다르게 하자하여 수정이 필요해졌다.
우리 팀은 Service 구현을 impl을 사용하여했었는데 굳이 필요 없다는 의견이 있어 없애기로 했다.
해당 부분이 사라지면서 수정해야 하는 코드가 생겼다..ㅎ
위의 내용을 다시 정리해서 말하면
이슈사항
- Service에 인터페이스가 필요한가.
해결방안
- 인터페이스로 사용하여 버전을 관리하는 목적으로 사용했었는데 깃으로 히스토리 관리가 가능하여 인터페이스로 버전관리는 비효율적으로 생각되었다.
- 사용하지 않는 버전이 있는 경우 메모리 낭비가 되기 때문이다.
- 시스템 간의 연계가 있다면 사용하겠지만 그렇지 않고 내부적으로만 사용한다면 클래스로만 사용하여도 충분하다.
테스트 코드 작성이 조금 어렵게 느껴진다.
내일 테스트코드에 대해 리뷰를 해주신 다니 잘 보고 배워야겠다.
'내배캠_Spring _3기 > 프로젝트' 카테고리의 다른 글
[프로젝트] "사뿐" 최종 프로젝트 - 5 (0) | 2024.01.11 |
---|---|
[프로젝트] "사뿐" 최종 프로젝트 - 4 (0) | 2024.01.09 |
[프로젝트] "사뿐" 최종 프로젝트 - 2 (0) | 2024.01.05 |
[프로젝트] "사뿐" 최종 프로젝트 - 1 (1) | 2024.01.04 |
[프로젝트] Trello 협업 툴 만들기 - 4 (1) | 2024.01.03 |