트레이드 오프
트레이드 오프라는 개념을 처음 배울 때는 서로 양립할 수 없다는 사실을 너무 명백히 알 수 있는 케이스들로 배웠던 것 같다. 예를 들면 시간복잡도와 공간복잡도, 또는 일정과 품질과 비용. 시간을 줄이려면 공간을 많이 써야하고, 공간을 아끼려면 시간을 더 써야한다. 일정을 줄이려면 품질이나 비용을 양보해야하고, 품질을 높이려면 일정과 비용을 더 들여야하고, 비용을 줄이려면 품질과 일정을 희생해야한다는 것은 […]
트레이드 오프라는 개념을 처음 배울 때는 서로 양립할 수 없다는 사실을 너무 명백히 알 수 있는 케이스들로 배웠던 것 같다. 예를 들면 시간복잡도와 공간복잡도, 또는 일정과 품질과 비용. 시간을 줄이려면 공간을 많이 써야하고, 공간을 아끼려면 시간을 더 써야한다. 일정을 줄이려면 품질이나 비용을 양보해야하고, 품질을 높이려면 일정과 비용을 더 들여야하고, 비용을 줄이려면 품질과 일정을 희생해야한다는 것은 […]
Reddit에서 발견한 github repository 짤막한 설명을 곁들인 다양한 코루틴 코드들을 보면서 개념 잡기 편한 것 같다.
[Kotlin] Coroutines Playground Read More »
In Kotlin, we can use functions such as forEach, forEachIndexed, and map to iterate items in collection. It’s convenient to use, but it comes with cost; those functions create additional objects like Iterator. For most cases, it wouldn’t be a serious problem to have some temporary objects. However, when overriding onDraw method of View class,
[Kotlin] for-loop with no additional object allocation Read More »
안드로이드 API는 큰 흐름상으로는 바람직하게 가고는 있지만 여전히 불만인 부분은 마음놓고 쓰기가 어렵다는 점이다. 어느 정도 안정화되고 손에 익었다 싶으면 deprecated되고 또 새로운 게 나오는데 새로운 걸 쓰려면 모험을 해야한다. 예전 API를 계속 쓰자니 찝찝하고, 새로운 걸 쓰자니 불안하고. 이런 스트레스를 항상 안고 개발해야하는 게 좀 불만이다.
Deprecated or Experimental Read More »
좀 느리긴 해도 바람직한 방향으로 계속 가고 있는 것 같다. Jetpack에 흥미로운 컴포넌트들이 계속 추가되고 있는데, kotlin 문법을 적절히 활용해서 고급 기능을 간결한 코드로 활용할 수 있게 잘 만들어놓은 것으로 보인다. 이런 것들을 잘만 활용하면 정말 예전과는 확연히 다른 느낌으로 모던하게 개발할 수 있을 것 같은데, 아직 익혀야 할 것들이 많다. 아직도 자바 스타일의 코딩에서
새 회사에서는 훨씬 큰 규모의 서비스를 운영하고 있고 업무량이나 진행속도가 이전 회사보다는 훨씬 빠른 편이다. 더 피곤하고 스트레스 받을 줄 알았는데 오히려 마음이 더 편해지고 다시 개발이 재미있어지려고 한다. (솔직히 요즘에는 개발에 흥미가 많이 떨어진 상태였다.) 일이 힘든 것보다 커리어가 정체되고 발전하는 느낌이 없는게 더 스트레스였던 것 같다. 물론 보상수준이 많이 올라간 이유도 있을 것이다.
1. 모델링으로서의 객체지향 현실 세계의 객체처럼 인식하고 다룰 수 있도록 프로그래밍 하는 것 2. 설계와 아키텍쳐 관점에서의 객체지향 캡술화와 인터페이스를 통한 의존성 관리 나는 후자쪽에 무게를 두는 편이다. 마침 비슷한 관점을 이야기하는 글을 봐서 이 글을 쓰고 있다. https://github.com/msbaek/memo/blob/master/core-of-oop.md 객체지향 프로그래밍이나 의존성 주입의 메커니즘을 다루는 글은 많은데, 그 메커니즘이 왜 그렇게 설계되었는지, 그것을 통해서 무엇을
백신이 접종되기 시작하고 진정세가 뚜렷해지면 가파른 V자로 경제가 회복되지 않을까 싶다. 억눌려있던 수요들이 여기저기에서 폭발하면서 특히 오프라인 매장(쇼핑, 외식 등)으로 사람들이 많이 몰릴 것 같다. 언택트 시대니 뭐니 말들은 많지만 사람들은 이미 진짜를 경험했고, 물리적인 공간이 주는 다양한 느낌과 자극을 온라인이 대체할 수 없다는 것을 너무나 잘 알고 있다. 배달과 온라인 쇼핑은 한동안 성장이 정체될 것이다.
Kotlin에서는 배열이나 컬렉션을 다룰 때 forEach, forEachIndexed, map 등을 통해 내부 항목들을 접근해서 연산을 수행할 수 있다. 이러한 함수들은 인덱스를 직접 관리할 필요가 없어서 편리하긴 하지만, Range나 Iterator같은 부가적인 객체를 생성한다는 단점이 있다. 대부분의 경우에는 객체 한두개 정도 추가 할당하는 것이 큰 문제가 되지 않겠지만, 안드로이드에서 View 클래스의 onDraw 메서드를 오버라이드할 때에는 메서드 내에서 새로운
[Kotlin] 객체 할당 없는 for loop Read More »
삼성 스마트폰 최고의 경쟁력이라고 생각한다. 구글이나 LG에서 나온 다른 안드로이드폰을 써보고 싶다가도 삼성페이를 생각하면 바꿀 수가 없다. LG 스마트폰은 LG pay가 있긴 하지만 내 기억으로 지원되는 신용카드가 몇가지 안 됐던 것 같다. 특히 당시에 내가 주로 쓰던 카드가 카카오뱅크 체크카드였는데 그게 지원되지 않았었다. 지금은 지원된다고는 하지만 삼성페이를 쓸 떄와 비교해서 뭔가 모자란 구석이 어쩌다 보이면