전체 글 555

aws 배포 ec2 (1) : 모놀리식 배포

우선 aws ec2에 들어간다. 인스턴스 시작을 클릭! 더 많은 AMI 찾아보기를 클릭 후 우분투 리눅스를 둘중 하나 클릭 조금 내려가다 보면 키 페어를 선택하라고 나오는데 이부분은 새 키페어 생성을 클릭하면 된다. 키 페어 이름을 입력하고 키 페어를 생성하면 된다. 키 페어 유형은 RSA, 프라이빗 키 파일 형식은 .ppk로 설정하면 ppk확장자로 다운이 된 것을 알 수 있다. 이것은 putty로 서버에 들어갈 때 사용될 것이니 고이 모셔두자 그 후에 인스턴스 시작을 누르면 인스턴스 제작 완료!

DevOps/AWS 2022.08.12

final 키워드

자바에서 final 키워드는 상수를 표현하기 위한 예약어이다. '마지막' 이라는 단어 뜻처럼 선언한 그대로 사용하라는 의미이다. 변수, 메서드, 클래스에서 모두 이용되고 있는데 지금부터 각각의 의미에 대해서 살펴보도록 하자. final 변수 상수라고도 불린다. 변수를 선언과 동시에 초기화하며 이후에 값을 수정할 수 없다. 오직 get만 가능하다. public class Fruit { public static void main(String[] args) { // 선언 및 초기화 final int coiunt = 10; // 수정 count = 15;//컴파일 에러 } } count 변수를 선언할 때 final 키워드를 추가해 줌으로써 상수임을 나타내고 있다. 그리고 선언과 동시에 초기화를 진행하여 10을 ..

Java 2022.08.04

면접 준비 : try-with-resources

Q. try-with-resources에 대해서 설명해주세요. A. try 안에 사용할 리소스 객체를 명시적으로 선언하여 사용하고, try블록 안에서 로직이 정상적으로 완료되었는지, 갑작스럽게 완료되었는지 여부와 관계없이 JVM에서 자동으로 자원을 반납해주는 기능을 하도록 Java7부터 도입된 기능입니다. https://coding-review.tistory.com/154 try-with-resouce Java7 버전 이전에는 다 사용하고 난 자원을 반납하기 위해서 try-catch-finally 구문을 사용했다. Java7 버전 이후에 추가된 try with resources 기능은 try구문에 리소스를 선언하고, 리소스를 다 사용하고 coding-review.tistory.com

try-with-resouce

Java7 버전 이전에는 다 사용하고 난 자원을 반납하기 위해서 try-catch-finally 구문을 사용했다. Java7 버전 이후에 추가된 try with resources 기능은 try구문에 리소스를 선언하고, 리소스를 다 사용하고 나면 자동으로 반납 해주는 기능이다. java.lang.AutoCloseable 인터페이스를 구현하는 객체가 try with resource의 resource로 사용될 수 있다. 기존의 방식 (try-catch-finally) 리소스 생성 / 반납 public class ResourceClose { public static void main(String[] args) { Scanner scanner = null; try { scanner = new Scanner(new..

Java 2022.08.04

면접 준비 : Java8에 추가된 기능

Q. Java8에서 추가된 기능에 대해서 설명해주세요. A. Java8에서는 람다식, Stream API, Optional, 날짜 시간 API, StringJoiner 등이 추가되었습니다. 이후 추가 질문 시 대답 Q. 자세히 설명해주세요. A. 람다는 함수형 프로그래밍을 지원하기 위한 기능이고, Stream API는 고차함수를 지원합니다. Optional은 Null-Safety를 제공하며, Stream과 사용법이 유사합니다. 날짜 시간 API는 Joda-time 등의 라이브러리에서 영향을 받아 괜찮은 API가 되었으며, StringJoiner는 문자열을 간단하게 구분자로 합칠 수 있는 기능을 제공합니다. https://coding-review.tistory.com/151 람다식과 Stream API 람..

Optional

Optional 이란? NPE란? 개발을 할 때 가장 많이 발생하는 예외 중 하나가 바로 NPE (NullPointerException)이다. NPE를 피하려면 null 여부를 검사해야 하는데, null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 번거롭다. 그래서 null 대신 초기값을 사용하길 권장하기도 한다. List names = getNames(); names.sort(); // names가 null이라면 NPE가 발생함 List names = getNames(); // NPE를 방지하기 위해 null 검사를 해야함 if(names != null){ names.sort(); } 출처: https://mangkyu.tistory.com/70 [MangKyu's Diary:티스토리] Opti..

Java 2022.08.04

람다식과 Stream API

람다함수란? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수를 지칭하는 용어이다. 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법이다. 람다의 장단점 장점 코드의 간결성 - 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현할 수 있다. 지연연산 수행 - 람다는 지연연산을 수행함으로써 불필요한 연산을 최소화 할 수 있다. 병렬처리 가능 - 멀티스레드를 활용하여 병렬처리를 사용할 수 있다. 단점 람다식의 호출이 까다롭다. (어렵다) 람다 Stream 사용 시 단순 for문 혹은 while문보다 성능이 떨어진다. 불필요하게 너무 사용하게 되면 오히려 가독..

Java 2022.08.04

Spring에서 예외를 관리하는 방법 (@ControllerAdvice, @ExceptionHandler)

https://coding-review.tistory.com/148 CheckedException, UncheckedException 자바의 예외는 크게 3가지로 나눌 수 있다. 체크 예외 (CheckedException) 언체크 예외 (UncheckedException) 에러 (Error) 자바에서 에러, 예외와 관련된 클래스들의 계층구조는 위와 같다. Throwable 클래스를.. coding-review.tistory.com CheckedException, UncheckedException에 대해 공부하다가 김영한님의 강의 "데이터베이스 접근기술 1편"을 다시 보면서 "체크 예외를 쓰기 보다는 런타임 예외를 쓰고 런타임 예외에 대한 로그를 남기고 개발자가 해당 오류를 빠르게 인지하는 것이 필요하다...

Spring/Spring 2022.08.04

면접 준비 : CheckedException, UnchekedException

Q. CheckedException과 UncheckedException에 대해서 설명해주세요. A. 둘의 차이는 RuntimeException을 상속하는가의 여부에 따라 다릅니다. RuntimeException을 상속하면 UncheckedException이 됩니다. CheckedException은 예외가 발생 했을 경우 반드시 try / catch로 해결해야 하는 예외입니다. 처리하지 못하는 경우에는 throws를 통해 밖으로 던져야 합니다. UncheckedException은 말 그대로 컴파일러가 예외를 체크하지 않겠다는 의미입니다. 체크 예외와는 다르게 예외를 반드시 처리하지 않아도 되고 throws를 통해 밖으로 던지는 것 또한 생략해도 됩니다. 꼬리질문 Q. CheckedException, Unc..

CheckedException, UncheckedException

자바의 예외는 크게 3가지로 나눌 수 있다. 체크 예외 (CheckedException) 언체크 예외 (UncheckedException) 에러 (Error) 자바에서 에러, 예외와 관련된 클래스들의 계층구조는 위와 같다. Throwable 클래스를 기준으로 Error, Exception 클래스로 나뉘어진다. 왼쪽에 보이는 Error는 말 그대로 에러와 관련된 클래스이다. 그리고 오른쪽에 보이는 Exception도 말 그대로 예외와 관련된 클래스이다. 자바에서 실행 시(Runtime) 발생할 수 있는 프로그램 오류를 에러와 예외 두가지로 구분하였다. Error란? 에러는 시스템에 비정상적인 상황이 발생했을 경우에 발생한다. 대표적으로 OOME로 많이 알려진 OutOfMemoryError나 StackOve..

Java 2022.08.04