Iteration Protocol ES6에 도입되어 데이터 컬렉션을 순회하기 위한 규칙 Iteration Protocol을 준수하면 for.. of, Spread 문법을 사용할 수 있음. Iteration Protocol = Iterable Protocol + Iterator Protocol const array = [1, 2, 3]; for (const value of array) { console.log(value); } console.log(...array); Iterable Protocol Symbol.iterator 메소드를 구현한 객체를 의미한다. (나 순회 할수 있어! 라고 알려주는 척도) const array = [1, 2, 3]; // iterator가 배열에 존재하는지 여부 consol..
생소한 Deno에 대한 기본적인 개념을 정리 하고자 한다. 사용법은 어렵지 않으므로 document를 읽어본다. deno 출현 배경 라이언 달(Ryan Dahl)은 JSConf.EU 행사 첫날의 저녁 세션에서 "Things | Regret About Node.js"라는 제목으로 nodejs 설계실수를 발표하며 deno를 소개함. Node.js 사용자는 너무나 많기 때문에 Node.js의 잘못된 것들을 당장 바로잡는 것이 어렵게됨. TypeScript와 같은 파생 프로젝트도 생겨나면서 빌드 시스템과 프로젝트 자체를 관리하는 툴만으로도 굉장히 복잡해졌음. 외부 라이브러리가 꼭 npm 저장소를 통해야만 한다는 것은 웹의 이상적인 방향과도 맞지 않음. NodeJS 설계 실수 1. Promises를 고집하지 않은..
JAR library나 일반 application을 배포하는 형식. 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 패키지 포맷. WAR web application을 지원하기 위한 압축방식으로 jsp, servlet, gif, html, jar 등을 포함. war는 단독으로 실행이 안되고 서버 컨테이너(was)에 의해 실행되어야하므로 배포디스크립터(web.xml)가 담겨있다. 출처 https://sbell92.tistory.com/39 jar / war 정리 java로 개발한 application을 배포할때는 jar, war 형태롤 배포하게 된다. 이 둘은 완전히 동일한 형식이나 war는 web applic..
WebRTC (Real-Time Communication) WebRTC 란 웹 브라우저만으로 실시간 화상 통신을 구현할 수 있는 API이다. 기존에는 플래시와 같은 서드 파티 소프트웨어를 사용하여 화상 통신을 구현 했으나 WebRTC를 사용하여 서드 파티를 사용하지 않고 웹브라우저로만 와상 통신 서비스가 가능해졌다. 모든 브라우저가 아닌 WebRTC기능을 포함한 브라우저(Chrome)을 사용해야 가능하다. (https://caniuse.com/#search=webrtc) WebRTC API getUserMedia: 사용자 단말기의 미디어 장치를 액세스할 수 있는 방법을 제공한다. 미디어 장치라 함은 마이크와 웹캠을 의미한다. getUserMedia 를 통해 미디어 장치를 액세스 하게 되면 미디어 스트림 ..
웹소켓 이전 요청 방식 웹소켓이 나오기전에 전형적인 웹 요청 방식은 client -> server로의 단방향 요청이다. 이전에는 이러한 방식이 문제가 되지 않았으나 점차 웹서비스와 기술이 다양해지면서 server -> client측으로 데이터를 전송할 수 있는 방법이 필요해졌다. 허나, http 통신 특성상 한번 통신을 하면 연결이 끊기기때문에 서버에서 데이터를 먼저 보낼수 있는 방법은 존재하지 않아 Polling, Long Polling, Streaming 와 같은 방식들 사용하여 비슷한 효과를 낼 수 있었다. WebSocket 사용자와 서버 사이의 양방향 연결 채널을 구성하는 HTML5 프로토콜이다. WebSocket API를 통해 서버로 메시지를 보내고 요청 없이 응답을 받아오는 것이 가능하다. 그..
이글은 https://medium.com/compass-security/samesite-cookie-attribute-33b3bfeaeb95의 내용을 기반으로 번역했습니다. 1. Same Site? SameSite는 브라우저가 사이트 간 요청과 함께 쿠키를 보내지 못하게한다. 주요 목표는 출처 간 정보 유출의 위험을 완화하는 것이다. 또한 크로스 사이트 요청 위조 공격(CSRF공격)에 대한 보호 기능도 제공한다. 플래그의 가능한 값은 Lax 또는 Strict이다. 2. 사용 예시 만약 인터넷 뱅킹을 사용하고 있는데 해당 사이트 거래 양식이 사이트 간 요청 위조 취약점에 취약한 것으로 가정한다. 인터넷 뱅킹 사용자(피해자)가 로그인(인증)이 되어 세션쿠키가 생성되어있다. 이때 공격자가 이메일, 트위터, 페..