Pull to refresh
10
0
Юрий Петров @mrDevGo

Руководитель отдела разработки во Friflex

Send message

Готовьте ваши приложения, это аудит безопасности

Level of difficultyEasy
Reading time5 min
Views1.1K

Привет, Хабр! Меня зовут Юра Петров, я руководитель отдела разработки в компании Friflex и автор канала «Мобильный разработчик»

Эта статья — про аудит безопасности приложений, ту самую вещь, о которой часто задумываются уже после того, как что-то пошло не так. Если вы были на CrossConf, то помните, что это тема моего выступления и она довольно объемная. Поэтому статей будет несколько.  

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

Читать далее

Дружим RabbitMQ и Flutter/Dart

Level of difficultyMedium
Reading time9 min
Views1.2K

Привет, Хабр! Я Юра Петров, руководитель отдела мобильной разработки в Friflex и автор телеграм-канала «Мобильный разработчик».

В этой статье хотел бы поделиться с вами опытом работы с брокером сообщений RabbitMQ из Dart кода.

Читать далее

Flutter в своей продакшн-эре и другие откровения на Flutter in Production

Reading time4 min
Views2.6K

Привет, Хабр! Я Юра Петров, Tech Lead в Friflex и автор телеграм-канала «Мобильный разработчик»

Смотрели Flutter in Production? В этой статье расскажу, что говорит команда Flutter о прошлом, настоящим и будущем фреймворка, и отмечу, что показалось особенно интересным.

Читать далее

Как начать создавать Flutter-приложения на Авроре: полная инструкция

Level of difficultyEasy
Reading time5 min
Views3.7K

Привет Хабр, это Юра Петров, Tech Lead Friflex. Последнее время многие меня спрашивают, как быстро начать разрабатывать приложения для системы Аврора с помощью фреймворка Flutter. Решил поделиться опытом и собрал ультимативный гайд. Всё, что я буду показывать, я буду делать на чистой системе Linux Mint. И в целом я рекомендую установить Linux для работы с Авророй, параллельно вашей системе. Это избавит вас от многих проблем. Я буду описывать процесс так, как будто вы никогда не использовали Linux.

Читать далее

Flutter vs Kotlin Multiplatform: что выбрать

Level of difficultyEasy
Reading time10 min
Views12K

Мобильный разработчик Droids On Roids сравнил два кроссплатформенных фреймворка, Kotlin Multiplatform и Flutter, и рассказал, для каких проектов каждый из них подходит. 

Я, Flutter Tech в Friflex Lead Юра Петров, перевел эту статью и предлагаю сообществу обсудить особенности фреймворков.

Читать далее

Flutter 3.22: что нового

Level of difficultyEasy
Reading time12 min
Views2.9K

WebAssembly, улучшения рендеринга графики и дополнительные возможности для интеграции ИИ.

Я, Юра Петров, Flutter Tech Lead в Friflex, делюсь первым переводом официального релиза Flutter 3.22 от Google с комментариями.

Читать далее

Вышел Dart 3.4

Level of difficultyEasy
Reading time5 min
Views1.6K

Вышла новая версия языка Dart — 3.4. Появились обновления для WebAssembly и предварительная версия макроса JsonCodebale. Исправлено более 50% ошибок анализатора. 

Читайте первый перевод официального релиза от Юрия Петрова, Flutter Tech Lead в Friflex и автора тг-канала Мобильный разработчик.

Читать далее

Как автоматизировать заполнение changelog через GitHub Action

Level of difficultyEasy
Reading time6 min
Views3.5K

Привет, Хабр! Меня зовут Юрий Петров, я автор Youtube-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

Разработчики используют GitHub, чтобы писать и хранить свои проекты. У многих появляется вопрос: как хранить историю изменений? Конечно, вы можете заносить файл CHANGELOG.MD самостоятельно в основную ветку после каждого пул-реквеста. Но мы любим автоматизацию. 

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

Читать далее

Разбираем генеративный SDK от Google — google_generative_ai. Часть 1

Level of difficultyEasy
Reading time9 min
Views2.3K

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

В версии Flutter 3.19 появился SDK для работы с генеративным ИИ. В этой статье разбираемся с возможностями google_generative_ai на примере простого Flutter-проекта.

Читать далее

Как быстро получать данные из ОС Аврора через интерфейс D-Bus во Flutter-приложении

Level of difficultyEasy
Reading time4 min
Views1.9K

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб‑канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter.

В этой статье я расскажу, как с помощью интерфейса D‑Bus можно быстро получить необходимую вам информацию из системы Аврора.

Читать далее

Что нового в Flutter 3.19

Level of difficultyEasy
Reading time7 min
Views3K

Интеграция с искусственным интеллектом, обновления Impeller и поддержка Windows Arm64. Я, Юра Петров, Flutter Team Lead в Friflex, делюсь первым переводом официального релиза Flutter 3.19 от Google.

Читать далее

Полное руководство по управлению навигацией во Flutter с помощью пакета go_router: часть 1

Level of difficultyMedium
Reading time5 min
Views8.6K

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб-канала «Мобильный разработчик» и Flutter Team Lead в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

В этом руководстве я хочу рассказать про пакет go_router. Он помогает управлять навигацией во Flutter. Команда разработки Flutter поддерживает библиотеку go_router. Это позволяет надеяться, что она продолжит развиваться.

Рассказывать буду на примере простого проекта — Todo (заметки). Я понимаю, что таких проектов на Хабре очень много. Но, по-моему, лучшего примера не найти.

Читать далее

Управляем навигацией во Flutter с помощью библиотеки auto_route: часть 2. Guards, Wrappers и миграция

Level of difficultyEasy
Reading time7 min
Views3.5K

Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Это продолжение моей статьи про библиотеку auto_route. В этой статье, я попробую пояснить, что такое охранники(guards), обертки (wrappers) и с чем вам придется столкнуться в легаси проектах при миграции на auto_routе_7.

Читать далее

Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора

Level of difficultyHard
Reading time4 min
Views3.1K

Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. А также мы делаем  свой вклад в развитие экосистемы Аврора + Flutter. В этой статье хочу рассказать про то, как можно подключиться к нативной части ОС Авроры для тестирования нативной части Flutter-приложения.

Читать далее

Управляем навигацией во Flutter с помощью библиотеки auto_route. Часть 1

Level of difficultyEasy
Reading time7 min
Views6.8K

Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье хочу рассказать про библиотеку auto_route, с помощью которой можно управлять навигацией во Flutter.

Читать далее

Event Bus: пишем шину событий во Flutter-приложении

Level of difficultyMedium
Reading time7 min
Views7.3K

Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Как и многие коллеги, я пришел во Flutter из мира Android. Конечно, есть практики, которые мы использовали при разработке нативных приложений для Android и которые мы тянем за собой в кроссплатформенную разработку. В статье хочу вам рассказать про чудесный инструмент Event Bus. При переводе на русский этот термин дословно означает «шина событий».

Читать далее

Использование шейдеров во Flutter. Часть 2

Level of difficultyMedium
Reading time10 min
Views3.2K

Всем привет! На связи Юрий Петров, Flutter Team Lead в Friflex. В предыдущей статье мы познакомились с работой шейдеров во Flutter, а также рассмотрели, как написать свой собственный шейдер на языке GLSL. В этой части разберемся, как импортировать готовые шейдеры и управлять ими из Flutter.

Читать далее

Использование шейдеров во Flutter. Часть 1

Reading time7 min
Views4.3K

Привет! На связи Юрий Петров, Flutter Team Lead в Friflex. Мы разрабатываем кроссплатформенные мобильные приложения для бизнеса и специализируемся на Flutter. В этой серии статей я поделюсь опытом, как с помощью шейдеров на фреймворке разрабатывать приложения с привлекательным и стильным визуалом, которые понравятся заказчику и клиентам.

Читать далее

Тестирование Flutter-приложений: гайд по разработке тестов на Flutter

Reading time12 min
Views17K

Привет! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. В статье я расскажу про тестирование Flutter-проектов. Это гайд для новичков. Для понимания рекомендую полностью повторить процесс написания кода, который здесь демонстрируется. Готов ответить на любые вопросы по теме.

Читать далее

Преобразование инфиксной нотации в постфиксную

Reading time6 min
Views31K
Что такое инфиксная нотация и постфиксная можно узнать если внимательно почитать в Википедии. Так же есть статья на Хабре.

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

Ну что, вперед.

Для лучшего понимания и запоминания, будем использовать аббревиатуры:

  1. STACK — стек это тип данных, представляющий собой список элементов, организованных по принципу LIFO (последним пришёл — первым вышел). Более детальное изучение здесь
  2. QUEUE — очередь это тип данных, представляющий собой список элементов, организованных по принципу FIFO (первый пришёл — первым вышел). Более детальное изучение здесь
  3. PUSH — проталкивание, при проталкивании добавляется новый элемент, в вершину стека, то есть текущий элемент становиться вершиной стека (последним элементом). Детально изучить можно здесь
  4. POP — выгружает элемент который, является вершиной стека. Вершиной становится последний элемент в стеке. Более детально можно почитать здесь.
  5. TOP — вершина стека, то-есть последний его элемент
Читать дальше →

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Works in
Registered
Activity

Specialization

Backend Developer, Mobile Application Developer
Lead
Docker
Nginx
Dart
Flutter
Kotlin
Android development
iOS development
Client-server applications