[입 개발] Scala의 거시기 : _(underscore) 의 용법 정리
Scala 를 사용하면 만나게 되는 여러 문법 중에, 처음 접하는 이들의 머리를 깨는 것이 있으니, 그게 바로 Scala에서 거시기로 통하는 _(underscore) 입니다. 이게 뭐지 하고 고민하는 중에 팀분이(멀린 사랑해요.) 아래 자료를 알려주셨습니다. 그리고 이 블로그는 아래의 문서를 풀이하는 것입니다. 사실 아래의 문서만 봐도 거의 모든 것이...
View Article[입 개발] Redis internal : Redis Dictionary Type 에 관해서
Redis 는 기본적으로 Hash 형태로 데이터를 관리하지만, 내부적으로 관리가 필요한 정보들 역시, 내부적으로는 Dictionary 라고 부르는 Hash 형태로 관리하고 있습니다. 그런데 이 Dictionary 에 대한 핸들링이, 관리되는 데이터의 종류에 따라서 다르게 처리되어야 할 때가 있습니다. 아마 오늘 글을 그냥 Redis를 쓰시는 분 입장에서는 별...
View Article[입개발] Redis Command 구조체에 대해서…
오늘 올라온 Redis 버그 중에 클러스터에서 geo command가 redirect를 먹지 않는다 라는 버그가 있었습니다. 그런데 antirez가 아주 쉽게 버그를 수정하면서 패치가 되었다고 답변을 답니다.(이 버그는 cluster 모드일때만 발생합니다.) 그리고 해당 글은 꼭 끝까지 보셔야 합니다!!!...
View Article[입 개발] Redis AOF Rewrite 설정에 관하여…
오래간만에 Redis 관련 블로깅을 하네요.(요새는 실력 부족이라… 적을 내용이…) 먼저 실제 내용 자체는 지인의 질문에 대한 답변을 해드리다가, 정리할 필요가 있어서 이렇게 적습니다.(그렇습니다. 나중에 제가 까먹을까봐지요. 그 때 소스 다시 보기는 그러니…) Redis에서 Persist 를 제공하는 방식은 RDB/AOF 두 가지가 있습니다. 뭐, 당연히...
View Article[입 개발] RabbitMQ를 제대로 설치하는 방법
개발을 하다보면, Queue를 써야 하는 경우가 종종 있습니다. 뭔가를 비동기 적으로 처리하기 위해서, 또는 다이렉트로 들어가는 부담을 줄이기 위해서… 그런데 그러다보면 항상 고민되는 것이 바로 HA 입니다. 뭐, Queue의 모든 데이터가 날아가도 된다. 이러면 사실 큰 문제가 아니겠지만… 일반적으로 Queue의 데이터를 그렇게 날려도 되는 경우는 많지...
View Article[입 개발] memcached 의 binary protocol 과 text protocol의 동작은 조금씩 다르다.
보통 가장 유명한 캐시 솔루션을 뽑으라면… Memcached 나 Redis 가 될 가능성이 높습니다.(당연히 다른 좋은 솔루션들도 많지만…) 가장 많이 쓰이는 건 이 두가지가 아닐듯 합니다. Redis의 경우는 text protocol 만 지원하지만, memcached의 경우는 text와 binary protocol 두 가지를 모두 지원합니다. 실제로...
View Article[입 개발] Kafka 에서 auto.offset.reset 의 사용법
최근에 서버로그를 컨슈밍해서 뭔가 작업할 일이 생겼습니다. 데이터를 매일 보면서 실제 얼마나 이벤트가 있었는지 볼려고 하니, 실제 로그의 수와 저장된 이벤트의 수가 엄청 다른 것입니다. 확인을 해보니, 로그가… 몇일 전꺼부터 계속 돌고 있었습니다. -_-;;; 즉, 몇일 치가 하루데이터라고 생각하고 계속 저장되고 있었으니, 생각하는 값보다 훨씬 많이 오버된...
View Article[책 리뷰] 초보자를 위한 안드로이드 스튜디오
[해당 리뷰는 한빛미디어에서 진행하는 한빛리더스모임에 의해서 제공받은 책으로 진행했습니다.] 먼저 이 책은, “따라하기” 식으로 구성되어 있습니다. 처음부터, 끝까지 따라가면 안드로이드 스튜디오에 대한 기본적인 지식을 익히면서, 간단한(정말 간단하지는 T.T) 앱들을 구현하고, 실제 구글스토어에 올려볼 수 있습니다. 따라하기 식이다 보니, 안드로이드...
View Article[입 개발] Redis Cluster 에서의 Pub/Sub은 어떻게 동작할까?
저도 잘 모르고 있다가, 오늘 질문을 받고 급하게 찾아보고 아는 척을 한게 있습니다. 저야 뭐, 레디스 클러스터를 잘 안쓰고 있어서… 예전에 살짝 살펴보고 관심이 많이 떨어져 있기도 한…(비겁한 변명입니다.) 오늘의 질문은 “Redis Cluster 에서 Pub/Sub이 동작하는가?” 였습니다. 아마 다들 아시고 있으실 것 같지만… 일단 답 부터 하면...
View Article[책 리뷰] 클라우드 시스템을 관리하는 기술
해당 리뷰는 “한빛미디어”에서 제공하는 도서를 이용하여 리뷰를 진행하였습니다. 딱 책을 받았을 때의 첫 느낌은… “어렵겠다” 였습니다. 일단 목차만 봐도 실제로 굉장히 많은 내용을 담고 있는 것으로 보이고, 저자가 구글에서 “Site resilience Engineer” 로 일했기 때문에, 구글 내부의 특별한 기술들을 가지고 있지 않을까 생각했습니다.(외국은...
View Article[책 리뷰] 비주얼 컴플렉시티
해당 리뷰는 “한빛미디어”에서 제공하는 도서를 이용하여 리뷰를 진행하였습니다. 사실 책을 받기 전에 제목과 샘플만 보고 느낀점은 “꼭 읽어봐야 할 것 같다” 뭔가 도움이 되겠구나 라는 느낌이었습니다. 그러나 책을 받고 실제로 읽어보면서.. 제 머리속에서 뭔가 큰 소리가 들렸습니다. “큰일났다… 엄청 어렵구나…” 이 책의 제목처럼 비주얼 컴플렉시티는...
View Article[책 리뷰] 누구나 쉽게 배우는 스칼라
해당 리뷰는 “한빛미디어”에서 제공하는 도서를 이용하여 리뷰를 진행하였습니다. 스칼라라는 언어는 저에게는 약간 항상 배우고는 싶지만… 뭔가 어려운 언어입니다. 실제로 몇번의 스칼라 스터디를 했었고… Programming in Scala 한국어판 이라든지… 브루스 테이트의 세븐 랭귀지 라든지…(원서였지만…) 이렇게 몇년에 걸쳐서 스칼라 스터디를 하지만…...
View Article[입 개발] memcached 소스 분석 #1
slab MAX_NUMBER_OF_SLAB_CLASSES = 63 + 1로 정의됨 static slabclass_t slabclass[MAX_NUMBER_OF_SLAB_CLASSES]; slabclass_t 구조체는 다음과 같다. slabclass 에서 list_size 는 slab_list 의 capacity 이다. 그리고 slabs는 현재 몇개의...
View Article[입 개발] memcached 소스분석 #2
item 해당 부분은 실제로 hashtable을 구축해서, item을 어떻게 저장하고 찾을 것인지에 대한 부분이다. #define POWER_LARGEST 256 /* actual cap is 255 */ #define LARGEST_ID POWER_LARGEST static item *heads[LARGEST_ID]; static item...
View Article[입개발] Cloud Native 와 Spring Cloud
Cloud Native 와 Spring Cloud 이 글은 Josh Long 의 Spring Cloud 강연을 들은 거의 후기와 평소에 제가 생각하는 것들을… 섞어서 제 마음대로 써볼려고 합니다. 일단 제가 이분야 꼬꼬마이니… 틀리시면 조용히 욕만… T.T 그리고 많은 지적질 감사하겠습니다. 참고: 관련 코드는...
View Article[입 개발] spring-cloud-config-server 이야기…
spring cloud 에서 가장 중요한 서버를 뽑으라면, 일단 Eureka 서버를 뽑을 수 있습니다.(아니면, concul 이나, etcd 등등등) 그런데 이 Eureka를 잘 쓰기 위해서 먼저 설정해야 할 서버가 있습니다.(사실 Eureka 는 구조를 설명할 능력이 안되므로…) twelve factors application 개발이라는 어려운 용어를 쓰는...
View Article[책 리뷰] 알고리즘 문제 풀이 전략
해당 리뷰는 “한빛미디어”에서 제공하는 도서를 이용하여 리뷰를 진행하였습니다. 이 책의 제목은 미사여구를 포함해서 “프로그래머의 취업, 이직을 결정하는 알고리즘 문제 풀이 전략” 입니다. 솔직히 말해서, 국내는 알고리즘 문제를 이용해서 기술 면접이 이루어지는 곳이 엄청 많지는 않습니다. 그리고, 약간 면접관에 의해서 케이스 바이 케이스인 경우도 많구요....
View Article[입 개발] Memcached 에서 incr/decr 은 음수에 대해서는 사용할 수 없습니다.
오늘 우리 팀의 조실장님이 Memcached 관련해서 에러가 난다고 보고를 해주셨습니다. 실제 분석까지 대충 다 끝낸… 조실장 화이팅!!! 그래서 과연 그런가 싶어서 memcached 소스를 먼저 열었습니다. 일단 증상은 다음과 같습니다. memcached 에 값을 음수로 설정하고 incr/decr 을 하면 에러가 발생한다. 일단 조건들은 다음과...
View Article[입 개발] Redis 접속이 안되요!!! – Protected Mode
최근에 자주 다음 질문을 받는 케이스가 늘어서 정리합니다.(사실 저도 당한…) 최신 버전 3.2.x 을 설치하고 클라이언트를 접속하고 보면… 접속이 안됩니다. 일단 client 로 접속을 하게 되면 다음과 같은 에러를 볼 수 있습니다. (항상이 아니라 흔히 볼 수 있습니다.) “-DENIED Redis is running in protected mode...
View Article[입 개발] 왜 Cache를 사용하는가?
가끔씩 Redis 가 뭐예요? Memcached 가 뭐예요? 또는 Cache를 왜 써요? 라는 저도 모르는 근원적인 질문을 받을 때가 있습니다. 일단 그 근원적인 질문에 답하기 위해서는 먼저 Cache 란 무엇인가로 부터 시작해야 될것 같습니다. 일단 Cache는 “많은 시간이나 연산이 필요한 일에 대한 결과를 저장해 두는 것” 이라고 할 수 있습니다....
View Article