분류 전체보기
-
도메인 aws에 적용하기.Computer Science/Aws 2022. 7. 27. 01:03
가비아에서 도메인을 구매하였다. aws route 53 -> 호스팅 영역 -> 호스팅 영역 생성 -> 도메인 이름에 구매한 도메인 추가. 해당 호스팅 영역 -> 레코드 추가 -> 레코드 이름 작성을 안하고 대상을 내 ec2 ip 적용. 레코드 이름을 추가한 것도 예시로 만들자면 www를 넣어서 만든다. ex) www.~ 그런뒤 값/트래픽 라우팅 대상에 있는 NS 유형의 4가지 name server를 가비아에서 추가해준다. 가비아에서 네임버서 설정 -> 추가.
-
Spring boot에 APM(dataDog) 적용하기.Computer Science/Spring boot 2022. 7. 26. 00:09
https://docs.datadoghq.com/logs/log_collection/java/?tab=log4j datadog 문서 링크이다. log를 남기는 방법이 크게 2가지가 있는데 logger에서 실시간으로 log를 datadog에 전송하는 방법. Agent Jop을 통해서 로그를 동기화하는 방법이 있다. 우선 Agent를 설치해준다. 어플리케이션 성능을 측정해줄 도구이다. 이를 각 서버에 설치한다면 이후 통합해서 확인 할 수 그전에 agent가 잘 실행이 되는지 확인을 해준다. https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/java/?tab=containers 이곳에서 각종 agent관련 명령어를 확인 할 수 있다. https..
-
Jsoup 사용 법.Computer Science/Java 2022. 7. 17. 18:11
implementation 'org.jsoup:jsoup:1.14.3' 우선 jsoup을 implement해주어야한다. Document document = null; try { document = Jsoup.connect(fandom_url).get(); } catch (IOException e) { log.info("connection fail"); return false; } Document에 우선 url로 connetion을 하여 가져온다. 그런뒤 Element단위로 가져올 수 있는데, class명이 test인 항목을 가져오는 방법 Elements items = doc.select(".test"); id명이 test인 항목을 가져오는 방법 Elements items = doc.select("#tes..
-
Spring boot 시작 시 함수 실행하고 싶을 때.Computer Science/Spring boot 2022. 7. 17. 18:00
@Component @Slf4j public class CrawlComponent implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception{ setAllMatchList(); } 해당 component에 applicationRunner를 implements 해준 뒤 run 함수를 override하면 해당 함수는 프로그램이 시작하면 바로 진행하게 된다.
-
Spring boot 시작 시 database에 값 넣기.Computer Science/Spring boot 2022. 7. 17. 17:58
data.sql 파일을 만들어서 그 파일에 실행할 쿼리를 집어 넣는다. data.sql을 스프링 버전이 올라가면서 2.5 버전부터는 application property를 추가해주어야한다. sql: init: encoding: UTF-8 continue-on-error: true mode: always mode를 always 해야 적용이된다. 다만 만약에 table을 생성후 해당 sql을 실행하고 싶다면 jpa: show-sql: true hibernate: ddl-auto: create defer-datasource-initialization: true defer-datasource-initialization을 true진행을 하여야 table을 만든뒤 sql을 실행하게된다.
-
Jpa entity 다대다, 다대일, 일대다 설정하기.Computer Science/Spring boot 2022. 7. 15. 15:59
다대다의 경우를 통해 다대일과 일대다 모두를 구현. 다대다의 경우 many to many를 사용하는 것이 아닌 중간 table를 생성하고 (1대다 와 다대1) (다대1과 1대다)로 묶어서 진행한다. @OneToMany(mappedBy = "userEntity") private List teamUserEntityList; mappedBy는 상대 ManyToOne의 이름으로 사용한다. 외래키 권한이 상대방 쪽에 있다는 것을 의미한다. 1대다 구조는 단방향 보다는 양방향으로 진행하고 키 권한을 다 쪽에 두어 관리하도록 한다. @ManyToOne @JoinColumn(name = "userId") private UserEntity userEntity; JoinColumn에는 내가 사용할 외래키 id이름을 적으면..
-
MySQL Json type을 Jpa로 다루기Computer Science/Spring boot 2022. 7. 15. 15:43
우선 json타입을 다룰려면 새로운 타입이여서 해당 dependency를 추가해주어야한다. implementation 'com.vladmihalcea:hibernate-types-52:${hibernate-types.version}' @Type(type = "json") @Column(columnDefinition = "json") private Test jsonObject; @NoArgsConstructor @Getter public class Test { private Long id; private Long tt; public Test(Long id, Long tt) { this.id = id; this.tt = tt; } } 위에 처럼 진행하여도 {"id":1,"tt":2} 로 입력된다. @Type..
-
Spring boot CI/CD git action으로 aws ec2에 올리기.Computer Science/Spring boot 2022. 7. 9. 00:27
우선 바로 배포를 진행할 것이기 때문에 의존성을 모두 포함한 BootJar로만 Build를 진행합니다. 따라서 의존성을 제거하여 build하는 Jar는 skip해줍니다.(snapshot-plain.jar) jar{ enabled = false } build.gradle에 추가하여 진행합니다. s3에 대한 접근 권한을 받아오기 위해 AWS IAM을 생성해줍니다. 사용자를 생성해주고, 액서스 키 -> 기존 정책 직접 연결 -> AmazonEC2FullAccess, AmazonS3FullAccess, AWSCodeDeployFullAccess -> 키 생성 -> 액세스 키 ID, 비밀 액세스 키 secrets-actions에 등록 (EC2와 CodeDeploy는 S3에 파일을 저장하고 이 파일을 EC2에서 가..