좋아요 기능과 팔로우 기능을 구현하기 위해 설계하신 DB Schema에 대해 자세히 설명해주세요.
좋아요 기능을 구현하기 위해 게시판에 대한 좋아요 테이블과 댓글 테이블에 대한 좋아요 테이블을 나누어 정의하였습니다. 그리고 각각에 대해 1 : N 연관관계로 설정하고 좋아요 테이블에 외래키를 두어 정의하였습니다. 팔로우 기능을 구현하기 위해 사용자 테이블에 대해 팔로우 테이블을 1 : N 연관관계로 설정하고 사용자 테이블에 대한 두 개의 외래키를 두어 정의하였습니다. 이러한 방식으로 정의를 하면 팔로우 테이블이 여러 사용자들 간의 관계를 연결시켜주는 브릿지 테이블 역할을 수행할 수 있습니다.
API DOCS(e.g. Swagger)가 무엇인지 그리고 왜(?) 필요한지에 대해 설명해주세요.
API DOCS는 API 기능, 사용방법, 엔드포인트, 요청및 응답 형식 등 API와 관련된 모든 정보를 문서화하는 것을 말합니다.
Spring에서의 직렬화와 역직렬화에 대해 설명해주세요.
직렬화(Serialization)란?
직렬화는 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부에서 사용할 수 있도록 byte 형태로 데이터를 변환하는 과정입니다.
- ObjectOutputStream.writeObject(myObject)
- byteArrayOutputStream.toByteArray() : 직렬화된 바이트스트림을 획득하는 메소드
역직렬화(Deserialization)란?
역직렬화는 직렬화의 반대 과정으로, byte 형태의 데이터를 원래의 객체 또는 데이터 형태로 복원하는 과정을 말합니다.
- ObjectInputStream
- objectInputStream.readObject() : 직렬화된 정보를 이용해서 객체로 역직렬화함.
- New ObjectInputStream(byteArrayInputStream)
Spring 프레임워크에서 직렬화와 역직렬화는 클라이언트와 서버 간 데이터 교환을 원활하게 하고, 애플리케이션의 효율성과 안정성을 높입니다.
'CS' 카테고리의 다른 글
[항해 취업 코스] 개발자 취준 기록 11일차 (0) | 2024.03.21 |
---|---|
[항해 취업코스] 개발자 취준 기록 10일차 (0) | 2024.03.21 |
모의 면접 회고 (0) | 2024.03.14 |
[항해 취업코스] 개발자 취준 기록 8일차 (0) | 2024.03.14 |
[항해 취업코스] 개발자 취준 기록 7일차 (1) | 2024.03.14 |