everydayminder
소수 영어로 읽는 방법 1.2, 0.3, 5.5, 3.14와 같은 소수는 영어로 어떻게 읽을까? 본 포스트에서는 소수를 읽는 방법에 대해 정리한다. 소수 읽기 규칙 소수는 X.YZ의 형태로 표기할 수 있는데, 기본적으로 다음과 같은 룰을 적용하면 된다. 정수부 X는 일반 자연수를 읽는 방법과 동일하게 읽는다. 두 자리 수, 세 자리 수가 되라도 평소 자연수를 영어로 읽듯이 있는다. X가 0인 경우는, X를 읽기 생략할 수 있다. .는 point라고 읽는다. 소수점 뒷자리에 오는 0은 읽기 생략할 수 없다. (임의로 생략하면 자릿수가 훼손될 수 있으므로) 소수점 뒷자리에 오는 0은 zero 또는 oh로 읽는다. 소숫점 뒷자리에 오는 숫자들은 한 글자씩 읽는다. Examples 1.2 = one point ..
캐시(Cache) 적용 패턴 및 관리 전략 Cache-Aside: Cache 분리 (별도 관리) 캐시는 데이터베이스와 직접 연결되지 않고, 애플리케이션이 주체가 된다. 애플리케이션이 요청을 받으면, 데이터가 캐시에 있는지 먼저 검사를 하며, 그 결과(캐시에 데이터가 로딩되어 있는지 여부)에 따라 다음 액션이 결정된다. 캐시에 데이터가 없다면, 애플리케이션이 캐시에 데이터를 업데이트 한다. 캐시에 대한 의존성이 낮으므로, 캐시가 다운되더라도 원천 데이터베이스로 서비스를 계속할 수 있다. 읽기 요청이 많은 경우에 적합하다. Read-Through: Cache를 통해서 읽기 애플리케이션이 직접 바라보는 것은 데이터베이스가 아니라 캐시가 된다. through 라는 단어가 나타내듯이 캐시가 메인이다. 따라서, 캐..
개요 Redis는 Remote Dictionary Server를 뜻한다. Redis는 대표적인 In-Memory data store 솔루션 중 하나로 꼽히는데, 특히 Memcached와 종종 비교되곤 한다. 그러나, Redis는 Memcached와는 달리 다양한 데이터 타입을 지원하여 보다 다양한 분야의 요구사항을 충족시키고 있다. Redis는 분산 Key-Value Store, 캐시서버, 메시지 브로커 등으로도 활용되기도 한다. Redis 지원 Data Type들 Redis에서 주로 쓰이는 데이터 형은 String, List, Set, ZSet(Sorted Set), Hash가 있다. String 문자열, 정수, 소수를 저장한다. 문자열 전체 혹은 부분을 다룬다. 정수와 소수를 증감한다. List St..
의미 상상해 보기 nut는 어떤 나무 열매다. 다람쥐가 좋아하는 나무 열매라 치자. 그리고 그것의 껍데기는 shell이다. nutshell은 결국, nut가 들어가는 껍데기이다. in a nutshell은 '나무열매가 들어가는 껍데기 속에 있는' 즉 '나무열매 껍데기에 들어갈 정도 크기의'라는 의미가 되겠다. 따라서, 굉장히 작은 크기라는 뜻이 된다. 내가 가지고 있는 무언가를 저기에 담아야 한다면, 쓸데 없는 것들은 다 버리고 핵심의 핵심만 추려야 저 작은 껍데기에 담을 수 있을 것이다. in a nutshell 뜻 원래 사전상의 뜻으로는 아주 간단히 말하면, 요점만 말하면, 한 마디로의 뜻이다. IT쪽 책들을 보면, Java in a nutshell, Algorithm in a nutshell 등과 ..
용어비교 OLTP와 OLAP는 종종 세트로 인용되곤 한다. 본 포스트에서는 이 두 단어의 각각의 개념과 차이점을 정리한다. 두 단어는 각각 아래와 같은 의미를 지닌다. OLTP: Online Transaction Processing OLAP: Online Analytical Processing OLTP: Online Transaction Processing 운영계 데이터 및 데이터를 처리하는 방법을 뜻한다. 보통 OTLP는 원천 데이터를 뜻하기에, 예전에는 주로 RDBMS 기반의 시스템을 근간으로 했으나, 요새는 굳이 RDBMS여야 한다는 강제성을 넘어, 데이터를 어떻게 처리하느냐의 관점에 보다 주안점을 두기 때문에 NoSQL을 바탕으로 하더라도 데이터의 성격이 운영계의 성격을 지닌다면 OLTP로 분류할..
비밀 유지 계약서 친구 사이에서 '이건 너만 알아둬' 혹은 'off the record인데' 라고 말하는 경우, 거의 100%에 가깝게 '너만 알아두거나' 'off the record'로 유지되는 경우가 거의 없습니다. 사실 위와 같은 경우라면, 어느 정도 누출이 될 것도 감안하고 말을 하는 것일 수 있지 않을까 생각합니다. 말을 하고 싶은 본능이 말을 하면 안된다는 이성을 넘어서는 것이죠. 그런데, 개인의 일이 아니라 회사일 혹은 계약 등과 관련된 사안이라면 어떨까요? 너만 알아두고, 이건 어디가서 말하면 안된다고 말로 해도 충분할 리가 없겠죠. 그래서, 일종의 계약서를 씁니다. NDA(Non-Disclosure Agreement) 단어부터 볼까요? close = 닫다/덮다 dis(반대) + close..
Avro란? Avro는 데이터 직렬화와 관련된 시스템이다. 한국 개발자들은 /에이브로/라고 발음하곤 하지만, 외국 개발자 커뮤니티에서는 주로 /아브로/라고 발음하고 있다. Avro는 JSON 형태로 기록한다. 따라서, Avro는 스키마를 표현하는 JSON이라 생각할 수 있다. Avro의 장단점 장점 데이터의 타입을 알 수 있다. 데이터가 압축되어 효율성이 높다. 스키마에 설명을 포함하여 구조를 이해하는데 도움을 줄 수 있다. 데이터를 여러 언어로 액세스할 수 있다. 향후 스키마 변경에 유연하게 대응할 수 있다. (schema evolution) Hadoop 계열과 궁합이 좋다. Confluent Schema Registry에 쓸 수 있다. (유일) 단점 바이너리 형태로 직렬화(serialize) 되므로 ..
ups and downs 뜻 항상 좋은 일만 있을 수도 없고, 항상 나쁜 일만 있을 수도 없을 것이다. (사람에 따라 반박의 여지는 있지만) 아마 주식 그래프를 상상해 보면 도움이 된다. 올라갈 때가 있는가 하면, 내려갈 때도 있다. 보통은 올라가면 기분이 좋고, 내려가면 기분이 나쁘다. 올라갈 때 x 여러 번 = ups 내려갈 때 x 여러 번= downs 따라서, ups and downs는 서로 대조되는 것/상황/느낌을 담기 위한 표현이다. (상대적으로)올라가고, 내려가는 것을 반복하게 되는 것 좋고 나쁨 (인생에서) 서로 다른 단계의 전환 좋은 시기와 나쁜 시기 장단점 등을 표현할 때, ups and downs라고 표현할 수 있다. Examples She seems to learn how to dea..
Redis 설치 방법 세 가지 본 글에서는, Redis를 설치하는 여러 방법을 다룬다. 운영환경용이라기 보다 로컬 개발환경에 설치하는 목적이다. Redis 공식 사이트 https://redis.io/download Redis *Download Stable releases liberally follow the usual major.minor.patch semantic versioning schema. *Other versions Old (6.0) Redis 6.0 introduces SSL, the new RESP3 protocol, ACLs, client side caching, diskless replicas, I/O threads, faster RDB loading, ne redis.io Redis ..
암밴드의 대안 달리기할 때 사용하려고 암밴드를 알아보고 있었습니다. 그런데, 많은 사람들이 암밴드 대신 추천해주는 상품은 따로 있었습니다. 암밴드가 불편하다. 핸드폰을 조작하기 어렵다. 넣고 빼기 어렵다는 이유가 대부분이었습니다. 그리고, 대안으로 추천받은 상품은 허리에 차는 벨트였습니다. 인터넷에서 검색을 해보면 플립밸트와 스파이벨트 두 개가 가장 많이 추천되는 것 같습니다. 플립벨트를 추천하는 사람들이 너무 많아서, 플립벨트를 검색해 보았는데 정품은 너무 비싸더군요. 그와 유사하면서도 사람들 평이 좋은 상품으로 구매해 봤습니다. 그런데, 물론, 잘 쓰는 분들도 많을 것 같긴합니다만, 저는 지퍼와 같은 안전장치가 없어서 불안해서 못 쓰겠더라고요. 스파이벨트(SPIBELT) 추천 그래서, 차선책으로 스파..
엄지척? 최고라는 뜻일까? 혹은 규칙 중 으뜸이 되는 것을 말할까? 기원/ 의미 예전에 영국에는 남편이 아내를 때려도 좋다는 법이 있었다고 한다. 다만, 엄지손가락의 두께보다는 얇은 막대기를 사용해야 한다는 규칙이 있었다는 설이있다. 사실 사람마다 엄지손가락의 크기가 같을 수가 없다. 정확히 자로 재지 않아도 될 정도, 눈짐작으로 정하거나 지레짐작하는 경우에 쓰는 표현 되겠다. 즉, (정확히 측정하지는 않았지만) 경험에 근거하여 어떤 것 혹은 어떤 상황을 판단하는 것을 뜻한다. Examples A good rule of thumb is to reboot your phone when you recognize it's getting slower. It's just a rule of thumb.
교살자 무화과나무 패턴 - Strangler Fig Application Pattern 이름이 참 신기한 패턴이다. 무릇 패턴은, 사람들에게 구구절절하게 설명하지 않고, 그 이름만으로도 어떤 개념인지 알기 쉽도록 해줄 수 있어야 한다. 그런데, Strangler Fig Application Pattern 혹은 Strangler Pattern은 무엇이며, 그것을 그대로 번역해 놓은 교살자 무화과나무 패턴은 또 무슨 의도인가? 이름부터 다시 살펴보자 영어권 사람들은 strangler라고 하면 이미 쉽게 알아들었을 수도 있다. 교살자라는 한자도 마찬가지다. 일단 영어 이름과 번역본 이름을 매치해 본다. strangler = 교살자 fig = 무화과나무 보통 fig라는 글자는 figure의 줄임말로 '그림'을 ..
PostgreSQL로 트랜잭션 격리 수준 동작 테스트를 하고, 결과를 정리해 놓는다. 트랜잭션 범위 PostgreSQL에서 트랜잭션은 BEGIN으로 시작하고, COMMIT 또는 ROLLBACK으로 끝난다. BEGIN; ... (트랜잭션) ... COMMIT; (또는 ROLLBACK;) 트랜잭션 격리 수준 확인/ 변경 PostgreSQL에서 트랜잭션 격리수준 확인 및 변경은 아래 포스트를 참고한다. PostgreSQL 트랜잭션 격리수준 확인/변경 본 포스트에서는 PostgreSQL 트랜잭션 격리수준을 확인하는 방법과 변경하는 방법에 대해 정리한다. 트랜잭션 격리수준 확인하기 SELECT current_setting('transaction_isolation'); 또는, show transaction isol..
workaround 뜻 예상 밖의 상황이 생겼을 때, 뭔가 문제가 생겼는데 해결책을 찾을 때 이 표현을 쓰는 것을 들을 수 있다. workaround = work(일하는 것) + around(돌아가기) 원래 가야하는 길은 아니지만, 잠시 돌아가더라도 어떻게든 돌아가게 하는 것. 즉, 임시적인 해결책 혹은 Plan B에 가까운 표현이 되겠다. Examples Do we have a quick workaround to fix this problem now? I'll work around your schedule.
MySQL에서 자동으로 증가하는 ID를 PK로 사용하기 위해 auto_increment를 사용한다. 그러면, PostgreSQL에서는 이와 동일한 기능을 어떻게 사용할까? MySQL에서의 auto_increment를 PostgreSQL에서는 어떻게 쓸까? 몇 가지 방식으로 해당 요구사항을 만족시킬 수 있다. MySQL에서 어떤 id를 자동 증가하게 하고, 그 값을 PK로 지정하기 위해 다음과 같은 방식으로 표현한다. CREATE TABLE IF NOT EXISTS `students` ( id int(6) AUTO_INCREMENT, ... PRIMARY KEY (id) ); 이와 동일하게 하려면, PostgreSQL에서는 다음과 같은 방법이 사용가능하다. Sequence 사용 오라클에서 Sequence와..