본문 바로가기

node.js30

Node.js - 싱글 스레드(Single thread), 비동기(Asynchronous) 이란? 노드JS가 운영되는 방식 안녕하세요. 고코더 입니다. Node.js의 가장 큰 특징이라고 하면 싱글 쓰레드에 비동기 처리 방식입니다. 사용자의 요청은 한 곳에서 받지만 작업은 실질적으로 멀티쓰레드로 운영하여 결과를 구현합니다. 예제로 이 방식을 표현해보겠습니다. ● 1. 싱글 스레드, 비동기 예제 " 따뜻한 오후 서점 독서중인 고코더는 배가 고파서 푸드코트로 이동합니다. 주문 방식은 먼저 한식,중식,일식,양식등 다양한 입점사들의 요리를 보고 선택을 합니다. 그리고 계산대 앞에서 줄을 섭니다. 앞 손님은 돈까스를 주문합니다. 저는 요리 시간이 오래 걸리는 스테이크를 주문했습니다. 제 뒤에 기다리던 분은 재 빠르게 라면 하나를 주문합니다. 카운터 점원이 계산을 하면서 호출벨을 나눠주고 요리에 맞는 입점사 식.. 2019. 11. 22.
Node.js - IO.js의 반란 노드의 분기된 프로젝트 그리고 재결합 Node.JS와 IO.js에 분열과 결합 그리고 노드js 재단 안녕하세요. 고코더 입니다. ● 1. 개발자의 의견과 회사와의 마찰로 분기되는 프로젝트의 대표는 MaraiDB입니다. 몬티 와이드니어스는 오라클이 MySQL을 상업적으로 대하는 태도에 반하여 회사를 나와 그의 동료들과 함께 마리아디비를 만들게 됩니다. mysql을 만들었던 개발자니 똑같은 분기된 포크 프로젝트를 수행할 수 있는 능력이 있고 이 후로 두 데이터베이스는 같지만 다른 길을 걸어 가게 됩니다. ● 2. 10여년이란 짧은 역사를 가진 노드도 이런 역사를 가지고 있습니다. 마리아 데이터베이스처럼 fork된 프로젝트는 io.js입니다. 3세대 리더를 맡게된 TJ 폰테인을 신뢰하지 못한 노드 주축 개발자들은 노드js와 거의 같은 기능을 수행.. 2019. 11. 22.
"아메리카노 한잔으로 배우는 Node.js Express 기본편" / 네번째 출간 안녕하세요. 고코더 입니다. 네번째 책이 출간하였습니다. 이번 책은 "node.js" 를 배울수 있는 프로그래밍 책입니다. 이름처럼 스타벅스 아메리카노 가격으로 쉽게 코딩을 배울 수 있게 제작 되었습니다. 책 소개 "여유로운 주말, 동네 카페에 갑니다. 아메리카노 한 잔 시켜 노트북이나 핸드폰으로 '아메리카노 한잔' 책을 펼칩니다. 대화 하듯 천천히 커피와 함께 책장을 넘겨주세요. 여유롭게 읽다보면 Node는 어떤 것이고, 어떻게 개발할 수 있을지 개념이 잡혀가는 스스로를 발견할 것입니다. 이 책은 누구나 아메리카노와 함께 노드에 친숙해질 수 있습니다" 교보문고예스24알라딘반디앤루이스리딩락(영풍문고) 네이버북 리디북스 원스토어 북큐브 리디북스 인기 신간 (2019.08.19) 프로그래밍 베스트셀러 현재 .. 2019. 8. 8.
Node.js - express 게시판 만들기 / 글 삭제 / delete 게시판 만들기 delete 안녕하세요. 고코더 입니다. 이번 시간에는 상세보기 페이지에서 글을 삭제할때에 해당 비밀번호가 맞다면 해당 글을 수정하는 페이지를 만들어 보겠습니다. ● 1. '/delete' board.js 글 삭제 코딩 추가 ● 1-1. board.js에 코딩을 추가합니다. ● 1-2. 상세보기를 표현할 라우터를 추가합니다. router.post('/delete',function(req,res,next) { var idx = req.body.idx; var passwd = req.body.passwd; var datas = [idx,passwd]; var sql = "delete from board where idx=? and passwd=?"; conn.query(sql,datas, fu.. 2019. 8. 3.
Node.js - express 게시판 만들기 / 페이징 개발/ page 게시판 만들기 page 안녕하세요. 고코더 입니다. 이번 시간에는 게시판에 간단한 페이징을 구현합니다. 기존에 만든 리스트 페이지는 글이 추가되면 페이징 없이 아래로 노출되는 기본방식 입니다. 오늘은 다시 리스트 페이지에 페이징을 추가해볼려고 합니다. 처음 개발시에 페이징 구현을 하지 않는건 생각보다 많은 로직이 들어가는 기능 입니다. 리스트 개발시에 페이징을 함께 하면 개인적인 경험에서는 지치기 때문에 노드를 조금 익숙하게 받아들인 후에 살펴보는 것이 낫습니다. ● 1. board.js 페이징 코딩 추가 ● 1-1. board.js에 코딩을 추가합니다. ● 1-2. board.js에 아래 코딩을 추가합니다. 기존 list는 그대로 두고 page 라는 페이지를 새로 만들어 페이징을 구현합니다. 게시판 기.. 2019. 8. 2.
Node.js - express 게시판 만들기 / 글 수정 / Update 게시판 만들기 update 안녕하세요. 고코더 입니다. 이번 시간에는 상세보기 페이지에서 글을 수정하고 비밀번호를 입력 한 후에 해당 비밀번호가 맞다면 해당 글을 수정하는 페이지를 만들어 보겠습니다. ● 1. '/update' board.js 글 수정 코딩 추가 ● 1-1. board.js에 코딩을 추가합니다. ● 1-2. 상세보기를 표현할 라우터를 추가합니다. 123456789101112131415161718192021222324router.post('/update',function(req,res,next){ var idx = req.body.idx; var name = req.body.name; var title = req.body.title; var content = req.body.content;.. 2019. 8. 1.
Node.js - express 게시판 만들기 / 글 상세페이지 / select / 게시판 만들기 read 안녕하세요. 고코더 입니다. 이번 시간에는 리스트에 있는 글에 내용을 확인하는 상세 페이지를 개발 합니다. 지금까지 강의를 잘 따라오신 분들이라면 이 글을 안보고도 개발이 가능합니다. 지금 내가 어느정도 노드가 자신있는지 테스트 해보실려면 이 강의 전에 읽기 페이지를 한번 스스로 만들어보세요. ● 1. '/read' board.js 상세보기 코딩 추가 ● 1-1. board.js에 코딩을 추가합니다. ● 1-2. 상세보기를 표현할 라우터를 추가합니다. 1234567891011router.get('/read/:idx',function(req,res,next){var idx = req.params.idx; var sql = "select idx, name, title, content,.. 2019. 8. 1.
Node.js - express 게시판 만들기 / 글쓰기 / insert / 게시판 만들기 write 안녕하세요. 고코더 입니다. 이전 시간에 게시판 리스트를 개발하였습니다. 이제는 이 리스트에 내용을 추가 할 수 있는 글쓰기 기능을 만들어보려고 합니다. 데이터베이스에 insert 하는 구문도 노드에서는 보기 쉽고 간단하게 구현이 가능합니다. ● 1. '/wirte' board.js 글쓰기 코딩 추가 ● 1-1. 저희가 이전 시간부터 만들어놓은 board.js에 코딩을 추가합니다. ● 1-2. 글쓰기 입력을 받을 폼을 표현할 라우터를 추가합니다. 123router.get('/write', function(req,res,next){ res.render('write',{title : "게시판 글 쓰기"});});Colored by Color Scriptercs ● 1-2. 소스 설명.. 2019. 8. 1.
Node.js - express 게시판 만들기 / 리스트페이지 / select / 게시판 만들기 LIST 안녕하세요. 고코더 입니다. 오늘부터 기초적인 예제를 마무리 하고 게시판 만들기로 실전을 다져볼려고 합니다. 기본예제에서 배우지 못한 소스들이 나온다고 해도 긴장하지 마시고 천천히 한줄한줄 고민하면서 따로오시면 금방 노드가 머리속에 익혀질거라 생각 됩니다. ● 1. 들어가기전에 체크 해야 할 사항 ● 1-1. 데이터베이스 참조파일 생성이 되어 있는지 확인 이전에 require()로 DB 소스를 참조로 사용하는 방법을 배웠습니다. 해당 DB폴더가 자신에 로컬에 설치되어 있고 mysql에 정상 접속 되는지 확인해보세요. ● 1-2. 로컬에 Mysql이 설치 되어 있는지 확인해보세요. 이제는 데이터베이스와 연동하여 작업을 해야 합니다. 로컬에 mysql 설치가 필수 입니다. -> 제 데.. 2019. 8. 1.