일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 티스토리
- 리눅스
- dynamic query
- 오라클 디비
- 문법 정리
- JVM
- MongoDB
- oracle
- 자바
- SQL
- 백준 알고리즘
- 파이썬 소스
- spring
- 운영체제
- 오라클
- resilience4j
- hyperledger
- gradle
- smart cast
- 파이썬
- 프로젝트
- jsp
- 초대장
- auto configure
- 유사코드
- K6
- 알고리즘
- 자바 프로젝트
- 학점
- c#
- Today
- Total
목록기술 용어 (9)
모종닷컴
요즘 카프카에 푹 빠져서 살고 있습니다. 기존에는 카프카의 메타데이터 관리를 위해 Zookeeper를 사용하고 있었는데, 2.8.0 버전부터는 주키퍼에서 카프카 자체적으로 메타데이터를 관리하기 위해 Self-Managed Metadata Quorum이 추가되었습니다. 카프카 문서 KIP-500에는 주키퍼에서 새로운 Self-Managed Quorum 방식으로 전환하기 위해 Rolling Upgrade 라는 설명을 하고 있습니다. "Rolling Upgrade"라는 것은 소프트웨어의 새로운 버전을 서비스 중단 없이 순차적으로 업그레이드 할 수 있도록 지원하기 위한 방법을 말합니다. 저희도 개발하다보면 위와 같은 상황이 올 수 있습니다. 예를 들어 통신 중인 A,B 서버의 API 스펙이 변경될 때가 있는데,..
디버깅을 하면서 주석을 열심히 읽고 있는데 익숙한 단어가 보이네요. 익숙하긴 한데 솔직히 기억은 안납니다. Reentrancy Reentrancy는 재진입성이라는 뜻을 가지고 있습니다. 주로 프로그래밍에서 자주 언급이 되는데, 가끔 시스템 디자인 쪽에서도 언급이 되는걸 본적이 있던것 같습니다. 찾아보면 뭐 여러가지 다양한 해석들이 많은데 결국 핵심은 병렬 실행이 가능한 환경에서 안전하게 실행 가능한 함수를 뜻하는 거라고 생각됩니다. 병렬 실행에서 안전하게 실행 가능하기 위해서 몇 가지 조건이 필요할텐데 위키백과에서는 그 특징 몇 개를 이렇게 나열하고 있습니다. 전역 변수를 사용하지 않는다 전역 변수의 주소를 반환하지 않는다 호출자가 제공한 매개변수만으로도 동작해야 한다 싱글턴 객체의 잠금에 의존하지 않는..
shebang (셔뱅) 셔뱅이란 # 기호와 ! 기호가 붙은 형태의 문자열을 의미합니다. 스크립트의 가장 첫 줄에 선언되며, sha-bang(샤뱅), hashbang(해시뱅), pound-bang(파운드뱅), hash-pling(해시 플링), crunchbang(크런치뱅)등으로 불리기도 한다고 합니다.셔뱅은 유닉스 기반 시스템에서 스크립트 파일의 첫 번째 줄에 사용을 하는데 셔뱅 이후의 경로에 스크립트를 실행할 인터프리터 지시자의 경로를 적어줍니다. 예로 "#!/bin/sh"에서 셔뱅(#!)을 제외한 /bin/sh이 인터프리터 지시자가 됩니다. 예시(쉘 스크립트) 파일 하나를 먼저 만들겠습니다. touch sh-script vi로 파일 내용을 수정해 주도록 하겠습니다. 파일 내용은 아래와 같이 입력해 주면..
스왑 메모리가 무엇인지 알아보려고 했는데 마침 정리가 아주 잘되어 있는 블로그 글이 있어 읽으면서 번역도 같이 해봤습니다. 제 번역 실력을 제가 믿지 못하므로 가능하다면 직접 글을 읽어 보는 걸 추천드립니다. 참고 글 https://www.atatus.com/blog/what-is-swap-space/#swap-space https://www.baeldung.com/cs/virtual-memory-vs-swap-space 개요 머신이 로드된 애플리케이션을 실행하고 저장하는 시스템을 위해 모든 프로세서는 데이터 용량이 필요합니다. 이러한 프로세스가 처음에 할당받은 RAM 메모리가 거의 소신되려 할 때 리눅스 swap 기능이 이를 도와줄 수 있습니다. 리눅스 시스템에서 RAM 대신 스왑 공간을 사용하는건 시..
고가용성 (High Availability) 가용성이란 시스템이 정상적으로 사용 가능한 정도를 말합니다. 그렇다면 고가용성이란 시스템이 지속적으로 정상 운영이 가능한 성질을 말합니다. "가용성이 높다"는 뜻으로서 "정상적으로 사용 가능한 시간이 높다" -> "정상적으로 사용 가능한 시간을 늘린다"이라고 이해하면 될 것 같습니다. 이중화 or 다중화 시스템의 일부에 어떠한 장애가 발생했을 경우에 대비하여, 장애 발생시 시스템 전체의 기능을 정상적으로 계속 유지하기 위해 서버를 여러 개 두는 것입니다. 즉 고가용성을 위한 솔루션 중 하나입니다. 시스템이 이중화 혹은 다중화되기 위해서는 클라이언트와 서버 사이에 로드 밸런싱이 필요합니다. 로드밸런서가 여러 대의 서버를 보고있고, 트래픽을 적절하게 분산시킵니다...
유한 상태 기계 컴퓨터 프로그램을 설계할 때 쓰이는 모델이라고 설명되어 있습니다. 간단하게 '상태 기계'라고 부르기도 한다고 하네요. 저는 주로 상태 기계라는 용어로 많이 들었던 것 같아요. 이름으로 짐작할 수 있는데 유한 상태 기계는 유한한 개수의 상태를 가질 수 있음을 말합니다. 또한 몇 가지 조건이 붙는데 이 유한 상태 기계는 오로지 하나의 상태만 가질 수 있으며 특정 Event에 의해서만 다른 상태로 변화할 수 있다고 합니다. 그리고 이렇게 Event에 의해 상태가 변화하는 것을 전이(Transition)이라고 합니다. 일상생활에서 유한 상태 기계를 찾아보자. 가장 대표적으로 언급되는 일중 하나는 스위치입니다. 스위치는 ON, OFF 두 개의 상태만 가질 수 있습니다. 그러면 생각해볼게요. 각각의..
데이터 레이크 데이터 레이크란 조직에서 수집한 정형화, 반정형화, 비 정형화된 데이터를 저장하는 장소입니다. 다양한 원천으로부터 가져온 다양한 데이터를 원시 데이터로서 저장하고 있습니다. 원시 데이터로서 저장한다는 말은 즉 특정한 목적을 위해 변형되지 않은 상태의 데이터를 저장한다는 것입니다. 데이터 레이크를 검색하니 데이터 웨어하우스와 비교를 하는 글이 많이 보이는데 이 둘의 차이점을 알아보도록 하겠습니다. 데이터 레이크 vs 데이터 웨어하우스 데이터 레이크와 데이터 웨어하우스는 유사하지만 동일하지 않으며 목적 또한 다릅니다. 빅데이터를 위한 데이터 스토리지 저장소라는 것만이 유일한 유사점이라고 볼 수 있습니다. 적재 과정 데이터 레이크는 데이터를 빠르게 수집하여 사람들이 더 빠르게 데이터에 액세스 해..
온프레미스? 온프레미스란 소프트웨어 등 솔루션을 클라우드와 같은 원격 환경이 아니라 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 말합니다. 즉 데이터센터나 서버룸과 같은 특정 공간에 인프라를 구축하여 소프트웨어를 사용하는 방식입니다. 클라우드와 비교해보자면 인프라를 구축하기 위한 시간이 오래 걸리고, 운영 및 관리를 위한 유지보수 비용이 많이 들며, 초기 도입 비용도 비싸다는 특징이 있습니다. 대개 보안 적인 이유로 비즈니스적으로 중요하고 보안이 필요한 서비스와 데이터는 온프레미스 환경에서, 덜 중요한 것은 클라우드 환경을 사용하는 하이브리드 IT 인프라를 구축하고 있습니다. 온프레미스 vs 클라우드 온프레미스와 클라우드 차이점 몇 가지를 좀 더 알아보겠습니다. 온프레미스 클라우드 설치 ..
에플리케이션 테이블 중 거의 로그성으로 전문의 일부 내용을 저장하는 테이블이 있었습니다. 이 데이터는 RDB에 저장이 되고 있었는데 막상 만들고 유지하려고 하다보니 업데이트할 필요도 물론 없었고 검색도 사실상 거의 한적이 없는 테이블이었습니다. 그렇다면 이게 굳이? RDB에 있어야하나 라는 생각을 했습니다. RDB는 이름에서 짐작할 수 있듯이 관계를 가지고 유지하기 위한 데이터베이스라서 전문 데이터를 삽입한다고 했을 때 이러저러한 조건들을 따지기 시작합니다. RDB의 MBTI는 J에 가깝다고 볼 수 있죠 이러저러한 조건을 피곤하게 따지는 이녀석은 조금 느립니다. 아래는 nosql과 삽입 성능을 비고하는 표입니다. 더이상 RDB에 있을 필요가 없는 녀석이기에 NoSQL로 옮기자는 결정을 내렸죠. (물론 삽..