전체 글(70)
-
아인슈타임, 투표 데이터 모델 최적화
들어가며 아인슈타임시간은 상대적이다! 쉽고 공평하며 빠르게 약속을 확정해 드립니다!estime.today 아인슈타임, 투표 현황 실시간 업데이트아인슈타임시간은 상대적이다! 쉽고 공평하며 빠르게 약속을 확정해 드립니다!estime.today 알고 가면 좋을 용어 정리더보기방은 일정 조율을 위해 만든 하나의 공간을 뜻합니다. 슬롯은 30분 단위mak-ing.tistory.com이전 글에서 투표 현황 실시간 업데이트를 구현한 뒤, 캐싱 도입 전에 투표 데이터 모델 최적화를 먼저 진행했다고 언급했다. 이 글은 그 과정을 정리한 내용이다. 아인슈타임에서는 전체 API 호출의 70% 이상이 투표 관련이다. 한 사용자가 일정 조율 방 하나에서 수백 개의 시간대에 투표할 수 있기 때문에, 투표 도메인은 다른 어떤 도..
2025.12.09 -
아인슈타임, 투표 현황 실시간 업데이트
아인슈타임시간은 상대적이다! 쉽고 공평하며 빠르게 약속을 확정해 드립니다!estime.today 알고 가면 좋을 용어 정리더보기방은 일정 조율을 위해 만든 하나의 공간을 뜻합니다. 슬롯은 30분 단위로 쪼개진 시간표의 한 칸(1x1)을 의미합니다. 투표는 시간표에서 내가 가능한 슬롯을 하나 이상 선택하는 행위를 말합니다. 시간표는 한 방에 속한 모든 사람의 투표를 모아 격자 형태로 보여 주는 화면을 뜻합니다. 본문에서는 투표 현황, 투표 통계, 모든 투표와 거의 같은 의미로 사용합니다. 많이 선택된 시간일수록 색이 더 진하게 보이도록 표현하여, 어느 시간이 선호도가 높은지 한눈에 볼 수 있게 하는 히트맵 방식을 사용합니다. 위 용어들은 엄밀하게는 조금씩 다르지만, 이 글에서는 이해를 돕기 위해 위와 같..
2025.11.29 -
우아콘 2025, 다녀왔습니다~
최근 비공개 글만 쌓아두던 블로그에 짧게나마 우아콘 후기를 올리려고 한다~내가 보고 기록하기 위한 글을, 남에게 보여주기 위한 글로 구성하는 게 참 힘들더라. 우테코 프로젝트 후반부 요구사항을 실무 심화 레벨로 끌어올린 버전을 보는 느낌이었다. 글로벌 환경에서,수억 명의 고객을 대상으로,20000 TPS를 처리하면서,P95, P99를 안정적으로 유지해야 하는 문제. 10ms 내외로 해내셨다고... 분명 발표에서 보이는 것보다 훨씬 더 복잡한 문제였을 텐데, 발표를 듣는 내내 이해가 너무 잘 됐다. 구체적이고 정량적인 수치로 개선 결과를 보여주는 방식,이런 작업을 위해 3개월간 기술부채를 정리했다는 솔직한 과정 공유,복잡한 아키텍처를 명확하게 전달하는 구성력 지루할 틈이 없었다. 아마 발표자료를 여러..
2025.10.29 -
레벨 1 회고
[로또 미션] 회고 : 수동적인 객체수동적인 객체는 항상 잘못된 것인가? 로또 시스템을 설계하는 과정에서 로또 객체는 스스로 당첨 여부를 판단해야 하는가? 라는 고민을 하게 되었다. 처음에는 현실 세계의 로또 티켓을 떠올mak-ing.tistory.com [출석 미션] 회고 : TDD를 미워합니다TDD는 직관적이고 이상적인 사이클을 따른다.RED: 실패하는 테스트를 먼저 작성한다.GREEN: 테스트를 통과할 최소한의 프로덕션 코드를 작성한다.REFACTOR: 코드를 리팩토링하여 개선한다. 먼저 확실mak-ing.tistory.com [블랙잭 미션] 회고 : Ace, Hit, SRPACE 블랙잭에서 ACE 카드는 특별한 존재다. 상황에 따라 1점 혹은 11점으로 점수가 달라질 수 있기 때문이다. ACE ..
2025.04.08 -
[장기 미션] 회고 : 객체
미션 시작 당일 아침에 체스가 아닌 장기로 변경됐다! 객체 객체지향이란 무엇일까? 단순히는 객체를 중심으로 문제를 해결하는 방식이라고 말할 수 있다. 그렇다면 여기서 말하는 '객체'란 무엇을 의미할까? 흔히 객체는 상태와 행동을 가진 존재라고 설명되지만, 나는 조금 더 넓은 시각에서 접근하고자 한다.객체란 책임을 다하는 존재라고 생각한다. 문제를 해결하기 위해 객체들은 서로 협력하며, 이 협력 속에서 각 객체는 자신에게 주어진 역할을 수행한다. 이 역할을 수행하려면 객체는 반드시 책임을 다해야 한다. 이런 관점에서 객체는 단지 상태(데이터)와 행동(메서드)을 묶어둔 것 이상의 의미를 가진다.한 걸음 더 나아가 '상태가 없는 객체'라는 개념을 생각해 볼 수 있다. 상태가 없다는 것은 내부적으로 데이터..
2025.04.05 -
[블랙잭 미션] 회고 : Ace, Hit, SRP
ACE 블랙잭에서 ACE 카드는 특별한 존재다. 상황에 따라 1점 혹은 11점으로 점수가 달라질 수 있기 때문이다. ACE 카드의 점수 결정 책임을 어느 객체가 관리해야할까?ACE의 점수 결정 책임은 게임이 관리카드는 자신이 ACE인지 아닌지만을 알고, ACE가 1점이나 11점 중 어느 값을 가질지는 Hand(Cards), Participants, Game과 같은 상위 객체가 관리 게임의 현재 상황이나 점수에 따라 ACE의 값이 결정되어야 하기 때문이다. 장점카드의 책임이 명확하고 단순해진다.ACE의 점수 결정 로직이 게임 흐름과 밀접하게 위치하므로, 게임 전체 흐름 파악이 용이할 수 있다.단점ACE 카드의 특별한 속성이 ACE 카드 클래스 코드에 명확히 드러나지 않는다.게임 로직 내부에서 ACE 점수..
2025.03.17