static factory method클래스를 통해 객체를 만드는 일반적인 방법은 public으로 선언된 생성자(constructor)를 이용하는 것이다. 그러나 모든 프로그래머가 반드시 알고 있어야 하는 방법이 하나 더 있다. 클래스에 public으로 선언된 정적 팩터리 메서드(static factory method)를 추가하는 것이다.정적 팩터리 메서드(static factory method)는 디자인 패턴 중 팩터리 메서드 개념(Factory Method)과 다르다는 점에 유의하자. public static Boolean valueOf(boolean b) {return b ? Boolean.TRUE : Boolean.FALSE;}위 코드는 실제 Boolean class의 method이다. 장점이름이..
모든 개발자가 알면서도 지키지 않는 것이 있다. 바로 문자열 관련 부분이다. String 클래스는 잘 사용하면 상관이 없지만, 잘못 사용하면 메모리에 많은 영향을 준다.String이 GC에 영향을 주는 것은 확실하다. 하지만, 이것만 고친다고 메모리가 효율적으로 사용된다는 것은 아니다. 성능 개선에 있어 작은 부분이지만 기본적인 성능 개선부터 유념하자는 의미이다. StringBuffer 클래스와 StringBuilder 클래스문자열을 만드는 클래스는 String, StringBuffer, StringBuilder가 가장 많이 사용된다. StringBuffer 클래스는 JDK 5.0에서 새로 추가되었다. StringBuffer 클래스나 StringBuilder 클래스가 제공하는 메서드와 동일하다. 차이점은..
시스템의 성능이 느릴 때 가장 먼저 해야 하는 작업은 병목 지점을 파악하는 것이다. System 클래스자바를 처음 배울 때부터 아무 생각 없이 쓰는 클래스가 있다. 다름 아닌 System 클래스다. 모든 System 클래스의 메서드는 static으로 되어 있고, 그 안에서 생성된 in, out, err와 같은 객체들도 static으로 선언되어 있으며, 생성자(Constructor)도 없다.System 클래스에서 알아두면 매우 유용한 메서드에는 어떤 것들이 있는지 알아보자.자바의 JVM에서 사용할 수 있는 설정은 크게 두 가지로 나뉜다. 하나는 속성(Property) 값이고, 다른 하나는 환경(Environment) 값이다. 속성은 JVM에서 지정된 값 들이고, 환경은 장비(서버)에 지정되어 있는 값 들이..
J2EE 디자인 패턴에 대해 간단히 알아보자.위 그림은 사용자의 요청에 처리되는 순서로 생각하면서 위에서부터 아래로 보면 된다. 가장 윗부분은 프레젠테이션 티어이고, 중간 부분은 비즈니스 티어, 하단 부분은 인테그레이션 티어다. 위로 갈수록 화면에 가깝고, 아래로 갈수록 DB와 같은 저장소에 가깝다. Intercepting Filter 패턴요청 타입에 따라 다른 처리를 하기 위한 패턴이다.Front Controller 패턴요청 전후에 처리하기 위한 컨트롤러를 지정하는 패턴이다.View Helper 패턴프레젠테이션 로직과 상관 없는 비즈니스 로직을 헬퍼로 지정하는 패턴이다.Composite View 패턴최소 단위의 하위 컴포넌트를 분리하여 화면을 구성하는 패턴이다.Service to Worker 패턴Fro..
Event Bubbling 자바스크립트에는 Event Bubbling이라는 개념이 있다. 이것은 한 자식 요소에서 이벤트가 발생했을 때 부모 요소에 이벤트를 전파하는 것을 의미하여 Event Bubbling이라고 말한다. 다음 예제 코드를 보자. HTML Click me to check JavaScript $('.parent').on('click', function() { ('#checkbox').prop('checked', false); }); $('.child').on('click', function() { $('#checkbox').prop('checked', true); }); .parent 클래스가 .child 클래스 버튼을 가지고 있으며 부모와 자식 요소에 같은 click 이벤트가 바인딩 되었..
아래 글은 Top 10 Mistakes Java Developers Make 번역본이며 일부 첨언을 하였다. 4. Hashtable VS HashMap Map 인터페이스에 HashMap, TreeMap, Hashtable, LinkedHashMap이 정의되어 있다. Hashtable은 알고리즘 규칙에 의한 자료구조 이름이다. 그러나 자바(Java)에서는 HashMap으로 정의되었다. Hashtable과 HashMap의 주요 차이점 중 하나는 Hashtable은 동기화(synchronized)가 된다는 것이다. HashMap : Hashtable로 구현되었으며, key 또는 value에 대한 정렬은 없다. TreeMap : red-black tree(이진트리의 특수한 형태) 구조를 기반으로 구현되었으며 키..
아래 글은 Top 10 Mistakes Java Developers Make 번역본이며 일부 첨언을 하였다. 1. Convert Array to ArrayList 개발을 하다 보면 배열을 ArrayList로 변환이 필요할 때가 있다. 대부분의 개발자분들이 아주 자연스럽게 아래와 같이 사용을 한다. java.util에는 Arrays 클래스가 존재하며 Array.asList는 배열을 리스트로 반환해 주기 때문이다. List list = Arrays.asList(arr); Arrays.asList 이 메소드는 손 쉽게 배열을 컬렉션 관련 유틸을 사용해 캐스팅하여 사용할수는 있지만 제약사항이 있다. Java API 문서를 참조하면 다음과 같은 설명이 있다. Returns a fixed-size list back..
JavaScript 동치 비교 == , === 차이점 JavaScript에는 다른 언어와는 다르게 === 연산이 존재한다. 다른 언어들을 먼저 접하고 실무를 하게 된다면 자연스럽게 JavaScript에서도 == 연산을 대부분 먼저 사용하게 된다. 이런 이유로 대부분의 개발자 들이 무심코 == 연산으로 주로 비교 조건절을 사용하는 경우가 많다. 동치 비교 차이점을 파악해서 일치 연산자를 사용하도록 하자. == 동등 연산자(Equal Operator) 동등 연산자는 피연산자들이 서로 타입이 다르면 같은 타입으로 변환을 한다. 그다음 strict 비교를 적용한다. 두 피연사자가 둘 다 객체라면, 자바스크립트가 메모리의 같은 객체를 참조할 때 내부 내용을 비교하며, 메모리의 같은 객체를 가르킨다면 두 객체를 같..
- 개발환경
- React
- spring
- 오라클 내장 함수
- 자바스크립트
- Tomcat
- effective java
- Collection
- javascript
- 프로그래머
- Java
- SQL
- 경력관리
- Maven
- 리액트
- 성능분석
- 리눅스 명령어
- Eclipse
- 이직
- 회고
- 오라클
- 자바
- Linux 명령어
- 리액트 16
- 프로그래머스
- 정렬 알고리즘
- 제주도 여행
- 제주도 3박4일 일정
- sort algorithm
- 소프트웨어공학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |