본문 바로가기

전체 글

(60)
2. 코틀린 기초 줄 끝에 세미콜론을 부팅지 않아도 됨 예외 : enum 클래스 안에 메소드를 정의하는 경우 반드시 enum 상수 목록과 메소드 정의 사이에 세미콜론을 넣어야 함 2.1 기본 요소: 함수와 변수 변수 초기화 할 경우 타입 생략 가능 초기화 식을 사용하지 않고 변수를 선언할 경우 변수 타입을 반드시 명시해야 함 val 변경 불가능한 참조를 저장함 블록을 실행할 때 정확히 한 번만 초기화 되어야 함 어떤 블록이 실행될 때 오직 한 초기화 문장만 실행됨을 컴파일러가 확인할 수 있다면 조건에 따라 다른 여러 값으로 초기화 할 수 있음 val message: String if (canPerformOperation()) { message = "Success" } else { message = "Failed" } va..
1. 코틀린이란 무엇이며, 왜 필요한가? 코틀린Kotlin이란? 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어 주 목적 : 현재 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며 안전한 대체 언어를 제공하는 것 간결하고 실용적 자바 코드와의 상호운용성을 중시함 자바에서 대체할 수 있음 기존 자바 라이브러리나 프레임워크와 함께 잘 작동하며 성능도 자바와 같은 수준임 사용 영역 서버 상의 코드 안드로이드 디바이스에서 실행되는 모바일 애플리케이션 코틀린 실행해보기 > https://play.kotlinlang.org/ data class Person(val name: String, val age: Int? = null) fun main (args: Array) { // 함수를 최상위 수준에 정의할 수 있어 꼭 클래스 안에 함수를..
16. SerialDate 리팩터링 JCommon 라이브러리의 SerailDate 클래스 코드 커버리지 분석 도구 클로버Clover를 사용하면 단위테스트가 실행하는 코드와 실행하지 않는 코드를 조사할 수 있다.
15. JUnit 들여다보기 회고 지금 저자만 신난 것 같은데..
14. 점진적인 개선 깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다. 코드에 개선이 필요할 때 코드 구조를 유지보수하기 좋은 상태로 만들려면 기능 추가를 밀어붙이지 말고 당장 리팩토링을 시작해야 한다. 프로그램을 망치는 가장 좋은 방법 중 하나는 개선이라는 이름 아래 구조를 크게 뒤집는 행위이다. 변경 후에도 시스템이 변경 전과 똑같이 돌아가야 하므로 테스트 주도 개발 Test-Driven Development, TDD 를 사용해야 한다. 지저분한 소스를 점진적으로 고치며 테스트를 반복해 시스템을 망가뜨리지 않았는지 확인해야 한다.
intellij/ 테스트 실행을 눌렀더니 안된단다...의 해결법 오류 문구 package org.junit.jupiter.api does not exist import org.junit.jupiter.api.Test 해결 방법  Mac ? IntelliJ IDEA > Preferences... Windows ? settings... Build, Execution, Deployment > Build Tools > Gradle Gradle projects > "Build and run using:", "Run Test using:" 두 값의 선택값을 "IntelliJ IDEA"로 변경
13. 동시성 동시성은 결합을 없애는 전략이다. 즉, 무엇과 언제를 분리하는 전략이다. 동시성 동시성은 때로 성능을 높여준다. 동시성을 구현하면 설계가 판이하게 달라진다. 컨테이너가 어떻게 동작하는지, 어떻게 동시 수정, 데드락 등과 같은 문제를 피할 수 있는지 알아야 한다. 다소 부하를 유발한다. 복잡하다. 동시성 버그는 재현하기 어렵다. 동시성 방어 원칙 단일 책임 원칙 Single Responsibility Principle, SRP : 주어진 메서드/클래스/컴포넌트를 변경할 이유가 하나여야 한다는 원칙 동시성을 구현할 때 고려해야 하는 것 동시성 코드는 독자적인 개발, 변경, 조율 주기가 있다. 동시성 코드에는 독자적인 난관이 있다. 잘못 구현한 동시성 코드는 별의별 방식으로 실패한다. 자료 범위를 제한하라. ..
12. 창발성 창발적 설계 1. 모든 테스트를 실행하라. 시스템은 설계한 의도대로 돌아가야 하며 이를 검증할 테스트가 가능한 시스템이어야 한다. 2. 중복을 없애라. 깔끔한 시스템을 만들려면 단 몇줄이라도 중복을 제거하겠다는 의지가 필요하다. 표현하라. 코드는 개발자의 의도를 분명히 표현해야 한다. 좋은 이름을 선택한다. 함수와 클래스 크기를 가능한 줄인다. 표준 명칭을 사용한다. 단위 테스트 케이스를 꼼꼼히 작성한다. 클래스와 메서드 수를 최소로 줄여라. 하지만 이건 우선순위가 낮다. 리팩토링 하라. SRP 참고 > https://sjh836.tistory.com/159