회사 문제를 해결하기 위해 머릿속으로 어떻게 해결해야 할지 계속 생각을 하던 2025년 2월 16일 오전, 눈 내리는 겨울 아침이었다. 생각을 머리 속에 담아두며 길어진 머리를 정리하기 위해 예약 시간에 정확하게 도착하거나 조금 늦을 수도 있는 그런 시간 여유롭게 나왔으면 어땠을까 하며 미용실로 발걸음을 옮겼다. 다행스럽게도 제 시간에 도착하여 미용실 문을 열고 들어서자, 처음 뵙는 인턴분이 긍정적인 목소리와함께 안내를 도와주셨다. 머리를 정리하기 이전, 인턴 분은 머리를 감겨주기 시작했다. 고객이 불편함을 느끼지 않을 수 있도록 거친 움직임 없이 옷에 물이 스며들지 않도록 세심한 손길 하나 하나에서 부드러움을 느낄 수 있었다. 원래도 배려심이 많은 분이었을까, 아니면 아직 인턴 생활을 한지 얼마 되지..
배경사내 OpenAPI에 RateLimiter를 추가하면서 테스트를 강화하고 회귀 오류를 방지하기 위해 철저한 검증을 진행했습니다. 그럼에도 불구하고 예상치 못한 장애가 발생했습니다.회귀 오류를 방지하기 위해서 테스트 코드를 강화했음에도 불구하고 테스트에서 장애가 검출되지 않는 이유는 무엇이었을까요?결론부터 말씀을 드리자면, 사내에서는 OpenAPI 요청 서버와 인증 서버를 분리하여 운영하고 있는데, 테스트 환경에서 네트워크 I/O 발생 부분을 Mocking 처리한 것이 원인이었습니다. 그리고, 실제 디버깅을 하면서 문제를 추적하는 과정에서 FeignClient의 @SpringQueryMap을 사용한 특정 요청이 실패한다는 사실을 발견했습니다.개발 환경Java Version : 14Spring Boot ..
러닝을 시작하게 된 계기개발자라는 직업을 택하고, 개발자가 된 지금도 개발자가 되기 이전에도 귀가 닳도록 들었던 조언이 있다."개발자로서 롱런하려면 운동을 꾸준히 해야 합니다. 나중에는 몸이 아파서 정말 못 할 수도 있어요."평소에도 종종 공부를 하거나, 업무를 하는 경우에 적은 통증이 있었던 나는 운동의 필요성을 느끼게 되었고, 사무직은 신체 활동이 적어 따로 시간을 내어 체력을 관리해야 한다는 점도 공감이 갔다. 그래서 처음엔 PT와 필라테스를 등록하여 배우며 운동을 시작했다. 혼자서 해볼 수도 있었지만, 유연성과 자세의 문제인지 운동 이후에 적지 않게 통증이 찾아오는 과정이 수반되었다. 근육이 성장하는 통증이 아닌 잘못 된 부분에 오는 통증 말이다. 하지만 심폐 지구력을 기르는 운동은 여전히 쉽지 ..
서론최근 사내 프로젝트를 마이그레이션을 진행하면서 프로젝트를 재 설계 할 수 있는 기회가 생겼습니다.아키텍처와 라이브러리를 선정하는 과정에서 발생한 logging 라이브러리의 버전 관리 문제점과 어떻게 해결을 하였는지를 공유하고자 합니다. 배경 지식회사에서의 신규 프로젝트를 준비하면서 언어 플랫폼은 kotlin, 프레임워크는 스프링으로 채택되었습니다. 그리고, 필요한 여러 외부 라이브러리에 대한 의존성을 주입하는 과정에서 로깅을 위한 두 개의 선택지가 존재했습니다.스프링 진영에서 사용하고 있는 facade 형태로서 로깅을 처리할 수 있는 slf4j를 사용할 것 인가kotlin 위에서 유리하게 동작하는 kotlin-logging을 사용할 것 인가.결론은, kotlin-logging을 사용하는 것으로 결정을..
최근 가장 핫한 TV 프로그램이라고 하면 단연코 '흑백 요리사' 를 꼽을 수 있다.많은 사람들이 재미있게 본 이 프로그램을 보면서 개인적으로는 다른 생각도 하게 되었다. "흑백 요리사에 참석한 모든 쉐프들은 다들 많은 노력을 하고 난 이후에 위 자리에 올라왔다. 여기서 배울 수 있는 점은 무엇일까?"그리고, "각각의 미션들을 보면서 어떤 노력, 얼마만큼의 생각을 평소에 했기에 저만한 결과를 낼 수 있었을까?" 라는 생각이 들었다.오늘은 개발과 흑백 요리사에 대한 내용을 살짝 곁들여서 이야기를 진행하고자 한다.음식에 100점은 없다고 생각합니다.안성재 쉐프는 요리사들의 요리를 평가하면서 "자신은 100점짜리 요리는 존재 할 수 없다" 고 말했다. "모든 음식은 더 나아질 수 있는 가능성이 있기 때문" 이..
서문 2024년 1월 18일. 나에게 부족한 점, 그리고 나에게 주어진 피드백을 정리하며 마음을 다 잡았다. 노력의 결과였을까. 서류, 코딩 테스트, 1차 면접, 2차 면접을 통과하여 꼭 가고 싶었던 회사인 트렌비에 합격을 하게 되었다. 취업이라는 목표를 이루었고, 나는 이제 개발자라는 출발선에 다시 서게 되었다. 출발선에서 앞으로 내가 이뤄나가야 할 상반기 목표들을 정리해보고자 한다. 개발 아직 팀이 정해지지 않았고, 어떤 도메인을 도맡아서 개발을 할지에 대해서도 미지수이다. 하지만, 면접을 보면서 회사에서 현재 내 기술 스택과 비교하여 부족한 부분들이 무엇인지 들을 수 있었다. 상반기에는 회사의 문화에 적응하며 기술을 다룰 수 있도록 정진하여 사고치지 않고 1인분을 할 수 있게 됨에 집중해보도록 하자..
최근 4번의 최종 면접 탈락을 겪으면서 자존감이 많이 떨어져있다. 이렇게 죽어있는 상태로 나아가다간 나의 성장은 멈출 것 같다는 느낌이 들었다. 지금 이 글을 작성하고 있는 현재 나는 무엇을 하고 있는지 그리고 이를 토대로 무엇을 개선하면 좋을지에 대해 되돌아보자. 현재의 활동 현재 나의 패턴을 정리해보자. 오전 오전 7시에 일어난다. 데브코스 팀원들과 미라클모닝을 실천한지 어느덧 1달차가 되어간다. 미라클 모닝은 더욱 일찍 일어나야 하지만, 우선 7시에라도 일어나서 활동하자는게 취지이다. 벌써 1달이 거의 다 되어가지만, 아직도 일어나는 일은 쉽지가 않다. 몸을 뒤척이다 핸드폰으로 유튜브를 잠깐 볼까 하지만 머릿속으로 아침에 일어나자마자 보는 유튜브는 이후의 두뇌의 활동을 무너뜨린다는 얘기를 들은 적이..
프로그래머스 데브코스에 참여한지 이제 거의 6개월이 다 되어간다. 현재는 최종 프로젝트 기간 중 QA 기간이라 포스팅을 쓸 시간이 생긴 것 같아 하루에 겪었던 이슈들을 하나씩 정리해보려고 한다. 그 중에서는 일정 관리 부분이 가장 중요했던 것 같다고 생각하여 이를 얘기해보고자 한다. 서론 프로젝트를 진행하기 전에 프로그래머스에서 '일하는 우리'의 지윤정님의 강의를 통해 협업에 임하기 전에 배워야 할 태도와 애자일 방식의 프로젝트 관리를 방법을 간단하게 배우게 되었다. 저번 1차 클론 코딩 프로젝트에서는 제대로 진행이 되지 않았지만, 최종 프로젝트에서는 애자일한 협업을 한 번 해보고자 마음을 먹었다. 팀원분들이 대부분 내향적인 성격을 가지신 MBTI I로 구성이 되어있었다. 스크럼을 이끌어가는 것은 그래도..