- PYTHON
- jpa
- springboot
- SSL
- mysql
- 문자열
- string
- static
- @transactional
- 데이터베이스
- DI
- 스프링
- select
- 1차원 배열
- spring
- ORM
- spring boot
- AWS
- Docker
- 스프링부트
- 프로그래머스
- nginx
- 자바
- spring security 6
- sql
- hibernate
- java
- join
- Django
- spring mvc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
목록분류 전체보기 (195)
개발하는 자몽
스프링 부트 - 핵심 원리와 활용 - 인프런 | 강의 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 7. 외부설정과 프로필2 application.properties나 application.yml에 작성한 프로젝트 설정을 클래스에 적용시킬 때 @ConfigurationProperties를 사용하면 편리하다. MyDataSource 클래스와 application.yml import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import java.time.Duration; import java.util.List; @Slf4j public class ..
깃에서 rebase를 하다가 커밋이 사라졌다. (사라졌다 == git log를 입력했을 때 보이지 않음) 하나도 아니고 한 4개가 순식간에 사라져서 그동안 작업한 코드가 디렉토리에서 아예 사라졌었다. 심지어 local에서 remote로 push 한 것도 아니어서 당황했다. 침착하게 구글링을 해보니 역시! 방법이 있었다! 고마워요 깃을 사용하는 수많은 개발자분들...! 아래 명령어를 입력해보자. git reflog 참고 reflog는 reference logs이다. 해당 명령어를 실행하면 git log를 입력했을 때 보이지 않던 커밋들도 나타난다. 이 내역에서 사라진 커밋을 찾고 해당 커밋의 commitID를 찾아야 한다. commitID를 찾았다면 아래 명령어를 입력하여 다시 저장소로 가져오자. 나의 경..
커밋을 합치려고 git rebase를 하다가 아래 오류가 발생했다. fatal: It seems that there is already a rebase-merge directory, and I wonder if you are in the middle of another rebase. If that is the case, please try git rebase (--continue | --abore | --skip) If that is not the case, please rm -rf ".git/rebase-merge" and run me gain. I am stopping in case you still have something valuable there. rebase를 하다가 예상치 못하게 vcs를 ..
내장 톰캣을 사용하려고 하다가 아래와 같은 에러가 발생했다. 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) 프록시팩토리는 스프링이 지원하는 프록시로 편리하게..

스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 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..
스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 4. 프록시 패턴과 데코레이터 패턴 클라이언트와 서버 Client : 요청자 Server : 처리자 클라이언트는 서버에 필요한 것을 요청하고, 서버는 클라이언트의 요청을 처리하는 것 네트워크 클라이언트 : 웹 브라우저 서버 : 웹 서버 객체 클라이언트 : 요청하는 객체 서버 : 요청을 처리하는 객체 클라이언트와 서버 개념에서 일반적으로 클라이언트가 서버를 직접 호출하고, 처리 결과를 직접 받는다. 프록시(Proxy) 클라이언트가 요청한 결과를 서버에 직접 요청하는 것이 아니라 대리자를 통해서 대신 서버..
스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 섹션 3. 템플릿 메서드 패턴과 콜백 패턴 오늘 공부한 내용을 간단하게 정리해 보자. 템플릿 메서드 패턴 전략 패턴 템플릿 콜백 패턴 템플릿 메서드 패턴(Template Method Pattern) 좋은 설계는 변하는 것과 변하지 않는 것을 분리하는 것이다. 이 둘을 분리하여 모듈화를 한다. 템플릿 메서드 패턴은 이런 문제를 해결한다. GOF 디자인 패턴 - 템플릿 메서드 패턴 작업에서 알고리즘의 골격을 정의하고 일부 단계를 하위 클래스로 연기합니다. 템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를..
동시성 문제와 쓰레드 로컬이 무엇인지 간단하게 정리해 보자. 동시성 문제 아래 코드에는 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..