profile
노력하는 초보 개발자
post-thumbnail

[14장] 보안 HTTP

웹은 안전한 방식의 HTTP를 필요로 함HTTP의 보안 버전은 효율적, 이식성, 관리 용이, 적응력이 요구됨서버 인증위조된 서버가 아님을 알 수 있어야 함클라이언트 인증진짜 사용자임을 인증할 수 있어야 함무결성위조된 데이터로부터 안전해야 함암호화서버와 클라이언트는 도청

2021년 10월 17일
·
0개의 댓글
post-thumbnail

[12장] 기본 인증

HTTP는 자체적인 인증 관련 기능을 제공한다인증은 당신이 누구인지 증명하는 것ex) 자동 전화기 PIN 번호, 비밀번호 입력...HTTP는 사용자 인증을 하는 데 사용하는 자체 인증요구/응답 프레임워크를 제공과정웹 애플리케이션이 HTTP 요청 메시지 받음서버는 요청

2021년 9월 26일
·
0개의 댓글
post-thumbnail

[11장] 클라이언트 식별과 쿠키

HTTP는 익명으로 사용하며 상태가 없고 요청과 응답으로 통신하는 프로토콜임서버는 클라이언트가 보낸 요청을 처리하고 나서 그 응답을 클라이언트로 전송웹 서버는 요청을 보낸 사용자를 식별하거나 방문자가 보낸 연속적인 요청을 추적하기 위해 약간의 정보 이용 가능현대에는 개

2021년 9월 19일
·
0개의 댓글
post-thumbnail

[10장] HTTP/2.0

HTTP/1.1의 메시지 포맷은 구현의 단순성, 접근성에 주안성을 두고 최적화HTTP/1.1 특징 & 문제커넥션 하나를 통해 요청 하나를 보내고 그에 대해 응답 하나만 받음회전 지연(latency) 문제. 응답 받아야만 다음 요청을 보낼 수 있음해결을 위한 병렬 커넥션

2021년 9월 19일
·
0개의 댓글
post-thumbnail

[9장] 웹 로봇

웹 로봇이란 사람과의 상호작용 없이 연속된 웹 트랜젝션들을 자동으로 수행하는 소프트웨어 프로그램이다. 9.1 크롤러와 크롤링 웹 크롤러 크롤링을 반복하는 방식으로 웹을 순회하는 로봇 웹 페이지 한 개를 가져옴 → 그 페이지가 가리키는 모든 웹페이지를 가져옴 → 다시

2021년 9월 12일
·
0개의 댓글
post-thumbnail

[5장] 웹 서버

웹 서버 : 웹 서버 소프트웨어와 웹페이지 제공에 특화된 장비 양쪽을 모두 가리킴웹 서버는 HTTP 및 그와 관련된 TCP 처리를 구현한 것자신이 제공하는 리소스를 관리하고 웹 서버를 설정, 통제, 확장하기 위한 관리 기능 제공웹 서버의 형태다목적 소프트웨어 웹 서버를

2021년 8월 22일
·
0개의 댓글
post-thumbnail

[4장] 커넥션 관리

전 세계 모든 HTTP 통신은 TCP/IP를 통해 이루어짐세계 어디서든 클라이언트 애플리케이션은 서버 애플리케이션으로 TCP/IP와 커넥션을 맺을 수 있음.커넥션이 맺어지면 클라이언트와 서버 컴퓨터 간에 주고받은 메시지들은 보전되며 안전하게 전달됨. 커넥션 7단계 (1

2021년 8월 19일
·
0개의 댓글
post-thumbnail

[1장] HTTP 개관

HTTP 프로토콜에 대해 알아보자HTTP는 전 세계의 웹 서버로부터 자원들을 클라이언트들의 웹 브라우저로 옮겨줌신뢰성 있는 데이터 전송 프로토콜을 사용하기 때문에, 데이터 손상의 염려는 ✕월드 와이드 웹의 기본 요소웹 서버는HTTP 프로토콜로 의사소통하기 때문에 보통

2021년 8월 4일
·
0개의 댓글
post-thumbnail

[16장] SerialDate 리팩터링

SerialDate : 날짜를 표현하는 자바 클래스 첫째, 돌려보자 단위 테스트 케이스 몇 개를 포함하는 SerialDateTests 클래스 실패하는 테스트 케이스는 없지만 모든 경우를 점검하지는 않음 주석처리 된, 실패한 테스트 케이스가 있음 경계 조건 오류 발견

2021년 8월 1일
·
0개의 댓글
post-thumbnail

[15장] JUnit 들여다보기

JUnit 프레임워크에서 가져온 코드를 평가해보자.저자가 많다.알아볼 모듈은 문자열 비교 오류를 파악할 때 유용한 코드.전반적으로 상당히 훌륭한 모듈.👉 보이스카우트 규칙에 따라, 우린 처음 왔을 때보다 더 깨끗하게 해놓고 떠나야 한다.접두어 f 모두 제거오늘날 사용

2021년 8월 1일
·
0개의 댓글
post-thumbnail

[14장] 점진적인 개선

깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다는 의미이다.Args.javaArgsException.javaArgumentMarshaler.javaBooleanArgumentMarshaler.javaDoubleArgumentMarshaler.javaI

2021년 8월 1일
·
0개의 댓글
post-thumbnail

[13장] 동시성

객체는 처리의 추상화다. 스레드는 일정의 추상화다.동시성과 깔끔한 코드는 양립하기 어렵다. 여러 스레드를 동시에 돌리는 이유와 그 어려움, 해결 방법에 대해 알아보자.👉 동시성은 무엇과 언제로 분리하는 전략이다.장점 애플리케이션의 구조와 효율이 극적으로 ↑동시성에

2021년 8월 1일
·
0개의 댓글
post-thumbnail

[12장] 창발성

창발성 : 떠오름 현상. 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 또한, 불시에 솟아나는 특성을 창발성이라고 한다.

2021년 7월 26일
·
0개의 댓글
post-thumbnail

[11장] 시스템

복잡성은 죽음이다.👉 소프트웨어 팀도 도시처럼! 시스템 수준에서도 깨끗함을 유지하는 방법을 알아보자.도시가 돌아가는 또 다른 이유는 추상화와 모듈화 때문이다.큰 그림을 이해하지 못할지라도 개인과 개인이 관리하는 구성요소는 효율적으로 돌아간다.👉 소프트웨어 시스템은

2021년 7월 25일
·
0개의 댓글
post-thumbnail

[10장] 클래스

코드의 표현력과 그 코드로 이루어진 함수에 아무리 신경 쓸지라도 좀 더 차원 높은 단계까지 신경 쓰지 않으면 깨끗한 코드를 얻기는 어렵다.👉 프로그램은 신문 기사처럼 읽히도록, 추상화 단계가 순차적으로 내려가도록 작성한다.캡슐화변수와 유틸리티 함수를 반드시 숨겨야하는

2021년 7월 25일
·
0개의 댓글
post-thumbnail

[9장] 단위 테스트

하지만 우리 분야에 테스트를 추가하려고 급하게 서두르는 와중에 많은 프로그래머들이 제대로 된 테스트 케이스를 작성해야 한다는 좀 더 미묘한 (그리고 더욱 중요한) 사실을 놓쳐버렸다. TDD 법칙 세 가지 👉 실제 코드를 짜기 전, 단위 테스트 부터 짜라고 요구하는

2021년 7월 25일
·
0개의 댓글
post-thumbnail

[8장] 경계

👉 인터페이스 제공자는 적용성을 넓히기를, 인터페이스 사용자는 자신의 요구에 집중하길 원한다. 이로 인해 시스템 경계에서 문제가 생긴다.유용하면서도 위험한 경계 인터페이스, MapMap이 반환하는 Object를 올바른 유형으로 변환할 책임은 Map을 사용하는 클라이언

2021년 7월 24일
·
0개의 댓글
post-thumbnail

[7장] 오류 처리

뭔가 잘 못될 가능성은 늘 존재한다. 그 잘못의 책임은 늘 우리 프로그래머에게 있다. 깨끗한 코드와 오류 처리는 확실히 연관성이 있다.이전에는 언어에서 예외를 지원하는 것이 필수가 아니였다. →

2021년 7월 21일
·
0개의 댓글
post-thumbnail

[6장] 객체와 자료 구조

변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. → 추상화 필요한 이유추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스자료를 세세하게 공개하기보다 추상적인 개념으로 표현하는 것이 좋다.객체와

2021년 7월 17일
·
0개의 댓글
post-thumbnail

[5장] 형식 맞추기

형식을 맞추는 목적 코드 형식은 의사소통의 일환으로, 너무 중요하기 때문에 맹목적으로

2021년 7월 17일
·
0개의 댓글