ar
Feedback
Юрий Петров | ai engineering

Юрий Петров | ai engineering

الذهاب إلى القناة على Telegram

Привет! 👋 Я руководитель отдела разработки. Здесь мы изучаем LLM, автоматизацию с n8n, делаем крутые приложения на Flutter и учим их думать с помощью ИИ. Новости, лайфхаки, интересные кейсы, присоединяйся. #flutter #dart #llm #ai #ollama #n8n #agent #go

إظهار المزيد
1 848
المشتركون
لا توجد بيانات24 ساعات
-117 أيام
-1330 أيام
أرشيف المشاركات
Всем доброе утро, первый перехват появления нового релиза Flutter. С чем @FlutterObserver_bot и поздравляю 🥳

Repost from Flutter Friendly
ARB-формат во всей красе Привет, это Роза, Flutter Dev Friflex. В последнее время я много работаю с локализацией и заметила интересную вещь: ARB-файл часто недооценен. Сейчас расскажу, что это и как работает. Что это ARB (Application Resource Bundle) — это, по сути, файл JSON, улучшенный для локализации, с расширением .arb. Проще говоря, там хранятся переводы текста, которые вы видите в приложении. Помимо ключей и строк, ARB поддерживает: 🔴описания контекста 🔴примеры использования 🔴типы данных 🔴форматирование Например:
{
  "@@locale": "ru",
  "topicTitle": "Arb-формат во всей красе",
  "@topicTitle": { 
    "description": "Заголовок для статьи про Arb-формат" 
    }
}
Здесь ключ topicTitle хранит строку, а под @topicTitle — метаданные. При помощи метадаты вы можете указывать для ключей локализации: 🔸context: пояснения для переводчиков и разработчиков 🔸type: указание типа строки или ее назначения 🔸comment: подсказки к строкам Например:
{
  "welcome": "Добро пожаловать, {name}!",
  "@welcome": {
    "description": "Сообщение для приветствия",
    "context": "Для нового пользователя",
    "type": "Information",
    "comment": "Имя {name} нельзя переводить."
  }
}
Где используется Во Flutter ARB-файлы тесно интегрированы с библиотекой intl, которая отвечает за локализацию. Как это работает 1️⃣ Создаете отдельные ARB-файлы для всех языков, которые хотите поддерживать. 2️⃣ С помощью команды flutter gen-l10n генерируете Dart-код, который автоматически подтягивает правильные переводы для языка пользователя. 3️⃣ В коде просто обращаетесь к строкам по их ключам, а перевод подставляется автоматически. ❗️В реальных приложениях часто требуется использовать динамические значения внутри строк. Например, вместо «Привет, Роза!» в строке может быть «Привет, {name}!» Для этого в ARB-файлах применяются плейсхолдеры. О них я расскажу в следующем посте.

📦 Вышел BLoC v9.0.0 ✅ Поддержка WebAssembly (wasm) ✅ Обновление примеров и туториалов по использованию ✅ Минимальный Dart v2
📦 Вышел BLoC v9.0.0 ✅ Поддержка WebAssembly (wasm) ✅ Обновление примеров и туториалов по использованию ✅ Минимальный Dart v2.14 ✅ Новый внутренний интерфейс EmittableStateStreamableSource заменил Emittable у BlocBase По-сути это "посредник", который помогает тестировать блоки и внедрять кастомный source, не привязываясь к конкретной реализации BlocBase ⚠️ Удален ранее помеченный как Deprecated класс BlocOverrides. Вместо него тепреь нужно использовать Bloc.observer и Bloc.transformer ⌨️ Гайд по миграции

+1
Всем привет друзья. Многие спрашивают, как организовать папки внутри фичи. Вот, мы тут запилили плагин Flutter Friflex для VSCode. Плагин прошел проверку, и опубликован. Исходный код плагина здесь. 1.Плагин умеет создавать папки для отдельной фичи 2. Создавать StatefulWidget и StatelessWidget по названию файла 3. Создавать класс согласно названия файла 4. Есть настройки Также, если вы хотите поменять структуру для генерации, то можете в папке .friflex_config изменить шаблон. Ждем обратную связь, и если есть идеи для добавления функций, которые будут полезны разработчикам, пишите. P.S. Сильно не пинайте, мой первый плагин))

Всем привет, сейчас пошла мода писать миниапы и боты для телеграма. Ну и я решил тоже написать). Но он мне был реально нужен.
Всем привет, сейчас пошла мода писать миниапы и боты для телеграма. Ну и я решил тоже написать). Но он мне был реально нужен. Так вот, представляю Flutter Observer. Бот, который следит за репозиториями Flutter и Dart и оповещает пользователей о появлении новых релизов и изменений в ветке STABLE. Сам бот написан на чистом Dart, а не на всяких там котлинах и go))) База данных SQLite + Drift. В боте есть возможность настроить наблюдателя так, как вам необходимо. В дальнейшем есть планы добавить дашборды активности в репозиториях, отслеживания в pub dev и так далее. @FlutterObserver_bot

Repost from Flutter Friendly
«Он сказал мне, что жизнь, как в мечте, получу я без всяких преград»🐼 Но только если ваше приложение пройдет аудит. Виды, эт
+4
«Он сказал мне, что жизнь, как в мечте, получу я без всяких преград»🐼 Но только если ваше приложение пройдет аудит. Виды, этапы и как подготовиться — на карточках. 📎Полезные ссылки: Статья на Хабре OWASP Пример чек-листа на Стингрей

Repost from Flutter Friendly
А вдруг вы прямо сейчас пишете сервис на Dart, задача которого — отправить миллион сообщений ровно в 12 дня? Юрий Петров, Tech Lead Friflex написал статью, как это можно сделать: 🔸Установить и запустить контейнер с RabbitMQ 🔸Настроить RabbitMQ 🔸Создать Producer (отправителя) на Flutter 🔸Создать Consumer (потребителя) на Flutter Сохраняйте, чтобы не потерять🔖

Книга "Основы Flutter" уже написана наполовину 😎, а значит - цена курса на степике увеличивается на 500 рублей😅 Если вы хотели приобрести курс, но на это все никак не было "времени", по 21 января его можно будет купить по старой цене, воспользовавшись скидкой в 25% 🫣

У меня для вас хорошие новости по книге "Основы Flutter" 👀 Перед новогодними праздниками мне на редактуру прислали материал
У меня для вас хорошие новости по книге "Основы Flutter" 👀 Перед новогодними праздниками мне на редактуру прислали материал Юра Петров (глава про навигацию в Flutter) и Стас Ильин (первый раздел главы про локальное хранение данных). Глава по навигации отредактирована и утверждена, а значит, на курсе "Основы Flutter" на степике большое обновление ^_^ Приступаю к редактированию материалов Стаса😎 p.s. Так же, на ютубе выложил новое видео из курса по Dart, посвященное типу данных Map🫠 #book@madteacher_channel

Repost from Friflex Dev
📎Пост заряженный на повышение! Для всех, кто когда-нибудь планирует возглавить команду разработчиков, собрали плюсы и минусы
+5
📎Пост заряженный на повышение! Для всех, кто когда-нибудь планирует возглавить команду разработчиков, собрали плюсы и минусы этой должности вместе с Дмитрием, Flutter Team Lead Friflex. Не отговариваем, а обращаем внимание на навыки, которые стоит подтянуть. Будет полезно и тем, кто только стал тимлидом и не знает, с чего начать. Не переживайте, все получится!💜

Книга "Основы Flutter" перевалила за 600 страниц (в вордовском документе)😎 Перед новогодними праздниками на редактуру присла
Книга "Основы Flutter" перевалила за 600 страниц (в вордовском документе)😎 Перед новогодними праздниками на редактуру прислали материал Юра Петров (глава про навигацию в Flutter) и Стас Ильин (первый раздел главы про локальное хранение данных). Сейчас редактирую главу про навигацию (сделано ~ 30%), потом настанет очередь Стаса, а там гляди и Павел подоспеет со своими материалами😊 Этот год обещает быть жарким для авторского коллектива и книги 🔥🔥🔥 p.s. по 9-е января на электронную версию книги, главы и разделы которой выкладываем на степик после редактуры и утверждения, действует скидка в 1️⃣5️⃣ 🔤 Основы Flutter

⚡️⚡️⚡️ Всех с наступающим Новым годом, друзья! 👋 Желаю, чтобы у всех получилось реализовать задуманное в Новом году! В связи с этим прекрасным событием, по 9-е января можно приобрести следующие курсы со скидкой: 🔥 3️⃣0️⃣ 🔤 Dart 3 в действии 🔥 3️⃣0️⃣ 🔤 Go (Goland) + Gin = быстрый бэкенд для заметок. 🔥 3️⃣0️⃣ 🔤 Dart+ Flutter — быстрый gRPC бэкенд и клиент для чата на Protobuf. 🔥 3️⃣0️⃣ 🔤 Создаем RESTful бэкенд на Dart и клиент на Flutter. 🔥 1️⃣5️⃣ 🔤 Основы Flutter #flutter #dart.

💬 Что не так с конкурсом? 🤯 За последние 24 часа на наши каналы подписалось больше 20к человек 😡 Как оказалось, у конкурсов на Telegram-подписки есть одна уязвимость - информацию о таких конкурсах оперативно сливают в чаты/каналы для любителей нажиться бесплатными ништяками Мы с ребятами заметили этот аномальный рост несколько часов назад и решили, в последний момент, не принимать резких мер по очистке, чтобы не потерять настоящих подписчиков 👎 Что в итоге? В конкурсе победили люди не имеющие отношения к Flutter, а не наши подписчики, для которых это все затевалось 😐 Такой подляны от Telegram мы не ожидали. И нам очень жаль что так вышло В следующий раз конкурс будет не на подписики!

Gift
x7

تم اختيار الفائزين!

7 فائزين بالسحب

تاريخ الانتهاء

Не сказать, что этот год был насыщенным в плане внедрения новых фич в Dart, но это не значит, что команда разработчиков рассл
Не сказать, что этот год был насыщенным в плане внедрения новых фич в Dart, но это не значит, что команда разработчиков расслабила свои батоны и ничего не делает😎 Поэтому решил подвести некоторую черту под тем функционалом этого языка программирования, который находится на стадии внедрения в Dart SDK и чья спецификация была закончена, т.е. фича готова к реализации🤓 Активно пилятся, но полноценный релиз стоит ждать скорей всего не раньше 2026, т.к. фичи зависят друг от друга 🫡: 👉 Макросы 👉Аугментация 👉 Расширенный механизм part of Увидим в течении следующего года 👀: 👉 Wildcard variables (Dart 3.7) - разруливает множественное использование символа нижнего подчеркивания (конфликт имен переменных), т.е. предложение позволяет использовать более одного подстановочного знака без конфликтов имен в callback-функциях и при объявлении переменных 👉 enum-shorthands (Dart 3.8/x ?) - за счет выводимого типа в левой части выражения или текущего скоупа, позволяет не использовать имя перечисления при обращении к его свойствам, а также имя класса при обращении к константным и фабричным (именованным и нет) конструкторам и статическим полям и методам
Padding(
  padding: const .all(8.0),  // const EdgeInsets.all(8.0) // constructor
  child: ...
)    
 
int x = .parse(input);  // Static method.

const String option = .fromEnvironment("my_option"); // Constructor
👉 Null-aware elements (Dart 3.8/9/x ?) - предлагает более простой формат проверки на null, что позволит заменить
Stack(
  fit: StackFit.expand,
  children: [
    const AbsorbPointer(),
    if (widget.child != null) widget.child!,
  ],
)
на
Stack(
  fit: StackFit.expand,
  children: [
    const AbsorbPointer(),
    ?widget.child,
  ],
)
Спецификация завершена и фича готова к началу внедрения в Dart SDK ‼️: Здесь можно выделить одну фичу - Unquoted imports. Она вносит революцию в изменение в формат импортирования библиотек и пакетов:
// Before:
import 'dart:isolate';
import 'package:flutter_test/flutter_test.dart';
import 'package:path/path.dart';
import 'package:flutter/material.dart';
import 'package:analyzer/dart/ast/visitor/visitor.dart';
import 'package:widget.tla.server/server.dart';
import 'package:widget.tla.proto/client/component.dart';

// After:
import dart/isolate;
import flutter_test;
import path;
import flutter/material;
import analyzer/dart/ast/visitor/visitor;
import widget.tla.server;
import widget.tla.proto/client/component;

😁 желтая уточка, это шедевр…

Repost from Flutter Friendly
🎁 Вишлисты в студию! Чтобы близкие знали, что подарить вам, собрали несколько вариантов вишлистов: тут и для души, и для раб
+5
🎁 Вишлисты в студию! Чтобы близкие знали, что подарить вам, собрали несколько вариантов вишлистов: тут и для души, и для работы. Осталось только поделиться.

Repost from Aurora Developers
#Flutter 3.27 для ОС Аврора Обновление от сообщества развития Flutter для ОС Аврора! Flutter SDK с поддержкой ОС Аврора получ
#Flutter 3.27 для ОС Аврора Обновление от сообщества развития Flutter для ОС Аврора! Flutter SDK с поддержкой ОС Аврора получил обновление: 👉 Добавлены новые функции и фиксы из версии 3.27. 👉 Добавлены новые примеры приложений и интеграционные тесты. 👉 Добавлены новые плагины, расширен существующий список. 👉 Документация обновлена и выделена в отдельный проект. В документации добавлена возможность переключаться между каналами Flutter. 👉 Реализованы события экранной клавиатуры. 👉 Фиксы багов и оптимизация работы Flutter. Поддержка Flutter на ОС Аврора - это совместная работа энтузиастов, специалистов по Flutter из ведущих компаний РФ. Можно поучаствовать кодом и экспертизой - #вместе сделаем инструмент лучше. Текущая версия 3.27.1 и вы можете получить ее уже сейчас. Все необходимое вы можете найти по ссылке: https://gitlab.com/omprussia/flutter.

⚡️⚡️⚡️ Всех с наступающим Новым годом, друзья! 👋 Желаю, чтобы у всех получилось реализовать задуманное в Новом году! В связи с этим прекрасным событием, по 9-е января можно приобрести следующие курсы со скидкой: 🔥 3️⃣0️⃣ 🔤 Dart 3 в действии 🔥 3️⃣0️⃣ 🔤 Go (Goland) + Gin = быстрый бэкенд для заметок. 🔥 3️⃣0️⃣ 🔤 Dart+ Flutter — быстрый gRPC бэкенд и клиент для чата на Protobuf. 🔥 3️⃣0️⃣ 🔤 Создаем RESTful бэкенд на Dart и клиент на Flutter. 🔥 1️⃣5️⃣ 🔤 Основы Flutter #flutter #dart.