Q. RDBMS의 index가 무엇인가요? 그렇다면 유니크키 FK는 index인가요?
RDBMS에서 인덱스(Index)는 데이터베이스 테이블의 데이터를 빠르게 조회할 수 있도록 돕는 데이터 구조입니다. 인덱스는 검색 속도를 향상시키기 위해 사용되며, 내부적으로는 대부분 B-트리 또는 해시 테이블 구조를 사용합니다. 인덱스를 사용하면 특정 조건에 맞는 데이터를 빠르게 찾을 수 있지만, 인덱스를 유지하기 위한 추가적인 공간이 필요하고 데이터를 삽입, 삭제, 수정할 때마다 인덱스도 업데이트해야 하므로 성능 저하를 일으킬 수도 있습니다.
유니크키(Unique Key)와 외래키(Foreign Key, FK)는 인덱스의 일종으로 볼 수 있습니다. 유니크키는 테이블 내의 각 로우가 유일함을 보장하는 역할을 하며, 인덱스로 구현되어 빠른 검색을 돕습니다. 외래키도 관계를 맺고 있는 다른 테이블의 키를 참조하기 때문에, 참조 무결성을 유지하는 데 중요한 역할을 합니다.
Q. 댓글 기능을 구현하기 위해 포스트 Entity와 댓글 Entity를 어떻게 설계하셨는지 자세히 설명해주세요.
ERD를 설계할 때, 하나의 포스트 Entity에 여러 댓글 Entity가 필요함으로 1 : N 관계로 설정하였습니다. 포스트 Entity에 댓글 Entity 리스트를 두어 @OneToMany 어노테이션을 적용하고 orphanRemoval를 true로 설정해 댓글에 대한 고아 객체를 관리했습니다. 댓글 Entity에는 @ManyToOne 어노테이션을 적용하여 서로에 대한 연관관계를 정의했습니다.
Q. Spring에서 Multipart 타입을 어떻게 처리하는지 아는 만큼 설명해주세요.
Spring에서 Multipart 타입은 주로 파일 업로드 시 사용됩니다. Spring MVC에서는 MultipartFile 인터페이스를 사용하여 멀티파트 파일을 처리할 수 있습니다. 컨트롤러 계층에서 @RequestParam 어노테이션을 사용하여 MultipartFile 객체를 매개변수로 받을 수 있습니다.
Q. 멀티미디어를 저장하는 다른 저장소는 뭐가 있었는지 알아보셨나요?
- 로컬 파일 시스템: 가장 기본적인 방법으로, 서버의 파일 시스템에 직접 파일을 저장합니다.
- 클라우드 스토리지 서비스: AWS의 S3, Google Cloud Storage, Microsoft Azure Storage와 같은 클라우드 기반 스토리지 서비스를 사용할 수 있습니다.
- 데이터베이스 BLOB 저장: BLOB(Binary Large Objects)을 사용하여 이미지나 동영상 같은 멀티미디어 파일을 데이터베이스에 직접 저장할 수도 있습니다.
'CS' 카테고리의 다른 글
[항해 취업코스] 개발자 취준 기록 8일차 (0) | 2024.03.14 |
---|---|
[항해 취업코스] 개발자 취준 기록 7일차 (1) | 2024.03.14 |
[항해 취업코스] 개발자 취준 기록 5일차 (0) | 2024.03.12 |
[항해 취업코스] 개발자 취준 기록 4일차 (1) | 2024.03.08 |
[항해 취업코스] 개발자 취준 기록 3일차 (0) | 2024.03.08 |