전체 글
-
CDN ServerThinking 2018. 4. 1. 04:49
- CDN - Content delivery netwok or Content distribution network - 사용자가 인터넷상에서 가장 가까운 곳의 서버로 컨텐츠를 전송받아 트래픽이 특정 서버에 집중되지 않고 각 서버로 분산되로록 하는 기술 위 그림을 보면 CDN 여부에 따른 차이를 보여주고 있다. 왼쪽 그림은 CONTENT가 다이렉트로 사용자들에게 향하고 있다. 오른쪽 그림을 CONTENT가 CDN을 향하고 CDN이 사용자들에게 향하고 있다. 그림만 보면 CDN이 있고 없고 차이밖에 모르겟다. 어떤 의미를 가질까? 왼쪽 그림은 수많은 사용자가 웹 페이지에 접속했을 때 하나의 서버에 요청이 몰리게 된다. 또한 서버의 위치와 거리에 따라 네트워크 지연속도는 비례하게 된다. 오른쪽 그림은 CDN을 ..
-
Node.js[2] - Event Loop, 주의사항Node.js 2018. 4. 1. 00:41
- Event Loop Javascript의 큰 특징 중 하나는 'Single Thread' 기반의 언어라는 점이다.Thread가 하나라는 말은 곧, 동시에 하나의 작업만을 곧, 동시에 하나의 작업만 처리할 수 있다는 말이다.하지만 실제로 Javascript가 사용되는 환경을 생각하보면 많은 작업이 동시에 처리되고 있는걸 볼수 있다.예를 들면, 웹 브라우저는 애니메이션 효과를 보여주면서 마우스 입력을 받아서 처리하고, Node.js기반의 웹서버에서는 동시에 여러 개의 HTTP 요청을 처리하기도 한다. 여기서 드는 질문은 "어떻게 Thread가 하나인데 이런 일이 가능할까? " 다시 말해서 " Javascript는 어떻게 동시성(Concurrency)을 지원할까?" 이때 등장하는 개념이 바로 'Event ..
-
Framework & LibraryThinking 2018. 3. 25. 02:46
- Framework(프레임워크) Framework는 Application 개발시 코드의 품질, 필수적인 코드, 알고리즘, 암호화, 데이터베이스 연동 같은 기능들을 어느정도 구성이 되어있는 뼈대(구조)를 제공하도록 만들어진걸 Framework라고 한다.- Library(라이브러리) Library는 특정 기능에 대한 API(도구 / 함수)를 모은 집합을 Library라고 합니다. 그 기능을 사용하기위해 불러와서 호출하는 방식을 생각하시면 쉬울듯 합니다 - Framework와 Library의 차이 Framework는 단지 미리 만들어 둔 반제품이나, 확장해서 사용할 수 있도록 준비된 추상 Library의 집합이 아니다. Framework가 어떤 것인지 이해하려면 Library와 Framework가 어떻게 다..
-
Front end & Back endThinking 2018. 3. 25. 02:27
- Front end 사이트 이용자의 눈에 보이는 부분 , 사용자가 프로그램을 접할때 가장 처음으로 접하게 되는 부분이 Front end 개발자가 개발한 부분이라고 볼수 있다.즉 사용자 입장의 측면에서 개발이 이루어지기에 Front end 또는 Client Side 라고도 한다.기본적으로 HTML,CSS,DOM(문서 객체 모델),Javascript 등에 대한 숙련도가 있어야한다.그외에 디자인적인 감각, UI와 UX에 대한 심도있는 이해가 필요로 하다. Platform HTML : HyperText Markup Language - 웹사이트의 중추적인 역할을 하는 놈. ( 인간의 몸이라고 생각을 하면 되겟다.) CSS : Cascading Style Sheet - 웹 디자이너에게는 포토샵과 같이 필수적인 언..
-
Node.js[JWT] - 토큰 기반 인증 - 2Node.js 2018. 3. 24. 17:01
- Token 인증방식 REST API에서 로그인은 일반적인 로그인과 다른 방식을 가진다. 일반적으로 로그인은 서버의 session을 통해 이루어지는데, 서버는 접속중인 클라이언트들을 이 session을 통해 관리한다.사이트에 접속하면 session에 해당 클라이언트가 기록되고 로그인을 하게 되면 해당 클라이언트가 로그인한 것을 저장하게 된다.이후 해당 클라이언트는 로그인이 요구되는 정보에 접근할수 있게 된다.이 방식은 접속자수가 늘어나면 서버의 메모리 사용량이 증가하게 되고 성능에 영항을 미친다. REST API에서는 서버가 session을 가지는 방식이 아닌 Token 인증 방식을 사용한다. 로그인 API로 아이디와 패스워드가 일치함이 확인되면 서버는 토큰을 발행하고, 로그인후 이용가능한 API들에는..
-
데이터베이스[2] - 관계형 데이터베이스,정규화,이진 트리카테고리 없음 2018. 3. 1. 19:59
- 관계형 데이터베이스 구조 : 열 속성 필드 행 레코드 튜플 개체 Cardinality - 튜플의 수 / Degree - 속성의 수 제약조건 : 데이터베이스에 저장되는 데이터의 정확성을 보장하기 위해 키를 이용하여 입력되는 데이터에 제한을 주는것 1. 키의 종류- 후보키 : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성 만족 - 외래키 : 참조되는 릴레이션의 기본키와 대응하여 릴레이션 간에 참조 관계를 표현하는 데 중요한 도구 2. 무결성- 개체 무결성 : 기본키를 구성하는 속성은 널값이나 중복값을 가질 수 없다.- 참조 무결성 : 릴레이션은 참조할수 없는 외래키 값을 가질 수 없다...
-
데이터베이스[1] - DBMS,스키마,데이터 모델,데이터베이스 설계카테고리 없음 2018. 3. 1. 18:32
- DBMS 정의 : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 , 데이터베이스를 관리해주는 S/W 필수 기능 :1. 정의 : 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 DB에 저장될 데이터의 형식과 구조에 대한 정의,이용방식,제약 조건등을 명시하는 기능2. 조작 : 데이터 검색,갱신,삽입,삭제 등을 체계적으로 처리하기 위해 사용자와 DB 사이의 인터페이스 수단 제공3. 제어 : 데이터 무결성 , 보안 유지 , 권한 검사 , 병행 제어( 여러 사용자가 DB를 동시에 접근하여 데이터를 처리할때 처리 결과가 항상 정확성을 유지하도록 ) 장,단점 : 장점 : 데이터의 논리적 물리적 독립성 보장 , 데이터 중복 피할 수 있음 단점 : 파일의 예비(Backup), 회복..
-
Node.js[JWT] - 토큰 기반 인증 - 1Node.js 2018. 2. 24. 15:02
- Token 기반 인증 - 토큰을 사용하여 유저들의 인증작업을 처리하는 방법 Token 기반의 인증방법을 알기전에 세션에 대해 알고있어야한다.세션(Session)은 서버가 클라이언트에게서 요청을 받을때 마다, 클라이언트의 상태를 계속해서 유지하고, 이정보를 서비스 제공에 이용한다.서버가 세션을 관리하고 있으며 사용자의 정보를 서버컴퓨터의 메모리 또는 데이터베이스 시스템에 담아둔다. 세션에 대해서 다시 정의 해보자면 유저가 인증을 할때 , 서버는 이 기록을 서버에 저장하는데 이를 세션이라고 한다.세션의 단점은 만약 서버에 다수의 유저들이 인증을 시도한다면 아마 서버에선 과부하가 걸릴 위험이 있게될것이다.또한 세션을 관리하기 위해 서버는 확장을 하기가 어려워진다. 만약에 세션을 서버측에 저장하고 있고, 서..