Обновить

Разработка

Сначала показывать
Порог рейтинга

Представлен бесплатный аналог Spotify без рекламы, без платных доступов и без подписок под названием SimpMusic, где треки можно слушать фоном, есть гигантская библиотека, персонализированные подборки, чарты и топы и полностью открытый код.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

minimal vscode: открываем окна

Нет, не от духоты, ее в видео как раз не будет 🌚️️️️
Видео короткое, динамичное, практичное.

Перед тем как учиться пользоваться vscode, необходимо:

  1. Её поставить

  2. Научиться её открывать

  3. Располагать её на рабочем пространстве

Мой конфиг: https://github.com/sobolevn/dotfiles

В видео поговорили про: hotkey managers, тайлы, всякие красивости для macos.

Менеджеры горячих клавиш:

Тайловые менеджеры:

Полезности:

Теги:
Всего голосов 15: ↑13 и ↓2+14
Комментарии3

Пользователь запустил Skyrim на Samsung S25+, чтобы охладить гаджет, смартфон пришлось положить в стакан с холодной водой. В комментариях умоляли положить смартфон в полиэтиленовый пакет. Но пользователь оказался непреклонен и твердо верит во влагозащиту IP68.

Процессор 45°C, аккумулятор 24°C. USB-концентратор с HDMI для внешнего монитора и адаптер для моего дешёвого контроллера. И, конечно же, блок питания.
Процессор 45°C, аккумулятор 24°C. USB-концентратор с HDMI для внешнего монитора и адаптер для моего дешёвого контроллера. И, конечно же, блок питания.
Теги:
Всего голосов 7: ↑7 и ↓0+8
Комментарии4

Представлен бесплатный сервис FilePursuit для поиска любых файлов в сети. Его система проверяет наличие доступных файлов по интернету, включая документы, APK-файлы, ZIP, книги, файлы, картинки и видео, а также PDF.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

BPN vs MVM

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

В одном файле эта задача реализована в архитектуре BPN (Business Process Notation), о которой рассказывал раньше здесь. А во втором файле тот же код организован по архитектуре MVVM.

Код и в том, и в другом файле написан с помощью Claude Sonnet. В случае с BPN структурировал код вручную, следуя бизнес-процессам. А во втором случае попросил Клода сделать рефакторинг, используя традиционный современный подход и он выбрал MVVM.

Что можно сказать в итоге, сравнивая архитектуру в том, и другом случае. 

Объём кода

В BPN варианте 270 строки кода с комментариями, в MVVM - 524.

Т.е., в MVVM случае кода практически в 2 раза больше.

Количество сущностей, объектов.

BPN - один класс и 3 раширения к нему.

MVM - 6 классов, 1 структура, 3 протокола, каллбэки, фабрика, расширение.

Архитектура

BPN - монолит.

MVVM - вью и модель, анимация и аудио как сервисы, роутер, отдельная структура для хранения значений свойств и т.д.

Что лучше

Как всегда, каждый из подходов имеет свои плюсы и минусы.

В BPN нравится, что можно видеть модель процесса, в данном случае модель одной из задач приложения.

Что такое “Модель”

Наиболее традиционны 2 понимания термина “модель”.

В одном случае, это структура данных, модель объекта.

Например:

struct Person {

let firstName: String

let lastName: String

var age: Int

}

В другом случае, под моделью понимается всё, что не относится к интерфейсу.

Но есть и третье понимание модели - это модель приложения, или модель отдельных процессов внутри приложения. Т.е., составные части приложения (процесса) и их последовательность.

В BPN файле такая модель проступает наглядно:

Модель процесса "Обратный отсчет"
Модель процесса "Обратный отсчет"

 Здесь Обратный отсчёт складывается из таких блоков как подготовка, собственно выполнение, анимация, звук и закрытие экрана. Внутри каждого этапа видны его составляющие - методы и необходимые свойства.

В файале MVVM блоков кода гораздо больше и нужно несколько раз проскоролить чтобы увидеть их в выпадающем меню. И увидеть целостную модель здесь сложнее.

Conclusion

На относительно небольших проектах архитектура MVVM может быть избыточна. Здесь могут использоваться более простые варианты.

BPN позволяет видеть целостную модель задачи (процесса, приложения).

Теги:
Рейтинг0
Комментарии10

От вибростендов до полевых испытаний: тесты Hardware QA в реальных условиях

Как понять, выдержит ли стойка или сервер поездку через всю страну в контейнере или грузовике? Чтобы проверить, готово ли оборудование к реальной транспортировке, команда HW QA использует целый комплекс инструментов и методов:

  • Вибростолы воспроизводят типичные транспортные нагрузки — от тряски в грузовике до промышленных вибраций. Оборудование фиксируется на платформе, и на него подаются колебания заданной частоты, амплитуды и направления. Вибротесты стоек показывают, как сервера реагируют на тряску: анализ ускорения и спектр вибраций (частоты до 10–40 Гц).

  • Датчики ускорений фиксируют рывки и удары, чтобы оценить реальные перегрузки компонентов.

  • Полевые испытания: перевозят стойки по России, ставят датчики и собирают реальные профили нагрузок в зависимости от типа грузовика и подвески.

Вибротест стойки: проверяем, как сервера выдерживают тряску при перевозке
Вибротест стойки: проверяем, как сервера выдерживают тряску при перевозке

Почему это важно? Даже один отвалившийся кабель в пути может сделать стойку непригодной к использованию.

Это лишь часть арсенала Hardware QA в YADRO. В статье директор департамента верификации и контроля качества Игорь Попов рассказал, как команда проверяет стойки и серверы на прочность, какие инструменты используют и как команда инженеров моделирует реальные условия работы оборудования.

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Взгляд на BI дашборды PROCESET сквозь призму повседневных задач.

Автор: Алексей Терехин, Центр эксплуатации ИТ, Руководитель направления автоматизации ИТ-процессов, Страховой Дом ВСК

Когда на утренней планёрке перед глазами появляется картинка с ключевыми метриками — понимаешь, как далеко ушла ручная работа с отчётами. BI дашборды PROCESET в нашем Центре эксплуатации ИТ помогают увидеть главные цифры одним взглядом, а ещё — сэкономить время и силы команды. Расскажу, как это работает простыми словами.

Почему дашборд лучше связки Excel-Power Point

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

К тому же, дашборд позволяет пользователям взаимодействовать с данными в реальном времени, фильтровать и настраивать представление информации по своему усмотрению прямо во время планерки.

Нельзя забывать о возможности дашборда собирать данные “всех мастей” в одном месте: таблицы из базы, CSV файлы и даже ответы от внешнего API — всё конвейером попадает в один экран.

Дополнительным преимуществом является способность анализа больших объемов данных: BI-дашборды PROCESET способны на это, в то время как excel будет испытывать трудности с производительностью.

Если вы ещё не читали, как мы внедряли процессную аналитику загляните в нашу статью.

Как мы это сделали (без сложных терминов)

  1. Собираем данные // Представьте, что ETL — это робот курьер. Он каждый час ездит за нужными таблицами, файлами и ответами от сервисов и привозит их в хранилище.

  2. Готовим и сглаживаем // Робот перебирает свежие цифры, превращает разрозненные форматы в единый вид (например, переводит все даты к одному стилю) и отбрасывает лишнее.

  3. Создаем визуализацию // Каждый дашборд выстраивается по 4-м уровням: панель управления дашбордом; карточки с ключевыми метриками; графики с динамикой метрик по периодам и графики с дополнительной детализацией или группировкой метрик.

  4. Выходим на большие экраны // Дашборд размещен на большом экране в открытом офисе и становится центральном местом, где команда отслеживает ключевые показатели в реальном времени

  5. Разбираем причины // Когда метрика уходит в красную зону, мы переходим в интерактивную версию, которая позволяет исследовать различные аспекты и находить причины отклонений.

Что вы получите в итоге

  • Экономия времени: вместо нескольких часов на подготовку отчётов — пару кликов и готово.

  • Прозрачность: все видят одни и те же цифры, нет разночтений «кто/что/куда внёс».

  • Быстрый анализ: от «почему упал KPI» до «где утечка заявок» — без прыжков между Excel и презентацией.

Пару советов для старта

1. Выберите одну ключевую задачу — например, автоматизацию утреннего отчёта по инцидентам.

2. Настройте расписание — пусть "робот курьер" привозит данные раз в час.

3. Повесьте дашборд на монитор — и посмотрите, как команда сама начинает держать цифры под контролем.

И помните: чтобы узнать, как мы шаг за шагом внедряли эту систему и связали её с процессной аналитикой, обязательно загляните в нашу статью «Синергия Process Mining и BI: как Страховой Дом ВСК строит эко-систему процессной аналитики Proceset в ИТ».

Буду рад вашим вопросам и историям внедрения — пишите в комментариях!

Теги:
Всего голосов 6: ↑5 и ↓1+6
Комментарии1

Почему архитектура без аналитика — это лотерея

Представьте, что архитектура — это проект моста. Без аналитика строители видят только берега, бетон и металл. А потом выясняется, что по мосту должен проехать тяжёлый поезд, а не пешеходы. Опоздали...

Системный аналитик в архитектуре — это тот, кто ещё до первой строчки кода выясняет:

  • кто по мосту пойдёт;

  • когда он должен быть готов;

  • какой ветер дует в регионе;

  • и почему заказчик хочет на въезде логотип в стиле ар-деко.

Что делает аналитик:

  • Формализует требования. Не «нужно быстро», а «время отклика — до 300 мс для 95% запросов».

  • Собирает и декомпозирует требования: и бизнесовые, и технические.

  • Описывает процессы и данные, чтобы разработчики понимали, с чем работают.

  • Создаёт модели: ERD, BPMN, DFD, UML — чтобы было понятно и на митинге, и через год.

  • Выявляет противоречия. Если в одном месте говорится «реестр должен быть публичным», а в другом — «данные должны быть защищены по ФЗ-152», аналитик не ждёт багов — он их предотвращает.

  • Фиксирует ограничения: на инфраструктуру, бюджет, регуляторику.

Согласует архитектурные решения: чтобы бизнес понимал, почему микросервисы, а не монолит, и что это не «модно», а целесообразно.

Без него:

  • Архитектор опирается на предположения.

  • Команда упускает сценарии использования.

  • Нефункциональные требования (безопасность, отказоустойчивость, масштабируемость) игнорируются.

  • В итоге — технический долг с первого релиза и недовольный бизнес

  • И да, аналитик — не просто передатчик между бизнесом и технарями. Он переводчик с «хочу, чтобы было удобно» на «нужна интеграция с LDAP, SLA по логину — до 1 секунды».

Проект без аналитика — это как строить дом по фотографиям других домов. Кажется, понятно. А потом — сюрприз: у вас 12 ванных и ни одной кухни.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Задача о котиках и статистической значимости

Однажды аналитик решил проверить, правда ли, что сайт с котиками собирает больше регистраций. Оцените его гипотезу и проанализируйте результаты.

Условие

В компании «Мурзик и котята» резко упали регистрации на сайте. У аналитика появилась гипотеза, как повысить конверсию, и он решил проверить ее с помощью А/В-теста. Первая версия (контрольная) осталась без изменений, а во вторую (экспериментальную) добавили фотографии котят.

Спустя месяц появились первые результаты:

  • старую версию сайта посетили 3 425 человек, из них 45 прошли регистрацию;

  • на новой версии побывали 3 398 человек, зарегистрировались 64.

Порог значимости стандартный — 5%.

Задача

Помогите аналитику решить, сработала гипотеза или нет. Определите,  является ли разница результатов статистически значимой. 

Делитесь в комментариях своими ответами. А если будет сложно, заглядывайте за решением в Академию Selectel.

Теги:
Всего голосов 10: ↑10 и ↓0+15
Комментарии2

Интеграция PVS-Studio c AppSecHub

Компания PVS-Studio и платформа AppSec.Hub заключили технологическое партнёрство для обеспечения интеграции статического анализатора кода PVS-Studio в экосистему DevSecOps.

AppSec.Hub — это платформа для автоматизации процессов Application Security, которая позволяет объединять различные инструменты анализа, тестирования и мониторинга безопасности приложений.

Отчёт анализатора PVS-Studio теперь можно загрузить для просмотра в платформу AppSecHub вручную с помощью пользовательского интерфейса инструмента либо с помощью специальной утилиты командной строки.

Подробнее о работе PVS-Studio в AppSec.Hub можно прочитать в посвящённом этому разделе документации.

Также мы провели вебинар с коллегами из AppSec Solutions, чтобы на практике показать, как инструменты работают вместе, а также поделиться полезным опытом в интеграции статического анализа в DevSecOps.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Представлена бесплатная платформа Pagy, которая позволяет создавать лендинги и небольшие веб-проекты за секунды. Работает в браузере и собирает сайты или визитки без привлечения дизайнера, верстальщика. Не требует никакой установки ПО. Все просто: выбираете шаблон и сразу его редактируете, пишите текст, вставляете ссылки и пикчи. Ни одной строчки кода писать не нужно, хостинг не требуется. Есть аналитика метрик сайта и сотни уже готовых дизайнов от разрабов и коммьюнити.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

Microsoft провела масштабное исследование и выяснила 40 профессий, которые могут исчезнут из-за нейросетей.

В список попали: переводчики и устные переводчики, историки, бортпроводники, торговые представители в сфере услуг, писатели и авторы, специалисты по обслуживанию клиентов, программисты станков с ЧПУ, телефонные операторы, агенты по продаже билетов и туристические клерки, радиоведущие и дикторы, брокерские клерки, преподаватели по ведению домашнего и фермерского хозяйства, телемаркетологи, консьержи, политологи, журналисты, репортёры, корреспонденты, математики, технические писатели, корректоры и редакторы текста, хосты и хостессы, редакторы, преподаватели бизнеса (вузовского уровня), специалисты по связям с общественностью, демонстраторы и промоутеры, агенты по рекламе, клерки по открытию счетов, статистические ассистенты, клерки по аренде и прокату, специалисты по анализу данных, персональные финансовые консультанты, архивариусы, преподаватели экономики (вузовского уровня), веб-разработчики, аналитики по управлению, географы, модели, маркетинговые аналитики, специалисты по телекоммуникационной безопасности, операторы коммутаторов, преподаватели библиотечных наук (вузовского уровня).

Список профессий, которые ИИ пока не сможет заменить: медсестры, медицинские ассистенты (нянечки), работники по удалению опасных материалов, подсобные рабочие, бальзамировщики, операторы систем и установок, челюстно-лицевые хирурги, установщики и ремонтники автомобильных стёкол, судовые инженеры, ремонтники шин, ортопеды-протезисты, подсобники в производстве, работники по обслуживанию дорог, подготовщики медицинского оборудования, операторы упаковочных и фасовочных машин, рабочие на машинах, посудомойщики, бетонщики и отделочники, начальники пожарных подразделений, операторы промышленных грузовиков и тракторов, офтальмологические медтехники, массажисты, хирургические ассистенты, подсобники кровельщиков, операторы газовых компрессоров и насосных станций, кровельщики, члены экипажа судов, уборщики и горничные, операторы асфальтоукладочной и уплотнительной техники, операторы лесозаготовительной техники, операторы моторных лодок, санитары, шлифовщики полов и отделочники, операторы железнодорожной техники (рельсоукладчики), формовщики и литейщики, операторы очистных сооружений, операторы мостов и шлюзов, операторы земснарядов.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Чужой товарный знак в TITLE вашего сайта: есть ли риск судебного иска?

Сайт - средство привлечения клиентов и сопровождения продаж. Инструмент мощный, но зависимый: нужна поисковая оптимизация, иначе сайт затеряется среди миллиарда похожих ресурсов.

Такая оптимизация подталкивает поискового робота к тому, чтобы он приблизил к пользователю конкретную веб-страницу - поместил ссылку на нее как можно выше в выдаче по запросу.

Место страницы сайта в поисковой выдаче выше за счет текста внутри элемента TITLE.

 Элемент TITLE размещается вверху кода веб-страницы между служебными символами <title></title>. Внутри элемента - текст, который отражает ключевую мысль всего контента страницы.

Пользователю не виден код сайта, но код видит поисковый робот. Он переходит на веб-страницу, изучает сведения внутри TITLE и помещает ссылку на эту страницу в выдачу по соответствующему запросу пользователя. Повыше.

В чем проблема? Давайте на примере.

Сайт моей адвокатской практики включает страницу "Главная", которая знакомит с моей юридической помощью: сообщает предложение, показывает его ценность, описывает пользу для каждого профиля и так далее.

Моя специализация - юридическая помощь по интеллектуальной собственности. Поэтому в код элемента TITLE этой веб-страницы я поместил ключевую мысль: "Защита интеллектуальной собственности | Адвокат С.В. Пропастин".

Поисковый робот считывает код и учитывает текст из TITLE при выдаче ссылки на веб-страницу. По запросу пользователя "защита интеллектуальной собственности".

Я порылся в реестре товарных знаков Роспатента и нашел комбинированный товарный знак условного конкурента. На нем изображены щит и словосочетание: Патентное бюро "Защита интеллектуальной собственности" (заявка 2019763408).

Ключевая мысль "защита интеллектуальной собственности" в TITLE кода моего сайта и словесный элемент товарного знака бюро сильно похожи!

Отсюда вопрос -

Застрахован ли я от судебного иска на том лишь основании, что фрагмент чужого товарного знака прописан в невидимом для пользователя месте - коде сайта?

Вопрос не праздный.

Гипотетически я могу отбирать клиентов у бюро: пользователи ищут в интернете именно бюро, за счет моего title наталкиваются на мой сайт и переходят на него, оценивают преимущества и обращаются ко мне за помощью.

Бюро вправе защищаться - подать на меня в суд. Потребовать, чтобы я перестал нарушать их права на товарный знак и возместил ущерб.

С такой ситуацией может столкнуться любой бизнес: малый, средний или крупный...

Ответ на вопрос мне не нравится, но истина дороже -

Маскировка чужого товарного знака в элементе TITLE кода веб-страницы не защищает меня от иска правообладателя знака. Почему?

1. Товарный знак включает словесный элемент "защита интеллектуальной собственности". Ключевая мысль в TITLE моего сайта тоже сформулирована в словесной форме с таким же наполнением.

Словесная форма товарного знака и ключевой мысли, их одинаковый текст - аргумент в пользу использования на сайте именно товарного знака, принадлежащего бюро.

2. Один из способов использования товарного знака - его размещение в сети "Интернет".

Сайты являются обязательным звеном этой сети. Без них линии связи теряют смысл: нечего соединять. Именно использование товарного знака без согласия его владельца - повод для судебного иска.

3. Без специальных сервисов элемент TITLE в коде сайта невидим пользователю. Но именно в случае с TITLE пользователь видит результат исполнения кода, так как ключевая мысль:

1) выводится в виде заголовка и подсвечивается системой на странице выдачи по поисковому запросу;

2) выводится на персональном компьютере в адресной строке браузера при переходе на главную страницу сайта.

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

Интересно, вы проговариваете в процессе SEO тему использования чужих товарных знаков?

Теги:
Всего голосов 5: ↑2 и ↓3+1
Комментарии8

Ближайшие события

Неделю назад OpenGroup анонсировали публикацию черновика стандарта Archimate версии 3.3 (официально номер не обозначен - это мое предположение) для ознакомления с ним более широкой аудитории.

Я тоже скачал, полистал... Замечательно, когда есть раздел с кратким описанием отличий. Так вот, что же нас ждет:

  • удалили связь композиции (composition) - теперь вместо него либо просто агрегация, либо специализация;

  • удалили элемент "взаимодействие" (interaction) на всех уровнях, а также ограничение (constraint), разрыв (gap), контракт и представление (representation);

  • элементы поведения на всех уровнях объединили в общие элементы "сервис", "процесс", "функция" и "событие";

  • "событие" ("event") на слое implementation также заменено на общий элемент "событие";

  • элемент "коллаборация" объединен для всех уровней (бизнес, приложения, технология);

  • бизнес-роль стала просто "ролью";

  • вместо представления фреймворка в виде аспектов и слоев теперь остался только шестиугольник Archimate;

  • термин "слой" заменили на "домен";

  • раздел по "Общей метамодели" заменили на главу 4, описывающую общие элементы (см. выше);

  • путь ("Path") теперь входит в общий домен;

  • вместо агрегации от пути к внутреннему активному структурному элементу теперь реализация от активного структурного элемента к пути;

  • появилось визуальное отражение мощности связей (для отображения ограничений)

В качестве подходов для трансформации моделей из спецификации 3.2 в 3.3 предлагается выполнить замену (в т.ч. с использованием специализации соответствующего концепта):

  • композицию - на агрегацию

  • ограничения - на требование (requirement)

  • контракт - на бизнес-объект

  • разрыв (gap) - на оценку (assessment) или результата (deliverable)

  • представление (representation) - на объект данных, артефакт или материал

  • взаимодействия - на процессы и функции

  • в целом элементы поведения с разных уровней - на универсальный аналог

  • отмененные виды связей между конкретными типами элементов - на связь ассоциации

Если сравнивать с предыдущими версиями - они были менее революционными, и в основном добавляли что-то новое, дополняли. Грядущая же версия обещает чистку и унификацию - в т.ч. за счет активного применения введенного в предыдущих версиях понятия специализации для любого элемента / связи. По заверениям представителей OpenGroup это должно увеличить ясность и согласованность моделей, а также улучшить взаимопонимание при межкомандном взаимодействии.

На мой взгляд такое активное использование специализаций элементов алфавита языка Archimate с одновременным сокращением самого состава алфавита, с одной стороны повысит гибкость в подходах к моделированию, а с другой, после выработки этих подходов - потребует детализации соглашения по моделированию для конкретной организации/проекта/команды (т.е. насчет "лучшего взаимопонимания команд" я бы еще поспорил).

И еще один момент - переход на специализации по факту переводит от визуально заданного различия между элементами (либо цветом, либо формой) к необходимости вывода текстового уточнения, что сразу снижает наглядность и читаемость диаграмм (крайний случай - полный отказ от визуальной разницы и переход на нотацию "квадратики и стрелочки" - после чего, обычно, начинается обратный процесс визуального разделения "стикеров" по цветам и стрелочек по типам линий и окончаний, а потом и придумывание специальных графических обозначений).

P.S.: в Acknowledgements изменений нет - моя фамилия единственная русская :-)

Теги:
Всего голосов 3: ↑2 и ↓1+2
Комментарии0

В Китае выпустили ИИ‑трактор Honghu T70, который сам катается по полю и выполняет фермерские задачи. Без руля, без водителя и даже без кабины. Внутри устройства есть GPS, датчики LiDAR и нейросети, которые помогают анализировать пространство, качество почвы, распознавать семена и менять глубину вспашки под каждую конкретную культуру. ИИ‑транспорт работает на полях Хэбэя, а скоро появится по всей стране.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

Выпущена новая версия СУБД Picodata — Picodata 25.3 

Компания Picodata (входит в Группу Arenadata) выпустила новую версию СУБД Picodata — Picodata 25.3. Обновление включает расширенные возможности SQL, механизм автоматического обновления схемы данных, а также повышение стабильности кластера.

Улучшение обратной совместимости

В Picodata 25.3 реализовано автоматическое обновление схемы данных при переходе инстансов на новый релиз Picodata. Этот механизм учитывает сделанные изменения в системных таблицах и сохраняет обратную совместимость при обновлении на следующий релиз СУБД: при переводе кластера на новую версию Picodata необходимые DDL/DML-команды выполнятся без вмешательства администратора, а требуемые в новой схеме внутренние функции также будут созданы автоматически.

Новые возможности SQL

В релиз добавлены новые возможности языка SQL в Picodata, в частности:

  • поддержка NULLS FIRST/LAST при сортировке результатов запроса (ORDER BY);

  • обработка конфликтов при вставке данных в глобальные таблицы (INSERT INTOON CONFLICT DO FAIL/REPLACE/NOTHING);

  • новая встроенная оконная функция LAST_VALUE();

  • оператор % для определения остатка деления по модулю для целых чисел;

  • возможность определения лидера raft-группы через функции pico_raft_leader_id() и pico_raft_leader_uuid();

  • возможность определения версии текущего инстанса с помощью функции version();

  • изменение, связанное с совместимостью: вместо скалярной функции instance_uuid (которая теперь объявлена устаревшей), рекомендуется использовать новую функцию pico_instance_uuid.

Улучшенная совместимость с PostgreSQL

Picodata теперь поддерживает безопасное соединение при обращении к внешнему LDAP-серверу. При подключении через протокол PostgreSQL (например, с помощью клиента psql) с методом аутентификации LDAP можно задействовать TLS-шифрование (при условии, что оно включено на LDAP-сервере). На стороне Picodata для этого потребуется установить значения у трёх переменных окружения. Например:

export TT_LDAP_URL="ldap://127.0.0.1:1389"
export TT_LDAP_DN_FMT='cn=$USER,ou=users,dc=example,dc=org'
export TT_LDAP_ENABLE_TLS=true

Изменение в конфигурации

Добавлен новый параметр instance.pg.advertise — публичный адрес сервера для подключения по протоколу PostgreSQL. По умолчанию, его значение соответствует значению instance.pg.listen. Этот параметр пригодится в ситуации, когда снаружи инстанс доступен по адресу, отличающемуся от адреса во внутренней сети.

Улучшенный веб-интерфейс

Команда Picodata продолжает развивать компонент webui для Picodata. В версии Picodata 25.3 веб-интерфейс не просто выглядит лучше, он также стал удобнее и информативнее:

  • на панели Cluster ID отображается больше полезной информации, включая список включённых плагинов;

  • в области просмотра сведений об инстансе теперь присутствует адрес подключения по протоколу PostgreSQL.

Механизм плагинов

При подключении плагина к кластеру Picodata теперь допускается расхождение минорных версий плагина и инстанса (например, плагин, собранный для версии 25.3.1, будет работать в Picodata 25.3.2).

Полный список нововведений и список исправленных ошибок доступны в документе CHANGELOG.

Роль Picodata для Ansible

Выпущена новая версия роли Picodata для Ansible, которая совместима с Picodata 25.3. Изменения в роли:

  • при сборке информации при сбое (тег crash_dump) можно исключить сборку snap- и xlog-файлов;

  • добавлена возможность выполнять lua-команды на инстансах кластера (тег command);

  • исправлена работа с несколькими плагинами в инвентаризационном файле и ряд прочих ошибок.

Для установки Picodata 25.3 следуйте инструкциям на сайте. Готовые пакеты доступны для следующих дистрибутивов Linux:

  • Astra 1.8

  • Debian 12 (bookworm)

  • RHEL/Rocky 9

  • Fedora 41–42

Инструкции и руководства по установке, использованию и администрированию Picodata размещены на портале документации Picodata.

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии0

Хотите подтянуть свои знания Go?

Тогда новый бесплатный курс для вас!

Язык Go называют одним из самых удобных для бэкенда. Дело тут не в примитивности: его специально стремились сделать простым и лаконичным, чтобы пользователям было легко работать с синтаксисом и понимать чужой код.

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

Несколько материалов для старта.

Открыть курс →

Теги:
Всего голосов 6: ↑6 и ↓0+9
Комментарии1

Винтик, Шпунтик, включения и исключения.

Некоторое время назад я опубликовал задачу, в которой требовалось посчитать число раскрасок грани кубика Рубика в 3 цвета определенным способом. К этой задаче сводится тернарный кейс Винтика и Шпунтика. Напомню,

у нас есть грань размера 3x3 и нам надо покрасить 9 ячеек в три цвета. 3 - в красный, 3 - в желтый, и 3 - в зеленый. Сколько существует раскрасок при которых ни одна строка и ни один столбец не закрашены одним цветом?

Картинка ниже дает примеры возможных и невозможных раскрасок

Задачку эту я решил, но решение мне не нравилось, потому что по сути оно является "ручным перебором" возможных раскрасок. И вот недавно, читая статью Артема, я сообразил, что все это можно описать в терминах "формулы включений - исключений". Для этого из полного числа раскрасок в три цвета нам надо исключить все "невозможные". Для это нужно просто аккуратно считать число раскрасок и чередовать знаки. Через к в дальнейшем обозначается номер шага, через n - размерность пространства. через В нашем случае она равна 3.

  1. Шаг 0. Знак +. Полное число раскрасок 9 ячеек в три цвета.

    C_0 =+C(9,3,3,3) = +\frac{9!}{3!3!3!}=+1680

  2. Шаг 1. Знак -. Число раскрасок, при которых одна строка или один столбец закрашен одним цветом. Строки и столбы у нас "равноправны". Таким образом, мы получаем множитель 2, исходя из геометрии (а точнее просто размерности) задачи. Теперь, допустим, мы закрашиваем одну строчку(столбец) каким то одним цветом (допустим красным). Выбор цвета(1 из 3) дает нам С(3,1)=3 варианта. Выбор позиции дает еще 3 варианта. Запишем это как n!/(n-k)! Теперь нам нужно покрасить еще 6 (n(n-1)) ячеек в два цвета (желтый и зеленый). Что дает С(6,3) =  6!/(3!3!)В итоге,

    C_1 =-2*C(3,1)*3!/(3-1)!* C(6,3) = -2*3*3*\frac{6!}{3!3!}=-360

  3. Шаг 3. Знак +. Когда у нас одновременно есть две строки или два столбца закрашенные одним цветом. Аналогично, 2- множитель размерности. Теперь нам надо выбрать 2 из 3 трех цветов. Получим, С(3,2) =3. Геометрическое размещение дает множитель 3!/(3-2)!. Ну и далее нам останется закрасить оставшиеся три ячейки оставшимся цветом. Что дает нам ровно С(3,3) = 1 вариант. Получаем,

    C_2 =+2*C(3,2)*3!/(3-2)!*C(3,3) = +2*3*6*1=+36

  4. Шаг 4. Знак -. Все три столбца или строки закрашены одним цветом. 2 - геометрический множитель. С(3,3) = 1 - выбор цветов. 3!/(3-3)! = 6 количество размещений. Итак,

    C_3 =-2*n! = -2*3!=-12

    А теперь соберем все вместе и получим.

    C = \frac{(n^2)!}{(n!)^n} +2*\sum_{k=1}^n(-1)^kC(n,k)\frac{n!}{(n-k)!}\frac{(n(n-k))!}{(n!)^{n-k}} (*)

Или для нашего случая n = 3

C = C_0+C_1+C_2+C_3=1680-360+36-12 = 1344

И это правильный ответ. При домножении на 2^3 =8дает 10752 - решение задачи Винтика и Шпунтика в тернарном случае.

Формулу (*) наверняка можно как то упрощать, но я не буду сейчас этим заниматься. Скажу лишь, что она работает для любых n. В частности, если нам нужно посчитать раскраски квадрата 4x4 в 4 цвета формула* дает.

C = C_0+C_1+C_2+C_3+C_4=63063000-1108800+10080-192+48=61964136

В кватернарном случае Винтика и Шпунтика дело обстоит сложнее. Появляется дополнительная размерность и исключений становится больше. Однако, достоинством формулы (*) является относительное малое количество слагаемых (пусть и более сложного вида) по сравнению с тем, что предложил Артем.

Я не стал писать полноценную статью здесь и решил ограничиться форматом поста. Моей задачей было показать идею. Надеюсь, она стимулирует применить этот подход к кватернарному случаю Винтика и Шпунтика. Так что дерзайте. Ведь челлендж наш продолжается.

Теги:
Всего голосов 14: ↑14 и ↓0+19
Комментарии1

Хотел как лучше, а получилось... или снова о качестве описания CVE

В статье "Как я зарегистрировал CVE и разозлил вендора" я писал:

Желательно, чтобы CVE были достаточно хорошо описаны. У CVE-2024-45244 на данный момент есть некоторые проблемы. Описание в части версий некорректно: на момент создания CVE версия 2.5.9 была крайней в своей ветке. Но, далее в этой ветке продолжился выпуск версий без фикса. Фикс для стабильных версий вышел в рамках версии 3.0.0. Я планирую обратиться в MITRE с целью улучшить содержательную часть CVE.

После моего обращения описание CVE было обновлено. Было:

Hyperledger Fabric through 2.5.9 does not verify that a request has a timestamp within the expected time window.

Стало:

Hyperledger Fabric through 3.0.0 and 2.5.x through 2.5.9 do not verify that a request has a timestamp within the expected time window.

Честно говоря, такое описание вводит меня в ступор. Например, версия 2.5.13 по такому описанию уязвима? С одной стороны да: она до 3.0.0. С другой - нет: она после 2.5.9. И, если я не ошибаюсь, в версиях 2.4.х проблема тоже есть.

Это уже не первый раз, когда описание CVE в части версий неточное - даже после обращения с целью сделать точнее. Ранее нечто похожее было с моей попыткой улучшить описание для CVE-2018-14847.

Всё это в очередной раз наводит на мысли, что доверять описанию CVE полностью нельзя. И качество анализа CVE влияет на безопасность: у атакующих может быть преимущество, если они дотошно перепроверяют условия реализации уязвимости. А у защищающихся часто нет такой дотошности (часто - из-за огромного количества уязвимостей, с которыми работаешь в рамках Vulnerability Management). В итоге в этой гонке у атакующих бывает преимущество. Помнится, я даже для CTF задачку на эту тему делал: изюминка была связана именно с неверным описанием CVE в части версий. К сожалению, тогда работодатель мою идею не одобрил. А ведь это был бы хороший практический урок для начинающих специалистов по безопасности.

Проблема с описанием версий иногда обостряется из-за позиции вендора. Как я писал в статье:

Разработчики, имея больше информации о своём продукте, могли бы повлиять на более точное описание CVE. Но, вместо этого им захотелось устроить борьбу "за честь мундира".

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

OpenAI представила новый режим Study Mode для ChatGPT.

Вместо того чтобы сразу выдавать ответ, ChatGPT задаёт наводящие вопросы, предлагает подсказки и помогает студенту самостоятельно прийти к решению. Это как личный репетитор, который подстраивается под ваш уровень знаний.

Основные возможности Study Mode для ChatGPT:

• интерактивные подсказки. ChatGPT использует вопросы в стиле Сократа, чтобы стимулировать мышление и развивать понимание;

• пошаговые объяснения. Сложные темы разбиваются на простые части, чтобы не перегружать учащегося;

• персонализация. Уроки адаптируются под ваш уровень знаний и цели;

• проверки знаний. Короткие тесты и вопросы помогают закрепить материал и отследить прогресс;

Режим обучения Study Mode для ChatGPT можно включать или выключать в любой момент разговора.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии0