CS 3

[CS] UUID v4 vs v7

개요보편적으로 고유한 식별자(Universally Unique Identifiers, UUIDs)는 컴퓨터 시스템 전반에 걸쳐 정보를 고유하게 식별하는 데 필수적인 128비트 숫자입니다. 분산 시스템과 데이터베이스에서 정보의 무결성을 보장하는 데 중요한 역할을 하며, 현대 컴퓨팅 환경에서 그 중요성은 날로 증가하고 있습니다. 다양한 UUID 버전 중에서 버전 4는 오랫동안 널리 사용되어 왔지만, 최근에는 시간 기반 정렬 기능을 갖춘 버전 7이 등장하여 주목받고 있습니다. 애플리케이션의 특정 요구 사항에 따라 적절한 UUID 버전을 선택하는 것은 매우 중요하며, 이를 위해서는 각 버전의 특징과 장단점에 대한 깊이 있는 이해가 필요합니다.https://www.cockroachlabs.com/blog/what..

CS 2025.04.17

[CS] 동시성과 병렬성의 개념

이 글에서는 멀티스레드 프로그래밍의 핵심 개념인 동시성(Concurrency) 과 병렬성(Parallelism) 을 구체적으로 설명하고, Java Spring 프레임워크에서 이를 어떻게 확인하고 활용할 수 있는지 예제 코드와 함께 살펴본다.📌 1. 동시성(Concurrency)이란?동시성은 여러 작업이 논리적으로 동시에 실행되는 것처럼 보이도록 처리하는 방식을 의미한다.▶︎ 동시성의 핵심 개념단일 CPU에서도 구현 가능여러 작업을 번갈아 실행하면서, 사용자는 작업이 동시에 이루어지고 있다고 느낀다.컨텍스트 스위칭(Context Switching)을 활용하여 작업 간 전환이 빠르게 이루어진다.▶︎ 동시성 예시웹서버가 여러 클라이언트 요청을 동시에 처리하는 경우Java에서 여러 스레드(Thread)를 만들..

CS 2025.04.15

[CS] Thread의 Race Condition 해결

다음은 멀티스레드 환경에서의 공유 변수 접근 시 발생할 수 있는 경쟁 상태(Race Condition)와 이를 해결하기 위한 방법을 Java의 관점에서 분석한 글이다. 이 글에서는 공유 변수의 단순 할당과 증감(++) 연산의 차이를 설명하고, 예제 코드를 통해 각 변수 유형 및 동기화 방식에 따른 결과를 정리하였다.멀티스레드 환경에서의 공유 변수 접근과 Race Condition 분석멀티스레드 환경에서는 하나의 변수를 여러 스레드가 동시에 접근하는 경우, 예상과 다른 결과가 나타나는 경우가 있다. 이는 주로 경쟁 상태(Race Condition) 때문이다. 특히 공유 변수에 단순 값 할당과 증감 연산(++)은 결과에 큰 차이를 보인다. 이에 대한 원인과 해결책을 구체적으로 살펴본다.1. 경쟁 상태(Rac..

CS 2025.04.15