본문 바로가기

분류 전체보기105

개체 비교 함수 이번 포스팅에서는 개체를 비교하는 몇 가지 방법에 대해서 알아보겠습니다. 보통 개체 비교를 위해 IComparable 인터페이스를 구현하여 CompareTo( ) 함수를 이용하지만 여기서는 object를 바이너리로 변환하여 비교하는 방법과 object의 ReferenceEquals( ) 함수를 이용한 방법에 대해서 살펴보겠습니다. 먼저 object를 바이너리로 변환하여 비교하는 방법입니다. 함수의 원형은 아래와 같습니다. bool CheckEquals(object source, object target); 매개변수로 두 개의 object를 받아서 내부에서 바이너리로 변환, 비교한 후 결과를 반환하는 함수입니다. 함수의 구현은 아래와 같습니다. bool CheckEquals(object source, ob.. 2020. 7. 7.
관리자 권한으로 프로그램 실행 이번 포스팅에서는 프로그램 실행 시 관리자 권한이 필요한 이유와 그 실행 방법에 대해서 알아보겠습니다. 프로그램 실행시실행 시 '관리자 권한으로 프로그램 실행'을 요구하는 이유는 해당 프로그램이 사용자 컴퓨터 레지스트리 접근이 필요할 경우입니다. 즉 해당 프로그램이 레지스트리 상의 관리자 권한이 필요한 부분에 읽거나 쓰기를 할 경우 반드시 관리자 권한이 필요하기 때문입니다. 이는 프로그램을 개발한 개발자가 해당 프로그램 실행 시 내부적으로 레지스트리 접근 권한이 필요할 경우에 적용됩니다. 레지스트리는 윈도우 시스템의 모든 설정 데이터를 모아 두는 중앙 저장소이기 때문에 잘못 편집하거나 삭제될 경우 치명적인 오류가 발생할 수 있으므로 주의가 필요합니다. 그럼 프로그램 실행시 관리자 권한으로 실행하는 방법에.. 2020. 7. 6.
트랜잭션(Transaction) 정리 이번 포스팅에서는 트랜잭션(Transaction)에 대해서 알아보겠습니다. 트랜잭션은 데이터베이스에서 일어나는 연산의 집합으로 하나의 논리적인 기능을 수행하기 위한 작업의 단위입니다. 데이터베이스의 상태를 하나의 일관된 상태에서 다른 일관된 상태로 변화시키며, 하나의 트랜잭션은 완료(Commit)되거나 실패 시 복귀(Rollback)되어야 합니다. 트랜잭션의 특성에는 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영속성(Durability) 등이 있습니다. 먼저 원자성은 트랜잭션의 가장 중요한 성질로 트랜잭션이 연산의 집단을 의미하지만, 논리적으로 하나라는 의미를 가집니다. 또한 분리해서 처리할 수 없고, 일부 완료라는 것은 존재하지 않으며 연산의 결과가 모두 .. 2020. 7. 3.
관계 데이터베이스의 키 제약사항과 무결성 이번 포스팅에서는 관계 데이터베이스의 키 제약사항에 대해서 알아보겠습니다. 키(Key)는 각각의 튜플을 유일하게 구분할 수 있는 개념으로 관계형 데이터 모델에서는 대단히 중요한 개념입니다. 키는 유일한 식별성과 최소성을 가지고 있어야 하며 하나의 릴레이션에는 최소한 하나의 키가 있어야 합니다. 키(Key)의 종류에는 후보키(Candidate Key), 기본키(Primary Key), 대체키(Alternate Key), 외래키(Foreign Key), 수퍼키(Super Key) 등이 있습니다. [학생] 릴레이션 학번 이름 연락처 주민번호 수험번호 1111 홍길동 02-0000-0000 000000-0000000 0000 1112 아무개 032-1111-1111 111111-1111111 9999 1113 .. 2020. 7. 2.