Project/codestates-first-project 9

회고

팀정하고 발표준비하는 시간제외하면 사실상 코드를 치는시간인 일주일정도밖에 안되서 아쉬움이 많이 남는다 문제점 시간 부족으로 advanced로 분류해놓은것은 건드려 보지도 못하고 기본중의 기본기능들만 구현했다 branch를 좀 더 세부적인 부분으로 나눠서 작업하고 커밋도 자세히 남겨야겠다 (현재는 뒤로 돌아가고 싶어도 정확한 지점을 찾기 어려움) 더 해볼만한것 볼륨이 큰 프로젝트도 아니었고 공부 목적이 강해서 서로 다른 부분을 맡아서 작업한게 아니라 같은 부분을 각자 완성시키고 비교하는 식으로 했다. 그렇기때문에 한 사람만 push를 해서 git 관련 작업을 많이 해보지못했는데 테스트를 해봐야겠다 특히 병합하기 무섭다 새로고침시 로그인 기능 구현 프론트 부분 추가적인 공부

8~9 일차 / 마무리

진행 백엔드쪽은 얼추 마무리가 되어서 프론트쪽을 도와주면서 클라이언트와 서버의 연결작업을 해줌 비록 API를 정리해서 문서화했지만 아무래도 첫 프로젝트다보니까 바뀌는점이 많아서 백에서 프론트로 보내는 데이터의 형식 및 프론트에서 백으로 오는 데이터의 형식을 알맞게 조절해주는 작업을 해줌 (프론트에서 백으로 axios 요청도 이 시기에 짰음) 그리고 Do66i 님이 영혼을 갈아서 CSS를 이쁘게 꾸며줌 홈페이지 일기 로딩 & 리스트 일기 삭제 일기 입력 가계부 로딩 & 리스트 가계부 수정 실사용 gif 따준 Do66i 감사합니다

7일차 / AWS이용한 환경변수 설정

진행 AWS를 이용한 환경변수 설정 보안을 위해서 .env파일을 사용하지만 더욱 더 만전을 기하기위해서 AWS에서 환경변수를 설정해준다. 환경변수를 사용하기위해 config/config.json파일을 js파일로 바꿔준다 // module.exports로 묶어줌 예를들어 mysql의 비밀번호를 환경변수로 설정하고자 한다면 password: process.env.DATABASE_PASSWORD 처럼 선언해준 후에 AWS홈페이지의 Systems Manage - Parameter Store에서 파라미터를 생성해준다 예를들어 이름은 DATABASE_PASSWORD로 값은 12341234로 생성을 해준다음에 EC2 인스턴스에 AWS CLI를 깔아야해서 $ curl "https://awscli.amazonaws.co..

6일차 / 테이블간의 관계 설정

진행 테이블간의 관계설정 관계설정하는 이유는 테이블간의 무결성을 유지하기위해(좀 더 연관성있게 ex)부모 테이블 삭제시 자식 테이블도 삭제) 관계설정 방법에는 2가지가 있는데 마이그레이션과 모델 파일 모두 수정하는 방법과 //내가 함 마이그레이션을 하지않고 모델만을 사용하는 방법이 있다 //팀장님이 함 내가한 방법만 기술할것이고 다른 방법은 나중에 기술. 예를 들어 user가 여러개의 trip을 간다면 1:N 형태이다 그렇다면 trip table에 user_id가 외래키로 존재해야한다 1:N 세팅하는 법 일반적인 모델만드는 npx sequelize-cli model:generate --name User --attributes name:string 이거는 마이그레이션 파일과 모델 파일 모두 생성되는데 이거..

5일차 / MVC 모델

진행 MVC모델로 데이터베이스 기초만듦 (Model, View, Controller / 특정 라이브러리아닌 아이디어의 일종) Migrations을 사용했음 npm install --save-dev sequelize-cli // Sequelize CLI 설치 (이것을 사용하려면 추가 프로그램을 깔아야하는데 그중 하나가 mysql2) npx sequelize-cli init // 빈프로젝트 만들기 config.json 설정해주기 "timezone": "+09:00", // 한국시간으로 맞춰줌 "dialectOptions": { charset: "utf8mb4", dateStrings: true, typeCast: true } // 날짜의 경우 문자열로 타입 변경 처리 (utf8는 가변 3btye를 쓰지만ut..

4일차 / HTTPS인증과 도메인구입 (route53)

진행 백앤드 https 인증과 route53으로 도메인을 바꿨다 프론트와 백모두 AWS상에서 hello world 출력 성공 https인증은 AWS에서 로드밸런서를 이용해서 적용함 하는법(주의할점만) 로드밸런서 생성 Internet-facing 선택 Network mapping 2개이상 선택 Listener HTTPS로 만드는데 타게팅그룹은 Instances, Protocol은 HTTP로 만들고 다음페이지인 아래에서 443을 서버의 포트번호로 바꿔준다 *중요 From ACM으로 인증서 받아옴 (인증서 만드는법은 아래 따로 설명) --인증서 만드는법-- 우선 도메인을 발급받아야하는데 무료 도메인발급 사이트인 https://www.freenom.com/en/index.html?lang=en Freenom -..

3일차 / 보완한 SR

진행 변경점 여행을 1번만 갈것이 아니기에 trip 테이블을 따로 만들었고 accout 테이블과 diary 테이블을 user 아래에 종속시켰던것을 trip 아래 종속시킴 왜냐하면 하나의 유저가 여러개의 여행을 가지고 하나의 여행이 여러개의 가계부와 일기를 가짐 추가한점 다 대 다 관계를 만들기위해 해쉬태그기능을 일기에 넣을예정 1개의 일기가 여러개의 해쉬태그를 가지면서 1개의 해쉬태그가 여러개의 일기를 가질 수 있음 diary와 hashtag 테이블은 diary_hashtag 테이블을 조인테이블로서 사용함 API 정리 : https://manseon.gitbook.io/api-docs/reference/api-reference/remebertrip RemeberTrip - API Docs http://w..