-
프로젝트 구상 ::
"클라우드 시스템을 사용할 때, 카카오톡의 PC 로그인 시 1회용 인증 서비스를 구현해서 클라우드 시스템의 보안성을
향상시켜 클라우드에 저장된 파일들을 더 안전하게 지키는 시스템과 클라우드 시스템을 구현하고자 함."
개발 도구
JavaScriptVisual Studio Code
NodeJS
MySQL Workbench 8.0 CE (최신 버전으로 커스텀 설치)
MySQL 8.0 (최신 버전으로 커스텀 설치)
▶참고용 노드, npm 버전.
C:\Users\>npm -v 6.14.8
C:\Users\>node -v v14.11.0▶노드JS와 코드의 경우 설치 과정은 생략한다. ( >너무 보편적이므로 )
▶MySQL SerVer, Workbench 설치하기.
▼▼▼ 더보기 클릭 ▼▼▼
더보기공식 다운로드 사이트
:: dev.mysql.com/downloads/installer/
MySQL :: Download MySQL Installer
Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.22 2.5M (mysql-installer-web-community-8.0.22.0.msi) MD5: 6d4c2f4fe997f1e9e8a02b105e7f72c8 | Signatu
dev.mysql.com
1. 상단의 링크를 타고 접속하면, 해당 홈페이지가 나온다. 실행 시스템을 설정하라는데, 기본 값인 윈도우즈로 설정한다.
2. 하단의 빨간 박스에 보이는 하이퍼링크를 누른다.
3. 해당 파일을 다운로드 하고, 실행한다.
4. 왠만한 옵션은 OK > NEXT 를 해주고, 해당 Setup Type에선 커스텀을 선택하여 다운로드를 진행한다.
5. 기본적으로 이렇게 나오는데, 최상단의 카테고리에서 하위 카테고리로 선택하여 다운로드 한다 생각하면 편하다.
6. 이미 설치가 되어있어서 선택이 잘 안되어 캡쳐가 엉성하지만, 버전이 나왔을 때,
7. 기본적으로 설치는 이러한 흐름으로 진행한다.
8. 최종적으로 다운로드 필드에 MySQL 서버 8.0, MySQL 워크벤쳐 8.0 (최신)을 넣고 넥스트를 눌러주면 된다.
9. 쭉 NEXT를 진행하다가, 비밀번호를 설정하게 되는데 DB 접근할 때 설정해야하는 패스워드이므로 기억해놓아야 한다.
▲▲▲ 더보기 클릭 ▲▲▲
해당 파일을 실행 시키면.
이러한 영역을 확인할 수 있는데, 더블 클릭하여 진입할 수 있다.
이때, 요구되는 비밀번호는 워크벤쳐 설치할 때의 입력한 비밀번호다.
나중에 코드에서 config>config.json 에서 username 과 password 영역에서 워크벤쳐 설정과 동일하게 일치시켜야 한다. 또한 워크벤쳐에서 nodejs를 기반으로한 데이터베이스를 이용할 것이므로, nodejs로 데이터베이스를 변경해주어야 함.
워크벤쳐를 실행하면 다음과 같은 카테고리 영역이 나오는데, 하단의 Schemas(스케마)를 클릭한다.
그 후, Query(쿼리)에서 SQL문법을 통해 스케마에 DB형식을 진행할 수 있다.
해당 프로젝트 일지에서는 스케마를 초기화하는 DROP SCHEMA NODEJS; 와
CREATE SCHEMA nodejs DEFAULT CHARACTER SET utf8 를 주로 사용한다.
NODEJS 영역에는 자신이 상단에서 config.json에서 설정한 DB양식과 일치시키면 되고,
nodejs DEFAULT CHARACTER SET utf8 에서 디폴트 이후의 양식은 utf8이라는 유니코드 인코딩 양식인데, 완벽에 가깝다 한다. 단, 특수문자를 넣을 경우, 바이트가 꽉차므로 이모티콘까지 지원해주는, utf8mb4를 사용하면 된다.
MySQL과 자바스크립트 코드를 진행하면서, 코드의 변경이 있어서 변수와 칼럼값, 칼럼명 등 변하는 값이 생기게 될 경우 대부분 DB와 연동이 안되고, 오류가 발생하는 경우가 많다.
그때, 드랍 스케마로 텅텅 비워주고, 다시 스케마를 생성한다. 그 후 JS CODE 역시 종료해주고 재실행하여 DB를 재연결하여 시행해보는 것이 좋다.
" incorret integer value : 'on' for column 'seculogin' at row1. "
상단의 문제의 경우, DB문제는 아닌데, DB에 컬럼값 설정을 잘못했을 때, 나오는 문제다. 해당 컬럼에 들어갈 수 있는 값에 대해서 생긴 오류이다.
참고:: Node,js 교과서 예제 해당 값이 내 예상으로는 1 이나 0 이었기 때문에, BOOLEAN 으로 설정하였으나, ON이 담겨져 있게 되서, 해당 타입을 STRING()으로 변경하였다. 15는 임의의 수로 지정하였으나, ON 혹은 NULL 값만 저장될 것 이므로, 저장공간을 15가 아닌 2~5으로 딱 알맞게 하거나 넉넉하게 지정해주는게 좋을 것 같다.
앞으로 후술할 프로젝트 기록 일지에서는 직면하는 오류와 문제들에 대해 기술할 것이다.
'개발 > WEB' 카테고리의 다른 글
WEB_Servlet get() 이용한 아이디 비밀번호 실습 (0) 2021.09.07 JavaScript_NodeJS. Nodemailer를 이용해 메일을 보내자. (0) 2020.11.22 JavaScript_Project 기록 일지_04. DB의 원하는 row에 값을 저장하기. (20.11.28.최종수정) (0) 2020.11.19 JavaScript_Project 기록 일지_03. NodeJS KAKAO 메세지 전송 (0) 2020.11.19 JavaScript_Project 기록 일지_02. 발생 오류 [1]. 2020.11.28 최종수정 (0) 2020.11.19 댓글 (비로그인 댓글 허용하지 않습니다.)