- nginx
- 자바
- @transactional
- 스프링
- string
- select
- spring mvc
- static
- 프로그래머스
- hibernate
- 1차원 배열
- 스프링부트
- SSL
- spring boot
- join
- mysql
- spring security 6
- AWS
- springboot
- Docker
- PYTHON
- java
- ORM
- DI
- jpa
- 데이터베이스
- spring
- 문자열
- Django
- sql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
목록Java & Kotlin (86)
개발하는 자몽
내장 톰캣을 사용하려고 하다가 아래와 같은 에러가 발생했다. Caused by: java.lang.IllegalArgumentException: The main resource set specified [...\tomcat\tomcat.8080/webapps] is not valid 원인은 tomcat.addContext(contextPath, docBase)를 하고 webapps 디렉토리가 없어서 발생한 문제다. 경로 설정에 문제가 있는 모양이다... 에러 해결 전 코드 (기존 코드) import hello.servlet.HelloServlet; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; impor..
스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 6. 스프링이 지원하는 프록시 프록시 팩토리를 사용하기 전 동적 프록시부터 알아보자. [Spring]동적 프록시 - JDK 동적 프록시, CGLIB 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 5. 동적 프 backend-jaamong.tistory.com 프록시 팩토리(ProxyFactory) 프록시팩토리는 스프링이 지원하는 프록시로 편리하게..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/upT1X/btr6PBMsrCZ/QCQZK07N4LiUnCT1Iez6v0/img.png)
스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 5. 동적 프록시 기술 !중요! 동적 프록시를 공부하기 전 자바의 리플렉션을 알아야 한다 어제 공부한 내용을 간단하게! 정리해 보자. 리플렉션(Reflection) 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 5. 동적 프 backend-jaamong.tistory.com 프록시를 생성할 때 interface가 있다면 JDK 동적 프록시로 생성..
스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 5. 동적 프록시 기술 - 리플렉션 리플렉션에 대해 정리해보자. JDK 동적 프록시를 이해하기 위해서는 리플렉션(Reflection)을 알아야 한다. 이 기술은 JDK 동적 프록시와 마찬가지로 자바에서 제공한다. 리플렉션을 이용하면 클래스나 메서드의 메타정보를 동적으로 획득하고, 코드도 동적으로 호출할 수 있다. @Slf4j public class ReflectionTest { @Test void reflection0() { Hello target = new Hello(); //공통 로직1 시작 log..
동시성 문제와 쓰레드 로컬이 무엇인지 간단하게 정리해 보자. 동시성 문제 아래 코드에는 store라는 필드 변수와 해당 변수에 매개 변수를 저장하는 bizLogic() 메서드가 있다. 해당 필드 변수를 저장하고 조회하는 bizLogic 메서드에 여러 쓰레드가 동시에 접근하면 store의 값은 어떻게 될까? @Slf4j class FieldBiz { private String store; //필드 변수 public String bizLogic(String s) { log.info("저장 전 : store={} s={}", store, s); store = s; sleep(1000); log.info("저장 후 : store={} s={}", store, s); return store; } private v..
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 섹션 6. 로그인 처리1 - 쿠키, 세션 이전 포스트 2023.03.16 - [Spring] - [Spring] 쿠키의 보안 문제와 세션 세션 정보 가져온 세션의 정보를 출력해 보자. @GetMapping("/session-info") public String sessionInfo(HttpServletRequest request) { HttpSession session = request.getSession(f..
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 섹션 6. 로그인 처리1 - 쿠키, 세션 2023.03.15 - [Spring] - [Spring] 로그인, 로그아웃 처리 - 쿠키, 세션 지난 포스트에서 쿠키를 사용하여 로그인을 유지할 수 있었다. 여기에는 심각한 보안 문제가 있다. 쿠키의 보안 문제 쿠키 값은 변경이 가능하다. 로그인 후 개발자 도구를 켜서 Application 탭을 클릭하자. 그다음 Storage>Cookies를 클릭하면 쿠키를 확인할 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EVnXa/btr3asfi23O/2jPi2x4bvBvsOkdg9KhkUk/img.png)
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 섹션 6. 로그인 처리1 - 쿠키, 세션 목표 로그인 상태를 유지하기 위해 쿠키(Cookie)를 사용해 보고 크롬의 개발자도구를 이용하여 쿠키와 세션을 확인해 보자. HTTP 요청은 무상태(stateless)이기 때문에 클라이언트를 확인하려면 따로 방법이 필요하다. 이 방법이 바로 쿠키이다. 1. 클라이언트가 서버에게 로그인 요청을 전송한다. 2. 서버는 요청 처리 시 쿠키를 생성하여 여기에 클라이언트를 확인..
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 섹션 5. 검증 2 - Bean Validation Validator인 @Valid, @Validated는 HttpMessageConverter(@RequestBody)에도 적용할 수 있다. @ModelAttribute의 경우 각 필드 단위로 세밀하게 적용된다. 따라서 특정 필드에 타입이 맞지 않는 오류가 발생해도 나머지 필드는 정상 처리할 수 있다. HttpMessageConverter는 @ModelAttr..
중요하지만, 까먹기 쉬운 내용인 것 같아서 정리해 놓는다. 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 섹션 5. 검증 2 - Bean Validation Bean Validation이 기본으로 제공하는 오류 메시지를 변경해 보자 Bean Validation을 적용하고 bindingResult에 등록된 검증 오류 코드를 보면 typeMismatch와 유사하다. 특정 오류 코드를 기반으로 MessageCodesResolver를 통해 다양한 메시지 코드가 ..