본문 바로가기

도서/프로그래밍44

애플리케이션 설정과 검사 - 처음부터 제대로 배우는 스프링 부트 [04] CHAPTER 5 애플리케이션 설정과 검사 디버깅은 개발자로 입문할 때부터 배워서 개발자로 일하는 동안 개선하고 확장해야 할 기본 기량 이와 같이 중요함에도, 코드 디버깅은 애플리케이션 내 동작을 구축, 식별, 분리하는 한 단계에 불과합니다. 동적이고 분산된 애플리케이션이 많아지면 종종 다음 작업을 수행해야 합니다. 애플리케이션의 동적 설정과 재설정 현재 설정과 출처의 확인과 결정 애필리케이션 환경과 헬스 지표의 검사와 모니터링 실행 중인 애플리케이션의 로깅 수준을 일시적으로 조정해 오류 원인 식별 이 장에서는 스프링 부트에 내장된 설정 기능, 자동 설정 리포트와 함께 스프링 액추에이터로 애플리케이션 환경 설정을 유연하게 동적으로 생성, 식별, 수정하는 방법을 다룹니다. 5.1 애플리케이션 설정 많은 설.. 2024. 2. 20.
데이터베이스 액세스 - 처음부터 제대로 배우는 스프링 부트 [03] package com.thehecklers.sburrestdemo.controller; import com.thehecklers.sburrestdemo.entity.Coffee; import com.thehecklers.sburrestdemo.repository.CoffeeRepository; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.Optional; @RestController @RequestMapping("/coffees") public class RestApi.. 2024. 1. 31.
첫 번째 REST API - 처음부터 제대로 배우는 스프링 부트 [02] CHAPTER 2 2.1 Maven vs Gradle 2.1.1 Apache Maven 2003년에 출시 빌드 자동화를 위한 대중적이고 확실한 선택 선언형 방식은 다른 빌드 도구에 비해 간단 메이븐은 컨벤션에 따라 특정한 구조로 프로젝트를 생성 이 구조에 벗어나면 오히려 메이븐을 쓰지 않는 것이 더 나음 pom.xml 2.1.2 Gradle 2008년에 출시 도메인 특화 언어 그루비 또는 코틀린 사용 빌드 속도가 빠름 build.gradle 2.1.3 Maven vs Gradle 프로젝트가 엄청 크지 않은 이상 빌드 속도를 위해 Gradle 을 선택할 필요는 없음 메이븐은 프로젝트 구조가 유연하지 못하지만 그레이들의 유연성 때문에 오히려 설정하는데 어려움을 겪기도 함 이 책에서는 Maven 을 채택 2... 2024. 1. 23.
스프링 부트 - 처음부터 제대로 배우는 스프링 부트 [01] CHAPTER 1 스프링 부트 1.1 스프링 부트의 핵심 기능 의존성 관리 간소화 배포 간소화 자동 설정 1.1.1 의존성 관리 간소화 - 스타터 spring-boot-strater-web 같은 단일 스타터를 추가하면 단일 애플리케이션에 필요한 기능이 모두 제공, 여러 라이브러리 버전이 모든 의존성에 맞게 동기화 1.1.2 배포 간소화 - 실행 가능한 JAR 모든 의존성을 결과 (JAR) 에 압축 java -jar 같은 명령어만으로 애플리케이션을 실행 빌드 파일에 단일 속성을 설정하면 만으로 실행 가능 1.1.3 자동 설정 - 스프링 부트의 마법 설정보다 관습, 직접 설정하는 것보다 관습에 맞게 자동으로 설정 스프링 부트를 쓰면 생산성이 향상 된다. 2024. 1. 22.
[09][完] 쉽게 배우는 JSP 웹 프로그래밍 9일차 PART 04 JSP 고급 문법 CHAPTER 13 세션 세션은 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법 CHAPTER 14 쿠키 쿠키는 세션과 마찬가지이지만 저장되는 곳이 클라이언트 생략 메소드 반환 유형 설명 Comment() String 설명 Domain() String 유효한 도메인 정보 MaxAge() int 사용 가능 기간 Name() String 이름 Path() String 유효한 디렉터리 정보 Secure() boolean 보안 설정 Value() String 설정된 값 Version() int 버전 02 쿠키 생성 쿠키를 생성한 후에는 반드시 response 내장 객체의 addCookie() 메소드로 쿠키를 설정 Cookie cookie = new Cookie(.. 2024. 1. 22.
[08] 쉽게 배우는 JSP 웹 프로그래밍 8일차 CHAPTER 10 시큐리티 01 시큐리티의 개요 시큐리티는 허가된 사용자만이 특정 웹 페이지에 접근할 수 있도록 제한하는 보안 기능을 말합니다. 사용자에게 인증(authenticatio)을 요청합니다. 인증되면 사용자를 확인하여 권한 부여(authorization)합니다. 시큐리티는 인증과 권한부여를 하며 웹 공격자가 전송 데이터를 중간에 가로채는 것을 방지하는 듯 중요한 역할을 합니다. 처리 방법으로는 선언적 방법과 프로그래밍적 방법이 있습니다. 선언전 시큐리티: 코드 작성 없이 wb.xml 파일에 보안을 구성 request 내장 객체의 메소드를 통해 처리 conf 폴더 내의 tomcat-user.xml 파일로 사용자 권한을 설정 web.xml 에서 접근 권한을 제한 BookMarket car.. 2024. 1. 21.
[07] 쉽게 배우는 JSP 웹 프로그래밍 PART 3 페이지 처리 기법 CHAPTER 09 다국어 처리 01 다국어 처리의 개요 다국어 처리는 다른 언어와 지여적 차이를 기술 변경 없이 소프트웨어에 바로 적용하는 것 지역화 지역화(Localization)는 사용 국가별 환경에서 특정 언어와 지역에 맞게 적합화하는 것으로, 줄여서 L10n으로 표기하도 합니다. 지역화는 어떤 제품, 서비스, 또는 콘텐츠를 특정 지역 또는 국가의 언어, 문화, 관습에 맞게 수정하거나 적응시키는 과정을 나타냅니다. 지역화는 일반적으로 언어 번역뿐만 아니라, 날짜, 시간, 숫자 형식, 통화 등과 같은 지역적인 특성을 고려하여 제품이나 서비스를 특정 지역의 사용자에게 더 적합하게 만드는 것을 목표로 합니다. 예를 들어, 어떤 소프트웨어가 다양한 언어로 지역화되면 해당 언.. 2024. 1. 21.
[06] 쉽게 배우는 JSP 웹 프로그래밍 07 파일 업로드 01 파일 업로드의 개요 서버로 파일을 전송하기 위해 JSP 페이지에 폼 태그를 사용 전송된 파일을 서버에 저장하기 위해 오픈 라이브러리를 이용 파일 업로드를 위한 JSP 페이지 form 태그의 method 속성은 반드시 POST 방식으로 설정해야 합니다. form 태그의 enctype 속성은 반드시 multipart/form-data로 설정해야 합니다 form 태그의 action 속성은 파일 업로드를 처리할 JSP 파일로 설정해야 합니다. 파일 업로드를 위해 input 태그의 type 속성을 file로 설정해야 합니다. 만약 여러 파일을 업로드하려면 2개 이상의 input 태그를 사용하고 name 속성에 서로 다른 값을 설정합니다. 파일 업로드 처리 방법 웹 브라우저에서 서버로 파일을.. 2024. 1. 19.
[05] 쉽게 배우는 JSP 웹 프로그래밍 06 폼 태그 01 폼 처리의 개요 폼(form)은 사용자가 웹 브라우저를 통해 입력된 모든 데이터를 한 번에 웹 서버로 전송하는 양식입니다. GET 방식과 POST 방식의 차이 구분 GET 방식 POST 방식 전송 형태 이름과 값의 형태로 URL에 포함되어 전송 HTTP 헤더 속에 감춰서 전송 전송량 제한적(4,096B) 제한 없음 속도 빠름 느림 보안 없음 있음 input 태그 속성 속성 값 설명 type text 기본값으로 한 줄의 텍스트를 입력할 떄 사용한다. type radio 라디오 버튼으로 열거된 것 중 하나만 선택할 때 사용한다. type checkbox 체크 박스로 열거된 것 중 다중 선택을 할 때 사용한다. type password 암호를 입력할 때 사용한다. type hidden 보이.. 2024. 1. 18.
[04] 쉽게 배우는 JSP 웹 프로그래밍 4일차 05 내장객체 내장 객체(implicit object)는 JSP 페이지에서 사용할 수 있도록 JSP 컨테이너에 미리 정의 된 객체로 그 종류가 다양합니다. 별도의 import 문 없이 자유롭게 사용할 수 있습니다. 내장객체 반환유형 설명 request javax.servlet.http.HttpServletRequest 웹 브라우저의 HTTP요청 정보를 저장한다. response javax.servlet.http.HttpServletResponse 웹 브라우저의 HTTP 요청에 대한 응답 정보를 저장한다 out javax.servlet.jsp.jsp.jspWriter JSP 페이지에 출력할 내용을 담고 있는 출력 스트림 session javax.servlet.http.HttpSession 세션 정보.. 2024. 1. 17.