본문 바로가기

BE/Node.js

(15)
[Node.js] 게시판 구현 2 ( 댓글 기능 추가, 페이징, 게시글 수정, 게시글 삭제, 이미지 수정 ) 게시판 구현 ( 댓글 기능 추가, 페이징, 게시글 수정, 게시글 삭제, 이미지 수정 ) 게시글 상세보기 기능 추가 - 개 인 정 보 - 글 번호 작성자 제목 등록일자 내용 이미지가 없습니다 이미지 : data.ejs 코드 게시글 상세보기 기능 구현 완료 이미지 출력 구현 글에 들어가면 이미지 출력 구현 완료 글 조회수 기능 추가 조회수 증가 기능 구현 완료 글 삭제 기능 구현 글 삭제 구현 완료 글 수정 기능 구현 제목 내용 modify_form.ejs 코드 게시글 수정 구현 완료 페이징 기능 구현 이전 다음 다음 / 추가 코드 페이징 구현 완료 댓글 기능 구현 create table reply( id varchar(20), title varchar(50), content varchar(300), wri..
[Node.js] 게시판 구현 1 ( 페이징, 게시글 작성 ) 게시판 구현 ( 페이징, 답변 ) create table paging( num number not null, title varchar2(30) not null, pdate varchar2(10) not null, count number not null, primary key(num) ); create sequence test_num; DB 테이블 생성 npm install express --save npm install ejs --save npm install oracledb@5.5.0 --save npm install supervisor --save npm install body-parser --save npm 설치 게시판 목록보기 구현 서버 실행 게시판 목록보기 구현 완료 글 작성기능 구현 서버 실행..
[Node.js] css 파일, script 파일을 분리하여 관리 자바스크립트 파일과 css 파일을 하나의 파일로 분리하여 관리
[Node.js] 파일(이미지) 업로드, 다운로드, 수정, 삭제 파일 업로드, 다운로드 npm install express --save npm install ejs --save npm install supervisor --save npm install body-parser --save npm install multer@1.4.4 --save npm 설치 form 태그 내에서 파일을 전송하는 경우 enctype="multipart/form-data" 위 코드를 적용해줘야 함 controller 에서 기존처럼 사용하지 않는 이유는 결국 controller 에 세부 경로가 많아질 수록 코드가 쌓이게 되는데 코드에서 문제가 생길 시 단순 출력 부분과 연산 부분 중 어느 부분이 문제가 생긴지 파악하고 쉽게 고칠 수 있기 때문... 또한 Object 로 묶어서 사용하는 이유는 ..
[Node.js] get, post, put, delete get, post, put, delete { "scripts": { "start": "npx supervisor app03.js" }, "dependencies": { "bcrypt": "^5.1.1", "body-parser": "^1.20.2", "ejs": "^3.1.9", "express": "^4.19.2", "supervisor": "^0.12.0" } } package.json 목록보기 회원가입 index.ejs const express = require("express"); const app = express(); app.set("views", __dirname + "/views"); app.set("view engine", "ejs"); let members = [ {id : "aaa",..
[Node.js] 암호화, fetch, spa 암호화 암호화 시 hash : 비동기적으로 작동 하므로 .then 이나 await 을 사용해줘야 함 hashSync : 동기적으로 작동하므로 따로 동기처리를 할 필요가 없다 DB 에 암호를 저장할때 암호화 과정을 진행한 값을 저장한다 fetch fetch 를 사용하지 않고 자기 자신의 페이지로 가는 링크를 이동하면 웹페이지가 처음부터 끝까지 새로 갱신된다 ( 즉, 웹을 처음부터 끝까지 다시 로딩한다 ) fetch : 서버로 요청을 하는 것은 a 태그, location.href 와 동일하나 fetch 는 서버로 연동은 되지만 페이지를 요청하는 것이 아닌 데이터만 주고 받는다 fetch 를 사용해서 받아온 데이터는 비동기적으로 작동하기 때문에 동기적으로 작동하게끔 처리해줘야 하며, 전달 받은 데이터는 jso..
[Node.js] DB 연동(2) - DAO 로 쿼리문 실행, 네비게이션 bar 만들기 DB 연동 create table members( id varchar2(20) primary key, pwd varchar2(100), name varchar2(20), addr varchar2(100) ); insert into members values('aaa','aaa','홍길동','산골짜기'); insert into members values('bbb','bbb','김개똥','개똥별'); insert into members values('ccc','ccc','고길똥','마포구'); commit; DB 에 데이터 생성 npm install express --save npm install ejs --save npm install oracledb@^5.5.0 --save npm install supe..
[Node.js] DB 연동(1) DB 연동(1) module 다운로드 npm install express --save npm install ejs --save npm install oracledb@^5.5.0 --save npm install supervisor --save npm install body-parser --save 위 코드는 동기 방식 ( 순차적으로 코드를 읽는다 ) DB 를 연결하는 방식은 비동기 방식이다. 비동기 방식이므로 코드가 순차적으로 읽히지 않고 DB 에서 데이터를 읽어오지 못한 경우에도 DB 에서 가져온 데이터를 가지고 연산해야 하는 코드들이 실행되게 된다.... 이때 비동기 방식의 코드가 처리된 이후 코드를 실행하게 설정해 줄 필요가 있다. 비동기 방식의 함수인 connect 를 선언하고 해당 함수가 실행 ..

728x90