베를린에서 2026년의 7월, 8월, 그리고 9월을 보냈다.독일의 여름은 마치 한국의 5월과도 같아서 내가 가장 좋아하는 계절이다. 이제는 낯설고도 익숙한 나라의 가장 좋아하는 날씨 아래에서 시간을 허투루 보내지 않고 즐기려 했다. 전반적으로 행복한 일상을 보냈다. 업무 외에 취미도 하나 둘씩 늘었다. 한동안 안 하던 클라이밍도 친구의 등쌀에 다시 시도했는데, 생각보다 더 잘 되어서 재밌어졌다. 그 밖에도 수영, 복싱과 같은 새로운 취미, 원래 하던 헬스였지만 더 체계적으로 하게 되면서 재미를 붙였다. 이렇다할 취미가 없어서 고민이었던 나에게는 좋은 변화이다. 하지만 업무에 대해서는 조금 달랐다. 하루의 대부분의 시간을 차지하는 업무 시간에서 만족감을 느끼지 못해서, 공허하다는 생각을 했다. 최근에..
Q3를 마무리하며, 이 기간동안 작업했던 일 중 배운 게 많았던 프로젝트에 대해 기술적으로 회고해보고자 한다.👩💻 가볍게 시작했던 부하 테스트새로운 기능을 출시하기 전 부하 테스트를 통해, 높은 트래픽에서 기능이 잘 수행될 수 있는 지 검증하는 과정이 필요했다. 처음 부하 테스트를 시작했을 때는 API의 성공률과 응답 시간을 확인하면 된다고 생각했다. 하지만 부하 테스트를 통해 기존 비동기 스레드 기반 이벤트 발행의 문제점, 그리고 부하 환경에서 급증하는 SNS 이벤트 발행 실패율을 해결하기 위해 예상보다 더 오래 고민했던 시간이었다.🔎 비동기 스레드 때문에 메인 스레드가 실패한다고?SNS에 이벤트를 발행하기 위한 클라이언트로 처음에는 SnsClient를 사용하고 있었다. 이 이벤트가 메인 API..
Q3 중반에 하는 Q2 회고! 입사한 지 일년 차가 지나고 이제 일년 반을 앞두고 있다.작년 3월에 독일로 이민 와 일을 시작하게 되면서 새로운 나라에서의 삶에 대한 적응과 더불어, 규칙적인 시간에 맞춰 일을 하는 근로자로서의 삶에 적응하는 일년을 보냈다. 처음에는 그저 이 환경에 무사히 적응하는 것만으로도 충분히 난이도가 높은 하루하루였다. 영어로 일하는 것도, 낯선 도메인을 이해하는 것도, 처음 보는 사람들과 협업하는 것도 하나하나가 새로운 일이었다. 더군다나 주 5일, 같은 시간에 일을 시작하고 일을 끝내는 것을 반복하는 것 자체에서 오는 매너리즘을 극복하는 것도 쉬운 일은 아니었다. 그렇게 오늘 하루만 열심히 하자! 라고 다짐한 날들이 쌓이고 쌓여 일 년이 흘렀다. Q2의 새로운 변화와 새로운 ..
https://leetcode.com/problems/maximal-square/description/?envType=problem-list-v2&envId=array Maximal Square - LeetCodeCan you solve this real interview question? Maximal Square - Given an m x n binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area. Example 1: [https://assets.leetcode.com/uploads/2020/11/26/max1grid.jpg]leetcode.com Description:..
https://leetcode.com/problems/gas-station/?envType=problem-list-v2&envId=dglcn6pr Gas Station - LeetCodeCan you solve this real interview question? Gas Station - There are n gas stations along a circular route, where the amount of gas at the ith station is gas[i]. You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from the ith stleetcode.com Description:There are n g..
https://leetcode.com/problems/word-break/description/?envType=problem-list-v2&envId=array Word Break - LeetCodeCan you solve this real interview question? Word Break - Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words. Note that the same word in the dictionary mayleetcode.com Source Codeclass S..
춥고 추웠던 베를린의 겨울이 지나고, 4월이 되었다!사실... 아직 베를린의 겨울은 현재 진행형인 것 같다. 지금도 많은 사람들이 패딩을 입고 다닌다. 처음 경험하는 독일 겨울은 무자비했다. 겨울에도 해가 드는 한국의 날씨가 얼마나 소중한 것인지 몸소 깨달았다. 온도만 봤을 때 영하 3도 안팎의 상대적으로 따듯한 온도임에도 불구하고, 해가 들지 않아 서늘하고 눈이 녹지 않아 길이 몇 주 내내 미끄러웠다.많은 한국인 친구들은 겨울에 한국으로 떠났고 나는 9월, 10월에 한국을 다녀온 탓에 독일에서 겨울을 보내며 날씨 공격을 정통으로 맞았다. 몸이 날씨에 적응을 하지 못해서 한달에 한 번은 꼭 아프고, 기본적으로 감기에 걸린 상태에서 지냈다. 한국처럼 병원을 쉽게 갈 수 있는 구조가 아니다 보니 병원을 딱..
입사를 한 지 어느덧 일년 차가 되었다.일년 단위가 아니면 어느 단위로 회고를 하겠는가 🥹 취업을 했던 1년 전부터 지금까지를 돌이켜보며 개발자로서 어떤 고민과 성장이 있었는지를 정리해보았다. 첫 취업과 코흘리개 신입 개발자의 고군분투 취준을 하던 시기에는, 유저가 실제로 존재하는 서비스에 기여하는 것에 대한 갈망이 있었다.그렇게 취업을 했을 때는 개발로 진짜 세상에 영향을 끼치는 '일'이라는 걸 할 수 있음에 설렜다. 좋은 점을 우선 이야기하자면, 한 회사에서 개발자로 일하면서 어느 순간 개발이라는 일이 정말 재미있다는 것을 깨달았다.코드 치는 게 재미있었다기보다는, 티켓을 받고, 문제의 원인을 찾고, 어떤 액션을 통해 문제를 해결할 수 있을 지 파악하고, 실제로 해결하여 나의 온전한 노력으로 끝까지..
SQS → Consumer 파이프라인에서 메시지 수신이 실패한 상황에서 그 원인과 대응 전략을 회고하기 위한 글이다. 무슨 일이 있었나?SNS → SQS → Consumer 구조는 AWS에서 흔하게 쓰이는 패턴이다. 우리도 이 시스템을 채택하고 있었고 한 서비스가 하나의 큐를 리스닝하고 있는 구조이다. 그러나 운영 중에 서비스가 동작하지 않는다는 제보가 생겼고 큐를 확인했더니 메인 큐에 여러 메시지가 쌓여있는 것을 보았다. 🤯 하지만 DLQ에는 쌓여있는 메시지가 0개였다. 실패된 메시지에 대해서는 3번 재시도 후 DLQ로 빠지고 DLQ의 메시지 수가 증가하면 알림이 트리거 되어야 한다. 하지만 메시지가 DLQ에도 없고 메인 큐에서도 지속적으로 증가하지 않고 메시지가 증가했다가 사라지는 패턴을 반복하..