Рубрика «Разработка под Linux» - 7

Ассeмблерные хаки из книги «xchg rax, rax» - 1

Привет! В 2014 году автор под никнеймом xorpd опубликовал книгу, которая полностью состоит из ассемблерного листинга, в ней нет ни одного комментария а в поле "от автора" написаны несколько строк машинного кода. Его Читать полностью »

Введение

Совсем недавно, 25 января 2022 года вышел новый релиз Nginx - 1.21.6, в котором исправлена проблема неравномерного распределения входящих соединений между несколькими worker процессами в дефолтной конфигурации на Linux системах. Если конкретнее - use epoll, accept_mutex off, reuseport выключен.

В данной конфигурации при определенном характере нагрузки большинство входящих в Nginx соединений обрабатывается лишь одним worker процессом. 

Читать полностью »

Компания SUSE объявила о выпуске NeuVector - платформы, обеспечивающей комплексную безопасность контейнеров. Это решение предназначено для выполнения   контейнеризированных приложений в среде нулевого доверия (zero trust). База кода NeuVector уже доступна сообществу на GitHub.

Читать полностью »

Минималистичный универсальный Linux-ПК со странным названием minimum viable computer: что он умеет - 1

На днях разработчик по имени Брайан Бенчофф (Brian Benchoff) анонсировал начало работы над проектом, который получил название minimum viable computer или MVC. Это миниатюрный ПК на базе Linux с базовыми возможностями, которые, впрочем, можно использовать для самых разных целей.

В частности, компьютер может использоваться для тестирования систем безопасности, работы в дата-центре, для создания софта. Также он может работать как аппаратный криптокошелек или в качестве ПК для ректро-геймеров, поскольку способен запускать Doom. Проект необычный, но в целом, вполне реализуемый. Под катом — подробности проекта.
Читать полностью »

С изучением языков возникает проблема переключения раскладок клавиатуры. Когда два языка все просто, жамкаешь ALT+SHIFT (или что там у вас) и переключаешься на следующий язык. И ты всегда знаешь на какой именно язык переключился. Когда раскладок становится хотя бы 3 это уже вызывает проблемы. Потому что нажать ALT+SHIFT нужно один или несколько раз и непонятно сколько именно, не посмотрев в угол экрана

Я использую 6 языков, но раскладок у меня 4. Потому что для английского, испанского и немецкого, используется одна English international with AltGR dead keys. Скриншот из Ubuntu. В Windows она тоже есть.

Читать полностью »

Когда TCP быстрее UDP - 1

Я знаю отличную шутку про UDP, но не факт, что она до вас дойдёт.

Все, кто хоть раз в жизни, по работе открывал файл /etc/services знают, что одни сетевые службы используют транспортный протокол TCP, другие же — UDP. Каждый из них имеет свою область применения. Если надёжность соединения имеет приоритет над скоростью передачи данных, то TCP предпочтительнее. Например, для SMTP, или IMAP больше подходит TCP. Обратное тоже верно там, где важна скорость передачи данных, а потеря дейтаграмм или их порядок не критичны — используют UDP. К их числу относятся SNMP, DNS, VoIP и другие службы.Читать полностью »

Опыт организации диалога с модулями ICP DAS I-7000 по RS-485 используя только bash - 1
Предыстория:
Генераторы случайных чисел в разных ОС - 1

"Генерация случайных чисел слишком важна, чтобы оставлять ее на волю случая" - Роберт Р. Кавью

Читать полностью »

Углубленное знакомство с пространствами имен Linux. Часть 2 - 1

В предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.Читать полностью »

Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.

Буфер обмена в консольной версии

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js