Pull to refresh
57
-2
Роман Щёкин @QtRoS

Разработчик ПО/Teamlead

Send message

Пишем Hex Viewer для Flipper Zero

Level of difficultyMedium
Reading time11 min
Views12K

Примерно месяц назад основная поставка Flipper'ов таки доехала до России. Вопреки моим ожиданиям, это не вызвало волну публикаций про создание приложений под него. Хорошие публикации есть (например, эта и вот эта), но массовости нет. Слишком долго ждали и перегорели? Пишут долго и обстоятельно? Технологический стек устройства не подходит для быстрого и легкого старта? Как бы то ни было, такой расклад ничуть не убавил мотивации поиграться с устройством!! С удовольствием уделил несколько вечеров созданию своего первого приложения под Flipper Zero: Hex Viewer, шестнадцатеричного просмотрщика. О своем опыте и интересных находках расскажу в теле статьи.

Читать далее
Total votes 93: ↑91 and ↓2+89
Comments31

Энтерпрайз разработка с нуля

Reading time21 min
Views9.6K


На днях у меня появилась довольно интересная идея для статьи, основанная на следующей предпосылке: на Хабре ни разу не рассказывали об организации энтерпрайз разработки "от и до". В плане совсем с нуля и хотя бы до комфортного минимума. За отправную точку я буду брать ситуацию полнейшего хаоса, когда какой-то код существует на машине единственного разработчика, нет системы контроля версий, нет тестовых сред, код объектов БД существует только внутри эталонной продуктивной базы данных, нет никаких процессов сборки и установки, контроля качества кода и так далее. Возможно читатель задастся вопросом "Такое бывает в 2020 году? Разве кто-то еще так разрабатывает?" и будете только отчасти правы. Предлагаю обсудить детали под катом.

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments7

Мини-туториал: отключение third-party cookies

Reading time2 min
Views17K

Меня долго печалила ситуация с рекламой в Интернете. Стоит всего однажды зайти на продающий какие-либо товары сайт, как тут же начинаешь видеть соответствующую рекламу в соцсетях, в почте, даже в чёртовом музыкальном плеере на телефоне (да, в Xiaomi докатились и до этого). Причем неважно с какой именно целью ты зашел на сайт — быть может просто решил уточнить характеристику устройства, или уточнить модель девайса, о котором рассказал другу. Это совершенно не важно, итог один: несколько недель тебе будут показывать злополучные стиральные машинки, мониторы и так далее. Знакомая ситуация? Я уверен, что да!


Есть достаточно прямолинейный (и довольно древний, спасибо замечанию polar_yogi) способ исправить положение дел. Под спойлер спрячу краткое описание того, как работает такая слежка. Инструкция по отключения уже в следующем абзаце.

Читать дальше →
Total votes 8: ↑4 and ↓40
Comments10

Машинное обучение на помощь руководителю разработки

Reading time12 min
Views3.3K


Интро


Интерес к теме машинного обучения и искусственного интеллекта неуклонно растет. Ежедневно в новостных сводках мы читаем про победу искусственного интеллекта над человеком. Как правило, описывается решение некоторой сложной задачи (челенджа). От жгучего желания воспроизвести результаты статьи во благо человечества (или своего собственного) в 99% случаев отговаривает отсутствие датасета, деталей реализации алгоритма и мощного железа (порой сотни единиц специализированных устройств для тензорных вычислений).


С другой стороны, есть много статей о решении задач машинного обучения на примере нескольких публичных затертых до дыр датасетов: MNIST, IMDB, ENRON, TITANIC. С ними ситуация обратная — все вершины уже покорены, алгоритмы известны, можно добиться рекордных цифр даже на простеньком ноутбуке. Снова мимо. Гораздо сложнее найти материал о практическим применении МО для решения повседневных задач. Данная статья, как можно догадаться, как раз из этой серии. На подробном практическом примере попробуем выяснить, можно ли собрать личного интеллектуального помощника (пусть и узкоспециализированного), сложно ли это, какие знания нужны и какие проблемы подстерегают на этом пути.

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

Как Qt сделал студента [человеком]

Reading time11 min
Views11K

Данная статья в большей степени автобиографическая, душевный пересказ интересного периода жизни. Выражаясь фигурально, можно назвать это одой Qt. Надеюсь, что статья будет интересна всем, в особенности студентам и начинающим разработчикам — возможно, кто-то увидит в ней себя. Я постараюсь интересно рассказать свой путь в разработке, уделяя особенное внимание месту в нем финского фреймворка.


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

Qt на Android: как мы дали вторую жизнь приложению с авторскими медитациями

Reading time11 min
Views13K

Краткое лирическое вступление — в 2017 году мне случилось очень плотно заинтересоваться медитациями. Этому способствовала целая цепочка событий, благоприятных и не очень. Я долгие годы интересуюсь и практикую осознанные сновидения, однако конкретно медитациями в их каноническом виде до этого заниматься не приходилось. В эти дни многие истории начинаются в баре (с) увлечения начинаются с поиска в Google, вот и я начал именно так. Практически сразу нашлись топовые по популярности приложения для занятия медитацями — Calm и Headspace.


Первое послужило неплохое отправной точкой (отличные обучающие медитации для начинающих), второе я не нашел для себя полезным, не понравилась подача. Оба оттолкнули своими платными (и надо сказать весьма дорогостоящими для РФ) тарифными планами. Возможно я просто не отношусь к категории людей, которым нужно заплатить, чтобы подбадривать себя чем-то заниматься :) Продолжная изучать Google play, я наткнулся на два близких мне по духу бесплатных приложения. Первое это "Let's Meditate" — я пользуюсь им по сей день, о втором речь пойдет в теле статьи.

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

ML.NET: впечатления от Model Builder и не только

Reading time10 min
Views13K

Доброго времени суток и мое почтение, читатели Хабра!


Предыстория


У нас на работе принято обмениваться интересными находками в командах разработки. На очередной встрече, обсуждая будущее .NET и .NET 5 в частности, мы с коллегами заострили внимание на видении унифицированный платформы с этой картинки:
image
На ней показано, что платформа объединяет DESKTOP, WEB, CLOUD, MOBILE, GAMING, IoT и AI. Мне пришла в голову идея провести беседу в формате небольшого доклада + вопросов/ответов по каждой теме на следующих встречах. Ответственный за ту или иную тему предварительно готовится, вычитывает информацию об основных новшествах, пробует что-то реализовать с помощью выбранной технологии, а затем делится с нами своими мыслями и впечатлениями. В итоге все получают реальный отзыв об инструментарии из проверенного источника из первых уст — очень удобно, учитывая то, что самому попробовать и поштурмить все темы может быть не сподручно, банально руки не дойдут.


Поскольку я некоторое время активно интересуюсь машинным обучением в качестве хобби (и иногда использую для небизнесовых задачек в работе), мне досталась тема AI & ML.NET. В процессе подготовки я наткнулся на замечательные инструменты и материалы, к своему удивлению обнаружил, что про них очень мало информации на Хабре. Ранее в официальном блоге Microsoft писали про релиз ML.Net, и Model Builder в частности. Я бы хотел поделиться тем, как вышел на него и какие получил впечатления от работы с ним. Статья больше про Model Builder, чем про ML в .NET в целом; мы постараемся посмотреть на то, что предлагает MS среднему .NET-разработчику, но глазами подкованного в ML человека. Постараюсь при этом держать баланс между пересказыванием туториала, совсем уж разжевыванием для новичков и описанием деталей для ML-специалистов, которым почему-то потребовалось прийти в .NET.

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

Canonical прекратит разработку Unity, Mir и Ubuntu Phone

Reading time2 min
Views45K
image

Что же, очередная громкая новость про Ubuntu за моим авторством, но повод в этот раз очень грустный: компания Canonical забрасывает разработку Ubuntu Phone, а так же дисплейного сервера Mir и оболочки Unity (и 7, и 8 версии). Интерес к убунтуфону более или менее плавно затухал, закрытие проекта не такая уж неожиданность, но решение касаемо Unity — полный шок. В версии 18.04 планируется снова вернуться к Gnome. Иначе говоря, компания отказывается от идеи «сходимости» (convergence) пользовательского интерфейса на девайсах разных форм-факторов. Под катом немного моих размышлений по теме.
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments380

tiny-dnn — анонс библиотеки

Reading time3 min
Views16K
image

Пока TensorFlow активно завоевывает мир, воюет за аудиторию с такими крупными игроками рынка машинного обучения и глубоких нейронных сетей как Keras, Theano и Caffe, другие менее грандиозные проекты тем временем партизанят, пытаясь занять хоть какую-нибудь нишу. Про один из таких проектов я как раз и хотел сегодня рассказать ввиду полного отсутствия информации о нем на Хабрахабре. Итак, tiny-dnn — это полностью автономная C++11 реализация глубинного обучения, созданная для применения в условиях ограниченных вычислительных ресурсов, встроенных систем или IoT. Подробности под катом.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments23

История моего участия в Ubuntu Scope Showdown 2016

Reading time6 min
Views4.1K

15 января 2016 года был аннонсирован ежегодный конкурс Ubuntu Scope Showdown! Участникам предлагалось в течение шести недель разработать с нуля и опубликовать в магазине приложений свой скоуп для Unity 8 (официальный перевод слова scope как «линза» совсем не радует, поэтому пусть будет просто скоуп). За эти полтора месяца было разработано порядка 15 скоупов, еще полтора месяца шло голосование жюри (в три раза дольше заявленных двух недель). В результате победителями оказались Roman Shchekin, Ricardo Silva, Michael Weimann и Pieter Engelbrecht. О своем же опыте участия я бы хотел рассказать под хабракатом.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments3

Официальный релиз первого телефона с Ubuntu Phone внутри

Reading time1 min
Views83K
Дорогие друзья, хочется рассказать вам о том, что состоялся долгожданный и неоднократно откладываемый релиз Ubuntu Phone!

Вкратце о новинке


image
Первый телефон выпустила испанская компания BQ, он носит название Aquaris E4.5 Ubuntu Edition (вторая часть которого намекает, что телефон и ранее присутствовал на рынке и просто был адаптирован под UP). Сам по себе телефон имеет довольно скромные характеристики (которые можно увидеть под катом), однако и цена соответствующая — €169.90 (или примерно $190). Из этого несложно сделать вывод, что конкретно эта модель будет в первую очередь бороться за рынок бюджетных устройств (где доминирует Android и уже показывает неплохую конкуренцию Windows, например). Продажи начнутся в понедельник, 9 февраля.
Подробности
Total votes 61: ↑52 and ↓9+43
Comments66

Про QML и новое REST API Яндекс.Диска

Reading time7 min
Views15K
Доброго времени суток, друзья!
В последнее время на хабре совсем перестали появляться статьи на тему QtQuick\QML Про Ubuntu SDK (основанном на QtQuick) и вовсе тишина, а ведь в настоящий момент это основной инструментарий, предлагаемый для разработки приложений под Ubuntu (ни много ни мало самый популярный Linux-дистрибутив). Захотелось в меру своих возможностей исправить эту ситуацию с помощью написания данной статьи! Объять необъятное пытаться не стоит, поэтому начну, пожалуй, с повествования о том, как мне удалось заменить большой объем кода на C++ кодом на QML (в приложении под Ubuntu SDK). Если вам стало интересно, а может быть еще и непонятно, причем тут Яндекс.Диск, то прошу под кат!
image
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments15

Ubuntu Phone, Core Applications. Взгляд изнутри

Reading time5 min
Views44K
Доброго времени суток, хабрачеловек!


image


На домашней странице Ubuntu снова обратный отсчет. Подпись гласит «The line where / two surfaces meet». Я не знаю, к какому событию он приурочен, но в коментариях на одном сайте здорово шутят — «Canonical выпустит холодильники с Ubuntu». И если речь идет об Ubuntu Phone, то подпись очень даже правдивая. С одной стороны шквал негатива («Еще одна мобильная ОС» и т.д. и т.п.), с другой — искреннее желание как можно скорее увидеть релиз своей любимой ОС на своем смартфоне. Как вы можете помнить, вместе с анонсом Ubuntu Phone так же сообщалось о привлечении волонтеров в разработку 12 базовых приложений для это ОС (core applications). Так вышло, что будучи членом одной из команд, я обладаю некоторой информацией, которая может показаться интересной. Статья не претендует на «взгляд из самых первых рядов», а в формате простого повествования рассказывает о некоторых деталях нашей работы изнутри. К тому же я, помнится, обещал делиться информацией о ходе процесса. С другой стороны, я не могу безэмоционально все рассказывать, так что в статье много нетехнических деталей и художественного повествования. Но если Вы заинтересованы, прошу под кат!
Читать дальше →
Total votes 94: ↑89 and ↓5+84
Comments50

Расширение Google Chrome — корзина вкладок

Reading time6 min
Views13K

Пролог


Доброго времени суток, уважаемый посетитель ХабраХабра!
В этот очередной в нашей с Вами жизни день знаний (который я, однако, провел исключительно за работой, а не учебой), под влиянием данной статьи, пишу повествование о моем опыте создания расширения для Google Chrome – TabBasket (не знаю, как Вы, но я на названия неказист). Статья оформлена в смешанном стиле – перекликаются элементы урока, а так же пояснения по коду и описание ключевых моментов.
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments10

Создание гибридного Qt Quick и C++ приложения

Reading time6 min
Views31K
Добрый день, %username%!

Небольшая предыстория:

Некоторое время назад делал знакомому лабораторную, тематика которой – код Хэмминга. Программа представляла собой обыкновенное Qt приложение с минимальным набором контролов. Сдача прошла успешно, прошло некоторое время, и его теперь другу необходимо тоже сдать лабораторную на эту же тематику. Ту же программу, очевидно, сдавать нельзя. Тут возникает вопрос – как сделать программу с тремя кнопками и двумя текстбоксами непохожей на предыдущую? Мне в голову пришла мысль переписать интерфейс с помощью Qt Quick, а логику и расчеты программы оставить в С++, а заодно и рассказать интересующимся людям, как я обычно делаю подобные вещи. По Qt Quick не так много литературы, тем более на русском, так что очень надеюсь, что данная статья будет полезна и интересна.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments21

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead