전체 글 129

MySQL - DDL

MySQL이란?• 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템 ( RDBMS )• 오픈 소스• 윈도우, Mac, 리눅스 등 다양한 운영체제에서 사용 가능 MySQL 실행 –로컬 (Windows)1. CMD를 관리자 권한을 이용해서 실행2. mysql이 설치된 경로로 이동3. mysql 설치 시 설정한 사용자명, 비밀번호로를 사용해 mysql 접속mysql -u 사용자명 -p 패스워드4. 명령어를 입력하여 데이터베이스 조작5. mysql 종료(다시 콘솔로 돌아가는 방법)quit or exit SQL문• Structured Query Language• 구조적 쿼리 언어• 관계형 데이터베이스를 제어하고 관리할 수 있는 목적으로 약속된 언어  SQL 명령어의 분류SQL문 - DDL #. 데이터베이스..

데이터베이스란?

데이터베이스란?• 다양한 카테고리의 정보를 저장할 수 있는 구조• 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합=> 데이터를 저장하는 구조/자료의 모음  파일 시스템 VS 데이터베이스파일 시스템데이터를 기록하고 여러 사라밍 공유하여 관리데이터베이스데이터의 중복, 불일치 문제를 해결하기 위해 등장 DataBase Management System데이터베이스 사용자가 데이터베이스를 생성, 공유, 관리할 수 있도록 하는 소프트웨어 데이터베이스의 용어용어의미열(Attribute, Cardinalty)데이터베이스에서의 속성행(Record, Tuple)데이터베이스에서의 자료테이블(Table, Relation)데이터를 저장하는 그릇  키 (Key)• 데이터베이스에서 튜플을 찾거나 순서대로 ..

파일업로드 - body-parser, multer

body-parser 데이터를 쉽게 처리할 수 있도록 도와주는 라이브러리Post로 정보를 전송할 때 요청의 body(req.body)로 받을 수 있게 도와 줌설정하지 않으면 undefined로 데이터 값을 읽을 수 없음.express 4.x 부터 body-parser가 내장되어 있어 설치 필요 없음extended: true => express에 기본 내장된 querystring 모듈 사용하지만, 멀티파트 데이터인 이미지, 동영상, 파일을 다른 방식으로 처리해야 한다. multerconst multer = require('multer'); // multer 모듈을 불러옴(npm install multer 먼저 실행)const upload = multer({dest: 'upload/',});app.post(..

Axios 문법

Axios 요청 방법axios({url : '통신하고자 하는 함수',method: '통신하고자 하는 방식',data: {json 형태의 보내고자 하는 데이터 }}); url서버 주소를 의미함즉, 내가 데이터를 보내고자 하는 서버단 주소method데이터를 보내는 요청 방식으로 get, post, patch, put, delete가 있음data/params{ key: value, key: value } 형태로 데이터를 보낼 때 사용Request의 body로 데이터를 보냄단, Get에선 paramsGet엣넌 url에 ?를 이용해서 해당 데이터를 붙여서 보내도 동작함  Axios 문법 –응답 response.data서버가 제공한 응답(데이터)response.status서버 응답의 HTTP 상태 코드 성공이면 2..

JSON이란?

JSON이란?• JavaScript Object Notation의 약자• 데이터를 문자열의 형태로 나타내기 위해서 사용• 네트워크를 통해 다른 시스템들이 소통할 때 사용하는 경량의 DATA 교환 형식• 자바스크립트에서 파생되었으나 현재는 다른 프로그래밍 언어에서도 지원하는 데이터 포맷• 가독성이 뛰어나 컴퓨터와 사람 모두 해석하기 편함• JavaScript의 Object를 기반으로 하는 텍스트 형식• JavaScript 객체와 유사하며, key 이름을 큰 따옴표("key-name")로 감싸는 차이점이 있음 JSON 내장 객체JavaScript에서는 JSON 데이터를 간편하게 다룰 수 있는 JSON 내장 객체 존재 JavaScript Object와 JSON 문자열을 서로 변환할 수 있도록 메서드 제공  대..

동적 폼 전송 방법 3가지

1. Ajax Asynchronous JavaScript And XML자바스크립트를 이용해 클라이언트와 서버 간에 데이터를 주고 받는 비동기 HTTP 통신JQuery를 이용해 쉽게 구현이 가능하며, Error, Success, Complete의 상태를 통해 실행 흐름을 조절함Jquery를 사용해야만!! 간편하고 호환성이 보장된다. ( xml 사용은 복잡 )Promise 기반이 아니다. 2. AxiosNode.js와 브라우저를 위한 Promise API를 활용비동기 HTTP 통신이 가능, return이 Promise 객체로 온다.Promise 기반으로 만들어졌으며, 브라우저 호환성이 뛰어나다.하지만 모듈 설치 or 호출을 해줘야 사용이 가능하다. 3. Fetch• JavaScript 내장 라이브러리이므로 ..

템플릿엔진 - EJS

템플릿 엔진• 문법과 설정에 따라 파일을 html 형식으로 변환시키는 모듈 ejs란?• Embedded Javascript 의 약자로, 자바스크립트가 내장되어 있는 html 파일확장자는 .ejs ejs 템플릿을 사용하는 방법  대표적인 EJS 문법 무조건 자바스크립트 코드가 들어가야 하고, 줄바꿈을 할 경우에는 새로운 를 이용해야 한다.넘겨 받은 변수 값을 템플릿에 출력할 때 사용다른 view 파일(즉, 다른 ejs) 미들웨어요청이 들어옴에 따라 응답까지의 중간 과정을 함수로 분리한 것서버와 클라이언트를 이어주는 중간 작업use() 를 이용해 등록할 수 있다 미들웨어 -static이미지, css 파일 및 Javascript 파일(front)과 같은 정적 파일 제공Express 에 있는 static 메소..

http 모듈 VS express 모듈

http 모듈웹 서버를 구동하기 위한 node.js 내장 웹 모듈server 객체, request 객체, response 객체를 사용한다server : 웹 서버를 생성할 때 사용하는 객체request : 응답 메세지를 작성할 떄 첫번째 매개 변수로 전달되며, 프론트엔드로 부터 정보를 받아드림response : 응답 메세지를 작성할 때 두번째 매개 변수로 전달되며, 백엔드에서 프론트엔드로 정보를 보냄 http 모듈 서버 만들기const http = require('http');const server = http.createServer( function(req, res) { res.writeHead(200); //응답헤더 res.write("Hello!"); //응답 본문 작성 res.end("E..

모듈이란?

모듈이란?1. 특정한 기능을 하는 함수나 변수들의 집합2. 재사용 가능한 코드 조각을 말함3. node js에선 여러개의 모듈이 하나의 큰 프로젝트를 이룸 모듈의 장점코드 추상화복잡한 시스템이나 객체를 단순화하여 핵심적인 부분에 집중하는 프로그래밍 원칙코드 캡슐화코드의 무분별한 변경을 막기 위해 모듈 내부에 코드를 숨김코드의 재사용같은 기능으로 동작하는 버튼일 경우, 동일한 코드를 여러개 쓸 필요 없이 호출해서 쓸 수 있다.의존성 관리프로젝트 간 의존성 충돌이 발생했을 때, 빠르게 원인을 찾아 수정할 수 있다. 모듈을 호출하는 방법   const { } 로 가져올 때는 구조분해해 가져오기에 이름이 동일해야 한다.하나만 내보낸 모듈은 다른 이름이어도 불러올 수 있다.  ※ 이미지 출저 : KDT 국비교육 ..

Node.js의 특징

Node.js 특징특징설명JavaScript 언어 사용javascript 라는 언어는 원래 웹 브라우저 환경에서만 동작했음즉, 프론트엔드를 만들기 위해 만들어진 언어하지만 Node js의 등장으로 백엔드 서버를 만드는데, 이용할 수 있게 되었음Single Thread Node.js는 사용자가 직접 제어할 수 있는 스레드는 하나이다. 즉 하나의 파일 CPU가 점유하고 있으면 다른 파일을 실행하려면 대기해야 함.에러를 처리하지 못하면 멈춰버림비교적 프로그래밍 난이도가 쉽게, CPU, 메모리 자원을 적게 사용하는 장점을 지님.Non-blocking I/ONode js에서의 모든 명령어는 동시에 일어나지 않으며, 요청을 내리면 응답을 기다리지 않고, 다른 활동을 수행함.단, 비동기 처리를 해준다면 기다림 Eve..