스프링부트11 Flutter + Spring Security + OAuth2 + JWT, 로그인 후 앱으로 redirect 하는 방법 문제 Flutter와 Spring Security + OAuth2 + JWT 로그인을 구현하면서 OAuth2 로그인과 access token 발급까지 작동하는데 발급 완료후에 flutter_web_auth를 종료시키고 flutter 앱 화면으로 다시 돌아가게 코드를 짜고 싶었는데 flutter_web_auth에서 400 error만 뜨고 flutter 앱으로 돌아가지 않았다. 해결 플러터의 oauth2를 쉽게 도와주는 flutter_web_auth 패키지는 final result = await FlutterWebAuth.authenticate( url: url.toString(), callbackUrlScheme: "candysignal"); 아래 코드처럼 callbackUrlScheme을 설정하면 자동.. 2023. 8. 23. 영속성 컨텍스트란? 영속성 컨텍스트란 무엇인가? - 영속성 컨텍스트는 JPA의 중요한 특징 중 하나로, 엔티티를 관리하는 가상의 공간이다. 영속성 컨텍스트 특징 1. 1차 캐시 - 영속성 컨텍스트는 내부에 1차 캐시를 가지고 있다. 이때 캐시의 키는 엔티티의 @Id 애너테이션이 달린 기본키 역할을 하는 식별자이며 값은 엔티티이다. 엔티티를 조회하면 1차 캐시에서 데이터를 조회하고 값을 반환한다. 값이 없으면 데이터베이스에서 조회해 1차 캐시에 저장한 다음 반환한다. 이를 통해 캐시된 데이터를 조회할 때에는 데이터베이스를 거치지 않아도 되므로 매우 빠르게 데이터를 조회할 수 있다. 2. 쓰기 지연 - 쓰기 지연은 트랜잭션을 커밋하기 전까지는 데이터베이스에 실제로 질의문을 보내지 않고 쿼리를 모았다가 트랜잭션을 커밋하면 모았던.. 2023. 7. 2. 실전스프링부트와 JPA 활용1 -2 실전! 스프링부트와 JPA 활용1 엔티티 설계시 주의점 모든 연관관계는 지연로딩으로 설정 즉시로딩은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다. 특히 xtoone 컬렉션은 반드시 초기화하자 연관관계 메서드 애플리케이션 아키텍처 계층형 구조 사용 controller,web: 웹 계층 service: 비즈니스로직,트랜잭션 처리 repository: JPA를 직접 사용하는 계층, 엔티니 매니저 사용 domain: 엔티티가 모여 있는 계층, 모든 계층에서 사용 2022. 10. 20. 실전스프링부트와 JPA 활용1 -1 실전스프링부트와 JPA 활용1 - 김영한 / 인프런 실무에 사용할 수 있도록 게시판 같은 단순한 상황이 아니라 다양한 상황을 고려한 진짜 예제를 같이 만들어 나갈 것이다 코딩으로 따라가자 개발자는 모르더라도 몸으로 익히는게 있다 큰 그림을 몸으로 익힐 수 있다 내가 실무를 하면서 부족한 부분을 알 수 있다. 전체 구성 1편 - 웹어플리케이션 개발 2편 - API개발과 성능 최적화 프로젝트 생성 환경설정 h2 database는 개발을 하거나 테스트할때 사용하기 좋음 / 교육용 mysql - 좋으나 사용하기 까다롭다 lombok 적용 Lombok 이란 Java의 라이브러리로 반복되는 메소드를 Annotation 을 사용해서 자동으로 작성해주는 라이브러리이다. annotation이란 ? 메타데이터이고 특별한 .. 2022. 10. 15. 스프링부트 에러노트 : 터미널에서 스프링부트 빌드시 java 11 에러 스프링부트 프로젝트를 작성하고 터미널에서 빌드하려고 하였는데 java 버전이 11이 필요하다는 에러가 떴다. 이전에 intelliJ에서 컴파일을 할 때도 똑같은 에러가 떴는데 인텔리제이에서는 자체 설정으로 sdk버전을 11로 바꾸어 줄 수 있었고 해결이 가능했다. 하지만 터미널상에서 컴파일을 할려고 하니 맥북 자체에 이전에 깔아 두었던 자바 버전이 있어서 계속 echo $JAVA_HOME을 하면 이전 자바 경로가 떴다. 그래서 터미널상에서 vi ~/.bash_profile을 한 후에 export JAVAHOME= /Library/Java/JavaVirtualMachines/jdk-11.0.14.jdk/Contents/Home 를 입력 해 주었다. 그 후에 source .bash_profile을 해서 적용.. 2022. 3. 1. 이전 1 2 다음