분류 전체보기
-
[SW 정글 120일차] 나만의 무기 28일차 (@socket.io/redis-adapter)기타/SW 사관학교 정글 2021. 12. 1. 02:51
오늘은 여러 대의 소켓서버를 두었을 때 각가의 소켓서버끼리 어떻게 통신할까?를 해결하는 방법을 모색하면서 redis의 pub/sub 기능을 사용하여 socket.io에서 제공하는 module을 사용하면 된다는 것을 알았다. 여러 대의 소켓서버를 두면 DB를 매개체로 사용하면 되지 않을까?라는 생각은 은연 중에 떠올랐지만 실제로 배달의 민족에서 사용하는 방식이었다. https://techblog.woowahan.com/2547/ 실시간 서비스 경험기(배달운영시스템) | 우아한형제들 기술블로그 {{item.name}} 경험기 들어가기 앞서 이 글은 신기술 사용기 또는 소개가 아닌 실시간 서비스 즉 배민라이더스 BROS 1.0 을 개발 하면서 겪어왔던 다소 특별한 개발 및 운영 경험기 입니다. BROS 2.0..
-
[SW 정글 119일차] 나만의 무기 27일차 (소켓서버 구조 변경)기타/SW 사관학교 정글 2021. 11. 30. 03:56
오늘은 Artillery를 이용하여 스트레스 테스트를 이어서 하는 것으로 하루를 시작했다. config: target: "http://localhost:5001" phases: - duration: 60 arrivalRate: 5 # maxVusers: 7 name: Ramp up load payload: path: "test_file1.csv" fields: - "email" - "password" - "nickname" scenarios: - name: "Test_case_2" engine: "socketio" flow: - log: "{{email}} socket connection 시도" - think: 1 - log: "{{email}} login 시도" - post: url: "http:/..
-
[SW 정글 118일차] 나만의 무기 26일차 (Node는 race condition이 발생할까?)카테고리 없음 2021. 11. 29. 02:57
오늘은 어제 Artillery를 사용하여 간단 테스트 시도를 이어 진행했다. 일단은 yaml 파일에 option을 작성하여 artillery를 run하는 것이 안되는 이유는 찾지 못했다. 하지만 대책으로 yaml이 아닌 json으로 options을 작성하니까 run이 되었다. { "config": { "target": "http://localhost:5000", "phases": [ {"duration": 60, "arrivalRate": 20} ], "defaults": { "headers": { "User-Agent": "Artillery" } } }, "scenarios": [ { "name": "유저테스트", "flow": [ {"post": { "url": "/api/user/login", "j..
-
[SW 정글 117일차] 나만의 무기 25일차 (Artillery)기타/SW 사관학교 정글 2021. 11. 28. 03:48
오늘은 우리의 서비스 부하테스트를 위해 어떠한 라이브러리를 써야하는지 알아보고 간단하게 테스트를 dummy server에서 돌려보았다. 알아본 결과는 node서버에서는 부하테스트(스트레스 테스트)로는 Artillery를 대다수가 사용하는 것같다. 다른 라이브러리가 있는지는 더 많은 글들을 봐야겠지만 일단은 artillery로 일단은 바로 artillery를 설치해보았다. 처음에는 잘 정리된 블로그글을 보며 빨리 익숙해지려고 했는데 블로그글이 오래 전 것이 아님에도 블로그글에 제시된 코드로는 동작하지 않았다. 그래서 공식문서를 보며 따라갔다. https://www.artillery.io/docs/guides/overview/why-artillery Why Artillery? | Artillery - Wha..
-
[SW 정글 116일차] 나만의 무기 24일차 (끝까지 달려야 한다)기타/SW 사관학교 정글 2021. 11. 27. 04:47
오늘은 어제 하루를 마치고 팀회의를 통해 나온 우리가 앞으로 해야할 것들 중에 내가 하고 싶은 것, 할 수 있는 것을 정하여 작업을 진행했다. 일단은 수요일에 해결과제로 남긴 DB에 저장된 날짜데이터와 client에서 띄우는 날짜가 다른 것을 해결하는 것을 시작했다. https://straw961030.tistory.com/314 [SW 정글 114일차] 나만의 무기 22일차 (에러..) 오늘은 어제 계획했던 api 수정 작업부터 시작했다. 해야할 것은 하루에 해야할 챌린지를 하지 못해서 키우고 있던 생명체를 사망처리하는 것이다. 일단은 00시 00분에 스케쥴러가 돌면서 챌린지 straw961030.tistory.com 처음에 하고자했던 방식은 서버시간을 한국시간으로 맞추고 서버가 DB에 접근하여 받아왔..
-
[SW 정글 115일차] 나만의 무기 23일차 (나는 좋은 팀원일까?)기타/SW 사관학교 정글 2021. 11. 26. 06:41
오늘은 오랜만에 회고록을 쓰려고 한다. 나만의 무기, 5명의 팀원과 함께 프로젝트를 한지 23일차, 3주가 흘렀고 2주정도 남았다. 하나의 목표를 위해 6명이 다 같이 달리는 것은 생각보다 쉽지 않은 듯하다. 서로 다른 성격, 바라는 방향, 각자가 프로젝트를 통해 얻어가고자 하는 것들.. 하지만 목표는 프로젝트를 완성하여 사용자의 경험을 통해 서비스를 개선하고 싶은 것은 동일하다. 그리고 프로젝트의 완성도는 견고하면 좋겠다. MVP 철학에 맞추어 빠르게 최소한의 기능을 만들어 제품을 출시하는 것이 이상적인 방향이지만 빠르게 만들면서도 '이 상태로 사용자에게 제품을 주는 것이 맞을까?'하는 생각을 하며 UI를 고민하고 최소한의 기능 속에서 우리가 놓친 것이 없을까를 고민한다. 그러다 보니 우리 팀이 생각하..
-
[SW 정글 114일차] 나만의 무기 22일차 (에러..)기타/SW 사관학교 정글 2021. 11. 25. 05:58
오늘은 어제 계획했던 api 수정 작업부터 시작했다. 해야할 것은 하루에 해야할 챌린지를 하지 못해서 키우고 있던 생명체를 사망처리하는 것이다. 일단은 00시 00분에 스케쥴러가 돌면서 챌린지를 하지 않은 생명체를 체크했고 생명체 테이블에서 update가 되면 다른 테이블에서 삭제가 일어나거나 participant -1 이 되어야 했다. 이번 주 월요일 멘토링에서 멘토님이 해주신 말씀 중에 트리거에 의존하는 것은 좋지 않은 방법이라고 하셨다. 그래서 쿼리문으로 해결하려고 했는데 많은 시간동안 고민해도 해답이 나오지 않았고 일단은 사용자 경험 수집을 위한 빠른 개발을 위해 트리거의 힘을 빌렸다. 이외에도 필요한 api를 새로 만들거나 수정하는 작업을 걸쳤다. 그 중에서 가장 기억에 남은 api는 생명체 생..
-
[SW 정글 113일차] 나만의 무기 21일차 (기획 고민=∞)기타/SW 사관학교 정글 2021. 11. 24. 04:55
오늘의 어제의 작업을 이어서하고 오후 3시에 멘토링에 참여했다. 프론트엔드 현직자분이여서 우리의 화면 구성에 대한 문제점들에 대한 좋은 말씀을 해주셨다. 가장 큰 문제는 사용자가 이 서비스를 이용한다고 했을 때, 어떠한 행동을 많이할지에 대한 생각을 해봤는지와 해당 문제를 해결하려고했는가?이다. 로그인 후에 사용자가 가장 많이 할 것은 오늘 어떠한 챌린지를 해야하는지와 챌린지를 했으면 인증요청을 하는 것이다. 하지만, 우리는 이를 생각하고 있어도 서비스에는 묻어나지 않았다. 가령 파워포인트 프로그램을 들어가면 첫 화면이 최근 작성한 ppt파일과 새로 만들기 버튼이 나온다. 이유는 파워포인트 서비스를 이용하는 사용자들이 가장 많이할 행동이 최근 작성한 ppt를 이어 작업하거나 새로운 ppt를 만들기 때문...