일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백준
- 주식
- FCF
- 잉여현금흐름
- 접근제어자
- XLF
- 주린이
- 프로그래머스
- StringBuffer
- 그리디 알고리즘
- 현금흐름표
- Java
- 자바
- S&P500
- object
- mco
- 기업분석
- 다형성
- 인플레이션
- 배당성장
- 오버라이딩
- 금리인하
- javascript
- 금리인상
- 제태크
- 객체지향
- 무디스
- etf
- 알고리즘
- 미국주식
- Today
- Total
목록Spring (57)
오늘의하루
EC2에서 Jenkins 설치 및 Maven Project 빌드하기 Step1. Jenkins 설치 후 프로젝트 Build 및 Start Step 1의 목표 1. AWS에서 EC2 인스턴스를 프리티어로 하나 생성한다. 2. Ubuntu 환경에서 Jenkins를 설치한다. 3. 자신의 Git Repository에 있는 Sptring Boot 프로젝트를 Clone한다. 4. Jenkins를 이용하여 Build 한다. jangto.tistory.com Git Hub에서 WebHook 설정하기 Jenkins에서 설정한 Repository에서 Settings > Webhooks를 선택한 후 Add webhook을 통해 webhook을 설정할 수 있다. Payload URL : [EC2 Public IP]:[Jen..
Step 1의 목표 1. AWS에서 EC2 인스턴스를 프리티어로 하나 생성한다. 2. Ubuntu 환경에서 Jenkins를 설치한다. 3. 자신의 Git Repository에 있는 Sptring Boot 프로젝트를 Clone한다. 4. Jenkins를 이용하여 Build 한다. 5. Jar 파일을 실행시킨다. 인스턴스 생성 및 연결 AWS에서 EC2 인스턴스를 Ubuntu 환경으로 생성 후 SSH를 통해 연결하였다. Ubuntu 환경에서 Jenkins를 설치 Jenkins 공식 홈페이지에 친절하게 다운로드 받는 방법이 명시되어 있다. Jenkins 포트번호 변경 및 접속 $ sudo vim /lib/systemd/system/jenkins.service # Port to listen on for HTTP..
JPA에서 연관 관계 매핑에 대해 쉬운 이해를 하기 위해서는 객체와 테이블의 연관 관계의 차이를 이해해야한다. 객체를 테이블에 맞추어 그대로 모델링 한다면 객체 간 협력 관계를 만들 수 없게 된다. 테이블은 외래키(FK)로 조인하여 연관 된 테이블을 찾을 수 있지만 객체는 참조를 통해 연관된 객체를 찾을 수 있게 된다. 아래는 Member 테이블과 Team 테이블이 N:1관계일때 Entity를 어떻게 만들어야 하는지에 대해 작성하였다. Member 테이블은 Team 테이블의 Id값을 외래키(FK)로 가지고 있다. // 객체를 테이블에 맞추어 데이터 중심으로 모델링 한 경우 @Entity public class Team{ @Id @Column(name = "TEAM_ID") private Long id; ..
JPA에서 기본키를 매핑하는 방법은 @Id, @GeneratedValue 이렇게 두가지가 있다. @Id의 경우 직접 할당 하겠다는 의미이기 때문에 별다른 내용이 없다. 매핑 방법 @GeneratedValue는 자동 생성을 해주는 것이다. SEQUENCE : DB의 시퀀스 사용 ORACLE의 경우 @SequenceGenerator가 필요하다. IDENTITY : DB에 위임 TABLE : 키 생성용 테이블을 만들어서 사용한다. @TableGenerator가 필요하다. 장점으로는 모든 DB에서 공통적으로 사용가능하다. 단점은 테이블이 생겨나기 때문에 추후 성능에 좋지 않다. AUTO : Hibernate에서 지정한 방언에 따라 자동으로 지정된다. (기본값) IDENTITY 전략 - 매핑 이 전략은 기본 키 ..
매핑의 소개 1. 객체와 테이블 매핑 : @Entity, @Table 2. 필드와 컬럼 매핑 : @Column 3. 기본 키 매핑 : @Id 4. 연관 관계 매핑 : @ManyToOne, @JoinColumn @Entity JPA가 관리할 수 있도록 지정해 주는 어노테이션이다. JPA를 사용해서 테이블과 매핑할 클래스는 필수로 작성해줘야 한다. 주의 사항 1. JPA를 사용해서 테이블과 매핑할 클래스는 기본 생성자가 필수로 존재해야한다. 2. 필드에 final 클래스, interface, inner클래스는 사용하지 말아야한다. 3. 저장할 필드에 final 사용을 하면 안된다. @Table 엔티티와 매핑할 테이블에 관련된 옵션을 지정할 수 있다. 1. name : 매핑할 테이블의 이름 지정 (기본값 : ..
JPA에서 flush 함수가 호출되면 쓰기 지연 SQL 저장소에 쌓여있는 쿼리가 DB 날아간다. 하지만 이때 마법같이 쌓여있던 쿼리가 한번의 요청으로 DB로 날아가지는 않는다. 만약 batch_size를 지정하지 않는다면 쌓여있는 개수만큼 DB와의 네트워크 통신을 하게 될 것이다. 하지만 batch_size를 지정한다면 쌓여있는 개수 중에 batch_size만큼 묶어서 쿼리를 날리기 때문에 한번의 네트워크 통신의 횟수를 줄일 수 있게 된다. 개인적인 생각으로 batch_size를 지정하지 않는다면 쓰기 지연 SQL 저장소를 사용되는 의미가 없어보인다.
EntityManagerFactory와 EntityManager EntityManagerFactory는 웹 애플리케이션에서 단 하나만 존재하며 EntityManager 객체를 생성할 수 있다. 영속성 컨텍스트 영속성 컨텍스트는 EntityManager를 통해서 접근이 가능하다. 처음 JPA를 접하는 경우 EntityManager와 PersistenceContext는 1:1 관계로 생각해야한다. Entity의 생명주기 1. 비영속 (new) : PersistenceContext와 전혀 관계없는 새로운 상태 Member member = new Member(); member.setId(1L); member.setName("JPA"); 2. 영속 (managed) : PersistenceContext에서 관리되..
JPA란? Java Persistence API의 줄임말이며 자바 ORM 기술 표준을 의미한다. ORM이란? Object-Relational-Mapping으로 객체 관계 매핑을 의미한다. 객체는 객체대로 관계형 DB는 관계형 DB대로 설계 ORM 프레임워크가 중간에서 매핑을 해준다. JPA를 사용하는 이유 1. SQL 중심적인 개발에서 객체 중심으로 개발이 가능하다. 2. 생산성이 높아진다. 3. 유지보수에 용이하다. 4. 패러다임의 불일치를 해결할 수 있다. 5. 성능 6. 데이터 접근 추상화와 벤더 독립성 JPA 설정 /META-INF/persistence.xml 파일을 만들어줘야한다. javax.persistence는 JPA 표준 속성을 의미한다. 이는 구현체(현재 hibernate)를 변경해도 그..
- 만든 이유 시간을 안보고 일하다 보면 점심시간인지 모르는 경우가 있기 때문이다. 이걸 모든 직원컴퓨터에서 실행하여 점심시간이 되면 다들 빨리 일어났으면 좋겠다. - 최종적으로 만들고자 하는 결과물 컴퓨터 부팅시 자동으로 실행되게 하여 점심시간에 화면이 잠겼으면 좋겠다. 아직 부팅시 자동 실행은 만들지 못하였다. [2023-12-26] 소스코드 package com.lunch.breakPoint; import java.io.IOException; import java.time.LocalDateTime; import java.util.Timer; import java.util.TimerTask; /*** * 점시시간 11:45에 화면 잠금을 하는 프로그램 * @author user * */ public ..
초기세팅 java = 1.8 spring boot = 2.7.14 db = oracle build tool = gradle 프로젝트 세팅하면서 알게 된 점 spring boot 버전을 낮추는 법 id 'org.springframework.boot' version '2.7.14' spring boot에서 java 버전을 낮추는 법 java { sourceCompatibility = '1.8' } spring boot에서 servlet 인코딩 관련된 속성의 의미 server.servlet.encoding.charset=UTF-8 server.servlet.encoding.force=true server.servlet.encoding.enabled=true force 속성 : 서블릿 요청 및 응답에 대해 강제..