Project
-
이벤트 응모 시스템으로 배우는 Redis 분산 락(Distributed Lock) 해결 가이드 🚀Project 2026. 1. 21. 23:14
안녕하세요! 오늘은 백엔드 개발자라면 한 번쯤은 마주하게 되는, 혹은 면접 단골 질문이기도 한 '동시성 제어'에 대해 이야기해보려 합니다.선착순 이벤트나 한정판 상품 판매 시스템을 구축할 때, 수만 명의 사용자가 동시에 '구매' 버튼을 누르면 어떤 일이 벌어질까요? 단순히 DB의 값을 업데이트하는 방식으로는 데이터의 원자성(Atomicity)을 보장하기 어렵습니다.오늘은 그 해결책 중 하나인 Redis 분산 락을 활용해 문제를 해결하는 방법을 알아보겠습니다! 👨💻1. 왜 DB 락(Lock)만으로는 부족할까? 🤔일반적으로 관계형 데이터베이스(RDBMS)가 제공하는 Pessimistic Lock(비관적 락)이나 Optimistic Lock(낙관적 락)을 떠올릴 수 있습니다. 하지만 다음과 같은 상황에..
-
좋은 Pull Request를 만드는 방법과 PR Template 구성Project 2021. 11. 5. 19:55
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository Creating a pull request template for your repository - GitHub Docs For more information, see "About issue and pull request templates." You can create a PULL_REQUEST_TEMPLATE/ subdirectory in any of the supported folders to contain multiple pull ..
-
단위테스트가 도대체 뭐야 ❓Project 2021. 10. 27. 15:57
단위테스트 하나의 API 기능을 개발하고 수정했을 때, 모든 테스트케이스를 개발자가 직접 수행해서 성공/실패 여부를 판별하는 것은 인적 리소스 낭비일 뿐 아니라 제대로 테스트를 수행하기 힘들다 단위 테스트는 하나의 모듈을 기준으로 독립적으로 수행 되는 최소 단위의 테스트 모듈을 애플리케이션 내의 하나의 기능 / 메서드 / API로 이해하면 특정 메서드에 대한 테스트의 집합이 하나의 단위 테스트가 될 수 있다 스프링/다른 컨테이너로부터 격리된 환경에서 테스트가 가능해야 한다는 목적을 가지고 있다 ❗ 프로젝트 빌드 시 테스트를 통과하지 못하면 배포되지 못하게 하는 용도로 많이 활용된다 단위 테스트 규칙 단위 테스트에서 강조하는 것으로 클린코드에서 언급한 FIRST 규칙이 있다 Fast 테스트는 자주 실행되어..
-
6월의 토이프로젝트: 파이썬과 카카오톡 i 오픈빌더를 이용한 아맞다우산 알리미(챗봇)Project 2019. 7. 9. 15:33
카카오톡 챗봇은 API형은 현재 서비스를 종료하고 오픈빌더를 이용한 챗봇 제작만 지원하고 있다 카카오톡 오픈빌더(https://i.kakao.com/login)를 들어가서 플러스친구 챗봇 만들기 버튼을 누르고 심사를 받으면 된다 (약 이틀~일주일정도?걸림) 심사를 받고나면 다음과 같은 페이지를 볼 수 있다 노란색 + 버튼을 클릭하고 +새로운 시나리오 - +블록추가를 클릭 후 사용자의 예상 발화 패턴을 입력 ex. 분평동 강수확률 알려줘 / 용암동 비 와? / 공릉동 날씨 등 이때 입력된 발화패턴에서 단어를 더블클릭하면 엔티티(파라미터 속성)을 정할 수 있고, 파라미터로 지정할 수 있다 나는 발화에서 지역정보만을 추출할거라서 분평동을 sys.location 엔티티로 지정해줬따 위의 웰컴블록과 폴백블록에서는..
-
어떤 프로젝트를 진행하면 좋을까? 토이 프로젝트 주제 찾기Project 2019. 4. 26. 16:01
토이 프로젝트를 해보자!라고 다짐했지만, 막상 시작하려니 막막하다 SW분야는 엄청나게 많고, 쓸 기술도 많지만 그중에 무엇을 택해야 할까? 라는 고민이 들 때, 아래의 사이트를 참고했다. https://www.codementor.io/npostolovski/40-side-project-ideas-for-software-engineers-g8xckyxef 40 Side Project Ideas for Software Engineers | Codementor The most exciting side projects a soft engineer could pursue. www.codementor.io 소프트웨어 엔지니어의 역량 강화를 위한 사이드 프로젝트의 기본 방향을 추천해준 글이다. 나는 이 사이트를 보고..
-
토이 프로젝트를 진행하기 전에Project 2019. 4. 25. 00:25
요즘 이것저것 준비하면서 실제 취업하기 위해 갖춰야 할 역량이 무엇일까 많이 생각해봤다 실제로 나는 우물안의 개구리가🐸 맞았구나라는 생각을 많이 하기도 했고.. 실제 실무에서 내 능력을 증명하기 위해 어필할 만한 기술적인 능력과 자료가 매우*100 없다는걸 새삼 느꼈다😢 그래서 나태해진 생활을 다잡고, 성장하기 위해서 토이 프로젝트를 진행하려고 한다. 토이프로젝트 ? -> 학생, 직장인을 포함한 모든 개발자가 남는 시간에 진행하는 개인적인 프로젝트를 말한당(난 시간이 남는게 아니라 남는게 시간이니까..) 프로젝트의 주제는 생각해보지 않았지만 일단 기준을 몇가지 정해보자면 1. 한가지만 다루지 말 것 - 학교에서 배우고 해봤던 프로젝트는 C, C++, Java, JSP같이 한 Language만 ..