Обновить
445.07

Linux *

Пишем под *nix

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

Из истории технологий: откуда взялся Unix

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

Сегодня многие полагают, что «Unix» и «Linux» — это одно и то же. Но по состоянию на 2024 год с большинством дистрибутивов, которые мы причисляем к «Unix» и «Linux» ситуация почти так и обстоит.

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

Читать далее

Как оптимизировать размер контейнерного образа в Docker

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

Введение


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

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

Made in China: вышел новый дистрибутив китайского Linux — Deepin 23

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

Привет, Хабр! Это Виктор Сергеев из МТС Диджитал. Сегодня поговорим о Deepin 23 — дистрибутиве Linux, 15 августа был опубликован релиз. Его особенность — фокус на развитии графического окружения Deepin Desktop, который называется Deepin 2Environment (DDE). Еще ОС выделяется наличием 40 собственных пользовательских приложений, включая музыкальный проигрыватель DMusic, видеоплеер DMovie, систему обмена сообщениями DTalk, инсталлятор и центр установки программ Deepin Software Center. Подробности о новинке и ее возможностях — под катом.

Читать далее

Как извлечь данные из Linux с помощью C++ и Qt. На примере приложения с прогнозом погоды

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

Привет, Хабр! Меня зовут Михаил, я backend-разработчик в SimbirSoft. Хочу поделиться с вами опытом получения различной информации в ОС Linux для использования в своих целях.

Представьте, что нам нужно написать приложение «Погода», которое берёт из сети температуру, влажность и прочие параметры и отображает для пользователя. Было бы неплохо, чтобы оно само определяло, где мы находимся. Но как это сделать? Легко!

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

- навигационные данные (долготу, широту, высоту);

- сведения о сетевом соединении (название, тип, уровень сигнала Wi-Fi);

- заряд батареи;

- информацию о хранилище (сколько занято/сколько всего).                                                                  

Стек используемых технологий – C++ в связке с библиотекой Qt (5.12). Задача казалась довольно простой. Но первое впечатление очень часто обманчиво. Особенно в тех случаях, когда вам не приходилось решать подобные задачи. Но обо всём по порядку. Рассмотрим вывод разных видов информации.

👉 Читать далее

Linux Pipes – медленные

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

Я пишу программу для сверхбыстрого кодирования/декодирования азбуки Морзе и использую pipe для передачи данных. При этом pipe работает очень медленно. Давайте разберемся почему.

Читать далее

Logger C++

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

Этот проект представляет собой простую и гибкую библиотеку для логирования на C++. Библиотека поддерживает разные уровни логирования, форматирование сообщений и возможность записи логов в разные потоки.

Читать далее)

Из истории ОС к дню Linux

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

В 1991 год произошли сразу два важных события, сыгравших огромную роль в развитии информационных технологий: 17 мая – день рождения Интернета, а 25 августа – день рождения Linux (один из четырёх).

Когда-то давно под каждый компьютер разрабатывались свои системы, пока не стало ясно - нужно делать операционную систему, менее зависимую от железа. В 1960-х появилась ОС UNIX, а в 1980-х берут начало Windows и UNIX-подобная система от Apple.

Сегодня предлагаем окунуться в историю операционных систем. А бонусом обсудим, почему Doom – это ОС. 

Читать далее

Adwaita-swift: теперь можно писать приложения для GNOME на языке Swift

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

Язык программирования Swift наиболее широко применяется в разработке программного обеспечения для операционных систем от компании Apple. Но не так давно появилась заметка, в которой говорится, что теперь на этом языке можно писать программы, основанные на GTK4+Libadwaita.

В статье рассмотрим несколько небольших примеров, иллюстрирующих применение Swift в разработке приложений для GNOME, а в конце создадим простенький генератор паролей.

Читать далее

find + mkdir полны по Тьюрингу

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

Введение

Мы покажем, что система, имеющая лишь команды GNU find и mkdir, полна по Тьюрингу.

Хорошо известно, что команды sed и awk сами по себе полны по Тьюрингу, но мне не удалось найти информации о Тьюринг-полноте find + mkdir.

Доказательство основано на реализации таг-системы.

Мы по порядку рассмотрим реализацию цикла, FizzBuzz и таг-системы.

Читать далее

Насколько Linux подходит для дизайна UX — мой опыт за год работы

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

В июне 2023 года я начал работать фрилансером в сфере UX-дизайна. Для этого мне требовался компьютер. К сожалению, спустя 7 лет верной службы мой MacBook Pro отправился на покой. И не из-за того, что перестал работать, а потому, что в Apple прекратили поставлять для него обновления безопасности. Просто стало небезопасно выполнять на нём заказы.

Я рассматривал в качестве альтернативы Windows и обнаружил, что в этой ОС постоянно появлялась какая-то новая, отвлекающая реклама; она пропитывалась тёмными паттернами UX и постепенно делала непригодным для использования старое железо.

И я решил, что должен быть более удачный способ, нежели каждые 5 лет выбрасывать свой компьютер и покупать новый.

Хотелось работать за чем-то надёжным, имеющим минималистичный дизайн и созданным с упором на долговечность. Здравствуй, Linux.
Читать дальше →

Большое руководство по сетям и шифрованию трафика в Linux (часть 1)

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

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

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

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

Читать далее

Вирт, Кормен и диалекты Basic: что изучить про алгоритмы и структуры данных разработчикам на С++

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

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

Статьи, лекции и курсы из подборки помогут опытным специалистам «вспомнить все» перед собеседованием или погрузиться в тему алгоритмов, если вы пока в ней не сильны. 

Читать далее

Непонятный rpc, или же первый пэт-проект или DynamicRPC

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

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

Читать далее

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

SVG-виджеты для tcl/tk. Поддержка SVG-файлов. Часть III

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

Вот и наступил тот момент, когда стало возможным при разработке gui на tcl/tk простое использование в качестве иконок графических изображений, хранящихся в svg-файлах:

Читать далее

Библиотека EremexControls.NET для Avalonia UI — Обновление июль-август 2024

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

Мы решили на регулярной основе рассказывать вам о развитии нашей линейки контролов для Avalonia UI. За время, прошедшее с момента предыдущей публикации, появилось несколько интересных моментов и один новый компонент.

Читать далее

Записки bash-скриптера. Листок первый. Сокращённый if

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

Существует огромное количество руководств, статей, видеоуроков по bash. И это очень здорово, но есть одна проблема с ними. Процент материала "для начинающих" среди всего этого богатства стремится к 100, а вот по-настоящему интересных тонкостей касаются не только лишь все.

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

Кому интересно разобраться, что же может быть не так с bash/zsh на этот раз -- добро пожаловать под кат.

Читать далее

Из Linux уберут поддержку десятков ARM-чипов. Что происходит?

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

Привет, Хабр! На связи Виктор Сергеев, редактор «МТС Диджитал». Сегодня обсудим «большую чистку» ядра Linux.

Для начала стоит избавиться от поддержки десятков устаревших ARM-процессоров. Многие чипы почти не используются, смысла в их поддержке в ядре Linux все меньше. Но как их убрать, чтобы изменения прошли безболезненно для пользователей? У одного из самых известных контрибьюторов Linux Арндта Бергмана есть план. Подробности — под катом.

Читать далее

Plug and /pray/ play

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

Plug and pray play

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

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

К чему это я?

Асинхронный телеграм бот на bash, глазами C# программиста

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

В интернете много статей о том, как создавать простых bash-телеграм ботов. Часто это сводиться к вечному циклу, который раз в несколько секунд дергает tg-api. А что, если у меня хотелок больше чем может предоставить такое решение?

Мои пожелания: беседа ведется асинхронно в нескольких чатах, чатов больше чем процессов в приложении, бот помнит на каком этапе находится каждый разговор, процесс написания бота должен хотя бы напоминать работу с популярными ООП языками, бот должен легко масштабироваться на большее число пользователей.

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

Читать далее

Что необходимо знать разработчикам о технологическом комплексе для сборки ПО. Рассказываем об «Альт Платформе»

Время на прочтение3 мин
Охват и читатели671

Компания «Базальт СПО» выпустила «Альт Платформу» — технологический комплекс для сборки программного обеспечения и выпуска дистрибутивов операционных систем. Продукт включен в Единый реестр российского ПО под №21540.

В состав «Альт Платформы» входят:

- доступ к стабильной ветке репозитория (бранчу);

- операционная система ALT Platform Builder, на которой создается рабочее место разработчика и сборочная среда;

- сервис для создания локальной копии репозитория alterator-mirror;

- инструментарий для сборки RPM-пакетов, совместимых с ОС «Альт»;

- набор готовых профилей mkimage-profiles для сборки дистрибутивных образов;

- техническая поддержка от вендора.

«"Базальт СПО" с 2001 года развивает собственную инфраструктуру разработки, на которой создано уже 10 поколений операционных систем. Несколько компаний-партнеров с нашей помощью также разработали на ней свои продукты. Теперь мы оформили эту инфраструктуру в виде продукта "Альт Платформа" и делимся ею с другими разработчиками. Команда "Базальт СПО" обучит специалистов заказчика пользоваться программным комплексом, вести репозиторий и дополнять его сторонним программным обеспечением», — рассказал председатель совета директоров «Базальт СПО» Алексей Смирнов.

«Базальт СПО» (до 2015 года «Альт Линукс») с 2001 года поддерживает репозиторий «Сизиф» — один из крупнейших в мире технологически независимых репозиториев, наряду с Debian, Red Hat и SUSE. Репозиторий формируется из свободного ПО международных проектов и собственных разработок компании. Он находится на территории и под юрисдикцией РФ, поддерживается «Базальт СПО». Это своего рода лаборатория для разработчиков, в которой можно опробовать новые идеи без риска для конечного пользователя ОС. Доступ к пакетной базе «Сизифа» свободный и бесплатный.

Читать далее