kinggora 2022. 1. 30. 21:25

지금까지 node.js를 배우면서 느낀 건 확실히 비동기 방식, 그리고 callback을 사용하는 것이 많은 것 같다.

앱 개발할 때 서버와 통신할 때 원하던 순서대로 실행되지 않아서 곤혹스러웠는데 관련 문제가 반드시 생길 것 같다.

동기 방식으로 처리하는 방법도 알아야 할 것 같다.

 

 


 

 

수정하기(update)

: Form, Form에 데이터를 미리 넣어 놓음(Read) 필요

 

update form

input type="hidden" : 사용자 눈에는 보이지 않는 형태로 서버에 데이터를 전달할 수 있다.

id: 수정 전 이름=파일명

input type="text" : editText 1줄

textarea: editText 여러 줄

input type="submit" : button

title: 사용자가 수정한 이름=새로운 파일명

input에 setText는 value라는 속성을 사용한다.

 

 

update process(리디렉션 구역)

request.on('data', ~) : post 형식으로 받은 데이터를 읽어온다.

request.on('end', ~) : 데이터를 모두 읽으면 파싱하여 원하는 데이터를 뽑아 수정 작업을 진행한다.

fs.rename(oldpath, newpath, callback): 파일의 이름을 바꾸는 함수

 


 

클라이언트가 HTTP 서버를 요청할 때 우리는 URL과 Method를 사용한다.

URL은 서버의 도메인과 파일 디렉토리를 지정해 주는 역할을 한다.

반면에 Method는 요청 방식을 정한다. 크게 GET, POST가 있다. 

POST 방식

 : 서버의 정보를 변경하는데 사용한다. body의 정보를 parcing하여 처리한다.

GET 방식

 : 서버로부터 단순히 정보를 조회하는데 사용한다. 전달하고자 하는 데이터가 포함된 query string을 만들어 해당 링크로 이동한다. 즉, 외부에서 같은 url을 입력하는 것만으로 같은 동작을 가할 수 있다.

 

 


DELETE

 

 

삭제(delete)는 일종의 데이터의 수정을 가하는 것으로 절대 링크(GET) 방식으로 구현하면 안된다.

수정처럼 특정 파일을 읽어오는 상태에서 삭제 버튼이 활성화되도록 설계한다.

 

 

delete form

[delete] 버튼을 누르면 update처럼 GET 방식이 아닌 POST 방식으로 /delete_process로 이동한다.

onsubmit: submit 전 사용자에게 전달할 메세지를 설정하는 속성 (ex. 정말로 삭제하시겠습니까?)

 

 

delete process(리디렉션 구역)

fs.unlink(path, callback): 파일이나 심볼릭 링크를 삭제

*Symbolic link: 특정 파일이나 디렉터리에 대한 참조를 포함하는 특별한 파일. Windows 운영체제에서 ‘바로 가기’ 와 같은 기능을 한다.


Object

Array vs Object (in Javascript)

[array]: 식별자는 숫자(index)

{object}: 식별자는 빈 문자열을 포함하는 모든 문자열 또는 symbol 값. property(key-value)로 구성된다.

*key에 규칙 외의 값을 지정하면 암묵적으로 타입이 변환되어 문자열이 된다. 이미 존재하는 key를 중복 선언하면 나중에 선언한 property가 먼저 선언한 property를 덮어쓴다. 

 

 

Object의 property(key-value) 출력

object.key == value

object[key] == value