Как стать автором
Обновить
303.68

Linux *

Пишем под *nix

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

Self-hosted URL shortener + Raycast

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров329

Привет Хабр!

Я обожаю сокращать ссылки через собственный URL shortener. Это как clck.ru, только всё работает на собственной архитектуре и данные об использовании никуда не утекают. При этом домен я тоже могу поставить какой-нибудь красивый (к примеру - hdla.cloud).

Читать далее

Новости

Разгоняем Go TLS до 100 Gbps с сервера: опыт Kinescope

Время на прочтение18 мин
Количество просмотров1.3K

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

Мы в Kinescope — те, кто эту магию делает. Видео, которое вы смотрите в интернете, вполне может идти через нашу инфраструктуру — пусть даже вы об этом не знаете. Под капотом у нас: высоконагруженные сервисы, сотни тысяч RPS, терабиты трафика и собственные технологии, написанные на Go.

О том, как мы проектируем и поддерживаем всё это, какие технические вызовы нам приходится решать, и почему HTTPS — это не просто галочка в чеклисте безопасности, — рассказываем в статье по мотивам доклада для GolangConf.

Привет, Хабр! Меня зовут Кирилл Шваков. В Kinescope мы разрабатываем B2B-решение для хранения, обработки, защиты и доставки видео через CDN. Среди наших клиентов — как небольшие стартапы, так и крупные компании. Помимо CDN, у нас, само собой, есть и собственный DNS. А главное, множество инфраструктурных самописных компонентов на Go, которые мы развиваем и поддерживаем внутри команды.

Читать далее

Debian 12, QEMU, и сетевые мосты (bridge) в 2025

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.5K

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

Стоит знать перед началом
- Чем коммутатор отличается от маршрутизатора
- Первые 3 уровня модели OSI
- Хотя бы примерно понимать как работает коммутатор
Без этих знаний возможно у Вас не получится понять и правильно использовать информацию из этой статьи.
Сетевые мосты нужны чтобы виртуальная машина могла взаимодействовать с локальными сетями а не просто иметь доступ в Интернет. Если на Вашей виртуальной машине нужен только Интернет, используйте в QEMU режим сети "user".

Читать далее

Docker + Nginx + Certbot: как я поднял свой сайт-резюме на домашнем сервере

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

Docker + Nginx + Certbot: как я поднял свой сайт-резюме на домашнем сервере, добавил статический контент и в итоге получился полноценный работающий сайт.

Читать далее

«22 года спустя»: распаковываем Linux-мечту гика из 2003 года — новый Sharp Zaurus SL-7500C

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

Недавно я исследовал китайские онлайн-барахолки и наткнулся на лот с продажей абсолютно новых КПК Sharp Zaurus за 4.500 рублей. Будучи прожженным гиком и ярым фанатом всего, что хоть как-то похоже на ноутбук и работает на ARM-процессоре, я не смог устоять и решил приобрести его в свою коллекцию необычных Linux-гаджетов. А поскольку устройство абсолютно новое и опечатанное, я решил оформить распаковку и ретроспективу в виде ламповой статьи!

Читать далее

Жизнь в консоли или как я полюбил боль

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

Много лет был адептом GUI и вот уже ворочу нос от этой смердятины. Всё постоянно давит, всё не нравится. Если открываю VS Code или QtCreator - 10 минут вспоминаю как этом пользоваться. Хочу поделиться с тобой своей историей...

Все на дно!

Кто быстрее? Тестируем скорость языков программирования на Эльбрусе

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

Приветствую! Я разработчик в компании НИЦ ЦТ. Мы разрабатываем операционную систему, адаптированную под российские процессоры Эльбрус. Процессоры Эльбрус работают на своей оригинальной архитектуре, которая имеет свои преимущества и недостатки. В частности, интерпретируемые языки программирования не блещут производительностью. Вот мы и решили провести сравнительное тестирование различных языков, компиляторов и интерпретаторов чтобы выяснить, что лучше использовать для разработки под Эльбрус.

В статье представлены результаты бенчмарка Programming language benchmark, основанного на решении набора задач идентичными алгоритмами, реализованными на разных языках. Это позволяет оценить эффективность генерируемого компиляторами (или интерпретаторами) кода для выбранной архитектуры, поскольку скорость выполнения напрямую зависит от архитектурных особенностей процессора. Учитывая использование одного ядра процессора в тестах, результаты отражают потенциал оптимизации кода на низком уровне для каждого языка программирования в рамках заданной аппаратной платформы. Полученные данные позволят разработчикам делать более обоснованный выбор языка программирования для задач, критичных к производительности, с учетом специфики целевой архитектуры.

Читать далее

Windows Subsystem for Linux теперь open source. Как WSL объединяет Windows и Linux

Время на прочтение4 мин
Количество просмотров9.4K

В мае 2025 года Microsoft сделала важный шаг: исходный код Windows Subsystem for Linux (WSL) выложили на GitHub под лицензией MIT. Авторы проекта подчеркнули, что это решение открывает новые возможности для разработчиков. Обсудим, что такое WSL, почему переход к open source так важен и как эта подсистема сближает Windows и Linux.

Читать далее

Вышла новая версия российской ОС «МСВСфера» 9.6 Что изменилось?

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

10 июня официально вышла новая версия нашей ОС «МСВСфера» 9.6. В этом посте я кратко расскажу о нововведениях этой версии и покажу некоторые из них наглядно.

Читать далее

Почему при аутентификации в Linux пароль хуже ключа

Время на прочтение15 мин
Количество просмотров14K

Привет, Хабр! На связи Кирилл, сисадмин в Selectel. Если вы только начинаете свой путь в системном администрировании, то наверняка задумывались, что происходит «под капотом» Linux при вводе логина и пароля. Давайте заглянем в потроха системы, чтобы: разобраться, как она удостоверяется в подлинности пользователя; сравнить привычные пароли и SSH-ключи; настроить сервер для безопасной работы. Добро пожаловать под кат.
Читать дальше →

Огромный гайд по настройке рабочего окружения: Linux, VScode, Python

Уровень сложностиПростой
Время на прочтение29 мин
Количество просмотров37K

Привет всем!

Как обычно это и бывает, я накопил критическую массу мыслей, и пора их как-то систематизировать, чтобы вы, мои замечательные читатели Хабра, могли что-то извлечь из моего опыта или поделиться своим :)

Я люблю и одновременно ненавижу статьи-обзоры в стиле «10 программ для {whatever}». Ненавижу — потому что их очень легко делать, вбил в гугл «программа для X», взял первые 10 ссылок, статья готова. Я называю такие статьи «лёгкий рейтинг». А люблю я их за то, что даже если 9 пунктов — чушь полная, то десятый, как правило, годный, я узнаю что-то новое, это что-то облегчает мне жизнь и позволяет мне быть более продуктивным.

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

Статья получилась ОГРОМНАЯ, и у меня был большой соблазн разбить её на сотню статей поменьше, чтобы в каждой ставить ссылки на свой телеграм-канал и получать гонорар за каждую по отдельности. Но я не буду. Пусть знания будут сгруппированы вместе. Welcome!

Читать далее

getopts: как писать CLI-утилиты с флагами без внешних библиотек

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

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

getopts — это встроенный в любой POSIX-совместимый Linux/Unix-shell мини-парсер аргументов. Один shebang — и у вас CLI-утилита без единой внешней зависимости. В статье рассмотрим, как выжать из getopts максимум, где он спотыкается и когда пора переехать на getopt или Argbash.

Читать далее

Удаление Ubuntu Dual boot из Windows 11

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

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

Шаг 1: Удаление раздела Linux в Windows.

1. Запустите Windows и введите diskmgmt.msc в диалоговое окно, нажав кнопку Windows+R. Он запустит Windows Он запустит Windows Disk Management.

Читать далее

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

Слишком много открытых файлов

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

Недавно я работал над достаточно большим проектом на Rust. К моему удивлению, мне никак не удавалось заставить тесты работать правильно.

Команда cargo test запускала выполнение всех тестов в репозитории, но спустя пару миллисекунд все тесты завершались сбоями из-за не очень знакомой мне ошибки:

Io(Os { code: 24, kind: Other, message: "Too many open files" })

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

Читать далее

Перенаправления в Angie: return, rewrite и примеры их применения

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

Angie предоставляет широкие возможности по перенаправлению запросов, которые востребованы в большинстве веб‑приложений. В этой статье мы разберём все основные методы перенаправлений: от простых до сложных. Начнём с общего принципа обработки директив в модуле rewrite.

Читать далее

Рассказ о том, как rclone в 4 раза быстрее rsync синхронизирует файлы по сети

Время на прочтение5 мин
Количество просмотров6.7K

Последнюю пару лет я переносил со службы домой и обратно «набор рабочих материалов» — видеофайлы и данные проектов, пользуясь внешним SSD-диском стандарта NVMe с интерфейсом Thunderbolt.

Но, когда я синхронизировал данные, это всегда происходило очень медленно. В обычный рабочий день я могу создать новую папку проекта, содержащую 500-1000 файлов. При этом среди них будут дюжины файлов размером 1-10 Гб.

Мой Thunderbolt-диск способен передавать данные со скоростью, значительно превышающей 5 Гб/с, а 10-гигабитное сетевое соединение, имеющееся в моём распоряжении, может выдать 1 Гб в секунду. Недавно я даже обновил диск до Thunderbolt 5, хотя его и нельзя назвать узким местом моей системы.

Я использовал команду rsync следующего вида для копирования файлов с общего сетевого ресурса, смонтированного на моём Mac, на диск, которому я дал имя Shuttle:

Читать далее

Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.6K

- Зачем идете в горы вы?

Ведь Эльбрус и с самолета видно здорово!

Приветствую! Я Владислав Щапов и я обожаю манулов. А еще я разработчик в компании НИЦ ЦТ, которая разрабатывает операционную систему для российских процессоров Эльбрус. Одной из моих рабочих задач было провести тестирование статического анализатора PVS-Studio для проверки С и С++ кода на Эльбрусе. Эта задачка была непростой и очень напомнила мне восхождение на гору, когда за каждым пройденным испытанием сразу возникает какой-то новый вызов. Но манулы не сдаются!

Читать далее

Полиморфизм, мета-программирование и космическая баллистика: 4 доклада о C++ и Linux Kernel

Время на прочтение3 мин
Количество просмотров3K

Посмотрели за вас все доклады с System Level Meetup и выбрали по два лучших из потоков по Linux Kernel и C++. Для «плюсовиков» приготовили выступления о мета-программировании и девиртуализации в компиляторах. Для тех, кто интересуется ядром Linux — материалы о kernel bypass и чем-то еще. 

Остальные доклады и дискусии собрали в плейлисты, ссылки ищите под катом.

Читать далее

Топ-5 лучших Linux дистрибутивов для пентестера

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

Что такое тестирование на проникновение и оценка уязвимостей? Первым делом после настройки сервера и сети компании необходимо проверить систему на наличие брешей в сетевой безопасности. Специалистам, отвечающим за ИТ‑инфраструктуру школ, библиотек, хостинг‑провайдеров, бизнес‑серверов и небольших компаний, жизненно необходимо проводить тестирование на проникновение. Для этого понадобятся бесплатные инструменты. Специалист, проводящий тестирование на проникновение, называется пентестером, и для атак они часто используют Linux.

Читать далее

Оптимизируем C++ шаблоны: от инлайнинга до модулей

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров3.7K

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

Читать далее
1
23 ...