JetBrains에서 제공하는 IDE에서 ESLint의 설정된 룰에 맞게 자동으로 보정해주는 ESLint autofix 기능을 제공합니다. IntelliJ 혹은 WebStrom에서 사용할 수 있습니다.ESLint 경고가 뜨는 곳에서 ALT + ENTER 키를 누르면 다음과 같은 화면이 뜹니다.그리고 ESLint: Fix current file 을 눌러주면 끝입니다.그러면 다음과 같이 설정에 맞게 알아서 수정이 됩니다. 참고로 WebStrom은 2016.3 버전 이상에서만 기본으로 탑재되어 있다고 합니다.WebStrom 2016.3 이하의 버전에서 ESLint autofix 기능을 사용하고 싶으면 다음의 링크를 통해 설정하시면 됩니다.https://blog.jetbrains.com/webstorm/2016..
이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 제네릭화(genericfication)로 혜택을 보는 것은 클래스뿐만 아니다. 메서드도 혜택을 본다. static 유틸리티 메서드는 특히 제네릭화하기 좋은 후보다. // 무인자 자료형 사용 - 권할 수 없는 방법(규칙23) public static Set union(Set s1, Set s2) { Set result = new HashSet(s1); result.addAll(s2); return result; } 형인자를 선언하는 형인자 목록(type parameter list)은 메서드의 수정자(modifier)와 반환값 자료형 사이에 둔다. //..
이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 제네릭 자료형을 직접 만드는 것은 까다로운데, 배워둘 만한 가치는 있다. // Object를 사용한 컬렉션 - 제네릭을 적용할 중요 후보 public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapa..
이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 배열은 제네릭 자료형과 두 가지 중요한 차이점을 갖고 있다. 1. 배열은 공변 자료형(convariant)인 반면, 제네릭은 불변 자료형(invariant)이다 Sub가 Super의 하위 자료형(subtype)이면 Sub[]도 Super[]의 하위 자료형이다. // 실행 중에 문제를 일으킴 Object[] objectArray = new Long[1]; objectArray[0] = "I don't fit in" // ArrayStoreException 예외 발생 Type1과 Type2가 있을 때, List은 List의 상위 자료형이나 하위 자료형이..
이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 제네릭으로 프로그램하다 보면 많은 컴파일러 경고 메시지를 보게 된다. 무점검 형변환 경고(unchecked cast warning), 무점검 메서드 호출 경고(unchecked method invocation warning), 무점검 제네릭 배열 생성 경고(unchecked generic array creation warning), 그리고 무점검 변환 경고(unchecked conversion warning) 등이 있다.코드의 형 안전성(typesafe) 보장을 위해 모든 무점검 경고는, 가능하다면 없애야 한다. 제거할 수 없는 경고 메시지는 형 안..
JSTL 태그를 통해 JSP 페이지에서 반복, 상태제어, 국제화(i18n), SQL 등을 사용할 수 있습니다. 하지만 때로는 이것들이 충분하지 않기 때문에 JSP페이지에서 약간의 작업을 수행하기 위해 자바스크립트를 쓰려는 유혹에 빠질 수 있습니다. 다행히도 JSP는 확장 가능하며 특정 작업을 수행할 수 있도록 고유한 사용자 지정 태그를 생성할 수 있습니다. JSP 커스텀 태그 (JSP Custom Tag) 예를들어, 우리는 숫자가 콤마와 소수점 2번째 자리까지만 보여지도록 하고싶다고 가정합시다. 이는 숫자가 매우 길때 유용할 수 있습니다. 그래서 다음과 같은 커스텀 태그를 만들면 편하게 사용할 수 있을 것입니다. 위의 커스텀 태크를 통해 number에 입력된 숫자가 format 형식에 맞게 100,050..
이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 선언부에 형인자(type parameter)가 포함된 클래스나 인터페이스는 제네릭(generic) 클래스나 인터페이스라 부르고, 이 둘은 제네릭 자료형(generic type)이라 부른다.각 제네릭 자료형은 형인자 자료형(parameterized type) 집합을 정의한다. List는 원소 자료형이 String인 리스트를 나타내는 형인자 자료형이다.또한 각 제네릭 자료형은 무인자 자료형(raw type)을 정의할 수 도있다. List의 무인자 자료형은 List다. // 무인자 컬렉션 자료형 private final Collection stamps =..
이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 중첩 클래스(nested class)는 다른 클래스 안에 정의된 클래스다. 중첩 클래스에는 정적 멤버 클래스), 비-정적 멤버 클래스, 익명 클래스, 지역 클래스 이렇게 네 가지 종류가 있다. 첫 번째를 제외한 나머지는 전부 내부 클래스(inner class)다. 정적 멤버 클래스 (static member class) 바깥 클래스의 모든 멤버에(private로 선언된 것까지도) 접근할 수 있다 바깥 클래스의 정적 멤버이며, 다른 정적 멤버와 동일한 접근 권한 규칙(accessibility rule)을 따른다 바깥 클래스와 함께 사용할 때만 유용한 ..