전체 글
-
[JPA] 영속성 컨텍스트기초/JPA 2022. 10. 8. 15:45
영속성 컨텍스트 엔티티를 영구히 저장하고 관리하는 공간 1. 영속성 컨텍스트와 식별자 값 (@Id로 테이블의 기본 키와 매핑한 값) 영속성 컨텍스트는 엔티티를 식별자 값으로 구분한다. 따라서 영속 상태는 식별자 값이 반드시 있어야 한다. 식별자 값이 없으면 예외가 발생한다. 2. 영속성 컨텍스트와 데이터베이스 저장 Flush : JPA가 보통 트랜잭션을 커밋하는 순간 영속성 컨텍스트에 새로 저장된 엔티티를 데이터베이스에 반영하는 작업 3. 영속성 컨텍스트가 엔티티를 관리 성능 이점. - 1차 캐시 - 동일성 보장 - 트랜잭션을 지원하는 쓰기 지연 - 변경감지 - 지연로딩 1차 캐시 : 영속성 컨텍스트가 내부에서 엔티를 관리하고 있는 장소 조회 로직 1) 1차캐시에 엔티티가 존재하는 경우 find > 1차..
-
[JAVA] Stream groupingBy기초/JAVA 2022. 9. 12. 23:09
리스트를 그룹화 할 코드가 생겼다. 혹시나 java에서도 SQL처럼 group by를 할 수 있을까 하여 검색하다가 발견했다. 기존 Map을생성하고 반복문을 돌려 put하던 소스를 아래 소스와 같이 stream / groupingBy로 작성할 수 있다. 공식 API 문서 : https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html Collectors (Java Platform SE 8 ) Returns a Collector implementing a "group by" operation on input elements of type T, grouping elements according to a classification fun..
-
[우아한테크PRO]를 마치며학습/프로젝트 2022. 7. 11. 13:19
배운점 좋았던점은 리뷰분들의 피드백을 통해 공부의 방향을 정할 수 있었다. 크게 리펙토링 미션과 인프라 미션이 존재했다. 리펙토링 도메인과 디자인 패턴에 대해 집중적으로 공부할 수 있었다. 이전 회사에서 컨벤션에 대한 공부는 해왔지만, 전체적인 코드의 설계에 대해 관심이 많았다. 잘 짜는 코드가 무엇일까? 고민해왔던 해답을 찾을 수 있는 시간이였다. 특히 리뷰어 분들의 리뷰에서 힌트를 많이 얻을 수 있었다. 인프라 평소 궁금했던 도커와 AWS대해 공부할 수 있었다. AWS는 예전에 배웠던 CISCO 장비의 분할과 비슷해서 공부할 때 CISCO장비와 매칭하면서 공부하니 더 재밌게 할 수 있었다. 또한 도커의 기능을 조금 이해할 수 있었다. ** 같은 로직에 대해 다른 코드를 참고할 수 있었다. 틈틈히 다른..
-
[Spring] SpringBoot Security 구글 로그인 (react, nginx)기초/SPRING 2022. 3. 27. 21:48
*표시는 배경지식 *인프런 강좌 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0/dashboard [구성도] 더보기 Nginx 80 >> react 3000 로그인페이지 접속 react로그인에서 구글로그인 접속 구글 redi 구글로그인 이후 react 조회페이지로 이동 *Oauth2 더보기 https://spring.io/projects/spring-security-oauth https://velog.io/@tmdgh0221/Spring-Security-%EC%99%80-OAuth-2.0-%EC%99%80-JWT-%EC%9D%98-%EC%BD%9C%..
-
[Spring] SpringBoot Security 폼 로그인 (react, nginx)기초/SPRING 2022. 3. 27. 21:35
*표시는 배경지식 *인프런 강좌 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0/dashboard [구성도] 더보기 nginx > 로그인 페이지 ( react:3000 ) >>> 로그인 >>> 로그인처리 ( springboot:8081 ) >>> 성공,실패 리다이렉트 >>> nginx 주소 *Spring Security 참고자료 https://spring.io/guides/topicals/spring-security-architecture https://godekdls.github.io/Spring%20Security/authentication/ h..
-
[Spring] SpringBoot Security 회원가입 (react, nginx)기초/SPRING 2022. 3. 23. 21:54
*표시는 배경지식 *인프런 강좌 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0/dashboard Dependency 등록 더보기 implementation 'org.springframework.boot:spring-boot-starter-security:2.6.4' Spring Security Filter 등록 더보기 import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.configurati..
-
[Spring] 기본개념정리 (수정중)기초/SPRING 2022. 3. 23. 14:13
IOC, Inversion of Control, 제어의 역전 DI, Dependency Injection, 의존성 주입 @RequiredArgsConstructor를 통해 생성자 주입을 하는이유 AOP, Aspect Oriented Programming, 관점 지향 프로그래밍 어노테이션으로 객체생성 @Component : 메모리에 클래스를 로딩 @Bean : @Autowired : 메모리에 로딩된 객체를 가져올 때 사용 @Configuration : @Qualifier : Spring Bean은 싱글톤으로 관리됨, new 키워드로 Instance 생성 = 스택 영역 메모리 로딩 = Heap 영역 JPA, JAVA Persistence API, 자바 퍼시스턴스 API JAVA ORM 표준 ORM, Obje..
-
[프로젝트] Docker Nginx + React(SPA) + Spring Boot학습/프로젝트 2022. 3. 19. 22:26
더 좋은방법으로 개선해나갈 계획 Jenkins 사용 X 환경 Synology 220+ Docker Spring Boot ( Gradle ) React ( Npm, Node ) 구성도 Nginx ( 172.17.0.2 8080 ) Node ( 172.17.0.4 3000 ) Spring Boot ( 172.17.0.3 8081 ) Nginx Proxy를 통해 Front End > Node Back End > Spring Boot 로 이동할 예정 준비작업 * 빌드 SpringBoot Gradle Build ( Jar ) Create-React-App로 생성된 React-Router-Dom(SPA)프로젝트 Build ( Npm Run Bulid ) Spring Boot에 대한 Dockerfile 작성 더보기 ..