1. DDoS ? DDoS(Distributed Denial of Service)는 인터넷이 대중화되면서 CSRF(사용자의 의지와 달리 해커들이 요구한 행동대로 웹 페이지에 취약하게 하는 방법), SQL Injection(클라이언트 입력 값을 조작해 데이터베이스 공격
1. TDD ? TDD(Test-Driven Development)는 소프트웨어 개발방법론 중 하나로 'Red','Green','Refactor' 총 3단계의 사이클을 가지고 있다. 구현을 위한 테스트 코드 작성 이후 최소 구현 코드를 작성하고, 리팩토링을 구현하는 과
1. Proxy Server ? 프록시는 서버란 클라이언트가 자신을 거쳐 다른 네트워크에 접속할 수 있도록 중간에서 대리해 주는 서버를 말한다. 2. Proxy Server 사용 이유 웹 환경에서 프록시 서버는 클라이언트와 서버 사이에서 요청 데이터와 응답 데이터를 전달하는 역할을 한다. 우리가 자주 방문하는 인터넷 서비스들은 빠른 전송과 네트워크 비용 ...
1. Web server HTTP 프로토콜 기반으로 동작한다. 클라이언트로부터 요청을 받아 정적 파일을 응답해준다. Web Application Server(WAS)가 너무 많은 역할을 담당하면 트래픽을 감당하지 못할 수 있다. WAS 앞에 Web Server를 둬서
1. WebSocket Web Socket 은 웹 페이지의 한계에서 벗어나 실시간으로 상호작용하는 웹 서비스를 만드는 표준 기술이다. Web Socket의 특징 ◼ 소켓을 이용하여 자유롭게 데이터를 주고 받을 수 있다. ◼ 기존의 요청-응답 관계 방식보다 더 쉽게 데이터를 교환할 수 있다. ◼ 다른 HTTP Request 와 마찬가지로 80 포트를 통해 ...
1. JWT 구조 일단 JWT는 위키피디아, Auth0, jwt.io 등 다양한 사이트에서도 이미 잘 설명하고 있지만 비밀키를 이용하여 서명된 JSON 형태의 데이터다. 여기에 사용자 인증 정보를 넣어서 토큰을 발급해주면 추후 인증이 필요한 리소스에 접근 시 사용자가 서버에 토큰을 포함해서 전송하여 서버측에서는 복잡한 인증 과정 없이 토큰만으로 사용자를 인...
1. WebRTC ? WebRTC (Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이다. W3C에서 제시된 초안이며, 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용될 수 있다. 간단하게 이야기 해서 웹브라우저간에 Adobe Flash나 ActiveX와 같은 별도의...
1. 들어가기 전 패킷(packet)은 네트워크를 통해 전송하기 쉽도록 자른 데이터의 전송 단위이다. 본래는 소포를 뜻하는 용어로, 소화물을 뜻하는 패키지(package)와 덩어리를 뜻하는 버킷(bucket)의 합성어이다. HTTP는 네트워크 패킷이 도청 가능하다고 하다. 그렇다면 네트워크 상의 패킷을 특정 규칙(?)으로 암호화 하면 안되나? 송신자는...
1. CDN ? 최근 네트워크가 많은 발전을 이룬 덕분에 언제 어디서든 정보를 교환할 수 있게 되었다. 우리는 네트워크 속에서 살고 있다고 해도 과언이 아니다. 해외에서 만들어진 앱도 아무 문제 없이 사용이 가능하다. 만약 교환되는 정보가 대용량이라면? 데이터를 언제
프론트엔드와 협업하는 과정에서 HTTPS로 배포하여 열어주어야 하는 상황이 발생해서 NginX를 사용했다. AWS에서 EC2를 사용하여 인스턴스를 열어줄것이다. 인스턴스를 생성하는 과정은 간략하게 글로 적을것이다. 인스턴스 생성하기를 누른다음 이름 및 태그에 이름을 지정한다. 애플리케이션 및 OS 이미지에서 'Ubuntu'를 클릭 하고 Amazon M...
1. CORS ? CORS(Cross-Origin Resource Sharing)는 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념이다. 직역하면 교차되는 출처 자원들의 공유이다. 다른 출처에 있는 자원을 요청한다고 하면 이를 교차 출처 요청이라고 부른다. mdn설명 교차 출처 리소스 공유(...
1. ORM ? ◾ ORM은 Object Relational Mapping(객체-관계-매핑)의 약자이다. ◾ ORM은 객체와 데이터베이스의 관계를 매핑해주는 도구이다. ◾ ORM은 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 도구이다. ◾ ORM은 프로그래밍 언어의 객체와 관계형 데이터베이스 사이의 중계자(통역자) 역할...
Restful API 1. RESTful API ? RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다. 대부분의 비즈니스 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신해야 한다. 예를 들어 월간 급여 명세서를 생성하려면 인보이스 발행을 자동...
1. JavaScript의 ES ? ES는 ECMAScript의 약자이다. ECMAScript는 무엇일까? 위키백과를 보면 ECMAScript 는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 자바스크립트를 표준화하기 위해서 만들어졌으며 꼭 자바스크립트가 아니더라고 어도비 플래시를 사용하는 소프트웨어에서 사...
1. JWT ? JWT(Json Web Token)는 쿠키와 세션 같은 일련의 과정 속에서 나타난 하나의 인터넷 표준 인증 방식 으로 인증에 필요한 정보들을 Token에 담아 암호화 시켜 사용하는 것을 말한다. 2. JWT 는 어떤 상황에서 사용될까? 다음과 같은 상황에서 JWT 가 유용하게 사용 될 수 있다. 회원 인증 : JWT 를 사용하는 가장 ...
1. JavaScript의 자료형과 JavaScript만의 특성 1) 느슨한 타입(loosely typed)의 동적(dynamic) 언어 JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어이다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 및 재할당 가능하다. 2) Ja...