| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 쇄 | 쪽 | 위치 | 제보 내용 | 정정 | |||||||||||||||||||||
2 | 1 | 101 | [한 걸음 더] 제목 | Junit ➝ JUnit | JUnit의 특징 | |||||||||||||||||||||
3 | 1 | 101 | Junit으로 단위 테스트 코드 만들기 제목 | Junit ➝ JUnit | JUnit으로 단위 테스트 코드 만들기 | |||||||||||||||||||||
4 | 1 | 109 | 문제 02 | 문제에서 number 3을 -1이라고 하고, JUnitQuiz.java에서는 -5라고 함 | number3은 각각 15,0, -5의 값을 가집니다. | |||||||||||||||||||||
5 | 1 | 116 | 04단계 | 이클립스 테스트 시 data.sql에 입력된 데이터로 DataIntegrityViolationException 발생 Unique indexor primary key violation | data.sql 내용 주석(/* */) 처리하면 문제 해결됨 | |||||||||||||||||||||
6 | 1 | 123 | 소스코드 아래 설명 | 400을 응답하는지 ➝ 200을 응답하는지 | 즉, default일 때는 200을 응답하는지 검증했습니다. | |||||||||||||||||||||
7 | 1 | 123 | 학습 마무리 | Junit ➝ JUnit | 테스트 코드가 무엇인지를 알아보고 JUnit을 사용해서 | |||||||||||||||||||||
8 | 1 | 124 | 연습문제 1번 정답 | junit ➝ JUnit | 1 정답 JUnit | |||||||||||||||||||||
9 | 1 | 199 | BlogService.java 아래 설명 | @Transactionl ➝ @Transactional | 할 필요 없이 @Transactional 애너테이션만 | |||||||||||||||||||||
10 | 1 | 218 | articleList.html | p-5 mb-5 text-center</> bg-light ➝ p-5 mb-5 text-center bg-light (text-center 스타일이 적용되지 않음. 깃허브 소스 articleList.html 9라인 동일함.) | p-5 mb-5 text-center bg-light | |||||||||||||||||||||
11 | 1 | 219 | 상단 My Blog 이미지 | My Blog 블로그에 오신 것을 환영합니다. ➝ 중앙 정렬됨 | ||||||||||||||||||||||
12 | 1 | 222 | article.html | h1 class="fw-bolder mb-1" ➝ h1 class="fw-weight-bold mb-1" (fw-bolder 스타일은 부트스트랩 5.x 버전부터 사용됨. 책은 4.1.3 버전.) | h1 class="fw-weight-bold mb-1" | |||||||||||||||||||||
13 | 1 | 223 | 02단계 위에 설명 | 블로그 결과물에 ‘2099-99-31 23:11 Posted on’ 같이 ➝ 블로그 결과물에 'Posted on 2099-99-31 23:11' 같이 | 블로그 결과물에 'Posted on 2099-99-31 23:11' 같이 | |||||||||||||||||||||
14 | 1 | 224 | 01단계 이미지 | 이미지에 '제목1' 글자가 두꺼워야 함 | ||||||||||||||||||||||
15 | 1 | 225 | article.js 아래 설명 | 메서드를 통해 /api/articles/ DELETE 요청을 ➝ 메서드를 통해 /api/articles/{id} DELETE 요청을 | 메서드를 통해 /api/articles/{id} DELETE 요청을 | |||||||||||||||||||||
16 | 1 | 228 | 그림 아래 설명 | 즉, 쿼리 파라미터가 있는 경우 컨트롤러 메서드를 수정해야 하므로 ➝ 즉, 쿼리 파라미터가 있는 경우 기존 글을 수정해야 하므로 | 즉, 쿼리 파라미터가 있는 경우 기존 글을 수정해야 하므로 | |||||||||||||||||||||
17 | 1 | 228 | 그림 아래 설명 | 쿼리 파라미터가 없는 때에는 새 글이므로 ➝ 쿼리 파라미터가 없는 경우는 새 글이므로 | 쿼리 파라미터가 없는 경우는 새 글이므로 | |||||||||||||||||||||
18 | 1 | 229 | BlogViewController.java | // ➌ id가 없으면 수정 ➝ // ➌ id가 있으면 수정 | // ➌ id가 있으면 수정 | |||||||||||||||||||||
19 | 1 | 231 | article.js 아래 설명 | 수정 API로 /api/articles/ PUT 요청을 보냅니다. ➝ 수정 API로 /api/articles/{id} PUT 요청을 보냅니다. | 수정 API로 /api/articles/{id} PUT 요청을 보냅니다. | |||||||||||||||||||||
20 | 1 | 250 | getWritingAssist() 메서드 설명 | 반환한 JSON 형식의 응답을 WritingSuggestions 객체로 변환하고 ➝ 반환한 JSON 형식의 응답을 WritingSuggestionsResponse 객체로 변환하고 | 반환한 JSON 형식의 응답을 WritingSuggestionsResponse 객체로 변환하고 | |||||||||||||||||||||
21 | 1 | 265 | store() 메서드 설명 | 전달받은 파일과 원본 파일명 UUID를 이용해 ➝ 전달받은 파일과 원본 파일 확장자와 UUID를 이용해 | 전달받은 파일과 원본 파일 확장자와 UUID를 이용해 | |||||||||||||||||||||
22 | 1 | 290 | 필터 기반으로 동작하는 스프링 시큐리티 그림 | '➊ 인증 관리' 위치를 'UsernamePassword AuthenticationFilter' 상자쪽으로 이동 '➋' 위치를 '접근 결정' 말풍선쪽으로 이동 | ||||||||||||||||||||||
23 | 1 | 316 | 토큰 기반 인증이란? 설명 | 8장 '스프링 시큐리티로 로그인 ➝ 9장 '스프링 시큐리티로 로그인 | 9장 '스프링 시큐리티로 로그인 | |||||||||||||||||||||
24 | 1 | 317 | 무결성 설명 | 토큰 방식은 HMAChash-based message authentication 기법이라고도 ➝ 토큰 방식은 HMACHash-based Message Authentication Code 기법이라고도 | 토큰 방식은 HMACHash-based Message Authentication Code 기법이라고도 | |||||||||||||||||||||
25 | 1 | 325 | 04단계 | 예제코드에는 config.jwt가 아닌 jwt에 만들어져 있음 | me.shinsunyoung.springbootdeveloper.jwt 패키지를 만들고 | |||||||||||||||||||||
26 | 1 | 346 | [한 걸음 더] OAuth 용어 정리 및 아래 설명 | authorization server는 '인가 서버'로 번역하는 게 맞음 | · 리소스 오너(resource owner) : 인가 서버에 자신의 ... · 인가 서버(authorization server) : ... · 클라이언트 애플리케이션(client application) : 인가 서버에게 ... --- OAuth를 사용하면 인가 서버에서 ... | |||||||||||||||||||||
27 | 1 | 351 | 상단 설명 | 이제부터 8장에서 학습한 스프링 시큐리티, 9장에서 학습한 JWT ➝ 이제부터 9장에서 학습한 스프링 시큐리티, 10장에서 학습한 JWT | 이제부터 9장에서 학습한 스프링 시큐리티, 10장에서 학습한 JWT | |||||||||||||||||||||
28 | 1 | 358 | 11.3절 제목 아래 설명 | 그 뒤에는 8장 '시큐리티 설정하기'에서 ➝ 그 뒤에는 9장 '시큐리티 설정하기'에서 | 그 뒤에는 9장 '시큐리티 설정하기'에서 | |||||||||||||||||||||
29 | 1 | 361 | 상단 소스코드 시작 | 294쪽에서 User 생성자 매개변수에 String auth가 있었음 | // 생성자에 auth를 nickname으로 수정 | |||||||||||||||||||||
30 | 1 | 362 | 소스코드 아래 설명 | 다음 그림'이 없음. 문장의 의미가 이상함. | (삭제) 다음 그림은 이해를 돕기 위해 불러온 객체입니다. | |||||||||||||||||||||
31 | 1 | 365 | ➋ addFilterBefore() 헤더값 확인용 커스텀 필터 추가 설명 | 이 필터는 9장 '토큰 필터 구현하기'에서 구현한 ➝ 이 필터는 10장 '토큰 필터 구현하기'에서 구현한 | 이 필터는 10장 '토큰 필터 구현하기'에서 구현한 | |||||||||||||||||||||
32 | 1 | 367 | 04단계 | BCryptPasswordEncoder를 삭제하고 BCryptPasswordEncoder를 생성자를 사용해 ➝ PasswordEncoder를 삭제하고 BCryptPasswordEncoder 생성자를 사용해 | PasswordEncoder를 삭제하고 BCryptPasswordEncoder 생성자를 사용해 | |||||||||||||||||||||
33 | 1 | 373 | 상단 소스코드 | 수정사항 없어서 형광펜 표시 필요 없음 | ||||||||||||||||||||||
34 | 1 | 373~374 | 06단계 import.sql | image-url 컬럼이 없음(8장 261쪽에서 추가됨) | INSERT INTO article (title, content, author, image-url, created_at, updated_at) | |||||||||||||||||||||
35 | 1 | 381 | 11단계 article.js | //쿠키를 삭제하는 함수 deleteCookie() 메서드 누락됨 | if (logoutButton) 문 아래에 다음 코드 추가 // 쿠키를 삭제하는 함수 function deleteCookie(name) { document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } | |||||||||||||||||||||
36 | 1 | 391 | 소스코드 아래 설명 | 앞의 코드에 ➊, ➋, ➌ 표시 없음 | ||||||||||||||||||||||
37 | 1 | 401 | [한 걸음 더] AWS 서비스 구성 | 들여쓰기, 내어쓰기 오류 | ||||||||||||||||||||||
38 | 1 | 439 | 핵심 요약 1번 내용 | 클라우스 ➝ 클라우드 | 그러나 클라우드 서비스 자체에서 | |||||||||||||||||||||
39 | 1 | 443 | 프로젝트 구성 그림 | 배표 ➝ 배포 | 일래스틱 빈스토크 배포 | |||||||||||||||||||||
40 | 1 | 500 | 14단계 | 모둔 ➝ 모두 | 이 책에서 모두 다룬 내용이고 | |||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |