[OTUS] Android-разработчик. Продвинутый курс (2019) [все модули]

Скачать [OTUS] Android-разработчик. Продвинутый курс (2019) [все модули]
Недавно искали:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
25.548
Реакции
9.495
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Автор: OTUS
Название: Android-разработчик. Продвинутый курс (2019) [все модули]
1584992017336.png
Вы научитесь:


  • Глубоко разбираться в Android SDK. Разница между junior- и senior-разработчиками в том, что первый может реализовать какую-то фичу, а второй может объяснить, что скрывается за каждой строкой кода этой фичи, найти потенциальные проблемные места и оптимизировать их. Вы узнаете, что происходит внутри классов и методов Android SDK, сможете заметно ускорить свое приложение, выбрать оптимальный алгоритм шифрования для вашего приложения, и организовать безопасное хранилище секретных данных.
  • Организовывать инфраструктуру. Разворачивать системы continuous integration и continuous delivery, выстраивать git flow, поднимать Docker-контейнеры и Jenkins внутри них. Научитесь внедрять и настраивать линтеры и чекстайлы для проверки качества кода. Сможете писать свои Gradle таски и плагины для автоматизации и оптимизации процессов сборки и тестирования.
  • Проектировать архитектуру приложения. Вы узнаете сильные и слабые места паттернов и архитектурных решений, научитесь правильно выбирать архитектурный паттерн для вашего приложения. Освоите GoF, MV* шаблоны для Android и принципы Clean Architecture. Научитесь проектировать мультимодульную архитектуру и проводить рефакторинг legacy кода.
  • Тестировать приложения. Недостаточно просто уметь писать тесты. Важно приучиться писать надежный и протестированный код, интеграционные тесты и UI-тесты. Рассмотрим популярные фреймворки для тестирования и подходы к написанию тестов.
  • Использовать современные библиотеки и фреймворки На профессиональном уровне освоите Dagger 2 и RxJava 2, сможете правильно организовывать DI в приложении с использованием Dagger 2, писать собственные операторы в RxJava и т.д.
Минимальные знания


  • Опыт разработки под Android от 1 года
  • Знание Java Core или Kotlin
  • Знакомство с системой контроля версий git
  • Знакомство с популярными фреймворками: Dagger, RxJava, Android architecture components
  • Опыт работы с сетью и хранилищами данных в Android
  • Понимание принципов RESTful API
1 Kotlin
1 Kotlin стандартная библиотека. Часть 1

После этого занятия вы сможете оперировать основными конструкциями языка Kotlin JVM, сможете писать код в kotlin стиле, использовать библиотеку anko.

2 Kotlin стандартная библиотека. Часть 2
После этого занятия вы сможете оперировать основными конструкциями языка Kotlin JVM, сможете писать код в kotlin стиле, использовать библиотеку anko.

3 Kotlin coroutines
После занятия вы сможете использовать корутины и каналы для написания асинхр

2 Android Framework
1 Advanced Fragment

Child Fragments, Headless Fragments, Fragments communications, Single Activity Application. После занятия вы сможете применить полученные знания при проектировании приложения, полностью построенного на Фрагментах.

2 Advanced Service
JobService, BoundService, IPC, AIDL, Handler/Messenger После этого занятия сможете грамотно выбирать необходимую реализацию Android Service исходя из задачи и версии ОС, научитесь выстраивать коммуникации между сервисами, которые работают в разных процессах.

3 Advanced Views
View Lifecycle, measurement, drawing, SurfaceView, Constraint Layout. После занятия вы сможете применять знания о процессах отрисовки view при создании собственных имплементаций Android View.

4 Advanced Canvas
Canvas, Bitmap, PorterDuff, Matrix, Path. После занятия вы сможете использовать возможности Canvas API из Android SDK для рисования сложных оптимизированных view.

5 UI Profiling
GPU profiling, dumpsys, GPS measurement, слои наложения. После занятия вы сможете использовать различные инструменты для поиска потенциальных узких мест в отрисовке UI и оптимизировать низкопроизводительные решения для быстрой отрисовки ваших приложений.

6 Network
Interceptors,Adapter.Factory, SSL pinning, WebSocket connection, GSON. После этого занятия вы сможете применять широкие возможности http клиента Retrofit и десериализатора Gson для построения сетевого уровня в своем приложении.

7 Security in Android
Android Keystore, Google tink, алгоритмы шифрования в java cipher/android SDK. После этого занятия вы сможете выбрать оптимальный алгоритм шифрования для вашего случая, сможете организовать безопасное хранилище секретных данных

8 Proguard
После занятия вы сможете встроить Proguard обфускацию и оптимизацию в свое приложение.

9 Reverse Engineering
APKtool, jadx. После этого занятия вы сможете разобрать .apk файл и проверить код на наличие вредоносных действий.

10 Android studio tips and tricks
После этого занятия вы сможете эффективно использовать возможности Android Studio для профилирования и отладки.

3 Architecture

1 Design patterns

GoF паттерны, publisher/ subscriber, LRU etc. После этого занятия вы научитесь применять на практике часто используемые паттерны проектирования из GoF, паттерны многопоточного взаимодействия и синхронизации, кеширования и т.п.

2 MV* patterns in Android
Архитектурные паттерны: MVP/ MVVM/MVI. После занятия вы сможете подбирать нужный архитектурный проект и собирать проект на основе данной архитектуры.

3 Clean Architecture
После занятия вы сможете выстраивать архитектуру в соответствии с принципами Clean Architecture сформулированными Бобом Мартином.

4 Android Architecture
Components LifecycleOwner, LiveData, Room, Paging, ViewModel. После занятия вы сможете применять AAC в своих приложениях, адаптировать их под конкретно выбранную архитектуру.

5 Dagger 2
Dagger2, Dagger2 Android Injector. Вы сможете правильно организовывать DI в приложении, используя Dagger2.

6 RxJava 2
После занятия вы научитесь применять “недооцененные” операторы, писать собственные операторы, узнаете как работают шедулеры.

7 Multimodule project
Dagger2, Gradle modules. После этого занятия вы научитесь проектировать мультимодульную архитектуру приложения.

8 Code smells + refactoring
После этого занятия вы научитесь находить плохие архитектурные решения, строить roadmap и проводить рефакторинг.

4 Testing

1 Юнит тесты

JUnit, Hamcrest matchers. После этого занятия вы сможете покрывать unit тестами ваши классы.

2 Интеграционное тестирование на Android
Mockito, Robolectric. После этого занятия вы сможете использовать фреймворки для интеграционного тестирования на Android, реализовывать различные виды тестовых дублеров, создавать shadowклассы.

3 Automated UI Testing
Espresso framework, Spoon, MockWebserver . После этого занятия вы сможете писать UI тесты на Espresso в изолированной среде и запускать их на нескольких эмуляторах параллельно.

5 Infrastructure and build processes

1 Инструменты для проверки качества кода

Android Lint, findbugs, checkstyle, find-sec-bugs, ktlint, detekt. После этого занятия вы сможете внедрять и настраивать линтеры/чекстайлы для проверки качества кода и поиска потенциальных ошибок.

2 Системы контроля версий, различные виды ветвлений, код ревью
gitflow, trunk-based development, code review. По окончанию этого занятия вы сможете сравнить различные типы ветвления в git, научитесь эффективно проводить code review своим коллегам.

3 Gradle. Часть 1
Gradle Task, Gradle Plugin, Gradle DSL syntax. После занятия вы сможете писать свои Gradle Tasks и Gradle Plugin, подключать их в проект и встраивать в пайплайн.

4 Gradle. Часть 2
Gradle Task, Gradle Plugin, Gradle DSL syntax. После занятия вы сможете писать свои Gradle Tasks и Gradle Plugin, подключать их в проект и встраивать в пайплайн.

5 Docker
Docker, DockerRegistry, Docker Compose, Docker CLI. После занятия вы научитесь собирать докер образ из Dockerfile, поднимать контейнер из образа, взаимодействовать с контейнером.

6 Jenkins
Jenkins, Jenkins pipeline. После занятия вы научитесь поднимать Jenkins в Docker контейнере и делегировать ему сборку Android проекта.

7 Distribution / Crash overview
Fabric,Firebase Crashlytics, AppCentre, Google play. По окончанию этого занятия вы сможете деплоить ваш .apk файл в системы для дистрибуции приложений.

Преподаватели:


  • Антон Казаков
    Руководитель направления Android-разработки в Альфа Банк

    Окончил магистратуру Казанского авиационного института по специальности «Радиотехника и телекоммуникации».

    В Android-разработке с 2013 года. Разрабатывал приложения в небольших стартапах и огромных компаниях, работал в «СберТехе», руководил Android-разработкой в компании «Технократия».

    На текущий момент руководит Android-разработкой в «Альфа-Банке». Оптимизирует процессы разработки и поставки фич, работает над тулингом, чтобы облегчить жизнь разработчикам.

    Помимо Android-разработки, интересуется бэкенд-разработкой и DevOps-практиками. Любит решать алгоритмические задачи.


  • Денис Журавлев
    Senior Android-разработчик в E-Legion

    Увлекается Android-разработкой с 2011 года. Профессионально находится в этой сфере более 6 лет.

    Долгое время работал над созданием приложения «Ultimate Guitar: Аккорды & Табы» - одного из лучших приложений для саморазвития 2018 года по мнению Google Play, а также сохранявшего позицию №1 в рейтинге платных приложений в США. На текущий момент работает в компании E-Legion над созданием мобильных приложений на заказ в качестве Senior Android-разработчика.

    Имеет опыт работы с приложениями не только со стороны разработки, но и со стороны маркетинга и продаж. Также участвовал в разработке приложений для компаний «Мегафон» и Burger King, пробовал себя в стартапах и фрилансе.

    Любимым приложением, разработанным за карьеру, считает Tonebridge Guitar Effects.



Скачать
 
Назад
Сверху Снизу