Pull to refresh
14
0
Alexey Dementyev @AlexeyVD

User

Send message

HowTo: Подключение к Cisco VPN с использованием Aladdin eToken в Linux (Ubuntu)

Reading time6 min
Views27K
Сравнительно недавно я решил перевести домашний компьютер с Windows на Linux. То есть идея такая бродила уже некоторое время, подогреваемая новостями с фронтов борьбы с добровольно-принудительной установкой Windows 10 и размышлениями о неизбежном устаревании «семерки» следом за XP, а вот поводом взяться за дело стал выход очередного LTS-релиза Ubuntu. При этом основным мотивом такого перехода я назову простое любопытство: домашний компьютер используется в основном для развлечений, ну а знакомство с новой ОС — развлечение не хуже прочих. Причем развлечение, как мне кажется, полезное в плане расширения кругозора. Дистрибутив же от Canonical был выбран просто как наиболее популярный: считаю при первом знакомстве с системой это немаловажным подспорьем.

Довольно быстро я на собственном опыте убедился, что для котиков и кино Ubuntu вполне подходит. Но, поскольку компьютер используется еще и для удаленной работы, для отказа от Windows не хватало настроенного подключения к Cisco VPN c авторизацией по eToken.

Набор программ


Было ясно, что для подключения понадобятся по меньшей мере драйвер токена и некий VPN-клиент. В результате поисков в сети получился такой список:

  1. OpenConnect — VPN-клиент, «совершенно случайно» совместимый с серверами Cisco «AnyConnect»
  2. GnuTLS — свободная реализация протоколов TLS и SSL. Что важно, в состав этой библиотеки входит утилита p11tool для работы со смарт-картами
  3. SafeNet Authentication Client — набор драйверов и дополнительных утилит, обеспечивающий работу с электронными ключами eToken

Поскольку для установки соединения OpenConnect-у требуется URL сертификата клиента, который можно узнать с помощью утилиты p11tool, и обеим программам требуется драйвер для работы со смарт-картой — с установки этого драйвера и начнем.
Настроить
Total votes 13: ↑12 and ↓1+11
Comments11

Эволюция планировщиков задач

Reading time12 min
Views19K


Приложение iFunny, над которым мы работаем, доступно в сторах уже более пяти лет. За это время мобильной команде пришлось пережить множество разных подходов и миграций между инструментами, а год назад появилось время перейти с самописного решения и посмотреть в сторону чего-то более «модного» и распространённого. Эта статья — небольшая выжимка о том, что было изучено, на какие решения смотрели и к чему в итоге пришли.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments11

Как работает SystemUI в Android

Reading time11 min
Views48K


В этой статье я разберу архитектуру и принцип работы основного приложения Android — SystemUI. Меня заинтересовала эта тема, потому что мне интересно, как устроена система, которой пользуется такое огромное количество пользователей и для которой ежедневно выкатываются тысячи приложений в Google Play или просто на просторы интернета. Помимо этого меня интересует вопрос информационной безопасности Android и создаваемых под него приложений.

В системе Android, SystemUI — это приложение, путь к исходному коду которого находится в platform_frameworks_base/packages/SystemUI/, на девайсе оно находится в system/priv-app/-SystemUI.

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments10

Мобильный уик-энд: бесплатная трансляция Mobius

Reading time4 min
Views1.7K


На этих выходных многие мобильные разработчики будут на Mobius 2018 Moscow, но этот пост — в первую очередь для тех, кого там не будет. У нас есть бесплатная онлайн-трансляция некоторых докладов, так что в выходной день можно будет открыть YouTube на любом подходящем устройстве (например, для пущей аутентичности на смартфоне, который используете в разработке) и узнать что-то полезное, не покидая любимый диван.

Какие именно доклады попали в открытую для всех часть? А что будет на конференции такого, что в трансляцию не попадёт? Все описания и заветная ссылка — под катом.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments0

Как использовать корутины в проде и спокойно спать по ночам

Reading time20 min
Views33K
Корутины — мощный инструмент для асинхронного исполнения кода. Они работают параллельно, общаются друг с другом и потребляют мало ресурсов. Казалось бы, без страха можно внедрять корутины в продакшен. Но страхи есть и они мешают.

Доклад Владимира Иванова на AppsConf как раз о том, что не так страшен чёрт и что можно прямо сегодня применять корутины:



О спикере: Владимир Иванов (dzigoro) — ведущий Android-разработчик в компании EPAM с 7-летним опытом, увлекается Solution Architecture, React Native и разработкой под iOS, а еще имеет сертификат Google Cloud Architect.
Total votes 34: ↑31 and ↓3+28
Comments36

Из Dribbble в Android Motion

Reading time4 min
Views5K


На просторах интернета много интересных анимированных шаблонов с красивыми пользовательскими интерфейсами мобильных приложений, но не так много примеров с реализацией этих интерфейсов. Несмотря на обилие различных встроенных фреймворков и инструментов в Android SDK, начинающему разработчику зачастую не просто реализовать красивый пользовательский интерфейс, в том числе и при наличии готового шаблона.

В этой статье мы поробуем реализовать пользовательский интерфейс, разработанный дизайнером Иваном Парфеновым для студии PLATES.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments1

Открытая бесплатная трансляция конференции Mobius 2018 Piter

Reading time8 min
Views3.3K


20-21 апреля, то есть уже завтра-послезавтра, в Петербурге пройдёт конференция по мобильной разработке Mobius. Android и iOS, разнообразные темы от многопоточности до тестирования, российские спикеры и зарубежные звёзды — о том, что там будет, мы уже писали.

А вот о чём ещё не сообщали: в оба дня конференции онлайн-трансляция первого зала будет бесплатной. Идти будет на YouTube, так что смотреть удобно где угодно — хоть на смартфоне, хоть на телевизоре. И хотя ничто не может заменить полностью личное присутствие, мы стараемся приблизить онлайн-опыт к нему. Например, зрители трансляции могут писать в специальный чат свои вопросы спикерам, а между докладами будут видеть интервью со спикерами и включения со спонсорских стендов. В общем, в оба дня запускайте трансляцию на самом удобном для вас экране и наслаждайтесь!

А какие именно доклады попали в доступную для всех трансляцию? Под катом — все их названия и описания.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments2

Видео докладов с MOSDROID #13 Aluminium

Reading time1 min
Views3.2K


В субботу 10-го ноября на площадке FunCorp прошёл MOSDROID #13 Aluminium. На митапе было 5 докладов от спикеров из Яндекс.Такси, Lamoda, FunCorp, Joom и Сбертеха, видео которых уже доступны к просмотру.

«Эволюция планировщиков задач», Алексей Макаров, FunCorp



Total votes 19: ↑19 and ↓0+19
Comments1

Drag и Swipe в RecyclerView. Часть 1: ItemTouchHelper

Reading time6 min
Views34K

Drag и Swipe в RecyclerView. Часть 1: ItemTouchHelper


Существует множество обучающих материалов, библиотек и примеров реализации drag & drop и swipe-to-dismiss в Android c использованием RecyclerView. В большинстве из них по-прежнему используются устаревший View.OnDragListener и подход SwipeToDismiss, разработанный Романом Нуриком. Хотя уже доступны новые и более эффективные методы. Совсем немногие используют новейшие API, зачастую полагаясь на GestureDetectors и onInterceptTouchEvent или же на другие более сложные имплементации. На самом деле существует очень простой способ добавить эти функции в RecyclerView. Для этого требуется всего лишь один класс, который к тому же является частью Android Support Library.

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments2

Как работает Android, часть 4

Reading time26 min
Views89K


Всем привет! Мы нашли время продолжить серию статей про внутреннее устройство Android. В этой статье я расскажу о процессе загрузки Android, о содержимом файловой системы, о том, как хранятся данные пользователя и приложений, о root-доступе, о переносимости сборок Android и о проблеме фрагментации.

Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments25

Топ-10 докладов Mobius 2018 Piter

Reading time5 min
Views5.9K


Весной мы провели в Петербурге конференцию по мобильной разработке Mobius, и до сегодняшнего дня видеозаписи докладов были доступны только её зрителям. Но теперь настало время поделиться со всем миром, и в этом посте представляем лучшую десятку.

Она составлена по оценкам зрителей, так что мы никак не влияли, но при этом сам собой возник баланс платформ: четыре доклада по Android, четыре по iOS, и два применимых для любой платформы. А темы докладов совсем разные, от нюансов ARKit и JobScheduler до реверс-инжиниринга и подхода к релизам — найти что-то для себя смогут самые разные разработчики.

Доклады в списке расположены по возрастанию рейтинга — так что чем дальше, тем интереснее!
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments0

Многомодульность в Android с точки зрения архитектуры. От А до Я

Reading time20 min
Views62K
Всем привет!

Не так давно мы с вами осознали, что мобильное приложение — это не просто тонкий клиент, а это действительно большое количество самой разной логики, которое нуждается в упорядочивании. Именно поэтому мы прониклись идеями Clean architecture, прочувствовали, что такое DI, научились использовать Dagger 2, и теперь с закрытыми глазами способны разбить любую фичу на слои.

Но мир не стоит на месте, и с решением старых проблем приходят новые. И имя этой новой проблемы — мономодульность. Обычно об этой проблеме узнаешь, когда время сборки улетает в космос. Именно так и начинаются многие доклады про переход на многомодульность (раз, два).
Но почему-то все при этом как-то забывают, что мономодульность сильно бьет не только по времени сборки, но и по вашей архитектуре. Вот ответьте на вопросы. На сколько у вас AppComponent большой? Не встречаете ли вы периодически в коде, что фича А зачем-то дергает репозиторий фичи Б, хотя вроде такого быть не должно, ну или оно должно быть как-то более верхнеуровнево? Вообще у фичи есть какой-то контракт? А как вы организовываете общение между фичами? Есть какие-то правила?
Вы чувствуете, что мы решили проблему со слоями, то есть вертикально все вроде хорошо, но вот горизонтально что-то идет не так? И просто разбиением на пакеты и контролем на ревью не решить проблему.

И контрольный вопрос для более опытных. Когда вы переезжали на многомодульность, не приходилось ли вам перелопачивать половину приложения, вечно перетаскивать код с одного модуля в другой и жить с несобирающимся проектом приличный отрезок времени?

В своей статье я хочу вам рассказать, как дошел до многомодульности именно с архитектурной точки зрения. Какие проблемы меня беспокоили, и как я их старался поэтапно решать. А в конце вас ждет алгоритм перехода с мономодульности на многомодульность без слез и боли.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments18

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity