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

Разработка под Linux *

Пишем под *nix

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

Строим свой SSO. Часть 5: Итоговый SSO, Защита от XSS/CSRF, Custom Grant Type

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

Всем привет! Мы продолжаем нашу серию статей по созданию собственного SSO. В этой статье мы увидим итоговый проект и разберём самые интересные решения из него. Подумаем над безопасностью приложения и настроим защиту от XSS и CSRF атак, а также изучим разные Security Headers. В заключение статьи мы создадим собственый Grant Type.

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

Новости

Разработка ядра – API для прошивки

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

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

Читать далее
Всего голосов 19: ↑17 и ↓2+22
Комментарии4

Обновленный дистрибутив Linux postmarketOS даст вторую жизнь устаревшим ПК и ноутбукам. Перспективы проекта

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

Почти у каждого есть старый ПК или ноутбук, который и выбросить жалко, и использовать не получается. Как правило такие девайсы не могут нормально работать из-за старого процессора, малого объема ОЗУ и прочих проблем. Особенно много такой техники бывает на складах у компаний.

Один из вариантов нормальной эксплуатации подобного оборудования — установка специализированных дистрибутивов Linux, которым для работы не нужен большой объем ОЗУ и быстрый процессор. Одна из таких сборок —  postmarketOS.

Читать далее
Всего голосов 11: ↑10 и ↓1+15
Комментарии27

Моя первая встраиваемая система под управлением Linux

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

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

Первая часть статьи может показаться не совсем по теме, но в ходе прочтения вы поймёте, что она также имеет отношение к основному тексту. В общем, рекомендую терпеливо прочесть всю историю.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+59
Комментарии17

Истории

FUSE: как написать свою файловую систему

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

Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:

- зачем писать свою ФС;

- как написать свою ФС с помощью фреймворка FUSE;

- какие подводные камни есть у эксплуатации FUSE в production.

Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим. 

Заварить чай и читать
Всего голосов 48: ↑48 и ↓0+61
Комментарии13

Проект инструментария по управлению каталогами Active Directory, Samba DC и FreeIPA. Часть 1: Постановка задачи

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

Привет, Хабр! Наша инициативная группа приступила к работе над интересным проектом, который претендует на определенную значимость в масштабе отечественной ИТ-индустрии. Речь идет об универсальном веб-инструментарии для централизованного управления разнородными службами каталогов для крупных холдингов и корпораций, будь то Microsoft Active Directory (MS AD), либо службы каталогов, основанные на Samba DC или FreeIPA. Разрабатываемое решение позволит осуществлять управление наиболее востребованными функциями из единой точки доступа вне зависимости от типа используемых в доменах служб каталогов.

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

Дроиды и питоны: работаем с ADB на Python

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

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

И вот, тогда я узнал об одной прекрасной утилите - Android Debug Bridge, ADB. Прекрасный инструмент для работы с Android - подключил телефон, и занимайся чем хочешь. Но иногда так лень запоминать разные команды, вводить их каждый раз... Вот здесь на помощь приходит Python. Прекрасный язык с большими возможностями.

В этой статье я рассмотрю как работать с ADB через python.

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

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии15

Начинаем утреннюю зарядку для тех, кто смотрит нас вечером, или основы сбора логов в ОС Astra Linux Special Edition

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

Всем привет! Меня зовут Михаил, я разработчик в команде, которая создает ОС Astra Linux.

Тема логирования в дистрибутивах Linux всегда живо обсуждается как среди наших клиентов и партнёров, так и внутри компании.

Практика показывает, что начинающие разработчики и инженеры часто не видят цельную картину, по которым в нашей ОС проходят логи. Не всегда есть понимание, какой именно компонент формирует тот или иной лог, какие именно настройки относятся к тому или иному компоненту. Например, под термином «аудит» может пониматься как подсистема аудита Linux, так и другие компоненты ОС, участвующие в формировании и обработке логов.

Описанные выше пробелы в знаниях сообщества побудили меня подумать над тем, как помочь коллегам сориентироваться в непростом хитросплетении путей, по которым запись лога проходит от исходной программы до конечного файла. Так мне пришла идея написать цикл статей, посвященный логированию в операционной системе Astra Linux Special Edition.

Читать далее
Всего голосов 11: ↑9 и ↓2+8
Комментарии10

Ubuntu Core 24: что нового в ОС для интернета вещей? Подробности о релизе

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

Несколько дней назад компания Canonical представила новый релиз одного из своих дистрибутивов. Речь идет об операционной системе Ubuntu Core 24, которая предназначена для IoT-устройств. Это LTS-дистрибутив со сроком поддержки в 12 лет. В нем немало важных нововведений, изменений, о которых многим читателям Хабра будет полезно узнать. Подробности — под катом.

Читать далее
Всего голосов 4: ↑4 и ↓0+10
Комментарии4

Ещё о красоте в простой формуле

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0+21
Комментарии15

Профилирование: что использовать для сбора информации о работе программы под Linux

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

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

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

Больше
Всего голосов 11: ↑10 и ↓1+10
Комментарии1

Почему MMAP не лучший выход

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

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


MMAP захватила умы программистов СУБД на многие десятилетия, как альтернатива буферу данных. И вот здесь следует отметить, что в mmap имеются серьёзные проблемы с корректностью и скоростью работы с данными в современных СУБД. В реальности, некоторые известные СУБД сперва использовали mmap для работы с "больше-чем-вмещается-в-память" базами данных, но вскоре обнаружили эти скрытые ограничения, которые принудили их к самостоятельному управлению файловым вводом/выводом, после заметных трат на инженерные исследования. В этом смысле mmap и СУБД подобны сочетанию кофе и острой пищи: неудачное сочетание, которое не очевидно, пока сам не попробуешь.


Покуда разработчики по прежнему пытаются использовать mmap в новых СУБД, мы написали эту статью, чтобы предупредить остальных, что mmap это не подходящая замена привычному буферу. Далее мы обсудим основные недостатки mmap, а также покажем явные ограничения производительности, которые мы обнаружили в наших экспериментах. На основании этих находок мы поделимся рецептами, когда разработчикам СУБД следует избегать mmap для реализации файлового ввода/вывода.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+34
Комментарии6

Хранилище программных пакетов «Сизиф» не может быть отключено извне

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

«Сизиф» — проект по развитию инфраструктуры разработки и хранилища свободного ПО. Он находится под юрисдикцией и на территории Российской Федерации и не может быть отключен извне.

Проект развивает и поддерживает компания «Базальт СПО».

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

«Сизиф» — одно из крупнейших хранилищ программных пакетов в мире, входит в Top-10 в рейтинге repology.org. Устанавливать ПО из него на свой компьютер может любой желающий.

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

В числе доступных инструментов:

🔸Hasher — для безопасной и воспроизводимой сборки пакетов.
🔸Gear — для поддержки и совместной разработки RPM-пакетов в системе контроля версий git,
🔸Repocop — платформа для запуска интеграционных тестов над пакетами, и многое другое.

Читать далее
Всего голосов 32: ↑7 и ↓25-16
Комментарии23

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

AdIndex City Conference 2024
Дата26 июня
Время09:30
Место
Москва
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Как пересобрать ядро для WSL2 и остаться в живых

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

Мы активно пользуемся WSL2 для того, чтобы открывать линуксовые коры в Visual Studio. Для обеспечения консистентности символов и коры мы монтируем squashfs образ, созданный в целевой системе. После очередного апдейта целевого дистрибутива, у нас всё сломалось - squash монтировался, но мог посередине файла выдать ошибку чтения, записав в dmesg что-то типа

SQUASHFS error: xz decompression failed
Всего голосов 29: ↑29 и ↓0+39
Комментарии2

Руководство по межпроцессному взаимодействию (IPC) в Linux — Часть 1

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

Представляю вашему вниманию перевод работы A guide to inter-process communication in Linux. Объём данной работы большой, поэтому перевод будет выполнен в виде нескольких отдельных статей:

Читать далее
Всего голосов 9: ↑9 и ↓0+10
Комментарии2

Краткое сравнение популярных функций измерения времени

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

Какую реальную точность можно ожидать от функции возвращающей время, а сколько времени она выполняется сама? Попытка замерить и сравнить несколько десятков функций, доступных программисту на C++.

Вот что получилось
Всего голосов 27: ↑27 и ↓0+31
Комментарии13

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

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

Android-смартфон при подключении к компьютеру через USB может выглядеть как медиаустройство, модем или хранилище файлов. В этой статье мы научимся делать из него USB-клавиатуру, мышь и флешку.
Читать дальше →
Всего голосов 58: ↑58 и ↓0+80
Комментарии48

Вышла 11-я платформа от «Базальт СПО», это новый уровень разработки свободного ПО

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

«Базальт СПО», российский разработчик свободного программного обеспечения, выпустила 11-ю программную платформу (p11), получившую название Salvia (Шалфей). Это новая стабильная ветка хранилища программных пакетов Sisyphus, разработку и поддержку которой ведет команда разработчиков ALT Linux Team. Хранилище находится под юрисдикцией и на территории Российской Федерации и не может быть отключено извне.

11-я платформа станет основой для разработки новых версий операционных систем семейства «Альт» и широкого спектра других программных продуктов — от софта для встроенных и мобильных устройств до программных решений для серверов предприятий, ЦОД’ов и облаков.

Продукты на базе платформы начнут выходить начиная с 4 квартала 2024 года.

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

Читать далее
Всего голосов 12: ↑9 и ↓3+9
Комментарии4

Два года ждали: новый релиз «FreeBSD для Mac» — операционной системы ravynOS

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

Кто-то слышал об этом проекте, кто-то нет, но это весьма интересная разработка. Команда ravynOS создаёт операционную систему на базе FreeBSD, стараясь обеспечить совместимость проекта с приложениями для macOS. Оболочка при этом также имеет очень сильную схожесть с интерфейсом macOS. Наработки проекта распространяются под лицензией BSD. Оценить ОС можно, установив загрузочный образ ravynOS 0.5 — он доступен здесь. Подробности — под катом.

Читать далее
Всего голосов 8: ↑8 и ↓0+16
Комментарии10

Апдейт, ещё апдейт: вышел Red Hat Enterprise Linux 8.10. Что нового?

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

Совсем недавно мы публиковали статью о выходе Red Hat Enterprise Linux 9.4. В то же время стоит помнить, что обновляется и прошлая ветка — это Red Hat Enterprise Linux 8.10. Разработчики будут поддерживать её минимум до 2029 года. Что касается текущего релиза, он появился строго согласно цикла разработки — он предполагает выпуск новинок раз в полгода.

На текущий момент Red Hat Enterprise Linux 8.10 — последний выпуск восьмой ветки, который был сформирован на стадии полной поддержки. Уже 31 мая ветка будет переведена на стадию сопровождения — это означает, что разработчики основное внимание уделят исправлениям и обновлениям безопасности. Подробности — под катом.

Читать далее
Всего голосов 2: ↑2 и ↓0+6
Комментарии1
1
23 ...