4월 22일 금요일부터
드디어 나의 첫 항해 99 실전 프로젝트가 시작되었다!
이전 프로젝트와 다르게 6주를 진행하다보니,
프로젝트를 실제 사용되는 사이트처럼 좀더 디테일하게 구현해야할 것같다.
미래의 백엔드 개발자로서,
이번 프로젝트에서는 유지, 관리에 용이한 프로젝트로 만드는데
좀더 집중해야할 것같다
1주차에 한일!
처음 기획한 사이트는 기부관련 웹사이트였다.
결제시스템을 도전해보고 싶어서 기획하였는데,
"결제시스템이 되는지 안되는지 확인하라" 라는 멘토님 리뷰에
하지말라는 말인지 이해를 못하고... 3일동안 진짜 실현하는 방법만 찾아봤더랬다..
기획멘토링미팅에서 멘토님과 직접 이야기를 하고서는,
우리가 기획한 프로젝트가 개발자로서 보여줄 기능도 충분하지 않으며,
실제 프로그램을 런칭한다고 가정했을때, 충분히 좋은 소재가 아님을 깨닭았다.....
부랴부랴 두번째 프로젝트를 기획하고 개발을 시작했다.
처음 기획했던 소재가 와이어프레임, API명세서 작성이 꽤 빨리 끝났기에
Mysql DB연결도 하고, 쿼리로 직접 코드도 작성하기도 했었다.
그래서 두번째 기획된 주제가 확정되면서
하루만에 와이어프레임, API명세서, 디자인레이아웃까지 끝냈다.
(배우지 않았던 기능을 시도한 기능들은 와이어프레임과 API명세서는 제외되었다.)
나머지 2일은 로그인과 회원기능을 REST API 기능구현을 완료했고
해당 부분에 대해서는 https로 배포를 완료하였다.
1주차: 기술적인 이슈과 해결!
이번 프로젝트에서는 웹사이트의 데이터 보안을 위해 HTTPS 를 사용하게 되었다.
HTTPS란?
HTTPS는 하이퍼 텍스트 전송 프로토콜 보안(Hypertest Transfer Protocol Secure)의 약자이다.
일반 HTTP 프로토콜은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는 문제점이 있다. 그래서 터이터가 쉽게 도난당할 수 있다. HTTPS 는 SSL(보안 소켓 계층)을 사용하여 이 문제점을 해결했다.
SSL은 서버와 브러우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을때 이것이 도난 당하는 것을 막아준다. 데이터를 암호화하여, 도난을 당하더라도 암호화되어있기 때문에 해독할 수 없다.
HTTPS 연결은 아래의 블로그를 참고하였습니다.
이슈 1. crbug/1173575, non-JS module files deprecated.
<해결방법>
*윈도우 터미널(cmd) 아래와 같이 작성후, 컴퓨터 전원을 껏다가 켠다.
ipconfig/release
ipconfig/renew
ipconfig/flush DNS
해결되는가 싶더니, 깃배쉬에서 port 오류로 배포가 되지 않았다.
이슈 2. http에서 https로 포트포워딩이 안될때
<해결방법>
*깃배쉬에 작성, 모든 포트를 삭제하면된다.
1. 포트포워딩 확인하는 명령어
sudo iptables -t nat -L --line-numbers
2. 포트포워딩 삭제 명령어 (갯수만큼 반복한다)
sudo iptables -t nat -D PREROUTING 1
3. 포트포워딩 확인하는 명령어 (삭제되었는지 확인한다.)
sudo iptables -t nat -L --line-numbers
아래의 블로그를 참고하였습니다.
https://kelly-tech.tistory.com/32
'개발 이야기 > 항해99' 카테고리의 다른 글
[항해99] 10주차(실전 3주차) - 중간발표 (0) | 2022.05.15 |
---|---|
[항해99] 9주차(실전 2주차) - Error Code: 1071 (0) | 2022.05.08 |
[항해99] 6주차 - CORS 란? (0) | 2022.04.10 |
[항해99] 5주차 - ORM(Object Relational Mapping)이란? (0) | 2022.04.03 |
[항해99] 4주차 - package.json이란? (0) | 2022.03.27 |