https://blog.naver.com/oshares/223678309677
11/29 node.js 기초 정리 22 (CRUD)
아직도 헷갈리는 것... -request: 사용자가 요청한 것, 웹브라우저가 보낸 정보가 담겨있다. -response: 응...
blog.naver.com
아직도 헷갈리는 것...
-request: 사용자가 요청한 것, 웹브라우저가 보낸 정보가 담겨있다.
-response: 응답할때 웹브라우저에 전송할 정보를 담는다.
(res.send, res.render...)
CRUD
Create, Read, Update, Delete 정보기술의 핵심 4가지
Create
글 생성, 파일의 생성
- 글 생성 - 사용자 입력양식 추가
javascript를 사용한다

form 태그는 사용자가 입력한 정보를 쿼리스트링으로 만들어서 action 속성이 가리키는 서버로 전송한다
이때 post방식은 데이터가 주소 표시줄에 표시되지 않는다-> body로 받아준다.
get방식은 속성값을 생략하는 경우, 혹시 지정하는 경우-> 데이터가 주소표시줄에 표시되고 데이터양이 제한적이다.
*서버에 데이터를 전송할 때에는 post방식을 이용해야 한다고 한다* 외우자외워!!!
(특히 delete할 때에도 그 주소가 나타나지 않기 위해 post방식을 사용해야 한다고)
여기서 submit을 누르면 create_process로, post 형식으로 전송된다.
책에서는 querystring 모듈을 사용하는 방법을 사용하였다.
2. 파일의 생성
fs.writeFile을 사용하였다.

근데 여기서 궁금한게 왜 파일명은 백틱으로 타이틀을 사용하고 디스크립션은 그대로 디스크립션으로 쓰는가...??
Update
글 수정 및 저장
저장된 데이터를 수정하는 기능이다. 먼저 저장된 파일을 읽어와서 그 후에는 덮어쓰면 된다.
아, 근데 어떤 글을 선택했을때 (id값이 선택될때) 기존 아이디가 표시되지는 않도록 해야한다.
우선 update링크를 만들어주고,

tmi로 update부분 만들때 분명히 책이랑 똑같이 했는데 계속 not found되어서 미치는줄...ㅎㅎ
알고보니 위에 a href 링크에 "/"하나를 잘못 넣었기 때문이었다. 30분동안 고민하다가 그걸 알게되었을때의 현타란ㅎㅎ 계속 update 와 연동되지 않아서 콘솔.로그 찍어보고 난리였다.
Delete
글 삭제, 파일 삭제
delete 버튼을 만든다.
단 delete는 link로 처리하면 안된다고 한다.
get방식으로 구현하는 경우, 사용자가 이 링크를 알 수 있어서 사용자가 임의로 삭제해버릴 수 있기 때문!
-> update, delete와 같이 파일에 수정을 가하는 기능은 무조건 post방식으로 처리해야한다!!!!
삭제는 form 태그를 사용해서 아래와 같이 적용하였다.

첫번째 인풋타입은 사용자에게는 보이지 않지만, 소스에서 해당 개체를 식별할 수 있게 하는 코드라고 하고,
섭밋은 버튼을 만들기 위한 것으로 그 기능은 삭제기능!
그 다음으로는 delete_process 경로를 지정하였다.
이때 삭제를 위해 사용한 기능은 fs.unlink(파일을 삭제할 경로, 콜백)
그리고 삭제한 이후에는 아무것도 없는 기본페이지로 리다이렉트하기 위해
location을 /로 설정해주었다.
이렇게 해서 CRUD 기능을 모두 배웠고 정리해보았다.
이렇게 차근차근 해보니까 node.js가 재미있다.
이제 빨리빨리 진도 나가서 express와 세션, 쿠키 모두 정복해봐야지!
아래는 전체코드인데, 전체코드는 들어와지지도 않네
이렇게 main.js에다가 모든 코드를 입력하다보니 왜 코드들을 이곳저곳으로 나눠넣는지 단번에 이해가 된다.
'Node.js' 카테고리의 다른 글
[Node.js] 기초2 (0) | 2025.03.08 |
---|---|
[Node.js] 기초 이론 정리 (0) | 2025.03.08 |
[Project] node paging 작업 (0) | 2025.03.08 |