NestJS에서 응답/요청 객체 직렬화 (Serialization) 하기
[Java] 직렬화와 역직렬화
직렬화(Serialization)와 역직렬화(Deserialization)
직렬화와 역직렬화는 데이터 구조나 객체 상태를 저장하거나 전송할 수 있는 형식으로 변환하는 과정을 말함.
두 과정은 데이터를 쉽게 저장하고 전송할 수 있고, 다른 환경이나 언어에서도 해당 데이터를 이해하고 재구성할 수 있음.
적절한 방법에 대한 고려
직렬화와 역직렬화는 데이터 구조를 특정 형식에 맞추어서 변환하는 과정이다.
데이터 호환성
- 다양한 시스템 ,언어, 플랫폼 간의 데이터 교환을 고려할 때는 보편적으로 지원되는 포맷을 사용하는게 좋음
성능
- 직렬화 . 역직렬화 과정은 성능은 중요한 고려사항임, 대용량 데이터를 처리할 떄는 성능이 중요한 요소가 될 수 있으며, 일부 방식은 다른 방식보다 훨씬 빠르거나 효율적일수 있음
- 바이너리 직렬화는 텍스트 기반 직렬화(JSON, XML)보다 일반적으로 빠름
보안
- 직렬화 데이터는 보안 취약점을 야기할 수 있음, 특히 자바의 Serializable 인터페이스 같은 일부 바식은 역질렬화 과정에서 보안 취약점을 노출 할 수 있음.
- 안전하지 않은 데이터를 역직렬화 할 때는 코드 실행과 보안 위협이 발생할 . 수있음
- 보안에 강한 직렬화 방식을 선택해야함
용이성과 개발 생산성
- 개발자가 쉽게 사용할 수 있는 도구나 라이브러리를 선택해서 생산성을 올리자.