🧐 그라파나 (Grafana) 이전 글에서 간단히 언급했지만 다시 한 번 하도록 하겠습니다. 프로메테우스가 DB라고 한다면, 이 DB에 있는 데이터를 불러서 사용자가 보기 편하게 보여주는 대시보드가 필요합니다. 그라파나는 데이터를 그래프로 보여주는 툴입니다. 수 많은 그래프를 제공하고, 프로메테우스를 포함한 다양한 데이터소스를 지원합니다. 🧐 그라파나 설치 그라파나 설치 사이트(https://grafana.com/grafana/download)로 이동합니다. 여기서는 맥 OS 기준으로 설치를 진행하겠습니다. 위의 명령어를 복사합니다. 이후 그라파나를 설치할 (임의의)폴더로 이동한 뒤, 위의 명령어를 그대로 입력합니다. (설치하는데 시간이 좀 걸릴 수 있습니다) 그라파나를 설치할 폴더의 bin 폴더로 이동..
🧐 Volatile 자바에서 지원하는 volatile이라는 키워드는 다음과 같은 특성을 가집니다. volatile로 선언된 변수가 있는 코드는 최적화되지 않습니다. volatile 키워드는 변수를 'Main Memory에 저장하겠다'라고 명시하는 것입니다. 변수의 값을 Read할 때마다 CPU cache에 저장된 값이 아닌, Main Memory에서 읽는 것입니다. 🧐 사용하는 이유 volatile키워드의 사용 이유를 알기 위해서는 메모리 구조를 알아둘 필요가 있습니다. 🧐 메모리 구조 보통의 메모리 구조는 다음과 같습니다. CPU 내에는 성능 향상을 위해서 L1 Cache가 내장되어 있습니다. CPU 코어는 메모리에서 읽어온 값을 캐시에 저장하고, 캐시에서 값을 읽어서 작업합니다. 값을 읽어올 때 우선..
🧐 Associative Cache Associatvie Cache는 유연한 블록 배치(placement)를 통해 캐시 실패율(Miss rate)을 줄이는 방법입니다. 이전 글 까지에서는 메모리 블록을 캐시에 넣을 때 각 블록이 캐시의 딱 한 장소에만 들어갈 수 있도록 하는 단순한 배치 방법인 directed mapped를 사용하였습니다. directed mapped는 블록을 배치하는 다양한 방식들 중, 극단적으로 블록을 한 곳에만 넣을 수 있도록 하는 방법입니다. 반대쪽 극단에는 블록이 캐시의 어느 곳에나 들어갈 수 있도록 하는 방식이 있습니다. 👉 fully associative 블록이 캐시의 어느 곳에나 들어갈 수 있도록 하는 캐시 구조를 의미합니다. 메모리 블록을 캐시 내의 어떤 엔트리와도 연관(..
로마자 Α / α (알파) Β / β (베타) Γ / γ (감마) Δ / δ (델타) Ε / ε (엡실론) Ζ / ζ (제타) Η / η (에타) Θ / θ (쎄타) Ι / ι (요타) Κ / κ (카파) Λ / λ (람다) Μ / μ (뮤) Ν / ν (뉴) Ξ / ξ (크시) Ο / ο (오미크론) Π / π (파이, 피) Ρ / ρ (로우) Σ / σ (시그마) Τ / τ (타우) Υ / υ (윕실론) Φ / φ (휘) Χ / χ (키 또는 카이) Ψ / ψ (프시) Ω / ω (오메가) 수학기호 ± (플러스마이너스) × (곱하기) ÷ (나누기) √ (루트) 적분기호 : ∫, ∬, ∮ 미분기호 : ∂(편미분) ∴ (따라서, 그러므로) ∵ (왜냐하면) ≠ (같지앉다) ≒ (약, 근사값) ≤ (왼쪽이 ..
총 74장 분량이고, 전체 코드 한줄한줄 다 상세하게 적어뒀습니다. (화이팅하세요 :))