기타
-
[SW 정글 106일차] 나만의 무기 14일차 (새로운 API 설계)기타/SW 사관학교 정글 2021. 11. 17. 03:57
오늘은 로그인을 하지 않은 유저가 welcome page(첫 페이지)에서 볼 수 있는 생명체들을 위한 데이터를 던져주는 api를 설계했다. 우리의 프로젝트에서는 첫 페이지에서 기존에 우리의 서비스를 이용하는 고객들이 목표달성을 하면서 키우는 각자의 생명체를 50마리 정도를 보여주려고 한다. 50마리를 선정하는 기준은 아직 확실하게 정해져있지는 않지만 지금은 일단 목표달성 인증 횟수가 가장 많은 생명체를 보여주도록 설계했다. 음.. 약간 인기글을 보여주는 것과 비슷하다고 말해야할까? 아직 우리의 서비스에 가입하지 않은 사용자에게 어떠한 목표 달성 컨텐츠가 있는지와 다른 사람들이 얼마나 열심히 사는지를 보여주는 목적이 있다. 이를 위해서는 생명체에 대한 정보를 프론트에 보내는 api가 필요했고 나는 오늘 그..
-
[SW 정글 105일차] 나만의 무기 13일차 (오늘 새로 배운 것)기타/SW 사관학교 정글 2021. 11. 15. 23:37
오늘은 로그인, 로그아웃 api를 프론트와 연동하는 것을 완성했다. 내가 맡은 부분은 아니고 로그인 api를 맡은 조원이 많은 고민을 하는 것을 옆에서 문제 공유를 하고 내 할 일을 끝나면 잠깐잠깐 도와주면서 해결과정 중에 배운 점들을 정리하려고 한다. 1. client에서 보낸 form data를 json으로 바꿔서 보냈는데 서버에서 못 받는다.. 로그인은 client에서 form페이지에서 유저에게 데이터를 받아서 POST로 보내는 형식이다. form data를 json으로 보내기 위해 request header를 "Content-Type": "application/json; charset=utf-8"로 설정해줬다. 그리고 JSON.jsonify(data)를 해서 json형태로 바꿔주기도 했다. cli..
-
[SW 정글 104일차] 나만의 무기 12일차 (라우터로 만들기)기타/SW 사관학교 정글 2021. 11. 15. 01:50
오늘은 지금까지 app.js(서버 코드의 모임)에 작성한 API들을 라우터로 만드는 작업을 했다. API가 많아짐에 따라서 코드의 복잡도가 높아지고 이 복잡도를 낮추는 방법이 라우터이다. 라우터를 만들기 위해서는 express 프레임워크에서 제공하는 Router라는 객체를 사용하면 된다. (참고자료: https://expressjs.com/ko/4x/api.html#router) 일단은 router를 저장하는 폴더를 새로 생성했다. (우리의 프로젝트에서는 routes라는 폴더 이름을 사용했다.) 내가 만든 API 중에 router로 만들 API는 챌린지 생성 API, 생명체 생성 API가 있다. 이 외에도 3개가 더 있는데 router 파일명을 어떻게 할지, 다른 팀원이 만든 API와 같은 파일에서 관리..
-
[SW 정글 103일차] 나만의 무기 11일차 (API 마무리 후 정비)기타/SW 사관학교 정글 2021. 11. 14. 00:18
오늘은 어제 마무리 못한 API 작성을 마무리했다. 먼저, 챌린지를 참여 중인 유저가 생명체 키우기를 마무리하고 새로 키우거나 잠시 쉴 때 혹은 챌린지를 끝낼 때 사용하는 API를 작성했다. 이 때에는 그 때까지 키운 생명체를 저장해주는 기획을 세웠다. 간단히 정리하면 살아있는 생명체를 관리하는 table에서 챌린지 미참여 생명체 table로 옮겨주는 작업을 했다. 그리고 나서 javascript에 대한 기초공부를 복습도 할겸 첫 주차 때 못잡았던 개념을 잡기도 할겸 간단한 강의를 봤다. js에서 쓰이는 variable인 var, const, let의 차이를 알고 호이스팅(hoisting)에 대한 개념을 알 수 있었다. 그리고 변수의 scope와 object는 reference를 메모리에 저장해놓는다는 ..
-
[SW 정글 102일차] 나만의 무기 10일차 (생명체 사망 API)기타/SW 사관학교 정글 2021. 11. 13. 03:28
이전 글에 쓴 AWS RDS 서버시간 변경을 완료하고 어제 해결하지 못한 생명체 사망 API를 완성하려고 시도했다. 모든 조원들이 나오기 전까지는 AWS에 대해 얄팍한 지식이라도 쌓고 싶어서 AWS에서 쓰여지는 용어, 그리고 EC2에 대해 알아보다가 중간에 멈추고 API 설계를 다시 고민했다. 고민하면서 나온 방법은 아래와 같다. 인증관련table과 생명체관련table을 join해서 정각에 사망처리(삭제)해야하는데 어떻게 해야할까? 일단은 사망처리해야하는 생명체는 인증조자 하지 않은 생명체, 인증은 했는데 수락을 받지 못한 생명체이다. 인증은 했는데 수락을 받지 못한 생명체는 인증관련table에서 isAuth라는 column에서 boolean 타입으로 수락을 받았으면 1, 받지 못했으면 0으로 관리를 해..
-
AWS RDS time_zone 변경기타/SW 사관학교 정글 2021. 11. 13. 02:57
오늘 아침은 어제의 문제 해결부터 시작했다. 어제의 문제 첫 번째는 AWS RDS 서버 시간을 UTC에서 한국시간, 정확히 말해서는 ASIA/SEOUL로 바꾸는 것이다. 구글링을 통해 많은 방법을 시도해봤지만 되지 않아서 '나는 왜 안될까...'를 마음 속으로 반복했지만 결국에는 해결해냈다. 다음에 또 써먹을 일이 있을 수 있으니까 정리해보려고 한다. 1. RDS Management Console을 들어가면 왼쪽 메뉴바에 파라미터 그룹을 클릭하여 들어간다. 2. 초기에는 default.mysql8.0 그룹이 기본으로 생성되어 있지만 이 파라미터 그룹을 들어가서 파라미터는 바꾸지 못한다. 그래서 새로운 파라미터 그룹을 생성해주어야 하고 오른쪽 위에 오렌지색 버튼(파라미터 그룹 생성)을 클릭한다. 3. 아래..
-
[SW 정글 101일차] 나만의 무기 9일차 (API 설계 시작)기타/SW 사관학교 정글 2021. 11. 12. 02:57
오늘은 우리의 프로젝트에서 필요한 API 기능을 설계하고 코딩하는 작업을 했다. 오늘 내가 만든 API는 새로운 챌린지(목표)생성 API와 생명체 생성 API 그리고 계속 머릿 속으로 고민 중인 생명체가 죽었을 때 어떻게 API를 짜느냐이다. 챌린지 생성과 생명체 생성 API는 front에서 post로 받아온 데이터를 DB에 INSERT하면 되기 때문에 front가 어떠한 데이터를 body의 어디에 담아서 던져줄지만 알면 쿼리로 쉽게 구현이 가능했다. 하지만 생명체가 죽은 API 설계는 다르다. 정각(00시 00분)에 죽어야하는 생명체를 DB에서 조회해야하는데 인증관련데이터를 가지고 있는 DB를 조회해서 인증을 요청했지만 인증 완료를 받지 못한 생명체는 죽이는 것이 가능하다. 하지만, 인증조차 보내지 않..
-
[SW 정글 100일차] 나만의 무기 8일차 (관계형 데이터 모델링)기타/SW 사관학교 정글 2021. 11. 11. 03:36
오늘은 나의 1차 역할 중 하나인 관계형 데이터 모델링을 진행했다. 혼자가 아닌 백엔드팀 팀원 중 한 명과 같이 진행을 했고 관계형 데이터 모델링은 처음이라 어떠한 방식으로 진행되는지를 알기위해 생활코딩 강의를 정주행하고 감을 잡았다. 업무파악->개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 1. 업무파악 일단은 우리가 어떠한 데이터들을 DB에 구축되어야하는지 파악하는 작업을 했다. 오후 2시에 진행된 화면구성 및 진행방향 회의를 가진 것과 우리가 처음 만든 와이어프레임을 참고하며 무엇을 해야하는지 팀원과 의논했다. 회원가입 시에는 어떠한 데이터가 저장될지, 개인생명체보유화면에서는 어떠한 데이터를 보여줘야할지, 단체챌린지생명체보유화면에서는 어떠한 데이터를 보여줘야할지, 인증 ..