Все потоки
Поиск
Написать публикацию
Обновить
270.24

Linux *

Пишем под *nix

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

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

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

Представляю вашему вниманию третью (заключительную) часть перевода статьи A guide to inter-process communication in Linux.

Первая часть перевода была посвящена общему введению в курс дела и механизму разделяемого хранилища (shared storage). Во второй части были рассмотрены механизмы каналов (именованных и неименованных) и очереди сообщений. В третьей части автор статьи ставит перед собой цель рассказать вам о сокетах и сигналах; подводит общие итоги по межпроцессному взаимодействию в Linux.

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

Читать далее

GNUstep: разрывая все шаблоны

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

В удивительном мире ИТ существуют проекты, узнав о которых можно сильно поменять свои взгляды на жизнь, реальность и саму разработку. Об одном из таких проектов и будет наш рассказ.

Погрузиться

Интеграция GNOME Online Accounts с сервисами Яндекса в ОС «МСВСфера» 9

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

В этой статье мы хотим рассказать о том, как интегрировали сервисы Яндекса в ОС «МСВСфера АРМ» 9. А точнее — gnome‑online‑accounts и сопутствующие программы evolution, календарь и gvfs с Яндекс сервисами.

Читать далее

Надоело просто добавлять запись в log-файл. Что еще можно сделать с помощью syslog-ng в Astra Linux SE?

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

Всем привет! Меня зовут Михаил, и в своей предыдущей статье я кратко осветил цепочку прохождения логов в ОС Astra Linux SE. Продолжаем!

Любой человек, который регулярно сталкивается с темой логирования, рано или поздно задаётся вопросом: «А что ещё можно сделать с логами, помимо простого добавления записей в некоторый файл?». Поэтому сейчас поговорим о таком мощном инструменте обработки логов, как syslog-ng.

Читать

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: проект программируемой логики

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

Привет, Хабр! Меня зовут Павел Панкратов, я ведущий инженер-программист в дивизионе искусственного интеллекта YADRO. Этим текстом я запускаю цикл статей — экскурс в особенности работы с SoC, комбинирующей в себе реализованные в «железе» аппаратные блоки (Hard IP’s) и программируемую логику (Soft IP’s). Основная задача, которая объединит все три статьи, — параллельный запуск встраиваемой операционной системы на двух различных по архитектуре процессорах, представленных в виде Hard и Soft IP-блоков.

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

Читать далее

Kubernetes на сковородке: готовим самые вкусные кластеры

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

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

Привет! Меня зовут Игорь Титов, я Product Lead системных инженеров в Garage Eight. В этой статье расскажу, что такое контейнеризация, как с ней помогает Kubernetes и почему важно уметь правильно его готовить.

Читать далее

Адаптируем фаззинг для поиска уязвимостей

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

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

Читать далее

Docker для разработки C#

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

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

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

Возможности Docker достаточно обширны, однако в данной статье хотелось бы остановиться на трех:

Читать далее

Телеграм бот на С++ сложно? Давайте развеем этот миф

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

Небольшая статья по настройке серверной части для телеграм бота, на базе языка программирования С++ и библиотек TgBot и sqlite3.

Продолжить чтение...

Программирование на C в Linux на примере создания командной оболочки: часть 2

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

Я решил недавно улучшить свой навык владения C, путем написания проектов. Самая первая мысль, которая пришла мне на ум — это командный интерпретатор, командная оболочка, shell проще говоря. А также я расскажу о системе сборки make, и о том, как правильно писать и документировать C-код.

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

Да-да, мы превратим наш велосипед в мопед! Я вынес из прошлой статьи итоги, и попытался решить все проблемы и замечания. Продолжаем погружение в пучины разработки под Linux!

Читать далее

Unix на работе. Часть вторая, программная

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

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

Из первых рук и на основе многолетней практики.

Читать далее

Подключаем монохромный LCD дисплей 12864 на контроллере ST7920 по SPI интерфейсу к ZYNQ-7010. Практическое руководство

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

О платформе

Опишу, как «поднять» SPI в Линуксе (Убунту), подключить экранчик 12 864 с контроллером ST7920 (бывают и другие варианты контроллеров) к ZYNQ-7010 и отобразить на нём текст, линию и прямоугольник, используя Питон.

Читать далее

Проблемы с Raspberry Pi 4 не дают выйти в бета-релиз Fedora 41. Но почему?

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

Fedora — один из самых известных дистрибутивов операционной системы GNU/Linux. Проект охватывает множество направлений, таких как мобильные устройства, облачные технологии и робототехника. Разработчики Fedora ежедневно решают задачи различной сложности: от управления IT‑инфраструктурой до программирования микроконтроллеров и создания роботов.

Несмотря на общий успех и популярность, почти каждый релиз Fedora не обходится без сложностей. Поддержка одноплатного компьютера Raspberry Pi 4 вновь стала источником проблем, что уже не впервые задерживает выход бета-версии.
Читать дальше →

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

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

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

Представляю вашему вниманию вторую часть перевода статьи A guide to inter-process communication in Linux.

Первая часть перевода была посвящена общему введению в курс дела и механизму разделяемого хранилища (shared storage). В этой части будут рассмотрены механизмы каналов (именованных и неименованных) и очереди сообщений.

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

Читать далее

Оптимизация Linux задерживается: ушел главный разработчик проекта Rust for Linux. Но почему?

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

Привет, Хабр! Это Даша Волкова из МТС Диджитал. Несколько дней назад стало известно, что Ведсон Алмейда Фильо (Wedson Almeida Filho), ключевой участник проекта Rust for Linux, решил уйти из команды. О своем решении он объявил неожиданно для многих представителей как самого проекта, так и Linux-сообщества. Теперь переход ОС на Rust замедлится. Что случилось?

Читать далее

Unix на работе. Часть первая:  Качая железо

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

Открываю серию статей про повседневное использование Linux и *BSD-систем в качестве основной ОС для работы. Начнем с общих принципов и выбора подходящего оборудования.

Читать далее

Программирование на C в Linux на примере создания своей командной оболочки

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

Привет, хабр! Язык программирования C — основополагающий, как я считаю. И его знать, нет, не обходимо, но довольно желательно. Большинство языков отсылают к C, и зная C (или C++) другой язык будет даваться намного легче.

Я решил недавно улучшить свой навык владения C, путем написания проектов. Самая первая мысль, которая пришла мне на ум — это командный интерпретатор, командная оболочка, shell проще говоря. А также я расскажу о системе сборки make, и о том, как правильно писать и документировать C-код.

В этом туториале я буду использовать компилятор CLANG, а не GCC, и расскажу его преимущества

Итак, для создания своего шелла на C для Linux вам понадобится простой советский копеечный...

Узнать

Автоматизация сканирования открытых сетевых портов

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

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

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

Читать далее

Все меняется: новые выпуски Ubuntu будут базироваться на свежайшей версии ядра, даже нестабильной

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

Привет, Хабр! Это Даша Волкова и новости из мира ИТ.

Компания Canonical, которая разрабатывает дистрибутив Ubuntu, пообещала формировать новые выпуски своей ОС на базе свежей версии ядра. Даже в том случае, если она еще не стабильна. Разработчики уверяют, что приняли такое решение в интересах пользователей и партнеров. Подробности — под катом.

Читать далее

Python. Tkinter. В ожидании релиза 3.13

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

Работая нал проектом svgwidgets я активно использовал функционал tk busy, который появился в релизе Tcl/Tk 8.6.0. Мне стало интересно, а поддерживается ли этот функционал в Python-е, а точнее в Tkinter-е. Каково же было мое удивление узнать, что именно сейчас в Tkinter, который входит в состав Python версии 3.13, добавляется функционал tk busy, который давно включен в tcl/tk. Релиз Python 3.13 ожидается в октябре этого года. Мне показалось, что будет полезно рассказать о функционале tk busy, а точнее о новых методов для виджетах в Tkinter. Вот эти методы - tk_busy_hold(), tk_busy_configure(), tk_busy_cget(), tk_busy_forget() и tk_busy_current().

Командаy tk busy предоставляет простой способ блокировки виджета от действий пользователя.

Как работает методы блокировки tk_busy в Tkinter рассмотрим на примере. При этом будем использовать классические виджеты.
Но для начала пришлось собрать из исходных кодов Python-3.13.0rc1.tgz дистрибутив Python-а. Все это было мною проделано в Linux на Mageia release 9.
Итак, создадим некий графический интерфейс, в котором будет главное окно (mwin) размером 10 сантиметров на 6 сантиметров с виджетом панели (frame1), в которой будут размещены поле ввода данных (ent1) и кнопка (but1):

bash-5.2$ /usr/local/bin64/python3.13 Python 3.13.0rc1 (main, Aug 21 2024, 15:48:04) [GCC 12.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.

Читать далее

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