Недавно вышла новая версия dplyr 1.2.0, и она принесла несколько важных обновлений, которые делают работу с данными в R ещё проще и удобнее. Опубликовал видео обзор в котором я рассказываю про самые интересные новинки: новые функции фильтрации filter_out(), when_any() и when_all(), обновлённую систему перекодировки с recode_values(), replace_values() и replace_when(), а также о важных оптимизациях старых функций.
Если вы активно используете dplyr в своих проектах, этот обзор поможет вам быстро понять, как ускорить работу с данными и писать более читаемый код. В видео я показываю реальные примеры и сценарии использования новых функций, чтобы вы могли сразу применять их в своих проектах.
Каждая третья фича не приносит ожидаемого эффекта. Частая причина — её запускают без проверки ключевой гипотезы. В результате — потраченные месяцы работы, бюджет и репутация команды.
26 февраля на практическом вебинаре «Как предотвратить провал фичи: чек-лист валидации гипотезы до разработки», вы получите готовое решение — структурированный чек-лист для валидации гипотез до старта разработки. Этот инструмент поможет вам сэкономить ресурсы и избежать ошибок, и он применим как в Agile, так и в Waterfall-среде.
Разберем на практике:
➕ Как появляются фичи: от боли бизнеса до решения.
➕ Что такое настоящая потребность и как её выявить.
➕ Ключевые метрики продукта и проекта для оценки.
➕ Факторы, влияющие на грамотную приоритизацию.
➕ Особенности требований в Agile vs Waterfall.
➕ Рабочие методы валидации требований из практики крупных компаний.
Дата: 26 февраля
⏰ Время: 18:00-19:00 (Мск)
👨🎓 Спикер: Басова Екатерина — эксперт по бизнес-анализу и управлению продуктами.
Архитектурный минимум для аналитика: 4 вещи, чтобы понимать систему целиком
Иногда кажется, что «архитекторы — это боги»: говорят уверенно, рисуют схемы за 5 минут и будто всегда видят систему насквозь. Но правда проще: архитектор — это роль в команде, а аналитику вполне реально взять от архитектуры необходимый минимум — чтобы не просто передавать требования, а реально влиять на качество решения.
Осветили границу между анализом и архитектурой и показали, каким минимальным набором знаний в этой области должен обладать аналитик, чтобы не просто передавать требования, а активно влиять на качество конечного продукта.
Цифровые двойники и 3D-визуализация: опыт GlowByte и FanRuan
GlowByte и FanRuan провели бизнес-завтрак с промышленными компаниями. Мероприятие было посвящено новым возможностям бизнес-аналитики, которые открывают инструменты FineVis и FineReport.
Эксперты продемонстрировали, как компании переходят от статичных дашбордов к интерактивным цифровым двойникам, которые обновляются в реальном времени и помогают принимать решения быстрее: от таблиц и графиков – к живым цифровым моделям.
Чжан Цзэфэн, Product & R&D Lead FineVis, FanRuan, рассказал:
как развивалась визуализация данных – от первых таблиц до VR/AR и 3D-моделирования,
что такое цифровой двойник и какие уровни зрелости существуют – от L0 до автономных систем L5,
почему 3D-визуализация имеет критичное значение для аналитики,
как применяют компании 3D-моделирование в логистике, производстве, энергетике, умных городах, медицине,
как FineVis и FineReport объединяют визуализацию и аналитику, интегрируя данные из ERP-, MES- и IoT-систем.
Алексей Коломенцов, старший консультант практики Business Intelligence, GlowByte, провел демо, в котором пошагово показал, как с помощью FineVis создать полноценного цифрового двойника – от пустой сцены до живой 3D-модели с данными.
В демо вы увидите:
Интерфейс системы и ключевые инструменты для работы.
Как строить сценарии взаимодействия с моделью.
Создание с нуля примера 3D-анимации.
Подключение реальных данных к объектам и их отображение в режиме реального времени.
Как сделать визуализацию интерактивной и полезной для аналитики.
Зима в разгаре, а мы нанимаем: новые вакансии в SSP SOFT
Кто мы и чем занимаемся? Лидеры («одни из», конечно) найма ИТ-специалистов на российском рынке— за прошлый год мы наняли 179 сотрудников, и уже в январе 2026 к нам присоединились 11 новых гуру! Занимаемся заказной разработкой ПО и предоставляем крупным клиентам выделенные команды на ИТ-аутсорсинг.
У нас новый московский офис, который открылся в 2025 году у самой Красной площади! А еще есть вакансии в офис в Томске и на удаленку из любой точки России.
Команда в SSP SOFT — это реальные проекты, дружная атмосфера, где работать — продуктивно, без выноса мозга и микро-менеджмента. В январе 2026 ищем опытных спецов, кто готов в новое профессиональное будущее вместе с нами.
Что предоставляет экосистема SSP SOFT: ✅ Мы пишем код, который формирует завтрашний день. Никакой скучной рутины. ✅ Центр компетенций и личное менторство ускорят развитие до максимума. ✅ Офис, гибрид или фулл-удаленка? Есть все варианты. ✅ Время — ваш ресурс. Мы его уважаем.
Подробности о вакансиях читайте на нашей странице ХХ.ру, но туда откликаться необязательно. Ждем резюме в ЛС нашей HR Lead Алине (https://t.me/AONikitina). Не забудьте добавить «секретную фразу» в сопроводительное письмо, «Увидел(а) вашу вакансию на Хабре».
Желаем всем хабровцам успешной карьеры в 2026 году 🚀)
Модуль метрик в Gramax Enterprise Server. Появились отчеты с метриками просмотров, визитов и посетителей на портале документации. А также статистика поисковых запросов. Отчеты можно фильтровать по дате и пользователям, выбирать период (день, неделя, месяц).
Поддержка Git LFS . Добавили возможность работать большими бинарными файлами (изображения, архивы, PDF и др.) через спецификацию Git LFS.
Превью файлов. На портале для читателей доступно превью файлов PDF и DOCX по клику. Читателю не обязательно скачивать файл на компьютер — он может просмотреть его прямо в браузере.
Свойства на портале. Раньше свойства отображались только в приложении, теперь можно настроить отображение и на портале для читателей. Читатель увидит их на статье, а также сможет отфильтровать результаты в поисковой строке.
Ссылки между каталогами. Добавили возможность добавлять относительные ссылки на статьи в других каталогах.
Удаление запроса на слияние. Теперь можно закрыть запрос на слияние в интерфейсе Gramax — он будет удален для всех пользователей после публикации изменений.
История комментариев. В просмотре изменений теперь проще отслеживать обновления комментариев: слева появляется иконка комментария, которая показывает, что в тексте изменились или появились комментарии. Там же можно кликнуть по комментарию, открыть его и отредактировать.
Работающий продукт — это не тот, который просто запускается. Это тот, который не заваливает поддержку одинаковыми вопросами и не требует больших переработок для новой фичи.
Мой путь в IT привел меня к системному анализу: до этого я пробовал себя и в роли проектного менеджера, и бизнес-аналитика, и даже частично тестировщика. И главная проблема каждого проекта, в разработке которого я участвовал — отсутствие документации.
Не снимаю с себя ответственности: зачастую объем документации зависел от моей работы, однако времени на нее было недостаточно — приходилось совмещать несколько ролей одновременно. Это, конечно же, приводило к путанице и большим проблемам в будущем. Отсутствие покрытия ключевых элементов системы приводит к багам и заваленной вопросами поддержке.
В моем опыте было несколько раз, когда я подхватывал проект за другим аналитиком. К сожалению, каждый раз мне приходилось либо восстанавливать и актуализировать документацию, либо писать ее с нуля. Так, на одном из проектов, была полностью неработающая ролевая система, на что постоянно жаловались пользователи. Пришлось делать, по сути, реверс-инжиниринг, выявляя текущие процессы, согласуя их с заказчиками, а затем передавая задачи разработчикам. На исследование системы пришлось потратить около недели, а дальше согласования, переработка, постановка задач и разработка архитектуры решения — заняло около двух-трех недель. Как только появилась документация и задачи были реализованы по ней — мы перестали получать по этому поводу какие-либо вопросы.
Целью другого проекта было его “возрождение” после полутора лет простоя. Багов — куча. Тестировщик спустя четыре месяца все еще ежедневно приходит ко мне с ошибками, на часть из которых мне сложно дать ответ: документация с прошлой разработки отсутствует полностью. Мне задают вопрос “Как должно быть?”, а мы не знаем даже того, для чего это вообще было реализовано. Разработка решения для устранения бага занимает меньше времени, чем поиск информации по этому функционалу.
Отсутствие документации вредит не только проекту, но и тем командам, которые с вами хотят интегрироваться. Вместо того, чтобы посмотреть Swagger для изучения эндпоинтов, приходится тестировать функционал, так как информация в нем неактуальная. Недавно попался в эту ловушку при интеграции с другим модулем: разработка нашей задачи на бэкенде отложилась минимум на неделю, пока другая команда не починит это у себя.
Важен обмен опытом, поэтому хотел бы узнать, как у вас обстоят дела. Сколько времени ваша команда тратит на задачи, которые можно было бы решить наличием актуальной документации? Какие артефакты вы используете в работе?
В дальнейшем планирую поделиться своим опытом ведения документации: процессы, шаблоны, виды артефактов и другое.
У меня есть друг с Telegram ботом с 200K MAU (Monthly Active Users) и я ему завидую. Как-то раз я смотрел поочерёдно то на README его проекта на GitHub (бот OpenSource), то на счётчик MAU в клиенте Telegram, и у меня родилась идея сделать генератор баджей для GitHub с MAU бота по официальным данным Telegram (так как это единственный независимый объективный источник информации об аудитории бота). Я также обнаружил, что готовых решений нет. А ещё даже всякие трекеры MAU ботов в более серьёзных сервисах аналитики требуют регистрации, добавления бота в каталог с прохождением модерации и т. д. (то есть у них в принципе первична функция каталога ботов, а не просто отслеживания MAU)
Так появился простенький сервис https://tgbotmau.quoi.dev, который я и хочу представить уважаемой аудитории Хабра.
Указываешь имя любого бота, для которого Telegram публикует MAU, и получаешь Markdown или HTML код баджа с актуальным значением MAU (можно выбирать любой стиль доступный на https://shields.io/, который используется в качестве бекэнда для генерации SVG), который можно вставить на GitHub, в блог, на лендинг страницу и т. д. А в качестве бонуса сервис начинает логгировать изменения MAU бота и отображает график.
Под капотом запрос профиля бота раз в сутки через MTProto с fallback на парсинг t.me, бекэнд написан на Rust с Axum, а фронтэнд на TypeScript с React и Astro.
Сервис некоммерческий и создан исключительно во имя красивых README на GitHub и удобства разработчиков ботов.
Развитые софт-скилы для аналитика — +1000 к долгосрочному профессиональному успеху, ведь с ними преуспевать в работе будет проще. Благо софты, как и харды, всегда можно прокачать.
Поэтому делимся несколькими важными для аналитика софт-скилами и рассказываем о методах тренировки этих «мягких» навыков.
Стратегическое мышление, или, иначе, helicopter view
Навык, который помогает смотреть на задачи сверху и переключаться с деталей на большую картину.
Как развивать: расширять фокус, интересоваться всем, что происходит в сфере, регулярно обмениваться опытом с коллегами и рассматривать альтернативные решения. Полезно смотреть на проект с позиции наблюдателя и задавать себе вопросы, например, как еще можно достичь этих целей, или какую проблему решение этой задачи закроет.
Фасилитация встреч
Суть навыка в умении вести переговоры и выстраивать коммуникацию так, чтобы находить компромисс между конфликтующими сторонами.
Как развивать: организовать групповое обсуждение помогают коммуникабельность и эмоциональный интеллект. Коммуникабельность прокачивается через постоянное живое общение, курсы ораторского мастерства или клубы дебатов. Эмоциональный интеллект, задача которого понять не только свои эмоции, но и эмоции других, — через наблюдения и рефлексию.
Понимание потребностей и выявление требований
Грамотное погружение в потребности бизнеса помогает вовремя понять требования для того, чтобы продукт или проект функционировали так, как нужно.
Как развивать: нужно учиться не бояться задавать вопросы, уточнять недостающие детали и копать вглубь. Полезно обсуждать с заказчиком возможное состояние продукта/проекта в будущем, сверять понимание требований и проверять каждое требование на полноту и согласованность, чтобы выявить противоречия на ранних этапах.
Самоорганизация
Аналитику полезно уметь самостоятельно организовывать свой рабочий процесс: приоритизировать задачи и грамотно планировать день.
Как развивать: пробовать декомпозировать свои задачи и разбивать сложные процессы на управляемые шаги. А еще не стоит пренебрегать этапом планирования личной эффективности и личной работы.
Коммуникация и обмен информацией
Помимо построения долгосрочных отношений, для аналитика важно эффективно обмениваться данными по документации: артефакты должны быть понятны читателю.
Как развивать: через практику живого общения с другими людьми и через понимание, что перед нами человек, которому, как и нам, важна ясность. Документы — это тоже общение. Концепцию можно передать через схемы, диаграммы, таблицы, они проще воспринимаются при чтении. Можно использовать user stories и рассказывать истории так, чтобы командам разработки и заказчика были понятны суть и ценности предлагаемого решения.
GlowByte разработала методику выбора BI на основе сценарного анализа
Источник: Freepik.com
Практика Business Intelligence GlowByte разработала подробное руководство по сценарному выбору BI с готовой Excel-матрицей для сравнения платформ.
GlowByte выделяет 4 ключевых сценария с разными потребностями и акцентами:
отчеты для руководителя,
self-service,
регламентная отчетность,
исследование данных.
Сценарии в матрице сопровождаются своим набором релевантных критериев, каждый из которых имеет оценку критичности, что позволяет адаптировать расчет под конкретный проект: при изменении критичности пересчитываются все баллы, и BI-платформа получает новую оценку.
ℹ️ Методика учитывает изменения в BI-ландшафте, запрос на адаптивность и гибкость, а также необходимость подстраивать инструмент под задачу, а не наоборот. Исследование содержит детальные чек-листы по каждому сценарию, критерии оценки и примеры расчетов.
Самая недооценённая функция электронных таблиц — таблицы. Что за ерунда, подумает читатель. Дело в том, что есть два английских слова: spreadsheet и table. При переводе на русский язык возникает путаница.
Таблица — это набор данных в виде столбцов (как в SQL). Изначально таблицы были реализованы в Excel, а в 2024 появилась поддержка и в Google Sheets.
Пусть есть список сотрудников из трёх столбцов: ID, ФИО и Оклад. Преобразуем его в таблицу. Для этого достаточно в любом месте диапазона с данными нажать сочетание клавиш:
Excel: Ctrl + T (⌘ + T)
Google Sheets: Ctrl + Alt + T (⌘ + ⌥ + T)
Поначалу кажется, что данные просто красиво отформатировали. Но это лишь внешнее изменение. Главное отличие: названия таблицы и её столбцов можно использовать в формулах в виде табличных ссылок.
Переименуем таблицу в Сотрудники (в Excel это делается не совсем очевидно). Теперь посчитаем сумму окладов двумя способами: с помощью обычных и табличных ссылок.
Первая компания, где я работал, производила программное обеспечение и доставляла его на компакт-дисках. Курьеры-студенты периодически приезжали в офис, чтобы сдать выручку и получить очередную пачку дисков. Учёт велся в большом бумажном журнале. Постоянно возникала путаница: кто из курьеров сколько дисков взял и сколько денег должен.
Посмотрел я на это дело, открыл Эксель и набросал пару таблиц: журнал выдачи дисков и журнал расчётов. Получился инструмент, который сам считает, сколько дисков и денег на руках у каждого курьера. Задача была несложной, т.к. ещё в старших классах я где-то нашёл учебник по Экселю и прочёл от корки до корки. В итоге электронная таблица заменила бумажный журнал, а я прослыл в офисе главным автоматизатором.
Прошло четыре года, я уже пару лет как работал в другой компании. Раздаётся звонок. «Азат Лаисович, ваша таблица распухла и начала тормозить, можете помочь?» Я не поверил своим ушам. Они до сих пор её используют! Объяснил бывшим коллегам, как удалить исторические данные, таблица снова начала летать.
Умение пользоваться электронными таблицами — один из важнейших навыков. В личной жизни Эксель помогает настроить учёт коммуналки, запланировать путешествие и составить смету свадьбы. Стартапу или малому бизнесу электронные таблицы могут заменить дорогостоящие CRM и ERP. В большой компании Эксель позволяет выгрузить данные из сложной системы и быстро составить необходимый отчёт для аудита.
К сожалению, большинство людей осваивает Эксель методом тыка и продвигаются не дальше красивого раскрашивания ячеек. Хотите за пять минут делать работу, на которую ваши коллеги тратят часы — найдите учебник или курс по электронным таблицам.
Как в электронной таблице найти строчку не по одному столбцу, а по двум? XLOOKUP умеет искать только по одному, поэтому приходится выкручиваться.
Пример: есть таблица продаж, где в столбцах A и B хранятся дата и идентификатор товара. Нужно найти продажи определённого товара за конкретный день.
Первое решение: создать в исходной таблице вспомогательный столбец C, в котором склеить дату и идентификатор товара. Для склейки используем оператор & (амперсанд):
=A2&B2 (и так для всех строчек)
Теперь можно искать по этому столбцу и доставать необходимые данные, например, из столбца D. Если нужно найти продажи товара 1234567 за сегодня, используем формулу:
=XLOOKUP(TODAY()&"1234567";C:C;D:D)
Второе решение: генерировать этот вспомогательный столбец на лету с помощью ARRAYFORMULA и так же искать по нему:
Мы сделали быстрый офлайн-поиск по всей документации. Открывается через Cmd/Ctrl+/, навигация стрелками, Enter – переход с подсветкой найденного фрагмента. Подхватывает опечатки и кривую раскладку.
Помогает быстро переключаться между статьями и проектами. Работает одинаково в приложении и в докпортале.
--- Gramax – это база знаний с хранением контента в Git в Markdown-файлах и с визуальным редактором. Подробнее о проекте: https://gram.ax/ru
Почти каждый пользователь электронных таблиц рано или поздно сталкивается с задачей провэпээрить таблицу: найти значение в одном столбце и вернуть соответствующее значение из другого столбца. Типичный сценарий: перенести данные из одной таблицы в другую по какому-то идентификатору.
Функция VLOOKUP (ВПР) появилась в 1985 году в самой первой версии Excel и занимала третье место по популярности среди пользователей (после SUM и AVERAGE). За это время она морально устарела, поэтому в 2020 году разработчики Excel добавили новую функцию XLOOKUP. В 2022 году она появилась и в Google Sheets.
Напомню, VLOOKUP принимает на вход четыре параметра:
искомое значение;
ссылку на таблицу (поиск идёт по первому столбцу);
номер столбца с результатами;
тип поиска: точный или приблизительный.
1️⃣ VLOOKUP закладывается на структуру исходной таблицы. Если завтра порядок столбцов поменяется, формула может сломаться. Придётся руками обновлять номер столбца с результатами. XLOOKUP принимает на вход два диапазона и спокойно переживает перемещение любого из них:
2️⃣ Для VLOOKUP столбец с результатами должен располагаться справа от столбца для поиска. Передать третьим аргументом отрицательное число нельзя. XLOOKUP лишён этого ограничения и позволяет доставать результаты слева от столбца для поиска:
=XLOOKUP("needle";B:B;A:A)
3️⃣ При неудачном поиске VLOOKUP возвращает #N/A. Если вместо ошибки хочется выводить что-то другое (например, пустое значение), приходится дополнительно вызывать функцию IFNA. В XLOOKUP можно четвёртым аргументом передать значение, которое будет выводиться при неудачном поиске:
4️⃣ По умолчанию VLOOKUP ищет приблизительное совпадение. Для поиска точного соответствия надо передать FALSE или ноль четвёртым параметром. Часто про это забывают и долго разбираются, почему функция работает не так, как ожидалось. XLOOKUP по умолчанию ищет точное соответствие, помогая избежать ошибок.
5️⃣ Приблизительный поиск VLOOKUP умеет искать только ближайшее меньшее значение. При этом исходная таблица должна быть отсортирована. XLOOKUP в режиме приблизительного поиска позволяет искать как меньшее, так и большее значение. Таблицу сортировать необязательно.
6️⃣ Если подходящих значений в таблице больше одного, VLOOKUP ищет только первое совпадение. XLOOKUP умеет запускать поиск с любого конца и может находить как первое, так и последнее совпадение.
Единственный минус XLOOKUP: функция недоступна в Excel 2019 и более ранних версиях. Да и по-русски называется ПРОСМОТРХ, где Х — это «икс», а не «ха». К вопросу, почему я избегаю русскоязычные названия функций.
В прошлом году было много разговоров о том, что найти работу в ИТ стало намного сложнее. Мол, количество вакансий уменьшается, а откликов - наоборот, только растёт. Как специалист, который старается чувствовать пульс индустрии (в том числе на рынке труда), я решил не полагаться исключительно на общественное мнение и проверить утверждения на цифрах (правда, исключительно аспект с вакансиями).
Используя API HH, я в течение последних 3,5 месяцев отслеживал изменения в количестве открытых вакансий на позиции "системный аналитик" и "бизнес-аналитик" (в соответствии с моей специализацией). Результаты, впрочем, подтвердили озвучиваемый в постах тренд, и поэтому вряд ли кого-либо должны удивить. Однако я всё же решил поделиться с сообществом накопленной статистикой (пусть и небольшой).
Для справки, привожу параметры запроса для выборки:
💀 Когда диаграмма - источник истины, архитектура умирает первой.
📝 Аналитики, использующие PlantUML, Miro, Draw.io, Visio, Structurizer и прочее, забывают что знания в диаграммах - всё равно что код в скриншотах.
Знания должны храниться в виде взаимосвязанных элементов Модели, а диаграммы должны быть лишь их Проекциями. Разработчики ArchiVision.org это прекрасно понимают. Именно это делает систему ArchiVision значительно более эффективным инструментом для хранения знаний об ИТ системах чем все вышеназванные сервисы. При этом, генерируемые ею диаграммы живые, интерактивные и редактируемые. Система также поддерживает горячие клавиши для эффективной работы с моделью и диаграммами. Горячие клавиши позволяют рисовать быстрее, чем большинство перечисленных сервисов, тем более чем писать в PlantUML, Structurizer и аналогичных.
⚡ Ключевое отличия: - 👎 в названных выше инструментах вы редактируете диаграммы; - 👍 в ArchiVision вы работаете с моделью, а диаграммы - это её визуальная проекция, через которую тоже можно развивать модель.
🔄 За счет этого: - 🧠 модель становится единственным источником истины; - 🧱 диаграммы перестают быть хрупким артефактом; - 🧩 структура модели позволяет устранять разночтения, дублирование и рассинхронизацию; - ✅ система способна контролировать ввод и проверять полноту данных; - 🧼 архитектура перестаёт расползаться по версиям и интерпретациям; - ⌨️ навигация и горячие клавиши — это часть работы с моделью, а не удобство интерфейса.
🎥 Это видео - пример того, как сочетание модели, интерактивных диаграмм и горячих клавиш меняет процесс проектирования.
Ну а вот сам канал с видеоинструкциями находится здесь.
Как говорил один детектив: «Лень — двигатель прогресса. А прогресс, как известно, не остановить».
Всем привет! Зовут меня Виталий, автор телеграм канала "Детектив данных", про мой вход в аналитику данных. В бесконечном процессе по оптимизации рабочего пространства понял, что было бы удобно запускать ноутбук без его физического запуска с помощью кнопки, а например с помощью Алисы. А в перспективе вообще убрать ноутбук с рабочего стола. Задача была решена, но не обошлось без нюансов, которыми поделюсь.
Исходные данные: Два ноутбука: рабочий Acer и личный Lenovo Legion. Стоят в правой части стола – всегда закрытые, так как вся работа осуществляется через хаб и внешние устройства.
Включение личного – нужно просто приподнять и можно сразу опускать монитор, при подключенном хабе – через пару секунд рабочий стол загружается. Кстати на Win11, чтобы пропустить момент ввода пин кода – можно с официального сайта Микрософт скачать программу Автологон Включение рабочего – тут удобством и не пахнет: нужно полностью открыть ноутбук нажать кнопку включения, ввести пароль в BitLocker на клавиатуре ноутбука (BT клавиатура не работает) и только тогда можно закрывать ноутбук - появится окно ввода пароля и входа в систему.
Прошерстив интернет нашлось несколько способов решения: - физическое распаивание схемы включения – один из умельцев с ютуба внедрил в цепь питания – геркон, и в результате ноутбук включался при поднесении магнита к определенному месту в крышке – сомнительно но окей - установка скрепки которая физически нажимает на кнопку включения ноутбука, можно запустить ноутбук без открытия крышки – нет, ну это совсем колхоз - Wake on Lan – специальные настройки сетевой карты, где в выключенный ноутбук отправляются спец сигналы от роутера, и при определённой настройке биоса ноутбук будет включаться – уже похоже на правду но как минимум требует провод Ethernet, и определённые настройки сетевой карты – мне не подходит, так как ноутбука два а провод у меня один и идёт к хабу - Wake on AC Power – еще одна настройка в BIOS - вот этот вариант мне понравился – включение при подаче питания – с учётом того, что пол дома у меня работает от Алисы – подумал что в целом можно обойтись обычной умной розеткой, и при выполнении сценария просто выключать-включать розетку через небольшой интервал.
Первая проблема в том, что при выключения розетки – на ноутбук (если внутри блока питания ёмкие конденсаторы) еще какое то время подаётся питание (от 5 до15 секунд +-), это не позволило просто поставить промежуток между выключением и включением розетки. Решение простое и вполне подходит в мой повседневный сценарий– Розетка на ноутбук просто отключаются ночью, а когда нужно включить компьютер - я просто прошу Алису напрямую включить Компьютер (а на самом деле розетку) и ноут спокойно включается без всяких задержек, даже без интернета (розетки подключены через протокол matter ) Настройка BIOS в Lenovo находилась в разделе «Instant boot».
С рабочим компом пришлось повозиться подольше: - Стоял пароль на вход bios – для добавления сценария включения, пришлось обращаться к рабочим айтишникам, - нерабочая клавиатура при вводе кода на BitLocker – проблема в том, что BT драйвера (для клавиатуры) запускаются вместе с системой, а BitLocker запускается до загрузки ОС. Клавиатура по проводу, хоть и работает, но я не очень люблю провода на рабочем столе, и как раз пришлась кстати клавиатура подаренная женой NupHy Field75– в клавиатуре есть радиоканал, дрова которого прекрасно активны и до загрузки ОС. А еще есть макросы для ввода паролей )
Вывод: иногда для решения задачи нужны не только технические знания и пытливый ум. А ещё — жена, которая вовремя дарит подходящие гаджеты. Стол снова идеально чист от проводов. Осталось только понять, куда девать освободившиеся пятнадцать секунд в день, которые я так героически отвоевал. Наверное, на написание этого поста.
В Google Sheets есть две функции, позволяющие производить операции над целыми массивами: ARRAYFORMULA и MAP.
Пусть в столбце A лежит цена товара, а в столбце B — скидка в процентах. Посчитаем финальную цену для всех товаров:
=ARRAYFORMULA(A2:A*(1-B2:B))
Как видно, ARRAYFORMULA позволяет обращаться с массивами как с одиночными ячейками, выполняя любые арифметические (и не только) действия. Под капотом формула работает построчно: сначала обрабатывает первые ячейки столбцов A и B, потом вторые, и т.д. Всего одной формулой мы посчитали финальные цены сразу для всех товаров. Минус такого подхода: когда формула разрастается, становится тяжело разобраться, какие действия с какими столбцами производятся.
Функция принимает на вход неограниченное количество массивов (в нашем случае — два). Далее она последовательно берёт элементы этих массивов, передаёт в функцию LAMBDA под именами, указанными в первых аргументах (price и discount), и выполняет вычисление, переданное последним аргументом (price*(1-discount)). Благодаря явному именованию массивов формула читается понятнее.
Встречаются случаи, когда ARRAYFORMULA в принципе не работает. Например, когда внутри необходимо использовать другую формулу массива.
Пример: пусть для каждого значения из столбца A нужно отфильтровать и склеить через запятую значения из другой таблицы:
=ARRAYFORMULA(JOIN(", ";FILTER(D2:D;E2:E=A2:A)))
Формула не работает, т.к. FILTER получает вторым аргументом сравнение двух массивов и не понимает, что от него требуется.
MAP же успешно справляется с этой задачей, т.к. передаёт в лямбда-функцию конкретное значение, по которому можно отфильтровать другую таблицу: