이미 잘 아시겠지만, Firefox 57은 Mozilla 애드온 생태계에 WebExtensions라는 새로운 시대를 열며 기존 환경에 큰 변화를 가져왔고, 수많은 애드온에 근본적인 개편을 강요했습니다. 그 영향을 받은 대표적인 애드온 중 하나가 바로 NoScript Security Suite(NSS)입니다. 솔직히 말해, Chrome보다 Firefox를 여전히 선호하고 사용할 만한 실질적인 이유는 이 애드온 하나라고 해도 과언이 아닙니다. NoScript의 창시자인 Giorgio Maone은 도구를 완전히 새롭게 다시 만들어야 했고
2011년, 필자는 프라이버시에 중점을 둔 신생 검색 엔진인 덕덕고(DuckDuckGo)를 소개한 적이 있습니다. 구글의 대안을 찾다가 발견한 이 도구는 매우 밝은 미래를 가지고 있었습니다. 시간이 흘러 2018년, 덕덕고는 꾸준히 성장했으며, 특히 최근 몇 년간 잇따른 개인정보 유출 사건들 속에서 큰 인기를 얻고 있습니다. 필자 역시 이 검색 엔진을 계속 테스트하며 다양한 옵션과 기능들을 탐구해 왔습니다.그래서 이번에도 리뷰를 진행할 차례입니다. 저에게 소프트웨어나 제품을 바꾸는 일은 결코 사소한 일이 아닙니다. 특히 기존의 사용
지난 몇 년간, 특히 최근에는 그 전보다 더 자주, Firefox의 외관과 동작 방식을 내 컴퓨터에 맞게 변경해야 하는 상황에 직면했습니다. 한때 합리적이었던 기본 설정들이 거의 자의적으로 바뀌면서, 작업 흐름에 기능적·미학적 비효율이 생겨났기 때문입니다. Australis와 Proton 디자인이 바로 그 좋은 예입니다.최근 저는 Firefox 91 이후 버전에서 회색 위에 회색이 겹치는 지루한 인터페이스를 되돌리는 방법을 설명하는 두 편의 상세한 가이드를 발행했습니다. 두 글 모두 제가 쌓아온 Firefox UI에 대한 지식에 의
이 글에서는 왜 도메인 루트에는 CNAME을 설정할 수 없는가?라는 질문을 출발점 삼아, DNS와 dig, A 레코드, CNAME 레코드, ALIAS/ANAME 레코드를 입문자 눈높이에서 차근차근 살펴보겠습니다.먼저 알아야 할 기본 개념도메인 네임 시스템(DNS): 사람이 기억하기 쉬운 도메인 이름(example.com)을 IP 주소(93.184.216.34)로 변환하는 전체 시스템입니다. 해당 IP 주소는 웹페이지 표시에 필요한 파일이 저장된 서버, 즉 보통 웹 서버를 가리킵니다.DNS 서버(네임서버라고도 함): DNS 소프트웨어
웹 개발을 공부하다 보면 Angular나 React 같은 화려한 프레임워크에만 집중하기 쉽습니다. 하지만 그보다 더 근본적인 질문이 있습니다. 바로 브라우저에서 URL을 입력하면 과연 어떤 일이 일어날까?라는 질문입니다. 이 글에서는 URL을 입력하는 순간부터 화면에 콘텐츠가 나타나기까지의 전체 과정을 단계별로 살펴보겠습니다.URL(Uniform Resource Locator)이란?URL의 정식 명칭인 Uniform Resource Locator를 보면 그 의미가 어느 정도 짐작됩니다. 말 그대로 우리가 접근하려는 리소스의 위치,
DNS 조회(DNS Lookup)란 무엇인가?도메인 네임 시스템 조회, 줄여서 DNS는 사용자가 검색창에 URL을 입력한 순간부터 페이지가 로딩되기까지 사이에서 일어나는 과정을 말합니다. 기술적으로 설명하자면, URL(예: www.google.com)을 IP 주소로 변환하는 프로세스입니다.IP 주소는 우리 집 주소와 비슷한 개념입니다. 우편물을 보낼 때 주소를 사용하듯이, 컴퓨터는 데이터를 특정 장소로 전송할 때 IP 주소를 사용합니다. IP 주소는 긴 숫자 나열로 되어 있어 기억하기 어렵기 때문에, 컴퓨터는 DNS를 활용해 기억하
이 글에서는 월드 와이드 웹(World Wide Web)이 근본적으로 어떻게 작동하는지 차근차근 살펴보겠습니다.그 핵심 기술이 바로 HTTP(Hypertext Transfer Protocol, 하이퍼텍스트 전송 프로토콜)입니다. 우리가 웹을 탐색할 때 사용하는 통신 프로토콜이 바로 이것입니다.HTTP의 기본 동작 원리웹사이트에 접속하면 브라우저는 서버에 HTTP 요청(request)을 보냅니다. 그러면 서버는 이미지, 동영상 또는 웹 페이지의 HTML 같은 리소스로 응답(response)하고, 브라우저는 그 결과를 화면에 표시해 줍
2010년, 구글의 전설적인 엔지니어 제프 딘(Jeff Dean)이 스탠퍼드 대학에서 강연을 통해 컴퓨팅 시스템의 성능을 좌우하는 몇 가지 핵심 숫자를 소개하며 큰 반향을 일으켰습니다. 이후 피터 노빅(Peter Norvig)이 이 숫자들을 인터넷에 공개하면서 프로그래머라면 반드시 알아야 할 지연 시간 수치로 널리 알려지게 되었습니다. 시간이 흐르면서 하드웨어와 네트워크 환경이 발전함에 따라 이 숫자들도 조금씩 변해왔습니다. Colin Scott이 만든 인터랙티브 웹 페이지를 보면 연도별로 이 수치들이 어떻게 변화했는지 한눈에 파악
자포드는 그냥 평범한 녀석이야, 알다시피?– 할프런트, 더글러스 애덤스의 『은하수를 여행하는 히치하이커를 위한 안내서』 중. 책 기준이며, 영화는 절대 아닙니다.어떤 사람들은 사이버 보안과 종단 간 암호화에 남다른 진심을 가지고 있고, 에니그마의 작동 원리를 처음 접했을 때 흥분을 감추지 못하기도 합니다. 이런 사람들은 웃음거리가 되지 않는 개인 사이버 보안 체계를 구축하는 데 타고난 흥미를 지니고 있을 가능성이 높습니다.불행히도 대부분의 사람들은 사이버 보안을 선택 사항으로 여깁니다. 흔히 이런 말을 하죠.나 같은 걸 노릴 사람은
몇 년 전, 구글은 크롬(Chrome)에 재미있는 이스터 에그를 숨겨두었습니다. 인터넷 연결이 끊긴 상태에서 웹페이지에 접속하려고 하면 인터넷에 연결되어 있지 않음이라는 오류 메시지 옆에 픽셀로 그려진 작은 공룡이 나타나죠.공룡: 오늘은 인터넷이 안 된다고 합니다많은 사람들이 이 공룡을 단순히 인터넷이 끊겼을 때 곁을 지켜주는 귀여운 아이콘 정도로 여겼습니다. 하지만 누군가 스페이스바를 누르는 순간, 공룡이 달리기 시작하면서 모든 것이 달라졌습니다.이 작은 이스터 에그는 지금은 수많은 사람들에게 사랑받는 미니게임이 되었습니다. 그런
웹 페이지에 접속하려고 했는데, 주소창에 기대했던 URL 대신 about:blank라는 문구가 표시된 적이 있으신가요?걱정하지 마세요. 이 현상은 가끔 발생하며, 위험한 것은 아닙니다. 이 글에서는 다음 내용을 알아볼 수 있습니다.about:blank의 의미about:blank가 나타나는 원인about:blank를 일부러 사용하는 이유제거가 가능한지 여부보안상 걱정이 필요한지 여부그럼 하나씩 자세히 살펴보겠습니다.about:blank란 무엇인가?about:blank는 브라우저가 표시할 다른 것이 없을 때 나타나는 페이지입니다. 인터
JavaScript만으로 앱이 지금 인터넷에 연결되어 있는지 확인할 수 있을까요? 답은 가능하다입니다. 이 글에서는 브라우저의 인터넷 연결 감지 문제에 대한 최신 해법을 소개합니다. 핵심 도구는 Fetch API와 Async & Await 기반의 비동기 코드입니다. 그 전에, 많은 개발자들이 가장 먼저 접하게 되는 전통적인 해법과 그 한계부터 짚고 넘어가겠습니다. navigator.onLine 속성이란? Navigator 인터페이스의 online 속성인 navigator.onLine은 브라우저의 온라인·오프라인 여부를 감
당신의 집이 하나의 거대한 컴퓨터라고 상상해 보세요. 굿디슨 거리나 4번가 같은 주소 대신, 집 주소는 숫자로 이루어집니다. 예를 들면 이렇습니다: 112.231.31.20.마치 미래 영화에서처럼, 당신의 도시에는 하늘을 날아다니는 첨단 로봇들이 집집마다 메시지를 전달하고 응답을 가지고 옵니다.그림이 그려지시나요?인터넷 작동 원리 개요조금 단순화해서 설명하면, 브라우저에 웹 주소를 입력했을 때 일어나는 일은 다음과 같습니다:요청을 보내고자 하는 집의 주소를 찾습니다로봇 우편배달부를 통해 요청을 보냅니다로봇 우편배달부가 돌려줄 응답을
먼저 인터넷에 대한 몇 가지 오해부터 짚고 넘어가겠습니다. 인터넷은 웹(Web)이 아닙니다. 인터넷은 클라우드도 아니고, 마법 같은 것도 아닙니다.마치 자동으로 작동하는 당연한 존재처럼 여겨지지만, 사실 그 이면에는 인터넷을 구동시키는 복잡한 과정들이 숨어 있습니다.그래서... 인터넷은 정확히 무엇일까요?인터넷은 실제로 선입니다. 물론 전 세계의 컴퓨터들을 연결하는 수많은 선들이죠.인터넷은 또 하나의 인프라이기도 합니다. 상호 연결된 컴퓨터들이 표준화된 방식과 정해진 프로토콜을 통해 소통하는 글로벌 네트워크입니다.결국 인터넷은 네트
무언가를 창조하는 과정의 핵심 중 하나는 아직 존재하지 않는 것을 상상하는 능력입니다.이러한 능력은 인터넷의 탄생에 결정적인 역할을 했습니다. 만약 아무도 오늘날 우리가 당연하게 여기는 기반 기술을 상상하지 않았다면, 고양이 밈도 존재하지 않았을 것입니다.인터넷을 가능하게 만들기 위해 상상해야 했던 두 가지 개념이 바로 계층(layer)과 프로토콜(protocol)입니다.계층은 유사한 기능들을 하나로 묶는 개념적 구분입니다. 프로토콜이라는 단어는 어쩌면 우리는 여기서 일을 이렇게 하기로 약속했다는 의미에 가깝습니다.요약하자면, 계층
인터넷에서 사용되는 모든 리소스에는 고유한 미디어 타입(media type)이 있습니다. 흔히 MIME 타입(Multipurpose Internet Mail Extensions)이라고 부르는 이 정보는 서버와 클라이언트 간 통신에서 반드시 필요합니다. 브라우저는 전달받은 리소스의 미디어 타입을 알아야만 해당 리소스를 적절하게 처리할 수 있습니다. 서버도 마찬가지입니다. 서버 역시 수신한 데이터의 타입을 알아야 정확한 파싱과 처리가 가능합니다. 콘텐츠 타입(Content-Type)은 어디에 선언될까? 리소스의 미디어 타입은 클라이언트
컴퓨터 네트워킹을 공부하거나 애플리케이션의 네트워크 설정을 살펴본 적이 있다면, TCP와 UDP라는 용어를 한 번쯤은 본 적이 있을 겁니다.TCP(Transmission Control Protocol, 전송 제어 프로토콜)와 UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)는 인터넷 프로토콜 스위트(internet protocol suite)에 속하는 핵심 프로토콜입니다. 두 프로토콜은 인터넷에서 정보를 주고받는 서로 다른 방식이라 할 수 있습니다.하지만 이름만 알아서는 어떤 상황에 어느 쪽을 써야 하는
인터넷은 우리 일상에서 떼려야 뗄 수 없는 존재가 되었습니다. 매일 수없이 사용하지만, 정작 웹페이지를 열거나 영상을 클릭했을 때 화면 뒤에서 실제로 어떤 일이 벌어지는지 깊이 생각해 본 적은 드뭅니다.freeCodeCamp.org 유튜브 채널에는 바로 그 궁금증을 해소해 주는 약 2시간 분량의 무료 강의가 공개되었습니다. 이 강의는 인터넷의 작동 원리와 기본 네트워킹 개념을 처음부터 차근차근 알려줍니다.강의를 진행하는 이언 프로스트(Ian Frost)는 Udemy에서 수천 명에게 강의한 경험을 가진 베테랑 강사로, 복잡한 개념을
인터넷은 인류가 만들어낸 가장 위대한 발명품 중 하나입니다.매 순간 수백만 명이 인터넷을 사용하고 있으며, 인터넷은 새로운 직업과 업무 방식의 탄생부터 뉴스 소비 방식, 의사결정 과정까지 우리 삶의 수많은 측면을 바꿔놓았습니다.인터넷은 이미 오랜 역사를 지녔지만, 그 기반이 되는 핵심 기술들은 발명 당시 이후 크게 변하지 않았습니다.이 글에서는 인터넷 프로토콜(IP)이 무엇인지, 어떻게 작동하는지, 그리고 각 버전 간의 차이점은 무엇인지 살펴보겠습니다.컴퓨터는 인터넷에서 어떻게 통신할까?컴퓨터를 포함한 각종 기기들은 해저 케이블 또
라우터의 IP 주소를 알아야 할 때가 있습니다. 라우터 설정 페이지에 접속하면 비밀번호 변경, 원치 않는 사용자 차단, 접속자 수 제한 등 다양한 설정을 변경할 수 있기 때문입니다.이 글에서는 윈도우 PC와 안드로이드 스마트폰에서 라우터의 IP 주소를 확인하는 방법을 단계별로 소개합니다.IP 주소란 무엇일까요?본격적으로 시작하기 전에, IP 주소가 정확히 무엇인지 짚고 넘어가겠습니다.IP는 인터넷 프로토콜(Internet Protocol)의 약자입니다. 인터넷 프로토콜은 컴퓨터, 스마트폰 등 각종 기기가 인터넷이나 로컬 네트워크를