본문 바로가기

전체 글

(18)
페이지네이션이 항상 빠를까? 직접 실험해봤습니다 CS 말하기 학습 플랫폼 "CS 뽁뽁" 프로젝트를 개선하면서 겪은 경험을 공유합니다.배경 CS 뽁뽁 서비스에는 말하기 퀴즈 목록 페이지가 있습니다.사용자는 난이도와 카테고리를 선택해 퀴즈를 필터링할 수 있고, 이 페이지가 서비스 전체에서 가장 많은 요청이 발생하는 지점이었습니다.퀴즈 목록 조회 시 말하기 퀴즈 테이블과 카테고리 테이블을 조인하여 데이터를 가져오는 구조로 구현했습니다.1단계: 캐시 도입 (기존 방식)처음에는 다음과 같은 구조였습니다.사용자 필터 변경 → 클라이언트 → Next 서버 → API 서버 → DB → 필터링된 결과 반환 필터를 바꿀 때마다 DB까지 요청이 내려가는 구조였고, 팀원분이 이 부분에서 문제를 발견했습니다."사용자가 많아지면 이 구조가 그대로 버틸 수 있을까?" 그래서 N..
TypeScript는 런타임을 지켜주지 않는다 - Zod로 해결하기 들어가며이번 포스팅은 TypeScript에 대한 주제로 가져와보았다!최종 프로젝트에 들어가게 되면서 기능 구현 자체에만 집중하다 보니 정작 문서화를 많이 못한 것 같았다. 오랜만에, 개발 과정에서 고민하고 해결했던 과정들을 블로그에 담아보려고 한다!매번 잘 돌아가고 있다는 생각으로 그냥 넘어갔던 부분들을 이번 개발 과정에서 깨닫게 되어버렸다.. 문제 인식TypeScript를 도입하여 개발을 진행하던 중, 다음과 같은 문제점을 발견했다.async getComprehensionStatistics(): Promise { const rawResults = await this.dataSource.query(`SELECT ...`); return rawResults; // 타입은 ComprehensionS..
[네이버부스트캠프] 정신없이 달린 나의 고군분투 일기(feat. 2,3주차 회고) 시작하며안녕하세요! 이번 포스팅은 챌린지 과정 2주차 회고록이 아닌,, 3주차 회고록으로 돌아왔습니다..ㅎㅎ한주간 너무 정신없이 미션을 해결하다보니 주말마다 체력적으로나 심리적으로 풀어지게 되더라구요..아무튼 ! 그래서 이번주는 마지막주 챌린지 과정이 시작되기 전, 마음을 다잡는 시간으로 3주차 회고록을 작성해보도록 하겠습니다.(사실 3주차이긴 하지만 2-3주차동안 챌린지를 진행하며 느낀점, 배운점들을 적어나갈 예정이긴 합니다..ㅎㅎ) 그럼 시작하도록 하겠습니다 ! 그동안 무엇을 배웠을까?우선은 2, 3주차를 진행하는 과정동안 너무 정신없이 지나가다보니 한주가 끝나면 "무엇을 배웠더라?" 라는 생각이 드는 순간도 많았습니다.그래서 오늘 회고를 기회로 한번 정리를 해봤습니다. - 객체지향프로그래밍-..
[네이버부스트캠프] 챌린지 1주차를 마무리 하며,, 안녕하세요 ! 오랜만에 포스팅이네요 :) 졸업 후, 회사를 1년간 다니며 항상 미래에 대한 고민들이 있었는데요..이런 고민을 하던 중, 네이버부스트캠프 챌린지 코스에 참여할 수 있는 기회가 생기게 되어 새로운 도전을 시작하게 되었습니다. 그래서 오늘은 챌린지 1주차를 통해 한주간의 저를 돌아보는 시간을 가져보려고 합니다. 챌린지를 통해 나는 어떤 것을 배우고 싶은가?우선 네이버부스트캠프에 참여하게 된 계기를 먼저 이야기하자면,1년간 실무를 하며 다양한 고민들을 했지만 그 중 가장 큰 고민은 성장성에 대한 고민이었습니다.내가 구현한 것들을 잘 이해하고 있는가?어떤 것에 몰입하며 배우고 성장해나가고 있는가?나는 지금 개발자로써 즐겁게 일하고 있는가?이러한 질문을 통해 마음속으로 대답은 모두 NO라고..
간단한 티켓팅 시스템을 구현하여 동시성 문제를 경험해보자!(feat. 비관락, 낙관락) 시작하며안녕하세요 ! 오랜만에 찾아온 포스팅이네요 :-) 이번 포스팅은 간단한 티켓팅 시스템을 구축해 보고 동시성 문제를 경험해 보며 어떻게 문제를 해결해 볼 수 있을지 고민해 보는 시간을 가져보려고 합니다 ! 갑자기 해당 공부를 시작하게 된 저의 TMI를 공유하자면.. 최근 회사에서 쇼핑몰 솔루션 프로젝트를 시작했는데요 !상품과 주문 도메인을 개발하면서 하나의 고민에 빠지게 되었습니다.바로 여러 고객이 동시에 재고가 1개 남은 상품을 주문할 경우, 해당 동시성 문제는 어떻게 처리가 되고 어떻게 해결할 수 있을까? 에 대한 문제였습니다. 서블릿 컨테이너가 멀티 쓰레드를 지원하면서 동시성 문제에 부딪힐 수 있다는 것을 개념적으로는 알고 있었지만 한 번도 경험해보지 못했고, 그에 대한 해결방법이나 지식이 없..
Refactoring은 극단적으로 해볼수록 더욱 성장한다 ! (feat. TDD) 시작하며 안녕하세요!오랜만에 회고록이 아닌 공부기록 포스팅이네요😊 제가 최근에 책 하나를 읽기 시작했는데요! 바로 포비님이 저서이신 자바 웹 프로그래밍 Next Step이라는 책입니다 !  사실 사둔지 좀 됐는데 너무 읽고 싶었지만 취업 준비로 인해 미루고 미루다 이제서야 보게 되었습니다.. 드디어 두근 거리는 마음으로 첫장을 펴게 되었는데 주제부터 TDD와 refactoring과 관련된 내용이라니 !그동안 TDD라는 말도 많이 듣고 우테코 프리코스 과정에서도 해봤지만 정말 어려운 주제였거든요..  이번 챕터를 공부하면서 새롭게 느끼고 배운 점에 대해서 하나씩 정리해보도록 하겠습니다! 그럼 가볼까요?!   2장에서는 문자열 계산기를 구현해보며 테스트와 리펙토링에 대한 내용을 학습할 수 있었습니다.전반적..
[회고] "뚜레쥬르 커머설 플랫폼 인프라 구축" 프로젝트가 궁금해? 시작하며안녕하세요! 오늘은 조금 많이 늦게 올리는 회고록이긴 하지만.. cloudwave에서 진행했던 최종 프로젝트에 대한 이야기를 해보고자 합니다! 10주간 cloudwave 2기 활동을 하면서 약 3주간 최종 프로젝트를 진행했습니다.7주간 배워왔던 네트워크, 리눅스, 컨테이너 가상화, AWS 그리고 IaC까지 그동안의 교육과정에서 공부했던 모든 지식들을 총동원하여 팀원들과 함께 프로젝트를 만들어나가는 활동을 진행하게 되었습니다 ! 그럼 지금부터 뚜레쥬르 커머셜 플랫폼이 어떻게 탄생하게 되었는지 보러 가시죠 ~ 팀원간 소통의 중요성 - 계속해서 엎어지는 기획..은 너무 어려워사실 저희의 초기 기획은 뚜레쥬르가 아니었다는거 아시나요? 원래는 CJ 온스타일 계열사의 홈쇼핑 웹사이트에서 아이디어를 얻어 특..
뒤늦게 적어보는 cloudwave 회고록 ! 시작하며안녕하세요 ! 너무너무 오랜만에 포스팅하는 글이네요..ㅎㅎcloudwave가 끝이 나고 정신없는 일상을 보내오다 보니 한달이 넘게 지난 이제야 회고록을 적어나가네요.음.. 사실 엄청 바빴다기보단 그동안 열심히 달려와서인지 3월 한달간은 조금 느슨하게 보내고 싶었던 마음이 컸던 것 같네요!그렇다면 지금부터! cloudwave를 마치며 느꼈던 저의 모든 감정들을 오늘 여기에 담아보도록 하겠습니다. 오늘은 이 글을 쓰고 있는 저의 모습과 함께 시작하도록 합시다. 길다면 길었던 10주간의 추억, cloudwave를 마치며사실 클라우드웨이브를 처음 지원할 당시에는 제가 원했던 직무가 전혀 아니었기에 합격 후 포기를 할까 고민도 했던 과정도 있었습니다. 저는 그만큼 자바의 객체지향에 대한 공부나 sprin..