profile
개발자를 꿈꾸고 있습니다.

[Deployment] Docker

Docker는 리눅스 컨테이너(LinuX Containers, lxc) 기반의 오픈소스 가상화 플랫폼이다. Docker는 Immutable Infrastructure를 가능하게 하여 모든 서버를 동일한 상태로 유지할 수 있고, 언제든지 즉시 운영이 가능한 서버를 구축할

2021년 7월 9일
·
0개의 댓글

[Deployment] 배포, Amazon Web Service

웹 서비스는 배포가 되었을 때 의미를 가진다. 프로그래밍에서 배포는 다양한 용어로 해석할 수 있다. release같은 제품을 새롭게 만드는 것deploy소프트웨어 등을 서버와 같은 기기에 설치하여 작동하게 하는 것distribute최종 사용자에게 소프트웨어를 제공하여

2021년 7월 7일
·
0개의 댓글

[Authentication/Security] OAuth 2.0

소셜 로그인소셜 로그인은 사용자가 인터넷에서 구글이나 페이스북, 네이버 등의 다른 유명한 서비스의 계정으로, 사용하려는 서비스에 계정을 생성하거나 로그인하는 것이다. 소셜 로그인을 하면 해당 서비스에서 구글 캘린더와 같은 다른 서비스(서비스 제공자)의 정보에 접근하거나

2021년 6월 30일
·
0개의 댓글

[Authentication/Security] 토큰

세션 인증 방식은 서버 메모리 혹은 DB에 사용자 정보를 저장한다. 이렇게 서버에서 사용자의 상태를 저장하는 서버를 Stateful 서버라고 한다. Stateful 서버는 다수의 사용자가 접속하여 세션을 유지해야 하는 경우 서버의 메모리 또는 DB의 성능에 부하를 줄

2021년 6월 29일
·
0개의 댓글

[Authentication/Security] 쿠키, 세션

쿠키(Cookie)는 서버에서 클라이언트(웹 브라우저)에 데이터를 저장하는 방법이다. 클라이언트-서버 간 통신에 사용되는 HTTP는 무상태성(stateless)을 가지므로, 이를 보완한다. 어떤 웹 사이트에 들어갔을 때 서버가 HTTP 응답 헤더에 Set-Cookie를

2021년 6월 28일
·
0개의 댓글

[Authentication/Security] HTTPS, Hashing

HTTPS HTTPS(Hypertext Transfer Protocol Secure)는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. 통신 시에 일반 텍스트를 이용하지 않고 SSL이나 TLS을 사용하여 전송 데이터를 암호화한다. HTTP over

2021년 6월 28일
·
0개의 댓글

[Database] ORM, Sequelize

ORM(Object Relational Mapping)은 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 프레임워크이다. 객체 모델(클래스)과 관계형 모델(테이블)은 엔티티를 표현하는 방식이 다른데, ORM은 객체와 관계를 바탕으로 SQL을 자동으로 생

2021년 6월 24일
·
0개의 댓글

[DesignPattern] MVC 패턴

소프트웨어 디자인 패턴소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학에서 흔히 사용되는 공식화 된 설계 패턴으로, 설계 시 자주 발생하는 문제를 해결하기 위해 사용한다. 디자인 패턴을 따라 작성한 코드는 가독성과 퀄리티가 높으며 유

2021년 6월 24일
·
0개의 댓글

[DB] MySQL

DB와 연결하는 방법mysql 모듈을 가져와서 DB 인스턴스 객체를 생성한다. 필요한 정보를 객체에 담아 createConnection 메소드에 전달하며 생성할 수 있다. 생성한 인스턴스에 connect 메소드를 사용해 DB와 연결을 할 수 있다.SQL 사용연결된 DB

2021년 6월 22일
·
0개의 댓글

[DB] Database & SQL

데이터베이스 시스템의 필요성 데이터베이스 관리 시스템(DBMS: Database Management System) 이전에 사용되었던 파일 처리 시스템, 파일에 데이터를 작성하고 읽어오는 형태는 한계가 존재했다. 각 파일마다 필요한 데이터가 각각 저장돼야 하므로 중복된

2021년 6월 17일
·
0개의 댓글

[DS/Algorithm] Big-O 표기법

프로그램의 규모가 클수록 처리할 자료가 커지므로 알고리즘의 효율성은 중요하다. 알고리즘은 수행 시간(시간 복잡도)과 메모리 사용량(공간 복잡도)을 기준으로 평가할 수 있다. 주로 수행 시간이 우선시되므로 알고리즘의 복잡도는 대부분 시간 복잡도를 기준으로 한다.시간 복잡

2021년 6월 14일
·
0개의 댓글

[Redux] 기초

A predictable state container for JavaSCript Apps. Redux는 자바스크립트 앱을 위한 예측 가능한 상태의 저장소를 제공한다. React에서 상태는 컴포넌트 안에서 관리되었다. 상태의 영향을 받는 컴포넌트가 다수 존재하면, 공통의

2021년 6월 4일
·
0개의 댓글

[React] 컴포넌트 디자인

Component-Driven Development(CDD, 컴포넌트 주도 개발)은 컴포넌트를 모듈 단위로 개발하여 사용자 인터페이스(UI)를 구축하는 개발 및 설계 방법론이다. 컴포넌트를 먼저 생성하고 결합(조립)하여 페이지를 만드는 상향식(bottom-up) 방법이

2021년 6월 1일
·
0개의 댓글

[WebServer] 웹 서버 기초, Express

Node.js를 사용하면 브라우저밖에서 자바스크립트를 실행할 수 있으며 웹 서버도 만들 수 있다. Node.js는 모듈 시스템을 구축하고 있어서 필요한 모듈을 불러와서 사용할 수 있다. 웹 서버를 만들 때는 http 모듈을 사용한다. 웹 서버는 HTTP로 클라이언트와

2021년 5월 31일
·
0개의 댓글

[Browser] CORS

브라우저는 위협받고 있다. 위협을 받는 근본적인 이유 중 하나는 브라우저가 자바스크립트를 구동하기 때문이다. 다음과 같이 브라우저에서 자바스크립트로 할 수 있는 것들이 많기 때문에 위험 요소도 존재한다.AJAX call로 API 호출동적 DOM 제어인증 정보를 브라우저

2021년 5월 27일
·
0개의 댓글

[React] Effect Hook

Side Effect함수 내에서의 어떤 구현이 함수 외부에 영향을 끼치는 경우, 해당 함수는 Side Effect(부수 효과)가 있다고 한다.Pure FunctionPure Function(순수 함수)는 오직 함수의 입력만이 함수의 결과에 영향을 주는 함수를 의미한다.

2021년 5월 26일
·
0개의 댓글

[React] State 끌어올리기

React의 데이터 흐름은 상위 컴포넌트에서 하위 컴포넌트로 전달하는 하향식(top-down)이자 단방향 데이터 흐름(one-way data flow)을 따른다. 만약 하나의 상태가 여러 컴포넌트에 영향을 준다면, 해당 컴포넌트들 간의 가장 가까운 공통의 상위 컴포넌트

2021년 5월 25일
·
0개의 댓글

[HTTP/Network] RESTful API

REST는 2000년도 로이 필딩(Roy Fielding)의 박사 학위 논문에서 최초로 소개된 웹 같은 분산 시스템을 위한 소프트웨어 아키텍처이다. "Representational State Transfer"의 약자로, 자원(resource)의 표현(representa

2021년 5월 24일
·
0개의 댓글

[HTTP/Network] 네트워크 기초

클라이언트-서버 아키텍처(client–server architecture)는 서비스 요청자인 클라이언트와 서비스 자원(resource, 리소스)의 제공자인 서버 간의 작업을 분리한 네트워크 모델이다. 2-Tier 아키텍처라고도 한다. 클라이언트는 서비스를 사용하는 사용

2021년 5월 22일
·
0개의 댓글

[JS] 비동기 프로그래밍

동기식(synchronous) 처리 모델은 순차적, 직렬적으로 작업(task)을 수행한다. 어떤 작업이 수행 중이면 다음 작업은 그 작업이 끝날 때까지 대기하는 것이다. 만약 서버에서 데이터를 받아오고 화면에 출력하는 작업을 한다면, 서버에게 요청을 한 뒤 데이터를 받

2021년 5월 19일
·
0개의 댓글