목록분류 전체보기 (25)
jjj
npm이란?npm은 node packaged modules 의 약자로 node.js에서 필요한 모듈을 패키지로 모아 놓은 것입니다. npm을 통해 다른 사람들이 만든 모듈을 다운 받을 수 있습니다. 사실 npm은 nodejs를 위해 나온 것이지만 (node.js를 깔면 같이 깔린다) 요즘은 Front-End에서도 활용하고 있습니다.npm 설치npm은 nodejs를 깔 때 같이 깔리게 되어 node.js를 받아야 합니다. 설치 LTS로 설치를 주로 하니 LTS로 설치하는 것을 권장합니다. 환경변수는 알아서 다 잡아줍니다.npm 기본 사용법설치가 완료 되면 cmd 창에서 node,npm 명령어를 사용할 수 있습니다. npm -v 을 이용하여 버전을 확인합니다. 저는 현재 5.4.0인데 만약 최신이 아니라면n..
ES5 에서 ES6로 변한 것에 있어서 차이점을 설명하고자 합니다.LET 과 CONSTES5에서의 VAR는 함수 scope이기 때문에 다음 예시와 같은 문제점을 지니고 있었다.function Test() { var a = 1; if(true) { var a = 2; var b = 3; } console.log(a); console.log(b); } Test();위의 코드는 2 3 을 출력한다. let은 block scope이기 때문에 이러한 문제점을 고칠 수 있다. 또한 상수는 const로 쓸 수 있다. let을 babel로 돌렸을 경우 단순히 var로 바뀌는 것으로 보아 transpiling하기전에 검사하는 것으로 보인다.IIFEs(즉시 호출되는 함수 표현식)에서 Block으로ES5에서 함수를 bl..
SSL 프로토콜 (Secure Socket Layer)SSL 프로토콜은 HTTP 프로토콜 아래, TCP 프로토콜 위에서 동작하는 프로토콜이다. HTTP + SSL을 HTTPS라고 부르며, HTTP 통신을 암호화하여 안전하게 데이터를 주고받는 방법이다. 동작 방식 (SSL에서의 HandShake) 클라이언트가 서버에게 HTTPS 요청을 보낸다.서버는 클라이언트에게 자신의 인증서를 보낸다.브라우저는 여러 인증기관의 인증서를 가지고 있기 때문에 서버를 인증해준 인증기관의 공개키를 가지고 있다.그러면 클라이언트(브라우저)는 해당 서버의 인증서에서 인증서 정보를 HASH함수를 통해 HASH값을 만들고 인증서안에 있는 발급기관이 서버에게 서명한 값(서버 인증서 정보의 HASH값을 인증기관의 비밀키로 암호화한 값)과..
전자 서명전자서명이라 함은, 서명자를 확인하고 서명자가 당해 전자문서에 서명했다는 사실을 나타내는 데 이용하려고, 특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 말한다. - 위키백과 비대칭키보통 공개키 암호화라고 불리는 비대칭키는 두 개의 키를 한 쌍으로 하나는 암호화, 다른 하나는 복호화에 사용된다. 암호화키와 복호화키 중 공개하는 키에 따라 용도가 다르게 사용될 수 있음 대표적인 알고리즘 RSA 1. 암호화키를 공개하는 경우 이 경우는 암호화는 누구나 할 수 있지만, 복호화는 자신만 가능하기 때문에 안전하게 데이터를 주고 받을 수 있음 2. 복호화 키를 공개하는 경우 전자서명을 하기위해 사용하는 경우 전자서명은 보낸 메시지가 자신이 만든 메시지라는 것을 증명하는 것 즉, 해당 메시..
전체 검색은 대량의 데이터에 적합하지 않다문서의 시작부터 끝까지 차례대로 검색하는 것을 선형검색 이라고 한다.선형검색은 데이터 건수가 N배가 되면 N배의 계산량(시간)이 걸리게 된다. 즉 O(N) 의 계산이 된다.인덱스 구조 도입하기각각의 ID마다 파일 상의 사직 위치를 기록한 파일을 만드는 것을 인덱스구조라고 한다.즉, 인덱스파일은 (키 값, 바이트 위치)를 가지고 있다.키 값과 바이트 위치를 모두 unsigned integer(숫자)로 관리하기 때문에 4바이트로 약 40억까지 취급할 수 있다.해시 인덱스키 값을 해시함수에 대입하여 해시 값과 값의 쌍을 갖는 구조를 해시 인덱스라고 한다.해시 값은 문자열 길이에 상관없이 동일한 크기이므로 고정 길이 포맷으로 대응할 수 있을 것이다.또한 해시 계산 비용은..
테이블은 현실 세계의 개념이나 집합을 나타낸 것컬럼은 객체의 속성객체지향으로 표현한다면 테이블은 클래스에 해당행은 인스턴스메소드는 가지고 있지 않다테이블 설계원칙의 하나로 반드시 기본키를 설정할 것이란 원칙이 있다.즉, 한 개의 테이블의 내용에는 중복 행을 허용하지 않는다.정규화한 테이블에 여러 컬럼들을 혼합하게 되면 정보가 중복 저장되며, 저장 공간을 낭비하게 된다. 또한 중복된 정보로 인해 갱신 이상이 발생하게 된다. 특정 테이블에서는 변경된 데이터가 다른 테이블에서는 변경 되지 않는 경우 갱신 이상이 나타날 수 있다.관계형 데이터베이스에서 중복을 최소화하기 위해서 데이터를 구조화 하는 작업정규화의 목적은 하나의 테이블에서 데이터의 삽입, 삭제, 변경이 정의된 관계들로 인하여 데이터베이스의 나머지 부..
복수의 쿼리를 연속적으로 사용해 일관성 있는 형태의 한단위로 처리해야함이러한 처리 단위를 '트랜잭션'이라고 한다.InnoDB형에서 트랜잭션 사용가능트랜잭션 ACID 특성1. 원자성 (Atomicity)원자성이란 데이터의 변경 ( INSERT / DELETE / UPDATE)을 수반하는 일련의 데이터 조작이 전부 성공할지 전부 실패할지 보증하는 구조만약 4가지의 복수 쿼리가 있고 모든 과정이 처리되었을 경우 'COMMIT'을 수행하여 데이터가 영구적으로 저장한다만약 중간에서 오류가 발생하는 경우 첫번째 쿼리 이전으로 돌아가는 'ROLLBACK'을 수행한다EX) 좌석을 예매할 수 없는 경우, 마지막에 돈이 없는 경우또한 중간에 클라이언트에서 서버로 통신이 끊기거나 서버가 다운된 경우에도 COMMIT 된 것 ..
네트워크란컴퓨터와 컴퓨터가 그물망처럼 통신 매체로 연결되어서 데이터를 운반하는 것큰 데이터를 작게 나누어서 송신패킷이 회선을 점유하는 시간이 짧아짐복수의 컴퓨터가 회선을 공유할 수 있음리소스를 공유LAN과 WANLAN (Local Area Network)하나의 라우터로 연결된 네트워크WAN (Wide Area Network)떨어져있는 LAN끼리 통신사업자의 통신 케이블을 빌려서 연결한 네트워크인터넷은 WAN의 대표OSI 참조모델계층이 각각 독립되어 있고, 어떤 계층의 프로토콜 변경이 다른 계층에 영향을 끼치지 않음(HTTP 통신을 해도 전송 계층이 TCP 혹은 UDP일 수 있음)캡슐화데이터와 데이터를 보내기 위해 필요한 것들( 수신, 송신 주소 같은 것)이 통합된 상태를 프로토콜 데이터 유닛이라고 한다...