Как стать автором
Обновить
60.17
Рейтинг

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

Пишем под *nix

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

30 лет ядру Linux: поздравление от PVS-Studio

Блог компании PVS-StudioOpen source*C++*C*Разработка под Linux*

25 августа 2021 года ядру Linux исполняется 30 лет. За это время ядро пережило множество изменений, так же, как и мы. Сегодня это огромный проект, работающий на миллионах различных устройств. Предыдущую проверку мы делали 5 лет назад, поэтому не можем пропустить такое событие и не заглянуть в код этого эпического проекта.

Читать далее
Всего голосов 26: ↑23 и ↓3+20
Просмотры4.5K
Комментарии 6

Новости

Показать еще

Cambalache: новый инструмент для быстрой разработки

Блог компании ITSOFTПрограммирование*Разработка под Linux*

На конференции GUADEC 2021  был представлен новый инструмент для быстрой разработки интерфейсов GTK3 и GTK4 под названием Cambalache. В отличии от Glade, он способен поддерживать создание нескольких интерфейсов пользователя в одном проекте.

Читать далее
Всего голосов 2: ↑1 и ↓10
Просмотры1.4K
Комментарии 0

Ускорение процесса разработки под Embedded Linux

Разработка под Linux*
Перевод
Tutorial

Любой программист, решивший заняться разработкой под Embedded Linux, придя буть-то из высокоуровневых языков программирования, либо из программирования микроконтроллеров на С/С++, неизбежно оказывается удивлен крайней недружелюбностью embedded linux. Текстовый блокнот и консольные утилиты вместо столь привычных IDE, и отладка по логам вместо отладки программатором сильно замедляют процесс разработки. В статье описывается, как мне удалось снизить время доставки изменений до целевого железа при кросс-компиляции в 10 раз.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Просмотры6.2K
Комментарии 12

Кунг-фу стиля Linux: делаем все и сразу

Блог компании RUVDS.comНастройка Linux*Системное администрирование*Разработка под Linux*
Перевод
Вы никогда не задумывались о том, что компьютеры чрезвычайно глупы? Даже самый мощный процессор не может много сделать. Однако он может делать то, что делает, очень быстро и повторять это много раз. Компьютеры настолько быстрые, что может казаться, что они делают много вещей одновременно, а современные компьютеры еще и имеют несколько процессоров, чтобы улучшить свои возможности по многозадачности. Мы часто не пишем программы или сценарии, чтобы воспользоваться этим. Однако, как вы сейчас поймёте, для этого нет никаких причин.


Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Просмотры11K
Комментарии 4

Исследование роста утилизации процессора: как мы мигрировали с CentOS 7 на Oracle Linux 7

Блог компании DINSНастройка Linux**nix*Разработка под Linux*DevOps*

Привет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций для RingCentral. Каждый из них состоит из большого количества микросервисов.

Когда мы мигрировали один из наших микросервисов с CentOS 7 с ядром 4.19 на Oracle Linux 7 с ядром 5.4, мы заметили рост утилизации процессора на наших stress/performance-тестах. В статье я расскажу, как мы исследовали причины роста утилизации процессора сначала в user-space, а потом и в kernel-space и о том, к какому результату это нас привело.

Читать далее
Всего голосов 118: ↑117 и ↓1+116
Просмотры13K
Комментарии 14

Как оформить серию коммитов Git, чтобы её приняли в любой проект

Блог компании Mail.ru GroupGit*GitHubУправление разработкой*Разработка под Linux*

Добрый день, коллеги! Доказывать, что нужно использовать систему контроля версий, уже давно не нужно. И Git занял тут лидирующую позицию, стремительно вытеснив SVN. Но это инструмент, а инструментом нужно уметь пользоваться, чтобы добиться лучших результатов. Как топором, один человек сможет просто срубить дерево а другой из этого дерева сможет сделать великолепную скульптуру. Так и с помощью Git, один человек сможет просто не потерять результаты своего труда за день, а другие смогут организовать совместную работу над проектом нескольких сотен человек. Да так, что о любой строчке кода можно будет и через пять лет сказать, откуда она взялась и для чего нужна.

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

Читать далее
Всего голосов 56: ↑54 и ↓2+52
Просмотры14K
Комментарии 30

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF

Блог компании ОдноклассникиВысокая производительность*Системное администрирование*Разработка под Linux*Облачные сервисы

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре. 

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

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

Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.

Читать далее
Всего голосов 50: ↑50 и ↓0+50
Просмотры6.2K
Комментарии 18

Установка Golang в WSL (WSL 2) с помощью Visual Studio Code

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

Здравствуйте! В статье представленна инструкция по установке языка программирования Golang в подсистему Linux на Windows 10 (11). Если у вас уже установлен WSL2 и Visual Studio Code, то смело переходи на 3 часть этой статьи, для всех других же...

Читать далее
Всего голосов 11: ↑1 и ↓10-9
Просмотры2.4K
Комментарии 9

Преобразование dxf в svg

Open source*C++*CAD/CAM*C*Разработка под Linux*
Речь в статье пойдёт о программе на С/С++, написанной под Ubuntu, редактор — CodeBlocks. dxf — открытый формат, спецификация которого написана компанией Autodesk. Предполагаемое назначение — отображение dxf чертежей в веб проектах. Да, можно экспортировать из кое-каких редакторов, например, Librecad под Ubuntu или Acme CAD Converter под Windows, но это не во всех случаях может подходить, например, если нужна кастомизация.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Просмотры2.4K
Комментарии 6

Linux kernel 5.14 — что изменится в новом ядре

Блог компании VAS ExpertsНастройка Linux*Системное администрирование*Серверное администрирование*Разработка под Linux*

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

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Просмотры19K
Комментарии 27

Объектно-ориентированное программирование на Си без плюсов. Часть 2. Таймер

Программирование*C*Разработка под Linux*

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

    Для Linux в Си в настоящее время есть следующие функции:

unsigned int sleep(unsigned int __seconds); ,

объявленная в файле <unistd.h> и

int nanosleep(const struct timespec *req, struct timespec *rem); ,

объявленная в файле <time.h>

    Обе выполняют одну задачу, приостанавливают работу потока в котором была вызвана функция на заданное время, поэтому с данными функциями очевидным является простое решение (как говорится «решение в лоб») выделить для таймера отдельный поток.

    Есть ещё функция clock_nanosleep(), можно включить режимы SHED_FIFO или SCHED_RR для более точной работы, всё это конечно хорошо, но я решил ограничиться только выше указанными.

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

    Для начала я разберу пару решений которые конечно будут работать, отмечу их плюсы и минусы, но так делать не надо! А в конце покажу решение которое меня в принципе полностью удовлетворяет, реализовано в рамках правил определённого ранее шаблона и надеюсь может быть использовано в дальнейших проектах.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Просмотры4.8K
Комментарии 12

Linux на мобилках, PDFium и как рендерить PDF в 2 раза быстрее

Блог компании Открытая мобильная платформаC++*Qt*PDFРазработка под Linux*

Привет, Хабр! В этой статье хотим рассказать о том, как мы протестировали три основные открытые библиотеки для работы с PDF-документами: Poppler, PDFium и MuPDF. Сравнили скорость рендера документов разного объёма, качество рендера, требования к технологиям разработки и условия лицензий для коммерческих продуктов на базе этих библиотек. Спойлер: победителем стала библиотека PDFium, но, как всегда, есть нюансы. Под катом обо всём по порядку.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Просмотры3.1K
Комментарии 3

Автоматизируем FreeIPA: как устанавливать клиентов с помощью Ansible и управлять DNS записями через Terraform

Настройка Linux*DNS*Разработка под Linux*Читальный залDevOps*


У нас в Altenar собралась достаточно большая и продвинутая команда разработчиков. За эти годы внутри компании накоплен разнообразный опыт в создании и развитии высоконагруженных систем. Поэтому время от времени коллегам хочется поделиться с миром своими знаниями. Регистрироваться на Хабре они пока не готовы, зато совсем не против материализовываться на моей странице. Надеюсь острой аллергии это у вас не вызывает. Если будут вопросы к материалу, смело оставляйте их в комментариях, обещаю молниеносно перенаправлять авторам статьи. Добро пожаловать за кат.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Просмотры2K
Комментарии 7

6 навыков устранения неполадок в Ansible Playbooks, шпаргалка по Node.js Event Emitter и не только в #полезногопост

Блог компании Red HatOpen source*Виртуализация*Разработка под Linux*Учебный процесс в IT

Подборка новых шпаргалок, вебинаров, свежих статей и полезных книг в самом полезном дайджесте на просторах #Хабр! Оставайтесь с нами – станьте частью DevNation!

Читать дальше: 6 навыков устранения...
Рейтинг0
Просмотры2K
Комментарии 1

Разработка и эксплуатация ядра Linux в нашей инфраструктуре. Доклад Яндекса

Блог компании ЯндексВысокая производительность*IT-инфраструктура*Разработка под Linux*IT-компании
Внутреннее облако Яндекса состоит из сотен тысяч серверов в нескольких дата-центрах России и Европы. Все эти серверы работают под управлением ядра Linux. Из доклада старшего разработчика Дмитрия Монахова вы узнаете, как и зачем Яндекс разрабатывает и эксплуатирует ядро, в чем уникальная специфика ядерных задач, которые нужно решать на наших масштабах, и почему мы выбрали стратегию максимальной открытости ядра.

— Здравствуйте, все! Забавно: в последний раз я выступал в Яндексе несколько лет назад, работал в другой компании, но тоже рассказывал про фрагментацию, правда файловых систем. Сейчас рассказываю про ядро Linux.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Просмотры5.4K
Комментарии 1

Обзор Kali Linux 2021.2

Блог компании RUVDS.comНастройка Linux*Open source*Разработка под Linux*

В начале июня состоялся релиз дистрибутива для цифровой криминалистики и тестирования систем безопасности Kali Linux 2021.2. Эта операционная система является клоном Debian, используя репозиторий Testing с наиболее свежими пакетами. Новые iso образы становятся доступными для загрузки каждые три месяца, предыдущим релизом был 2021.1, а следующим будет 2021.3. Собственные наработки, созданные в рамках проекта, выложены на Гитлабе.
Узнать подробности
Всего голосов 37: ↑36 и ↓1+35
Просмотры16K
Комментарии 7

Зачем уметь работать в командной строке?

Настройка Linux**nix*Разработка под Linux*Учебный процесс в ITDevOps*

Сегодня мы поговорим о том, зачем учить операционную систему GNU/Linux, о преимуществах работы в командной строке и о том, как это все связано с философией Unix.

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

Читать далее
Всего голосов 43: ↑25 и ↓18+7
Просмотры15K
Комментарии 97

Kq: продолжаем обрабатывать JSON

Программирование*Функциональное программирование*Визуализация данныхKotlin*Разработка под Linux*

...на Kotlin разумеется. В комментариях к предыдущей статье было задано несколько вопросов, как сделать конвертацию в tsv, почему утилита собрана в Docker образ и предложение использовать нативный образ GraalVM.

В этой статье содержится ответ на них и заодно рассказывается о последнем обновлении функций утилиты. Кто по работе часто занимается процессингом JSON - добро пожаловать под кат.

Читать далее
Всего голосов 2: ↑1 и ↓10
Просмотры2.2K
Комментарии 0

Архитектура контейнеров, часть 1. Почему важно понимать разницу между пространством пользователя и пространством ядра

Блог компании OTUSРазработка под Linux*

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

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Просмотры5.5K
Комментарии 0

Современный JSON процессор

Программирование*Java*Функциональное программирование*Kotlin*Разработка под Linux*

Вместо тысячи слов... Хотели бы вы обрабатывать json в терминале таким образом?

Если да, то вам под кат.
Всего голосов 16: ↑11 и ↓5+6
Просмотры5.8K
Комментарии 26

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