[Spring] Spring Boot AWS S3 사진 업로드 하는 법
·
[4. Backend]/Spring
Spring Boot AWS S3 사진 업로드 하는 법 가이드 잘 활용하겠습니다~~~ https://devlog-wjdrbs96.tistory.com/323 [Spring] Spring Boot AWS S3 사진 업로드 하는 법Spring Boot S3 File Upload 하는 법 이번 글에서는 Spring Boot 로 AWS S3 로 File Upload 하는 법에 대해서 정리해보겠습니다. 먼저 AWS S3 Bucket 생성을 하겠습니다. AWS S3 Bucket 생성 그리고 권한 탭을 들..devlog-wjdrbs96.tistory.com https://giron.tistory.com/55 [AWS] springboot+gradle + S3를 이용해 이미지 올리기스프링부트 gradle, java1..
계층적인 데이터구조, 대용량 저장장치
·
[11. 실습 정리]/용어정리
계층적인 데이터구조(트리) 트리는 그 모양이 뒤집어 놓은 나무와 같다고 해서 이런 이름이 붙었습니다. 검정색 동그라미를 노드(node). 보통 데이터가 여기에 담긴다. 노드와 노드 사이를 이어주는 선을 엣지(edge) -> 노드와의 관계를 표시 경로(path)란 엣지로 연결된, 즉 인접한 노드들로 이뤄진 시퀀스(sequence)를 가리킵니다. 경로의 길이(length)는 경로에 속한 엣지의 수를 나타냅니다. 트리의 높이(height)는 루트노드에서 말단노드에 이르는 가장 긴 경로의 엣지 수를 가리킵니다. 트리의 특정 깊이를 가지는 노드의 집합을 레벨(level)이라 부릅니다. 잎새노드(leaf node)란 자식노드가 없는 노드입니다. internal node란 잎새노드를 제외한 노드를 나타냅니다. 루트노..
[JPA] 연관관계 실습예제
·
[6. JPA · ORM]/JPA란?
연관관계 예제 1) ERD설계 2) Entity 구조 3) 양방향 매핑 소스 예제 Member.class(회원) @Entity @Getter @Setter @Table(name = "member") public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") private List orders = new ArrayList(); } Order.class(주문) @Entity @Getter @Setter @Table(name = "orders") public ..
[Spring] test코드 만들기, tdd 라이브 템플릿
·
[4. Backend]/Spring
test코드 만들기 Gnereate 클릭 > Test... 클릭 > Create Test(Ok클릭) tdd 라이브 템플릿 1) 프로세스 1. preference에서 live template 입력!!! 2. 오른쪽에 +버튼을 누르고 Template Group을 Custom으로 추가. 3. + 버튼으로 Custom 그룹에 Live template tdd를 추가. 4. 템플릿 코드(Template text)를 입력합니다. 5. application context를 Java로 선택합니다. 코드 @Test public void test(){ //given //when //then } 2) tdd 템플릿 완성(tdd 입력 시 자동완성!!!)
[Spring] spring-boot-devtools 라이브러리
·
[4. Backend]/Spring
spring-boot-devtools 라이브러리 spring-boot-devtools 라이브러리란? spring-boot-devtools 라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다. spring-boot-devtools 라이브러리 코드 implementation 'org.springframework.boot:spring-boot-devtools' 인텔리J 컴파일 방법 메뉴 > build > Recompile(해당 view파일)
[Spring] 라이브러리 살펴보기
·
[4. Backend]/Spring
라이브러리 살펴보기 1) 스프링 부트 라이브러리 살펴보기 spring-boot-starter-web spring-boot-starter-tomcat: 톰캣 (웹서버) spring-webmvc: 스프링 웹 MVC spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View) spring-boot-starter-data-jpa spring-boot-starter-aop spring-boot-starter-jdbc HikariCP 커넥션 풀 (부트 2.0 기본) hibernate + JPA: 하이버네이트 + JPA spring-data-jpa: 스프링 데이터 JPA spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅 spring-boot spring-co..
[JPA] 벌크연산
·
[6. JPA · ORM]/JPA란?
벌크연산 재고가 10개 미만인 모든 상품의 가격을 10% 상승하려면? PA 변경 감지 기능으로 실행하려면 너무 많은 SQL 실행 재고가 10개 미만인 상품을 리스트로 조회한다. 상품 엔티티의 가격을 10% 증가한다. 3. 트랜잭션 커밋 시점에 변경감지가 동작한다. 변경된 데이터가 100건이라면 100번의 UPDATE SQL 실행 1) 벌크연산 예제 쿼리 한 번으로 여러 테이블 로우 변경(엔티티) executeUpdate()의 결과는 영향받은 엔티티 수 반환 UPDATE, DELETE 지원 INSERT(insert into .. select, 하이버네이트 지원) 2) 벌크연산 주의 벌크 연산은 영속성 컨텍스트를 무시하고 데이터베이스에 직접 쿼리 벌크 연산을 먼저 실행 벌크 연산 수행 후 영속성 컨텍스트 초기화
[JPA] Named 쿼리
·
[6. JPA · ORM]/JPA란?
Named 쿼리 public interface UserRepository extends JpaRepository { @Query("select u from User u where u.emailAddress = ?1") User findByEmailAddress(String emailAddress); } 1) Named 쿼리 - 정적 쿼리 미리 정의해서 이름을 부여해두고 사용하는 JPQL 정적 쿼리 • 어노테이션, XML에 정의 애플리케이션 로딩 시점에 초기화 후 재사용 애플리케이션 로딩 시점에 쿼리를 검증 2) Named 쿼리 환경에 따른 설정 XML이 항상 우선권을 가진다. 애플리케이션 운영 환경에 따라 다른 XML을 배포할 수 있다. 참조 : https://docs.spring.io/spring-da..