목록전체 글 (50)
개발자의 서재
elastic beanstalk로 서비스를 생성할 때 RDS서버도 같이 생성하는 과정을 거친다. mysql로 생성해주었다. RDS 페이지에서 디비 엔드포인트(접속url) 을 확인한다. 그리고 현재 작업환경에서 접속 할 수 있도록 VPC 보안그룹에서 현재 ip를 추가한다. 디비툴을 실행하여 위 엔드포인트 정보로 접속해본다. (username, password는 Elastic beanstalk 생성 시 입력한 값) 접속 후 소스와 연결할 Database 를 하나 신규 생성해주고, CREATE 문으로 테이블을 생성해주었다. 스프링부트 소스의 db커넥션 정보도 수정해준다. application.yml 파일을 열어 정보를 수정해준다. spring: jpa: hibernate: ddl-auto: validate /..
더보기 aws elasticbeanstalk 서비스를 신규 생성해보는데 계속해서 동일한 에러가 발생하였다. 구글링 결과 스택오버플로우에서 아래와 같은 내용을 확인하였다. https://stackoverflow.com/questions/30790666/error-with-not-existing-instance-profile-while-trying-to-get-a-django-project-ru Error with not existing instance profile while trying to get a django project running on AWS Beanstalk I`m trying to deploy a django project to AWS Beanstalk following this tuto..
backend 소스를 다시 받은 후 gradle 빌드 시 자꾸 out of memory 오류가 발생하며 빌드가 되지 않았다. 인텔리제이의 memory setting, VM option 그리고 설정의 Compiler heap Size 도 4096 mb 로 바꿔줬지만 해결되지 않았다.. 그러다 구글링으로 소스의 root 경로에 gradle.properties 파일에 아래 내용을 추가하라는 것을 발견함. org.gradle.jvmargs=-Xmx4096m 그러나 backend 소스에 gradle.properties 파일이 없어서 직접 생성 후 위 내용만 추가하였다. 이후 빌드 시 정상 빌드및 로컬 구동 완료되었다.
package com.kevin.java8.stream; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * Stream - Stream 소개 */ public class App { public static void main(String[] args) { List names = new ArrayList(); names.add("chawon"); names.add("jinsol"); names.add("yena"); names.add("naeun"); names.add("rachel"); names.add("chakyung"); names.stream().map(s -> { System.out..
package com.kevin.java8.java8method; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.function.Consumer; public class App { public static void main(String[] args) { List name = new ArrayList(); name.add("chawon"); name.add("jinsol"); name.add("yena"); name.add("naeun"); name.add("rachel"); name.add("chawon"); //Iterable 의 기본메소드 : forEach(); //forEa..
package com.kevin.java8.interfacemethod; public interface Foo { void printName(); String getName(); //* 디폴트 메소드. //기존에는 인터페이스에 메소드를 추가하면 해당 인터페이스를 구현하는 //모든 클래스에 컴파일에러가 생김. (추가한 메소드를 구현클래스에도 모두 만들어줘야함) //하지만 인터페이스 메소드앞에 default 를 달아주면, 컴파일에러없이 인터페이스에 내용이 있는 메소드 추가 가능. //디폴트 메소드도 일반 인터페이스 메소드처럼 구현체에서 오버라이딩 해서 재정의 가능하다. default void printNameUpperCase(){ System.out.println(getName().toUpperCase())..
package com.kevin.java8.functionalInterfaceLamda; import javax.annotation.processing.Generated; /** * 강의 2 - 함수형 인터페이스와 람다 = 4.메소드 레퍼런스 */ public class Greeting { private String name; //생성자1 public Greeting(){} //생성자2 public Greeting(String name){ this.name = name; } //일반 메소드 public String hello(String name){ return "hello "+name; } //스태틱 메소드 public static String hi(String name){ return "hi "+na..
1. 함수형 인터페이스와 람다표현식 소개 2. 자바에서 제공하는 함수형 인터페이스 3. 람다표현식 * 람다 표현식 함수형 인터페이스의 인스턴스를 만드는 방법으로 쓰일 수 있다. 코드의 길이를 줄일 수 있다. * 함수형 프로그래밍 함수를 class object로 사용할 수 있다. 순수함수 - 사이드 이펙트 만들수없다. 함수 외부에있는 값 변경불가 + 외부의값을 참조하지 않는다. 고차함수 : 함수가 함수를 매개변수로 받을 수 있고, 함수를 리턴할 수도 있다. package com.kevin.java8.functionalInterfaceLamda; //함수형인터페이스 일경우 어노테이션 명시 @FunctionalInterface public interface RunSomething { //JAVA8에서 추가된 ..
1. 새로운 날짜와 시간 API 생성 배경 1-1. java 1.0 에서는 java.util.Date 클래스 하나로 날짜와 시간 관련 기능을 모두 제공했다. 날짜를 의미하는 Date 라는 뜻과 달리 특정 시점을 밀리초단위로 표현한다. 게다가 1900년을 기준으로 하고, 0부터 시작하는 달 인덱스등 모호한 설계가 문제였었다. Date date = new Date(); System.out.println(date.getTime()); // 1654145972877 -> 1900년 1월1월 0시0분0초 기준 현재까지의 밀리초 System.out.println(date); //Thu Jun 02 13:59:32 KST 2022 Date date2 = new Date(2022,6,2); // 년,월,일을 그대로 넣..
테이블마다 보통 공통적으로 쓰는 timestamp 컬럼으로 createdAt, updatedAt (등록일시, 수정일시) 가 있다. timstamp 컬럼에 current_timestamp(), on update current_timestamp() 옵션을 주면 이때 insert 나 update 시 쿼리에 포함시키지 않아도, 자동으로 입력시간, 수정시간이 입력된다. createdAt 컬럼에는 current_timestamp() 만 updatedAt 컬럼에는 current_timestamp() , on update current_timestamp() 을 둘다 주어서 보통 사용한다. alert 쿼리 예시 ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 timestamp DEFAULT current_..