일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- flutter firestore
- kodility
- 안드로이드 구글맵
- livedata
- 안드로이드
- Kotlin
- FLUTTER
- Python
- dart
- android architecture component
- Android
- C++
- RxAndroid
- NDK
- 알고리즘
- C
- Android P
- Django REST
- mfc
- android push
- UWP
- Rxjava2
- Django REST Android
- C/C++
- 프로그래머스
- 코틀린
- Flutter TextField
- RxJava
- Django REST framework
- Java
- Today
- Total
목록2018/10/15 (4)
개발하는 두더지
[Effective Java 규칙41] 오버로딩할 때는 주의하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 아래는 컬렉션을 종류별로 (집합, 리스트, 다른 종류의 컬렉션) 분류하는 클래스이다.public class CollectionClassifier { public static String classify(Set s) { return "SET"; } public static String classify(List s) { return "LIST"; } public static String classify(Collection s) { return "UNKNOWN COLLECTION"; } public static void main(String[] ..
[Effective Java 규칙40] 메서드 시그니처는 신중하게 설계하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 이번 챕터는 알지만 잘 지켜지지 않는 내용인 것 같다. 메서드 이름은 신중하게 골라라.모든 이름은 네이밍 컨벤션을 따라야하고, 이해하기 쉬우면서도 같은 패키지 안의 다른 이름들과 일관성이 있어야 한다. 편의 메서드 ( convenience method ) 를 제공하는데 너무 힘쓰지 마라.모든 메서드는 맡은 일이 명확하고 거기에 충실해야 한다. 클래스에 메서드가 너무 많으면 학습, 사용, 테스트, 유지보수 등의 모든 측면에서 어렵다. 인터페이스의 경우에는 메서드가 많으면 문제가 두 배는 더 심각하다. 구현하는 사람에게도, 사용자에게..
[Effective Java 규칙39] 필요하다면 방어적 복사본을 만들라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 자바는 C나 C++보다 안전한 언어이다. 하지만 안전한 언어라도 시스템의 보안을 무너뜨리려는 악의적 사용자나 실수로 API를 이상하게 사용하는 프로그래머가 있을 수 있기때문에 방어적으로 복사하는 코드로 만들어야 한다. public final class Period { private final Date start; private final Date end; public Period(Date start, Date end) { if(start.compareTo(end) > 0) throw new IllegalArgumentExceptio..
[Effective Java 규칙37] 자료형을 정의할 때 표식 인터페이스를 사용하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 표식 인터페이스 ( Marker Interface ) 는 아무 메서드도 선언하지 않는 인터페이스다. 클래스를 만들 때 표식 인터페이스를 구현한다는 것은, 해당 클래스가 어떤 속성을 만족한다는 것을 표시하는 것과 같다. 대표적인 예로 Serializable 인터페이스가 그 예다. package java.io; public interface Serializable { }Serializable 인터페이스를 구현하는 클래스는 해당 클래스로 만든 객체들은 직렬화할 수 있다는 뜻이다. 표식 어노테이션 ( Marker Annotat..