본문 바로가기
728x90

차이6

Test Double (테스트 더블) Test Double 테스트가 어려운 객체를 테스트할 수 있게 해주는 객체 (ex. 데이터베이스에 영향을 주고 받는 경우.) 스턴트맨(정식명칙: 스턴트더블)에서 비롯된 이름. 크게 Dummy,Fake,Stub,Spy,Mock이 있다. 예제 코드 (kotlin) Dummy 테스트하고자 하는 객체의 생성을 위해 인스턴스화 하고 전달되는 객체. 실제 사용되지 않는 객체. Dummy 객체의 메서드가 호출되었을 때 정상 동작은 보장하지 않는다. 예제 코드) ExUserRepository 객체에서 User id를 사용해 User를 검색하는 기능을 테스트할 경우. ExUserRepository 객체를 인스턴스화 하기 위해 FailLogger를 생성자로 필요로 한다. 성공을 가정한 테스트기에 FailLogger가 호출.. 2023. 6. 19.
Kotlin에서의 프로퍼티, Java에서의 필드와 프로퍼티 서론 자바에서는 클래스의 속성이나 상태를 나타낼 때 주로 필드와 프로퍼티라는 두 가지 용어를 사용합니다. 코틀린에서는 클래스의 속성과 상태를 나타낼 때 프로퍼티라는 용어만 사용합니다. 그렇다면 Java에서의 필드와 프로퍼티, Kotlin에서의 프로퍼티는 어떤 차이가 있는 걸까요? 우선 자바의 필드와 프로퍼티를 살펴 보겠습니다. Java의 field와 property field: 자신이 속한 클래스의 내부 변수. (속성 및 상태) property: 클래스의 내부 변수(필드)에 대해 접근자(getter/setter)를 사용해 접근하는 것. 필드와 접근자를 통틀어 가리키는 용어. 필드는 외부에서 직접 접근이 가능합니다. 그러나 클래스 밖에서 직접 접근은 권장되지 않습니다. 즉, 접근자를 사용하는 프로퍼티 사용.. 2023. 4. 10.
Kotlin 에서의 원시값 포장과 그에 적합한 클래스 선택하기 서론 원시값들을 모두 포장하다보니 클래스 외부에서 비교를 할 때 아래와 같이 코드가 길어지고 복잡해지는 경우가 많았다. 예제) 로또의 번호들이 중복되었는지 검사하는 코드 require(numbers.size == numbers.distinctBy { it.number }.size) { LOTTERY_NUMBERS_DUPLICATE_ERROR } 따라서, 외부에서 사용시 복잡해지지 않도록 equals를 override하였다. 두 객체를 비교할 때 객체의 주소가 아닌 객체의 내부 변수를 이용해 비교를 하도록 하였다. 하지만 이렇게 원시값을 포장할 때는 class 보다는 data class가 더 적절할 수 있다. 때에 따라서는 value class가 더 적절할 수도 있다. class, data class, v.. 2023. 4. 8.
Parameter, Argument, Element 아래의 C++ 코드와 함께 설명하겠습니다 :) 1 | int add(int a, int b) { 2 | return a + b; 3 | } 4 | 5 | int main() { 6 | int arr[] = {3, 4, 5,}; 7 | 8 | cout 2022. 5. 21.
PM과 PMO PM (Project Manager) 업무: 이름 그대로, 짐작하는 그대로. 프로젝트의 기획, 체계화, 운영, 예산 수립 등과 같은 소소한 요인 컨트롤 여러 프로젝트를 함께 관리할 때 프로그램 매니저라고 하기도 한다. PMO (Project Management Office) 도입 목적: 12~13년도쯤, 공공 정보화사업의 대기업 참여 제한으로 중소기업 중심으로 전환되며 품질 확보를 위해 도입. (소프트웨어 진흥법 제48조 2항) 유래: 1950년대 미국 육군ᆞ공군에서 대규모 IT사업 추진 시 사업자와 공동으로 PO(Project Office)를 구성한 것이 효시. 업무: 사업관리 수행 전문가가 기획·분석, 일정관리, 위험관리, 품질관리 등 사업기획부터 사업 후 지원 등. 발주기관의 의사결정을 지원 PM과.. 2022. 4. 1.
[kotlin] collection (List, Set, Map) kotlinlang.org/docs/reference/collections-overview.html Collections Overview - Kotlin Programming Language kotlinlang.org 우선, list, set, map세 녀석은 기본적으로는 오직 참조만할 수 있는, 즉 수정할 수 없는 immutable의 속성을 가지고 있습니다. 그러나 mutable하게 해줄 수 있습니다. list를 예로 들어보자면 val list = listOf("one", "two", "one") //immutable val list = mutableListOf("one", "two", "one") //mutable 간단하쥬? 자 이제 각각 살펴봅시다~ List List는 배열과 매우 비슷합니다. in.. 2021. 1. 14.
728x90