매일읽기
-
[매일읽기] Functional Patterns in Java개발자 라이프/매일읽기 2020. 8. 5. 11:17
원문 : https://medium.com/better-programming/functional-patterns-in-java-b2b781f84124 Functional Patterns in Java How to use different design patterns with functional programming in Java medium.com 프로그래밍 패턴들 행위 패턴 (Behavioral pattern) 객체 간 일반적인 상호작용을 정의하는 패턴 strategy, visitor, chain of reponsibility, template method, observer, iterator 패턴 등 생성 패턴 (Creational pattern) 객체를 생성하는 메커니즘을 포함하는 패턴 factory..
-
[매일읽기] Understanding Java threads once and for all개발자 라이프/매일읽기 2020. 8. 4. 21:45
원문 : https://medium.com/swlh/understanding-java-threads-once-and-for-all-711f71e0ec1e Understanding Java threads once and for all Sometimes, we want to perform several tasks at the same time. The computer can do this by using Threads. You might be reading this post… medium.com 스레드(Thread) 큰 데이터를 서브 셋으로 쪼개 병렬로 처리할 때 스레드로 처리할 수 있음 CPU 프로세서 코어 수 등 하드웨어 스펙에 따라 스레드 성능이 영향을 받을 수 있음 만약 스레드 수가 코어 수보다 많다..
-
[매일읽기] Hexagonal Architecture in Java개발자 라이프/매일읽기 2020. 7. 30. 10:11
원문 : https://medium.com/swlh/hexagonal-architecture-in-java-b980bfc07366 Hexagonal Architecture in Java A practical example of the usage of the Hexagonal Architecture pattern in Java. medium.com Hexagonal architecture Alistair Cockburn 이 고안함 Adapter architecture 라고도 함 도메인 엔티티에 대한 관심사 분리가 목적 결합도가 감소하고 유연성 증가 Hexagonal architecuture 가 필요한 경우 UI 코드와 비지니스 로직 코드의 혼재 Layer 간 무분별한 의존성 Hexagonal 이라고 해서 ..
-
[매일읽기] 10 things you’re doing wrong in Java개발자 라이프/매일읽기 2020. 7. 29. 10:23
출처 : https://towardsdatascience.com/10-things-youre-doing-wrong-in-java-7608e2f050c7 10 things you’re doing wrong in Java The most common mistakes Java developers make towardsdatascience.com 1. 접근 제어자를 잘 모른다 특히 protected 접근 제어자에 대한 이해가 부족 동일 패키지에서의 접근 허용 하위 클래스에서의 접근 허용 2. equals() 메소드를 사용하지 않는다 '==' 비교 연산자 대신 equals() 메소드를 사용할 것을 권장 특히 참조 변수 비교 시, 더욱 equals() 권장 3. String 추가 조합 연산 '+' 를 이용해서 St..
-
[매일읽기] Mastering Kotlin standard functions: run, with, let, also and apply개발자 라이프/매일읽기 2020. 7. 27. 09:57
출처 : https://medium.com/mobile-app-development-publication/mastering-kotlin-standard-functions-run-with-let-also-and-apply-9cd334b0ef84 Mastering Kotlin standard functions: run, with, let, also and apply Some of the Kotlin’s standard functions are so similar that we are not sure which to use. Here I will introduce a simple way to clearly… medium.com 코틀린 strandard 함수 중 run, with, let, also, apply..
-
[매일읽기] Immutable classes in Java개발자 라이프/매일읽기 2020. 7. 26. 09:26
자바에서 불변 객체의 특징과 생성 방법을 알아본다 불변 객체의 특징 객체의 값(상태;state)가 변경되지 않는다. 변하지 않는 값으로 확신할 수 있으므로 개발 과정에서 안정적이다. 멀티 스레드 환경에서 안정적이다. VM 캐시 혹은 별도 구현 캐시에 쉽게 캐시하고 사용할 수 있다. equals() & hashCode() 가 구현된 상태에서 해시 컬랙션에 안정적으로 넣을 수 있다. 가변 객체에서 불변 객체 만드는 과정 No. 과정 취약점 1 setter를 제거하여 직접적인 변경을 막는다. 초기 데이터를 넣을 수 없다. 2 all args 생성자를 추가하여 데이터를 생성 초기에만 넣을 수 있도록 한다. 클래스 상속 후 데이터를 변경하는 메소드를 추가 구현하여 데이터를 변경한다. 3 final 클래스로 지정하..
-
[매일읽기] How to Write Clean Java Code개발자 라이프/매일읽기 2020. 7. 25. 10:14
자바 개발자를 위한 간단한 클린 코드 팁 1. 구조화 프로그램을 작성함에 있어서 클래스, 함수, 구조를 먼저 생각해볼 것 하나의 패키지에 너무 많은 클래스를 넣지 말고, 적절히 카테고라이징 할 것 잘 구조화되면 추후에 재구조화나 리팩토링 과정에서의 공수를 제거하거나 줄일 수 있음 2. 네이밍 클래스, 함수, 변수들의 이름은 그들 자신을 표현하는 것이므로 최대한 명시적으로 이름을 지정할 것 정확한 이름은 부수적인 설명을 줄일 수 있음 카멜 케이스는 기본 3. 클래스의 적절한 책임 분배 하나의 클래스는 그 클래스 목적에 맞는 책임만 가지도록 구성 너무 많은 책임을 가지는 클래스가 있다면 분해하거나 클래스 이름(목적)을 변경 하나의 책임을 가지는 하나의 클래스가 베스트 메소드는 하나의 문제만 해결. 4. 적절..