본문 바로가기
320x100

Projects/NodeBoard16

Query방식에서 Sequelize ORM으로 전환 기존에는 db-query.js 파일 내에서 직접 SQL쿼리를 통해 정보를 가져오고 수정하였다. var db = require('./db-connect') var useCrypto = require('./crypto'); var getList = function(amount,type,page,callback){ // 전체 글 조회 if (type=='all'){ db.query('SELECT COUNT(*) AS COUNT FROM POST',function(err,count){ if (err) console.log('에러 발생 : ' + err); else{ count = count[0].COUNT; var maxPage = Math.ceil(count / amount); db.query('SELECT .. 2021. 5. 12.
Summernote 에디터 적용, imgbb 서버로 게시글 이미지 업로드 글 에디터는 기존에 그냥 텍스트만 쓸 수 있는 에디터였다. 이는 게시판이라면 너무나 부실한 것이고 전혀 실용적이지 않다. 그래서 에디터를 적용해야 하는데, 에디터를 javascript로 직접 만들기에는 너무 배보다 배꼽이 커질 것 같고 해서 공개되어있는 에디터를 적용하기로 했다. 그중에서도 심플하면서 유명한 Summernote를 적용하기로 했다. summernote.org/ Summernote - Super Simple WYSIWYG editor Super Simple WYSIWYG Editor on Bootstrap Summernote is a JavaScript library that helps you create WYSIWYG editors online. summernote.org 그 전에, 사전작.. 2021. 4. 29.
로그인 유저 글쓰기/댓글쓰기 차별화 저번에 로그인까지 만들었는데, 그 이후 로그인 유저는 글쓰기와 댓글쓰기를 비밀번호 입력 없이 가능하도록 수정해야 했다. 이 과정에서 많은 수행착오가 있었고, 결국 보안상 별로 좋지는 못하지만 기능을 구현하는데는 성공하긴 했다. 글쓰기 먼저 로그인 유저의 경우 글쓰기를 할 시 닉네임이 수정 불가능이어야 하고, 글 삭제, 수정을 위한 비밀번호 입력이 없어야 한다. 이를 위해 write.ejs에서 로그인 정보가 없을 경우만 비밀번호 입력란을 생성하도록 하였다. 물론 view.js에서 세션의 로그인 정보를 페이지 렌더링 전에 넘겨준다. 닉네임 입력란 같은 경우 수정 불가능하도록 바꿨다. 로그인 유저의 경우 글의 password 칼럼은 유저의 고유 id 값을 암호화하여 저장하였다. 글조회 글 조회의 경우 비로그인.. 2021. 4. 5.
passportjs를 이용한 구글 로그인 소셜 로그인을 구현하기 위해 몇가지를 공부했다. 먼저 로그인 정보를 유지하기 위해서는 세션의 도입이 필수 불가결한데, nodejs express에서 어떻게 세션을 다루는지, 또한 passportjs를 이용하여 어떻게 하면 구글 로그인을 구현할 수 있을지에 대해 알아보았다. 일단 sidebar에 임시로 구글로 로그인 링크를 걸어놓는다. npm install -s passport passport-google-oauth 해당 명령어를 사용하여 passportjs로 google로그인을 하기 위한 준비를 한다. 유저 정보를 담을 user테이블의 Column으로는 구글로 로그인 했을 시 넘어오는 id값을 저장할 USER_CODE와 NICKNAME,그리고 해당 유저의 등급(ADMIN,USER)를 저장할 GROUP을 .. 2021. 3. 17.