목록분류 전체보기 (96)
우당탕탕
static변수와 메모리에 대해 1. static 키워드 자바를 사용하다 보면 static 키워드가 붙은 함수나 변수를 만들어 본 적이 있을 것이다. 오늘은 이 static 키워드를 메모리 관점에서 얘기해보려 한다. 일반적으로 아래와 같은 코드처럼 new를 사용하여 생성한 객체는 메모리의 Heap 영역에 생성되며, static 키워드로 만들어진 변수는 static 영역에 할당된다. static 키워드를 사용하게 되면 메모리에 처음 한번 생성되며, 프로그램이 종료될 때 사라지게 된다. ( 우리가 만드는 class들도 static영역에 한번 생성된다 ) public class Something { public static String some(){ return ""; } } Something somethin..

IntelliJ Plugin 오늘은 내가 쓰고 있는 IntelliJ의 플러그인들에 대해 추천해보려 한다. ( 나중에 나도 다시 환경설정을 할때 다운로드하기 위해.. ) 아래 추천하는 플러그인들 중에서 유용하다고 생각하는 것들만 다운로드하여서 써보면 좋을 거 같다. 1. CodeGlance Pro 개발을 하다 보면 마우스 휠이나 터치패드로 내리기 귀찮을 정도로 긴 코드를 볼 때가 존재한다. 이럴 때 이 플러그인을 사용하게 되면 아래 사진의 화살표와 같이 코드를 축약해서 보여준다. 마우스로 클릭 한 번이면 해당 위치로 이동이 가능하게 된다. 가끔 프로젝트를 하다 보면 엄청 긴 코드를 보게 되는데 이때 유용하게 사용하고 있다. 2. GitToolBox 이 플러그인은 인텔리제이 왼쪽 프로젝트 창에서 현재 브랜치..
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 이후 ) 한번 아..