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

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

Пишем под *nix

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

U-boot. Процедура инициализации по шагам

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

В предыдущей статье был описан процесс настройки IDE Eclipse для кросс-платформенной отладки загрузчика U-boot. В данной статье описывается устранение последних ограничений, препятствовавших полноценной его отладки. После чего, получив возможность полноценной отладки кода, пройдемся по всей процедуре инициализации загрузчика от первой инструкции и до конца в режиме отладки.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 778
Комментарии 4

Новости

Создаем начальную миграцию с alembic для существующей базы

Разработка веб-сайтов *Python *Программирование *Промышленное программирование *Разработка под Linux *

Создание начальной миграции для существующей базы с alembic

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

PINE64: не PinePro единым. Что еще может предложить разработчик «свободного» Linux-телефона

Блог компании Selectel Open source *Разработка под Linux *Гаджеты

Компания PINE64 известна, в первую очередь, своими телефонами. До недавнего времени нужно было бы писать «телефон», но на днях в дополнение к первой модели, PinePhone, вышла вторая — PinePro.

Оба устройства весьма популярны среди гиков, но у компании есть и другие девайсы, которые также представляют интерес для многих из нас. Вот о них сегодня и поговорим, а один гаджет даже покажем более подробно, поскольку мы его недавно купили.
Читать дальше →
Всего голосов 55: ↑55 и ↓0 +55
Просмотры 12K
Комментарии 30

Минимизация файла ELF – попробуем в 2021?

Блог компании RUVDS.com Ненормальное программирование *Assembler **nix *Разработка под Linux *
Перевод
Tutorial

Экспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021?
Читать дальше →
Всего голосов 75: ↑74 и ↓1 +73
Просмотры 7.3K
Комментарии 9
Традиционные финансовые институты в ужасе: соцсети строят свою финансовую инфраструктуру (VK Pay — существует, FB — пытается); «Гугл», «Яндекс» и «Эппл» имеют собственную платёжную систему, а маркеты прибирают к рукам небольшие банки. Продажи через мессенджеры — уже рутина. Да что там «Гугл», даже простые сервисы поиска выгодного кредита ставят банки в условия жёсткой конкуренции, спасает лишь законодательство.

Когда конкуренты точнее, быстрее и с наименьшими затратами удовлетворяют запросы клиентов и держат их в пределах своей экосистемы, быстрый запуск новых удобных финансовых сервисов и их масштабируемость — это вопрос выживания.
Пройти опрос
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 4.8K
Комментарии 9

Неистовые потуги или как поиграть на midi-клавиатуре в стиле linux-way

Java *Разработка под Linux *Звук
Из песочницы

Относительно короткая история о том как я хотел поиграть на midi-клавиатуре, но не совладал с аудиоподсистемами линуха...

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 2.5K
Комментарии 7

Распознание длинных аудио сервисом Yandex SpeechKit из командной строки bash/shell через API

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

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

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

О чем нельзя забывать при работе с POSIX-сигналами

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

Как и любой другой инструмент, POSIX-сигналы имеют свои правила, как их использовать грамотно, надежно и безопасно. Они испокон веков описаны в самом стандарте POSIX, в стандартах языков программирования, в manpages, однако и по сей день я нередко встречаю связанные с этим грубые ошибки даже в коде опытных разработчиков, что в коммерческих проектах, что в открытых. Поэтому давайте поговорим о важном еще раз.

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

Старый фотик + bash = таймлапс

Блог компании RUVDS.com Разработка под Linux *Фототехника Видеотехника DIY или Сделай сам
Tutorial

Думаю у многих из нас, в шкафу пылился старый зеркальный фотоаппарат, типа Canon EOS 400D. Он как чемодан без ручки: выбросить жалко, продать смысла нет, и использовать вряд ли будешь. Достал его так одним вечером, и подумал: вещь хорошая и вполне годная для всяких опытов. И сразу загорелся применить его во всяких своих самоделках. А что, весьма хорошо фотографирует из коробки, достаточно широкий спектр всяких регулировок, осталось только научиться с ним работать. Всего-то подружить его с компьютером, да Linux, и дело в шляпе! В результате у нас получается просто непаханое поле для фотографических экспериментов и применения в своих придумках. Давайте же поглядим, как это можно сделать и что получилось из таких экспериментов.
Читать дальше →
Всего голосов 113: ↑112 и ↓1 +111
Просмотры 23K
Комментарии 92

OTA обновление устройств с Linux

Настройка Linux *Разработка под Linux *Разработка для интернета вещей *Разработка на Raspberry Pi *Интернет вещей
Tutorial

OTA A/B обновление образа rootfs для IoT устройств с Linux при помощи проекта Mender. Как обновить образ системы на множестве удалённых устройств. Демонстрация на примере Raspberry Pi.

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

Модификация ядра Linux: добавляем новые системные вызовы

Блог компании RUVDS.com Ненормальное программирование **nix *Разработка под Linux *
Перевод

В этой статье мы научимся изменять ядро Linux, добавим собственные уникальные системные вызовы и в завершении соберем ядро с новой функциональностью.
Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Просмотры 8.8K
Комментарии 14

Принцип работы планировщика задач в Linux

Блог компании RUVDS.com Системное администрирование **nix *Разработка под Linux *
Перевод

Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить.
Читать дальше →
Всего голосов 48: ↑45 и ↓3 +42
Просмотры 9.7K
Комментарии 15

Сборка Linux и CPSS на отладке Marvell RD-AC3X-48G4X2XL-A с Ethernet-коммутатором Prestera DX

Open source *Сетевые технологии *Lua *Разработка под Linux *Производство и разработка электроники *
Tutorial

Мы подготовили статью-гайд для пошаговой сборки и запуска базовой прошивки с CPSS на отладочной плате Marvell RD-AC3X-48G4X2XL-A. Эта плата предназначена для проектирования и отладки управляемых коммутаторов до 48 портов. Чем она примечательна для инженера-разработчика? У нее на борту установлен коммутатор Marvell Prestera DX 98DX3257 с мощной СнК семейства Prestera. А Ethernet-коммутаторы Prestera DX позволяют реализовать 5G при самой низкой в отрасли мощности и занимаемой площади. 

А что касается CPSS, то это базовый программный уровень для железа Marvell Prestera или, другими словами, Core Prestera Software Suite. CPSS используется в проекте Open Compute Project как часть открытой операционной системы SONiC. Эта операционка расширяет функции центра обработки данных в сложных системах, например, в системах интеллектуального хранения данных и машинного обучения.

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

Разработка кроссплатформенного ядра геометрического моделирования

Блог компании АСКОН *nix *CAD/CAM *Разработка под Linux *

В августе мы, команда C3D Labs (АСКОН), впервые выпустили версию геометрического ядра C3D для отечественной операционной системы Astra Linux, пополнив список поддерживаемых дистрибутивов Линукс. На данный момент ядро геометрического моделирования C3D может быть использовано в разработке ПО на широком спектре операционных систем: кроме Windows — это MacOS, IOS, FreeBSD и несколько Linux-дистрибутивов. Также SDK ядра предоставляет большое разнообразие компиляторов: MSVC 2012 — 2019, GCC 4.8 — 7.2, Clang 6.0 — 10.0.

Так было не всегда. В 2012 году, когда ядро C3D выделилось из состава САПР КОМПАС-3D как отдельный продукт, оно работало только для нескольких версий компилятора MSVC и, разумеется, только под ОС Windows. Но ядро развивалось, со временем к нему стали предъявляться требования и пожелания, которые мы не могли игнорировать, если хотели иметь действительно лучший продукт в своем классе. Ниже рассказ о том, как мы портировали ядро на различные ОС и платформы.

Подробнее про разработку ядра
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 1.7K
Комментарии 3

Архитектура приложения моего защищенного чата

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

В этой статье я хочу описать архитектуру своего приложения. Здесь будут представлен как графический клиент, так и сервер.

Оба приложения написаны на C. Это мой любимый язык и на нем я бы хотел писать код, если смогу когда нибудь устроиться на работу программистом. Попользовавшись ubuntu я понял что старые версии софта, это не хорошо. Например у меня несколько источников звука и микрофонов. И в ubuntu при каждой новой загрузке нужно переключать источник от наушников в источник телевизор. Также и микрофон. Как я обрадовался, что в opensuse нет с этим проблемы и доступна библиотека gtk4, которую я так давно ждал. Я мог писать приложение в gnome builder, что я иногда делаю, но в gnome builder мне не удалось сделать так, чтобы заработала библиотека ffmpeg. И как обычно я пишу в vim.

Итак. Я уже привык к объектной философии gobject и чувствую себя кофмортно в разработке. В gtk4 много изменений произошло. Например я раньше в gtk3 в text_view в сигнале "draw" выполнял функцию gtk_widget_queue_resize ();. и так получалось что это подгоняло размер под нужный, перед рисованием текста, но в gtk4 нельзя подключиться к методу отрисовки. И тогда я решил сделать свой виджет. Но свой виджет не нужно делать прям с нуля. В документации ясно сказано, что gtk_drawing_area как раз предназначен для custom виджетом.

Вот список файлов, которые учавствуют в проекте gui secure chat.

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

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов

Python *Разработка мобильных приложений *Разработка под MacOS *Разработка под Linux *Разработка под Windows *
Tutorial

Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим как создать и анимировать контент для слайдов а также сделать parallax эффект для фонового изображения с помощью фреймворка Kivy и библиотеки KivyMD.

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

Linux Page Cache для SRE: основные файловые операции и syscall'ы (часть 1)

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

В этой серии постов я хотел бы поговорить о Linux Page Cache. Я считаю, что данные знания теори и инструментов жизненно необходимы и важны для каждого SRE. Общее понимание как работает Page Cache помогает и в рутинных повседневных задачах, и в экстренной отладке на продакшене. При этом Page Cache часто оставляют без внимания, а ведь его лучшее понимание. как правило, приводит к:

- более точному планированию емкости системы и лимитов сервисов и контейнеров;
- улучшенным навыкам отладки приложений, интенсивно использующих память и диски (СУБД и храанилища данных);
- созданию безопасных и предсказуемых сред выполнения специальных задач, связанных с памятью и/или вводом-выводом (например: сценарии резервного копирования и восстановления, rsyncоднострочники и т.д.).

Я покажу, какие утилиты вы можете использовать, когда имеете дело с задачами и проблемами, связанными с Page Cache, как правильно к ним подходить, и как понять реальное использование памяти.

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

Дебажим U-boot на реальном железе

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

Продолжение предыдущей статьи, в которой мы ускорили разработку под embedded linux. Рабочая станция + sftp сервер + nfs сервер ускорили на порядок (10х) доставку изменений кода на целевое железо. Теперь не нужно часами компилировать код. В этой статье продолжаем очеловечивать разработку. На этот раз прикручиваем полноценную графическую IDE и пошаговую отладку кода на целевом железе с помощью программатора J-Link. Но пока только загрузчика U-boot. И автоматизируем развертывание рабочей среды разработчика с помощью Docker.

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

Компиляция без предупреждений — что случилось в Linux-сообществе

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

Пару недель назад Линус Торвальдс активировал флаг -Werror для всех сборок ядра. Мнения сообщества касательно этого решения разделились. Против даже высказался разработчик фронтенда Clang и фреймворка LLVM. Обсуждаем ситуацию.

Читать далее
Всего голосов 28: ↑25 и ↓3 +22
Просмотры 30K
Комментарии 41

Кросс компиляция пакета для роутера на примере Qbittorrent

Open source *Программирование *Компиляторы *Разработка под Linux *

Добрый день друзья. Как-то мне захотелось установить Qbittorrent на мой роутер который оснащен OpenWRT. Конечно создатели OpenWRT уже предусмотрели возможность сборки кастомных покетов об этом можно почитать вот тут: https://habr.com/ru/company/ruvds/blog/530984/ . Но данный способ очень долгий, приходится скачивать исходники OpenWRT, компилировать тулчайн и прочее. И я подумал а почему-бы просто не скачать тулчайн и собрать проек обычным образом под катом мой опыт.

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

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