Pull to refresh
0
0
Андрей Немцев @R2D2_RnD

Разработчик мобильных приложений

Send message

Лекции Технопарка. 1 семестр. Алгоритмы и структуры данных

Reading time2 min
Views148K
Очередной пост в рамках нашего цикла лекций Технопарка. В этот раз мы предлагаем вашему вниманию курс, посвящённый алгоритмам и структурам данных. Автор курса — Степан Мацкевич, сотрудник компании ABBYY.

Лекция 1. Основы


Начало первой лекции посвящено обсуждению основных понятий, на которых строится вся дальнейшая программа курса: что такое алгоритм и структура данных. Описаны базовые виды алгоритмов, их характеристики и методы анализа. Далее рассматриваются примеры создания алгоритмов для вычисления чисел Фибоначчи, проверки числа на простоту, быстрого возведения числа в целую степень. В конце лекции рассказывается об особенностях использования алгоритмов для работы с массивами: создание однопроходных алгоритмов, поиск минимального элемента, бинарный поиск.


Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments14

Руководство по ML.NET — первое приложение за 10 минут

Reading time3 min
Views34K
В прошлом году мы представили ML.NET, кросс-платформенную и открытую систему машинного обучения для разработчиков .NET. За это время она очень сильно развилась и прошла через множество версий. Сегодня делимся руководством по тому, как создать свое первое приложение на ml.net за 10 минут.

Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments9

Лёгкая настройка Asterisk + Fail2Ban

Reading time1 min
Views38K
В сентябре 2013 я опубликовал крайне популярную статью с таким-же названием. Однако с тех пор всё радикально поменялось со стороны fail2ban — добавлена поддержка asterisk «из коробки», а также с версии 0.9 радикально изменился формат конфигурационных файлов. Поэтому я публикую новую статью на эту тему, так как действия по настройке теперь тоже радикально иные.

До момента появления лога security в Asterisk 10-й версии fail2ban не мог корректно защищать asterisk от популярного вида атак — подбора sip пароля к экстеншенам, т.к. в обычных логах asterisk ip-адрес атакующего не отображался.
С появлением лога security эта проблема решена.

Если у вас Asterisk 10 и новее, его успешно можно использовать на пару с fail2ban. Настройка довольно простая.

Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments7

Интеграция ИС с ЕСИА посредством SAML

Reading time8 min
Views52K
Интеграция с ЕСИА

При выполнении очередного госзаказа наша команда столкнулась с проблемой интеграции сайта с ЕСИА. Инструкции по решению этой задачи в сети нет, кроме информации в официальных документах МинКомСвязи (примерно 300 страниц в трех регламентах). Также есть компании, которые оказывают платные услуги по интеграции ЕСИА. Мы реализовали, описали процесс интеграции и решили поделиться с сообществом habrahabr.

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments50

Современная MVI-архитектура на базе Kotlin

Reading time8 min
Views54K


За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их решение.

Это первая из нескольких статей, посвящённых разработке современной MVI-архитектуры на Kotlin.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments12

Будьте осторожны, — Байкал-Т1! Или история одного проекта с попыткой применения «импортозамещения»

Reading time8 min
Views160K
«Эффективные» менеджеры и поставщики компонентов могут смело проигнорировать этот материал. Эта заметка — для разработчиков аппаратуры, которые уже смотрят, или только собираются смотреть в сторону процессора Байкал-Т1. Так сказать, «информация к размышлению» о реальной истории общения с фирмой Байкал Электроникс (БЭ) и что в результате получилось из прикладного проекта с попыткой применения «импортозамещения».

Итак, все по порядку…
Читать дальше →
Total votes 247: ↑233 and ↓14+219
Comments304

Как стать более продуктивным с плагинами Android Studio

Reading time3 min
Views18K
image

Android Studio — очень надежный инструмент. Он имеет самый простой и вместе с тем самый гибкий интерфейс для разработки пользовательского интерфейса для всех типов устройств.
Мы можем перетаскивать элементы представления и виджеты в нашем редакторе макетов и детально настраивать через несколько строк в xml.

Студия обладает лучшими в отрасли инструментами для редактирования кода, отладки и отслеживания производительности.

Но иногда хочется, чтобы этот инструмент делал нас еще более продуктивными.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments10

Кораблестроение 17 века и ваши неудачные проекты по разработке: найдите пять отличий

Reading time3 min
Views36K
На конференции Monitorama Пит Чеслок из Threat Stack провел параллель между историей строительства шведского корабля «Васа» и провальными проектами по разработке. Делимся с вами отрывком его выступления.

image

Корабль «Васа» должен был стать главным боевым кораблем шведского флота, но затонул с порывом ветра при первом же выходе из гавани в 1628 году, 53 члена экипажа погибли. Выживший капитан был немедленно отправлен в тюрьму: на допросе он клялся, что пушки были надежно закреплены, и экипаж был трезв. После расследования никто не был наказан или признан виновным, и инцидент был классифицирован как «Воля Божья». Почему затонул корабль и причем тут управление проектами?
Читать дальше →
Total votes 99: ↑96 and ↓3+93
Comments40

30+ инструментов для профессиональной разработки приложений под Android

Reading time6 min
Views48K
image

В этой статье я собираюсь поделиться некоторыми из лучших инструментов для повышения производительности разработки и создания лучших приложений под Android. Я лично использовал эти инструменты уже довольно давно и нашел их действительно полезными.

Эти инструменты помогли мне сэкономить много драгоценного времени из моей повседневной жизни, а также помогли мне создавать более качественные приложения. Поэтому, не теряя времени, давайте познакомимся с новыми и потрясающими инструментами для профессиональной разработки приложений под Android.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments7

Реалистичный Realm. 1 год опыта

Reading time14 min
Views68K

Realm давно известен в среде мобильных (и не только) разработчиков. К сожалению, в рунете почти нет статей об этой базе данных. Давайте исправим эту ситуацию.

Год назад в build.gradle нашего проекта появилась строчка:

classpath "io.realm:realm-gradle-plugin:0.87.5" 

За этот год код Realm вырос до версии 3.3, обзавелся множеством фич и починил кучу багов, реализовал новый функционал и получил облачный бекенд. Давайте поподробнее поговорим о Realm в реалиях Andoroid разработки и обсудим тонкие моменты, возникающие при его использовании.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments7

Kotlin для Android: Теперь официально

Reading time4 min
Views36K
Вчера на конференции Google I/O 2017 команда Android объявила об официальной поддержке языка Kotlin для разработки Android-приложений. Это огромный шаг вперед для Kotlin, и отличная новость для всего сообщества Android-разработчиков.

Kotlin дает разработчикам Android-приложений возможность использовать мощный современный язык, код на котором получается более компактным и надежным, уменьшая вероятность падения приложений у пользователей. Kotlin прост в освоении и отлично сочетается с Java, что позволяет постепенно внедрять его в существующие проекты, не теряя накопленный опыт, навыки и технологии.

Плагин для поддержки Kotlin теперь входит в поставку Android Studio 3.0, так что разработчикам не нужно ставить дополнительные плагины или беспокоиться о совместимости. JetBrains и Google также берут на себя обязательство поддерживать разработку на Kotlin и в будущем, по мере развития Android-платформы.

При этом другие платформы, которые поддерживают Kotlin (Kotlin/JVM для разработки серверных и десктопных приложений, Kotlin/JS для браузера и Kotlin/Nativе для нативной разработки) остаются не менее важными для JetBrains. Наше видение заключается в том, чтобы создать единый инструмент, позволяющий разрабатывать все компоненты современного приложения на одном и том же языке, независимо от того, на какой платформе эти компоненты запускаются. Это включает в себя и full-stack веб-приложения, и мобильные клиенты под Android и iOS, и встраиваемые платформы IoT, и другое.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments101

Как я перешёл из системного администрирования в Android-разработку

Reading time8 min
Views73K


Несколько лет назад, я, как и другие начинающие Android-разработчики, решил найти работу в этой области. Если вы начинающий специалист, и не знаете, с чего начать изучение Android, или если вы уже обладаете определёнными знаниями в этой теме и планируете в скором времени устраиваться на работу, то этот материал для вас. По задумке, к данной статье вы будете возвращаться по мере накопления опыта: смотреть на каком этапе в данный момент находитесь и что изучать дальше.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments42

Несколько полезных сервисов. Продолжение

Reading time2 min
Views28K
Продолжая тему предыдущего поста Несколько полезных сервисов, хочу поделиться новыми ссылками.

Экспорт контента
  • rss-script.ru – сервис для вставки содержимого RSS-ленты на сайт. Для его работы необходимо лишь сгенерировать скрипт на сайте и вставить его себе. Есть несколько настроек, позволяющих изменить вид содержимого
  • twitterfeed.com позволяет постить содержимое RSS-ленты в Twitter, Facebook и LinkedIn. Достаточно простой сервис, нет дополнительных настроек, но есть счётчик кликов
  • ifttt.com – многофункциональный сервис, позволяющий связывать различные аккаунты (описание)

Песочницы
К уже названным ранее cssdesk.com и jsfiddle.net можно добавить dabblet.com, jsbin.com (добавил Jekyll). Также есть песочница для SQL – www.sqlfiddle.com (добавил volinrok).

Шаринг фрагментами текста/кода
Для того, чтобы поделиться фрагментом текста или кода, можно использовать всем известный pastebin.com, а можно воспользоваться его альтернативами:
Мне больше всех нравится Gist на GitHub. Во-первых, все текстовые фрагменты привязываются к вашему аккаунту; во-вторых, можно создавать несколько связанных Gist'ов; и в третьих, есть возможность комментирования.
Читать дальше →
Total votes 111: ↑101 and ↓10+91
Comments27

Так зачем же все таки нужны Refresh токены в OAuth?

Reading time3 min
Views17K
Наверняка каждый программист, работающий с OAuth 2.0, задумывался – зачем же нужны Refresh токены, неужели Access токенов недостаточно? 64 KB — Их должно хватать каждому!

Эта тема довольно активно дискутируется – вот и на Stackoverflow вопрос есть и на Хабре тоже обсуждается. Собственно, именно обсуждение на Хабре и заставило меня высказаться.

Все предложенные комментаторами и авторами мнения касаются безопасности двухтокенного подхода. Безусловно, так и должно быть, ведь безопасность – это главное для фреймворка авторизации/аутентификации! Но будем откровенны – во многих случаях использования подход с двумя токенами не дает никакого выигрыша в защищенности по сравнению с простым и тупым подходом с одним токеном. Или этого сразу не видно…

«Refresh токен можно хранить более защищенно!» — можно и нужно, хотя почти никто так не делает.
«Access token передается по сети чаще – и вероятность его утечки больше» — полноте, мы ведь всегда используем TLS, правда?
«Утечка Ассеss токена на так страшна как утечка Refresh токена» — да, и это тоже правда, именно поэтому в браузер Refresh токен и не выдается…

Есть много нюансов, есть много сценариев использования, при которых использование разных токенов становится полезным, просто видно их не сразу!

Но есть и еще один аргумент, который я почему-то ни разу не встречал – хотя он, на мой взгляд, полностью объясняет, зачем же нужен Refresh токен и почему нельзя, абсолютно, категорически нельзя обойтись только Access токеном.

Производительность.
Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments42

Рецепты под Android: Как вкусно приготовить LayoutManager

Reading time16 min
Views48K
Привет хабр!

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


Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments4

Детектор блокировок UI в WPF c нотификацией

Reading time3 min
Views14K


Приветствую!

Думаю что каждому из программистов попадалось приложение которое по тем или иным причинам блокировало UI. Причин у таких блокировок может быть множество, такие как: синхронные запросы к сервисам, выполнение долгих операций в UI треде и прочее.
В самом лучшем случае участки кода приводящие к блокировкам UI должны быть переписаны / исправлены, но это не всегда возможно по разным причинам и соответственно хочется получить некую серебряную пулю, которая сможет решить проблему с минимальной стоимостью.
О одной такой пуле и пойдет речь.

Подробности под катом.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments29

В Notepad++ появилась подсветка ошибок в проверке орфографии

Reading time1 min
Views110K


В замечательном редакторе наконец появилась (Upd. еще с 5 мая) подсветка ошибок в проверке орфографии! Для меня это очень долгожданное нововведение, которое очень сильно ждал и надеялся. В свое время даже хотел перескочить на другие редакторы из-за этой проблемы. В Notepad++ можно было до данного момента настроить проверку орфографию, но подсветки слов с ошибками не было, что сводило пользу от проверки орфографии на нет.

Далее расскажу, как настроить проверку русского и английского языка.
Читать дальше →
Total votes 87: ↑72 and ↓15+57
Comments61

Конкурс: Компания КРОК организует конкурс летающих роботов. Приз — миллион рублей

Reading time3 min
Views10K
Компания КРОК, входящая в пятерку крупнейших ИТ-компаний РФ*, открывает приём заявок на конкурс «Летающий робот». Конкурс проводится в рамках проекта «20 способов жить ярче». Главный приз 1000000 рублей
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments51

В MIT научили модель самолета самостоятельно избегать столкновений с препятствиями в тесных помещениях

Reading time1 min
Views8.6K
Специалисты Массачусетского Технологического Института создали автономную модель самолёта, которая может агрессивно маневрировать в стеснённых условиях на скорости до 10 м/сек. Самолёт определяет своё положение в пространстве с помощью гироскопов, акселерометров и лазерного дальномера. Бортовой компьютер работает на процессоре Intel Atom частотой 1,6 ГГц. Ключевой элемент системы — оптимизированный для полёта в реальном времени алгоритм Gaussian particle filter.


Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments30

Information

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