Как стать автором
Обновить
42
0
Кирилл Бубочкин @ookami_kb

Software Developer

Отправить сообщение

Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги?

Уровень сложностиПростой
Время на прочтение36 мин
Количество просмотров141K

На Хабре неоднократно в комментариях звучало мнение, что Россия впереди планеты всей по онлайн‑сервисам. Мол, у нас и госуслуги, и финтех, и такси, и доставки — все на высочайшем уровне, а в остальных странах, а особенно в отсталой Европе бедные бюргеры до сих пор стоят в многочасовых очередях, заполняют вручную тонны бумажек и ждут в очередях на кассах чтобы сделать банковский перевод, а курьер не привезет им ночью смузи в течении получаса после заказа. Давайте разбираться, так это или нет.

Читать далее
Всего голосов 283: ↑246 и ↓37+209
Комментарии1131

Как я победил хаос умных устройств, или Цифровая трансформация жилого пространства

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров34K

Несколько лет назад я увлекся проектированием системы умного дома и создал для себя удобное пространство, в котором не нужно открывать дверь курьеру или включать настольную лампу для работы. Покажу, что подключил и как работает система. Сразу спойлер: умный дом не зависит от наличия интернета или облачных сервисов.

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии112

Автоматизированное тестирование на Flutter: нативные тесты или кроссплатформенные решения

Время на прочтение18 мин
Количество просмотров7.7K

Стабильный пакет для работы с E2E и Widget-тестами был включен во Flutter-фреймворк не так давно — в начале декабря 2020 года. Разбираемся в нюансах автотестирования мобильных приложений в рамках Flutter-фреймворка: плюсы, минусы, костыли.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии1

makesure — make с человеческим лицом

Время на прочтение8 мин
Количество просмотров6.4K

Многие ли из вас используют всевозможные вспомогательные shell-скрипты в своих проектах? Это также могут быть Python или Perl скрипты. Обычно такие скрипты используются на этапе сборки или для других задач автоматизации проекта.


Примерами таких задач могут служить:


  • вспомогательные скрипты для Git,
  • запуск тестов/линтеров,
  • запуск необходимых докер контейнеров,
  • запуск БД-миграций,
  • собственно, сборка проекта,
  • генерация документации,
  • автоматизация публикации релизов,
  • развертывание и т.д.

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


Make — пожалуй, наиболее известный из подобных инструментов.


Похожий функционал известен разработчикам nodejs и любим ими в виде скриптов в package.json (npm run-scripts). Ветераны Java вспомнят Ant.


Но nodejs/Ant требуют установки, make хоть и способен выполнять функции task runner довольно неудобен в этой роли, будучи на самом деле очень олдскульным build tool со многими вытекающими "особенностями".


А shell-скрипты требуют некоторой системы и неизбежной рутины в написании (обработка аргументов, help-сообщения и т.д.).


Хотя, например, Taskfile представляет прекрасный шаблон для подобных скриптов.


Так и родился makesure.

Что это?
Всего голосов 11: ↑10 и ↓1+9
Комментарии50

Elementary: новый взгляд на архитектуру Flutter-приложений

Время на прочтение6 мин
Количество просмотров12K

Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки.

Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере реального приложения показываем, как использовать Elementary.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии12

Flutter: автоматизация UI тестирования

Время на прочтение10 мин
Количество просмотров9.9K

Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии9

Dart Code Metrics 4.0: команды, поддержка монорепозиториев и новые правила

Время на прочтение8 мин
Количество просмотров2.6K

В предыдущей статье мы анонсировали Dart Code Metrics — инструмент статического анализа кода. Сегодня я расскажу про новые возможности, которые появились в Dart Code Metrics с выходом очередного мажорного обновления. Поговорим про появление команд, поддержку монорепозиториев, улучшения в интеграции с CI/CD, и, конечно же, про новые правила для анализатора. Теперь у инструмента появился сайт с документацией, его можно найти здесь.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии4

Полезные консольные Linux утилиты

Время на прочтение13 мин
Количество просмотров109K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Всего голосов 118: ↑114 и ↓4+110
Комментарии110

Повышаем качество кода с Dart Code Metrics

Время на прочтение8 мин
Количество просмотров7.1K

Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделиться возможностями инструмента с сообществом. Он помог нам в Wrike решить часть проблем на фронтенде, и, надеемся, поможет и вам.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии2

Магия асинхронных операций: взгляд изнутри. Future

Время на прочтение15 мин
Количество просмотров13K

Бу́дущее — гипотетическая часть линии времени, множество событий, которые ещё не произошли, но могут произойти.

Этот месяц может определённо пройти под девизом "Даёшь асинхронность!", на хабах Dart и Flutter. Неудивительно, ведь асинхронный и реактивный подход являются основой работы языка и фреймворка.

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

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Как создать кастомный плагин для Dart-анализатора

Время на прочтение6 мин
Количество просмотров2.1K

Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. В этой статье я расскажу про то, как написать плагин для анализа кода на Dart. Текст будет полезен тем, кому не хватает текущей функциональности дартового анализатора по статическому анализу или если вам просто захочется попробовать написать простой анализатор самостоятельно.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии2

Как «приручить» консоль, или 5 шагов к жизни с командной строкой

Время на прочтение15 мин
Количество просмотров24K

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

Статья для тех, кто использует Linux или macOS. Если у вас Windows, вы можете использовать WSL (приравнивается к Ubuntu).

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии33

Фантастика 2020 года, которую стоит почитать

Время на прочтение6 мин
Количество просмотров109K


Под конец года принято подводить итоги и кажется стоит вспомнить, что же было в этом непростом году хорошего. Например, я читал много отличных книг (что еще делать дома?). Вот немного про самые примечательные из них или, по крайней мере, те, которые сильнее всего запомнились мне.
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии112

DartUP 2020: итоги и видеозаписи докладов

Время на прочтение1 мин
Количество просмотров2.1K


Вот и отгремел DartUP 2020! Два дня мы слушали доклады про Dart и Flutter, играли в Code Kombat и Bugz Arena и общались с участниками и спикерами в SpatialChat. Получилось ничуть не менее атмосферно, чем в офлайне. В этой статье мы подведем итоги конференции и поделимся с вами видеозаписями докладов на русском и английском.
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Как Uber переписал приложение iOS на Swift

Время на прочтение9 мин
Количество просмотров15K
Итак, друзья, садитесь в кружок и послушайте историю самой большой инженерной катастрофы, в которой я участвовал. Это история о политике, архитектуре и логической ошибке невозвратных затрат (вы уж извините, просто сейчас пью Aberlour Cask Strength Single Malt Scotch).


Шёл 2016 год. Трампа ещё не избрали президентом, поэтому движение #DeleteUber пока не началось. Трэвис Каланик оставался гендиром, мы переживали фазу гиперактивного роста с открытием филиалов в других странах, общественные настроения в целом позитивные, все довольны, Uber на высоте.
Всего голосов 34: ↑34 и ↓0+34
Комментарии45

DartUP 2020: архитектура Dart VM, non-nullability в действии и Flutter для бизнеса

Время на прочтение4 мин
Количество просмотров3.4K


Уже 4 и 5 декабря пройдет DartUP — конференция по Dart и Flutter на русском и английском языках. Обычно в это время мы смотрим площадку, печатаем стикеры и запасаем в офисе коробки со свежеприготовленным Dart-пивом. Но в этом году все будет по-другому. Под катом рассказываем про темы докладов, спикеров и онлайн-активности, которые нас ждут на DartUP 2020.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

DartUP 2020: в этом году онлайн и с известными спикерами

Время на прочтение2 мин
Количество просмотров1.4K


4-5 декабря уже в четвертый раз Wrike при поддержке Google проведет DartUP — единственную в России конференцию по Dart и Flutter. Современная реальность внесла коррективы в наши планы, поэтому в этом году DartUP пройдет в онлайн-формате. Это значит, что мы не будем обращать внимание на границы, трудности с логистикой и часовые пояса и позовём самых крутых спикеров, которые поделятся новостями об экосистеме Dart и практическим опытом.
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Глубже в дебри ФП

Время на прочтение23 мин
Количество просмотров9.8K

Прежде чем начать, зацените эту красоту! Это — игра "жизнь" на языке APL:



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


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


Расчехляйте свои абстрагаторы ...
Всего голосов 23: ↑22 и ↓1+21
Комментарии22

Глупость и излишняя уверенность. 13 качеств хорошего руководителя

Время на прочтение7 мин
Количество просмотров12K


Я инженер и дизайнер. Мне нравится представляться людям именно так, особенно в Европе. Слово «инженер» там носит интересный налёт загадочности, интеллектуальности и богатства. В общем, очень помогает заводить новых знакомых.

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

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

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

В очередной раз планируя проект, поймал себя на мысли «Ну, архитектуру REST API я-то и сам могу сделать. Заодно функциональные требования напишу и нарисую дизайн для MVP. Там же немного совсем». И тут в голове захохотал голос:
— Сказочный ты руководитель, раз самому приходится всё делать.

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

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии15

Мой топ IT книг из прошлого века, актуальных до сих пор

Время на прочтение5 мин
Количество просмотров64K

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

Disclaimer: это мой личный топ из тех книг, которые я лично прочитал, и у которых первое издание было в прошлом веке, даже если она переиздавалась недавно (при условии актуальности именно того издания, которое было в прошлом веке).

В данном топе книги не упорядочены по важности, они все очень хорошие, но есть одна книга, которая равнее других.

Читать далее
Всего голосов 69: ↑68 и ↓1+67
Комментарии55
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Mobile Application Developer
Lead
Flutter
Dart
Kotlin
Development of mobile applications
Android development
iOS development
SWIFT