본문 바로가기
반응형

전체 글202

[인프라 도전기] ec2 에 배포하기 - 3부(spring boot내장톰캣 이용하기) Spring boot는 내장톰캣을 가지고있다. Spring boot를 이용하여 배포하는 순서는 아래와 같다. 1. git repository를 생성하여 Spring boot로 작성한 소스코드를 업로드한다. 2. ec2에서 해당 repository를 clone한다. 3. clone한 폴더로 이동한다. 4. sudo ./gradlew build 명령어로 build 한다. 5. build를 하면 /build/libs 에 jar파일이 생성됐을것이다. java -jar /build/libs/-.jar (-.jar는 생성된 파일 이름)명령어를 실행하면 spring boot로 작성한 Application이 실행된다. 6. 결과확인 2020. 9. 21.
[인프라 도전기] ec2 에 배포하기 - 2부(java 설치하기) 1. putty를 이용하여 ec2에 접근한다. 2. sudo su 명령어로 root 권한에 접근한다. 3. sudo amazon-linux-extras install java-openjdk11 명령어를 사용하여 java를 설치한다. (본인은 11 version에서 코딩하므로 11로 설치) 4. java —version 명령어 실행 결과가 정상적으로 나온다면 설치가 정상적으로 이루어진것이다. 5. JAVA 위치 확인 which java 2020. 9. 21.
[인프라 도전기] ec2 에 배포하기 - 1부(ec2 생성하기) 회사일을 하다가 인프라를 모르면 제약이 많을것 같다는 느낌을 받았다. 그렇기에 인프라 공부를 틈틈히 해보기로 마음먹었다. 제일 처음으로 Linux에 WAS를 띄워보고자한다. WAS는 여러가지 종류가 있지만 제일만만한 tomcat으로 설치해보도록 한다. tomcat을 설치하기 위해서는 아래 세가지 일을 해야한다. ec2 생성하기 java 설치하기 tomcat 설치하기 1부에서는 ec2 생성을 하도록 하겠다. AWS 홈페이지를 접속하여 EC2 메뉴로 이동한다. EC2 메뉴로 이동하면 아래와같은 화면이 보인다 이 글을 쓰는 날짜 기준으로 오른쪽위에 인스턴스 시작이라는 버튼이 있다. 클릭해준다. 그렇다면 아래와 같은 화면이 나타날것이다. 우리는 WAS + 간단한 애플리케이션을 돌리기 위한 용도이므로 프리티어로 .. 2020. 9. 17.
[JAVA] 함수의 결과를 성공과 실패만 판단하면 될때 반환값으로 어떤값이 좋을까? 함수의 결과를 성공과 실패만 판단하면 될때 어떤형식이 좋을까 ? 함수를 실행할때 반환값을 지정해줄 수 있다. void로 지정하면 반환값이 없어도된다. 함수를 실행만 하고 반환값이 필요없다면 void가 옳은선택일까? 그렇다면 함수를 실행하다가 실패한다면 예외를 던질것인가 ? 나쁘지 않은 선택이다. 하지만 void에는 2가지 단점이있다. 1. 테스트코드를 작성하기 힘들다. 2. 어떠한 이유때문에 예외가 발생됐는지 명확하게 알기 힘들다. 불리언으로 성공일때는 true 실패일 때는 false로 표현하는 간단한 방법도 있다. 어떤 동작이 성공/실패로 나뉘어지면 실패이유가 단1가지 뿐이라면 불리언도 좋은 선택이 될 수 있다. 하지만 대부분의 로직은 실패이유가 1개보다 많다. 이럴때 어떠한 이유때문에 예외가 발생됐는.. 2020. 9. 15.
[JAVA] Stream을 이용하여 Map 안에 있는 값 간편하게 출력하기 우리는 JAVA8 이전에 Map안에 있는값을 모두 출력하려면 조금 까다로웠다. JAVA8에 Stream이 추가되면서 간편하게 모든값을 출력할 수 있게되었다. public class main { public static void main(String[] args) { Map favouriteMovies = ofEntries( entry("1", "1") , entry("2", "2") , entry("3", "3") ); // 상황에 맞게 사용 favouriteMovies.forEach((k,v)-> System.out.println("key: "+k+" value: " +v)); favouriteMovies.entrySet().stream() .forEach(entry-> System.out.printl.. 2020. 8. 23.
[JAVA 8] Stream을 활용하여 합계를 구하는 여러가지 방법 예제에 사용할 Class는 2가지가 있다. Dish Class 와 main Class Dish.class package streamexam; public class Dish { private String name; private int calories; public Dish(String name, int calories) { this.name = name; this.calories = calories; } public String getName() { return name; } public int getCalories() { return calories; } } main.class import streamexam.Dish; import java.util.ArrayList; import java.util... 2020. 8. 21.
[AWS] API Gateway 비 프록시 통합모드에서 querystring 받기 오늘은 Amazon API Gateway와 Lambda를 연결해보도록 하겠다. API Gateway 란 ? Amazon API Gateway는 간단하게 설명하자면 규모와 관계 없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다. 자세한 설명은 아래사이트에서 확인하실 수 있습니다. https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/welcome.html Amazon API Gateway란 무엇입니까? - Amazon API Gateway Amazon API Gateway란 무엇입니까? Amazon API Gateway는 규모와 관계 없이 REST 및 WebSocket API를 .. 2020. 8. 16.
[AWS] Lambda 생성 후 테스트해보기 AWS에는 Lambda라는것이 있다. Lambda란 무엇인가? 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다. 자세한 내용은 https://docs.aws.amazon.com/ko_kr/lambda/?id=docs_gateway에서 확인할 수 있다. Lambda 생성하기 AWS에 들어간 후 Lambda를 검색해서 클릭한다. 클릭하면 아래와 같은 화면이 나올것이다. 함수생성을 클릭한다. 함수 생성을 클릭하면 아래와 같은 화면이 나올것이다. 함수이름과 런타임시 어떤 언어와 버전으로 실행할것인지 결정한다. 결정한 후 함수생성을 클릭하면 잠시 후 함수가 생성된다. 생성된 화면은 아래와같다. 소스코드를 작성한후 save를 누르면 코드가 저장이되고 Lambda를 호출하면 저.. 2020. 8. 15.
[Linux] yum groupinstall "Development Tools" not working yum groupinstall "Development Tools" 를 실행하면 아래와 같이 뜰 때 yum groupinstall "Development Tools" --setopt=group_package_types=mandatory,default,optional 입력하면 실행된다. 2020. 8. 2.
[Linux] firewalld FirewallD is not running firewalld FirewallD is not running 해결방법 보통의 경우 실행이 안되고 있어서 위와 같은오류가 난다. systemctl start firewalld 으로 실행시켜준후 사용하면 정상적으로 동작한다. 2020. 8. 1.
[Spring Boot] spring-data-redis 간단하게 적용해보기 개발환경 window spring boot 2.3.1 spring data redis 2.3.1 commons-pool2 2.8.0 (org.apache) lettuce-core 5.3.1 (io.lettuce) gradle Spring Boot환경에서는 Redis를 적용하기 매우 쉽습니다. 아래의 의존성이 필요합니다. 의존성을 추가한후 Gradle reimport를 해줍니다. 아래와같이 Config파일을 설정해줍니다. @Configuration @EnableRedisRepositories public class RedisConfig { private RedisConnectionFactory redisConnectionFactory; @Autowired public RedisConfig(RedisConn.. 2020. 7. 24.
[Spring Security] Custom Login 만들기 Spring Security를 적용하고 따로 설정을 하지 않으면 자체적으로 제공하는 Login Form을 사용한다. 하지만 대부분의 서비스는 서비스에 알맞는 Login Form을 사용하고 싶어한다. Custom Login Page를 어떻게 제작하는지 간단하게 살펴보겠다. 순서는 아래와 같이 크게 3가지로 나뉜다. SecurityConfig 등록 formLogin설정 변경 logout설정 등록 1. SecurityConfig등록 SecurityConfig를 등록해준다. http.formLogin().loginPage(사용할 페이지) 로 설정해준다. 이때 주의할점이 .permitAll()을 꼭 설정해줘야한다. 로그인을 해야하는데 권한이 없어서 들어가지 못하는 상황이 발생할 수 있다. 로그인페이지를 커스텀하게.. 2020. 7. 12.