Archive
Categories
Tags
About
Subscribe
mingrammer's note
I love computer science, system design and automation
Go 프라이빗 모듈 가져오기
이번 글에서는 프라이빗 저장소에 저장된 Go 패키지를 가져오는 방법에 대해 알아보려고 한다. 먼저 프라이빗 모듈을 가져오기 전에 간단하게 go get의 동작 방식부터 짚...
컨테이너 내부 Go 애플리케이션 디버깅하기
회사에서 Go를 메인으로 서비스를 개발하다보니 당연하게도 Go 애플리케이션을 디버깅 해야하는 상황이 생기게 마련이다. 서버 애플리케이션을 개발하게 되면 디버깅...
푸시 데몬 메모리 누수 디버깅하기
지난 6월초 즈음 어느 날 갑자기 팀 슬랙으로 저녁 푸시가 안날아갔다는 메시지를 받았다. 메시지를 받고 곧바로 어드민 서버에 들어가 푸시 데몬의 상태를 확인해보니 중간...
Cron에서 초단위로 스케줄링하기
최근에 2초에 한 번씩 특정 태스크를 수행하는 스크립트를 돌려야하는 일이 생겨서 cron으로 2초 단위 스케줄을 등록하려는데 cron은 최소 스케줄링 단위가 분이...
DynamoDB 배치 작업 재시도 구현 (Exponential Backoff)
약 두 달 전에 게임 서버 인프라를 이전하면서 일부 유저 데이터를 RDB와 캐시 디비에서 AWS DynamoDB로 변환 및 이전하는 작업을 진행했었다. TMI: 이전에 작성한 I...
IDC에서 AWS로 Redis 데이터 이전하기
작년 3분기 즈음에 내가 맡고 있는 두 개의 게임중 한 게임의 서버 인프라를 IDC에서 AWS로 이전해야하는 일이 생겼다. 기존 인프라 구성은 LB (Load Balancer) 뒤에 게임 서버 (웹...
[Go로 구현하는 블록체인] Part 7: 네트워크
Building Blockchain in Go 시리즈를 번역한 글입니다. 서론 지금까지 우리는 익명의 안전하고 무작위로 생성된 주소, 블록체인 데이터 저장소, 작업 증명 시스템, 신뢰할 수 있는 트랜잭...
[Go로 구현하는 블록체인] Part 6: 트랜잭션 2
Building Blockchain in Go 시리즈를 번역한 글입니다. 서론 시리즈 초반부에 필자는 블록체인은 분산된 데이터베이스라고 말한 적이 있다. 우리는 지금까지 “분산&rd...
[Go로 구현하는 블록체인] Part 5: 주소
Building Blockchain in Go 시리즈를 번역한 글입니다. 서론 이전 파트에서는 트랜잭션을 구현했었다. 또한 비트코인에는 사용자 계정이 없고 개인 정보 (이름, 여권 번호 및 SSN등)...
[Go로 구현하는 블록체인] Part 4: 트랜잭션 1
Building Blockchain in Go 시리즈를 번역한 글입니다. 서론 트랜잭션은 비트코인의 핵심이며 블록체인의 유일한 목적은 트랜잭션을 안전하고 신뢰할 수 있는 방식으로 저장하는 것이기 때...
Older Posts
→