본문 바로가기

독서&그 외19

브라우저는 어떻게 동작하는가? 브라우저의 주요 기능 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것이다. 자원은 보통 HTML 문서지만 PDF 나 이미지 또는 다른 형태일 수 있다. 자원의 주소는 URI (Uniform Resource Identifer) 에 의해 정해진다. 브라우저는 HTML 과 CSS 명세에 따라 HTML 파일을 해석해서 표시하는 데 이 명세는 웹 표준화 기구인 W3C (World Wide Web Consortium) 에서 정한다. 브라우저의 사용자 인터페이스는 서로 닮아 있는데 다음과 같은 요소들이 일반적이다. URI를 입력할 수 있는 주소 표시 줄 이전 버튼과 다음 버튼 북마크 새로 고침 버튼과 현재 문서의 로드를 중단할 수 있는 정지 버튼 홈 버튼 브라우저의 기본 구조 브.. 2022. 11. 18.
'개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴' 을 읽고 (7장, 주요 디자인 패턴) 객체 지향과 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [7. 주요 디자인 패턴] 이번 장에서 정리할 디자인 패턴 전략 패턴 / 템플릿 메서드 패턴 / 상태 패턴 데코레이터 패턴 / 프록시 패턴 / 어댑터 패턴 옵저버 패턴 / 미디에이터 패턴 / 파사드 패턴 추상 팩토리 패턴 / 컴포지트 패턴 전략 (Strategy) 패턴 서로 다른 정책들이 한 코드에 섞여있으면 유지보수가 어려워진다. 정책이 추가될때마다 코드가 수정되어야 하고 if-else 블록도 늘어난다. 이럴 때 정책을 추상화하여 인터페이스로 만들어서 사용한다. 알고리즘 정책을 추상화하고 있는 인터페이스를 '전략' 이라고 부르고, 실제 구현 기능 자체의 책임을 가지고 있는 클래스를.. 2022. 10. 12.
'개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴' 을 읽고 (4장~6장) 객체 지향과 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [4. 재사용: 상속보단 조립] 상속의 단점 상속을 사용하면 상위 클래스에 구현된 기능의 재사용을 쉽게 할 수 있는 것은 분명하다. 하지만 거기에는 몇 가지 문제점이 있다. 1) 상위 클래스 변경의 어려움 : 상속을 하게 되면 상위 클래스의 변경을 어렵게 만든다. 상위 계층을 따라 상위 클래스의 변경이 하위 클래스에도 영향을 주기 때문에 최악의 경우 상위 클래스의 변화가 모든 하위 클래스에 영향을 줄 수 있다. 클래스 계층도가 점점 커질수록 상위 클래스를 변경하는 것은 점점 어려워진다. 2) 클래스의 불필요한 증가 : 유사한 기능을 확장하는 과정에서 클래스의 개수가 불필요하게 증가할.. 2022. 10. 10.
'개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴' 을 읽고 (1장~3장) 객체 지향과 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [1~2. 객체 지향] 유연한 구조를 만들 수 있게 해주는 객체 지향 소프트웨어의 가치는 사용자가 요구하는 기능을 올바르게 제공하는 데에 있다. 이 요구사항은 언제나 변하기 때문에 시간의 흐름에 따라 이전에 필요 없다고 생각했던 기능이 필요해질 수도 있고, 기존에 구현된 기능의 일부를 변경해야 할 수도 있다. 소프트웨어는 이 흐름에 따라 유연하게 변화할 수 있어야 한다. 처음부터 복잡한 구조로 시작하다보면 나중에 가서는 수천, 수만 줄에 이르는 매우 복잡한 설계를 가지게 되는데, 여기서 새로운 요구사항이 발생하면 그에 따른 수정 비용과 시간은 만만치 않을 것이다. 이것보다는 변화에 .. 2022. 10. 10.
'그림으로 배우는 HTTP & Network Basic' 10장~11장 HTTP & Network Basic - 교보문고 재미있게 배워보는 웹과 네트워크 입문 | 이 책은 웹의 근간을 이루는 HTTP를 중심으로 하여 웹, 인터넷 데이터 통신 분야의 기초가 되는 내용들을 다루고 있습니다. 관련 분야를 배우고자 하는 www.kyobobook.co.kr [제10장, 웹 콘텐츠에서 사용하는 기술] HTML HTML (HyperText Markup Language) 은 웹 상에서 하이퍼텍스트를 보내기 위해 개발된 언어이다. 하이퍼텍스트란 문서 중에 임의의 장소의 정보가 다른 정보(문서나 이미지 등)에 링크되어 있는 문서이다. 마크업 언어는 문서의 일부에 특별한 문자열을 붙임으로써 문서를 수식하는 언어이다. 꺾쇠 태그 를 사용해서 문자를 둘러쌓아 문서를 디자인하거나 이미지나 링크를 삽.. 2022. 10. 7.
'그림으로 배우는 HTTP & Network Basic' 7장~9장 HTTP & Network Basic - 교보문고 재미있게 배워보는 웹과 네트워크 입문 | 이 책은 웹의 근간을 이루는 HTTP를 중심으로 하여 웹, 인터넷 데이터 통신 분야의 기초가 되는 내용들을 다루고 있습니다. 관련 분야를 배우고자 하는 www.kyobobook.co.kr [제7장, 웹을 안전하게 지켜주는 HTTPS] HTTP 의 약점 평문(암호화하지 않은) 통신이기 때문에 도청 가능 통신 상대를 확인하지 않기 때문에 위장 가능 완전성을 증명할 수 없기 때문에 변조 가능 평문이기 때문에 도청 가능 HTTP 를 사용한 리퀘스트나 리스폰스 통신 내용은 HTTP 자신을 암호화하는 기능은 없기 때문에 통신 전체가 암호화되지 않는다. TCP/IP 구조는 통신 경로 도중에 통신 내용을 엿볼 수 있기 때문에 패.. 2022. 10. 6.