목록분류 전체보기 (131)
세리프 따라잡기
6. 미들웨어(middleware)에 대하여 소프트웨어를 만들 때 우리가 처음부터 끝까지 만드는 경우는 거의 없다. 보통은 다른 사람이 만든 소프트웨어를 부품으로 해서 나의 소프트웨어를 만들어간다. (그렇기 때문에 생산성이 높아지는 것) 쉽게 말하자면: 다른 사람(혹은 자신)이 만든 소프트웨어를 미들웨어라고 한다. 일단 남이 만든 것을 알아보자!! expressjs.com/en/guide/using-middleware.html#middleware.third-party 를 이용해 알아보자. 여기서 third-party는 남들이 만들었다는 뜻이다. (express가 만든 오피셜이 아닌) -1. body-parser : body라는 것은 웹 브라우저에서 요청한 정보의 본체를 말하고 본체를 설명하는 데이터를 헤..
네이버 searchadvisor.naver.com/ 를 통해 접속 후 아래 표시한 '웹마스터 도구' 클릭 들어가면 아래와 같은 화면이 뜬다. 체크한 곳에 자신이 등록하고 싶은 사이트 주소를 넣는다. 이때 반드시 https로 넣어야 한다!!! 주소를 입력하면 아래와 같이 소유확인 페이지가 나오는데, 여기서 우리는 HTML 태그(회색 박스에 각자의 코드가 있습니다)를 이용하여 인증할 것이기에 체크된 곳을 클릭해준다. 그리고 여기서 소유확인을 바로 누르는 게 아니고, 태그를 복사해서 각자의 티스토리 블로그로 간다. 메뉴를 통해 꾸미기 - 스킨 편집으로 들어간다. 체크한 html 편집을 클릭! 그리고 설명에 써있는 것과 같이 태그 안에 넣어준다. 편한 구분을 위해 meta 태그 밑에다 넣어주자! 그리고 적용 버..
2021.01.14 기준 방법 START! 학생 인증 방법 www.jetbrains.com/ 먼저 사이트에 접속하여 Learning Tools란의 체크 표시한 항목(Discover more)을 누른다. 체크한 곳(Apply now)을 눌러 인증을 하러 가보자. 자신의 학생 메일(id@exam.ac.kr)을 입력하고 제출(APPLY FOR FREE PRODUCTS) 클릭! 제출이 완료되면 자신의 학생 메일로 아래와 같은 인증 이메일이 발송된다. 체크된 곳(follow this link)을 통하면 아래와 같은 화면이 뜬다. 스크롤(or 키보드 End 버튼)한 후 체크 버튼(I Accpet)을 눌러주면 아래와 같은 화면이 뜨는데, 이건 회원가입이 되지 않았기 때문이니(또는 로그인 되어있지 않음) 회원가입을 해..
시작하기 앞서 모든 코드들은 nodejs 부터 계속 이어지고(수정 및 추가) 있음을 알립니다!! 반복적으로 등장하는 일들, url parameter를 통해서 전달된 데이터를 받아서 뭔가를 처리하는 일이나 정적인 JS파일이나 이미지 파일 같은 것들을 컴퓨터로 읽어서 사용자에게 제공하거나, 로그인이나 보안적 이슈들을 해결하는 것들 = 이런 것들을 보다 안전하게 처리할 수 있도록 도와주는 게 nodejs 위에서 동작하는 Framework이다. 그중에 가장 보편적으로 사용되는 framework 인 Express를 배워보자! 1. 설치 expressjs.com/en/starter/installing.html 를 참고해 콘솔창에 npm install express --save를 입력시켜 설치하자. 설치가 완료되면 ..
1. 입력 정보에 대한 보안 나중에 데이터베이스를 통해 더 자세히 데이터를 관리할텐데, DB는 id와 password가 있어야 데이터를 가져올 수 있다. 예를 들어 main 폴더에 password.js 파일을 생성해 아래와 같은 정보를 입력했다고 하자. module.exports = { id: 'gothic', password: '1234' } 이 정보에 보안을 해두지 않았다면, 우리는 쿼리데이터를 사용하는 '?id=' 부분에 상위 폴더로 가는 키워드를 입력하여 패스워드를 볼 수 있다. 이 문제를 해결하기 위해 nodejs.org/api/path.html#path_path_parse_path 참고해, 콘솔창에 입력해 분석해보자. 여기서 기본(base)은 password.js이기 때문에 ../passwor..
1. 자바 스크립트의 문법 중 하나인 객체(object)에 대해 알아보자. 객체(Object) 배열(Array) 공통점 이 둘은 정보를 정리·정돈하는 수납 상자라고 생각하면 된다. 차이점 - 순서가 없는 정보를 저장하기에 최적화 됐다. - 숫자로 식별자로 주는 것이 아닌, 이름으로 식별자를 줄 수 있다. - 순서에 따라서 정리를 한다. - 각각의 정보들은 고유한 식별자가 있고, 그 식별자는 숫자이다. // 배열 예시 var members = ['malgun', 'gothic', 'tistory']; //배열 안에 정보가 담긴 것, 그냥 순서대로 데이터를 넣으면 된다. console.log(members[1]); //gothic 출력 // 객체 예시 var roles = { //배열의 리터럴은 대괄호, 객..
22. POST 방식으로 전송된 데이터 받기 stackoverflow.com/questions/4295782/how-to-process-post-data-in-node-js 검색을 통한 코드 참고. var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); //qs가 쿼리스트링이라는 nodejs 모듈을 가져오는 것. qs.parse 코드 줄에서 사용 function templateHTML(title, list, body) { return ` WEB ${list} create ${body} `; } function templateList(filelist) { var l..
17. 동기적(synchronous)인 것과 비동기적(asynchronous) 동기 일을 처리할 때, 단계적으로 처리하는 것을 말한다. 직렬적. 만약 1단계 일이 10시간이 걸린다고 하더라도 그 일을 기다렸다가 처리하는 상황을 말한다. 비동기 일을 처리할 때, 동시에 여러가지 일을 처리하는 것을 말한다. 병렬적. 만약 1단계 일이 10시간이 소요된다면 그걸 10시간 동안 보고 있지 않고, 컴퓨터든 누군가에게 일을 맡겨두고 다음 처리를 시작하여 보다 효율적이게 일을 처리하는 것을 말한다. 그러나 동기적 상황에 비해 다소 복잡함을 갖고 있다는 단점이 있다. = nodejs에서는 비동기적인 상황에 좋은 기능들을 많이 가지고 있다. 동기 vs 비동기 비교 nodejs.org/dist/latest-v14.x/do..
14. 파일 목록 알아내기 파일에 추가, 수정, 삭제 시에 우리가 일일이 찾아가서 수정할 수가 없다. 이 작업을 더욱 간편하게 만들기 위해 stackoverflow.com/questions/2727167/how-do-you-get-a-list-of-the-names-of-all-files-present-in-a-directory-in-node-j 를 통해 fs.readdir을 사용해보자. var testFolder = 'data'; //내가 실행하고자 하는 위치를 기준으로해서 data 디렉토리를 적어주면 된다(필자 기준 main.js의 데이터 파일은 data). = './data'와 같은 뜻이다. 이때 ./는 현재 디렉토리라는 뜻. var fs = require('fs'); fs.readdir(testF..
9. not found 구현해보기 루트로 접속했는지 아닌지 구분 var http = require('http'); var fs = require('fs'); var url = require('url'); var app = http.createServer(function (request, response) { var _url = request.url; var querydata = url.parse(_url, true).query; var title = querydata.id; console.log(url.parse(_url, true)); //사용자가 루트(패스 정보가 없는 상태: ex. localhost:3000)로 접속했는가 아닌가를 구분하고 이 코드에 어떤 내용이 담겨있는지를 묻는 것. fs.read..