이번에 Enum 간의 타입 변환을 하는 새로운 방식을 찾아서, 기록으로 남겨두려고 한다. 생각도 못했던 방식… 오호…ㅤ대충 상황은 이런 느낌이였다.레이어 분리를 위해 동일한 상태 값에 대해서 도메인 레이어에서는 Entity를 위한 enum 타입을 사용해주고 있었고, 데이터 레이어에서는 Model을 위한 enum 타입을 사용해주고 있었다.enum MyDataTypeForEntity { A, B, C, D, none }enum MyDataTypeForModel { A, B, C, D, none }ㅤEntity와 Model에서는 이 두 타입을 각각 사용해 정의해주고 있었고, 나머지는 대부분 원시값으로 속성을 사용해주고 있었다.class MyEntity { final String name; final MyD..
Flutter 3.24 버전에서부터 Swift Package Manager (이하 Swift PM 또는 SPM) 을 패키지 관리 도구로 공식적으로 지원하기 시작했다!ㅤ회사 내에서 플러터 업데이트나 새로운 기술에 대해 호기심이 많으신 팀원분이 계신데, 내가 이전에 iOS 개발에 대한 경험이 있다보니 “SPM을 우리도 도입하면 괜찮을까? 어떤 장점들이 있을까?” 에 대해서 나에게 물어봐주셨다. 나도 요런 부분들이 궁금하기도 하고, 애플과 플러터의 조합에 호기심도 생겨서 SPM 적용에 대한 정보 서치와 현 시점에서의 생산성 개선 정도에 대해서 테스트를 해봤다.ㅤ그 결과와 내 생각은 글 하단에 작성해뒀다!ㅤ여기 Medium 글을 확인해보면, 플러터 3.24 버전부터 Swift PM을 지원한다. 아직 Early ..
이번에 코드를 두드리면서 예상치 못한 코드 에러를 만났다.ㅤㅤvoid 반환형에 관련된 문제였는데, 대략적으로는 아래의 상황이다. 함수는 void 타입을 반환하는 함수가 하나 정의되어 있었다.Either foo() { if (조건에 따라) { return null; } else { return Failure(...); }}ㅤㅤ그리고 나는 이 값을 받아 void 타입의 함수가 정상적으로 잘 종료되었는지 체크해보려 했다.final result = foo();if (result가 null) { ㅤㅤ그런데, result의 type이 void 이기 때문에, 이 값을 확인할 수 없다는 에러가 자꾸 발생했다."this function has a return type of..
이번에 회사 인턴을 시작하고, 제일 처음으로 담당하게 된 미션은 테스트코드를 작성하는 것이였다. 난생 처음 테스트코드를 작성해보는 것이라 사실 좀 걱정을 했었다. 열심히 기존 코드들을 보면서 클린 아키텍처를 기반으로 나뉘어있는 레이어 위 기능들에 대해서 각각 테스트코드를 작성하고 합치는 작업을 공부하고 수행했고, 생각했던 것보다 내가 얻어가는게 많은 테스크였다고 생각이 들었다.우선 테스트코드를 작성하기 위해서 프로젝트 내에서 다음의 내용들을 파악해야 했다.어떤 구조로 프로젝트가 구성되어 있는가어떤 패키지들을 사용하고 있고, 그 사용 방법은 무엇인가프로젝트 내에서 사용하는 커스텀 타입들은 어떤게 있고, 내부 값들을 이용하려면 어떻게 접근해야 하는가프로젝트에서 사용하는 다양한 API, 상수 등은 어떻게 관리..