CS(19)
-
초보자를 위한 SSL/TLS 가이드: 무료와 유료 인증서의 차이점
1. SSL의 등장 배경과 역사인터넷이 상용화되면서 데이터 전송 과정에서 도청, 변호, 위변조의 위험성이 커졌습니다.예를 들어 사용자가 웹사이트에 로그인할 때 입력하는 ID 와 비밀번호가 중간에서 도청될 수 있습니다.이러한 보안 문제를 해결하기 위해 안전한 데이터 전송 방식의 필요성이 대두됐습니다.개인정보 보호 및 기밀성 유지인터넷에서 전송되는 데이터는 개인 정보나 금융 정보 등 민감한 정보를 포함할 수 있습니다. 이러한 정보가 유출되면 심각한 문제가 발생할 수 있기 때문에, 기밀성을 유지하는 것이 중요합니다.SSL의 탄생1994년, Netscape Communications는 이러한 문제를 해결하기 위해 SSL(Secure Sockets Layer) 프로토콜을 개발했습니다. SSL은 데이터 암호화를 통..
2024.06.10 -
싱글톤(Singleton) 패턴
2023.05.09 - [디자인 패턴] - 소프트웨어 위기를 극복한 디자인 패턴의 탄생과 발전 소프트웨어 위기를 극복한 디자인 패턴의 탄생과 발전 먼저 디자인 패턴의 정의부터 바로 알아보겠습니다! 디자인 패턴은 S/W 설계에서 자주 발생하는 문제들을 해결하기 위해 사용되는 재사용 가능한 해결책이다. 아마 이 글을 읽으시는 분들 중 디 xpmxf4.tistory.com 해당 포스팅을 읽기 전 위 글을 읽고 오시는 것을 추천드려요! 위 글에서 디자인 패턴이 무엇인지, 그 필요성에 대해 알게 됐다면 이제는 본격적으로 디자인 패턴 즉 소프트웨어 솔루션들에 각 종류에 대해 알아보겠습니다! 디자인 패턴은 크게 3 가지 유형으로 나눠집니다! 생성 패턴 객체 생성에 관련된 패턴으로, 객체를 생성하는 방법과 시점을 결정..
2023.05.09 -
소프트웨어 위기를 극복한 디자인 패턴의 탄생과 발전
먼저 디자인 패턴의 정의부터 바로 알아보겠습니다! 디자인 패턴은 S/W 설계에서 자주 발생하는 문제들을 해결하기 위해 사용되는 재사용 가능한 해결책이다. 아마 이 글을 읽으시는 분들 중 디자인 패턴에 대해 검색해 보셨다면 위와 같은 설명을 많이 보셨을 겁니다. 여기서 "자주 발생하는 문제들" 이란 대체 무엇일까요? 디자인 패턴은 모든 개발자들에게 중요한 개념이지만, 주니어 개발자들이 알아야 하는 필수 덕목 중 하나라는 데... 만약 위 짤 설명과 비슷한 생각이 든다면 정상입니다! 저도 그랬으니깐요 왜냐하면 디자인 패턴이라는 개념은 사실 소프트웨어 분야가 발전한 역사, 즉 과거와 밀접한 관련이 있기 때문이죠. 그렇기에 앞으로 이 카테고리에 설명할 디자인 패턴의 종류가 뭐가 있고 각각을 어떻게 구현하고 실사..
2023.05.09 -
WebKit과 Blink 이해하기: 당신의 웹 브라우저 뒷면의 엔진
WebKit과 Blink는 모두 웹 브라우저의 렌더링 엔진입니다. WebKit은 최초로 애플에서 개발되어, 애플의 사파리 브라우저에서 사용되었습니다. 이후 구글에서도 이를 기반으로 하는 Chromium 브라우저를 개발하면서 많은 사용자들에게 알려졌습니다. WebKit은 HTML, CSS 및 JavaScript와 같은 웹 요소를 렌더링하는 역할을 합니다. WebKit은 각각의 웹 요소들을 렌더링하기 위한 렌더 트리를 구성하고, 이를 화면에 표시하는 역할을 합니다. Blink는 구글이 Chromium 브라우저를 위해 개발한 렌더링 엔진이고 WebKit 과 마찬가지로 HTML, CSS 및 JavaScript와 같은 웹 요소들을 렌더링하는 역할을 합니다. Blink는 WebKit을 포크(fork)하여 만들어졌으..
2023.04.06 -
JIT 컴파일러의 이해와 자바와 자바스크립트에서의 활용
JIT 컴파일러란? JIT(Just-In-Time) 컴파일은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법입니다. 자바와 자바스크립트 모두 이 기법을 사용하지만, 두 언어의 동적 타입(dynamic type)과 정적 타입(static type) 특성에 따라 JIT 컴파일러가 다르게 작동합니다. 자바스크립트에서의 JIT 컴파일러 활용 반면, 자바스크립트는 동적 타입 언어입니다. 실행 전까지 변수나 함수에 넘겨지는 매개변수 같은 타입들에 대한 정보를 알 수 없습니다. 동적 타입 언어의 경우, 프로그램 실행 중에 변수의 타입이 변경될 수 있으므로, 실행 시점의 타입 정보를 활용하여 최적화를 수행해야 합니다. 자바스크립트 엔진들은 이러한 동적 타입 언어의 특성을 고려하여 JIT 컴파일러를 사용하..
2023.04.03 -
프로토콜 스택: 웹 브라우저와 운영체제 간의 통신 이해하기
해당 글은 https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network#%EC%9B%B9-%ED%86%B5%EC%8B%A0%EC%9D%98-%ED%81%B0-%ED%9D%90%EB%A6%84 위 게시물의 "웹 통신의 큰 흐름"을 좀 더 자세하게 풀어보는 글입니다. 먼저 해당 url 을 타고 들어가서 한번 설명을 읽고 오시면 좋을 거 같습니다 :) 브라우저에서 URL 을 입력하고 Enter를 누르면 어떤 일이 일어나는 가? 브라우저가 정해진 브라우저의 규칙에 따라 URL을 해석한다. 브라우저의 규칙의 예시로는 Fragment Identifer 가 있습니다. https://xpmxf4.tistory.com/15 해석된 UR..
2023.04.02