Обновить

Все потоки

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

Тихий враг или молчаливый союзник: коротко о выравнивании в C++

Представьте, ваша программа — образец чистого кода, прошедший ревью и покрытый тестами. Казалось бы, всё идеально. Но производительность не такая, на какую рассчитывали. Вы проверили всё, что знали. А что, если проблема в том, о чём вы могли не знать? Всё может упираться в выравнивание данных в памяти. Для многих этот механизм так и остаётся загадкой.

Предлагаю вам вместе попробовать разобраться в такой непростой теме в этой статье.

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

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

Периодически в разные частях документации или статьях про Docker вы будете встречать "манифесты". Обычно это звучит как что-то второстепенное: мол, есть какая-то мета-информация, по которой Docker собирает образ из слоёв.

Но на деле это одна из ключевых деталей, которая отвечает за то, что контейнеры:

  • воспроизводимы

  • одинаковые на разных машинах

  • и не превращаются в "ну у меня работало".

Я попытаюсь все описать максимально просто.

Docker Manifest - это JSON-документ, который описывает образ. Можно представить его как схему или инструкцию, по которой Docker понимает:

  • какие слои относятся к образу

  • какие контрольные суммы должны быть у каждого слоя

  • в каком порядке их нужно использовать

  • для какой ОС и архитектуры этот образ подходит

И важный момент: когда ты делаешь docker pull, Docker сначала получает манифест, а уже потом начинает скачивать слои.

Как посмотреть манифест самому: docker manifest inspect nginx:latest.

Тут можно заметить, что один тег (nginx:latest) может ссылаться сразу на несколько вариантов образа - например под amd64 и arm64. Это как раз история про multi-arch. Иногда под словом manifest имеют в виду не сам образ, а manifest list (index). Это как меню: Docker смотрит на твою платформу и выбирает подходящий вариант (amd64/arm64).

Каждый слой Docker-образа имеет SHA256-хеш, который вычисляется из его содержимого.

Логика максимально простая:

  • поменялся файл

  • поменялось содержимое

  • поменялся хеш

  • значит получился другой слой

По сути это очень похоже на философию Git: всё завязано на содержимое, а не на "имя файла".

Docker Registry использует Content Addressable Storage - то есть хранит и раздаёт данные не по названию, а по их хешам.

Что происходит при push / pull?

Если упростить до понятной схемы, то процесс примерно такой:

  • клиент сначала отправляет/получает манифест

  • registry проверяет хеши и наличие слоёв

  • передаются только те слои, которых ещё нет

  • каждый слой проверяется по SHA256

То есть никакой лишней передачи данных и никаких "примерно совпало".

Комбинация манифестов и хешей даёт сразу несколько сильных преимуществ:

  • Безопасность - слой нельзя незаметно подменить

  • Экономия места - одинаковые слои не хранятся по сто раз

  • Целостность - скачанное гарантированно равно загруженному

  • Версионирование - образ это конкретная комбинация слоёв, а не “что-то похожее”

Именно поэтому условный nginx:latest на dev и на prod - это реально один и тот же образ, а не "почти такой же, но чуть другой". Ладно, давайте будем более дотошными. На самом деле нет - использовать latest плохая практика. За время пока образ приехал,- там уже могут быть разные образы.

Как минимум используйте конкретный тег, а еще лучше даже sha256 docker pull nginx@sha256:...

_________________

Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩

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

Уже второй год подряд проект «РЖД», в котором участвует ДАР — победитель премии «Проект года» от Global CIO!

В рамках проекта «Развитие ВСМ» корусяне создали удобную систему мониторинга, которая помогает в режиме реального времени контролировать ключевые этапы строительства высокоскоростной магистрали Москва — Санкт-Петербург.

Что сделали?
🔘Внедрили единую цифровую платформу для мониторинга ключевых показателей
🔘Обеспечили непрерывный мониторинг данных
🔘Автоматизировали сбор информации по 1000+ контрольным точкам
🔘Реализовали систему отчетности для разных уровней управления на отечественной платформе

➡️ Система позволит улучшить транспортную инфраструктуру России, сократить путь между столицами до 2,5 часов, а также открыть новые возможности для развития регионов.

Твой лайк — лучшее поздравление для нас🔥

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

Готовые образы n8n и Clawdbot (Moltbot) можно развернуть на маркетплейсе

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

  • n8n закрывает задачу оркестрации интеграций и автоматизации: API, вебхуки, CRM, мессенджеры, внутренние сервисы;

  • Clawdbot (Moltbot) — быстрый вход в ботов и автоматические сценарии без написания всего с нуля.

Готовый образ снимает сразу несколько барьеров: время на старт, риск «кривой» установки и необходимость разбираться в инфраструктурных деталях.

Почему именно на маркетплейсе
Потому что маркетплейс — это не про «скачай где-то Docker и дальше сам», а про предсказуемый сценарий:

  1. Запуск за минуты, а не часы или дни — образ уже собран, протестирован и работает в облачной инфраструктуре.

  2. Прозрачная эксплуатация: ресурсы, биллинг, доступы, сеть, безопасность — все в одном личном кабинете.

  3. Меньше рисков: не нужно тащить решение из внешних репозиториев и потом объяснять ИБ, откуда оно взялось.

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

  5. Единый контракт и поддержка: инфраструктура через провайдера, логика решения внутри продукта, без зоопарка договоров.

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

Где учиться графическому дизайну?

Бывает, хочешь изучить что-то новое, а потом видишь тонну теории, которую вообще непонятно куда применить — желание сразу пропадает. Мы на Хабр Карьере решили эту проблему: собрали в одном месте курсы без воды и с упором на практику, чтобы вы могли сразу приступить к делу и собрать сильное портфолио.

Осваивайте актуальные инструменты дизайна на реальных задачах:

Adobe Photoshop. Работа с фото и растровой графикой.

InDesign. Верстка многостраничных изданий.

Figma. Проектирование интерфейсов.

Adobe Illustrator. Создание векторной графики.

Adobe After Effects. Работа с моушн-дизайном.

Tilda. Конструктор сайтов.

Курсы с практикой со всего интернета

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

Проверьте своих близких. Как WB оформляет «кредиты Шрёдингера» (есть в чеке, нет в БКИ) под 85% годовых

Слева - интерфейс Wildberries, тут будьте аккуратны. А вот справа — чек от их «партнёра» с палевом.
Слева - интерфейс Wildberries, тут будьте аккуратны. А вот справа — чек от их «партнёра» с палевом.

Не успел я отдохнуть после статьи о Femida Search , так напоролся на новое приключение.

Саммари:

Если вы поставили пожилым родственникам полный самозапрет на кредиты через Госуслуги (ФЗ-31), это не гарантирует защиту от рассрочек на маркетплейсах. @WILDBERRIES через прокладку «ООО Престо» выдает деньги, игнорируя записи в БКИ.

Поэтому я сейчас готовлю расследование с разбором чеков, оферт и, надеюсь, ответов ЦБ и ФНС, но ситуация требует предупредить сообщество прямо сейчас.

Дано:

  1. Мама-пенсионер (70 лет).

  2. Активный полный самозапрет на кредитование в БКИ, установленный ещё в марте 2025 через Госуслуги.

  3. Покупка товаров на Wildberries в январе 2026.

Что произошло:
При заказе был «случайно» (темные паттерны UI) активирован способ оплаты «Оплата частями». В итоге:

  • Товар подменили (вместо Селена прислали Хром, который опасен при применении с препаратами для понижения сахара в крови при диабете). Ну эт ладно, не главное.

  • На сумму 4 600 руб. накрутили «комиссию» 1 175 руб. (эффективная ставка ~85% годовых!!).

Я был уверен, что полный самозапрет в БКИ отсечет любые попытки выдать кредит. Но схема WB и их партнера ООО «Престо» работает вот так:

  1. В оферте это называется «Договор поручения» (агентская схема, BNPL), якобы чтобы не попадать под регулирование ЦБ.

  2. Но в кассовом чеке (ФНС) в теге 1214 («Признак способа расчета») прямым текстом стоит: «ПЕРЕДАЧА В КРЕДИТ» и «ОПЛАТА КРЕДИТА».

  3. Самое забавное: В кредитной истории (БКИ) этот долг не отображается.

Они выдали «теневой кредит». Если бы они сделали запрос в БКИ (как обязаны по закону и как обещают в своем же договоре), они получили бы отказ из-за самозапрета. Поэтому они просто не делают запрос, но в чеке пишут «Кредит», чтобы легализовать деньги перед налоговой.

Что делать прямо сейчас: Зайдите в приложения Wildberries своих родителей/родственников:

  1. Проверьте раздел «Покупки» -> «Чеки». Ищите чеки от ООО «Престо».

  2. Если видите там слова «Комиссия сервиса» и «В КРЕДИТ» — знайте, это не просто рассрочка, это кредитный продукт, который может висеть «мимо» БКИ. Сохраните все чеки себе на комп, чтобы их не подменили задним числом!

  3. Проверьте, не подключена ли у них «Оплата частями» без их ведома.

P.S. Я уже направил досудебные претензии и жалобу в ЦБ РФ с требованием проверить лицензию данного финтеха. И я заархивировал все доказательства. Полный технический и юридический разбор этой схемы («Кредит Шрёдингера») с комментариями юристов опубликую на Хабре через несколько дней, как только получу (или не получу) официальные ответы.

Берегите родителей, ребята!

Upd (2026-02-09). Текст моей статьи готов, сейчас его проверяют юристы. Полную версию я опубликую на своём сайте (66 минут чтения), а на Хабре более ужатую, чтобы люди хоть могли прочитать.

Upd (2026-02-17) Полная версия статьи готова. Её младшая версия тоже.

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

Вебинар: Что ждет Службы ИБ в 2026 году. Главные тренды и вызовы
5 февраля в 11:00

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

Приглашаем на вебинар с практиками и экспертами отрасли. Разберём не только тренды, но и конкретные шаги для адаптации вашей ИБ-стратегии.

💬 Приглашенные гости:

  • Николай Казанцев, CEO SECURITM

  • Лука Сафонов, бизнес-партнёр ГК "Гарда"

  • Александр Суслов, CISO ГК "Регион"

На вебинаре ответим на ключевые вопросы:

  • Итоги 2025: главные уроки для ИБ-специалистов. Что устарело, а что стало критически важным?

  • Тренды 2026: куда движется рынок? Почему SOC, Managed Security и SGRC растут быстрее рынка и как это использовать?

  • Импортозамещение vs. Безопасность: как выбирать и тестировать российские решения без потери в защищённости?

  • Финансы и аргументы: как обосновать инвестиции в ИБ руководству? На какие метрики и KPI делать упор в 2026?

  • ИИ: защита или угроза? Как применять искусственный интеллект, не создавая новых уязвимостей?

    Регистрируйтесь прямо сейчас!

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

Apple и искусственный интеллект: драма в четырёх действиях

По данным СМИ, Apple разрабатывает носимое устройство размером с метку AirTag с поддержкой искусственного интеллекта (ИИ). Встроенный микрофон будет записывать всё происходящее, а встроенная LLM — распознавать речь и вычленять важное: запоминать информацию, ставить напоминания о назначенных встречах и т. п. Возможно оснащение камерой или подключение к умным очкам. Успеет ли Apple в последний вагон ИИ?

  1. Зачем это Apple? 2026 год станет определяющим в дальнейшем развитии ИИ: он может настолько «поумнеть», что работать без собственной LLM будет всё равно, что сейчас обходиться без смартфона. Apple старалась подготовиться — в 2024 году выпустила Apple Intelligence, но пока её функциональность и близко не сравнима с продуктами OpenAI ChatGPT, Anthropic Claude и подобными продуктами.

  2. Зачем новое носимое устройств? Видимо, часы слишком далеки от происходящих вокруг событий, а беспроводные наушники малы для всех функций. Гаджет на лацкане пиджака или на базе умных очков пытаются создать сейчас и OpenAI, и Meta (организация признана террористической и запрещена на территории России), и другие компании. Все понимают, что пора появиться новому типу устройств — уже больше 10 лет ничего принципиально нового не появлялось. Перчинки добавляет, что гаджет io для OpenAI создаёт Джонатан Айв, бывший топ Apple, которому по слухам не дали сделать этот гаджет в яблочной компании. Но ситуация изменилась.

  3. Получится ли у Apple свой ИИ? Не факт: пока у компании не ладится с передовым ИИ, но у Apple есть испытанный ход — партнёрство. Так, компания не стала строить свой поисковик, а использовала по умолчанию Googl’овский. Пользователь получил оптимальный продукт, а Apple — миллиардные отчисления за использование поиска от вроде бы злейшего конкурента — производителя Android. Учитывая, что OpenAI занята своим продуктом, наиболее вероятный партнёр — Anthropic.

  4. Никто не знает, получится ли новый гаджет, который станет важнее смартфона, но, в отличие от слухов про авто и телевизор Apple, верится, что такой гаджет-значок в духе компании, и она как минимум попытается его создать. Журналисты предрекают его появление уже в 2027 году — стремительно для нового продукта, ждём.

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

Через ТБанк можно скачать заблокированные в России приложения 😮

Интересную штуку заметил. Хотел поставить себе приложение тбанка на айфон. Там они дают тебе креды от учетки App Store, чтобы ты зашел и скачал заветную аппку TBalance.

Я это сделал и заметил в магазине ChatGPT приложение. И скачал его 😁

Потом я пошел дальше и скачал себе еще Perplexity, Gemini, Claude, LinkedIn, TikTok 😂😁

Кайф, очень удобно. И все за считанные минуты и for free. Потом просто вышел из учетки
и зашел в свою. Вот и все

Я даже смог оплатить себе по карте Claude Code, включив впн Швейцарии

Если кому надо, вот 😁

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

https://www.tbank.ru/apps/ios-bank/?ysclid=mky0eebhrd574249623

ЗЫ. Буду рад подпискам на телеграмм канал, где рассказываю про проекты в компьютерном зрении, близкие к промышленности, а также пет-проекты с LLM, RAG и прочим https://t.me/ilia_sevostianov

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

Selectel открыл первую часть курса по JavaScript

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

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

  • для чего разработчики используют JavaScript,

  • как работать с со скриптами, веб-страницами и переменными,

  • как создать рабочее окружение на IT-инфраструктуре Selectel.

Участники курса смогут бесплатно протестировать сервисы Selectel, а по итогам тестирования — получить сертификат о прохождении. 

Начните изучение курса прямо сейчас → 

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

Книга Pro Git.

Несмотря на кажущуюся сложность, на повседневной основе для работы с Git не требуется большой набор знаний. Checkout, fetch, branch, commit, amend, rebase, revert, reset, pull и, наконец, log. Это — большинство нужных команд. Изредка пользуюсь еще config, бывает нужно.

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

Скотт Чакон и Бен Страуб составили замечательное справочное пособие для тех, кто хочет окунуться с головой в детали работы с Git. Издание есть в виде сайта, PDF, EPUB и MOBI. Распространяется Pro Git бесплатно.

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

Pro Git не раз мне пригодился в прошлом, рекомендую.

Страница Pro Git: https://git-scm.com/book/ru/v2

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

Практический интенсив «Решение бизнес-задач с помощью ИИ»

Команда платформы «Авандок» ГК «Корус Консалтинг» приглашает специалистов и руководителей крупных компаний на образовательный офлайн-семинар, который пройдет в нашем московском офисе 18 марта 2026 года.

🔥На этом интенсиве мы обсудим одну из самых актуальных тем последних лет — использование искусственного интеллекта для эффективного управления корпоративными знаниями, документами и бизнес-процессами.

Что вас ждёт на интенсиве?

  • Погружение в возможности и ограничения ИИ — разберемся, как искусственный интеллект помогает решать реальные бизнес-задачи и где он может быть ограничен

  • Типовые риски и ошибки внедрения — узнаете, о распространенных проблемах при запуске ИИ-проектов

  • Реальные кейсы: на примерах покажем, как оценивать эффект от ИИ-решений и выстраивать управляемые сценарии их использования в компании

  • Создание агентов без кода и архитектура безопасных RAG-систем

  • Особенности реализации ИИ-проектов в enterprise-контуре: обсудим, как правильно внедрять ИИ в крупные компании, с учетом их специфики

  • Методические материалы — получите практичные рекомендации и материалы по внедрению ИИ в вашем бизнесе

Не упустите шанс расширить свои знания и применить передовые технологии для улучшения бизнес-процессов!

*Количество мест ограничено, успейте оформить билет до 6 марта 2026 года

👉 Ознакомиться подробнее

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

Представлен открытый проект Lightnovel Crawler, который помогает книголюбам отыскать даже самые редкие произведения в сети по запросу. Выдаёт инфорамцию в текстовом, веб‑ и epub‑форматах. Устанавливается локально на ПК, имеет понятный интерфейс.

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

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

Хочу поделиться записью моего последнего вебинара - в преддверии следующего. Буду рад всем, кто посмотрит.

📘 Часть 1. Теория и философия Digital Q.DataBase 
Разбираем фундаментальные вопросы: 
• Как Digital Q.DataBase объединяет три SQL-диалекта
(T-SQL, PL/SQL, PL/pgSQL) в одном ядре? 
• Как продукт обеспечивает простоту и высокую скорость миграции? 
• Что входит в базовый состав коробочной версии? 

🛠 Часть 2. Практика: установка и работа с диалектами 
• скачиваем и устанавливаем Digital Q.DataBase, 
• получаем документацию, 
• выполняем практику по SQL-диалектам на демостендах. 

Да, это тот самый момент, когда теория превращается в конкретику - и вы сами видите, как работает гибридная архитектура продукта. 

📎 Полезные ссылки 
🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru
🔹
 Документация: доступна внутри дистрибутива 
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase

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

Новые вакансии в SSP SOFT на конец января

Кто мы? Лидеры («одни из», конечно) найма ИТ-специалистов на российском рынке за прошлый год мы наняли 179 сотрудников! Занимаемся заказной разработкой ПО и предоставляем крупным клиентам выделенные команды на ИТ-аутсорсинг.

У нас новый московский офис, который открылся в 2025 году у самой Красной площади! А еще есть вакансии в офис в Томске и на удалёнку из любой точки России.

Команда в SSP SOFT это реальные проекты, дружная атмосфера, где работать — продуктивно, без выноса мозга и микро-менеджмента. В январе 2026 ищем гуру, кто готов в новое профессиональное будущее вместе с нами.

1️⃣ Python AI разработчика
2️⃣ Java Tech Lead
3️⃣ Data Разработчика (Oracle, Greenplum) (https://vk.cc/cTLO9g)
4️⃣ Системного аналитика (ритейл) (https://vk.cc/cTLOcv)

Что вас ждет в SSP SOFT:
✅ Рост: Центр компетенций для максимального апгрейда скиллов.
✅ Свобода геолокации: Возможность работать удаленно, гибрид или офис.
✅ Баланс work-life: Работаем, чтобы жить, а не наоборот.

🎁 Приятные бонусы: ивенты для всей команды, ДМС для штата, обучение и бенефиты.

Подробности о вакансиях читайте на нашей странице ХХ.ру, но туда откликаться необязательно. Ждем резюме в ЛС нашему HR Lead Алине (https://t.me/AONikitina).
Не забудьте добавить «секретную фразу» в сопроводительное письмо, «Увидел(а) вашу вакансию на Хабре».

Желаем всем хабровцам успешной карьеры в 2026 году 🚀)

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

Высокий уровень риска ЦБ: как оспорить статус в Банке России самостоятельно?

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

Важно: Если банк уже применил меры (заблокировал счет), обжаловать нужно именно их действия, а не статус в ЦБ. Это другой алгоритм (см. следующий пост).

ШАГ 1: Проверьте свой статус.

⦁ Узнать, попали ли вы в список высокорисковых, можно через специальный сервис на сайте Банка России.

ШАГ 2: Подайте заявление о пересмотре уровня риска напрямую в Банк России.

⦁ Это можно сделать через интернет-приемную на сайте ЦБ, выбрав тему «Обращение в Банк России о пересмотре высокого уровня риска».

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

Срок ответа Банка России: 15 рабочих дней с момента получения заявления.

Возможные решения ЦБ:

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

Оставить свое решение в силе (отказать в изменении статуса).

Что дальше?

Если Банк России отказал, у вас есть право в течение 6 месяцев обжаловать этот отказ в Межведомственную комиссию (МВК) или сразу обратиться в суд.

Рекомендация: Требования к заявлению в ЦБ строго регламентированы (Указание № 6853-У). Неправильно составленное обращение приведут к отказу. Лучше всего обратиться к опытному юристу для подготовки убедительного и технически грамотного пакета документов, чтобы с первого раза добиться снятия статуса.


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

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

Ссылки на видео и статьи из этого поста рассказывает об организационных вопросах, которые пригодятся для участия в PBF, а так же что и как делать. Координация международного сообщества Joomla происходит в Mattermost (присоединиться).

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

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,

  • кто-то пишет код,

  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

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

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

Чат русскояызчного Joomla-сообщества

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

Топ самых полезных приложений для жизни, работы, финансов и безопасности.

Планирование и заметки:

  • Obsidian — список задач и база знаний.

  • Todoist — топовый таск‑трекер для личных и командных задач.

  • TickTick — тоже списки задач, но с удобными виджетами.

  • Notesnook — приватные заметки с шифрованием.

  • Forest — прокачиваем внимание и фокус на целях с геймификацией.

  • Clear — минималистичный таск‑трекер с напоминалками.

  • Daylio — трекер настроения.

  • 1SE (1 Second Everyday) — календарь, куда каждый день грузишь по видео на 1 секунду, а в конце года получаешь саммари.

  • Granola — саммари созвонов.

Чтение:

  • ReadEra — удобная читалка электронных книг.

  • Smart Audiobook Player — самый удобный плеер для аудиокниг с глубокой настройкой.

  • Book Tracker — следим за прочитанными книгами.

  • Livelib — топ для книголюбов с рецензиями и новостями.

  • FBReader — популярная удобная читалка.

Сериалы, игры, музыка:

  • Vanced / ReVanced — YouTube без рекламы.

  • MyShows — трекер сериалов и фильмов.

  • KinoPub — все фильмы и сериалы с сотней озвучек.

  • Musicolet — оффлайн музыкальный плеер с настройками.

  • Gamehub (egggame) — игры x86 из Steam на телефоне.

  • Duckstation — эмулятор игр PS1.

Спорт и здоровье:

  • Hevy — трекает трени в зале.

  • Fotmob / FlashScore / SofaScore — результаты всех спортивных матчей в мире.

  • Fatsecret — считаем калории.

  • Meditopia / Yoga — медитация и йога.

Карты и путешествия:

  • Organic Maps — оффлайн карты бесплатно.

  • 2ГИС — карты и справочник.

  • SunCalc — определяем направление заката и восхода.

Нужные приложения:

  • Snapseed — обработка и стилизация фото.

  • Inshot — быстро сжимаем фотку.

  • Vivino — топ вин по фото этикетки.

  • Star Walk 2 / Stellarium — поиск созвездий на небе.

  • Radio Garden — радиостанции со всего мира.

  • Anki — увеличиваем словарный запас через карточки.

  • DeepL — лучший переводчик.

  • Termius — SSH‑клиент.

  • Shelter — запуск приложений в песочнице (вы знаете для какого приложения).

  • Iriun Webcam — используем телефон как вебку для компа.

Финансы и покупки:

  • Дзен‑мани (Zen Money) — следим за финансами.

  • Swoo — аналог Apple/Google Pay для санкционных карт.

  • Lego Builder — 3D‑инструкции и скан всех лего. ИИ и поиск

  • Perplexity — лучший поисковик с ИИ.

  • ChatGPT — база нейронок.

  • What to cook, Chef AI — рецепты из еды под рукой.

Безопасность и сеть:

  • 1Password / LastPass / Bitwarden — менеджеры паролей.

  • Safe Space — хранилище данных с шифрованием.

  • Net Guard — файрвол для блокировки доступа приложений в интернет.

Теги:
Всего голосов 8: ↑0 и ↓8-8
Комментарии5

Отправка уведомления от имени другого приложения

Результат
Результат

В продолжение этого поста

Когда у вас AOT приложение, которое запускается от администратора - 99% библиотек для работы с COM не работают, плюс для Windows App SDK отдельно указано "Notifications for an elevated (admin) app is currently not supported.", а issue на github висит с 2023 года и поэтому для отправки системных уведомлений надо выкручиваться через другое приложение/PowerShell.

Пример как отправлять уведомления:

using System.Diagnostics;
using Windows.UI.Notifications;
using Microsoft.Toolkit.Uwp.Notifications;
using Vanara.PInvoke;
using Vanara.Windows.Shell;

namespace ConsoleNotifications;

class Program
{
    static async Task Main(string[] args)
    {
        string messageTitle = "Habr";
        string messageText = "Hello Habrahabr!";
        string targetExePath = Environment.SystemDirectory + "\\notepad.exe";
        string appUserModelId = GetAppAumid().First(var=>var.Name.Contains("Chrome")).Aumid;
        await SendNotification(appUserModelId, messageTitle, messageText, targetExePath);
    }

    private static Task SendNotification(string appUserModelId, string title, string content, string targetPath)
    {
        var tcs = new TaskCompletionSource();
        var notification = new ToastNotification(new ToastContentBuilder().AddText(title)
            .AddText(content).Content.GetXml());
        notification.Priority = ToastNotificationPriority.High;
        notification.Activated += (s, e) =>
        {
            Process.Start(new ProcessStartInfo(targetPath));
            tcs.SetResult();
        };
        notification.Failed += (s, e) => tcs.SetResult();
        notification.Dismissed += (s, e) => tcs.SetResult();
        ToastNotificationManager.CreateToastNotifier(appUserModelId).Show(notification);
        return tcs.Task;
    }
    
    public sealed record AppAumidInfo(string Name, string Aumid);
    
    public static List<AppAumidInfo> GetAppAumids()
    {
        var results = new List<AppAumidInfo>();
        var f = new ShellFolder(Shell32.KNOWNFOLDERID.FOLDERID_AppsFolder);
        foreach (ShellItem i in f.EnumerateChildren(FolderItemFilter.NonFolders | FolderItemFilter.Folders))
            results.Add(new AppAumidInfo(i.Name, i.ParsingName));
        return results;
    }
}

В вызываемом приложении надо выставить AppUserModelID и предварительно создать ссылку на него

[LibraryImport("shell32.dll", SetLastError=true)]
internal static partial void SetCurrentProcessExplicitAppUserModelID([MarshalAs(UnmanagedType.LPWStr)] string AppID);

Создание .lnk ссылки с параметрами:

var link = new ShellLink()
{
        ToastActivatorId = guid, 
        AppUserModelID = appUserModelId,
        TargetPath = exePath
};
link.Save(shortcutPath);

P.S. Буду рад услышать про другие существующие решения этой проблемы

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

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

Речь про vi...😱 

Как выйти из vi? Никак. Это не редактор, это пожизненный контракт.

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

Если ты случайно запустил vi на проде — проще выкинуть сервер, чем найти правильную комбинацию клавиш.


Это тот самый редактор, который в обычной жизни можно спокойно не трогать годами… А потом ты оказываешься в air-gap, где:

  • нет vscode

  • нет nano

  • нет mc

  • иногда даже less нет и кажется, что у тебя есть только vi и судьба

И вот ты открываешь конфиг… и мозг такой: эээээ мы не умеем, всё, до свидания.

Давай разберёмся, как перестать бояться vi и научиться выживать с ним спокойно.

Почему vi вызывает ступор? Потому что он не работает как обычные редакторы. Ты нажимаешь клавиши - а текст не печатается. Пытаешься выйти - не выходит. И где-то рядом уже открывается вкладка “как выйти из vi”, но интернет… в другой реальности.

Главное, что нужно понять - в vi есть несколько режимов:

  1. Normal mode - это режим команд и перемещения. Тут ты не печатаешь текст, а управляешь редактором.

  2. Insert mode - это режим, где можно реально редактировать и вводить текст.

  3. Command mode (через :) - cохранение, выход, всякие служебные команды и тд

Минимальный набор клавиш, чтобы выжить:

  • Войти в редактирование -> i, a, o

  • Вернуться обратно в команды -> Esc

  • Сохранить файл -> :w

  • Выйти -> :q

  • Сохранить и выйти -> :wq

  • Выйти без сохранения -> :q!

Полезные команды, которые реально пригодятся:

  • удалить строку -> dd

  • вставить строку ниже -> o

  • отменить действие -> u

  • повторить последнее действие -> .

  • поиск: / и дальше текст который ищем

Пример: быстро поправить конфиг и уйти живым

vi /etc/hostname

Дальше всё по шагам:

  1. нажми i и внеси правки

  2. нажми Esc

  3. введи :wq

  4. готово - конфиг сохранён, ты победил

А если ты хочешь владеть vi как ниндзя, то вот тебе Vim Cheat Sheet https://vim.rtorr.com/

_________________

Хватит читать DevOps-статьи от людей без продакшена. Я рассказываю про свой реальный опыт в своем Telegram-канале DevOps Brain 🧠 ↩

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