본문 바로가기

분류 전체보기45

[2018-06-08] 스프링캠프 2018-Consumer Driven Contract 요즘 기존 프로젝트의 일부를 새로운 프로젝트로 떼어내는 작업을 하고 있다. 노후된 프로젝트인 점과 내가 알고있는 프로젝트가 아니라는 점이 지옥을 맛보게 해주고 있다. 정리를 하다보니 기능이 중복된, 프로젝트의 성격 이상으로 많은 정보를 제공하는, 불필요하게 많은 정보를 요구하는 등 이상한 End Point들이 발견되었다. 아마 오랜시간 요구사항이 점점 늘어나면서 불가피하게, 혹은 요구했었지만 이제는 다르게 사용하는 API가 되었지 않을까 생각한다. 정리를 위해 이 API들을 사용하는 서비스들에 대해서 전부 조사를 해야했고, 굉장히 많은 시간을 소비해야 했다. 정리를 하고난 후 보니 중복된 것, 사용되지 않는 것, 불필요한 요구, 제공 스펙, 그리고 그것들을 위한 테스트 코드들이 보였다. 현재와 미래의 모.. 2019. 12. 29.
[2018-11-12] 프로젝트가 장난이야?! 개발자의 개인 장난감인 토이 프로젝트에 대해서 이야기해보려고 합니다. 저는 웹 개발 입문과 거의 동시에 토이 프로젝트를 시작했고 이 프로젝트들을 통해 많은 성장을 이루었다고 생각하고 있습니다. 그래서 토이 프로젝트를 통해 무엇을 얻을 수 있었는지에 대하여 말해보려고 합니다. 토이 프로젝트란? 토이 프로젝트가 무엇일까요? 크고 간단하게 2가지로 나눈다면 이렇습니다. 1. 여유시간만 투자한다. 본업과 건강에 영향을 미치지 않는 선에서 여유시간을 투자해야합니다. 2. 어떠한 목적을 달성한다. 기능, 스펙, 규모, 일정에 대한 제약은 있을 수도 있고 없을 수도 있습니다. 런칭 혹은 배포도 마찬가지입니다. 프로젝트가 반드시 런칭되거나 배포될 필요는 없습니다. 이것은 내가(혹은 우리가) 프로젝트의 목적을 무엇으로 .. 2019. 12. 29.
[2018-05-08] 결제 시스템 성능, 부하, 스트레스 테스트 안녕하세요. 우아한형제들에서 결제시스템을 개발하고 있는 권용근입니다. 입사한 지 4개월 만에, 드디어 우아한형제들 기술 블로그에 글을 남기게 되어 감회가 새롭습니다. 저는 최근 결제 시스템의 개비를 진행하며 경험한 성능, 부하, 스트레스 테스트 경험을 작성해보려고 합니다. 시스템 개비 입사하고 보니 저에게는 결제 API 단순화, 결제 시스템 데이터베이스 분리 및 파티션 도입, 비동기 결제 시스템 개발 이라는 굵직굵직한 작업들이 기다리고 있었습니다. Java, Spring Framework, ORM 등의 기술 지식은 그간 해온 게 있기 때문에 (구글링이 있기 때문에) 파악하는데 어렵지 않았지만, 이미 구축되어 있는 시스템을 손대는 것은 쉬운 일이 아니었습니다. "거대 규모 프로젝트에서 내가 수정한 코드가 .. 2019. 12. 29.
모니터링 환경 (New Relic, PINPOINT, logentries) 내가 이상적으로 바라던 그런 모니터링 환경을 만나게 되었다.  그러나 나는 이 툴들을 쓸 줄도, 어디까지 해주는지, 뭘 해주는지도 잘 모른다. 결국 이전에 하던 귀찬은 방법들을 찾게 된다. 비효율적이지만 익숙한 방법을 고수하는 것, 이게 바로 기술부채 구나! 그래서 내가 처음 접하게 된 모니터링 툴들을 정리해본다.1. New RelicNew Relic은 SaaS 기반의 APM(Application Performance Management) 서비스를 제공하는 회사이다. New Relic 의 다양한 서비스 중 내가 가장 잘 사용할 줄 알아야 할 서비스는 APM과 INFRASTRUCTURE다.  APM은 어플리케이션에 대한 성능 모니터링을 제공하고, INFRASTRUCTURE는 서버에 대한 성능 모니터링을 제.. 2018. 2. 12.