Hola, Amigos! Продолжаем рассказывать про полезные сниппеты. Сегодня создадим сниппет с настройкой для анимации через Animated Controller - animStful.class $NAME$ extends StatefulWidget { const $NAME$(super.key); @override State<$NAME$> createState() => _$NAME$State();}class _$NAME$State extends State<$NAME$> with SingleTickerProviderStateMixin { late final AnimationController _controller; late final Animation<double> _animation; @override void initState() { super.initState(); _controller = AnimationController( vsync: this, duration: Duration(milliseconds: $DURATION$), ); _controller.addListener(() => setState(() {})); _animation = Tween<double>(begin: 0, end: 1).animate(_controller); } @override Widget build(BuildContext context) { return Container(); } @override void dispose() { _controller.dispose(); super.dispose(); }}Можно копировать в свой IDE и пользоваться!#snippets@flutter_amiga
Flutter. Много
@flutter_amiga · 3.2K подписчиков
Посты канала Flutter. Много в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
Заказать мобильную разработку:https://amiga.ru//?utm_source=tgЗаказать рекламу в канале@amiga_agency_botНовости Flutter-разработки, дайджесты мероприятий, личный опыт.
Посты канала
Hola, Amigos! На связи Павел Гершевич, Mobile TeamLead в Amiga. Для того, чтобы наши приложения работали лучше, можно отслеживать их жизненный цикл, чтобы не совершалось лишних действий. Для этого нам нужен AppLifecycleState, который предоставляет добавление обратных вызовов для изменения состояния. Давайте посмотрим, какие состояния есть у Flutter-приложений:resumed - стандартное состояние, когда приложение находится в foreground. При переходе в него можно запускать остановленные потоки данных (Stream) и анимации, а также обновлять устаревшие данные.inactive - наше приложение видно, но пользователь не может с ним работать. Его можно увидеть, когда мы смотрим на все свернутые приложения. Также, например, открытие системного диалогового окна для выдачи разрешения переведет в это состояние. Тут можно остановить анимации. Но учитывайте, это состояние - временное.hidden - еще одно временное состояние. Наше приложение не видно, но оно еще не полностью на паузе. Оно добавлено в Flutter 3.13 чтобы мы могли сохранить состояние, пока операционная система не порезала ресурсы.paused - наше приложение полностью в фоне. Основной isolate еще работает, но Flutter Engine уже не занимается рендерингом. В этом состоянии можно отключиться от WebSockets, отменить работу таймеров, прослушку потоков данных. Но из этого состояния ОС может закрыть приложение.detached - крайнее состояние нашего приложения. Оно показывает, что приложение закрывается либо открывается (холодный запуск).Рассказывайте в комментариях, а что вы делаете при изменении жизненного цикла приложения?
Hola, Amigos! Async/await и Isolate оба помогают держать UI плавным, но решают разные задачи. Сегодня обсудим, что и в каких ситуациях лучше использовать.Неправильно: async/await для CPU-тяжелой задачиFuture<String> processBigData() async { final raw = await fetchHugeJson(); // ← I/O — ок final data = jsonDecode(raw); // ← блокирует UI ~1с final result = heavyMath(data); // ← ещё ~1с return result;}Правильно и просто: compute()import 'package:flutter/foundation.dart';Future<String> processBigData() async { final raw = await fetchHugeJson(); // сеть — ок return compute(_heavyWork, raw); // ← выполняется в Isolate}String _heavyWork(String json) { final data = jsonDecode(json); return heavyMath(data);}Когда нужен полный контроль, подойдет Raw IsolateFuture<void> startWorker() async { final receivePort = ReceivePort(); isolate = await Isolate.spawn(_worker, receivePort.sendPort); sendPort = await receivePort.first as SendPort;}Future<String> doHeavyTask(String input) async { final response = ReceivePort(); sendPort.send([input, response.sendPort]); return await response.first as String;}static void _worker(SendPort mainPort) async { final port = ReceivePort(); mainPort.send(port.sendPort); await for (final msg in port) { final input = msg[0] as String; final replyTo = msg[1] as SendPort; replyTo.send("processed: $input"); // heavy work here }}Разберем по ситуации:- Блокирует main thread > ~300 мс → compute()- Просто ждет (network/db) → async/await- Нужен worker с диалогом → raw IsolateА ты пользуешься Isolate/compute или решаешь через async/await? Делись опытом ⚙️
Ещё по теме «Технологии»
Технологииесли вы, как и я, страдаете от чистки фотопленки, то для вас просто лучшая рекомендация ever! 📷приложение Picnic 🧺каждый день свайпаешь фотки за прошлые годы [или по месяцам, как тебе хочется], 5-10 минут и твоя фотопленка уже в прайме! я так 50 GB почистила…✌️ = спасибо!
Микрозайм у собственного мозга. Про теорию когнитивного долгаКоротко. Это концепция из исследований MIT (2025), описывающая накопление долга в умственных способностях при чрезмерной зависимости от ИИ — «Your Brain on ChatGPT». Мы становимся должниками, когда ИИ используем для сложных задач вроде написания эссе: снижается активность мозга (по ЭЭГ), ухудшается память, связность мышления и чувство владения материалом.Ответ получили легко и быстро = мозгу работу не дали. Развития не было — вы должник. И проценты начинают капать. Будто взяли взаймы у будущего себя, так как мозг над задачей не работал, а результат есть. Мозго-мыщца не тренируется, а атрофируется.Подтверждено экспериментом: участники с ИИ хуже вспоминали свои тексты и показывали меньшую нейронную вовлечённость даже после отказа от ИИ.В итоге — риск интеллектуального банкротства для индивида.Для общества — унификация мышления, потеря креативности, зависимость. ❓А делать-то что? — гасить долг, наращивая собственный когнитивный капитал, а не беря в долг под огромные проценты умозаключения ИИ. Общие постулаты, типа «отдавать ИИ рутину и усложнять уровень решаемых с его помощью задач, разгоняя собственные способности» — мы уже выше обсуждали, тут без изменений. Как и многое раньше, ИИ умного делает ещё умнее, глупого — ну вы поняли. ❗️Освободившееся время отдавайте сложной информации: книгам, выставкам, фильмам. Учитесь погружаться. Заведите тетрадку для выводов-мыслей-впечатлений. Заинтересуйтесь какой-то темой и разложите её по полочкам (рисуйте схемы, mind-карты..)Это уже существенно снизит риск остаться без мозга при дефолте ИИ-банка отключении связи.Игнорировать равно путь к умственному банкротству. Нам такой путь не нужен. Тем более, мозг — прекрасный должник, возвращает с хорошими процентами.Посты про ИИ у нас по тегу #ИИ_впомощь Что думаете?
У меня только один вопрос, не путают ли они AI с ML... ведь эта задача как раз именно для ML...Хотя, видно это из той же оперы, что роллы называть сушами...
Забыть про Carplay, как про страшный сон Звучит странно и непонятно? Но только не для владельцев Lynk&CO, которые сделали русификацию в Connect Service. Речь про наше решение — адаптированные приложения на русском языке, которые удобнее штатного Carplay. Как говорится: можно, но зачем ❌ Запускать навигатор на телефоне, чтобы вывести его на экран ✅ Сразу запустить Я.Навигатор с экрана ❌ Запускать Youtube с рекламой для трансляции ✅ Включать Youtube без рекламы сразу на экранах ❌ Раздавать с телефона интернет ✅ Поставить нашу SIM-карту в авто И по секрету: можем сделать так, чтобы видео спереди работало не только в режиме стоянки. Пользуйтесь мультимедией автомобиля отдельно от телефона и раскрывайте потенциал авто на 100%. При этом, в автомобиле CarPlay остается доступным, и им по-прежнему можно пользоваться. Обновим, переведем на русский, поставим приложения и сделаем интернет. Для записи: ❤️Телеграм: @CONNECT_mngr ❤️Телефон: +79774442424Не грузит телеграм? Мы есть в MAX 📲
В Канаде тему истребления коренного населения территории с помощью одеял, заражённых оспой, истребления бизонов, конфискацией детей из семей, шепотом, в краеведческих музеях и на фотовыставках из современных резерваций индейцев уже рассказывают. А то, что в России 21 века англо американцы вытворяют тоже самое с помощью ювенальной юстиции, ГМО и не проверенных вакцин, почему то в упор не замечают. 💥 Может откроем глаза и для начала перестанем пользоваться чуждым языком , определяющим техномышление, избавимся от техносуржика и от нецензурной лексики ???💥Может вспомним наше родное сырмяжное и посконное, как когда то сделал Ганди с Индией. Спас Ганди тогда страну, не до конца конечно, но самосознание индусов укрепилось и выросло и их сейчас 1.5 млрд.А то вижу, что многие активно борются в РФ с ИИ, созданным техно-захватчиками. А зря, враги будут продолжать применять ИИ для войны и захвата наших природных и человеческих ресурсов , а мы типа в стороне от ИИ постоим пока ?!! Миру нужен, наш русский ИИ

👋 Привет, сетевой друг! Сегодня про python3-nmap - библиотеку, которая превращает nmap в нормальный Python API.🟣Что это: обёртка над nmap, где каждая команда становится вызовом функции. Не нужно помнить флаги, парсить текстовый вывод или городить subprocess. Запустил метод - получил JSON с результатами.🟣Зачем это нужно: nmap мощный, но встраивать его в скрипты неудобно. Парсить вывод хрупко - формат может отличаться в зависимости от версии и флагов. python3-nmap убирает эту боль и возвращает структурированные данные сразу.🟣Что умеет: сканирование топ-портов, определение версий сервисов, детекция ОС, DNS-брут для поддоменов, техники сканирования (SYN, FIN, UDP, idle), обнаружение хостов через ARP. Каждая техника - отдельный метод, не нужно держать в голове синтаксис.🟣Установка простая:pip3 install python3-nmapapt-get install nmapnmap должен быть установлен на системе - библиотека вызывает его под капотом.🟣Важный момент: часть сканов требует root. Определение ОС, SYN-сканирование, сканирование подсетей, всё это нужно запускать через sudo. Без прав получишь ошибку ещё до начала сканирования.Делаем вторую часть уже о том, как использовать этот тул?Серверная Админа | Zeroday | #Инструмент
Codex обогнал Claude Code по скачиваниям. По данным TickerTrends, перелом произошел 30 апреля: после этого Codex продолжил набирать долю, а рост Claude Code заметно замедлился.Claude 4.7 вышел 16 апреля, GPT-5.5 - 24 апреля. Дальше выводы делайте сами.
🇺🇸 Бывший глава аналитического центра Пентагона переходит в Anthropic🛂 К компании Anthropic в должности «стратега-резидента» присоединится Джеймс Бейкер, с 2015 по 2025 год руководивший управлением сетевой оценки Министерства обороны США. Возглавляемый им ранее аналитический орган, созданный в 1973 году для долгосрочного прогнозирования военных тенденций, использовал системную методологию, анализируя развитие технологий, рабочей силы и экономики. Как считают эксперты, Д.Бейкер специально переходит в частную компанию для изучения того, как алгоритмическое самосовершенствование может сначала дестабилизировать, а затем полностью обесценить общественные устои, включая саму систему национальной обороны.🤖 Примечательно, что аналитики управления еще в 2016 году зафиксировали «кембрийский взрыв» в робототехнике и технологиях ИИ, предсказав удешевление и ускорение военных конфликтов. Сегодня Д.Бейкер фиксирует постепенный распад американских государственных институтов под давлением ускоряющегося технологического развития. По его словам, главный риск заключается не в отдельных системах вооружений, а в «долгосрочной жизнеспособности нынешних учреждений в условиях войны и мира», что он характеризует как «проблему многодесятилетней структурной − даже цивилизационной». 🛡 По мнению экспертов, США имеют «жесткое временное окно для адаптации» к цивилизационному вызову искусственного интеллекта. Привлечение Д.Бейкера к деятельности Anthropic указывает на глубокое проникновение логики военно-стратегического прогнозирования в частный сектор, при этом компания формально сохраняет дистанцию от государства. Однако существующая модель, при которой правительства выступают лишь в роли заказчиков и эпизодических регуляторов, не работает в масштабе по мере интеграции ИИ во все сферы безопасности. Растущая зависимость государства от частных разработчиков обостряет фундаментальный вопрос о том, кто в конечном счёте должен определять границы применения военного ИИ. #Школа_МИБ #США #ИИ👍 Школа МИБ
Северная Корея украла 76% криптовалюты, взломанной в 2026 году, всего двумя атакамиИсследователи TRM Lab опубликовали отчет о кражах криптовалюты в текущем году, представив ряд интересных цифр.Северокорейские хакеры из двух разных групп украли примерно 577 миллионов долларов США с начала 2026 года, что составляет 76% всех потерь от взломов криптовалютных активов по состоянию на апрель. Вся сумма была получена злоумышленниками в рамках двух инцидентов. Взлом Drift Protocol, в ходе которого злоумышленники получили 285 миллионов долларов США, включал в себя три недели подготовки к атаке и месяцы социальной инженерии для компрометации подписантов протокола. В результате полная утечка средств произошла примерно за 12 минут.Взлом KelpDAO, в результате которого украдено 292 миллиона долларов США, был осуществлен с использованием уязвимости в архитектуре моста LayerZero, предусматривающей наличие одного верификатора. Доходы от взлома были отмыты через децентрализованной кроссчейн-протокол THORChain.Исследователи отмечают, что THORChain обработал подавляющую часть доходов от взлома Bybit в 2025 году и KelpDAO в 2026 году, конвертировав сотни миллионов украденных ETH в биткоины, при этом ни один оператор не захотел заморозить или отклонить переводы. Это сделало THORChain предпочтительным инструментом для крупнейших ограблений, совершенных Северной Кореей.Совокупный объем краж криптовалюты, совершенных Северной Кореей, с 2017 года превышает 6 миллиардов долларов США.Источник: https://eyes.etecs.ru/r/e52c35#криптовалюта #кражи #СевернаяКорея
Швейцарский стол#golang"Швейцарская таблица" - это продвинутый движок для хэш-таблиц, который сейчас используется в новых версиях Go. Идея в том, чтобы отойти от примитивного линейного поиска, когда при коллизии мы просто тыкаемся в следующую ячейку, и использовать хитрую последовательность шагов, которая не дает образовываться "пробкам" из занятых слотов. Но все соль в группровке. Вместо одного ключа в ячейке мы храним сразу по 8 штук, и для каждой группы добавляем специальные контрольные байты (младшие 7 битов хэша). Это позволяет за одну операцию сравнивать с хэшем все восемь элементов через битовые трюки с uint64, а это очень быстро. На практике хоть обычный подход и шустрее на малых объемах, swiss table раскрывается при высокой заполненности: если забить ее под завязку, она тормозит в разы меньше обычнойhttps://kodikapusta.ru/news/991-shveitsarskii-stolПоддержать проект на boosty: https://boosty.to/kodikapusta