본문 바로가기

분류 전체보기46

Docker Desktop for Windows 설치 / Windows 10에 도커 설치하기 Windows 10에 Docker Desktop For Windows를 설치하는 방법을 정리한다. 제약 사항 및 설치 준비 현재 Docker For Windows 허브를 참고하면, Windows 10 64bit Pro/Education/Enterprise(Build 16299 이상) 버전에 설치가 가능하다고 한다. 자신의 CPU가 가상화를 지원하는지 확인하기 위해서는 작업 표시줄에서 마우스 우클릭하여 '작업 관리자'를 실행하여 '성능' 탭에서 가상화를 사용 중인지 확인하자. 가상화가 사용중이 아닐 경우 컴퓨터를 재시작하여 BIOS 셋업에서 가상화 지원 여부를 확인 후 활성화하도록 하자. 만약 BIOS 레벨에서 가상화를 지원하지 않을 경우 도커 설치는 가능하지만 설치하고 난 이후에 다음과 같은 에러 메시지.. 2020. 6. 29.
알리익스프레스 IP 카메라 구입 및 리뷰 / 홈 CCTV / 베이비 모니터/ WIFI 카메라 사용하지 않는 구형 아이폰과 CCTV 어플을 사용하여 아이들의 낮잠과 저녁 취침을 모니터링하고 있었다. 그렇게 어플 CCTV(AtHome CCTV 어플)를 몇 달 사용해보니 몇 가지 기능이 아쉬웠다. 모션 인식과 알람은 유료이다 계속 CCTV 모니터링 어플만 처다볼 수 없는 노릇이고 움직임이 탐지될 경우 알람을 주면 좋겠다. CCTV를 사용할기 원할 때마다 어플을 켜 주어야 한다. 24시간 켜 놓거나, 아니만 원할 때마다(혹은 업데이트로 인한 재시작시) 직접 켜 주어야 하는데 손이 가는 게 싫다. 특히, CCTV 어플은 나이트 비전(적외선 카메라)의 기능이 없다 CCTV 어플은 나이트 비전이 되지 않아서 수면등을 켜 놓아야 아이들의 모습을 희미하게나마 볼 수 있다. 하지만, 수면등은 아이들의 수면을 방해.. 2020. 6. 25.
Java의 Atomic, Adder, Accumulator의 이해 / AtomicInteger, AtomicLong, LongAdder, LongAccumulator 동작 방식 자바에서 병렬 프로그래밍에서 데이터에 대한 동시 접근을 제어하기 위해서 Lock(Intrinsic Lock vs Explicit lock)을 사용할 수 있을 것이다. 하지만, 공유 데이터가 Primitive 타입일 경우 값을 읽거나 업데이트 하는 경우가 전부인데 이때에는 Lock 보다는 원자성(Atomic) 변수가 더 효율적인 것을 다들 알고 있을 것이다. 소 잡는 칼로 닭을 굳이 잡을 필요는 없을 테니 말이다. 이번 포스팅에서는 기존의 Atomic 계열의 클래스(AtomicInteger, AtomiLong,. …)와 Java 8부터는 추가된 원자성의 데이터 타입(클래스)인 LongAdder와 LongAccumulator에 대해서 알아보고 이들의 차이점에 대해서 이야기하고자 한다. Atomic 계열의 클.. 2020. 6. 24.
Java Monitor(Intrinsic Lock)와 Explicit Lock의 이해 – Biased/Lightweight/Heavyweight Lock vs ReentrantLock 자바에서 스레드 간의 동기화를 위해서 synchronized 키워드를 사용하는 것이 가장 기본적인 방법일 것이다. 이 synchronized 키워드를 사용하는 Lock을 Intrinsic Lock 혹은 Built-in Lock이라 하며, Java 1.5부터 java.util.concurrent.locks 패키지를 통해서 제공되는 Explicit Lock과 대비된다. 둘 다 공유 자원을 접근하는 Critical Section을 보호하기 위한 목적으로 사용하긴 하는데, 이 둘의 차이는 무엇일까? 이 포스팅에서는 가장 기본적인 두 가지 Lock, 자바의 Built-in(Intrinsic) Lock인 Monitor와 명시적 Lock인 ReentrantLock에 대해서 비교해 보고자 한다. Oracle Hotsp.. 2020. 6. 23.