JavaScript
-
CookieJavaScript/Node.js 2018. 12. 1. 00:38
Cookie쿠키란 사용자가 웹 사이트를 방문할 때 서버 측에서 사용자의 PC에 저장시키는 작은 데이터 파일이다.요청과 응답하는 과정에 텍스트 정보를 저장하고 읽어서 사용할 수가 있다.일반적인 브라우저에서 최대 4KB의 텍스트 정보를 담을 수 있으며, 하나의 사이트에서는 최대 20개의 쿠키 파일 생성이 가능하다.모든 사이트에는 최대 300개의 쿠키 파일을 생성할 수 있다.만약 최대 생성 허용 수치를 넘어 쿠키를 생성할 경우 가장 오래전 생성된 쿠키를 기준으로 삭제된 후 새로운 쿠키가 생성된다.쿠키는 최대 저장 용량이 4KB이기 때문에 간단한 정보를 저장하기 위해서이거나 최근 읽은 글, 최근 본 상품과 같은 식별자들을 저장할 때 활용된다. 이번 시간에는 쿠키를 생성하고 사용하는 방법을 알아보자. API 문서..
-
mysql - 글 삭제하기JavaScript/Node.js 2018. 11. 30. 20:01
mysql - 글 삭제하기이번 시간에는 데이터베이스의 글 내용을 삭제하는 방법을 알아보자. 글 목록에서 항목을 선택해서 글 상세보기로 이동하고 해당 페이지 메뉴 중 삭제 메뉴를 보여준다.삭제 메뉴를 클릭하면 삭제를 처리하기 위한 동의 여부 페이지로 이동시켜주고 선택에 따라 삭제 혹은 이전 페이지로 이동시켜준다. 삭제 메뉴 표현하기상세 내용을 보고 있을 때 삭제 메뉴를 선택할 수 있도록 메뉴를 추가하자.topic 즉 글 내용이 있을 경우 삭제 메뉴를 표현해주고 글 내용이 없는 경우 삭제 메뉴를 표현하지 않는다. 라우트 작성하기삭제 메뉴를 클릭할 때 삭제 동의 여부 페이지로 이동시켜주는 라우트를 작성하자.글 목록을 표현하기 위한 쿼리를 조회하고, 이후 글 상세 내용을 출력하기 위해 WHERE절을 붙여 현재 ..
-
mysql - 글 수정하기JavaScript/Node.js 2018. 11. 29. 13:40
mysql - 글 수정하기이번에는 글을 수정하는 방법을 알아보자. 글 목록을 선택하면 내용 하단에 수정버튼을 표현하고 그 버튼을 누르면 즉시 수정할 수 있도록 만들 것이다. 라우트 작성하기edit버튼을 클릭하여 발생하는 글 수정 페이지 이동 요청처리를 하자./topic/글 번호/edit URL 형식으로 요청을 받고 처리할 것이다. 글 목록을 전부 출력해주는 쿼리문을 실행하고 파라미터에 글 번호 id를 체크하여 해당 id의 글 내용을 불러오는 쿼리를 수행한다.불러온 글 정보는 글 수정 화면에서 출력해주기 위해 edit이라는 템플릿에 객체로 전달한다. HTML 템플릿 작성하기글 수정 폼을 표현하기 위해 템플릿을 생성하자. views_mysql 폴더 하위에 edit.pug를 생성한다.글 목록을 출력해주고 ar..
-
mysql - 글 등록하기JavaScript/Node.js 2018. 11. 28. 16:41
mysql - 글 등록하기이번에는 웹 애플리케이션에서 글을 작성하고 데이터 베이스에 추가하는 방법을 알아보자. /topic 페이지에 접속하면 글을 등록하는 add버튼을 표현한다.add버튼을 클릭하면 글을 등록할 수 있는 폼이 나타나고 글을 작성하면 작성한 글로 이동시켜주는 기능을 만들어보자. 라우트 작성하기글을 등록할 폼을 보여주기 위해 새로운 페이지를 작성할 것이다.페이지의 형식은 view.pug페이지를 기반으로 글 목록을 보여주고 아래에 작성 태그들을 보여줄 것이다.글 목록을 보여주기 위해 topic테이블을 조회한다. 테이블 조회가 정상적으로 이루어지면 add페이지를 렌더링한다. HTML 템플릿 작성views_mysql 하위에 add.pug 파일을 생성한다.해당 페이지를 글 등록 페이지로 사용할 것이..
-
mysql - 글 상세내용 출력하기JavaScript/Node.js 2018. 11. 28. 14:37
mysql - 글 상세내용 출력하기이번에는 데이터베이스에 저장한 글의 내용을 출력하는 방법을 알아보자. /topic 페이지를 들어가면 Welcome문구와 내용이 반겨준다.이후 트리 목록의 항목을 선택하면 그에 알맞는 컨텐츠 내용을 하단에 뿌려줄 것이다. 라우트 작성하기app_mysql.js를 열어 작성했던 내용을 수정한다.글 목록을 표현하는 쿼리문 안에 글 내용을 가져오는 쿼리문을 추가한다. 파라미터로 전달되는 id값을 판단하여 사용자가 어떠한 글 내용을 출력하길 원하는지를 판단한다.그리고 그 id값을 활용하여 조회를 시도하기 위해 WHERE절에 치환자로 사용한다.쿼리를 수행해보면 아래의 데이터가 조회된다는 것을 알 수 있다.조회한 결과는 [RowDataPacket {data...}] 형식으로 객체들을 ..
-
mysql - 글 목록 출력하기JavaScript/Node.js 2018. 11. 27. 20:37
mysql - 글 목록 출력하기지난 번에는 Node.js에서 제공하는 File System 모듈을 이용해서 저장된 실제 파일을 목록이나 파일 내용을 불러오고 파일을 생성하는 작업을 웹 애플리케이션에서 구현했었다.이번에는 Database를 통해 데이터를 저장하고 접근하고 변경하는 방법을 알았으니 파일 데이터가 아닌 데이터 베이스의 데이터를 이용해서 웹 애플리케이션에 정보를 출력하는 방법을 알아보자. 이전 시간에는 파일의 이름을 목록으로 불러왔다면 이번 시간에는 topic테이블의 title 데이터를 목록으로 불러와보자. 웹 애플리케이션 만들기기존의 app_file.js를 수정하지 않을 것이다.새로운 app_mysql.js파일을 생성해서 새로운 웹 애플리케이션으로 운영할 것이다.뷰파일 또한 따로 관리할 것이므..
-
mysql - mysql 사용하기JavaScript/Node.js 2018. 11. 27. 16:06
mysql - mysql 사용하기웹 프로그램은 Database와는 떨어질래야 떨어질 수 없는 구조이다.데이터를 저장하기 위해선 Database가 필수이기 때문이다.이번 시간에는 Node.js에서 mysql을 연결하여 사용하는 방법을 알아보자. mysql driverNode.js에서 mysql을 사용하기 위해서는 외부 패키지를 설치해야한다. (mysql뿐 아닌 모든 sql driver는 외부 패키지로 설치해야할 것이다.)npm에서 mysql을 검색해보자."Node.js로 만들어진 mysql 드라이버이고 자바스크립트로 만들어졌으며 컴파일이 필요없고 MIT 라이센스를 받았다."라고 설명되어 있다. 설치방법스크롤을 내려보면 설치방법에 대해 설명을 해주고 있다.npm registry를 통해 사용할 수 있는 Nod..
-
multer - 파일 업로드JavaScript/Node.js 2018. 11. 26. 15:27
multer - 파일 업로드Express에서 파일 업로드를 수행 및 처리하기 위해서는 외부 패키지를 설치해야한다.스프링에서 파일 업로드를 처리하기 위해서 commons-io, commons-fileupload같은 라이브러리를 사용하듯 Express에서도 외부 패키지를 설치해야 파일 업로드를 정확히 말하면 multipart/form-data를 처리할 수 있게된다. multernpm사이트에서 multer 패키지를 검색해보자. "Multer는 파일 업로드를 위해 사용되는 multipart/form-data 를 다루기 위한 node.js 의 미들웨어입니다. 효율성을 최대화하기 위해 busboy를 기반으로 하고 있습니다."라고 설명되어 있고 한국어 번역을 지원한다. 설치방법설치 방법은 아래와 같다. cmd에서 해..