-
클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 02 5장
객체지향 프로그래밍 - 좋은 아키텍처를 만드는 일은 객체지향 설계 원칙을 이해하고 응요 하는데서 출발한다 OOP(object-oriented : OO)란? 다형성을 이용하여 전체 시스템의 모든 소스코드 의존성에 대한 절대적인 제어 권한을 획득할 수 있는 능력이다. OO를 사용하면 플러그인 아키텍처를 구성할 수 있고 이를 통해 고수준의 정책을 포함하는 모듈은 저수준의 세부사항을 포함 하는 모듈에 대해 독립성을 보장할수 있다.
2022.06.05
-
클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 02 4장
구조적 프로그래밍 데이스크트라에 의해 등장 증명 (proof) 데이스크트라는 유클리드 계층구조를 만드는 것을 비전으로 설정하고 프로그래머는 입증된 구조를 이용, 이들 구조를 코드와 결합하여 코드가 올바르다는 것을 증명하겠을 목표로 하였다. 연구 중에 goto문이 모듈을 더 작은 단위 재귀적 분해하는 과정에서 방해가 되는 경우와 그렇지 않은 경우를 발견하고 그중 방해가 되지 않는 좋은 경우인 if/then/else, do/while 같은 분기와 반복이라는 단순 제어 구조만 사용하는 모듈이라면 증명 가능한 단위까지 세분화될 것이라 생각했다 이는 2년 앞서 발견된 뵘, 야코 피니가 증명한 모든 프로그램은 순차, 분기, 반복의 제어구조와 동일했고 모듈의 증명을 가능하게 했다. 이로써 구조적 프로그래밍이 탄생하게..
2022.06.05
-
kotlin in action 03 (3.5~3.7)
3.5 문자열과 정규식 다루기 코틀린의 문자열은 자바의 문자열과 같다 코틀린 코드의 문자열을 자바 메서드에, 자바 문자열을 코틀린 표준 라이브러리 메서드에 넘겨도 호환 3.5.1 문자열 나누기 split 메서드 자바에서는 String.split(".") 문자열을 메서드에 받음 코틀린에서는 정규식(Regex) 값을 받음 자바와 달리 코틀린은 확장 함수로 여러 개의 문자열을 받을 수 있다. fun main() { println("12.345-6.A".split("\\.|-".toRegex())) println("12.345-6.A".split(".","-")) //delimeters multiple } >>>>>>>>>>> [12, 345, 6, A] [12, 345, 6, A] 3.5.2 정규식과 3중 따..
2022.03.01
-
kotlin in action 03 (3.4)
3.4 컬렉션 처리: 가변 길이인자, 중위 함수 호출, 라이브러리 지원 컬렉션 처리시 코틀린의 특성 vararg 키워드를 사용하면 호출 시 인자 개수가 달라질 수 있는 함수를 정의할 수 있다. 중위(infix)함수 호출 구문을 사용하면 인자가 하나뿐인 메소드를 간편하게 호출할 수 있다. 구조 분해 선언 (destructuring declaration)을 사용하면 복합적인 값을 분해해서 여러변수에 담을 수 있다. 3.4.1 자바 컬렉션 API확장 코틀린은 확장함수로 자바 컬렉션 API를 확장한다 코틀린 표준 라이브러리에는 수 많은 확장함수를 이미 가지고 있다 3.4.2 가변 인자 함수 : 인자의 개수가 달라질 수 있는 함수 정의 가변길이 인자 메소드를 호출할 때 원하는 개수만큼 값을 인자로 넘기면 자바 컴..
2022.02.28
-
[관악산]- 2022 새해맞이 등산
2022년 설 방에서만 뒹굴기엔 안될거같아 가본 관악산 오를땐 좋았으나 내려올때 길선택을 잘못해서 완전고생... 바위산이라 험하니 다들 등산화꼭 신고 가시길 바랍니다.
2022.02.18