IT 기술

Unity 폴더 구조 디자인

Assets 폴더 Assets 폴더는 시스템 폴더로 간주한다. 마치 nodejs의 node_modules 폴더처럼 하위의 바로 유니티 에셋들이 바로 설치되기 때문에 이곳을 내 프로젝트의 루트폴더로 사용하면 모듈별로 폴더 관리가 되지 않는다. 유니티도 Package manager로 모듈화가 이제 가능하지만 모든 에셋들이 이런 방식으로 패키징이 되는 것은 아니다. Naming 유니티는 기본적으로 카멜케이스 방식의 자유롭게 에셋 이름을 짖는 문화이다. 하지만 내가 만드는 …

Unity 폴더 구조 디자인 더 보기 »

Unittest is dead

TDD는 테스팅을 깊은 수준으로 사고하는 방법을 가르쳐주는 훌륭한 도구 였다. 하지만 근본주의자 같은 TDD 적용 방식은 비효율적이다. 이제 나는 테스트를 먼저 개발하지 않는다. 테스트 우선 접근은 제한적인 시스템 디자인 도구로써 여전히 사용하겠지만 더 이상 반드시 TDD 방식을 따르겠다는 생각은 없어졌다. 하지만 여전히 Q/A 부담을 덜어주는 도구로서 가치가 있다. 오픈 시점에 중요한 로직의 코드들에 대한 유닛테스트를 …

Unittest is dead 더 보기 »

Apache Superset과 BigQuery 연동하기

오픈 소스 BI툴인 아파치 슈퍼셋은 에어비엔비에서 제작 후 오픈 소스로 공개했다. 타블러 같은 BI툴의 오픈 소스 버전이라고 생각하면 된다. 아파치 라이센스 2.0을 사용하기 때문에 상업적인 사용 및 독자적인 특허권 및 상용 서비스 등도 가능하다.  수정시에도 소스 코드 공개 의무가 없지만 해당 S/W 사용했고 수정했음을 외부에 밝혀야 한다. 아파치 슈퍼셋의 장점은? 자체 개발없이 빠르게 외부에 시각화 …

Apache Superset과 BigQuery 연동하기 더 보기 »

빅쿼리 파티셔닝과 클러스터링에 대한 이해

빅쿼리는 대용량 데이터 처리를 위해 데이터를 일별로 분리해서 분할 저장하는 파티셔닝 기능을 제공한다. 파티셔닝은 테이블에 파티션 데코레이터를 지정해서 UTC 타임존 기준 원하는 날짜 혹은 데이터 생성 날짜로 데이터를 분할 저장하는 기법이다. 데이터가 날짜 범위로 분할되어 저장하기 때문에 쿼리 요청시 분할 날짜를 이용하여 처리 대상 데이터의 범위를 줄일 수 있는 장점을 가진다. 하지만 파티셔닝은 일기준으로만 데이터가 …

빅쿼리 파티셔닝과 클러스터링에 대한 이해 더 보기 »

iOS 건강 앱을 이용한 미핏 구글 피트니스 동기화

iOS 환경에서 미핏은 구글 피트니스 동기화를 제공하고 있지 않다. 대신 iOS의 기본 앱인 건강 앱으로 데이터 동기화 기능을 제공한다. 하지만 iOS용 구글 피트니스 앱은 건강 앱으로 부터 데이터를 가져오기 때문에 건강 앱으로 들어오는 데이터를 이용해서 미핏의 데이터를 가져올 수 있게 된다. 안드로이드 버전 미핏의 구글 피트니스 동기화는 문제가 종종 발견되므로 Notify & Fitness for Mi …

iOS 건강 앱을 이용한 미핏 구글 피트니스 동기화 더 보기 »