일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 트랜잭션
- SQL
- 항해99
- JWT
- 스파르타코딩클럽
- 개발일지
- 웹 스크래핑(크롤링)
- db
- NoSQL
- HTTPS
- 노드 윈스턴
- Transaction
- Get
- 2주차
- node winston
- 1주차
- Sequelize
- cors
- 4주차
- MongoDB
- post
- 숙제
- 비동기
- 5주차
- OpenAPI
- Node.js
- 부트스트랩
- 위키백과
- nginx
- 3주차
- Today
- Total
목록
728x90
전체 글 (110)
얼음꽃의 일지
Express -> Node.js를 위한 Web FrameWork 중 하나 -> 쉽게 서버를 구성할 수 있게 만든 클래스와 미들웨어, 라이브러리의 집합체 -> 웹 애플리케이션을 만들 수 있음 -> 만약 Express를 대체해야 한다면 Express가 현재 MIT쪽에 팔렸기에 Express를 만든 회사꺼인 Koa를 사용 Express 가 편한 이유 // Node.js 내장된 HTTP로 웹 서버 띄우기 const http = require('http'); http.createServer(request, response) { http.createServer(function(request, response){ response.writeHead(200, {'Content-Type':'text/html'}); re..
일단 기본적인 함수를 보면 다음과 같습니다. // 함수 선언식 function add(a,b) { return a + b } // 함수 표현식 const sub = function(a,b) { return a - b } 이 함수를 화살표 함수로 바꾸게 되면 다음과 같습니다. // 화살표 함수로 변경 add = (a,b) => { return a + b } sub = (a,b) => { return a - b } 즉, function이라고 적힌 부분이 => 로 화살표로 바뀐 형태입니다. 추가로 매개 변수에 따른 상황을 보면 다음과 같습니다. 그리고 화살표 함수안에는 this가 없기에 this를 쓰면 외부에서 가져오게 됩니다. () => { ...}// 매개 변수 없을 경우 x => {...}// 매개변수가..
Async & Await -> 요번에 promise, callback을 대체해줄수 있는 비동기 처리 패턴 중 하나 -> 동기식 처리의 단점을 보완 -> 가독성을 높여줌 -> 함수 시작 async 붙이고, 비동기 처리하고 픈 자리에 await을 붙임 -> 대신 await 뒤에 오는 값은 반드시 promise로 반환해줘야함 -> 오류가 발생할 수 있으니 함수 아에 try ~ catch 문으로 예외처리 async function test() { try{ const a = await getSomething(); // 내용 // } catch(err){ // 에러처리 // } } async test() => { try{ const a = await getSomething(); // 내용 // } catch(err..
호이스팅 -> 함수가 실행되기 전 혹은 전역에서 값을 실행하기 전에 필요한 변수 값들을 모두 모아서 유효 범위의 맨위에 선언하는 것을 의미 -> 호이스팅 가능한 대상 : Var / 호이스팅 불가능한 대상:let, const -> 함수 안에서도 호이스팅이 발생할 수 있음 function result() { var add// 함수 표현식 호이스팅 var result// 함수 선언식 호이스팅 add = function() {// 함수 표현식 할당 retunr 1 + 2; } result = add();// 함수 선언식 할당 console.log(result)// 호출 } result() -> 함수 선언식은 함수 전체를 호이스팅을 하고, 정의된 범위에서 맨 위로 호이스팅 되어서 함수 선언전에 함수를 사용가능 -..
Promise -> 비동기 함수 호출 또는 비동기 연산이 완료되었을때, 그 다음에 와서야 처리할 함수 혹은 에러를 설정하는 모듈 function call(text, timeout) { return new Promise((new_text, reject_time) => { setTimeout(() => { resolve(text); }, timeout) }) } call("여보세요 나야~", 1000).then((text) => call(`${text} 누군가 전화함`, 1000) ).then((text) => { console.log(`전화왔어! ${text}`); }); -> Promise가 없었다면 비동기 시에 그냥 콘솔 값이 막 나와서 아마 콜백 지옥이 실행 될 수있다. promise 세가지 상태 -..
CORS - Cross-Origin Resource Sharing의 줄임말 - 보통 Access-Control-Allow-Origin을 안해주게 되면 빨간 오류로 막 발생 - 한 웹페이지에서 다른 웹페이지의 소스를 가져오는데 허락이 없어서 불가능 - CORS가 해결되려면 프로토콜(HTTP, HTTPS), 호스트(주소), 포트(포트번호) 3개가 일치해야함 - SOP(Same-Origin-Policy) 이어야지만 동일할 출처에서 리소스 공유가 가능 - 동일해야하는 이유는 모르는 사이트가 맘대로 XSS를 당할 수 있기때문에 방지 - 그렇다고 모르는 링크를 싹다 차단 할수 없기에 필요한 링크 한에서 CORS 열어줌 - Access-Control-Allow-Credentials은 true 설정이 가능하나 그 이외..
정규화의 개념 - 정규화란 하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해나가는 과정 - 데이터 모델링의 단계 중 가장 중요한 단계로써 논리 데이터 모델링을 상세화하는 단계 - 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념 - 정규형이란 특정 조건에 만족하는 릴레이션 스키마의 형태를 의미 - 기본 정규형에 1NF, 2NF, 3NF, BCNF가 있고 고급 정규형에는 4NF, 5NF 존재 * 릴레이션 : 테이블과 같은 의미로, 튜플과 속성으로 이루어짐 정규화의 목적 - 구성되는 모든 릴레이션이 중복되지 않게 효과적으로 데이터베이스 내에 표현이 가능하도록 함 - 보다 간단한 연산자에 의해 효과적인 연산이 가능하도록 구성 - 새로운 형태의 데이터가 삽입될 때 릴레이션을 재구성할 필요..
Array - 정해진 크기 만큼 연속된 메모리 공간을 할당하여 데이터를 저장 - 앞 주소만 알면 다음 주소를 알 수 있음 - index 으로 접근 가능 - 한번 정해진 크기는 변경 불가 - 탐색하기 좋음 - 삭제하는데 시간걸림 Linked-List - 여러개의 노드들이 순차적으로 연결되어 있는 구조 - 노드 맨 앞 : Head, 노드 맨 뒤 : Tail - 각 연결되어 있는 노드는 가르키는 노드를 가르키는 포인터로 연결 - 배열과 다르게 연속적으로 할당이 아님 - 탐색하는데 시간 걸림 - 삭제 쉬움 ( 처음, 끝인 경우 ) - 중간이면 탐색해야하 한다는 부분이 존재 Array Linked-List 탐색 O(1) O(n) 삭제 O(n) O(1) 배열은 탐색할때, 인덱스 값을 알기 때문에 바로 접근이 가능하..