[Из песочницы] Разбираемся с Conductor

Сейчас набирает обороты библиотека Conductor, однако в сети не очень много информации по её использованию, а из официальных источников доступны только примеры. Эта статья призвана дать вводный курс по Conductor и убрать некоторые грабли с вашего пути. Статья рассчитана на тех кто уже имеет некоторый опыт в разработке Android.

Conductor позиционируется как замена стандартным фрагментам. Основная идея обернуть View и дать доступ к методам жизненного цикла. Conductor имеет свой жизненный цикл, который сильно проще чем у фрагметов, но и в нём есть свои хитрости (об этом дальше).

Основные преимущества, которые даёт Conductor:

  • Упрощение кода
  • Транзакции выполняются мгновенно
  • Возможность построить приложение на одной Activity
  • Не ограничивает в выборе архитектуры приложения
  • Легко встраиваемые анимации
  • Отсутствие необходимости сохранять состояния между изменениями конфигураций

Так же в коробке вы получите:

  • Работа с бэкстеком
  • Стандартные коллбеки активити легко доступны
  • Несколько стандартных анимаций
  • Привязка жизненного цикла к RxJava
  • Быстрая интеграция с ViewPager

Далее мы с вами разберём несколько типовых кейсов использования, которые встречаются почти во всех приложения и попробуем разобраться в жизненном цикле контроллера.

Continue reading

[Перевод] QR-коды — проблемы безопасности: не поторопились ли мы

imageQR-код — хаотично расположенные маленькие черные квадраты на белом фоне — не так прост, как кажется. QR-коды более совершенны, чем одномерный штрих-код, — они имеют более высокую емкость хранилища и могут хранить различные типы символов. По сути, эти коды похожи на физические гиперссылки, поскольку при их сканировании пользователь переходит на внешнюю ссылку или сайт. Их также часто относят к модели ведения бизнеса O2O (оффлайн-для-онлайн).

Изначально созданные в 1994 году компанией Denso Wave (дочерняя компания Toyota) для использования в японской автомобильной промышленности, QR-коды постепенно начинают использоваться разными компаниями по всему миру.

Самый популярный и самый прибыльный вариант использования QR-кодов — в индустрии платежей. Финансовые учреждения долго искали способ повысить качество обслуживания клиентов и увеличить показатель «простоты использования» своих платежных процессов. Революция смартфонов в конце 2000-х годов стимулировала развитие цифровых и мобильных платежей. Появление QR-кодов стало настоящим чудом, так как теперь любой пользователь смартфона может совершить платеж по мановению руки. В наше время, когда смартфоны широко распространены в обществе, QR-коды нашли свое место в большинстве розничных магазинов, электронной коммерции, оплате счетов и всевозможных встроенных мобильных платежах.
Continue reading

Справочник «пчеловода» или отвечаем на вопросы по микроконтроллерам EFM8 Bee

Микроконтроллеры семейства EFM8 Bee с каждым днем становятся всё популярнее и уже накопился список частых вопросов, на которые приходится регулярно отвечать. Решил разместить их здесь, чтобы люди, которые стесняются задавать вопросы инженерам компании «ЭФО», могли найти ответы через поисковик.

Для читателей, кто не знаком с микроконтроллерами EFM8 Bee, вкратце изложу основные особенности этих кристаллов, ответив тем на уже наверняка возникший вопрос: Чем особенны микроконтроллеры EFM8 Bee?
Continue reading

Пятничная дискуссия: российская vs зарубежная IT – компания. Почему все стремятся работать в Google

Google сегодня – мир удивительных возможностей для ИТ-специалистов различных специальностей, навыков и опыта.

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

И стоит отметить, что компания хорошо вложилась в создание технического рая из 70 офисов в 40 странах мира, в которых уже сейчас творят более 60 000 сотрудников и функционирует секретная лаборатория Google X.


Continue reading

Разработка шахматной программы

Было ли вам когда-либо интересно написать свою шахматную программу? Настраивать и развивать её, проверять её на знакомых любителях шахмат и радоваться её победам. Но как написать такую программу? Об этом я и расскажу в этой статье.
Continue reading

Эксперименты с malloc и нейронными сетями

Больше года назад, когда я работал антиспамщиком в Mail.Ru Group, на меня накатило, и я написал про эксперименты с malloc. В то время я в свое удовольствие помогал проводить семинары по АКОСу на ФИВТе МФТИ, и шла тема про аллокацию памяти. Тема большая и очень интересная, при этом охватывает как низкий уровень ядра, так и вполне себе алгоритмоемкие структуры. Во всех учебниках написано, что одна из основных проблем динамического распределения памяти — это ее непредсказуемость. Как говорится, знал бы прикуп — жил бы в Сочи. Если бы оракул заранее рассказал весь план по которому будет выделяться и освобождаться память, то можно было составить оптимальную стратегию, минимизирующую фрагментацию кучи, пиковое потребление памяти и т.д. Отсюда пошла возня с ручными аллокаторами. В процессе раздумий я натолкнулся на отсутствие инструментов логирования malloc() и free(). Пришлось их написать! Как раз про это была статья (а ещe я изучал macOS). Были запланированы две части, однако жизнь круто повернулась и стало не до malloc(). Итак, пора восстановить справедливость и реализовать обещанное: ударить глубоким обучением по предсказанию работы с кучей.

Внутри:

  • Совершенствуем libtracemalloc, перехватчик malloc().
  • Строим LSTM на Keras — глубокую рекуррентную сеть.
  • Обучаем модель на примере работы реального приложения (vcmi/vcmi — а вы думали, причем здесь Heroes III?).
  • Удивляемся неожиданно хорошим результатам.
  • Фантазируем про практическое применение технологии.
  • Исходники.

Интересно? Добро пожаловать под кат.

Continue reading

Чем отличается Bitcoin от других криптовалют

Уже неделю рву на себе волосы и думаю, что помешало мне вложить лишние 100 баксов в биткоины пару лет назад? Даже на прошлой неделе был шанс сесть в уходящий поезд и выйти в плюс. На фоне грусти и печали довелось покопаться в зарубежной прессе. Под катом любопытный рассказ Джимми Сонга о том, как и чем биткоин отличается от других криптовалют. Continue reading

Топ-10 докладов конференции Гейзенбаг 2016 Moscow

Сегодня пятница, впереди выходные и много свободного времени – пора публиковать десятку лучших докладов с Гейзенбаг 2016 Moscow! Подборка получилась весьма разнообразная и охватывает тестирование со всех сторон. Рейтинг, как всегда, предельно объективен, никем не проплачен и основан на отзывах тех, кто был на докладах.

Впрочем, вы можете проверить всё сами: полные видео докладов под катом.
Continue reading

Как мы выигрывали хакатон в Нью-Йорке

победа
24 часа спустя

Пару месяцев назад коллеги с моей новой работы предложили присоединиться к ним и принять участие в крупном хакатоне в Нью-Йорке. Сначала я удивился, зачем лететь так далеко, но немного изучив тему, понял, что по-настоящему крупные хакатоны проходят не так уж и часто, и майский TechChrunch Disrupt является одним из наиболее уважаемых и крупных среди подобных мероприятий. У ребят к тому моменту уже было за плечами несколько побед в других хакатонах, и мне тоже захотелось проявить себя, поэтому недолго думая я зарегистрировался, купил билеты и с нетерпением стал ждать 12го мая…

Continue reading

[Перевод] Stack Overflow вывел из Vim уже больше миллиона пользователей

На днях один популярный вопрос на Stack Overflow отпраздновал свой юбилейный миллионный просмотр.

Ты не одинок, jclancy. За пять лет, которые прошли, с тех пор как был опубликован этот пост, больше миллиона других разработчиков постигла та же участь — они застряли в Vim и не могли выбраться без посторонней помощи. Не зря в IT сообществе столько шуток о том, как трудно найти выход из этого редактора.
Continue reading