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

Open source *

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

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

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

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

Уже более десяти лет я регулярно читаю Хабр, однако, как и многие другие пользователи, обычно концентрируюсь на статьях из своей ленты новостей. Это практично, но существует вероятность упустить интересные публикации, которые остаются вне моего внимания. Чтобы разобраться в актуальных тенденциях, я решил провести собственный анализ самых популярных публикаций на Хабре за январь 2025 года.

Для сбора данных я использовал свой парсер на Node.js. Работать пришлось напрямую с HTML, так как скрытого API Хабра я не нашёл. К счастью, внутри HTML разметки каждой статьи находится JSON с ключевыми параметрами: автор, дата, просмотры, рейтинг — это упростило парсинг.

Я обработал все статьи, опубликованные в январе, но в итоговый список попали только те, что набрали более 30 тысяч просмотров или рейтинг выше +30.

Парсим и анализируем 🤖

Новости

Вредоносные пакеты deepseeek и deepseekai были опубликованы в Python Package Index

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

В рамках исследования и отслеживания угроз группа Supply Chain Security департамента Threat Intelligence экспертного центра Positive Technologies (PT ESC) обнаружила и предотвратила вредоносную кампанию в главном репозитории пакетов Python Package Index (PyPI). Атака была нацелена на разработчиков, ML-специалистов и простых энтузиастов, которым могла быть интересна интеграция DeepSeek в свои системы.

Подробности

Сальваторе Санфилиппо возвращается в Redis

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

Друзья, как будто мы пропустили интересное и важное событие! В декабре 2024 года Сальваторе Санфилиппо - автор Redis - спустя 4 с половиной года отсутствия в проекте возвращается к своему детищу.

Для меня редис - это по-прежнему простой и эффективный элемент разрабатываемых систем. Возможно еще и поэтому я с большим интересном и даже удовольствием прочитал пост antirez-а о возвращении. Под катом взгляд Сальваторе на проблемы лицензирования, раскол в сообществе редис, нейронные сети и LLM, векторный поиск и, конечно, дальнейшие планы по работе над Redis и всё, что с этим связано.

Приятного чтения!

Perforator: новая система непрерывного профилирования теперь в опенсорсе

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

Привет! Сегодня мы выложили в опенсорс Perforator — систему непрерывного профилирования (continuous profiling), которую используем внутри Яндекса для анализа производительности большинства сервисов.

В Github-репозитории доступен исходный код системы и инфраструктура для развёртывания своей инсталляции Perforator на кластере Kubernetes. Кроме того, Perforator можно использовать на своём компьютере как более простую замену perf record: профили получаются точнее, а оверхед меньше. Исходный код доступен под лицензией MIT (и GPL для eBPF-программ) и запускается под x86-64 Linux.

При помощи Perforator и прошлых подходов к задаче профилирования мы регулярно оптимизируем самые крупные сервисы в Яндексе, например Баннерную крутилку или Поиск, на десятки процентов. Кроме того, Perforator реализует недостающий в опенсорсе компонент профилирования для простой автоматической оптимизации программ с использованием profile-guided optimization. Наши тесты показывают, что использование PGO даёт ускорение около 10% в разных сценариях.

Под катом поговорим про профилирование под Linux, опишем вызовы и сложности, возникающие при профилировании, изучим, как устроен Perforator внутри, и обсудим, как можно использовать полученную систему.

Читать далее

Истории

Ошибки и подозрительные места в исходниках .NET 9

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

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

Читать далее

О механизмах безопасности OpenSSH: разбираем уязвимости 2024 года

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

Прошлый год интересно проходил для SSH. Весной — бэкдор в xz-utils (CVE-2024-3094), в результате эксплуатации которого были скомпрометированы системы с systemd. В июле — критически опасная уязвимость «состояния гонки» для систем на базе glibc, получившая название regreSSHion. Спустя еще неделю была опубликована схожая проблема, получившая идентификатор CVE-2024-6409. А в августе — еще одна, уже специфичная для FreeBSD, CVE-2024-7589.

Как заявляют исследователи, успешная эксплуатация «состояний гонки» позволяет получить RCE (удаленное выполнение кода) на подверженных системах. Более того, regreSSHion — главный баг, ставящий под угрозу безопасность множества SSH-серверов с glibc. Интересно, что эксплуатация уязвимости не требует особой конфигурации сервера (проблема актуальна и для конфигурации по умолчанию). При этом публичного PoC нет до сих пор. Мы решили разобраться в вопросе: так ли страшны эти «состояния гонки», так ли критически опасны? И какие механизмы в sshd призваны не допустить эксплуатации этой уязвимости или хотя бы уменьшить ущерб в случае успешной атаки?

Читать далее

Николай Никитин, лидер «Научного опенсорса» Университета ИТМО: чем open source может помочь ученым

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

Месяц научного open source продолжается, и это — разговор с Николаем Никитиным, к.т.н и руководителем одной из лабораторий Университета ИТМО. @niclnno — энтузиаст открытой разработки. Он проводит тематические исследования и развивает сообщество «Научный опенсорс» с коллегами из ИТМО и не только.

Читать далее

Минималистичная JavaScript песочница

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

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

Может возникнуть вопрос, сколько символов можно записать в URL и как много кода таким образом можно закодировать? У разных браузеров максимальная длина URL-строки отличается. Но 2000 символов поддерживают все современные браузеры. В такую строку можно закодировать довольно много кода, причем степень сжатия увеличивается с объёмом кода.

Читать далее

Зачем я сделал еще один опен-сорс Code Sandbox на любом языке

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

Скоро я запускаю интерактивный плеер кода (как уроки в Ютубе, только вы всегда имеете доступ к коду в любой промежуток времени) в браузера. Одной из фич моей платформы — возможность запускать написанный код. Урок или свой опыт человек может записать на любом языке, потому мне остро понадобился универсальный Sandbox для любого языка, желательно с возможностью запускать код из нескольких файлов.

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

Читать далее

Анализ реального исходного кода OpenSource проекта. Заметки на полях

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

Недавно мне пришлось разбираться с достаточно известным опен-сорсным проектом ЛибрОфис. Мне показали как его скомпилировать под windows и под (разные) Линукс и, к моему восхищению, и там и там он работает почти одинаково если в качестве движка визуализации используется QT. Давайте посмотрим в каком смысле это идеальный проект, а в каком почти негативный паттерн.

Не рекомендуется для чтения лицам испытывающим нежные чувства к ОпенСоурсным проектам, такой контент может шокировать ваши чувства.

Читать далее

Использование OpenOCD для установки/снятия запрета чтения памяти CH32V20x

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

Запретить чтение памяти МК можно из кода программы, но для повторного программирования придется снять запрет. И все бы ничего, но под Linux, для микроконтроллеров WCH, нет решения «из коробки» для разблокировки памяти. Для преодоления этого неудобства появилось решение — расширить возможности скрипта OpenOCD для работы с МК.

Читать далее

Что не так с OpenStack и почти всеми российскими публичными облаками

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

Это один из тех адских опенсорсных проектов, которые отлично начинались в 2010-м, но потом с сообществом что-то пошло конкретно не так. Можно сказать, что перед нами — опенсорс, болеющий всеми корпоративными проблемами.

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

Но при этом, если вы строите публичное облако в России, варианты выбора у вас очень богатые: либо на OpenStack с собственной разработкой, либо на OpenStack, но коммерческом.

Просто чтобы вы понимали уровень ситуации:

  • Архитектура — заявленная как микросервисная, по факту — распределённый монолит, причём взаимодействие с компонентами вроде файловых хранилищ разного типа не вынесено в отдельные модули, а затянуто в ядро.
  • 49 команд разработки, которые делят сервисы по зоне ответственности, а не архитектурной задаче. Десятки комитетов, которые добавляют бюрократии.
  • Документация не соответствует реальности.
  • Иногда баг в одном модуле исправляется специальной утилитой, убирающей его последствия от другой команды разработки, а не апдейтом исходного модуля.
  • Код неоптимальный, сервисы работают медленно, есть бутылочные горлышки.
  • Обновляться очень тяжело.
  • ИБ часто делается по остаточному принципу.

В общем, в 2025 году я никак не могу советовать идти в OpenStack, но особого выбора-то и нет.

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

Кейс: CRM-система для ЖКХ и управляющих компаний

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

К нам обратилась управляющая компания, которая планирует обслуживать объекты в другой стране. Им нужно разработать систему для работы с обращениями жителей.

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

Читать далее

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

Когда облачные офисы закрыли форточку: разворачиваем CryptPad на VPS

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


Привет, Хабр, в современных реалиях, когда западные компании продолжают радовать нас своими «приятными сюрпризами» в виде блокировок и прочих цифровых радостей, российский бизнес оказался в довольно затруднительном положении касательно офисных пакетов, как, впрочем, и со всем остальным. Microsoft Office отправился в долгое плавание в неизвестном направлении, Google Docs того и гляди помашет ручкой, а опенсорсные решения, как водится, либо требуют отдельной платной лицензии для веб-версий, либо разрабатываются где-то там, за «железным занавесом», что в текущих реалиях не добавляет уверенности в завтрашнем дне.

Мечту свою об офисном пакете лелея, решим проблему гениально — конечно же, будем использовать OpenSource-проект. А именно пусть и не сильно популярный, но оттого не менее полезный открытый проект CryptPad, который отлично впишется в наш собственный VPS от RUVDS — надёжную площадку, уже не раз доказавшую свою эффективность в различных проектах. И хотя этот инструмент, возможно, не может похвастаться излишним лоском корпоративных решений, зато он предлагает полный контроль над данными и инфраструктурой, что в текущих условиях оказывается куда важнее красивого интерфейса. Хотя на мой вкус, не сказать бы, что он сильно отличается от онлайн-решений Гугла или Майкрософт.
Читать дальше →

Добавляем свои переменные в шаблоны писем Joomla 5+

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

Расширяем стандартный функционал шаблонов писем CMS Joomla. Добавляем к переменным (шорт-кодам) шаблонов писем поля пользователей.

Читать далее

RustDesk: удалённый десктоп через свой сервер ретрансляции

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


RustDesk — приложение для удалённого рабочего стола с открытым исходным кодом, разработанное для самохостинга в качестве альтернативы TeamViewer. Название такое, потому что программа написана на Rust.

Работает из коробки, не требует конфигурации. Если установить сервер синхронизации на своём хостинге, то любые машины в интернете могут синхронизироваться и устанавливать соединение через наш сервер для удалённого управления рабочими столами друг друга. Трафик идёт напрямую между ними, но если это невозможно — тоже через сервер, до 3 Мбит/с (1920×1080).

Клиентское приложение есть для iOS и Android (на КДПВ), что позволяет со смартфона управлять рабочим столом Windows, Linux и MacOS (и наоборот), а также обмениваться файлами. Есть ещё веб-клиент.
Читать дальше →

Мониторинг систем хранения данных в Docker Compose: из чего состоит и как его повторить

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

Год назад к инженерам YADRO обратился клиент с просьбой помочь с настройкой мониторинга для СХД TATLIN.UNIFIED. Ему нужно было готовое интегрированное решение, которое бы не нагружало инженеров компании. Так появился Monitoring Appliance — приложение для мониторинга систем хранения данных, которое можно развернуть на сервере за пять минут. В статье рассказываем, как собирать с СХД все возможные данные и где могут быть подводные камни.

Читать далее

Создание бэкап-утилиты ReBack на Rust: от проблем до решения

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

Привет, Хабр!

Меня зовут Иван, я автор Telegram‑канала и сайта «Код на салфетке». Уже три года я изучаю Python, а последний год занимаюсь фрилансом.

В разработке мне очень нравится Python, но в какой‑то момент я понял, что пора двигаться «вширь» и изучать второй язык (при том, что я немного знаком с Java и JavaScript, но эти языки меня не устроили по ряду причин). По итогу я выбрал Rust, т.к. в сравнении с Python он показался мне одновременно сложным и увлекательным — именно это разожгло мой азарт. Но обо всём по порядку.

Читать далее

Запускаем собственный сокращатель ссылок Slash на VPS

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

Привет! На связи Игорь из техподдержки PQ.Hosting! Я продолжаю писать о незаезженных self-hosted приложениях, которые можно легко установить на свой виртуальный сервер. В прошлый раз я рассказывал, как поднять собственную интернет-машину времени с помощью Archive box. В этот раз речь пойдет про Slash — гитаристе группы Guns N’ Roses интересном веб-сервисе для сокращения и кастомизации ссылок. 

Читать далее

Ода одной диагностике и ещё парочке, или проверка Jellyfin

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

Jellyfin — это бесплатный медиасервер с открытым исходным кодом, является альтернативой Emby и Plex. В этой статье мы рассмотрим диагностику, у которой было больше всего срабатываний в коде Jellyfin. И ещё несколько ошибок проекта.

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

Вклад авторов