alt
Home
hungryjayy
Cancel

HTTP 완벽가이드 5장 - 웹 서버가 하는 일

웹 서버는 목적에 따라 다양하지만, 기본적으로 리소스에 대한 HTTP 요청을 받아 콘텐츠를 클라이언트에게 돌려주는 일을한다. 간단한 일을 처리하는 작은 임베디드 서버(프린터, 가전기기, IoT 등)을 생각해보자 커넥션을 맺고, 요청을 받고, 처리(해석)하고, 리소스에 접근하고, 응답을 만들고 보낸다. ...

파라미터의 역할

문제상황 private foo(data: { id: string }) { const { id } = data; if(typeof id === 'string') { // ... } else { debug('invalid data type'); } } 타입스크립트 언어를 사용...

SQL Injection

공격 방법 인증 우회 아이디를 입력하고 비밀번호 창에 “1234 or 1=1” 과 같은 비밀번호를 전달해주면, 이게 쿼리로 변환되면서 WHERE 절에서 항상 true 결과를 불러오는 쿼리가 되고, admin 페이지로 접근하게 됨. 에러 유발 기본적으로 웹...

HTTP 완벽가이드 4장 - 2. HTTP 커넥션

Connection 헤더란? 헤더 보호하기 : 한 Connection 작업에서만 사용되어야 하는 토큰 값들을 쉼표로 구분해 갖고 있는다. 다른 커넥션(다른 홉)에 전달되는 것 방지 HTTP/1.1 200 OK Cache-control: max-age=3600 Connection:...

프로세스의 상태변화

new -> ready : 장기 스케줄러에 의해 Ready Queue에 올라감 ready -> running : 단기 스케줄러에 의해 CPU에 할당된 상태.(dispatch) running -> ready : 다른 프로세스에 의해 선점당하면(interrupt) 다시 Ready Que...

모던 JavaScript 튜토리얼 - 'use strict'

: 엄격한 모드로, 기존에 무시해왔던 것들을 엄격하게 잡아낸다고 이해. About 2009년 ES5에서 새로운 기능이 추가되면서 기존 기능 일부가 변경되어 호환성 이슈가 있었다. JS에서는 그 변경 사항을 항상 활성화시키지 않고, 'use strict'라는 지시자를 사용하는 경우에만 활성화되도록 했다. 따라서...

JPA와 Proxy

Proxy사용 이유 : 엔티티를 실제 사용하는 시점에 DB에서 가져오기 위해 사용한다. e.g ) Team과 Member 클래스가 있다고 가정할 때, 1 : n 연관관계를 갖게 되고, 각 멤버는 해당하는 팀 객체를 ManyToOne으로(FK) 갖는다. 이 때 Member에 대한 정보를 조회하기 위해 Team 정보까지 조회하는 것은...

모던 JavaScript 튜토리얼 - Prototype

: 자바스크립트는 프로토타입 기반 언어이다. 모든 객체들이 클래스로 정의해놓은 메소드와 속성을 상속받기 위한 템플릿으로써 프로토타입 객체를 가진다. Prototype : 모든 객체들이 클래스의 정보들을 상속받을 수 있도록 템플릿 역할을 수행한다. 기본적으로 Class로 객체를 정의한다고 해도 자바스크립트 내부적으로는 프로토타...

모던 JavaScript 튜토리얼 - 테스트 자동화와 Mocha

: 개발한 내용의 신뢰성을 높여 궁극적으로 코드 전반의 신뢰도를 높이는 작업 BDD ? 핵심: 테스트, 문서, 예시를 갖도록 테스트: 함수가 의도하는 동작을 제대로 수행하는지 하나의 테스트 패턴 - Given, When, Then 구조 시나리오 기반으로 테스트를 작성. 모든 시나리오를 작성하도록 ...

HTTP 완벽가이드 4장 - 1. TCP 커넥션

TCP 커넥션 : 클라이언트와 서버가 TCP 소켓 인터페이스를 사용해 상호작용하는 과정 위쪽(S1~C2) 에서 소켓 열고, 가운데에서(C3, S5, C4) TCP 핸드셰이크, 아랫쪽 실제 통신 HTTP 커넥션은 몇몇 사용 규칙을 제외하고는 TCP 커넥션에 불과하다. TCP는 HTTP에게 신뢰성 있는 통신을 제...