프로젝트/게시판 프로젝트
-
EC2 자바 11 설치 및 타임존 설정 , HostName 변경프로젝트/게시판 프로젝트 2022. 6. 10. 00:01
AWS 가입 및 EC2 인스턴스 생성(1) EC2 자바 11 설치 및 타임존 설정(2) AWS RDS 구축하기(3) AWS EC2에 스프링부트 프로젝트 배포하기(4) 1. 설치 가능한 Java 리스트 검색 : yum list java* 여러가지들이 나오는데 여기서 Java11을 다운로드하겠습니다. yum이란 Yellowdog Update Modified의 약자로 리눅스 배포판에서 사용하는 프로그램 설치 관리 도구입니다. 명령어만 보면 전혀 기능과 관계없어 보이지만 yum 명령어를 통해 패키지 의존성 문제를 자동으로 처리하면서 설치, 업데이트, 삭제를 진행할 수 있습니다. 2. 설치 : yum install java-11-amazon-corretto.x86_64 위의 명령어를 입력해보니 아래와 같은 에러가..
-
AWS가입 및 EC2 인스턴스 생성프로젝트/게시판 프로젝트 2022. 6. 9. 01:16
AWS 가입 및 EC2 인스턴스 생성(1) EC2 자바 11 설치 및 타임존 설정(2) AWS RDS 구축하기(3) AWS EC2에 스프링부트 프로젝트 배포하기(4) 1. AWS 가입(공짜 1년을 얻기 위해 새로 가입해 보겠습니다) AWS 사이트 1-1단계 이메일 입력 -> 이메일 인증 1-2단계 연락처 정보 입력 1-3단계 신용카드 정보 기입(체크카드도 됩니다) 단! Master 혹은 Visa 카드 1-4단계 휴대전화 인증 1-5단계 Support Plan 선택(기본 지원 - 무료 선택) 2. EC2 인스턴스 생성하기 AWS에서 리눅스 서버 혹은 윈도우 서버를 사용한다는 것이 EC2를 사용한다는 것과 동일한 이야기입니다. AWS에서 무료로 제공하는 프리티어 플랜에서는 EC2 사용에 다음과 같은 제한이 ..
-
SpringBoot CI/CD 도입전 분석(젠킨스 vs 트레비스)프로젝트/게시판 프로젝트 2022. 6. 8. 03:39
예전에 CI/CD를 공부하기 위해 간단하게 정리한 글이 있었습니다. https://junuuu.tistory.com/21 [Java] 배포란?(+ CI/CD) 배포란(Deploy) 작성한 코드를 빌드하고, 빌드가 완성된 실행 가능한 파일(jar war)을 사용자가 접근할 수 있는 환경에 배치한 것 즉, 빌드를 하고 생성된 jar 또는 war 파일을 WAS에 올리는 거나 .exe junuuu.tistory.com CI : Continuous Integration 개발자를 위한 자동화 프로세스로 지속적인 통합하는 방식 만약 주기적으로 통합을 하지 않고 오래 시간이 지난 후 통합을 하면 큰 충돌이 날 확률이 높습니다. CD : Continuous Deployment 또는 Continuous Delivery D..
-
Spring REST Docs 적용하기(+ html 생성안됨 에러 해결, ./grdlew build 에러 해결, 각종에러해결)프로젝트/게시판 프로젝트 2022. 6. 7. 01:11
지난 포스팅을 통해 API 문서화를 위해 Swagger와 Spring Rest Docs를 비교하여 보았습니다. 그리고 분석을 통하여 좀 더 깔끔 명료한 문서를 만들 수 있고 문서와 코드의 괴리감이 생길 수 없는 Spring Rest Docs를 적용해보고자 합니다. 추가적으로 공부하다가 알게 된 점으로는 Postman으로도 API 문서를 만들 수 있습니다. 하지만 테스트 코드를 강제화 할 수 있는 Spring REST Docs를 사용하겠습니다. 공식문서와 다른 분들이 적용한 예시를 보고 포스팅을 작성해보겠습니다. Swagger vs Spring REST Docs https://junuuu.tistory.com/318?category=997278 API 문서화를 위한 Swagger와 Spring Rest D..
-
JPA Table에 Unique Index 달기프로젝트/게시판 프로젝트 2022. 6. 3. 21:54
기존 코드에서 개선사항 발생 JPA의 회원 Entity를 생성할 때 다음과 같이 Unique Column을 지정했습니다. import lombok.*; import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Table(name = "member") @Entity @DynamicUpdate public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //MySQL의 AUTO_INCREMENT를 사용 @Column(name = "member_id..
-
API 문서화를 위한 Swagger와 Spring Rest Docs 비교프로젝트/게시판 프로젝트 2022. 5. 31. 22:43
Swagger란? API 문서를 자동으로 만들어주는 라이브러리입니다. REST API를 편리하게 문서화해주고, 이를 통해 편리하게 API를 호출해보고 테스트할 수 있는 프로젝트입니다. 이를 활용하여 협업하는 클라이언트 개발자에게도 Swagger 만 전달해주면 API Path와 Request , Response 값 및 제약 등을 한 번에 알려줄 수 있습니다. Swagger 예시 글로만 보면 이해하기 어려울 수 있기 때문에 실제로 예시를 보여드리겠습니다. 아래의 사이트에서 직접 활용해볼 수 있습니다. https://petstore.swagger.io/?_ga=2.58706851.880875351.1654000882-1005427767.1652498303 Swagger UI petstore.swagger.io..
-
테스트 코드 리팩토링하기프로젝트/게시판 프로젝트 2022. 5. 31. 01:24
기존의 테스트 코드에는 매번 테스트를 위해 MemberRequestDTO를 만들어줬습니다. 결국에는 계속 중복되는 로직이 발생하였고 만약 요구사항의 변경으로 Entity가 변경된다면 모든 코드를 수정해줘야 하는 불편함도 겪었습니다. 따라서 매번 중복적으로 만들어주는 부분을 메서드로 뽑아 유지보수성과 가독성을 올리고자 합니다. 기존 코드 @Test @DisplayName("회원 가입 정상 로직") public void memberNotDuplicateTest() { //given MemberRequestDTO memberRequestDTO = MemberRequestDTO.builder() .userId("Test") .name("Test") .nickName("Test") .password("Test")..
-
뉴스 정보를 가져와 보자(크롤링, 네이버 뉴스 API 사용법)프로젝트/게시판 프로젝트 2022. 5. 25. 14:18
크롤링이란? Crwaling 사전적으로는 포복, 기다 라는 의미를 가지고 있으며 전산 쪽에서는 Web상을 돌아다니면서 정보를 수집하는 행위를 뜻합니다. 웹 크롤링, 스파이더링, 스크래핑, 데이터 긁기 등 다양한 단어로 불리기도 합니다. 크롤링 대상 크롤링의 대상은 Web상의 자원들입니다. 이 자원은 정적인 문서가 될 수 있고, API와 같은 서비스가 될 수 있습니다. 어느 쪽이던 다수의 데이터를 수집하고 여기서 필요한 정보만 추출하게 됩니다. 현재 진행하는 프로젝트에서는 어떤 키워드에 대한 네이버 뉴스데이터를 수집해보려고 합니다. 크롤링하기 전 주의 사항 개인정보가 들어있는 사이트들은 크롤링이 안 되도록 막고 싶을 수 있습니다. 무분별한 크롤링을 막고 제어하기 위해 1994년 6월 로봇 배제 규약이 만들..