Как стать автором
Обновить
341.76
VK
Технологии, которые объединяют

Что посмотреть на карантине? Подборка материалов от Технострима (часть 1)

Время на прочтение4 мин
Количество просмотров8.9K

Сидение на необъявленном карантине можно провести с пользой, совершенствуя тело и разум. О первом мы, возможно, когда-нибудь поговорим, а пока предлагаем вам пищу для ума: подборку разноплановых интересных материалов в виде двух курсов и двух интервью.

Курс по Android-разработке, Технополис, весна 2019


Напомним, что Технополис — один из наших совместных образовательных проектов, в данном случае с Петербургским политехническим университетом.

Этот курс поможет вам овладеть необходимыми знаниями и навыками для разработки программного обеспечения под Android. Вы изучите API Android, инструменты разработчика (SDK), популярные библиотеки и многое другое. Кроме этого вы научитесь обеспечивать отказоустойчивость.

  • Лекция 1. Введение. Общая характеристика Android и мобильной разработки в целом. Основные инструменты разработки. Создание Hello World-приложения. Устройство приложения. Особенности мобильной разработки.
  • Лекция 2. Основы верстки. Знакомство с основными UI элементами Android. Вёрстка экранов и обработка взаимодействия с UI-элементами.
  • Лекция 3. Асинхронная работа. Процессы и потоки в Android. Классы MessageQueue, Looper, Handler. Фоновые потоки. Выполнение операций в фоне: интерфейс Executor, классы AsyncTask и AsyncTaskLoader, классы Service, IntentService и JobIntentService. Фреймворк RxJava.
  • Лекция 4. Хранение данных. Откуда брать и где хранить файлы? Как Android SDK помогает решать типичные задачи хранения данных? Как приложениям обмениваться данными?
  • Лекция 5. CustomView, measure/layout/draw/touch event/etc. Что такое CustomView, measure и layout? Пример: Wave View. Анимация. Обработка касаний. Пример: свайп для удаления.
  • Лекция 6. Ресурсы, стили, темы. Где хранятся и как применяются различные виды ресурсов мобильного приложения? Из каких компонентов создаются визуальные стили приложения? Как создавать оформления (темы) приложений?
  • Лекция 7. Архитектура Android OS и инструментарий. Как приложение взаимодействует с операционной системой. Поиск ошибок в приложениях.
  • Лекция 8. Тестирование. Основы тестирования в Android-среде. Встраивание тестирования в процесс разработки. Инструменты тестирования в Android-среде. Сквозные и модульные тесты.
  • Лекция 9. Проектирование Android-приложений. Проблемы при разработке Android-приложений. SOLID-принципы проектирования. Паттерны проектирования. Model View Controller и Model View Presenter. Фреймворк Dagger 2. MVVM. Компоненты Android-архитектуры. Data Binding. Чистая архитектура.
  • Лекция 10. Kotlin. Свойства и возможности языка Kotlin. Зачем он нужен, если кругом Java? Powerful Kotlin для Android. Спасение в DSL или нет?
  • Лекция 11. Реактивное программирование. Что такое реактивное программирование и RxJava? Пример стрима (цепочки) данных. Контракт. Операторы. Marble-диаграммы. Типы Observable. Работа с потоками в RxJava. Некоторые сложности Android-разработки и их решение c помощью RxJava.
  • Лекция 12. Энергопотребление. Какие подсистемы влияют на энергопотребление? Особенности разных типов дисплеев. Замеры потребления подсистем смартфона. Замеры потребления в зависимости от частоты сетевых запросов. Как Android помогает оптимизировать потребление. Методики пассивного и активного уменьшения потребления.

Видеозаписи лекций.

Курс «Базы данных. Лаборатория Tarantool»


Цель курса — изучение топологии, многообразия и основных принципов функционирования систем хранения и данных, а также алгоритмов, заложенных в основу как централизованных, так и распределённых систем, демонстрация фундаментальных компромиссов присущих тем или иным решениям.

  • Лекция 1. Введение в современные СУБД. Многообразие решений для хранения данных. Модели данных классических и NoSQL-систем. Модели консистентности. Семантика и допустимость овердрафта в интернет-приложениях. Классические алгоритмы организации данных для двухуровневой памяти.
  • Лекция 2. Современные алгоритмы для двухуровневой памяти. Понятие cache-oblivious алгоритма. Базовые cache-oblivious алгоритмы. Понятие write amplification. Фрактальные деревья. LSM-деревья. Блум-фильтры. Двухуровневые деревья.
  • Лекция 3. Кэширование. Алгоритм Least Recently Used. LRU: реализация в СУБД. Понятие online-алгоритма. Понятие c-compettve. LFD: доказательство идеальности. FIFO. Другие алгоритмы и их оценки. Понятие консервативного алгоритма. Рандомизированный алгоритм MARK.
  • Лекция 4 и 5. Архитектура СУБД. Модули. Структуры данных — статика и динамика. Форматы и протоколы. Жизненный цикл запроса.
  • Лекция 6 и 7. Транзакции. Принципы ACID в транзакционной обработке данных. Реализация подсистемы хранения с использованием журнала. Принцип двойной записи. Понятие истории изменений. Стратегии NO UNDO, NO REDO. Стратегии STEAL, NO STEAL.
  • Лекция 8. Управление транзакций с помощью блокировок. Иерархические блокировки. Специальные блокировки. Дедлоки. Приоритеты локов. Понятие hot spot. Алгоритмы поиска дедлоков. Понятие насыщения системы массового обслуживания в применении к транзакционной системе.

Видеозаписи лекций.

Как построить команду разработки на удаленке. Опыт Skyeng


Руководитель разработки в Skyeng Алексей Катаев рассказывает о том, как они создали команду из 68 разработчиков на удаленке, как справляются с экстренными задачами и борются с отвлекающими факторами в домашних условиях.


Android-разработка: команда, рынок, тестирование


Как проходит интеграция новых сотрудников в команду, что происходит с рынком Андроид-разработчиков, как выглядит архитектура приложения Новости@mail.ru и всё о тестировании мобильных приложений.




Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов по-прежнему публикуются на канале Технострим. Подписывайтесь, чтобы не пропустить новые лекции!
Теги:
Хабы:
Всего голосов 15: ↑14 и ↓1+25
Комментарии5

Публикации

Информация

Сайт
team.vk.company
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия