| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- trouble shooting
- Rails
- 레일즈
- redis transaction
- restful
- 노개북
- 경제
- CU
- iamport
- Python
- 재태크
- 노마드코드
- rails cache
- 아임포트
- API
- 레일즈 캐시
- redis
- 북클럽
- django
- Race Condition
- Cache
- memcached
- 주식
- 사업
- HTTP
- Watcha pedia
- transaction
- 투자
- 노마드코더
- Today
- Total
목록분류 전체보기 (45)
Stay hungry, Stay foolish
decimal 로 설정하기 싫었으나 어찌 표현할 방법이 없어서 decimal 로 저장한 column 이 생겼다. 출력해보니 0.5 => 0.5e0 같이 지수로 저장되어 있더라.. 컴퓨터에서 decimal 로 연산하면 100% 정확한 값을 얻기는 어렵다. 예를 들어 0.1 + 1.1 == 1.2 -> false 가 나온다. 이렇다고 한다... 왜일까 실수의 저장 컴퓨터는 모두 2진수로 데이터를 저장하고 통신한다. 정수의 경우에는 2 -> 00000010, 20 -> 00001100 이런식으로 2진수로 저장하는데 무리가 없다. 하지만 실수의 경우에는? 2의-1승 은 0.5 -2승은 0.25 -3승은 0.125 -4승은 0.0625 ... 10진수 0.125 는 2진수 0.001 로 표현하면 된다. 하지만 1..
현재 운영하고 있는 서비스의 인덱스 페이지가 많이 아팠습니다. 페이지를 렌더링 하는 시간이 프로덕션 기준 7s (로컬에서는 10s 를 넘겼습니다 ㅠㅠ) 를 넘어가는 끔찍한 상태였습니다. 저 정도 로딩 속도면 유저분들 다 도망갔어도 할 말 없습니다... 근본적으로 개선을 하긴 해야겠다 마음먹었습니다. 음.. 근데, 어디가 문제지...? 해결과정 route53, nginx loadbalancer 부터 다 뜯어봐야 하는 건가... 싶어 절망할 뻔했으나 일단 눈에 보이는 것부터 체크하기로 했습니다. 무식하지만 정직하게 체크했습니다. 컴포넌트를 하나씩 빼서 그 부분만 렌더링 시키며 속도를 확인해 보는 방식으로 말이죠. 이런 식으로 컴포넌트를 하나씩 꺼내면서 속도가 유독 느리다 싶은 부분을 확인하다 보니 문제는 비..
브라우저의 기본 구조 사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다. 브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어. 렌더링 엔진 - 요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함. 통신 - HTTP 요청과 같은 네트워크 호출에 사용됨. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼 하부에서 실행됨. UI 백엔드 - 콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용. 자바스크립트 해석기 - 자바스크립트 코드를 해석하고 실행. 자료 저장소 - 이 부분은 자료를 저장하는 ..
내가 재직 중인 회사는 실시간 멘토링 서비스를 위해 Zoom의 thirdparty api를 이용한다. 그중 멘토링 클래스에 참여한 참여자들의 참석시간을 실시간으로 관리하며 내부 admin 및 고객 측에 제공하는 자료로 활용 중인데 해당 참석시간이 찍히지 않는 버그가 생겼고 이를 해결한 과정에 대해 작성해 보고자 한다. 아래 그림은 해당 기능에 관련된 flow 차트이다 위 flow 간 문제를 탐색하는 과정은 데이터가 보이지 않는 View file code에서부터 역산하며 탐색을 진행했다. Flow 간 문제 탐색 과정 1️⃣. DB(registrant) ← Contoller(zoom_webhook) View file에서 보이지 않는 zoom 참석시간의 데이터는 registrant 테이블의 joined_at ..