프로젝트/레시피토리(Recipetory)

프로젝트/레시피토리(Recipetory)

Unit Testing을 읽고 : 나는 과연 유닛 테스트를 잘 작성했을까?

"단위 테스트"라는 책을 읽었습니다. 단위 테스트 - 예스24 소프트웨어 개발에 있어 단위 테스트는 이제 선택이 아니라 필수가 됐다. 단위 테스트에 대한 오해를 바로잡고, 올바른 단위 테스트에 대한 원칙, 테스트를 작성하는 스타일과 효과적인 테스트 www.yes24.com 의미 있는 테스트란 무엇인지, 그것을 위해 어떻게 코드를 작성해야하며 그를 위한 방법은 무엇인지 전반적인 방법론과 철학을 설명한 책입니다. 현재 "레시피토리" 프로젝트는 어플리케이션 코드에 사용되는 로직에 단위 테스트 코드를 작성했는데, 책의 내용과 대조해보면서 그동안 작성했던 테스트 코드에 문제가 있는지, 혹은 잘 작성되었는지 확인해보도록 합시다. # 전반적인 책의 내용 책에 있는 모든 내용은 아니더라도, 테스트 코드를 살펴보기 위한..

프로젝트/레시피토리(Recipetory)

[레시피토리] 비용 이슈로 서버 닫습니다 ㅜㅜ

현재 Vultr에 VM 인스턴스를 띄워놓은 상태였으나, 한달 크레딧이 다 사라졌기 때문에 부득이하게 서버를 닫게 되었습니다.. 서버 안닫으면.. 트래픽도 없는 프로젝트에 10만원 비용이 발생합니다..ㅜㅜ

프로젝트/레시피토리(Recipetory)

분산 서버를 사용해보기 ! : 세션은 어디에?

선요약 : 서비스의 가용성을 늘리고 TPS를 향상시키기 위해 다중 분산 서버를 도입했습니다. 현재 세션 기반으로 인증 처리를 하고 있는데, 서버간 데이터 불일치로 인한 문제를 해결하기 위해 레디스를 세션 서버로 사용했습니다. # 분산 서버 개념 단일 웹 어플리케이션 서버로 구성된 프로젝트는 하나의 서버가 모든 사용자 요청을 받는다. 이 경우 여러가지 문제가 생길 수 있다. 하나의 서버에 모든 트래픽이 몰리기 때문에 서버 부담이 커진다. 하나의 서버에 예상치 못한 오류가 발생할 경우 서비스 전체가 죽는다. 글로벌 서비스의 경우, 물리적으로 거리가 먼 한 대의 서버만 사용했을 때 네트워크 자체로 병목이 될 여지가 있다. 요컨데 성능과 확장성, 그리고 가용성 측면에서 좋지 않다. 서버를 여러개 두면 전술한 문..

프로젝트/레시피토리(Recipetory)

Redis 캐시를 사용하여 인덱스 페이지 성능 개선하기

선요약 : 호출이 많이 일어날 것으로 예상되는 메인 페이지의 "추천 컨텐츠"에 캐시를 적용하여 전반적 성능을 1.5배 향상시켰습니다. 또한 컨텐츠 추천에 사용되는 로그 연산을 위해 elastic search script를 사용하였습니다. # 컨텐츠 추천을 위한 로직 프로젝트에서 사용하는 메인 컨텐츠는 조리법이 설명된 "레시피"이다. 사용자가 서비스의 index 페이지에 접속했을 때, 추천하는 레시피를 10개 정도 뽑아 홈페이지에서 볼 수 있도록 구성하고 싶었다. ML 솔루션을 도입해 사용자 개개인에 맞는 추천 레시피를 설정할 수도 있겠고, 최근 데이터에 weight을 주어 최근에 많이 조회된 컨텐츠를 추천할 수도 있겠다. 그러나 현재 단계에선 간단하게, 레시피의 조회수와 평점을 기준으로 높은 점수를 가진..

김부추
'프로젝트/레시피토리(Recipetory)' 카테고리의 글 목록