개요리눅스에서 현재 작업 디렉토리의 절대 경로를 참조할 때, 두 가지 주요 방식인 ${PWD}와 $(pwd)를 사용할 수 있습니다. 두 방법은 결과적으로 같은 경로를 반환하지만, 동작 방식과 성능에 있어서 약간의 차이가 존재합니다. 이번 포스트에서는 이 두 방법의 차이점을 명확히 정리하고자 합니다. ${PWD}: 시스템 환경 변수 참조${PWD}는 환경 변수를 참조하는 방식입니다. PWD는 리눅스와 macOS 시스템에서 현재 작업 디렉토리의 절대 경로를 담고 있는 자동으로 설정되는 시스템 환경 변수입니다. 즉, PWD는 사용자가 설정하거나 변경할 필요 없이 시스템에서 현재 디렉토리 정보를 자동으로 관리합니다.사용 예시echo "현재 디렉토리: ${PWD}" ${PWD}는 현재 작업 디렉토리의 절대 경로를..
til
개요 [TIL, 일일 회고] 2025.01.09 - 익명 볼륨의 진짜 가치: 임시 저장소를 넘어선 특정 경로 보호 역할개요Docker에서 볼륨은 주로 데이터를 영구적으로 저장하기 위해 사용됩니다. 그런데 익명 볼륨은 컨테이너가 삭제될 때 함께 삭제된다는 특징이 있어서, "왜 사용하는걸까?" 하는 의문이 들 수pixx.tistory.com 저번 포스팅에서 익명 볼륨의 진짜 가치인 호스트에서 오는 파일로부터 보호하는 역할에 대해서 알아봤습니다. 이러한 보호가 가능한 이유는 Docker의 마운트 우선순위 때문입니다. 특히 Dockerfile의 VOLUME 지시어로 정의된 익명 볼륨은 바인드 마운트보다 우선순위가 높아 해당 경로가 덮어써지는 것을 방지할 수 있습니다. 본 글에서는 이러한 Docker의 마운트 우..
개요Docker에서 볼륨은 주로 데이터를 영구적으로 저장하기 위해 사용됩니다. 그런데 익명 볼륨은 컨테이너가 삭제될 때 함께 삭제된다는 특징이 있어서, "왜 사용하는걸까?" 하는 의문이 들 수 있습니다. 이번 글에서는 익명 볼륨의 주요 사용 이유에 대해 알아보겠습니다. 익명 볼륨의 주요 사용 이유1. 컨테이너 내부 데이터 보호VOLUME /var/lib/mysqlDockerfile의 VOLUME 지시어로 정의된 경로를 보호컨테이너 실행 중에 해당 디렉토리의 데이터가 보존됨2. 성능 최적화컨테이너 쓰기 레이어와 분리되어 I/O 성능 향상데이터베이스나 캐시처럼 읽기/쓰기가 많은 작업에 효과적컨테이너 레이어에 직접 쓰기 작업을 하는 것보다 볼륨을 사용하는 것이 성능상 이점3. 컨테이너 레이어 크기 관리런타임에..
개요Map에서 특정 키의 존재 여부를 확인하고 없을 때만 값을 추가하려면, 일반적으로 containsKey() 메서드로 키의 존재를 확인한 후 put() 메서드를 사용해야 합니다. 이런 방식은 코드가 길어지고 동시성 환경에서 문제가 발생할 수 있습니다. putIfAbsent 메서드를 사용하면 이러한 작업을 단 한 번의 호출로 안전하게 처리할 수 있습니다. putIfAbsent 메서드란❓putIfAbsent는 Java Map 인터페이스에서 제공하는 메서드로, 지정된 키가 존재하지 않을 때만 새로운 값을 추가하는 기능을 제공합니다. 이 메서드는 다음과 같은 특징을 가지고 있습니다.키가 존재하지 않을 때만 값을 추가원자적 연산으로 스레드 안전성 보장메서드 체이닝이 가능한 반환 값 제공기존 방식과 putIfAb..