본문 바로가기

728x90

면접 준비

객체 상태의 영속화 객체의 상태를 영속화(Persistence) 한다는 것은, 객체의 데이터를 저장장치(예를 들면 하드 디스크)에 저장하여, 프로그램이 종료되어도 데이터를 유지할 수 있는 것을 의미합니다. 객체의 상태를 영속화하면, 다시 프로그램을 실행해도 이전에 저장했던 데이터를 불러올 수 있습니다. 이러한 기능은 대부분의 애플리케이션에서 필요로 하며, 데이터베이스나 파일시스템과 같은 저장장치를 사용하여 구현할 수 있습니다. 객체의 상태를 영속화하는 방법에는 다양한 방법이 있습니다. 예를 들어, 파일 시스템을 이용해 객체를 직렬화하여 파일에 저장하거나, 데이터베이스를 이용해 객체를 데이터베이스 테이블에 저장할 수 있습니다. 또는, 메모리 내의 객체를 직접 저장할 수 있는 캐시와 같은 메모리 기반 저장장치도 있습니다. 객체.. 더보기
Semantic Versioning Semantic Versioning(시맨틱 버전)은 소프트웨어 버전 관리를 위한 규칙 중 하나로, 버전 관리에 일관성과 가독성을 제공하기 위한 목적으로 만들어졌습니다. Semantic Versioning에서는 버전을 MAJOR.MINOR.PATCH와 같은 형식으로 표기하며, 이들을 명확히 구분하여 버전 변화가 어떤 의미를 가지는지를 명확하게 정의합니다. MAJOR: 기존 버전과 호환되지 않는 대규모 변경사항이 있을 때 증가합니다. 보통 API 변경, 새로운 기능 추가, 기존 기능 삭제 등이 이에 해당합니다. MINOR: 기존 버전과 호환되는 새로운 기능이 추가되거나 기존 기능이 개선되는 경우 증가합니다. API의 추가, 기능의 개선 등이 이에 해당합니다. PATCH: 기존 버전에서 발견된 버그를 수정하는.. 더보기
Database : ACID ACID는 데이터베이스 트랜잭션의 속성을 나타내는 용어입니다. ACID의 각 속성은 다음과 같은 의미를 가집니다. 원자성 (Atomicity) : 트랜잭션의 모든 연산은 전체가 수행되거나 전혀 수행되지 않아야 합니다. 즉, 트랜잭션은 All-or-nothing 원칙에 따라 처리됩니다. 일관성 (Consistency) : 트랜잭션 전후의 데이터베이스 상태가 항상 유효한 상태를 유지해야 합니다. 즉, 데이터베이스 상태는 항상 일관된 상태를 유지합니다. 고립성 (Isolation) : 여러 개의 트랜잭션이 동시에 실행되는 경우, 각각의 트랜잭션은 서로 영향을 주지 않고 독립적으로 실행되어야 합니다. 즉, 동시에 실행되는 트랜잭션 간의 간섭이 없어야 합니다. 지속성 (Durability) : 트랜잭션이 완료된 .. 더보기

728x90