#everythingisarackapp 이란 말을 들어보았는가? 루비 세계에서 모든 것이 rack app이라 할 정도로 rack은 굉장히 중요한 의미를 가진다. rack이란 무엇일까? 간단히 말하자면 rack은 일종의 인터페이스이다. 우리의 rack app은 이 인
레일즈 router 관련하여 Vaidehi Joshi라는 분이 2018 RailsConf에서 발표한 영상이 있다. 굉장히 유익하기에 이를 늦게나마 정리하고자 한다. 국내에는 레일즈 router를 어떻게 사용하는지에 대한 글은 좀 있으나, 어떻게 동작하는지 그 원리에 대
1편 보러가기라우터는 어떻게 읽을까? 우리는 그것을 가르쳐야 한다.Journey는 당신과 내가 읽는 것과 비슷한 방식으로 request를 읽는다. 사실 Journey가 읽는 방식은 컴파일러가 코드를 읽는 방식과 같다.우리가 위와 같은 문장을 읽을 때, 우리의 mind가
부족하거나 틀린 점 있으면 댓글로 지적해주시면 감사하겠습니다. request가 들어오면 레일즈에서는 어떤 일들이 일어날까? request의 흐름을 차근차근 따라가 보며 rails에서 request를 다루는 internal에 대해 알아보자. 웹앱서버(Puma) 브라우
puma는 web application server이다. 앱서버는 소켓에서 연결을 수락한 다음, http request를 우리 레일즈 서버로 서브하는 역할을 한다. 이러한 과정에서 (루비 진영의)웹앱서버는 유저경험에 악영향을 끼칠 수 있는 아래 3가지 문제를 최대한 효
저번 글의 말미에서 puma의 worker와 thread의 최적화된 숫자를 찾는 것이 중요하다 말했다. 이번 글에서는 우리 서비스의 puma 설정 파일 튜닝 과정을 공유하고자 한다. 상세한 수치는 빼고 어떤 식으로 진행했는지를 중점으로 이야기해 보겠다.puma의 def
레일즈의 여러가지 캐싱 기법 중 low-level 캐싱을 적용하여 우리 서비스의 체인점 리스트 API의 성능을 개선한 경험기를 공유하고자 한다.체인점 리스트 API는 유저가 주문 과정의 막바지에서 집근처 안경점을 선택하는 데 사용되므로 굉장히 중요한 API이다. 그럼에