기타/SW 사관학교 정글
-
[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로 어떠한 것을 선택해야하나를 알아보았다. 이것을 정리하기 이전에 일단은 우리..
-
[SW 정글 97일차] 나만의 무기 5일차 (사용할 기술 알아보기)기타/SW 사관학교 정글 2021. 11. 7. 23:07
오늘은 생활코딩 강의에서 passport를 사용한 인증 구현을 하고 저녁을 먹은 뒤에 이번 프로젝트에서 사용할만한 기술을 알아보았다. DB와 관련되어서 우리는 MySQL을 사용할 것이지만 DB의 요청이 많아진다면 다수의 클라이언트에게 응답을 보내는 속도가 느려질테고 성능 개선이 필요해질 시점이 올 것이다. 이를 위해 DB 앞 단에 Redis를 둘 수 있다. Redis는 인-메모리 형태로 디스크를 사용하는 DB보다 속도가 빠르고 key-value형식을 사용한다. 이러한 Redis를 캐시로 사용하여 더 빨리 DB요청 작업을 해결할 수 있다. 다음으로 nodejs를 실행환경으로 하는 웹 서버를 설계할 예정이지만 더 사용자가 많아지게 된다면 서버 증설과 로드밸런서역할이 필요할 수 있다. 그리고 nodejs를 W..
-
[SW 정글 96일차] 나만의 무기 4일차 (쿠키, 세션 인증 구현)기타/SW 사관학교 정글 2021. 11. 7. 03:18
오늘은 로그인/로그아웃 그리고 회원가입 구현을 위한 기초학습인 쿠기, 세션 인증을 nodejs로 구현하는 과정을 학습했다. 파이썬 플라스크를 이용하여 로그인 기능은 만들어봤지만 nodejs에서는 어떠한 모듈을 이용하여 하는지를 알아볼 필요성이 있어서 생활코딩의 강의를 참고하여 학습을 진행했다. 먼저, 쿠키 인증단계에서는 cookie라는 모듈을 사용했다. 쿠키는 사용자 개인화 서비스 위해 사용되기도 하고 지금은 보안 상 세션이나 jwt를 사용하지만 인증을 위해 사용되었다. 쿠키의 방식은 클라이언트가 어떠한 요청을 보내면 서버가 이후에 요청 때는 '이러한 정보를 담고 있는 쿠키를 보내면 사용자의 정보를 알고 누구인지 알 수 있을 것같아요.'하는 것을 쿠키로 만들어 응답과 함께 보낸다. 쿠키를 받은 클라이언트..