[A] role playing go

개요 고 언어를 사용하여 프로젝트를 구성할 때, 제가 주로 작성하는 스타일을 정리하는 글입니다. 대체로 import cycle을 해결하거나 어느정도의 OOP를 구현하는 데에도 용이하다고 생각합니다. 역할 각 패키지는 고유의 역할을 가지게 됩니다. 역할은 2가지 경우로 나뉩니다. 역할에 대해 단일 구현체만 존재할 경우 역할에 대해 여러 구현체가 존재할 경우 단일 구현체가 존재할 경우 여러 서비스 간 주고 받는 로그 객체를 만든다고 가정합시다. 저는 log라는 패키지를 만들 것입니다. package log type Log struct { UnixTime int64 `parquet:"name=unix_time, type=INT64" json:"unix_time"` AppID int32 `parquet:"name=app_id, type=INT32" json:"app_id"` Level int32 `parquet:"name=level, type=INT32" json:"level"` Message string `parquet:"name=message, type=BYTE_ARRAY, convertedtype=UTF8, encoding=PLAIN_DICTIONARY" json:"message"` } log라는 패키지 아래에 Log 구조체를 직접 생성하여 log 패키지를 클래스처럼 작성합니다....

March 11, 2022 · snowmerak

[A] 전략 패턴에 대해서

행위 패턴의 하나로, 어떤 문제를 해결함에 어떤 방법을 사용하는 지 적절히 선택, 혹은 작성할 수 있게 해주는 패턴 코틀린으로 평균을 구하는 계산기 만들기 이 계산기의 평균을 구하는 방법은 총 3가지가 있습니다. 산술 평균 : (a + b) / 2 기하 평균 : root2(a * b) 조화 평균 : 2ab / (a + b) 이 3가지를 각각 따로 입력 받아 실행하는 평균만 구하는 계산기의 코틀린 코드입니다....

March 4, 2022 · snowmerak