[입 개발] memcached slab 구조
slab MAX_NUMBER_OF_SLAB_CLASSES = 63 + 1로 정의됨 #!c static slabclass_t slabclass[MAX_NUMBER_OF_SLAB_CLASSES]; slabclass_t 구조체는 다음과 같다. slabclass 에서 list_size 는 slab_list 의 capacity 이다. 그리고 slabs는 현재 몇개의...
View Article[입 개발] 분산 락에 대해서…
서비스를 개발하다 보면, 결국 Lock 이 필요한 시점이 있습니다. 하나의 Process 레벨에서 사용하 수 있는 Lock 부터, 프로레스 들끼리의 경합을 보장하기 위한 Lock 등 사용할 수 있는 것들이 많습니다. 그런데 서비스 레벨에서 고민하게 되면, 서버가 한 대가 아니라 두 대일 때 부터, 단순한 Lock을 사용할 수 가 없습니다. 다르게 말하면,...
View Article[입 개발] Redis 메모리 해제에 관해서…주로 Expire…
최근에 또 지인에게서 Redis Expire 관련 이야기가 나와서 다시 한번 살짝 정리해 보기로 합니다. Redis 에서는 Expire라는 기능이 있어서 해당 Key의 수명을 지정해줄 수 있습니다. 그래서 수명이 지난 Key는 자동으로 사라지게 됩니다. 이를 이용하면, 실제로 필요없는 Key를 계속 관리할 필요가 없어집니다. 그런데 실제로는 이 메모리...
View Article[입 개발] aws s3 bucket owner control policy 중에 BucketOwnerFullControl 에 대해서
예전에 Udemy 다닐 때 크게 한 번 당했던 내용인데, 오늘 다시 한번 겪어서 정리합니다. 알고나면 큰 이슈도 아니고…. 결론부터 말하자면, S3 Bucket 을 생성할때는 그냥 BucketOwnerFullControl 설정하는게 좋은데, 이제는 비슷하게 2023년 4월부터 모든 새 S3 버킷에 대한 ACL이 비활성화 되므로...
View Article[입 개발] AWS InstanceProfileCredentialsProvider 사용시 주의 할 점.
최근에 AWS에서 동작하는 서버에서 다음과 같은 오류가 발생하기 시작했습니다. com.amazonaws.services.s3.model.AmazonS3Exception: The provided token has expired. (Service: Amazon S3; Status Code: 400; Error Code: ExpiredToken; Request...
View Article[입 개발] java.time.LocalDateTime 에서 해당 날짜의 최소값과, 최대값 구하기
그냥 아주 간단한 내용입니다. 해당 날짜의 시작시간과 끝 시간을 만들고 싶을때가 있는데. LocalDate 를 쓰면 asStartOfDay 라는 메서드를 통해서 쉽게 시작 시간을 구할 수 있습니다. import java.time.LocalDate; import java.time.LocalDateTime; public class Main { public...
View Article[입 개발] Kotlin으로 Google Sheet 열어보기
Java/Kotlin 으로 Google Sheet 에 접속하는 예제는 사실 구글에 아주 잘 나와있다. https://developers.google.com/sheets/api/quickstart/java?hl=ko 를 보면 샘플이 있는데, 이걸 돌려보면 되는 사람도 있고 잘 되지 않는 경우도 있을 텐데… 그 이유에 대해서 살짝 적어볼려고 한다. 구글 인증...
View ArticleAWS 에서 Amazon Linux Nginx TCP Stream Proxy 설정
아마존 리눅스에서 nginx 설치 sudo amazon-linux-extras install nginx1 tcp stream 모듈은 Default 설치가 아니라서 추가 설치 필요 sudo yum install nginx-mod-stream stream 설정 stream { # target upstream upstream_pass { server...
View ArticleRedis 8 에서의 AGPLv3 추가의 의미(오픈소스로의 리턴?)
지금부터의 의견은 100% 내 개인적인 의견이다. 2024년 Redis 생태계에서 아주 충격적인 일이 일어났다. Redis 7.2.4 부터 Redis 의 오픈소스 라이센스가 기존의 BSDv3 에서 Redis Source Available License v2 (RSALv2) 와 Server Side Public License v1 (SSPLv1) 로 바꿔버린...
View ArticleRedis 와 Valkey 무엇을 선택해야 할까?
2024년에 Redis 7.2.4 부터 라이센스 이슈로 Valkey 가 fork 되면서 많은 사람들이 Redis와 Valkey 중에 무엇을 사용해야 하는가? 그럼 어떤 차이가 있는지에 대한 질문이 꽤 많습니다. 그래서 거기에 대한 간단한 의견(답정너) 를 소개하려고 합니다. 일반적으로 클라우드 기반에서 사용하던 분들 특히 AWS의 ElastiCache 를...
View Article