책(15)
-
[Http&Network Basic] 2장 간단한 프로토콜 HTTP
1. HTTP는 클라이언트와 서버 간에 통신을 한다. TCP/IP에 있는 다른 많은 프로토콜과 마찬가지로 HTTP도 클라이언트와 서버 간에 통신을 한다. 텍스트와 이미지 등의 리소스를 필요하다고 요구하는 쪽이 클라이언트가 되고, 이러한 리소스를 제공하는 쪽이 서버가 된다. HTTP를 사용하여 2대의 컴퓨터 간에 통신을 하는 경우, 한 번 통신을 할 때마다 반드시 어느 한쪽은 클라이언트가 되고 다른 한쪽은 서버가 된다. 경우에 따라서는 2대의 컴퓨터 간에 클라이언트와 서버가 바뀌는 일도 있을 수 있다. 위의 그림과 같이 HTTP는 클라이언트로부터 리퀘스트가 송신되며, 그 결과가 서버로부터 리스폰스로 돌아오게 된다. 즉, 통신은 반드시 클라이언트로부터 시작이 된다. 서버 측에서는 리퀘스트가 없는 경우 리스폰..
2020.06.16 -
[Http&Network Basic] 1장 웹과 네트워크의 기본
나에게 대학교 4년을 공부하면서 가장 재밌었던 과목들을 뽑으라고 한다면 가장 먼저 생각날 과목은 컴퓨터 네트워크 과목이다. 프로그래밍 그 자체에 흥미가 생겼을 뿐, 확실한 진로를 잡지 못했던 나에게 웹 개발자라는 목표가 생기도록 계기를 마련해준 과목이기 때문이다. KOCW라는 여러 대학의 강의들을 접할 수 있는 플랫폼을 통해서 각 대학의 네트워크 과목을 반복해서 수강할 만큼 그 당시에는 열정이 넘쳤던 것 같다. 네트워크 공부를 한지 꽤 오랜 시간이 흘러서, 다시 한번 내용을 훑어보고 싶어 책을 찾고 있었는데 이 책을 추천받아서 정리하게 되었다. 내용 자체가 깊지 않고 키워드 중심의 책이기 때문에 내용이 두서없을 수 있지만 두고두고 훑어보기에 좋은 정리가 될 수 있으면 좋겠다. 1. 웹은 HTTP로 나타낸..
2020.06.15 -
[객체지향의 사실과 오해] 7장
7장 함께 모으기 코드와 모델을 밀접하게 연관시키는 것은 코드에 의미를 부여하고 모델을 적절하게 한다. -에릭 에반스 객체지향 설계의 세가지 관점 마틴 파울러는 객체지향 설계안에 존재하는 세가지 관점을 각각 개념 관점, 명세 관점, 구현 관점이라고 부른다. 그리고 이것은 곧, 개발자가 소프트웨어를 개발하는데 있어서 클래스를 어떻게 설계해야 하느냐에 대한 힌트가 될 수 있다. 각 관점에 대해 설명하자면, 개념 관점은 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현하는 것을 의미한다. 이때 도메인이 의미하는 것은 사용자들이 관심을 가지고 있는 특정분야나 주제를 말하며 소프트웨어는 도메인에 존재하는 문제를 해결하기 위해 개발된다; 명세 관점은 사용자의 영역인 도메인을 벗어나 개발자의 영역인 소프트웨어로..
2020.04.28 -
[객체지향의 사실과 오해] 6장
6장 객체 지도 유일하게 변하지 않는 것은 모든 것이 변한다는 사실뿐이다. - 헤라클레이토스 기능 설계 대 구조 설계 모든 소프트웨어 제품의 설계에는 두 가지 측면이 존재한다. 하나는 '기능'측면의 설계이고, 다른 하나는 '구조'측면의 설계다. 기능 측면의 설계는 제품이 사용자를 위해 '무엇을 할 수 있는지'에 초점을 맞추고, 구조 측면의 설계는 제품의 형태가 어떠해야 하는지에 초점을 맞춘다. 설계를 하는 목적은 기능과 구조라는 두 가지 측면을 함께 녹여 조화를 이루도록 만드는 것이다. 소프트웨어는 사용자가 원하는 기능을 제공해야한다. 단, 원하는 기능은 가변적이다. 한번만들고 변경될 일 없는 소프트웨어는 거의 존재하지 않는다. 사용자들의 요구사항은 계속해서 변경되기 때문이다. 이러한 측면에서, 변경되는..
2020.04.28 -
[객체지향의 사실과 오해] 5장
5장 책임과 메시지 의도는 "메시징"이다. 훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈 내부의 속성과 행동이 어떤가보다는 모듈이 어떻게 커뮤니케이션 하는가에 달려있다. - 앨런 케이 존 달리와 밥 라타네의 실험 1964년 두 명의 젊은 심리학자는 흥미로운 실험을 하게 된다. 학생들을 모집하여 도시 생활에 대한 어려움을 이야기 하게끔 한 이 실험은, 학생들을 물리적으로 격리 시켜 두었지만 오디오 시스템을 통해 다른 학생의 이야기를 들을 수 있게 설계되었다. 그러나 실제 실험에서 참가자 본인을 제외한 다른 학생들의 목소리는 미리 녹음된 내용을 재생한 것이었다. 학생들은 다른 학생이 각자의 방에서 실시간으로 이야기를 하고 믿고 있는 상태였다. 실험의 주요 포인트는 간질을 앓고있는 학생의 녹음본이 재..
2020.04.22 -
[객체지향의 사실과 오해] 4장
4장 역할,책임,협력 우리 모두를 합친 것보다 더 현명한 사람은 없다. - 켄 블랜차드 최후통첩게임 1982년 독일 훔볼트 대학의 베르너 귀스 교수는 흥미로운 경제학 게임 하나를 고안했다고 한다. '인간은 항상 자신에게 최대의 이익이 돌아올 수 있도록 합리적인 의사결정을 내리는가?'라는 질문에 대한 답을 얻기 위한 이 실험의 이름은 '최후 통첩 게임'이다. 룰은 매우 간단하다. 이 게임에는 '제안자'와 '응답자'가 존재한다. 1. '제안자'는 연구팀으로부터 일정한 금액을 제시받는다. '제안자'가 이 금액을 얻기 위해서는 '응답자'와 일정 비율로 나누어 가져야 하며, 그 비율은 '제안자'가 결정할 수 있다. 2. '응답자'는 '제안자'로부터의 제안을 승낙하거나 거부 할 수 있다. 승낙할 경우 '제안자'가 ..
2020.04.21