320x100 전체 글189 [JS] 클로저(Closure)와 렉시컬 스코핑 Javascript를 어느정도 사용해 보았다면 클로저 라는 단어를 한번쯤은 들어보았을 것이다. 그러나 실제로 클로저가 정확이 어떤 것이고, 어떤 상황에 쓰이는지 애매한 점이 있어서 정리하려고 한다. 먼저 MDN에서는 클로저를 다음과 같이 설명하고 있다. 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다. 함수와 함수가 선언된 어휘적 환경의 조합 이라고 설명하고 있다. 이를 이해하기 위해 렉시컬 스코핑을 먼저 훑어본다. 어휘적 범위 지정(Lexical Scoping) 자바스크립트에서 상단과 같은 코드가 있다고 할때, 콘솔에는 2가 찍힌다는것을 쉽게 예측할 수 있다. 기본적으로 함수.. 2021. 12. 17. [Network] TCP/IP와 Handshaking TCP/IP란? TCP(Transmission Control Protocol)는 네트워크 상 두 호스트의 연결 지향 통신을 위한 프토토콜이다. OSI 7 계층 중 4계층에 속한다. 여기서 연결 지향이란, 말 그대로 서로의 통신 연결이 유지되는 것을 지향하는 프로토콜을 이야기한다. (이에 반대되는 비 연결 지향 프로토콜으로 UDP가 존재한다) TCP는 연결 지향 프로토콜이기때문에 두 호스트 간의 데이터를 신뢰성 있게 전달할 수 있다. 네트워크망 속에서 호스트 간의 통신을 위한 데이터는 엄청나게 많은 노드를 거쳐가게 된다. 이러한 과정 속에서 먼저 전송한 데이터가 나중에 전달되거나, 데이터가 중간에 유실되는 등 다양한 문제가 발생할 수 있다. IP는 패킷이 제대로 전달되었는지를 확인하지 않기 때문에 IP 위.. 2021. 12. 14. 부스트캠프 웹모바일 6기 챌린지 합격부터 맴버십 수료까지 이 글을 작성한지 벌써 5개월이라는 시간이 흘렀다. 2021 부스트캠프 6기 지원부터 챌린지 합격까지 지원동기 개발공부를 하다보면, 특히 주로 혼자 하다 보면, 항상 드는 의문이 있다. '나는 잘 하고 있는 것일까?' 그러나 혼자 공부를 하면, 이 질문에 대답해 줄 사람은 없다. 사실 혼자 공부를 dawitblog.tistory.com 그동안 정말 바빴고 많은 일이 있었는데, 이러한 경험들도 시간이 지나면 언젠가 잊게 된다. 잊더라도 나중에 블로그에 들어와서 이 글을 읽으면 그런 일도 있었구나 라고 생각할 수 있도록 후기를 작성하려고 한다. 챌린지 시작😎 맴버십까지 모두 수료하고 난 뒤 챌린지 과정을 다시 생각해보면, 정말 이것들을 어떻게 했지? 라는 생각밖에 들지 않는다. 챌린지 과정의 일정은 다음과 .. 2021. 12. 13. [Network] 대칭/비대칭 암호화와 HTTPS 개요 대칭/비대칭 암호화 과정과 이를 활용한 HTTPS 통신 과정에 대해 알아보려고 한다. 대칭키 대칭키 방식은 하나의 키(대칭키)를 가지고 있다면, 누구나 해당 키를 이용하여 데이터를 암호화하고, 복호화할 수 있는 암호화 방식을 말한다. 대칭키는 하나의 키만 있으면 되기 때문에 심플하고 컴퓨터의 입장에서도 연산과정이 상대적으로 훨씬 가볍다는 장점이 있다. 그러나 대칭키 방식은 키를 전달하는 과정에서 키가 탈취된다면 전혀 의미가 없어지는 암호화 방식이라는 단점이 존재한다. 비대칭키(공개키) 비대칭키 방식은 두개의 키를 이용하여 암호화하는 방식이다. 한쪽 키로 암호화한다면, 다른 한쪽 키로만 복호화할 수 있다. 여기서 암호화하는 키를 공개키라고 부르고 복호화하는 키를 개인키라고 부른다. 비대칭키는 대칭키보.. 2021. 12. 11. 이전 1 2 3 4 5 6 ··· 48 다음