728x90 면접5 Semantic Versioning Semantic Versioning(시맨틱 버전)은 소프트웨어 버전 관리를 위한 규칙 중 하나로, 버전 관리에 일관성과 가독성을 제공하기 위한 목적으로 만들어졌습니다. Semantic Versioning에서는 버전을 MAJOR.MINOR.PATCH와 같은 형식으로 표기하며, 이들을 명확히 구분하여 버전 변화가 어떤 의미를 가지는지를 명확하게 정의합니다. MAJOR: 기존 버전과 호환되지 않는 대규모 변경사항이 있을 때 증가합니다. 보통 API 변경, 새로운 기능 추가, 기존 기능 삭제 등이 이에 해당합니다. MINOR: 기존 버전과 호환되는 새로운 기능이 추가되거나 기존 기능이 개선되는 경우 증가합니다. API의 추가, 기능의 개선 등이 이에 해당합니다. PATCH: 기존 버전에서 발견된 버그를 수정하는.. 2023. 2. 22. 객체 직렬화 (Object Serializable) 자바에서 객체 직렬화(Object Serialization)는 객체를 이진 데이터로 변환하는 과정을 의미합니다. 이진 데이터로 변환된 객체는 파일에 저장하거나 네트워크를 통해 전송할 수 있습니다. 이러한 객체 직렬화는 자바의 내장 기능으로 제공되며, Serializable 인터페이스를 구현하면 사용할 수 있습니다. 객체 직렬화는 다음과 같은 특징을 가집니다. 객체 직렬화는 객체를 이진 데이터로 변환합니다. 따라서, 파일이나 네트워크와 같은 매체에 저장하거나 전송할 수 있습니다. 객체 직렬화는 객체의 상태를 그대로 저장하므로, 객체를 다시 복원할 때 원래 상태를 그대로 가져올 수 있습니다. 객체 직렬화는 객체의 필드 중 transient로 선언된 필드나 static 필드는 직렬화하지 않습니다. 객체 직렬화.. 2023. 2. 22. NoSQL과 RDBMS 비교 NoSQL과 RDBMS는 데이터베이스의 유형을 나타내는 용어로, 각각의 특징이 다릅니다. 다음은 NoSQL과RDBMS의 주요 차이점을 비교한 표입니다. NoSQL RDBMS 데이터모델 스키마 없음 (Schema-less) 스키마 있음 (Schema-based) 데이터저장 도큐먼트 (Document), 키-밸류 (Key-Value), 와이드 컬럼 (Wide Column), 그래프 (Graph) 등 테이블 (Table), 로우 (Row), 컬럼 (Column) 확장성 수평적 확장이 쉬움 수직적 확장이 쉬움 데이터일관성 일관성 보장이 어려움 일관성 보장이 가능함 쿼리 언어 제품마다 지원하는 언어가 다름 SQL 트랜잭션 ACID (원자성, 일관성, 고립성, 지속성)을 보장하지 않는 경우가 있음 ACID를 보장하.. 2023. 2. 22. Docker와 VM(Virtual Machine) Docker와 VM은 모두 가상화 기술이지만, 그 방식과 목적이 다릅니다. VM (Virtual Machine)은 하나의 물리적 서버에서 여러 개의 가상 서버를 구축하여, 각각의 가상 서버에서 OS와 애플리케이션을 실행하는 가상화 기술입니다. VM은 하이퍼바이저를 이용하여 하나의 물리적 서버를 여러 개의 가상 서버로 분할하는 방식으로 동작합니다. 각각의 가상 서버는 독립적인 운영 체제를 가지고 있으며, 하나의 물리적 서버에서 여러 개의 운영 체제가 동시에 실행됩니다. 반면에, Docker는 OS 수준의 가상화 기술입니다. Docker는 하나의 물리적 서버에서 여러 개의 컨테이너를 구축하여, 각각의 컨테이너에서 애플리케이션을 실행하는 방식으로 동작합니다. 컨테이너는 호스트 OS와 커널을 공유하므로, VM보.. 2023. 2. 22. HTTP와 HTTPS HTTP와 HTTPS는 인터넷을 통해 정보를 전송하기 위한 프로토콜입니다. 두 프로토콜은 유사하지만, 보안과 관련된 차이점이 있습니다. HTTP HTTP (HyperText Transfer Protocol)는 인터넷에서 데이터를 주고 받기 위한 표준 프로토콜입니다. HTTP는 TCP/IP 위에서 동작하며, 웹 브라우저와 웹 서버 간에 데이터를 주고 받을 때 사용됩니다. HTTP는 기본적으로 평문으로 통신하기 때문에, 제3자가 HTTP 통신을 가로채면 데이터가 노출될 수 있습니다. 이러한 보안상의 이슈로 HTTPS가 개발되었습니다. HTTPS HTTPS (HyperText Transfer Protocol Secure)는 HTTP와 달리, 데이터를 암호화하는 SSL(Secure Socket Layer) 프로.. 2023. 2. 22. 이전 1 다음 728x90