Pull to refresh
0
0
Антошкин Павел @Papashkin

User

Send message

KotlinConf 2019 Live: смотрите в прямом эфире 5-6 декабря

Reading time 2 min
Views 2K
Трансляции KotlinConf превращаются в добрую традицию. В этом году мировое сообщество пользователей Kotlin сможет увидеть конференцию в прямом эфире — все выступления, а не только объявления и новости. Приятным бонусом прямого эфира станут 12 интервью с докладчиками, которые в течение двух дней проведет ведущая популярного YouTube-канала «Android Dialogues» Хюен Туэ Дао.

Трансляция начнется выступлением руководителя команды разработки Kotlin Андрея Бреслава, затем два полных дня докладов и в конце заключительная панель, во время которой докладчики вместе с командой разработки Kotlin ответят на вопросы сообщества. Вы также можете принять участие в обсуждении — задавайте вопросы в Твиттере с хештегом #kc19ask уже сейчас, и смотрите прямой эфир, чтобы услышать ответы.

Есть и другой способ приобщиться к KotlinConf 2019 — организуйте митап в рамках программы KotlinConf 2019 Global для удаленного просмотра конференции вместе со своим сообществом, а JetBrains поддержит ваше начинание. Прочитайте наш блог-пост, подайте заявку и получите поддержку.

image

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 2

Опыт переезда для работы программистом в Берлин (часть 1)

Reading time 7 min
Views 76K
Добрый день.

Представляю на суд общественности материал о том, как я за четыре месяца получил визу, переехал в Германию и нашел там работу.

Считается, что для переезда в другую страну нужно сначала долго искать работу удаленно, потом, в случае успеха, ждать решения по визе, и лишь после паковать чемоданы. Я решил, что это далеко не оптимальный способ, поэтому пошел другим путем. Вместо того, чтобы искать работу удаленно, я получил так называемую «визу на поиск работы», въехал в Германию, нашел здесь работу и уже после подал документы на Blaue Karte. Во-первых, в этом случае документы не ездят из страны в страну, и время ожидания визы значительно уменьшается. Во-вторых, поиск работы на месте радикально повышает ваши шансы, и это тоже заметно ускоряет процесс.
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 156

Разбираемся с многопоточностью в RxJava

Reading time 10 min
Views 58K

Когда описывают преимущества RxJava, всегда упоминают об удобстве организации работы многопоточного приложения средствами RxJava. То, как использовать операторы subscribeOn и observeOn, можно прочитать практически в каждой статье, посвященной основам RxJava. Например, здесь хорошо описаны случаи, когда использовать методы subscribeOn и когда observeOn. Однако, на практике часто приходится сталкиваться с проблемами, для которых нужно более глубокое понимание того, что именно делают методы subscribeOn и observeOn. В этой статье я хотел бы рассмотреть ряд вопросов, которые иногда возникают при использовании этих операторов.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 2

Публикация Android библиотеки в jCenter

Reading time 8 min
Views 19K


В жизни каждого андроид разработчика настаёт момент, когда количество самописных утилит и хелперов, качующих из проекта в проект, переваливает за десяток. В этом случае хорошей практикой будет оформление подобных хелперов в виде самостоятельных «модулей» в терминах Android Studio. Еще лучше, если Вы собираетесь поделиться Вашими наработками с комьюнити, снабдив исходный код подходящей лицензией. Но просто залить исходники на GitHub в этом случае будет недостаточно – хочется, чтобы любой желающий мог подключить библиотеку с помощью однострочной Gradle зависимости, например такой:

dependencies {
   compile 'com.github.romangromov:simpleprefs:0.0.8'
}

О том, как этого добиться и пойдет речь в данной статье.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 5

Заблуждения Clean Architecture

Reading time 15 min
Views 406K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Total votes 58: ↑56 and ↓2 +54
Comments 203

Navigation Drawer в стиле Material Design за 5 минут

Reading time 9 min
Views 114K
imageВ данной статье я расскажу, как быстро добавить в ваше приложение для Android боковое меню (aka Navigation Drawer) в стиле Material Design. Для этого мы воспользуемся библиотекой, любезно предоставленной Mike Penz.

У вас получится Navigation Drawer, который:

  • Соответствует последним рекомендациям по дизайну (Google Material Design Guidelines);
  • Поддерживает использование нескольких Drawer (можно выдвигать второй справа);
  • Поддерживает использование бейджей;
  • Имеет простой и понятный интерфейс (API);
  • Может выползать как под, так и поверх Status Bar;
  • Позволяет менять иконки, цвета, бейджи во время выполнения;
  • Использует AppCompat support library;
  • Работает, начиная с API 14.

Помимо этого, новички обучатся интеграции сторонних библиотек в свой проект, что крайне полезно, учитывая их грандиозное разнообразие на Github.

Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Comments 21

Сжимаем APK, стараясь сохранить его работоспособность

Reading time 5 min
Views 6.9K


/ PxHere / PD


Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно исключить из сборки.


Под катом о том, как сделать зависимости — определяемыми на этапе компиляции, какие файлы можно исключить из сборки и как это сделать, а так же, разберём, как исключить из сборки неиспользуемые компоненты, если у вас несколько приложений с общей кодовой базой.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 1

GitLab CI: Учимся деплоить

Reading time 9 min
Views 123K

В данной статье речь пойдет об истории успеха воображаемого новостного портала, счастливым владельцем которого являетесь вы. К счастью, вы уже храните код проекта на GitLab.com и знаете, что для тестирования можно использовать GitLab CI.
Теперь вам интересно, можно ли пойти дальше и использовать CI еще и для развертывания проекта, и если да, то какие возможности при этом открываются.


Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на Amazon S3.


У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.



Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 4

Введение в GitLab CI

Reading time 6 min
Views 236K

Публикую перевод моей статьи из блога ГитЛаба про то как начать использовать CI. Остальные переводы гитлабовских постов можно найти в блоге компании Softmart.




Представим на секунду, что вы не знаете ничего о концепции непрерывной интеграции (Continuous Integration — CI) и для чего она нужна. Или вы всё это забыли. В любом случае, начнем с основ.


Представьте, что вы работаете над проектом, в котором вся кодовая база состоит из двух текстовых файлов. Более того, очень важно, чтобы при конкатенации этих файлов в результате всегда получалась фраза "Hello world." Если это условие не выполняется, вся команда лишается месячной зарплаты. Да, все настолько серьезно.


Hello wolrd


Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Comments 21

Использование шаблона MVVM (Model-View-ViewModel) в Android

Reading time 18 min
Views 83K


Автор: Антон Валюх, Senior Mobile Developer.

В этой статье поговорим о теории и практике использования очень удобного шаблона проектирования MVVM (Model-View-ViewModel) при разработке Android-приложений.

MVP — Model-View-Presenter

Для начала — немного теории. Всё началось с того, что многие думали, как приспособить шаблон MVC (Model-View-Controller) для написания приложений с интерфейсом пользователя. И в 2006 г. в работе “GUI Architectures” Мартин Фаулер подробно рассмотрел шаблон, который впоследствии получил название “MVP” (“Model-View-Presenter”).

Итак, MVP — шаблон проектирования, производный от MVC, разработанный в основном для построения пользовательского интерфейса. MVP используется для облегчения автоматического модульного тестирования и улучшения разделения логики и отображения.

В этом шаблоне есть три элемента:
  1. View.
  2. Presenter.
  3. Model (модель).

Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 6

Android + Gradle + CI + CD или Как настроить кормушку для котов

Reading time 6 min
Views 22K


Здравстуй дорогой читатель. Если тебе незнакомы понятия Continuous integration (CI), Continuous delivery (CD) или же у тебя нет представления как и зачем их нужно использовать, то прошу под кат, где тебя ждет небольшое описание как настроить данные сервисы в своем Android проекте, а также какие бонусы будут получены в итоге.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 7

IT в Германии — как искать работу в крупных городах Германии

Reading time 13 min
Views 102K
Уехать в Германию при наличии опыта работы в IT довольно просто, и множество статей на эту тему помогают определиться с выбором. Эта статья не будет исключением, в ней собраны истории 5х эмигрантов, которые поделились своим опытом работы в крупных городах Германии и рассказали, что нужно делать, чтобы найти работу и успешно продвигаться по карьерной лестнице. В качестве бонуса — особенности выживания в иностранном коллективе и приятные фишки немецкой рабочей среды. Статья написана в формате мини-интервью, 6 вопросов и ответов от каждого автора


Читать дальше →
Total votes 43: ↑40 and ↓3 +37
Comments 126

Не Dagger'ом едины

Reading time 8 min
Views 22K
В последнее время многим программистам очень понравилась библиотека для реализации внедрения зависимостей Dagger2. Хотя, как мне кажется, из-за неочевидной работы под капотом и большим семейством аннотаций Dagger долго заходил в комьюнити. И так получается что сейчас куда не глянь многие использую эту библиотеку почти везде. И уже Dependancy Injection становится синонимом этой самой библиотеки. Хотя это всего лишь библиотека. Да, хорошая, не спорю. Статья будет не о свержение Dagger'a с трона короля библиотек DI. А я бы хотел рассказать о другом инструменте для подобных целей — это Koin.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 5

Dagger 2. Часть первая. Основы, создание графа зависимостей, Scopes

Reading time 10 min
Views 170K

Всем привет! В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.


В сети уже много различного материала, посвященного данной библиотеке. Но когда я только начинал ознакамливаться с Dagger 2, читал статьи, смотрел доклады, я во всем этом находил один общий недостаток — мне, как человеку, не работавшему со Springом и прочими подобными фреймворками/библиотеками, было довольно сложно понять, откуда берутся зависимости, как они "провайдятся" и что вообще там происходит. На слушателей/читателей обычно сразу "вываливается" большое количество кода с новыми аннотациями. И это как-то работало. В итоге, после доклада/статьи в голове все никак не могло сложиться в единую понятную картину.


Сейчас, оглядываясь назад, я понимаю, что мне тогда очень не хватало схематичного отображения, картинок, явно показывающих "что, откуда и куда". Поэтому в своем цикле статей я постараюсь восполнить данный пробел. Надеюсь, это поможет новичкам и всем заинтересованным лучше понять Dagger 2 и решиться попробовать его у себя в проекте. Могу сразу сказать, это стоит того.


И да, изначально я хотел написать одну статью, но материала и картинок вышло уж как-то много, поэтому информацию я буду выкладывать небольшими порциями, чтобы читатель мог постепенно погружаться в тему.

Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 22

Dagger 2 для начинающих Android разработчиков. Dagger 2. Продвинутый уровень. Часть 1

Reading time 14 min
Views 54K
Данная статья является шестой частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 23 декабря 2017 года. Перевод вольный.

Dagger 2 advanced part 1 image
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 4

Kodein — интересная альтернатива Dagger 2 для внедрения зависимостей в Kotlin

Reading time 8 min
Views 15K
Здравствуйте, меня зовут Владимир, я работаю главным ИТ-инженером в СберТехе, в команде Digital Business Platform. Как-то раз за обедом мы обсуждали плюсы-минусы Dagger 2 и то, что хотели бы поменять в своей реализации. Нас много, и кода мы, соответственно, тоже пишем много, так что на тот момент в нашем приложении уже было 100500 методов и полтонны dex-файлов. Пораскинув мозгами, пришли к выводу, что писать меньше у нас не получится, зато можно уменьшить количество генерируемого кода при компиляции. Так было принято решение искать альтернативу существующему мастодонту от компании Google.


Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 17

Советы по созданию современного Android-приложения. Лекция Яндекса

Reading time 18 min
Views 25K
Мы продолжаем публиковать материалы Школы мобильной разработки 2017 года. На очереди — большая лекция Android-разработчика Дмитрия Никитина из команды Яндекс.Почты. Дмитрий рассказывает, как подойти к созданию проекта с нуля, не потеряться среди множества библиотек и на что обратить внимание при выборе того или иного решения.


— Все вы как минимум пару месяцев программируете под Android. Возможно, кто-то программирует пару лет и уже от корки до корки прочитал developer.android.com. А возможно, нет. Но вы все наверняка знаете, как можно сделать многие вещи как минимум одним из способов. Но не секрет, что этих способов может быть много, у каждой команды они могут быть свои, и часто тот или иной способ выбран исключительно по историческим причинам.

Сегодня я хочу сделать небольшой обзор того, какие вообще есть альтернативы и средства разработки и на чем стоит акцентировать внимание при выборе той или иной библиотеки.
Total votes 47: ↑42 and ↓5 +37
Comments 0

Information

Rating
Does not participate
Location
Россия
Registered
Activity