중요한 사용자 스토리를 가능한 한 모두 확정하려고 하지만, 전부는 않는다스토리 카드에 그 스토리 몇몇 포인트만 적음너무 크거나 너무 작은 스토리는 추정하기 어려움스토리가 분할되거나 합쳐지면 다시 추정해야함한두개의 스토리로 프로토타입을 만들어 속도를 예측하는 단계를 스파
개발자로서 우리가 기억해야 할 것은 XP가 마을에서 유일한 게임이 아니라는 것이다.애자일 방법 중에서도 가장 유명한 익스트림 프로그래밍 (XP)단순하면서도 서로 의존적인 실천 방법의 집합으로 구성되어 있음XP 팀의 고객은 기능 요소를 정의하고 우선순위를 매기는 개인 또
웹은 안전한 방식의 HTTP를 필요로 함HTTP의 보안 버전은 효율적, 이식성, 관리 용이, 적응력이 요구됨서버 인증위조된 서버가 아님을 알 수 있어야 함클라이언트 인증진짜 사용자임을 인증할 수 있어야 함무결성위조된 데이터로부터 안전해야 함암호화서버와 클라이언트는 도청
HTTP는 자체적인 인증 관련 기능을 제공한다인증은 당신이 누구인지 증명하는 것ex) 자동 전화기 PIN 번호, 비밀번호 입력...HTTP는 사용자 인증을 하는 데 사용하는 자체 인증요구/응답 프레임워크를 제공과정웹 애플리케이션이 HTTP 요청 메시지 받음서버는 요청
HTTP는 익명으로 사용하며 상태가 없고 요청과 응답으로 통신하는 프로토콜임서버는 클라이언트가 보낸 요청을 처리하고 나서 그 응답을 클라이언트로 전송웹 서버는 요청을 보낸 사용자를 식별하거나 방문자가 보낸 연속적인 요청을 추적하기 위해 약간의 정보 이용 가능현대에는 개
HTTP/1.1의 메시지 포맷은 구현의 단순성, 접근성에 주안성을 두고 최적화HTTP/1.1 특징 & 문제커넥션 하나를 통해 요청 하나를 보내고 그에 대해 응답 하나만 받음회전 지연(latency) 문제. 응답 받아야만 다음 요청을 보낼 수 있음해결을 위한 병렬 커넥션
웹 로봇이란 사람과의 상호작용 없이 연속된 웹 트랜젝션들을 자동으로 수행하는 소프트웨어 프로그램이다. 9.1 크롤러와 크롤링 웹 크롤러 크롤링을 반복하는 방식으로 웹을 순회하는 로봇 웹 페이지 한 개를 가져옴 → 그 페이지가 가리키는 모든 웹페이지를 가져옴 → 다시
웹 서버 : 웹 서버 소프트웨어와 웹페이지 제공에 특화된 장비 양쪽을 모두 가리킴웹 서버는 HTTP 및 그와 관련된 TCP 처리를 구현한 것자신이 제공하는 리소스를 관리하고 웹 서버를 설정, 통제, 확장하기 위한 관리 기능 제공웹 서버의 형태다목적 소프트웨어 웹 서버를
전 세계 모든 HTTP 통신은 TCP/IP를 통해 이루어짐세계 어디서든 클라이언트 애플리케이션은 서버 애플리케이션으로 TCP/IP와 커넥션을 맺을 수 있음.커넥션이 맺어지면 클라이언트와 서버 컴퓨터 간에 주고받은 메시지들은 보전되며 안전하게 전달됨. 커넥션 7단계 (1
HTTP 프로토콜에 대해 알아보자HTTP는 전 세계의 웹 서버로부터 자원들을 클라이언트들의 웹 브라우저로 옮겨줌신뢰성 있는 데이터 전송 프로토콜을 사용하기 때문에, 데이터 손상의 염려는 ✕월드 와이드 웹의 기본 요소웹 서버는HTTP 프로토콜로 의사소통하기 때문에 보통
SerialDate : 날짜를 표현하는 자바 클래스 첫째, 돌려보자 단위 테스트 케이스 몇 개를 포함하는 SerialDateTests 클래스 실패하는 테스트 케이스는 없지만 모든 경우를 점검하지는 않음 주석처리 된, 실패한 테스트 케이스가 있음 경계 조건 오류 발견
JUnit 프레임워크에서 가져온 코드를 평가해보자.저자가 많다.알아볼 모듈은 문자열 비교 오류를 파악할 때 유용한 코드.전반적으로 상당히 훌륭한 모듈.👉 보이스카우트 규칙에 따라, 우린 처음 왔을 때보다 더 깨끗하게 해놓고 떠나야 한다.접두어 f 모두 제거오늘날 사용
깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다는 의미이다.Args.javaArgsException.javaArgumentMarshaler.javaBooleanArgumentMarshaler.javaDoubleArgumentMarshaler.javaI
객체는 처리의 추상화다. 스레드는 일정의 추상화다.동시성과 깔끔한 코드는 양립하기 어렵다. 여러 스레드를 동시에 돌리는 이유와 그 어려움, 해결 방법에 대해 알아보자.👉 동시성은 무엇과 언제로 분리하는 전략이다.장점 애플리케이션의 구조와 효율이 극적으로 ↑동시성에
창발성 : 떠오름 현상. 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 또한, 불시에 솟아나는 특성을 창발성이라고 한다.
복잡성은 죽음이다.👉 소프트웨어 팀도 도시처럼! 시스템 수준에서도 깨끗함을 유지하는 방법을 알아보자.도시가 돌아가는 또 다른 이유는 추상화와 모듈화 때문이다.큰 그림을 이해하지 못할지라도 개인과 개인이 관리하는 구성요소는 효율적으로 돌아간다.👉 소프트웨어 시스템은
코드의 표현력과 그 코드로 이루어진 함수에 아무리 신경 쓸지라도 좀 더 차원 높은 단계까지 신경 쓰지 않으면 깨끗한 코드를 얻기는 어렵다.👉 프로그램은 신문 기사처럼 읽히도록, 추상화 단계가 순차적으로 내려가도록 작성한다.캡슐화변수와 유틸리티 함수를 반드시 숨겨야하는
하지만 우리 분야에 테스트를 추가하려고 급하게 서두르는 와중에 많은 프로그래머들이 제대로 된 테스트 케이스를 작성해야 한다는 좀 더 미묘한 (그리고 더욱 중요한) 사실을 놓쳐버렸다. TDD 법칙 세 가지 👉 실제 코드를 짜기 전, 단위 테스트 부터 짜라고 요구하는