Archive
Kotlin Clean Architecture
[Kotlin] Experimenting with Coroutines
[Android] Dependency Injection이란?
자바 어노테이션 ( Annotation )
보일러 플레이트 코드 ( Boilerplate code ) 란?
[Android] 종속성 주입 (Dependency injection)
[Android] 2018 Google IO - AndroidX - 새로운 패키지 정리
[Kotlin] SharedPreferences 데이터 공유
[Kotlin] Transformations와 MediatorLiveData를 이용한 Reactive 패턴
[Kotlin] Transformations로 LiveData 변형하기
[Kotlin] startactivity, putextra
[Kotlin] android DataBinding Library for kotlin
Viewmodel Example
ViewModels: Persistence, onSaveInstanceState(), Restoring UI State and Loaders
ViewModels and LiveData: Patterns + AntiPatterns
[Kotlin] MVVM AAC Databinding 사용법
OpenGrok 설치하기 (How to install OpenGrok)
[Kotlin] 자바를 알고 있어도 코틀린에서 막히는 부분
[Kotlin] 자바 개발자라면 코틀린 쉽게 배울 수 있다.
[Kotlin] Higher-Order-Function 이란 ?
[Kotlin] SAM(Single Abstract Method) 이란?
[Kotlin] 람다 (Lambda) 식
[Kotlin] Kotlin 프로그래밍 언어 알아보기
[Design Pattern] Facade
[Design Pattern] Decorator
[Design Pattern] Composite
[Design Pattern] Bridge
[Design Pattern] Adapter
[Design Pattern] Structural Design Patterns
[Design Pattern] Proxy
[Design Pattern] Flyweight
[Design Pattern] Visitor
[Design Pattern] Template Method
[Design Pattern] Strategy
[Design Pattern] State
[Design Pattern] Observer
[Design Pattern] Memento
[Design Pattern] Mediator
[Design Pattern] Iterator
[Design Pattern] Command
[Design Pattern] Chain of Responsibility
[Design Pattern] Behavioral Design Patterns
[Design Pattern] Singleton
[Design Pattern] Prototype
[Design Pattern] Builder
[Design Pattern] Factory Comparison
[Design Pattern] Abstract Factory
[Design Pattern] Factory Method
[Design Pattern] Creational Design Patterns
[Design Pattern] What’s a design pattern?
Object pool design pattern
추상 클래스(abstract class)와 인터페이스(interface) 비교
java 제네릭(Generic) 이란??
JVM 원리
StringBuffer, StringBuilder, String
Java equals()와 hashCode()에 대해
[자바성능튜닝이야기] 24. 애플리케이션에서 점검해야 할 대상들
[자바성능튜닝이야기] 23. 튜닝 절차는 그때그때 달라요.
[자바성능튜닝이야기] 20. 모니터링 API인 JMX
[자바성능튜닝이야기] 19. GC 튜닝을 항상 할 필요는 없다
[자바성능튜닝이야기] 18. GC가 어떻게 수행되고 있는지 보고 싶다
[자바성능튜닝이야기] 17. 도대체 GC는 언제 발생할까?
[자바성능튜닝이야기] 16. JVM은 도대체 어떻게 구동될까?
[자바성능튜닝이야기] 15. 안드로이드 개발하면서 이것만은 피하자
[자바성능튜닝이야기] 14. 서버를 어떻게 세팅해야 할까?
[자바성능튜닝이야기] 12. DB를 사용하면서 발생 가능한 문제점들
[자바성능튜닝이야기] 11. JSP와 서블릿, Spring에서 발생할 수 있는 여러 문제점
[자바성능튜닝이야기] 10. 로그는 반드시 필요한 내용만 찍자
[자바성능튜닝이야기] 9. IO에서 발생하는 병목 현상
[자바성능튜닝이야기] 8. synchronized는 제대로 알고 써야 한다
[자바성능튜닝이야기] 7. 클래스 정보, 어떻게 알아낼 수 있나?
[자바성능튜닝이야기] 6. static 제대로 한번 써 보자
[자바성능튜닝이야기] 4. 어디에 담아야 하는지…
[자바성능튜닝이야기] 3. 자꾸 String을 쓰지 말라는 거야
[자바성능튜닝이야기] 2. 내가 만든 프로그램의 속도를 알고 싶다.
[자바성능튜닝이야기] 1. 디자인 패턴 꼭 써야 한다
아이템 78. 직렬화된 객체 대신 직렬화 프락시를 고려해 보라.
아이템 77. 개체 통제가 필요하다면 readResolve 대신 enum 자료형을 이용하라.
아이템 76. readObject 메서드는 방어적으로 구현하라
아이템 75. 사용자 지정 직렬화 형식을 사용하면 좋을지 따져 보자.
아이템 74. Serializable 인터페이스를 구현할 때는 신중하라
아이템 73. 스레드 그룹은 피하라.
아이템 72. 스레드 스케줄러에 의존하지 마라.
아이템 71. 초기화 지연은 신중하게 하라.
아이템 70. 스레드 안정성에 대해 문서로 남겨라
아이템 69. wait나 notify 대신 병렬성 유틸리티를 이용하라.
아이템 68. 스레드보다는 실행자와 태스크를 이용하라
아이템 67. 과도한 동기화는 피하라.
아이템 66. 변경 가능 공유 데이터에 대한 접근은 동기화하라
아이템 64. 실패 원자성 달성을 위해 노력하라.
아이템 63. 어떤 오류인지를 드러내는 정보를 상세한 메시지에 담아라.
아이템 61. 추상화 수주에 맞는 예외를 던저라.
아이템 60. 표준 예외를 사용하라.
아이템 58. 복구 가능 상태에는 점검지정 예외를 사용하고, 프로그래밍 오류에는 실행지점 예외를 이용하라.
아이템 57. 예외는 예외적 상황에만 사용하라.
아이템 56. 일반적으로 통용되는 작명 관습을 따르라
아이템 55. 신중하게 최적화하라.
아이템 54. 네이티브 메서드는 신중하게 사용하라
아이템 53. 리플렉션 대신 인터페이스를 이용하라.
아이템 52. 객체를 참조할 때는 그 인터페이스를 사용하라
아이템 49. 객체화 된 기본 자료형 대신 기본 자료형을 이용하라
아이템 48. 정확한 답이 필요하다면 float와 double은 피하라.
아이템 46. for 문보다는 for-each문을 사용하라.
아이템 44. 모든 API 요소에 문서화 주석을 달라.
아이템 41. 오버로딩할 때는 주의하라.
아이템 40. 메서드 시그니처는 신중하게 설계하라.
아이템 39. 필요하다면 방어적 복사본을 만들라.
아이템 37. 자료형을 정의할 때 표식 인터페이스를 사용하라.
아이템 35. 작명 패턴 대신 어노테이션을 사용하라.
아이템 34. 확장 가능한 enum을 만들어야 한다면 인터페이스를 이용하라.
아이템 33. ordinal을 배열 첨자로 사용하는 대신 EnumMap을 이용하라.
아이템 32. 비트필드(bit field)대신 EnumSet을 사용하라.
아이템 30. int 상수 대신 enum을 사용하라.
아이템 29. 형 안전 다형성 컨테이너를 쓰면 어떨지 따져보라
아이템 28. 한정된 와일드카드를 써서 API유연성을 높여라.
아이템 27. 가능하면 제네릭 메서드로 만들것
아이템 26. 가능하면 제네릭 자료형으로 만들것
아이템 25. 배열 대신 리스트를 써라.
아이템 24. 무점검 경고(unchecked warning)를 제거하라.
아이템 23. 새 코드에는 무인자 자료형(raw type)을 사용하지 마라.
아이템 22. 멤버 클래스는 가능하면 static으로 선언하라.
아이템 21. 전략을 표현하고 싶을 때는 함수 객체를 사용하라.
아이템 20. 태그 달린 클래스 대신 클래스 계층을 활용하라.
아이템 18. 추상 클래스 대신 인터페이스를 사용하라.
아이템 17. 계승을 위한 설계와 문서를 갖추거나, 그럴수 없다면 계승을 금지하라.
아이템 16. 계승하는 대신 구성하라.
아이템 15. 변경 가능성을 최소화 하라.
아이템 13. 클래스와 맴버의 접근 권한은 최소화 하라.
아이템 12. Comparable 구현을 고려하라.
아이템 11. clone을 재정의할 때는 신중하라.
아이템 10. toString은 항상 재정의하라.
아이템 9. equals를 재정의할 때는 반드시 hashCode도 재정의하라.
아이템 8. equals를 재정의할 때는 일반 규약을 따르라.
아이템 6. 유효기간이 지난 객체 참조는 폐기하라.
아이템 5. 불필요한 객체는 만들지 말라.
아이템 4. 객체 생성을 막을 때는 private생성자를 사용하라.
아이템 3. private 생성자나 enum자료형은 싱글턴 패턴을 따르도록 설계하라.
아이템 2. 생성자 인자가 많을 때는 Builder패턴 적용을 고려하자.
아이템 1. 생성자 대신 정적 팩터리 메소드를 사용할 수 없는지 생각해보라.
[programmers][hash] 완주하지 못한 선수
[programmers][hash] 전화번호 목록
[programmers][알고리즘][level2] 행렬의 곱셈
[programmers][알고리즘][level2] 2016년
[programmers][알고리즘][level2] 콜라츠 추측
[programmers][알고리즘][level2] 최소값 만들기
[programmers][알고리즘][level2] 소수 찾기
[programmers][알고리즘][level1] 최대공약수와 최소공배수
[programmers][알고리즘][level1] 행렬의 덧셈
[programmers][알고리즘][level1] 피보나치 수
[programmers][알고리즘][level1] 약수의 합
항목 3 : 낌새만 보이면 const를 들이대 보자!
항목 3 : 배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다
항목 2 : 가능한 c++ 스타일의 캐스트를 즐겨 쓰자
항목 1 : 포인터(pointer)와 참조자(reference)를 구분하자