Как стать автором
Обновить
311.66

Open source *

Открытое программное обеспечение

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

Как один разработчик предотвратил крупнейшую кибератаку: история взлома XZ Utils

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров436

Прошел ровно год с момента, когда мир с открытым ртом следил за расследованием одного из самых изощрённых бэкдоров в истории Linux. История с библиотекой xz Utils напоминала триллер: внедрение под реальным именем, доверие сообщества, закладки в коде — и случайное обнаружение в самый обычный рабочий день.

29 марта 2024 года программист Андрес Фройнд проснулся, как обычно, рано. На кухне уже фыркала кофемашина, а ноутбук мигал знакомым индикатором обновлений. Андрес любил утренние часы: пока город только-только просыпался, он уже погружался в привычную рутину — тесты, логи, графики загрузки процессора.

Утром он запустил стандартный набор тестов. Всё выглядело штатно: графики ровные, CPU не перегружен, багов не видно. И вдруг — странность. Незначительная ошибка, но не из тех, что просто игнорируешь. Андрес нахмурился. «Что это было?» — пробормотал он. Он подключился по SSH к серверу, чтобы проверить детали, и заметил ещё одно отклонение: задержка отклика в 500 миллисекунд. Полсекунды. Для большинства — ерунда. Но для Андреса — первый тревожный звонок. Он начал копать глубже.

Читать далее

Новости

Нужны ли FSM синхронные вызовы?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров484

TL;DR: Нет, не нужны.

Текст ниже — иллюстрация к тексту «Этот мир — асинхронный, и что вы ему сделаете», раскрывающая реализацию конечного автомата на полностью асинхронной акторной модели.

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

Полностью асинхронный конечный автомат

Linux: кастомные ярлыки и иконки

Время на прочтение7 мин
Количество просмотров1.8K

Наблюдая разницу подхода к юзабилити в Manjaro (KDE) и МСВСфере (Gnome) более чётко зафиксировал для себя общие способы создания ярлыков в linux. Заодно решил посмотреть как в Сфере будут смотреться дефолтные папки, если убрать с них градиент, или, допустим, перенести туда визуал папок из Manjaro.

Читать далее

Инновационные технические решения и баги в исходном коде PowerShell

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.3K

PowerShell — известный инструмент от Microsoft. Но какие секреты сможет найти статический анализатор в его исходном коде? Посмотрим в этой статье.

Читать далее

Истории

Реализация концепции Сотрудник-Трудоустройство-Назначение на должность в IDM Midpoint part I

Уровень сложностиСложный
Время на прочтение53 мин
Количество просмотров176

Реализации концепции Сотрудник-Трудоустройство-Назначение на должность в IDM Midpoint нет. Это видимо из-за наивного представления что сотрудник будет работать в той компании в которую устраивается и трудоустройство у него будет одно... но это слишком наивное представление о работе, в реальности сотрудник думает что устраивается в одну известную компанию, а оказывается что это не компания а бренд, а в этом бренде несколько компаний, оформят его рандомно в одну из них, да еще например поставят работать в головной офис, а оформят в регион потому что там зарплата меньше, но сразу скажу что дальше концепцию на регионы или проекты я продлевать не стал хотя это тоже можно сделать. В этой первой части я сосредоточусь на скелете концепции и на перетекании информации в нем.

Читать далее

Этот мир — асинхронный, и что вы ему сделаете

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.7K

Все современные средства разработки — практически без исключения — наделены двумя родовыми травмами. Они не дают доступа к чуть более низкому софтверному уровню (синтаксическому дереву) без помощи сторонних хаков и ориентированы на синхронное исполнение.

Прежде, чем продолжить, я сразу оговорюсь: я не имею в виду узкоспециализированные задачи, типа написания драйверов, программирования контроллеров и прочей околожелезной разработки; там другие правила. Я говорю про мир приложений: от инди-игр до энтерпрайза. Языки высокого уровня, на которых сегодня ведется более (оценка навскидку) 98% всей разработки продуктов для конечного пользователя, лишены примитивов представления AST и параллельного (не путать с асинхронным) исполнения.

Но мир ничего не знает о наших абстракциях

Trinion CRM + Trinion Задачник. Используйте задачник и трекер рабочего времени как онлайн систему выставления счетов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров253

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

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

Читать далее

Taigram: универсальная клавиатура и исключения

Время на прочтение17 мин
Количество просмотров860

Продолжаем рассказывать о разработке нашего Open Source проекта Taigram.

Taigram - это Open Source Self-Hosted решение по отправке уведомлений о событиях из менеджера управления проектами Taiga в Telegram.

Читать далее

Локальный AI-ассистент в почте: инструкция по применению

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1K

Привет, Хабр! Это Eppie – p2p децентрализованная почта. У нас новости: мы добавили в Eppie ИИ. Сейчас расскажем, зачем, и как им пользоваться.

Локальный ИИ == приватный ИИ

Иногда ради безопасности пользователю приходится мириться с некоторыми неудобствами: короткий пароль удобнее длинного, но длинный надежнее. Люди естественным образом стремятся к удобству. И если длину пароля можно валидировать, и к этому все привыкли, то в других местах ожидать от пользователя больших жертв во имя безопасности не приходится.

Читать далее

Вышел Nelm 1.0: совместимая с Helm-чартами альтернатива Helm 3

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.9K

Nelm — это свободная Open Source CLI-утилита для управления Helm-чартами и их развёртыванием в Kubernetes. Взяв за основу кодовую базу Helm 3, Nelm не только делает почти всё то, что может делать Helm, но делает это лучше, а также предлагает дополнительную функциональность. 

Nelm обратно совместим с Helm-чартами и Helm-релизами, что сильно упрощает процесс миграции для пользователей Helm. Если вы уже работали с werf, то Nelm — это werf, но без гитерминизма, сборки, доставки и очистки образов.

Под катом вас ждут подробности о преимуществах Nelm по сравнению с Helm 3.

Читать далее

Менеджер закладок на своём сервере

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.9K


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

Для нормального управления закладками нужно специализированное решение. Тут много вариантов, а одно из лучших — это опенсорсное приложение Hoarder («Копилка информации»). Оно устанавливается на сервер и выступает единой БД для доступа из любых клиентов: Android, iOS, Chrome, Firefox и т. д.

Рассмотрим базовые функции этого приложения и как установить его на машине, где хранится личный информационный архив. Это может быть или домашний сервер, или VPS.
Читать дальше →

Joomla-дайджест. 1-й квартал 2025 года

Время на прочтение35 мин
Количество просмотров389

После долгого перерыва читайте все главные новости из мира Joomla с момента выхода Joomla 5.2.0 (15 октября 2024 года) в одной статье. Но для удобства в названии ограничимся первым кварталом 2025 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla.

Читать далее

Лучшие статьи Хабра в марте 2025 года

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров2.3K

Снова приветствую вас на ежемесячном дайджесте! Цель - разобраться, чем жил Хабр в марте 2025: какие темы вызвали жаркие споры, а какие прошли незамеченными.

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

Впереди - методология отбора, топ марта, анализ авторов и специальный раздел, где обсудим критику и её обоснованность.

Читать далее

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

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Фантастические смартапы, и где они обитают

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров785

Привет, Хабр! Я Таня Гладких — разработчик в команде корпоративного мессенджера Rocket.Chat в МКБ (Московском кредитном банке).  

А теперь представьте SuperApp — единое мобильное приложение, через которое можно зайти в корпоративный мессенджер, новости компании, сервисы ИТ-поддержки и десятки других инструментов. Авторизуетесь всего один раз — и весь корпоративный мир у вас под рукой. Звучит отлично, правда? 

В 2022 году у нас зародилась идея создания такого приложения, заходите почитать, что из этого вышло.

Читать далее

Можно ли реализовать инкапсуляцию средствами ООП?

Время на прочтение6 мин
Количество просмотров3.8K

Если на Силикатной улице (это в Мытищах) остановить тысячу случайных прохожих и спросить их, на каких трёх слонах покоится ООП, каждый второй назовёт инкапсуляцию. В коридорах МИФИ, или на собеседовании в Яндексе — процент будет даже выше. Даже LLM способна на шести пальцах объяснить, почему.

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

Минус поставил, готов ознакомиться

Такой простой Exclusive Gateway

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров526

Это первая статья из серии BPMN: Beyond the Basics – о скрытых нюансах и подводных камнях BPMN для разработчиков. В отличие от аналитиков, разработчикам надо не просто знать нотацию, но понимать, как реализован тот или иной ее элемент. А тут, как говорится, не все так однозначно.

Для начала возьмем самый простой – шлюз ИЛИ (Exclusive Gateway). На первый взгляд, всё очевидно: ставишь ромбик, рисуешь стрелочки – и вуаля! Но что происходит внутри движка? Как он выбирает путь выполнения? Что делать, если несколько условий срабатывают одновременно? А если ни одно не выполняется? В этой статье мы разберем эти вопросы и рассмотрим особенности реализации и использования этого элемента.

Разбираться будем на примерах в Jmix BPM с движком Flowable, но принципы универсальны – нотация BPMN 2.0 едина, и основные механизмы работы элементов схожи во всех движках, частности в Camunda 7. Об отличиях, если они встретятся, будем говорить особо.

Читать далее

Что такое lsFusion: взгляд со стороны

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.4K

Эта статья – небольшой обзор продуктов компании lsFusion и того предалагает пользователям компания lsFusion. Взялся я за него после того, как в статьях «Почему я не люблю 1С» и «Стоит ли идти в 1С программисты в 2025 году» упомянул эту систему как одну из возможных альтернатив 1С. На тот момент я только читал о том, что есть такая система как lsFusion на Хабре, из любопытства заходил на их сайт и просматривал в поиске дополнительную информацию. Тогда я ее упомянул только как «одну из систем» в перечне альтернатив, так как сами они явно позиционируют себя как учетная система.

Далее уже в комментариях я увидел большой тред, где сравнивали 1С и lsFusion. Мне стал интересен автор комментариев, оказалось, что это работник lsFusion. Я с ним связался, чтобы самому лучше понять, что же это за программный продукт. Получил ответы на многие собственные вопросы, изучил ближе саму систему. И теперь хочу поделиться тем, что узнал, чтобы помочь людям, которые находятся в поиске альтернативы 1С.

Читать далее

Открываем instruct-версию YandexGPT 5 Lite

Время на прочтение6 мин
Количество просмотров6K

Недавно мы выложили в открытый доступ pretrain-версию модели YandexGPT 5 Lite, обученную нами с помощью технологий Яндекса и без применения каких-либо сторонних моделей. За прошедший месяц в сообществе её скачали более 15 тысяч раз, на её основе создали больше десятка квантизованных моделей и даже дообучили instruct-версии. 

Тем не менее мы видим большой интерес к instruct-версии Яндекса, поэтому сегодня выкладываем её в открытый доступ. В том числе — в совместимом с llama.cpp формате, о чём нас просили на Хабре. Кроме того, мы обновили лицензионное соглашение для обеих моделей так, чтобы применять её стало возможно в ещё большем числе проектов, в том числе во многих коммерческих проектах. 

Для тех, кто хотел бы попробовать новую модель онлайн, она также доступна для выбора в Чате с Алисой и через API в Yandex Cloud.

Читать далее

Как ускорить Varnish Cache и исключить его зависания

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров712

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

Читать далее

Способы улучшить жизнь: ИИ-агенты в разработке

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.4K

Привет! Я Кирилл Пронин, разработчик PIX RPA из PIX Robotics, а я Александр Сулейкин, Founder DUC Technologies, и сегодня мы бы хотели поговорить о популярном – «ИИ-агенты в разработке и как они могут улучшить нашу жизнь». Мы не будем писать миллион слов про ChatGPT и «скопируй код и вставь его в блок текста на сайте», вместо этого попробуем выделить самые лучшие, простые, open-source способы встроить ИИ в ваш IDE и попробовать улучшить жизнь каждого разработчика, повысить качество кода и внедрить тестирование в Ваш огромный проект.

Читать далее
1
23 ...