Обновить
296.68

Linux *

Пишем под *nix

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

Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K
image

К сожалению, в наше время многие старые, но весьма неплохие по характеристикам гаджеты отправляются напрямую в помойку, и их владельцы не подозревают, что им можно найти применение. Сервер, мультимедийная-станция, да даже просто как TV-приставка — люди в упор не замечают сфер, где старенький планшет мог бы быть полезен. Но как быть, если посвящаешь жизнь портативным гаджетам, кодингу и копанию в железе? Правильно: сделать довольно мощную игровую консоль из старого планшета самому! Сегодня вам расскажу, как я сделал свою портативную приставку из планшета с нерабочим тачскрином, Raspberry Pi Pico и 8 кнопок! За рабочим результатом прячется несколько дней работы: поиск UART на плате, разработка контроллера геймпада на базе RPi Pico, написание приложения-сервиса, которое слушает события и отправляет их в подсистему ввода Linux в обход Android. Интересно? Тогда жду вас под катом!
Читать дальше →

Расследуем фантомные чтения с диска в Linux

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели22K
Не так давно один из наших пользователей сообщил нам о случае странного использования оборудования. Он при помощи нашего клиента ILP (InfluxDB Line Protocol) вставлял строки в свою базу данных QuestDB, но вместе с операциями записи на диск также наблюдались существенные объёмы чтения с диска. Этого никак не ожидаешь от нагрузки, рассчитанной только на запись, поэтому нам нужно было докопаться до причины этой проблемы. Сегодня мы поделимся этой историей, полной взлётов и падений, а также магии ядра Linux.

Читать дальше →

Как мы автоматизировали FTP(S) с уникальными симптомами проблемы?

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

Я автоматизировал FTPS через LFTP, потому что c этой задачей не справился Python с его великим разнообразием пакетов в "Сырном Магазине". Читайте историю из компании с примерами кода и погружением в детали проблемы.

Узнать, как автоматизировать FTPS

От архитектуры сервисов до безопасности цепи поставок: о чем расскажут в треке разработки на Positive Hack Days 12

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

До грандиозного киберфестиваля Positive Hack Days 12 осталось всего ничего — уже 19 мая он стартует в московском Парке Горького. В этом году техническая программа объединяет сразу пять треков: Artificial Intelligence, Blockchain, Development, Offense и Defense.

В треке, посвященном разработке (в том числе и безопасной 😉), вас ждут 17 крутейших выступлений. Мы попросили наших спикеров рассказать подробнее о себе и своих докладах.

Подробности

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

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели38K
image

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

  • ноутбук,
  • DVB-Т-приёмник в виде USB-брелока,
  • свободный флеш-накопитель для записи дистрибутива Linux на него.

Чтобы лучше разобраться в работе GSМ, нужно два мобильных телефона или телефон и GSM-модем.

Если вас заинтересовала эта тема, и вы хотите расширить свои знания, добро пожаловать под кат.
Читать дальше →

Валидируем X509 сертификат с OpenSSL C++

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

Данная статья является логическим продолжением статьи про генерацию сертификата. В ней мы рассмотрим, как мы можем провалидировать сертификат используя OpenSSL и C++.

Читать далее

Полезные команды GNU/Linux для разработчика. Часть 2

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

И снова приглашаем погрузиться в команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Напоминаем, подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. 

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

Статья написана по мотивам ИТ-посиделки, где мы обменивались полезными лайфхаками.

Читать далее

eBPF и его возможности

Время на прочтение10 мин
Охват и читатели59K
image

Откройте для себя современные возможности ядра GNU/Linux, которые пригодятся вам для обеспечения мониторинга, наблюдаемости, безопасности, инжиниринга производительности и профилирования – всё это достижимо при помощи eBPF. Ниже будет разобрано несколько практических случаев и дана информация, касающаяся внутреннего устройства BPF.
Читать дальше →

Мониторинг: измеряем потери пакетов с помощью C++

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели6.8K

В этой заметке я покажу, как с помощью Zabbix и C++ можно заниматься мониторингом потерь пакетов с очень высокой точностью. В этом примере пороговое значение - 0,01% потерь, но можно его ещё уменьшить при необходимости. Если интересно - добро пожаловать под кат.

Читать далее

Домашний NAS сервер

Время на прочтение6 мин
Охват и читатели74K

Домашний NAS сервер на 10 жестких дисков для личного использования на базе Linux

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

Читать далее

«Проблема доверия в сети». Точка зрения

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.5K

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

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

Читать далее

Полезные команды GNU/Linux для разработчика. Часть 1

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

В этой статье поговорим про команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. Здесь мы собрали то, чем пользуемся сами и к чему привыкли, однако почти все упомянутые задачи можно решить и другими способами.

Статья написана по мотивам ИТ-посиделки, где мы обменивались полезными лайфхаками. Все команды, которые успели обсудить, мы разделили на две части. В первой поговорим про запросы общей информации о пользователях и системе, работу с файлами, процессами и текстом. Во второй части - о bash и работе с сетью, в частности ssh.

Читать далее

Семафоры в Linux медленно сходят со сцены

Время на прочтение6 мин
Охват и читатели28K

С годами подходы к обработке конкурентности в ядре Linux сильно изменились. К 2023 году в арсенале разработчиков ядра появились, в частности, автозавершения, хорошо оптимизированные мьютексы, а также россыпь неблокирующих алгоритмов. Но были времена, когда управление конкурентностью сводилось к использованию обычных семафоров. Дискуссия о внесении небольшого изменения в API семафоров лишний раз свидетельствует, как сильно они изменились за долгую историю ядра.

Читать далее

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

10 болей Windows-разработчика, портирующего на Linux

Время на прочтение9 мин
Охват и читатели8K

За последний год многим разработчикам пришлось осваивать работу с Linux, погружаться в тему кросс-платформенности и портирования существующих продуктов в новую инфраструктуру. Несмотря на то что часть наших продуктов написана под Linux, мы не стали исключением, и нашему RnD в прошлом году тоже пришлось значительно перестраивать свою работу.

Споры о том, под какой ОС проще кодить – бесконечны, примерно как дискуссии об Android vs iOS или PlayStation vs Xbox. Поэтому начинать мы ее не будем, хотя очень хочется.

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

Читать далее

И снова Linux: релиз ядра 6.3. Подробнее о возможностях и апдейтах в этой версии

Время на прочтение5 мин
Охват и читатели11K


Всего через два месяца после выхода предыдущего релиза Линус Торвальдс представил релиз Linux 6.3, о чем уже писали на Хабре. Над ним пришлось изрядно потрудиться: в новой версии 15637 исправлений от 2055 разработчиков. Размер патча составил 76 МБ, ну а изменения затронули 14296 файлов, добавлено 1023183 строк кода, удалено 883103 строк.

Что касается основных изменений, то главное — обновление ARM-платформ и драйверов графики, продолжение работы по интеграции Rust, поддержка создания HID-драйверов и многое другое. Подробности — под катом.
Читать дальше →

Новое, старое, измененное: что появилось и что пропало в релизе Fedora Linux 38. Да-да, он уже вышел

Время на прочтение4 мин
Охват и читатели13K


Несколько дней назад вышел ожидаемый многими релиз Fedora Linux 38. Разработчики внесли множество изменений, среди которых — как добавление новых возможностей, так и удаление/замена устаревших. Уже можно загрузить Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки, чтобы оценить новшества самостоятельно. Ну а если на это времени пока нет — то подробности под катом.
Читать дальше →

Генерируем X509 сертификат с OpenSSL C++

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели11K

В данной статья я хочу рассказать, как работать с X509 сертификатом используя OpenSSL 3.0.0 в С++, начиная от генерации своего сертификата и заканчивая его валидацией.

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

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

Читать далее

Blueprint: удобный инструмент для создания UI на Gtk4

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

Разметку для Gtk-приложений можно создавать несколькими способами. Это можно сделать при помощи средств самого языка программирования, на котором пишется программа. Или же применить визуальный конструктор, типа Cambalache, который, в свою очередь, создаст специальный ui-файл в формате XML.

Blueprint — это язык разметки, а также компилятор, специально созданный для приложений написанных на Gtk4.

Читать далее

Язык программирования Vala и где он используется. Создаем простое приложение для прослушивания радио

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

Vala был разработан для более простой и быстрой разработки приложений с использованием библиотеки GTK. Этот язык уникален тем, что код при компиляции транслируется в код на языке C, а уже потом преобразуется в машинный. Благодаря этому скорость выполнения программы на Vala схожа со скоростью этой же программы на языке C, хотя работать с ним гораздо проще.

В этом посте я хотел бы привести примеры из собственного опыта создания программ на языке программирования Vala.

Читать далее

Дорожная карта навыков разработчика на C++

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

Джеймс Гослинг как-то сказал, что Java — это C++, из которого убрали все пистолеты, ножи и дубинки, однако практика показывает, что «ножи и дубинки» становятся классным инструментом в руках опытных разработчиков. В общем, немалая часть проклятий в адрес C++ объясняется элементарным «вы просто не умеете его готовить». Мы в «Лаборатории Касперского» умеем готовить «плюсы» и поэтому любим их. C++ — низкоуровневый язык, который позволяет работать с железом и писать быстрый код и при этом содержит массу возможностей. В экосистеме «плюсов» куча проработанных паттернов, best practices и готовых библиотек под разные задачи. Язык динамично развивается — но сохраняет обратную совместимость. 

В этом посте мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в С++-разработке.

Отправляемся