전체 글 528

Garmin WatchFace UI 제작 - 가민 시계

Garmin WatchFace UI 제작 최근에 아시는분의 요청으로 Garmin 시계 WatchFace 작업을 했다. 처음으로 Monkey C 를 접했다. Garmin WatchFace 작업을 할때, 레이아웃은 전부 코드로 작업했다. XML 상에서 레이아웃을 그리고 추가적으로 코드로 레이아웃을 그려서 적용하는 방법을 몰랐기 때문에 어쩔수 없이 코드로만 작성했다. 그리고 추가적으 XML으로 레이아웃을 작업할 수는 있지만 XML 을 통해서 작업하는게 Custom 작업하기가 더 어려운것 같았다. 더불어서 폰트 적용이 가장 어려웠다. 커스텀 폰트 작업을 하려면 사이즈에 맞게 계속 Bitmap 형식의 폰트를 만들어야했다. 코드로 화면을 그리는 방법과 XML를 통해서 화면을 그리는 방법 등이 제대로 이해가 안되서 ..

Dev/Others 2018.11.04

부족한 부분 참고

photo by Fabian Grohs on Unplash 1. BLE 통신 수단의 장단점?- 근거리 통신 수단으로 wi-fi, LTE 도 있을것인데, 그에 비해서 전력의 소모가 적다(Bluetooth조차도)- 대량 생산을 할 수 있게 가격이 저렴하다. 2. 함수형 프로그래밍이란? (뭐가 좋은지?)- 3. RxJava, EventBus 의 장단점? (왜 쓰는지?)- 4. 코틀린을 사용하면 뭐가 좋은가?- 5. 이 문제를 해결하기 위해서 어떤 생각들을 했는가?-> 어떻게 해결을 해야겠다, 이 문제의 목적은 이런것 같다 등의 부분들... (작성중....)

Dev/참고 2018.10.30

너의 조건은 무엇인가?

photo by rawpixel on Unplash 점점 30대 중반을 향해 달려가는 이쯤~~~요즘은 직업과 직장 그리고 삶에 대해서 고민이 많아지는 때인것 같다. 뭐... 삶에 대한 고민은 죽을때까지 멈추지 않을것이다. 그렇다면 "지금의 주된 고민은 무엇인걸까?" 라는 생각으로 정리를 했다. 1. 직업 :현재 프로그래머라는 직업은 아주 마음에 든다. 다만, 내 역량이 충분치 않아서 벽에 부딪힐때가 많은것 같다만...현재 맡고있는 특정 포지션에 한정하지 않는다는 전제로의 프로그래머로의 직업의 비전은 아주 밝은것 같다. 다만, 이쪽 계통 직업의 비전이 밝다고 나의 미래까지 밝은것 아니다만.... ^^;;그럼 현재의 주된 고민은 직장이 되는것 같다. 2. 직장 :직장을 선택하는데 있어서 자신을 충족시키는 조..

Log 2018.10.21

첫술에 배부를 수는 없다!!

한달간 바쁘다면 바쁘게 지내고 있다.서비스는 27일날 전시회에서 보여야하는데, 알고리즘 작업이 생각보다 잘 되지 않는다. 이렇게 작성하고 저기서는 저렇게 작성하면 될것 같은데,막상 알고리즘을 코드로 만들다보니 생각하는 대로 흐름을 타지 않는다.중간에 튀는 값이 나오면서 다시 디버깅하고 하나씩 훑어보는 일이 꽤나 발생했다. 마음같아서는 당장이라도 머신러닝, 딥러닝 분야도 도전해보고 싶다.그런데, 현재의 알고리즘 수준은 분기문에서 값을 충족하면 A하게 처리하고 아니면 B하게 .....C,D,E....Z 이렇게 처리하는 것인데..머신러닝, 딥러닝 분야가 영어로 수준높은 대화를 하는것에 비교하자면지금의 알고리즘을 만드는 수준은 알파벳을 알아가면서 쓰는 수준일텐데... 더 잘하고 싶은 생각은 있는데, 현재로서는 ..

Log 2018.10.20

코틀린 - 고차 함수: 파라미터와 반환 값으로 람다 사용 (요약)

8장 고차 함수: 파라미터와 반환 값으로 람다 사용 (요약) - 함수 타입을 사용해 함수에 대한 참조를 담는 변수나 파라미터나 반환 값을 만들 수 있다.- 고차 함수는 다른 함수를 인자로 받거나 함수를 반환한다. 함수의 파라미터 타입이나 반환 타입으로 함수 타입을 사용하면 고차 함수를 선언할 수 있다.- 인라인 함수를 컴파일할 때 컴파일러는 그 함수의 본문과 그 함수에게 전달된 람다의 본문을 컴파일한 바이트코드를 모든 함수 호출 지점에 삽입해준다. 이렇게 만들어지는 바이트코드는 람다를 활용한 인라인 함수 코드를 풀어서 직접 쓴 경우와 비교할 때 아무 부가 비용이 들지 않는다.- 고차 함수를 사용하면 컴포넌트를 이루는 각 부분의 코드를 더 잘 재사용할 수 있다. 또 고차 함수를 활용해 강력한 제네릭 라이브..

Dev/Kotlin 2018.10.17

꾸준히 하는건 어렵다!!

요즘에 조금이라도 Kotlin 을 매일 공부하도록 노력중이다. 주말 및 공휴일은 기본적으로 뺀다는 방침이지만 매일 하려고 읽은 내용을 Github 에다가 정리했다. 거의 책 내용에 중요하다고 생각한 부분을 옮기다시피 적고 있는데, 일단은 매일 한다는데 의미를 두고 진행중이다. 야근.... 약속, 운동 및 몸 상태에 따라서 좀 영향을 받기는 하지만 최대한 하려고 노력중이다. 링크▼GitHub Kotlin 프로젝트

Log 2018.10.17

코틀린 - 연산자 오버로딩과 기타 관례 (요약)

7장 연산자 오버로딩과 기타 관례 - 코틀린에서는 정해진 이름의 함수를 오버로딩함으로써 표준 수학 연산자를 오버로딩할 수 있다. 하지만 직접 새로운 연산자를 만들 수는 없다.- 비교 연산자는 equals 와 compareTo 메소드로 변환된다.- 클래스에 get, set, contains 라는 함수를 정의하면 그 클래스의 인스턴스에 대해 [] 와 in 연산을 사용할 수 있다고, 그 객체를 코틀린 컬렉션 객체와 비슷하게 다룰 수 있다.- 미리 정해진 관례를 따라 rangeTo, iterator 함수를 정의하면 범위를 만들거나 컬렉션과 배열의 원소를 이터레이션할 수 있다.- 구조 분해 선을을 통해 한 객체의 상태를 분해해서 여러 변수에 대입할 수 있다. 함수가 여러 값을 한꺼번에 반환해야 하는 경우 구조 분..

Dev/Kotlin 2018.10.09