본문 바로가기

반응형

개발

(175) GITHUB 방명록
데이터베이스 시스템의 동시성 제어 (MVCC, Lock-Based) 개발/DB&SQL / 2024. 12. 18. 대표적인 동시성 제어 방식으로 MVCC(Multi-Version Concurrency Control) 와 Lock-Based Concurrency Control이 있습니다.MVCC(Multi-Version Concurrency Control)MVCC는 데이터의 여러 버전을 유지하여 트랜잭션이 동시에 데이터를 읽고 쓸 수 있도록 하는 방식입니다. 각 트랜잭션은 자신만의 일관된 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항에 영향을 받지 않습니다.데이터의 각 버전을 유지하여 읽기 작업이 쓰기 작업과 독립적으로 이루어질 수 있습니다. 트랜잭션은 시작 시점의 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항을 보지 못합니다.또한 읽기 작업 시 잠금을 사용하지 않아 높은 동시성을 제공합니..
[JAVA] 객체복사 방법: 얕은 복사 VS 깊은 복사 개발/Java / 2024. 11. 27. 자바에서 객체를 복사할 때 얕은 복사와 깊은 복사라는 두 가지 방식이 있습니다. 먼저 Book과 Author라는 두 클래스를 사용해서 예제를 살펴볼게요. Book은 책의 이름(name)과 저자(author) 정보를 가지고 있고, Author는 저자의 이름을 가지고 있습니다.class Book { private String name; // 책 이름 private Author author; // 저자 public Book(String name, Author author) { this.name = name; this.author = author; } public Book shallowCopy() { // 얕은 복사 return new Book(t..
[SQL] ORACLE UNION과 UNION ALL의 차이 개발/DB&SQL / 2024. 11. 20. SQL 에서 UNION/UNION ALL은 두 개 이상의 조회 결과를 하나로 합치는 연산자입니다. JOIN과의 차이점은 JOIN은 가로 방향으로 합친다면, UNION은 세로 방향으로 합칩니다.이제 UNION과 UNION ALL 두 연산자의 차이를 보겠습니다.SELECT 10 DATA FROM SYS.DUALUNION SELECT 10 DATA FROM SYS.DUALUNIONSELECT 20 DATA FROM SYS.DUAL-----SELECT 10 DATA FROM SYS.DUALUNION ALLSELECT 10 DATA FROM SYS.DUALUNION ALLSELECT 20 DATA FROM SYS.DUAL위 쿼리를 수행하면,UNION은 10과 20으로 2개 데이터만 출력됩니다. 반면, UNION ..
[Spring] @Value Annotation 사용 및 주의사항 개발/Spring&JPA / 2024. 11. 14. @Value Annotation 개요Spring Framework에서 제공하는 @Value 어노테이션은 외부 설정 파일(예: application.properties 또는 application.yml)에서 값을 주입하는 데 사용됩니다. 이 외에도 주로 환경 변수, 시스템 속성 등을 주입할 수 있습니다. 일반적으로 SpEL(Spring Expression Language) 표현식이나 스타일 속성 자리표시자를 사용합니다.사용예시import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class MyComponent { @Value("$..
[SQL] ORACLE CONNECT BY 사용법 (계층형 쿼리) 개발/DB&SQL / 2024. 11. 13. 오라클 SQL에서 CONNECT BY 절은 부서 조직도, 메뉴 트리 등 계층적 구조를 만들 때 주로 사용하는 방법이다. 그리고 CONNECT BY 절과 LEVEL을 사용하면 순차적인 데이터를 생성할 수가 있어서, 특정 값만큼 행을 늘리거나 시작일자와 종료일자 사이의 날짜를 채워서 행을 늘리는 등의 가상의 데이터를 만들 때 유용하게 사용할 수 있다. CONNECT BY 절의 사용법은 광범위하기 때문에, 아래는 실무에서 자주 사용하는 예시 몇 가지를 사용하여 설명하였다.계층형 쿼리 조회 하는 법SELECT empno , ename , mgr , job , LEVEL FROM empCONNECT BY PRIOR empno = mgr START WITH mgr IS NULL   ..
[언어] 컴파일러(Compiler)와 인터프리터(Interpreter)의 차이 개발/CS / 2024. 11. 12. 컴파일러(Compiler)와 인터프리터(Interpreter)의 등장 배경컴파일러와 인터프리터가 등장한 이유를 알기 위해서는 Assembly language(어셈블리어)에 대해서 알면 좋습니다. 어셈블리어의 사전적 의미는 아래와 같습니다.어셈블리어는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어(low-level)입니다. 컴퓨터 구조에 따라 사용하는 기계어가 달라지며, 이와 대응하는 어셈블리어도 각각 다르게 됩니다.어셈블리어는 컴퓨터의 하드웨어에서 수행할 작업을 지시하는 간단한 언어라고 생각하면 됩니다. 쉽게 예를 들면 두 개의 숫자를 더하거나, 컴퓨터 메모리의 한 위치에서 다른 위치로 값을 이동하는 명령을 수행합니다.

반응형