이 글은 안드로이드 개발자 블로그 (Android Developers Blog) 에서 게제한 글을 번역한 것입니다.2017년 구글 I/O에서 발표한 라이프사이클 관리를 위한 안드로이드 아키텍처 컴포넌트를 포함한 새로운 피처를 소개하고 있습니다.안드로이드와 아키텍처안드로이드 OS는 넓은 범위의 기기들이 잘 동작하도록 앱을 만들 수 있는 강력한 기반을 제공한다. 그리고 우리는 복잡한 라이프사이클 그리고 추천 아키텍처의 부족 등의 개발자 피드백을 들었다. 우리는 더 쉽고 즐겁게 탄탄한 앱을 만들면서 개발자들이 혁신적인 분야에 집중할 수 있도록 할 필요가 있다. 요즘 우리는 아키텍처 컴포넌트의 프리뷰와 함께 안드로이드 앱 아키텍처의 가이드를 발표하고 있다. '바퀴를 다시 만들기'보단 인기있는 안드로이드 라이브러..
미구엘 데 세르반테스 (1547 - 1616) 어떤 책은 읽을 때 소름이 돋는다. 미처 나로서는 알지 못했던 커다란 통찰력이 문장에 담겨 있기 때문이다. 는 장편으로 있으면 좋겠다 싶을 정도로 흥미로우면서 역사에 대한 의문을 파괴하는 책이다. 세대 차이라는 말이 괜히 생긴 것이 아니듯 우리는 자신의 세대에서 아버지 정도로만 벗어나도 그 시대의 문화, 환경 상식적으로 통했던 통념들을 이해하기 어렵다. 하물며 역사책을 본다고 해서 그 시대를 제대로 이해할 수 있을까? 객관적인 정보들을 나열한다고 해서 그 시대를 이해할 수 있을까? 우리가 지금 보면 어떻게 저런 멍청한 선택을 할 수 있는지 또는 도저히 이해할 수 없는 행동들도 사실은 지금의 기준으로 왜곡하는 것이다.단순히 어떤 시대에 무슨 일이 있었고 (Wh..
이게 무슨 마케팅이냐고? 이건 말 그대로 제품/기능 개발 의사결정이다. 하지만 보다 나은 신규 사용자 유입률을 만들었고 더 많은 이용자들의 상호작용을 유도했다면 이것은 마케팅이다. (구전 기능을 구현했다면 더 많은 이용자들이 이용할 수 있도록 더 많이 퍼진다는 것을 기억해라)- : 스타트업을 위한 실용주의 마케팅 중에서 자금이 마케팅으로 유입되기 어려운 스타트업에서 시작되었다는 "그로스 해킹"이란 마케팅 방식에 대한 설명을 하면서 나온 구절이었는데문득 예전에 누군가와 마케팅의 정의가 무엇인지에 대해서 논쟁을 했던 기억이 떠올랐다. 용어의 정의는 절대적인 것은 없다고 생각한다. 특히나 한 시대에 상황과 환경에 따라 용어의 의미는 역사적으로 늘 그랬듯이 바뀌어져 왔다. 오늘날의 마케팅의 정의를 묻는다면 저 ..
어느 순간부터 코틀린으로 짠 오픈소스가 눈에 보이고 굳이 찾아보지 않았는데 여기 저기서 코틀린에 대한 언급이 되면서 언젠가 한번은 확인을 해봐야 겠다 생각했다. (불행히도 그 말은 절대 확인하지 않는다와 일치한다) 그러다가 Android Weekly #256 에서 이 글을 보게 되었는데 Java와 비교해서 코틀린이 가지는 장점과 Java에서의 구현 방법의 비교가 잘 되어 있어 코틀린을 처음 접하는 안드로이드 개발자, 코틀린의 장점을 알고자 할 때 유용하다 생각이 들었다. [번역] Kotlin vs. Java: 커머셜 안드로이드 프로젝트를 위한 코틀린 사용으로부터 첫번째 영감(아래 참고 문헌 링크를 번역 및 요약한 글입니다.)안드로이드 개발에서 Kotlin은 스위프트가 Objective-C에 비교되는 것과..
안드로이드에서 커스텀 폰트를 사용할 수 있는 라이브러리는 생각보다 많다. 가장 대표적인 라이브러리는 Calligraphy인데 여러 폰트 라이브러리들이 지향하는 방향은 다르고 내 프로젝트에 적합한 라이브러리도 때에 따라 다르다. 그래서 또다른 폰트 라이브러리 Typekit과 Calligraphy의 사용법과 특징을 분석해보는 것이 이 글의 목적이다. Typekit 라이브러리 시작하기안드로이드 애플리케이션의 기본 폰트를 빠르게 바꿀 수 있도록 돕는 라이브러리다. 커스텀뷰나 현재 xml 레이아웃 파일에 태그를 추가할 필요도 없다. application 클래스를 빠르게 설정해서 폰트를 변경할 수 있다.방법1. 의존성 설정하기app의 build.gradle 파일에 typekit 의존성을 설정한다.dependenci..
Gradle 의 장점과 단점Gradle은 JVM기반의 빌드 도구이자 강력한 의존성 관리 시스템이다. Maven, Ant 보다 빌드 로직을 커스터마이즈하기 더 편하고 같은 코드 베이스에서 여러 버전의 앱을 빌드할 수도 있다. 하지만 빌드 시간이 꽤나 많이 걸리는 문제가 있다. Gradle 버전이 올라가면서 빌드 시간을 단축시키는 성능도 같이 향상되었지만 설정을 잘만 이용하면 더 효율적으로 빌드 할 수 있다.프로젝트 Build 시간 확인gradle 빌드 명령을 활용해서 빌드 시간을 측정할 수 있다. ./gradlew build --profile위에서 --profile명령은 각 Task 실행에 소요된 시간을 측정하고 데이터를 HTML파일로 덤프하라는 뜻이다. 결과물은 /프로젝트 폴더/build/reports/..
Android의 애너테이션 사용법(Android Support Annotations 라이브러리를 활용한 결함 탐지 에서 요약한 글입니다. 상세한 설명은 링크에서 확인하실 수 있습니다.)Java에서는 API의 의도를 애너테이션으로 명시해 결함 탐지에 활용하는 기법이 발달했다고 한다.애너테이션은 Java표준 정의는 아니여서 FingBugs, Checker Framework 같은 도구에서 제공하는 애너테이션을 사용하거나 직접 선언해야 한다.하지만 안드로이드 개발 환경인 Intellij IDEA는 별도로 애너테이션 패키지 라이브러리를 IDE에 제공한다.Android 환경은 일반적인 Java 환경보다 잠재적 문제의 소지가 많은데 그 원인중 하나는 성능상 이점을 위해 Enum, EnumSet보다 프리미티브 타입을 ..
Dagger는 한 번 이해하고 나면 당연하게 느껴지지만 한 번 이해하는 것이 쉽지 않은 라이브러리라고 한다. 처음 접하기에는 생소한 개념이기 때문이다. 그럼에도 불구하고 많이 회자되는 이유는 Dagger를 적용함으로써 얻을 수 있는 장점이 더 크기 때문이라 생각한다. 생소한 개념과 구조를 이해하려면 이 라이브러리의 핵심이 무엇인지 잘 알고 있는 것이 중요하다. Dependency부터 Dependency Injection과 DI 라이브러리로써의 Dagger2의 특징을 정리해 보는 것이 이 글의 목적이다. Dependency 는 무엇인가?Dependency (또는 의존성)는 코드에서 두 모듈간의 연결이라고 볼 수 있다. 객체지향언어에서는 두 클래스간의 관계라고도 말한다. 일반적으로 둘 중 하나가 다른 하나를..
Repository Pattern(by Edward Hieatt and Rob Mee)Repository (레파지토리) 패턴은 아키텍처라기보다는 디자인 패턴중에 하나인데 데이터가 있는 어떤 저장소이든 간에 데이터를 사용하는 로직에서 분리시키는 것을 목적으로 한다. 아래는 Martin Fowler의 Patterns of Enterprise Application Architecture (P of EAA)에서의 정의다.도메인과 데이터 사이를 중재하는 매핑 레이어로 도메인 객체에 접근하기 위한 콜렉션과 같은 인터페이스를 사용한다. 도메인은 필요한 데이터를 레파지토리에 요청하고, 레파지토리는 도메인이 요청한 정보를 데이터를 가공해서 보내준다. 이 패턴을 사용하는 장점은 도메인이 실제로 어떤 데이터를 사용하는지는 ..
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- go
- 공존이 필요해요
- 이미지 여백주기
- React Native
- release build issue
- 좋은 습관이란
- git ssh 연동
- git 실수
- MVP
- node.js
- egghead
- 그리고 상상력
- iterms
- gradle
- 창의성을 지휘하라
- 스크럼
- Android
- 소프트웨어 공학
- retrofit
- 아키텍처
- patch-packages
- 시간 관리
- 구독료 계산기
- 최은영작가님
- multiDex issue
- 애드 캣멀
- 안드로이드
- 소름돋는필력
- 쉽게 말하는법
- 이미지 일괄 변경
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함