분류 전체보기
-
[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시에 진행된 화면구성 및 진행방향 회의를 가진 것과 우리가 처음 만든 와이어프레임을 참고하며 무엇을 해야하는지 팀원과 의논했다. 회원가입 시에는 어떠한 데이터가 저장될지, 개인생명체보유화면에서는 어떠한 데이터를 보여줘야할지, 단체챌린지생명체보유화면에서는 어떠한 데이터를 보여줘야할지, 인증 ..
-
[SW 정글 99일차] 나만의 무기 7일차 (2차 발표)기타/SW 사관학교 정글 2021. 11. 9. 22:47
오늘은 운영진님들과의 2차 발표를 가진 날이다. 1차 발표를 한 지 5일이 지난 시점이고 우리가 얼마나 많이 했어요를 보여주는 것보다는 우리가 이러한 고민을 하고 있고 방향성은 정한 상태인데 아직 확실하지 않은 부분이 남아있어요, 그리고 개발 상태는 이 정도까지 진행했어요를 보여주는 자리이다. 일단은 조장님의 발표를 시작하여 10분동안 5일동안의 이슈를 얘기하고 현재 우리의 진행 상태를 얘기하려고 했는데 시간적으로도 그렇고 운영진님들이 들어야 할 우선순위에서 밀리기 때문에 발표를 들은 후의 의견들을 말씀해주셨다. 우리가 얘기한 이슈는 크게 3가지이다. 1. 기획한 서비스가 웹이 아닌 앱에 가깝다. 목표달성이라는 카테고리를 들었을 때 웹이 아닌 앱이 먼저 떠오르고 웹으로 구현했을 때 흐름이 자연스럽지 않다..
-
[SW 정글 98일차] 나만의 무기 6일차 (나의 1차 역할)기타/SW 사관학교 정글 2021. 11. 9. 02:00
어제 일찍 잠에 들어 오늘은 강의실에 6시에 나오는 것이 목표였지만 늦잠을 자서 8시에 나왔다. 알람을 듣고 눈은 떴지만 몸에 피로감이 너무 쌓여 있다는 것을 느꼈고 '1시간만 더 자자'한 것이 시간이 더 흘러버렸다. 일단은 빠르게 씻고 강의실에 나왔다. 강의실에 나와서 한 것은 Nginx의 사용이유를 알아보았다. 처음에 조장님께 web server는 아파치보다 NginX가 현업에서 많이 쓰이는 추세를 보이는 그래프와 성능 상 좋다는 것을 알려주며 NginX를 사용하자고 했다. 하지만, 그 때 당시에는 유튜브 영상 하나를 근거로 말했고 아파치가 왜 NginX보다 밀리는 것인지를 알아보지 않았다. 그래서 우리가 Web Server로 어떠한 것을 선택해야하나를 알아보았다. 이것을 정리하기 이전에 일단은 우리..