본문 바로가기

분류 전체보기

(249)
[스프링 부트 개념과 활용] 데이터 2. JPA 인프런에서 백기선님의 스프링부트 개념과 활용 강의를 듣고, 개인적으로 공부하며 핵심만 정리한 글입니다. JPA 사용법 1) Dependency 추가 pom.xml 에 spring-boot-starter-data-jpa 를 추가해주자. org.springframework.boot spring-boot-starter-data-jpa 2) Entity Class 정의 Entity 는 RDBMS 에서 데이터 테이블을 객체화 시킨 것이다. 즉, 이 클래스는 테이블의 이름과 컬럼들에 대한 정보를 가진다. 이제 데이터베이스의 레코드로 쓰일 데이터 Entity 를 정의하자. Entity 는 기본적으로 Id 와 Getter, Setter 를 가지고 있어야 한다. // Account.java @Entity public c..
[스프링 부트 개념과 활용] 데이터 1. DB 연동 인프런에서 백기선님의 스프링부트 개념과 활용 강의를 듣고, 개인적으로 공부하며 핵심만 정리한 글입니다. h2 사용법 인메모리 데이터베이스 h2 를 사용하는 법을 알아보자. 1) dependency 추가 pom.xml 에 h2 와 spring-boot-starter-data-jdbc 라이브러리를 추가한다. com.h2database h2 runtime org.springframework.boot spring-boot-starter-data-jdbc 2) DataSource 와 Connection 로 연동하기 ApplicationRunnner 로 DB에 데이터를 넣어보는 프로그램을 실행시켜보자. 먼저 DataSource 로 부터 Connection 을 받아와 DB 연산을 수행할 수 있다. @Component..
[스프링 부트 개념과 활용] 웹 MVC 설정 4. HATEOAS 와 CORS 인프런에서 백기선님의 스프링부트 개념과 활용 강의를 듣고, 개인적으로 공부하며 핵심만 정리한 글입니다. HATEOAS 해당 내용은 스킵. 이후 REST API 를 공부할 때 제대로 보자. 스프링 부트에서 지원하는 HATEOAS 적용 방법만 간략히 적어둔다. @GetMapping("/hello") public EntityModel hello() { Hello hello = new Hello(); hello.setPrefix("Hey, "); hello.setName("heumsi"); EntityModel helloResource = new EntityModel(hello); helloResource.add(linkTo(methodOn(SampleController.class).hello()).withSe..
[스프링 부트 개념과 활용] 웹 MVC 설정 3. ExceptionHandler 인프런에서 백기선님의 스프링부트 개념과 활용 강의를 듣고, 개인적으로 공부하며 핵심만 정리한 글입니다. 스프링 MVC의 ExceptionHandler 이번에는 Exception error 를 처리하는 ExceptionHandler 에 대해 알아본다. 먼저 예외 상황을 정의할 클래스 SampleExcepition 를 만든다. public class SampleException extends RuntimeException { } 다음으로, 에러의 정보를 담을 AppError 클래스를 정의하자. public class AppError { private String message; private String reason; public String getMessage() { return message; } .....
회귀 모델에 대한 성능 평가 지표들 MSE (Mean Squared Error) 가장 일반적이고 직관적인 에러 지표. 에러를 제곱하여 평균을 계산하니, 값은 낮을수록 좋다. 장점 지표 자체가 직관적이고 단순하다. 단점 스케일에 의존적이다. 예를 들어, 삼성전자의 주가가 1000000원이고 네이버가 70000원일 때, 두 주가를 예측하는 각각 모델의 MSE 가 똑같이 5000이 나왔을 경우, 분명 동일한 에러율이 아님에도, 동일하게 보여짐. 에러를 제곱하기 때문에, 1미만의 에러는 더 작아지고, 그 이상의 에러는 더 커진다. 즉 값의 왜곡이 있음. RMSE (Root Mean Squared Error) MSE 에 Root 를 씌운 에러 지표. 마찬가지로 값은 낮을수록 좋다. 장단점은 MSE 를 거의 그대로 따른다. 다만, 여기서는 제곱된 에..
분류 모델에 대한 성능 평가 지표들 Precision & Recall Precision 은 모델의 예측 값 중, 실제 값과 같은 데이터의 비율을 말하고, Recall 은 실제 값 중, 모델의 예측 값과 같은 데이터의 비율을 말한다. 다시 정리하면, 예측해야할 값의 클래스가 A, B, C 가 있다고 할 때, Precision = (예측 데이터 중, 실제 클래스 A 인 데이터의 수) / (클래스 A 로 예측된 값들의 데이터 수) Recall = (실제 데이터 중, 클래스 A 로 예측된 값들의 데이터 수) / (실제 클래스 A 인 데이터의 수) 일반적으로 각 클래스 A, B, C 에 대한 각각의 성능 지표를 구한 뒤, 평균을 내어 하나의 지표로 통합하여 표현한다. 평균 외에 다른 방법도 있긴 하다. 이 두 값 모두 0~1 사이의 값을 가지며 1..
[스프링 부트 개념과 활용] 웹 MVC 설정 2. 정적 리소스와 웹 JAR 인프런에서 백기선님의 스프링부트 개념과 활용 강의를 듣고, 개인적으로 공부하며 핵심만 정리한 글입니다. 정적 리소스 지원 1) 기본 리소스 위치 기본 리소스 위치는 다음과 같다. classpath:/static classpath:/public classpath:/resources/ classpath:/META-INF/resources 예를 들어, resources/static/hello.html 을 만들면 http://localhost:8080/hello.html 로 접근할 수 있다. 2) 접근 url path 설정 기본 리소스 위치에 대한 접근 url 설정은 application.properties 에서 spring.mvc.static-path-pattern 을 통해서 바꾸면 된다. 예를 들어, spr..
[스프링 부트 개념과 활용] 웹 MVC 설정 1. MessageConverters 인프런에서 백기선님의 스프링부트 개념과 활용 강의를 듣고, 개인적으로 공부하며 핵심만 정리한 글입니다. 스프링 웹 MVC 설정 스프링부트는 자동설정을 통해 스프링 웹 MVC 설정들을 기본적으로 제공해준다. 그런데 이 중 일부를 수정하거나, 아니면 내가 원하는대로 완전히 바꾸고 싶을 땐 어떻게 해야할까. 다음과 같은 방법들이 있다. 자동설정된 스프링 MVC를 확장하는 경우 @Configuration + WebMvcConfigurer 아예 스프링 MVC를 원하는 대로 재정의 하는 경우 @Configuration + @EnableWebMvc HttpMessageConverters (HTTP 요청 -> 객체) 로 매핑 또는 (객체 -> HTTP 응답) 하는데 사용 예를 들면 다음과 같은 요청이 { "userNa..