본문 바로가기

전체 글39

[모던자바인액션] 스트림API가 지원하는 다양한 연산 자바8과 자바9에 추가된 스트림API의 다양한 연산을 살펴보자 1. 필터링 필터링은 스트림의 요소를 선택하는 방법이다. 프레디케이트로 필터링 방법과 고유 요소만 필터링하는 방법이 있다. 1) 프레디케이트 필터링 프리디케이트(불리언을 반환하는 함수)를 인수로 받아서 프레디케이트와 일치하는 모든 요소를 포함하는 스트림을 반환한다. List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .collect(toList()); 2) 고유 요소 필터링 스트림은 고유 요소만 필터링하는 distinct 메서드를 지원한다. 리스트의 모든 짝수를 선택하고 중복을 필터링하는 예제이다. List numbers = Arrays.asList(1,2,1,3,3,2,4); n.. 2022. 2. 19.
[Docker] Docker로 jar파일 이미지 빌드하기 간단하게 spring boot jar파일을 도커 이미지로 생성하고 컨테이너를 실행해서 서버를 띄워보는 스터디 과정을 정리한 글입니다. docker 이미지를 생성하기 앞서 전체적인 순서를 정리해보았습니다. 1. 이미지를 빌드할 때 실행시킬 jar 파일을 준비합니다. 2. 이미지를 생성하기 위해 필요한 Dockerfile을 작성합니다. 3. 이미지를 빌드합니다. 4. 컨테이너를 실행시켜 spring boot 서버를 띄웁니다. jar파일 준비 인텔리제이 우측 상단에 Gradle탭 > Task > boot.jar를 실행해줍니다. 빌드가 성공하면 프로젝트 build > libs 경로에 jar파일이 생성됩니다. Dockerfile 작성 Dockerfile이란? Dockerfile은 사용자가 이미지를 생성할 때 사용.. 2022. 2. 19.
[AWS]AWS EC2 인스턴스에 Postgresql 설치 + 스프링부트 연동하기(posrgresql+JPA) AWS EC2 Linux2에 Postgresql을 직접 설치하고 스프링 부트로 연동하기까지의 작업을 해보자. Postgresql 설치 먼저 EC2에 접속해서 posrgresql 관련 패키지를 설치해준다. sudo amazon-linux-extras install postgresql10 epel -y sudo yum install postgresql-server postgresql-devel -y 설치한 postgresql 버전을 확인해보자 /usr/bin/postgres --version 버전 확인 완료. Postgresql DB 접속 아래의 명령어를 입력해 db를 실행시켜준다. sudo /usr/bin/postgresql-setup --initdb sudo systemctl enable postgres.. 2022. 2. 12.
[AWS] EC2 생성하고 서버배포하기 EC2 생성부터 jar 파일 배포까지의 스터디 실습 내용을 복습하기 위한 기록입니다. ec2 생성 public key 등록 ec2에 서버 배포 인바운드 규칙 설정 EC2 생성하기 1. 운영체제 선택 2. 인스턴스 유형 선택 3. 인스턴스 세부 정보 구성 (생략하고 넘어감) 4. 스토리지 추가 5. 태그 추가 6. 보안 그룹 구성 7. 키 페어 생성 후 인스턴스 시작 관리하기 편하게 pem 키를 ssh 디렉터리 안으로 옮겨줬다. 이때 파일을 드래그 앤 드롭으로 옮길 경우 파일이 깨질 수 있기 때문에 명령어로 안전하게 모셔다 드리는 것이 좋다. 생성 완료 !! ssh 접속 인스턴스 우클릭 → 연결로 들어가면 친절하게 ssh 접속 명령어가 나온다. ssh 접속을 시도하면 다음과 같은 경고 에러 창이 뜸. 권한.. 2022. 2. 10.
[SpringBoot] 테스트 케이스를 위한 설정파일 만들기 테스트 케이스를 위한 스프링 환경과, 일반적으로 애플리케이션을 실행하는 환경은 다르기 때문에 설정 파일을 다르게 사용하는 것이 바람직하다. 실습을 위해 간단하게 테스트환경을 위한 인메모리 디비 접속 정보를 담은 설정 파일을 생성해보자. (사실 스프링부트에서는 설정 파일이 없으면 기본적으로 DB를 메모리 모드로 돌려버리기 때문에 별도의 설정이 필요 없다.) 먼저 java 디렉터리에 있는 설정 파일이다. spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: #.. 2022. 2. 10.
[SpringBoot] JUnit5 - @ParameterizedTest, @ValueSource, @CsvSource @ParameterizedTest JUnit5에서 추가된 새로운 기능 중 하나이다. 매개변수를 사용해서 단일 테스트를 여러 번 실행할 수 있다. 먼저 @ParameterizedTest 를 사용하기 위해서는 pom.xml / build.gradle 에 Junit-jupiter-params의존성을 추가해주어야 한다. Maven 의존성 추가 org.junit.jupiter junit-jupiter-params 5.7.0 test Gradle 의존성 추가 testCompile("org.junit.jupiter:junit-jupiter-params:5.7.0") Example public Class Example{ private set numbers; @BeforeEach void setUp() { numbers.. 2022. 2. 5.
반응형