{"action":"opened","issue":{"url":"https://api.github.com/repos/ihoneymon/translate-spring-boot-reference/issues/61","labels_url":"https://api.github.com/repos/ihoneymon/translate-spring-boot-reference/issues/61/labels{/name}","comments_url":"https://api.github.com/repos/ihoneymon/translate-spring-boot-reference/issues/61/comments","events_url":"https://api.github.com/repos/ihoneymon/translate-spring-boot-reference/issues/61/events","html_url":"https://github.com/ihoneymon/translate-spring-boot-reference/issues/61","id":55102113,"number":61,"title":"75. 전통적 배포","user":{"login":"ihoneymon","id":876860,"avatar_url":"https://avatars.githubusercontent.com/u/876860?v=3","gravatar_id":"","url":"https://api.github.com/users/ihoneymon","html_url":"https://github.com/ihoneymon","followers_url":"https://api.github.com/users/ihoneymon/followers","following_url":"https://api.github.com/users/ihoneymon/following{/other_user}","gists_url":"https://api.github.com/users/ihoneymon/gists{/gist_id}","starred_url":"https://api.github.com/users/ihoneymon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ihoneymon/subscriptions","organizations_url":"https://api.github.com/users/ihoneymon/orgs","repos_url":"https://api.github.com/users/ihoneymon/repos","events_url":"https://api.github.com/users/ihoneymon/events{/privacy}","received_events_url":"https://api.github.com/users/ihoneymon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ihoneymon/translate-spring-boot-reference/milestones/7","labels_url":"https://api.github.com/repos/ihoneymon/translate-spring-boot-reference/milestones/7/labels","id":946240,"number":7,"title":"9부. '어떻게하지How-to' 가이드","description":"# IX. '어떻게How-to' 가이드\r\n## 63. 스프링부트 애플리케이션\r\n### 63.1. 자동설정 문제해결\r\n### 63.2. 시작 전 ```Environment``` 혹은 ```ApplicationContext``` 변경\r\n### 63.3. ```ApplicationContext``` 계층 빌드(부모 혹은 루트 컨텍스트 추가)\r\n### 63.4. non-web 애플리케이션 생성\r\n## 64. 속성 및 설정\r\n### 64.1. 스프링애플리케이션의 설정 확장\r\n### 64.2. 애플리케이션의 외부 속성 위치 변경\r\n### 64.3. '간략한' 커맨드라인 인자 사용\r\n### 64.4. 외부 속성을 YAML로 정의\r\n### 64.5. 활성 스프링 프로파일 설정\r\n### 64.6. 환경 의존적 설정 변경\r\n### 64.7. 외부 속성들의 빌트인 항목 살펴보기\r\n## 65. 내장형 서블릿 컨테이너\r\n### 65.1. Servlet, Filter 혹은 ServletContextListener 를 애플리케이션에 추가\r\n### 65.2. HTTP 포트 변경\r\n### 65.3. HTTP 포트를 지정하지 않고 무작위로 사용\r\n### 65.4. 실행시 HTTP Port 살펴보기\r\n### 65.5. SSL 설정\r\n### 65.6. 톰캣 설정\r\n### 65.7. 톰캣의 다중커넥터 활성화\r\n### 65.8. 톰캣을 프론트엔드 프록시 서버로 사용\r\n### 65.9. 톰캣 대신 제티 사용\r\n### 65.10. 제티 설정\r\n### 65.11. 톰캣 대신 언더토우Undertow 사용\r\n### 65.12. 언더토우 설정\r\n### 65.13. 톰캣 7 사용\r\n### 65.14. 제티 8 사용\r\n### 65.15. ```@ServerEndpoint```를 사용해서 웹소켓 엔드포인트 생성\r\n## 66. 스프링 MVC\r\n### 66.1. JSON REST 서비스 작성\r\n### 66.2. XML REST 서비스 작성\r\n### 66.3. Jackson ObjectMapper 변경\r\n### 66.4. ```@ResponseBody``` 렌더링 변경\r\n### 66.5. ```Multipart``` 파일 업로드 제어\r\n### 66.6. Spring MVC ```DispatcherServlet``` 끄기\r\n### 66.7. 기본 MVC 설정 끄기\r\n### 66.8. ViewResolver 변경\r\n## 67. 로깅\r\n### 67.1. 로깅을 위한 Logback 설정\r\n### 67.2. 로깅을 위한 Log4j 설정\r\n## 68. 데이터 접근\r\n### 68.1. 데이터소스 설정\r\n### 68.2. 복수 데이터소스 설정\r\n### 68.3. 스프링 데이터 레파지토리 사용\r\n### 68.4. 스프링 설정으로 부터 ```@Entity``` 정의 분리\r\n### 68.5. JPA 속성 설정\r\n### 68.6. ```EntityManagerFactory``` 변경\r\n### 68.7. 복수 엔티티매니저 사용\r\n### 68.8. 전통적인 ```persistence.xml```  사용\r\n### 68.9. 스프링데이터 JPA와 몽고 레파지토리 사용\r\n## 69. 데이터베이스 초기화\r\n### 69.1. JPA 사용하여 데이터베이스 초기화\r\n### 69.2. Hibernate를 사용하여 데이터베이스 초기화\r\n### 69.3. Spring JDBC를 사용하여 데이터베이스 초기화\r\n### 69.4. 스프링 배치 데이터베이스 초기화\r\n### 69.5. 고차원 데이터베이스 마이그레이션 도구 사용\r\n#### 69.5.1. 시작시 Flyway 실행하여 데이터베이스 마이그레이션\r\n#### 69.5.2. 시작시 Liquibase를 실행하여 데이터베이스 마이그레이션\r\n## 70. 배치 애플리케이션\r\n### 70.1. 시작시 스프링 배치 작업 실행\r\n## 71. 액츄에이터Actuator\r\n### 71.1. 액츄에이터 엔드포인트의 주소 혹은 HTTP 포트 변경\r\n### 71.2. 'whitelabel' 오류 페이지 변경\r\n## 72. 시큐리티\r\n### 72.1. 스프링부트 시큐리티 설정 끄기\r\n### 72.2. ```AuthenticationManager```를 변경하고 사용자 계정 추가\r\n## 73. 핫스와핑\r\n### 73.1. 정적컨텐츠 다시 읽기\r\n### 73.2. 컨테이너 재시작없이 타임리프Thymeleaf 템플렛 다시 읽기\r\n### 73.3. 컨테이너 재시작없이 프리마크FreeMarker 템플렛 다시 읽기\r\n### 73.4. 컨테이너 재시작없이 그루비Groovy 템플렛 다시 읽기\r\n### 73.5. 컨테이너 재시작없이 벨로시티Velocity 템플렛 다시 읽기\r\n### 73.6. 컨테이너 재시작없이 자바 클래스 다시 읽기\r\n#### 73.6.1. 메이븐을 이용한 Spring Loaded 설정\r\n#### 73.6.2. 그레들과 IntelliJ를 이용한 Spring Loaded 설정\r\n## 74. 빌드\r\n### 74.1. 메이븐으로 의존성 버전 변경\r\n### 74.2. 메이븐으로 실행가능한 JAR 생성\r\n### 74.3. 추가적인 실행가능한 JAR 생성\r\n### 74.4. 실행가능한 jar 동작에 필요한 지정된 라이브러리 추출\r\n### 74.5. 배제를 통한 실행할 수 없는 JAR 생성\r\n### 74.6. 메이븐을 이용해서 스프링부트 애플리케이션 원격 디버그 시작\r\n### 74.7. 그레들을 이용해서 스프링부트 애플리케이션 원격 디버그 시작\r\n### 74.8. 앤트를 이용해서 실행가능한 아카이브 빌드\r\n## 75. 전통적 배포\r\n### 75.1. 배포가능한 war 파일 생성\r\n### 75.2. 오래된 서블릿 컨테이너에 배포가능한 war 파일 생성\r\n### 75.3. 기존의 애플리케이션을 스프링부트로 변환\r\n### 75.4. 웹로직을 위한 war 배포\r\n### 75.5. 오래된(Servlet 2.5) 컨테이너에 war 배포\r\n","creator":{"login":"ihoneymon","id":876860,"avatar_url":"https://avatars.githubusercontent.com/u/876860?v=3","gravatar_id":"","url":"https://api.github.com/users/ihoneymon","html_url":"https://github.com/ihoneymon","followers_url":"https://api.github.com/users/ihoneymon/followers","following_url":"https://api.github.com/users/ihoneymon/following{/other_user}","gists_url":"https://api.github.com/users/ihoneymon/gists{/gist_id}","starred_url":"https://api.github.com/users/ihoneymon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ihoneymon/subscriptions","organizations_url":"https://api.github.com/users/ihoneymon/orgs","repos_url":"https://api.github.com/users/ihoneymon/repos","events_url":"https://api.github.com/users/ihoneymon/events{/privacy}","received_events_url":"https://api.github.com/users/ihoneymon/received_events","type":"User","site_admin":false},"open_issues":12,"closed_issues":0,"state":"open","created_at":"2015-01-22T01:02:09Z","updated_at":"2015-01-22T01:19:38Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-01-22T01:19:38Z","updated_at":"2015-01-22T01:19:38Z","closed_at":null,"body":""}}