Project/NYAM
-
거기는 업무 관리를 어떻게 하나요?Project/NYAM 2023. 6. 19. 16:29
작년 GDSC 에서 진행을 한 잡페어에서 , 다른 서비스 팀들의 기술에 관한 질문 보다는 어떻게 팀 또는 스쿼드를 구성하는지 , 회의는 얼만큼 하는지 ,스프린트는 어느 주기로 하는지 등을 주로 물어보고 다녔고 그중 가능하면 항상 기술부채를 어떻게 처리를 하는지 많이 물어 보았다. 기술 부채라는 것의 정의가 팀마다 다르긴 한데 당시 속해 있던 리브위드 팀의 기술 부채의 정의란 다음 3개 의 항목으로 정의 할 수 있다. 1. 지금 당장의 지식으로는 해결 할 수 없는, 서비스 운영의 1~2 주 안으로 추가 하지 않아도 되는 기능 2. 미래의 개발을 해야할 아직 명확한 기획안이 나오지 않은 기능. 3. 컨번션 미 준수 사항 수정 및 리펙토링 당시에는 팀원들이 해야할 작업들을 매주 화요일 개발팀 회의를 통하여 정..
-
S3 버킷 정책과 api 를 이용한 이미지 다운로드Project/NYAM 2023. 3. 3. 22:01
s3 의 버킷 정책을 추가해보겠습니다. 상황: 이미지 파일을 다운로드가 필요한 요구사항이 들어왔습니다. 본인의 로컬 컴퓨터로 다운로드 하기위해서는 s3 의 키값을 로컬로 저장하고 커맨드로 다운로드 가 가능하니 공식 문서를 참고하시길 바랍니다. 추가로 api 를 이용하여 다운로드 환경을 구성할려다 브라우저에서 다운로드를 지원하는것을 개발중에 깨달아 사진이 기획자분들에게 사진 객체의 url 을 전달하는 것으로 마무리 지었습니다. 추가한 버킷의 정책은 다음과 같습니다. { "Version": "2012-10-17", "Statement": [ { "Sid": "CustomPublicRead", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", ..
-
매장 조회수 적용 api 성능 개선기(promise.all) 성능 4배 올리기Project/NYAM 2023. 3. 3. 01:48
사용 기술 : Nest.js - mongoDB 현제 서비스 중인 어플리케이션은 사용자의 행동들에 따른 log 데이터를 생성하여 특정 형식으로 mongodb 에 저장을 해둡니다. 가게 검색시 가게 조회수별 정렬을 위하여 다음과 같이 store_view 를 추가했습니다. 가게 데이터입니다. 추가로 store_total_view 도 추가를 같이 하였습니다. 서비스가 커지는 것을 예상을 하여 ,항상 가게들의 모든 조회수를 계산하여 데이터를 업데이트 하는 방식은 서버와 디비에 부담이 될것이므로, 스캐줄러를 이용하여 모든 조회수를 store_total_view 에 저장을 하고 , 특정 기간별 (예 최근 1주일 ) 조회는 store_view 에 넣는 방식으로 구성을 했습니다. 사용자의 모바일 기록 Log 데이터는 다..
-
매장 리뷰수 계산 api 성능 문제Project/NYAM 2023. 2. 28. 19:53
사용 기술 : Nest.js - mongoDB 현제 서비스 중인 어플리케이션은 유저별 리뷰수를 지원을 하고 있다. 유저는 리뷰를 지울 수는 없으며, 개발자 혹은 기획자는 리뷰를 차단 할 수 있다. 이 글은 리뷰마다 유저들의 리뷰수를 보여주기 위하여 실제 서비스 운영중에 기능을 추가했던 상황과 대략적인 방식 그리고 현제 업데이트될 방식과 상황에 대한 글이다. 데이터를 보자 유저의 리뷰 숫자가 , 리뷰 도큐먼트 안에 들어가 있다. 또한 유저의 데이터에도 유저 리뷰 카운트의 숫자가 들어가 있다. - 리뷰의 숫자를 추가하는 기능이 리뷰를 만드는 기능보다 나중에 나와서 , 리뷰의 숫자를 계산하는 기능을 새롭게 업데이트를 할때 업데이트시 초기화 해주는 유저의 리뷰수 데이터 필드와 실제 리뷰수가 일치하지 않는 다라는..
-
"아니 디도스 공격을 받았다고요 ???"Project/NYAM 2023. 2. 25. 01:37
넵 저희 서버 이야기는 아니지만 연관된 이야기 입니다 여유롭게 오늘도 학교에 있는 스타트업 사무실로 출근을 하는중 ,,,,,,,, 너무 여유가 넘쳤나 봅니다 https://www.boannews.com/media/view.asp?idx=114586 가비아, 디도스 공격으로 네임서버 장애... 현재 서비스 정상화 가비아가 24일 오전 10시 12분부터 12시 58분까지 디도스(DDoS) 공격을 받아 가비아 전체 서비스에 장애가 발생했다고 밝혔다. 이로 인해 가비아 네임서버로 연결되어 있는 서비스 연결이 불안정 했 www.boannews.com 저희 앱은 가비아에 도메인을 등록 한후 3 개의 서브 도메인을 추가로 구성을 하여 앱, 웹, 개발 등여러곳에서 운영 중이었고 도메인 호스팅 업체가 디도스 공격을 받을..
-
몽고디비 필드값 다중 검색 $or 사용 및 향상Project/NYAM 2023. 2. 24. 21:39
앱 마이무라의 다음 버전의 들어가는 가게 검색 api을 만든 것을 정리 하는 글입니다. 사용기술 : NestJS , MongoDB, Regex() 다음 과 같은 필드에서 가게 이름 ("store_name": "돈카츠앤우동돼랑이우랑이") 또는 가게의 메뉴를 입력 받았을때 모든 가게를 찾는 검색 쿼리를 만들려고합니다. "store_name": "돈카츠앤우동돼랑이우랑이", "store_thumbnail_image": "store/1672723948155.jfif", "store_call": "02-969-1999", "category": { "category_name": "일식", "category_id": "63aef68a0ef2e5098a34e48d" }, "sp_categorys": [ { "catego..
-
MongoDB export errorPath collision at ~ remaining portion ~Project/NYAM 2023. 2. 19. 18:34
MongoDB export errorPath collision at ~ remaining portion ~에러 몽고 디비에서 다음과 같이 에라가 발생을 하였다. 이에 대한 답변중 몽고디비 개발 커뮤니티에 나 말고 다른 분들도 같은 에러를 만나는것을 찾았고 힌트를 얻었다. https://www.mongodb.com/community/forums/t/path-collision-trying-to-export-collection/115939 Path Collision trying to Export Collection I’m completely new to Mongo so please bear with me. I’m using Compass and I’m able to view collections, query ..
-
MongoDB,NestJs 공백 제거, 공백포함 문자열 찾기 [검색 기능 고도화]Project/NYAM 2023. 2. 19. 16:07
들어가기에 앞서 $in vs $or 의 관한 몽고디비 직원의 답변을 참고 하길 바란다. https://www.mongodb.com/community/forums/t/performance-of-or-vs-in/175513/5 몽고 디비에는 다음과 같이 저장이 되어있다. store_name: "뽀르뚜아 외대점" 사용자의 편의를 위한 검색 api를 만들고자 한다. 검색은 다음과 같은 예시가 있을 것같다. 1.뽀르뚜아 외대점 : 이름이 완전히 같은 경우 2뽀르뚜아 : 이름의 일부만 있는 경우 3.뽀르뚜아외대점 : 이름의 공백이 없는 경우 방식은 두가지로 고민을 했다. 1. 모든 데이터를 부른후 공백을 제거하여 배열에 넣고 사용자 입력의 모든 공백을 지우고 디비에서 부른 데이터와 비교하면서 같은지 찾는다. -> ..