Иногда при внедрении интерфейса недостаточно тех возможностей кастомизации, которые предоставляет Flutter. Подтверждением этому является большое количество вопросов на Stackoverflow, типа, как добавить тень или градиент к какому-нибудь элементу управления (кнопке, текстовому полю и т.д.). Как правило, ответы сводятся к тому, что надо либо использовать элементы управления из сторонних библиотек, либо обернуть элемент управления в Container
c необходимым декорированием, либо создать собственный элемент управления. Однако, эти подходы имеют ограничения или требуют много кода. Особенно добавляет работы настройка различного декорирования элементов управления для различных их состояний и анимирование переходов между этими состояниями. В статье я расскажу, как расширить возможности кастомизации этих элементов без создания новых виджетов и без сторонних библиотек.
Новости
Заказная разработка. Часть первая — идеальная
Я заканчивал менеджерить свой первый проект в заказной разработке. Это было время ретроспектив и рефлексий о проделанной работе. А в моем случае, ещё и возможность сравнить полученный опыт с прошлым - работой в продуктовых командах. Своими мыслями и выводами я поделюсь с вами, поскольку нет лучшей формы для анализа, чем рассказ другому человеку.
И сразу 3 важных отступления:
Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить
Прозрачность сертификатов (CT) — отличный проект компании Google, который сейчас фактически стал стандартом де-факто в интернете. Серверы CT показывают все выпущенные EV-сертификаты в открытых и общедоступных источниках.
Всё работает отлично до тех пор, пока не сломается.
В частности, в последнее время браузер Chrome создал ряд проблем под Android, фактически заблокировав работу сторонних приложений, таких как снифферы, MitM-прокси и средства разработки. Эти программы устанавливают в систему собственные доверенные сертификаты для перехвата и разбора трафика.
Как «машинные учёные» выводят законы физики из необработанных данных
Исследователи говорят, что мы в шаге от «физики GoPro», когда камера сможет указывать на событие, а алгоритм — определять лежащее в его основе физическое уравнение. Подробностями делимся к старту нашего флагманского курса по Data Science.
Опыты с генератором Tesla. Засвечиваем вакуумную люминофорную лампочку через диэлектрическую колбу
Есть интересный высоковольтный генератор, названный по фамилии своего американского изобретателя "Тесла". Собственно, конструкция там достаточно простая. Высоковольтный открытый трансформатор, где в первичной обмотке (несколько витков толстого провода) создаются короткие импульсы тока, например, при помощи разрядника и конденсатора, а на вторичной высоковольтной обмотке, состоящей из нескольких тысяч витков тончайшего провода, возникают импульсы напряжением в десятки (а, бывает, в сотни) киловольт.
Николу Тесла чтят многие фанаты по всему миру. В США даже собираются ежегодные слёты его поклонников, где демонстрируются различные высоковольтные импульсные аппараты.
А один известный в креативных, и не только, кругах бизнесмен выбрал название "Тесла" в качестве бренда своего электромобиля.
В СССР для технологических целей вакуумной промышленности выпускался ручной генератор "Тесла", который травм человеку нанести не может, но жалить может изрядно.
В частности, при его помощи можно делать показанный на видео достаточно необычный опыт с макетом вакуумной лампы. Необычность опыта состоит в том, что люминофор, на который ещё и нанесено алюминиевое покрытие находится в вакууме лучше, чем 1Е-5 Торр (в лампе два активированных титановых геттера), т.е. привычного любителям опытов с генераторами Тесла газового разряда тут наблюдаться не может в тех масштабах, что бы обеспечить такое заметное свечение "фосфора". И, всё таки, люминофор светится очень ярко!
Развели тут макиавельщину
Ой-ой-ой, я ж на главный-то вопрос не ответил! Всё пишу, как плести интриги и использовать грязные методы, а зачем это надо? Ведь можно просто хорошо работать!
Можно, не вопрос. Более того: я и сам искренне хочу просто хорошо работать. Всегда хотел. Сидишь и просто делаешь своё дело, в чём бы оно не заключалось. Достигаешь поставленных целей, обеспечиваешь требуемый уровень качества, следуешь правилам, развиваешься в меру сил. И ведь всё будет хорошо?
Да. Но не «всё», не «всегда» и не обязательно «хорошо».
Go в браузер. Создание веб-приложений с использованием Web Assembly на Go
Технология WebAssembly появилась относительно недавно (в 2015 году) и позиционировалась как альтернатива JavaScript для выполнения в среде браузера с максимально достижимой производительностью. Приложение на WebAssembly может использовать все возможности, доступные в "песочнице" браузера для JS (доступ к Document Object Model, дополнительным классам HTML5), но при этом может быть изначально написано на других технологиях разработки и скомпилировано в формат байт-кода WASM, предоставляя свои интерфейсы сценариям на JavaScript.
Наиболее известным набором инструментов для компиляции в wasm32 является emscripten, с его помощью можно скомпилировать приложение, написанное на C/C++ или на любом языке, имеющим frontend-компилятор для LLVM. При этом компилятор подменяет вызовы OpenGL и POSIX на соответствующие аналоги в браузере, что например используется при компиляции библиотеки skia для браузера (canvaskit) из исходного кода на C++, а также портирование существующих библиотек (например, ffmpeg или opencv). Но некоторые языки программирования поддерживают wasm32 как одну из целевых платформ, среди которых можно выделить Kotlin (Native) и Go. В этой статье мы обсудим общие вопросы о запуске приложений Go в среде браузера и использование библиотеки Vecty для создания веб-приложений на основе переиспользуемых компонентов.
Разбираемся с декораторами в Python
Декораторы – это обертка вокруг функций (или классов) в Python, которая меняет способ работы этой функции. Декоратор абстрагирует свой собственный функционал. Нотация декоратора в целом наименее инвазивна. Разработчик может писать свой код так, как ему хочется, и использовать декораторы только для расширения функциональности. Все это звучит крайне абстрактно, поэтому давайте обратимся к примерам.
Дайджест недели от Apple Pro Weekly News (09.05 – 15.05.22)
iPod заканчивает свою историю, объём хранилища iCloud удвоят, порт USB-C в 2023 году, Тим Кук выступил в университете Галлодет, одним способом оплаты в App Store меньше и ещё несколько других интересных событий из мира Apple в этом дайджесте
О чём расскажут на Mobius 2022 Spring: декларативный UI, глубокие ссылки и многое другое
Мобильным разработчикам давно знакома конференция Mobius, но в этот раз она пройдёт в необычном формате. В конце мая поучаствовать можно будет в онлайне (как в предыдущие два года), а вот в июне будет ещё и офлайн-день в Петербурге.
Онлайновая часть будет сосредоточена на докладах, а офлайновая на живом общении: там будет сделано всё, чтобы участники могли вдоволь пообщаться и друг с другом, и со спикерами. Но понятно, что без докладов не обойдётся и в офлайне.
И сейчас, когда большинство тем докладов уже известно, расскажем Хабру, о чём именно они будут.
Security Week 2220: уязвимость в офисных устройствах Zyxel
Причина такого высокого рейтинга — возможность удаленного выполнения команд без авторизации на устройстве, которое по своей природе должно быть доступно извне. Подверженные устройства Zyxel рекламируются как готовое решение для защиты небольшого подразделения крупной организации, обеспечивают (в зависимости от модели) работу VPN-шлюза, фильтрацию доступа к веб-сайтам и даже сканирование электронной почты. Скорее всего, баг связан с функцией zero-touch provisioning для быстрого внедрения новых устройств.
Как показаны дата-центры в кино и как они выглядят в жизни? 6 примеров из фильмов и сериалов
Привет, Хабр! Чтобы этот понедельник прошел веселее, предлагаем прочитать наш мини-обзор на ЦОДы в кино. Собрали в подборку шесть эпизодов и комментируем, что показано точно, а что — совсем нет.
Кстати, если захотите пополнить наш список фильмов и сериалов, оставляйте идеи и заявки в комментариях. Очень ждем!
Пережить распродажу на Ozon: хайлоад, сковородки и 38 инфарктов
Мы нечасто задумываемся о том, как работает тот или иной сервис и какой объём работ скрывается за тем, чтобы товар или услуга прибыли к нам вовремя. Взять, например, «чёрную пятницу» и День холостяка в e-com — дни самых больших распродаж. Казалось бы, что там такого? Со стороны может выглядеть, что главное — прогреть аудиторию предложениями разной степени заманчивости и запастись товарами на складах. Конечно, это не так. На деле нескольким дням распродаж предшествует год активной подготовки: от прогнозирования нагрузки и закупки железок до перестройки архитектуры. О том, на что мы обращали внимание и как готовились к высокому сезону, читайте под катом.
Локальный или облачный сервер: плюсы каждого выбора
Еще 20 лет назад, когда только запустили первое облако LaaS, многим казалось, что облачный и локальный сервер – это как небо и земля. Спустя время опросы показывают, что пользователи перестали замечать разницу между двумя средами. А выбор сервера по большей части зависит от потребностей конкретного бизнеса. Кто-то сразу останавливается на одном из вариантов, а кому-то приходиться пройти немалый путь, чтобы найти свое. Хочу, чтобы у Вас сразу сформировалось четкое представление о двух средах, поэтому прошу под кат.
55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
Коротко:
IoT Analytics определила 58 технологий, которые должны быть на слуху у тех, кто работает над проектами IoT: 21 в области программного обеспечения IoT, 21 в области аппаратного обеспечения IoT и 16 в области подключения IoT.
Из 58 технологий, находящихся на радаре, лишь несколько классифицируются как близкие к зрелости, достаточно зрелые или мейнстримные — большинство из них находятся еще дальше и им потребуется время, чтобы достичь состояния зрелости массового рынка.
Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
Привет! Меня зовут Владислав Сединкин, я работаю iOS-разработчиком в СберМаркете. Сегодня я расскажу, как мы проводим юнит-тестирование, с какими сложностями сталкивались при написании тестов и как их решали.
Я выступал с этим докладом на iOS Meetup | СберМаркет Tech, здесь его сжатая версия.
Сегментарный анализ на примере RFM-анализа средствами Power BI
Существует большое разнообразие методов сегментарного анализа в маркетинге. Во-первых, сегментация — это стратегия, используемая для концентрации ресурсов на целевом рынке/объекте и оптимизации их использования. Во-вторых, сегментация — это алгоритм анализа рынка для лучшего учёта его особенностей.
Эффективно проведённая сегментация упрощает и удешевляет маркетинговую политику, позволяет отказаться от многих затратных методов продвижения. Объяснение очень простое - покупатель приходит к продавцу не за рекламой и скидками, а за удовлетворением своих потребностей. Поэтому продавцы, предлагающие товары или услуги, лучше удовлетворяющие потребности покупателей (по свойствам, качеству, цене и т. д.), могут добиться большего эффекта, а также свести к минимуму затраты на рекламу и скидки.
Рассмотрим частотно-монетарный метод сегментации применительно к e-commerce сфере. Частотно-монетарный анализ (RFM анализ) - анализ, в основе которого лежат поведенческие факторы групп или сегментов клиентов, позволяющий сегментировать клиентов по частоте и сумме покупок и выявлять тех, которые приносят больше денег. Данный метод позволяет получить ценные инсайты по построению маркетинговых стратегий в компании. Также RFM-сегментация помогает применять особый комуникативный подход к каждой группе клиентов.
RFM-анализ частично перекликается с принципом Парето, полагающим, что 80% результатов происходят благодаря 20% усилий. Если данный принцип рассматривать в общем ключе маркетинга - 80% всех ваших продаж исходят от 20% наиболее лояльных и постоянных клиентов. Постоянные клиенты всегда буду иметь высокое влияние на выручку, а значит – возвращаемость этих клиентов крайне важна для показателей дохода.
Почему я ушла из команды Google WebAssembly
Я пришла в Google в начале 2015 года, чтобы работать в команде V8, и была одним из первых авторов спецификации WebAssembly. В этой статье я частично расскажу историю того, что не так было с этим процессом и как он нанёс мне непоправимый урон. Надеюсь, эта история поможет людям распознавать токсическую культуру на рабочем месте, или позволит новым сотрудникам построить более удачную карьеру в Google. Любая история WebAssembly была бы подвержена искажениям из-за сложной судьбы проекта, и моя — не исключение.
На момент присоединения к команде V8 я уже несколько лет занималась поддержкой транспилятора, преобразующего приложения .NET в эффективный JavaScript. Проект начался в одно время с Emscripten — приложением, превратившимся в стандарт и ставшим источником вдохновения для создания WebAssembly. В то время мне удалось поработать с создателем asm.js Алоном Закаем и я многому у него научилась. Благодаря этому опыту я стала подходящим кандидатом для команды WebAssembly.
Вслед за солнцем. О гелиотропии и подвижности солнечных батарей
Солнечные батареи кажутся мне одним из самых интересных изобретений XIX века, значительно опередивших свое время. В них сочетается простейшая, бионическая по сути идея (будем ловить солнечную энергию напрямую, как это делается в солнечных листьях) и монструозная материально-техническая составляющая, пока во многом девальвирующая эту идею. Солнечные батареи оказались громоздким, недолговечным и уязвимым источником энергии. А с учетом мер по их переработке и захоронению они, к тому же, и не слишком экологичны. Но, в конце концов, солнечные батареи отлично прижились как на «Мире», так и на МКС – поскольку лучше всего подходят для работы в космосе. Ведь там нет ни облачности, ни пыли, ни снега, а главное – нет иных источников энергии, зато круглый год светит солнце, и лучи его не рассеиваются в атмосфере за неимением таковой. Но на поверхности Земли технология солнечных батарей по-прежнему страдает от множества «детских болезней». Интересное направление НИОКР, значительно повышающее эффективность солнечных батарей – дальнейшее обогащение их подлинно растительными чертами. Правильная солнечная батарея должна быть гелиотропом – то есть, поворачиваться в течение суток, следуя за солнцем. Также она должна сворачиваться в плохую погоду, как цветок. Именно о таких разработках пойдет речь под катом.