본문 바로가기

전체 글88

우아한테크캠프 7기 및 우형 최종 탈락 후기 들어가기에 앞서본 게시글은 올해 6월 21일부터 8월 30일까지 이루어진 우아한테크캠프 7기에 참여하며 제가 경험한 것, 배운 것에 대한 기록입니다. 우아한형제들 최종 면접에서 탈락한 후기도 짧게 다룰 예정입니다. 다만, 비밀유지서약서를 작성했기 때문에 면접 질문이나 상세한 절차는 다루지 않고 개인적인 감상정도만 다룰 생각입니다.이하의 기록은 회고의 성격을 가지지만 우아한테크캠프에서 어떤 것을 경험하는지 궁금하신 분들이 읽을 수도 있다는 생각하에 작성한 글입니다. 다만, 기수에 따라 교육 내용이 변경될 수도 있습니다.우아한테크캠프소켓 프로그래밍 과제 수행우아한테크캠프 전체 10주 중 초반 7주는 Java, JSP 과제를 수행했습니다. 이 과제들 중 가장 기억에 남는 것은 3주 동안 진행한 소켓 프로그래밍.. 2024. 11. 20.
Jedis, Lettuce, Redisson. 레디스를 위한 세 가지 자바 클라이언트 세 가지 레디스 자바 클라이언트Jedis제디스(Jedis)는 동기식 작업을 지원하는 레디스 클라이언트입니다. 다른 클라이언트에 비해 간단하고 사용하기 쉬운 API를 제공합니다. 제디스 인스턴스는 스레드 안전(Thread-safe)하지 않기 때문에 멀티 스레드 환경에서 사용하려는 경우 제디스풀(JedisPool)을 사용해야 합니다.Lettuce레투스(Lettuce)는 동기, 비동기, 반응형 작업을 지원하는 레디스 클라이언트입니다. 제디스와 달리 스레드 안전하기 때문에 여러 스레드에서 안전하게 사용할 수 있습니다.Redisson레디슨(Redisson)은 다양한 분산 객체를 제공하는 레디스 클라이언트입니다. 다른 두 클라이언트가 레디스의 기본 자료구조를 다루는 API만 제공하는 데 비해 레디슨은 분산된 환경에.. 2024. 10. 30.
[우아한 티켓팅] 대기열 시스템 응답 시간 스파이크 해결하기 들어가기에 앞서본 게시글을 우아한 티켓팅 프로젝트의 대기열 시스템 성능 개선에 관한 이야기를 다룹니다. 이전 게시글 [우아한 티켓팅]대기열 시스템 10,000명 부하 테스트하기를 통해 어떻게 부하 테스트를 했고, 결과가 어땠는지를 다뤘습니다. 해당 게시글에 이어서 이번에는테스트 결과를 살펴보던 중 발견한 응답 시간 스파이크원인 분석과 개선에 대해 다룹니다.응답 시간 스파이크 발견우아한 티켓티의 대기열 시스템은 [우아한 티켓팅]대기열 시스템 10,000명 부하 테스트하기에서 다룬 것과 것 부하 테스트를 통해 10,000명을 견딜 수 있는지 검증했습니다. 결과는 다음과 같았습니다.가상 사용자 2,500명, 테스트 시간 5분, 1초 주기 폴링일 때 95%의 요청을 600ms 내로 처리가상 사용자 10,000명.. 2024. 10. 6.
[우아한 티켓팅] 대기열 시스템 10,000명 부하 테스트하기 들어가기에 앞서본 게시글은 우아한 티켓팅 프로젝트의 대기열 시스템 성능 측정에 관한 이야기를 다룹니다. 이전 게시글 [우아한 티켓팅]대기열 시스템 설계하기의 내용을 바탕으로 저희 팀은 Java 자료 구조를 이용한 대기열, Redis를 이용한 대기열을 구현하였습니다. 팀의 목표 중 하나인 10,000명을 견딜 수 있는 대기열 시스템을 검증하기 위해테스트 환경은 어떻게 구성했는지테스트 결과는 어떗는지에 대해 기록을 남기려 합니다.부하 테스트 환경 구성테스트 시나리오테스트 대상 시스템은 대기열 시스템입니다. 다른 기능과 섞어서 성능을 측정하기 보다는 대기열 시스템 자체의 성능만을 측정하기 위해 시나리오는 다음과 같이 구성했습니다.사용자 인증 정보 획득을 위한 사용자 로그인 JWT 토큰 생성티켓팅의 시작점 인 .. 2024. 9. 29.
[우아한 티켓팅] 친절한 대기열 시스템 설계하기 들어가기에 앞서본 게시글은 제가 참여했던 팀 프로젝트 우아한 티켓팅에서 대기열 시스템을 설계했던 이야기를 다룹니다. 상세한 구현보다는 저희가 원하는 대기열을 만들기 위해 했던 다음과 같은 고민들을 남기려 합니다.어디서 아이디어를 얻었는지아이디어를 구현으로 옮기기 위해서 어떤 문제를 해결해야 했는지짝(페어) 프로그래밍을 진행하며 객체 간 협력 구조를 어떻게 설계했는지설계 목표우아한 티켓팅의 대기열 시스템은 새로 고침해도 사용자의 순서를 유지하는 친절한 대기열 시스템을 목표로 합니다.사용자의 실수, 지루함에 의한 새로고침 클릭 정도는 용인해주어 사용자 경험을 향상시킵니다.아이디어현실 세계에서 순서를 유지하는 대기열은 은행이나 식당 대기열에서 찾아볼 수 있었습니다. 예를 들어 은행의 대기 시스템은 다음과 같은.. 2024. 9. 24.
직접 구현한 스텁으로 이상적인 테스트 작성하기 들어가기에 앞서본 게시글은 이상적인 테스트를 작성하기 위해 했던 저의 고민과 결론을 공유하는 것에 목적을 두고 있습니다. Java, Spring 환경에서 테스트를 작성해본 경험이 있는 분들을 대상 독자로 하고 있으며 배경 지식을 위해 테스트 더블에 대해서 먼저 정리합니다. 다만, 저의 고민과 결론에 부족한 부분이 있을 수 있습니다. 부족한 부분은 지적해주시고 너그럽게 봐주시길 부탁드립니다.본 게시글은 우아한테크캠프에서 미니 세미나를 통해 동기 교육생들에게 공유한 내용을 블로그 게시글의 형태로 정리한 것입니다. 이전에 동일한 내용을 가지고 작성했던 게시글이 존재하나 우아한테크캠프의 특강 중 하나인 "테크니컬 라이팅"에서 배운 내용을 적용, 불필요한 내용을 제거하고 퇴고를 거쳐 다시 작성한 게시글입니다. 이.. 2024. 8. 5.