코드스테이츠 - Final Project 회고

엄혜진·2021년 11월 18일
0

CodeStates

목록 보기
15/15
post-thumbnail

길고 길었던 프로젝트도 끝나고 이번 주 금요일이면 수료를 하게 된다. 이번 년도 목표였던 ‘기수이동 없이 수료하기’ 를 이뤄냈다. 이제 끝이라는 생각을 하니 뭔가 시원섭섭하고 후련한데 후련하지 않은 그런 느낌이다. 약간 수능 보고 난 후에 기분이랄까?🤔
프로젝트를 진행하면서 백앤드에 대한 공부가 정말 많이 되었다. 이해가 잘 안되었던 배포 파트도 백앤드를 같이 진행했던 팀장님 덕분이 많이 알게 된 것 같고, 코스를 진행하면서 공부했던 것 보다 프로젝트 과정에서 더 많이 배운 것 같다. 프로젝트를 진행하면서 만났던 오류들을 따로 저장해놓으니 같은 오류를 만났을 때 당황하지 않고 수월하게 진행할 수 있었다. 지금의 기억이 휘발되지 않게 블로그에 남겨놓으려고 한다. 이제 코드스테이츠를 수료하게 되니 매주 공부하면서 정리했던 카테고리는 없어지게 되겠지만, 취업 준비를 하면서 개념들을 정리해보아야겠다✊


[Winner's Record]

랜딩페이지

메인페이지

토너먼트 진행

채팅

마이페이지

🖱 Winner's-Record


프로젝트 진행 중 오류 해결

  • [AWS 연결 거부]
- 브라우저는 80 포트가 기본포트​로 잡혀있기 때문에 포트번호를 입력하지 않으면 자동으로 80포트를 잡음

  ∴  Tomcat 포트를 80 포트로 변경하는 방법 or 80 포트로 접근하게 하고 CentOS 에서 80 포트 접속시 8080 포트로 리다이렉트 해주는 방법

- 추가 : [root@localhost~]# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

- 삭제 : [root@localhost~]# iptables -D PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080


- iptables 저장 : [root@localhost~]# service iptables save

- iptables 확인 : [root@localhost~]# iptables -t nat -L


- iptables 재시작 : [root@localhost~]# service iptables restart


  • DB에 저장되어 있는 테이블이 가져오지 않을 때 해결방법
ES6 문법으로 프로젝트를 진행 => sequelize는 ES6문법이 접근이 불가

- models 폴더에 package.json 추가

  {
    "type": "commonjs"
  }



- config 파일을 만들어서 config.cjs 추가 

  const dotenv = require('dotenv');
  dotenv.config();

  const development = {
    username: process.env.DATABASE_USER,
    password: process.env.DATABASE_PASSWORD,

    database: 'WR',
    host: process.env.DATABASE_HOST,
    dialect: 'mysql',

    port: process.env.DATABASE_PORT,
  };

  const production = {
    username: process.env.DATABASE_USER,
    password: process.env.DATABASE_PASSWORD,

    database: 'WR',
    host: process.env.DATABASE_HOST,
    dialect: 'mysql',

    port: process.env.DATABASE_PORT,
  };

  const test = {
    username: process.env.DATABASE_USER,
    password: process.env.DATABASE_PASSWORD,

    database: 'WR',
    host: process.env.DATABASE_HOST,
    dialect: 'mysql',

    port: process.env.DATABASE_PORT,
  };

  module.exports = {development, production, test};

[https://github.com/gyoogle/nodeStudy/blob/master/MYSQL%20%EC%8B%9C%ED%80%84%EB%9D%BC%EC%9D%B4%EC%A6%88%20%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.md]


  • sequelize babel / sequelizerc 에러 해결
바벨 사용을 위해 .sequelizerc 생성
$ npm i --save-dev babel-register

  require("babel-register");

  const path = require('path');

  module.exports = {
    'config': path.resolve('config', 'config.json'),
    'models-path': path.resolve('models'),
    'seeders-path': path.resolve('seeders'),
    'migrations-path': path.resolve('migrations')
  }

[https://pjt3591oo.github.io/sequelizejs_translate/build/html/OtherTopics/Migrations.html]


  • root의 plugin이 'mysql_native_password'로 설정이 안되어 있어서 db:migrate 진행시 root로 들어가도 진입 불가
mysql에 접속 후

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;


+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
  
plugin이 auth_socket으로 되어 있는 부분을 변경

mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
 

*sequelize 진행 시 오류 발생하는 경우*
npx sequelize db:seed:all --debug로 오류를 상세히 파악 가능

[https://bscnote.tistory.com/77]


  • mysql utf-8 (한글깨짐 문제)
사용할 테이블을 utf-8로 설정 후 생성
mysql> CREATE DATABASE [테이블명] DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

or mysql을 재설정 [https://soreal13.github.io/ubuntu-mysql-utf8/]


  • EC2 접근 오류
EC2 root로 로그인

[ec2-user@ip-172-31-7-114~]$ su -root  //루트 사용자 권한을 가정
[ec2-user@ip-172-31-7-114~]$ passwd root  //root 사용자의 암호를 생성

// 메시지가 표시되면 임시 루트 암호를 입력한 다음 다시 입력하여 확인

[ec2-user@ip-172-31-7-114~]$ passwd –d root  //작업을 완료한 후 다음 명령을 실행하여 루트 암호를 삭제
 
 
*sudo su 명령어로 root 얻어오고 작업할 수도 있음*

2개의 댓글

comment-user-thumbnail
2021년 11월 19일

고생 정말 많았으셨어요!! 수료 축하드립니다 선배님!!!!!! 😇

1개의 답글