일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- annotation
- 자바스크립트
- 성능최적화
- 스프링
- 비전공자
- 인텔리제이
- 가비지 컬렉터
- 스프링부트
- 자바
- 어노테이션
- 카카오로그인
- javascript
- SpringBoot
- 앱출시
- 캐싱
- spring
- 스프링 빈
- 인터셉터
- 신입면접
- 개발자
- IntelliJ
- js
- 원격인터뷰
- jvm
- JPA
- 개발자 면접
- 개발
- 인텔리제이 플러그인
- Java
- 가비지 컬렉션
- Today
- Total
목록분류 전체보기 (40)
우당탕탕
ControllerAdvice와 ExceptionHandler에 대해 @ExceptionHandler란? @ExceptionHandler란 Bean에서 발생하는 예외를 잡아 하나의 메서드에서 처리해주는 어노테이션이다. ExceptionHandler 어노테이션에 설정한 예외가 발생한다면 해당 handler가 작동하며 어노테이션 옆에 value 값을 줘서 캐치할 예외를 설정해 줄 수 있다. ( 여러 예외를 한 곳에 넣을 수도 있다 ) 해당 내용은 아래의 코드를 통해 확인해보자 @RestController public class ExceptionController { // 한개만 설정할 경우 @ExceptionHandler(NullPointerException.class) public String allExc..
BF캐시(bfcache) BF캐시 (Back Forward Cache) bf캐시란 브라우저에서 발생하는 최적화 기능으로 브라우저의 뒤로 가기 버튼, 앞으로 가기 버튼을 눌렀을 때 화면을 바로 보여주는 역할을 한다. bf캐시는 자바스크립트를 포함하여 페이지 전체를 캐시로 저장해버리는 기능을 가진다. 이러한 기능은 화면을 빠르게 보여줄 수 있는 기능을 제공하지만, js가 다시 로드되어 동작을 해야 하는 페이지에서는 문제가 발생한다. 이를 해결하기 위해서는 아래와 같은 방법들이 존재한다. 1. html로 브라우저 캐시를 초기화하는 방법 head사이에 meta태그를 추가하여 해결하는 방법이다. # 지정일까지 캐싱 비활성화 # 캐시된 페이지를 삭제하는 시간 # 캐시 비활성화 HTTP 1.0 # 캐시 비활성화 HT..
람다식이란? 나는 처음 시작한 프로젝트가 금융권 프로젝트라 자바 7 버전으로 처음 프로젝트를 시작했었다. 이후 현재는 자바 11을 사용하는 프로젝트를 진행하면서 자바 8 이후 도입된 stream과 람다를 사용하다 보니 편해서 작성하게 되었다. 람다란? Java8 버전 이후에 추가된 기능으로 따지면 메서드를 하나의 식으로 표현한 것이다. 아래 예시 코드를 살펴보자 int num = 10; Runnable runnable = new Runnable() { @Override public void run() { System.out.println("number: " + num); } }; runnable.run(); 보통 람다 설명에서 자주 사용하는 Runnable 코드이다. 이를 람다로 사용하면 아래와 같이 적..
',"와 `의 차이 자바스크립트 코드를 보다 보면 따옴표와 백틱을 많이 보게 된다. 따옴표 하고 백틱을 언제 사용해야 하고 차이는 무엇일까? 보통 스트링(String) 값을 선언할 때 따옴표를 아래와 같이 많이 쓴다. ( 백틱은 숫자 1번 왼쪽 물결 표시 키이다 ) // 큰 따옴표 let temp = "Hello World" // 작은 따옴표 let temp2 = 'Hello World' // 백틱 let temp3 = `Hello World` 위의 코드에서는 큰 따옴표, 작은따옴표로 스트링 값을 선언한 것인데 JS에서는 차이가 없다. 그럼 `(backtick)백틱은 차이가 있을까? 백틱 백틱의 경우 ${}를 통해 변수를 넣어 사용할 수 있는데 이를 템플릿 리터럴이라 부른다. ( ES6 이후 ) 한번 아..
리눅스 서버가 죽었다... 뭘 해야 할까? 만약 운영하던 서버에서 갑자기 문제가 터졌을 때 어떻게 처리할 것인가? 서버에서 문제가 생겼을 경우에는 일단 서버의 상태를 체크해야 하는데 이에 대한 서버 체크리스트에 대해 작성해보려 한다. 먼저 해당 서버의 터미널로 접속해야 한다. 접속을 했다면 이제 상태를 한번 살펴보자 1. CPU 상태 확인 현재 서버가 어떤 이유 때문에 오류가 발생했는지 찾기 위해 먼저 CPU 상태를 확인한다. top 명령어를 통해 실행 중인 프로세스가 CPU 점유를 너무 많이 하고 있지는 않은지 확인하고 처리한다. $ top 2. 메모리 상태 확인 [Linux/Ubuntu] 리눅스/우분투 스왑 파일(Swapfile) 생성에서도 설명하였지만 메모리가 부족하면 서버가 멈춘다. 이를 해결하기..
스왑 파일 생성 이번 포스팅은 AWS EC2 프리티어에서 메모리 부족 현상을 해결하는 방법에 대해 적어보려 한다. SpringBoot 프로젝트를 만들어서 EC2에 젠킨스를 배포 자동화를 시도할 때 EC2가 멈추는 현상을 발견하였고 가끔 젠킨스를 통하지 않고 그냥 적어도 멈추는 현상이 발견했었다. ( EC2의 프리티어 메모리는 1GB ) 스왑 파일(Swapfile) 메모리를 늘리는 방법 중 제일 쉬운 방법은 돈을 내고 더 좋은 서버를 쓰면 된다. ( 우린 돈이 없으니 다른 걸 찾아보자 ) 리눅스에서는 스와핑(Swapping)이라는 게 존재하는데 이는 하드디스크를 가상 메모리로 전환시켜 사용하는 방식이다. AWS에서는 스왑 공간 크기 계산을 아래와 같이 권장한다 최대 2GB의 RAM에 대해 스왑 공간은 RA..