목록분류 전체보기 (111)
헬창 개발자

데이터 유형에 따른 SQL 종류 SQL 서로 관계가 있는 데이터 구조를 만들고 싶을 경우에 사용한다. 각 관계에 대한 데이터가 자주 수정되는 경우에 사용한다. 서비스에 명확한 스키마가 중요할 경우에 사용한다. NoSQL 데이터의 형태를 정확히 규명할 수 없는 경우에 사용한다. 읽기(Read)가 변경(Update)보다 많은 데이터일 경우 사용한다. 데이터의 양이 많아 수평으로 확장해야 하는 경우 사용한다. 개발 환경 설정 MySQL 설치 생략 MySQL Workbench를 이용하여 roadbook 스키마에 customers, purchase 테이블을 만들어주자 ORM : Sequelize ORM(Object Relational Mapping)이란? 객체와 관계를 맵핑해주는 역할 ORM을 사용하면 SQL이 ..

웹 파싱 크롤링 자동화된 방법으로 웹을 탐색하는 작업을 말하며 여러 개의 인터넷 사이트 페이지를 수집해서 분류하는 것 파싱 어떤 페이지에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보를 가공하는 작업 스크래핑 http를 통해 웹 사이트의 내용을 긁어와 원하는 형태로 가공하는 모든 작업을 말하며 크롤링과 파싱도 일종의 스크래핑이다. Node.js에서 크롤링 및 파싱을 하려면 axios 모듈과 chreerio 모듈이 필요하다. chreerio는 axios의 결과로 받은 데이터에서 DOM Selector를 사용해 필요한 데이터만 추출하는 데 사용할 수 있다. npm install cheerio npm install axios cheerio 함수 load() html 문자열을 cheerio 객체로 ..

API란?API : Application Programming Interface 의 약자로 응용 프로그램 사이의 인터페이스라고 해석하며 응용 프로그램 사이의 소통 방법을 의미한다.사용 모듈이전 까지 app.get(), app.post() 등의 express 메서드를 통해 내 서버의 get, post 요청을 구현해 봤는데 다른 서비스 API요청을 위해서는 request, axios등의 http 통신 라이브러리가 필요하다.먼저 이 둘의 차이점을 알아보자request npm 초창기부터 있던 모듈이며 현재는 유지보수가 중단된 상태이다. 큰 단점은 promise 기반이 아니다.axios 대부분의 브라우저를 지원한다. (구형 브라우저 및 최신 브라우저까지) JSON 데이터를 자동으로 변환해준다. 다양한 기능들이 있..

미들웨어란? 미들웨어는 주춧돌처럼 중간 작업을 해주는 역할이다. 즉, 요청과 응답 사이에 express 자체에 있는 기능 외에 추가적인 기능을 넣어줄 수 있다. express 자체 미들웨어를 사용해도 되고 다른 사람이 만들어 놓은 미들웨어 npm을 통해 다운받아 사용해도 된다. 미들웨어 사용 메서드는 app.use(), app.set()이 있다. 둘의 차이점은 전자는 지역 후자는 전역으로 사용된다는 점이다. 코드를 보면서 이해해 보자 app.use() 미들웨어 메소드 const express = require('express'); const app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); const myLo..

1.1 express 설치와 사용 터미널을 열어 $ npm install express를 입력해주면 해당 프로젝트 폴더에 ‘node_modules’ 폴더가 생긴것을 확인 할 수 있다. 그리고 파일 수정할 때마다 서버를 종료하고 재실행해야만 변경사항이 반영되지만 nodemom을 사용하면 파일들을 감시하고 있다가 node.js 수정 시 자동으로 서버를 재시작해준다 $ npm install -D nodemon 이제 $ node 파일명 대신 $ npx nodemon 파일명을 입력해주면 중간에 파일을 수정하더라도 변경사항이 반영된다. express 사용법1 const express = require('express'); const app = express() app.get('/', (req, res) => { r..

1.1 npm 명령어 Node.js를 시작하기 위해서는 config(설정 파일)를 설정해줘야한다. npm 명령어를 이용하면 된다, npm 명령어는 Node.js를 시작하기 위한 초기화(init) 작업이자 package.josn을 만드는 명령어이다. 내가 만들 하나의 프로젝트에 들어 있는 여러 패키지 정보를 이 package.josn이라는 파일이 관리해주므로 반드시 처음 생성해줘야한다. npm init 명령어를 입력하면 pakage name을 입력하라는 표시가 보이게 된다. 원하는 이름을 입력하자 package name만 입력해주고 나머지는 enter로 넘어가고 마지작에 It this ok? 질문에 yes라고 입력해주자 다음은 초기화 작업에 필요한 설명이다. package name : 패키지 명입니다. v..

평소 Python, Java만 쓰다가 프로토타입 기반 언어인 자바스크립트를 사용하려고 하니 분명히 함수를 호출하고 나면 결과를 받아오고 나서 다음 줄의 코드를 순차적으로 실행해야하는데 순차적으로 동작하지 않는 것이다. 이 과정에서 벽을 느꼈다.... 그래서 먼저 동기/비동기 방식이 어떠한 메커니즘으로 웹 브라우저에서 작동하는지 살펴보겠다. 먼저 자바스크립트가 어떻게 동작하는지 큰 그림부터 알아보자 왼쪽은 크롬 브라우저에서 오른쪽은 Node.js 에서 자바스크립트가 작동하는 방식이다. 크롬 브라우저에서는 Web API를 통해 작동하고 Node.js에서는 libuv라는 C기반 라이브러리를 통해 동작을 한다. 이 부분부터가 어려운데 쉽게 생각하면 Node.js 이벤트 주도, 논 블로킹 방식을 지원하고 싱글 스..

학습 목표 서버 통신을 위한 자바스크립트 밑바닥을 숙지해보자!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1. 자바스크립트 기본 문법 변수 자바스크립트는 동적언어이기 때문에, 변수 타입을 미리 선언할 필요가 없다. 타입은 프로그램이 처리되는 과정에서 자동으로 파악한다. 프로그램이 파악한 데이터 타입을 확인 하려면 typeof를 통해 확인해야한다. ES6 이후로 var대신 const, let을 사용하는것을 추천한다. → 변수 호이스팅, function-level-scope문제 호이스팅 아직 값이 없음에도 오류가 나지 않는 현상을 말한다. 자바스크립트의 데이터 타입에는 숫자, 문자, boolen, undefin..

1. 웹 서버와 Node.js의 관계 1.1 클라이언트와 서버 클라이언트 : 사용자가 보는 컴퓨터 서버 : 웹 서비스 할 리소스가 저장되어 있는 컴퓨터 웹 서버 : 클라이언트에서 보내는 요청을 처리하고 적절한 결과를 보여주는 프로그램 1.2 웹 서버의 종류 Django : 기본적으로 제공하는 기능이 있어 편리하고 데이터 조작을 많이하는 서비스(*CRUD)를 만들 경우 좋은 선택지일 수 있다. *CRUD : 데이터의 처리의 기본 기능인 생성, 조회 수정, 삭제(Create, Read, Update, Delete) Spring : 안정적이고 정형화된 패턴이 있지만 자유도가 낮아 내가 특정한 어떤 기능을 만들고 싶은데 스프링으로만으로 만들지 못하는 상황이 있을 수도 있다. Node.js : 자유도가 높은 웹 ..