본문 바로가기

분류 전체보기11

Road to Clean Code - 1편 (깨끗한 코드) 개요 해당 포스팅은 스터디장님의 제안으로 시작되었습니다. 더 나아가 개발자들의 바이블이라는 '클린 코드'를 아직까지 못 읽었다는 부끄러움과 함께 바쁘지만 틈틈이라도 읽어보자라는 마인드로 시작했습니다. 이번 계기로 깨끗한 코드를 만들 수 있는 개발자로 한 걸음 성장할 수 있기를 기대합니다. 대부분의 책은 1장이 가장 중요하다고 생각합니다. 1장을 읽으면서 느낀 생각은 이 책도 마찬가지라는 생각이었습니다. 1장에서는 필자, 즉 Robert. C Martin이 강조한 클린 코드를 왜 집필했고, 왜 사용해야 하는지에 대한 개괄이 등장합니다. 지금부터 1장을 요약해보면서 저자가 왜 그토록 깨끗한 코드를 강조하는지에 대해 알아보겠습니다. 코드의 필요성에 대해 먼저 생각해보자 최근 특정 사이트를 만들어 주는 플랫폼들.. 2021. 4. 20.
내가 만든 서비스는 얼마나 많은 사용자가 이용할 수 있을까? - 3편(DB Connection Pool) 개요 지난 시간 현재 AGORA 서비스의 단일 피드 조회 기능에 대한 성능 테스트를 진행해보았습니다. 이번 시간에는 데이터베이스의 Connection Pool의 크기를 조절해보면서 발생하는 성능 변화에 대해 알아보겠습니다. 먼저 Connection Pool이 무엇인지 알아볼까요? Connection Pool은 무엇일까요? Connection? 연결? 어떤 연결을 의미할까 생각하실 수 있을 것입니다. 여기서 말하는 Connection이란 WAS와 데이터베이스 사이의 연결을 의미합니다. 해당 클라이언트와 서버 사이의 연결을 위해서는 아래 그림과 같이 3-way-handshaking이라는 작업이 필요합니다. 3-way-handshaking은 3번의 패킷 교환을 통해 소켓을 형성하고 통신을 준비하는 과정을 의미.. 2021. 1. 14.
내가 만든 서비스는 얼마나 많은 사용자가 이용할 수 있을까? - 2편(nGrinder를 활용한 성능테스트) 개요 지난 시간 서비스의 성능을 알기 위해서 Throughput과 Latency 성능지표가 필요하다고 알게 되었습니다. 이번 시간에는 서비스의 성능 지표를 확인하기 위해서 부하를 발생시키는 방법에 대해 알아보겠습니다. 또한 AGORA 서비스에 실제 부하를 발생시켜서 단위 성능 테스트를 진행하고 AGORA 서비스의 현재 성능을 분석해보도록 하겠습니다. 먼저 부하를 발생시키는 도구에 대해서 알아볼까요? nGrinder에 대해서 알아보자! nGrinder는 네이버에서 The Grinder라는 성능 테스트 도구를 기반으로 제작한 오픈소스 성능 테스트 솔루션입니다. 스크립트 생성과 테스트 실행, 모니터링 및 결과 보고서 생성을 통합된 Web UI를 통해 사용할 수 있으므로 성능 테스트를 보다 쉽게 할 수 있습니다.. 2020. 12. 27.
내가 만든 서비스는 얼마나 많은 사용자가 이용할 수 있을까? - 1편(성능 테스트란?) 개요 Agora 프로젝트를 서버 배포에 성공하고, 서비스가 얼마나 많은 사용자를 감당할 수 있을지 알고 싶어 졌습니다. 이를 위해 성능 테스트를 진행해보았습니다. 이번 포스팅 시리즈는 성능 테스트를 진행하면서 겪은 성능적인 이슈와 이를 분석하고 해결해나가면서 겪은 경험을 공유하고자 시작하였습니다. 먼저 성능 테스트는 어떤 작업일까요? 지금부터 성능 테스트에 대해서 알아보겠습니다. 성능 테스트는 왜 해야 할까요? 성능 테스트는 말 그대로 서비스의 성능적인 부분을 측정하기 위해 실행되는 작업입니다. 애플리케이션의 성능을 측정한다는 것은 점진적인 부하를 가하는 과정 속에서 더 이상 처리량이 증가하지 않을 때, 그 수치를 측정하고 해석하는 것을 의미합니다. 그렇다면 이러한 행위는 왜 하는 걸까요? 성능 테스트의.. 2020. 12. 18.