Pull to refresh
3
0

Пользователь

Send message

Systemd для начинающих: разбор юнитов и их функций

Reading time8 min
Views12K

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

Systemd — это init процесс, который запускается при загрузке ядра операционной системы linux и его задачей является форкать другие процессы. Информацию о том, какие процессы необходимо исполнить он берет из, так называемых “юнитов” (systemd unit - https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html). Юниты бывают различных типов, каждый из которых выполняет определенную задачу.

Читать далее
Total votes 18: ↑15 and ↓3+14
Comments4

Корутины? Простейшая имплементация на C, protothread и Arduino

Level of difficultyEasy
Reading time4 min
Views7.9K

*иногда хочется уйти от управляемых будней

Корутины — это функции, которые могут приостанавливать своё выполнение и возобновлять его позже, сохраняя своё состояние между вызовами. Это позволяет выполнять несколько задач одновременно без необходимости создания отдельных потоков или процессов.

Читать далее
Total votes 14: ↑13 and ↓1+17
Comments17

Rickroll с помощью ESP32. Имитация Bluetooth-клавиатуры

Level of difficultyEasy
Reading time3 min
Views3K

Однажды я узнал про существование микроконтроллеров ESP32, обладающих встроенными Bluetooth и Wi-Fi модулями. Тогда я начал всем рассказывать, какая крутая железка, пока мне ее наконец-то не подарили.

На момент создания материала, такой микроконтроллер можно купить в РФ с доставкой менее, чем за 1000 рублей. Ну не чудо ли?

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

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

На GitHub существует прекрасная библиотека, позволяющая реализовать мою идею.

Читать далее
Total votes 7: ↑4 and ↓3+2
Comments25

Как учить языки программирования и создавать базу знаний с помощью метода из прошлого века: опыт четырех инженеров

Level of difficultyEasy
Reading time10 min
Views47K

Недавно в комментариях к тексту про построение личной базы знаний на Хабре читатель отметил, что в таких статьях не хватает примеров работы с техническими данными. Давайте это исправим. Мы спросили у инженеров YADRO и технарей из сообщества «Цеттелькастен и Персональные базы знаний», как и для чего они ведут свои заметки.  Герои статьи используют Obsidian и Emacs, а также личные Telegram-каналы, чтобы изучать новые языки программирования, проходить технические собеседования и вести рабочие записи.

Для тех, кто пока не знаком с методом социолога Никласа Лумана, в начале статьи рассказали об истории Цеттелькастена и показали, как выглядело хранилище данных полвека назад. Короб с ящиками и карточками стал прототипом современных систем для ведения заметок, которыми пользуются инженеры. 

Читать далее
Total votes 45: ↑42 and ↓3+55
Comments37

Подборка игр с низкоуровневым программированием

Level of difficultyEasy
Reading time5 min
Views34K

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Total votes 67: ↑66 and ↓1+79
Comments26

Немного о NixOS. Часть 1. Общая информация и установка

Level of difficultyMedium
Reading time8 min
Views11K

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

Читать далее
Total votes 11: ↑11 and ↓0+12
Comments19

Эволюция сети Ethernet на витой паре

Level of difficultyEasy
Reading time20 min
Views50K

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

Читать далее
Total votes 138: ↑138 and ↓0+174
Comments109

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Level of difficultyMedium
Reading time8 min
Views276K

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024
Total votes 166: ↑157 and ↓9+173
Comments262

Сценарий автоматической установки Windows без создания второго пользователя группы Администраторы

Level of difficultyMedium
Reading time9 min
Views9.3K

Процесс автоматической установки ОС семейства Windows (7, 8, 8.1, 10, 11) известен многим профессиональным системным администраторам и любителям. В этой статье хочу поделится своим готовым файлом autounnatend.xml, который будет полезен новичкам, а также опишу используемый в нём один трюк. В моём сценарии, по завершении всех этапов установки в системе присутствует только один активный пользователь - Администратор. В зависимости от дальнейших целей использования ПК в дальнейшем, конечно-же можно создать и других администраторов и пользователей с ограниченными правами. Либо не создавать больше никого, а просто переименовать Администратора на своё имя.

Читать далее
Total votes 3: ↑3 and ↓0+4
Comments10

Префиксы is, has, can, should… в нейминге переменных и функций

Level of difficultyEasy
Reading time5 min
Views24K

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

Читать далее
Total votes 70: ↑66 and ↓4+71
Comments56

Почтовый сервер с нуля. Часть вторая

Level of difficultyMedium
Reading time27 min
Views16K

Приветствую всех читателей!

Подошло время для второй части нашей серии статей по настройке почтового сервера. Напомню, что в первой части мы рассмотрели основные моменты, касающиеся настройки почтового сервера, а также конфигурировали Exim4 для корректной отправки почты.

В этой статье мы настроим полноценный почтовый сервер. Использовать будем PostfixAdmin, Dovecot и RainLoop.

Давайте настроим!
Total votes 16: ↑13 and ↓3+12
Comments22

Наше расследование: мониторы LightCom, блогеры и все все все…

Level of difficultyMedium
Reading time14 min
Views24K

Нашу прошлую публикацию про мониторы многие считают началом череды событий, которые взбудоражили российскую радиоэлектронную отрасль в конце 2023 года. Если кто не в курсе, то прочитав нашу статью блогер Максим Горшенин якобы нашёл подлог при получении статуса отечественной продукции для мониторов у компании Лайтком. И хотя это совсем не так, так как история началась намного раньше даже нашей статьи. И самое главное сейчас находится в кульминации, ну а уж развязка этого сериала будет фееричной. Ну а мы решили немного поспойлерить сюжет следующих серий.
Но для начала расскажем кто мы, и для чего мы. Мы – это очень небольшой аналитический отдел в одной очень большой внедренческой компании. Основная наша задача оценивать риски и выверять параметры будущих контрактов. Так что мы больше юристы, чем технари. Но при этом Вольты от Ваттов отличаем, ну а для особо сложных вопросов знаем у кого можно спросить. И так, в начале 2023 года наша компания планировала поучаствовать в одном крупном тендере на поставку техники в одно учреждение. Под планируемый тендер были подобраны товарные позиции от различных поставщиков, которые должны были быть заранее закуплены для того, чтобы в случае выигрыша тендера мы успеть его исполнить в обозначенные сроки. Среди множества позиций были и пресловутые мониторы. Так как тендер был достаточно крупным, то упреждающая закупка была достаточно рискованной и руководством была поставлена задача не облажаться при выборе. Потому мы попросили/купили/нашли большинство из планируемых к закупке позиций от нескольких поставщиков для анализа/разбора в целях минимизации рисков и отсева откровенного палева. И по результатам анализа мы рекомендовали вариант поставщиков и товарные позиции, которые и были утверждены и закуплены. Обычно по нашим рекомендациям мы не получаем вербальной обратной связи от руководства, поэтому иногда публикуем нашу информацию в профильных конференциях. Это позволяет выложить в открытый доступ найденные нами косяки поставщиков, а также получить отклик непредвзятых людей.

Но после публикации первого ролика Горшенина про мониторы в сентябре 2023 года мы-таки получили 100 децибельный фидбек от начальника. И хотя даже наши топы были уверены в том, что в этой истории торчат уши одного отвергнутого поставщика, ситуация усугублялась тем, что тендер проведён, контракт заключен, продукция заказчику поставлена, а вот закрывающие документы ещё не подписаны. И наш заказчик реально хочет весь фарш провернуть назад. А в этом случае мы попадаем не только на деньги за заранее закупленную продукцию, но и на штрафы по контракту. Потому руководством нам была поставлена новая задача во всём разобраться, по возможности успокоить заказчика и указать на виновных. Чем мы, собственно, и начали заниматься...

Читать далее
Total votes 93: ↑46 and ↓47+15
Comments188

Раздача файлов на смартфоны без интернета. Опенсорсные альтернативы AirDrop

Level of difficultyMedium
Reading time7 min
Views14K


Формулировка задачи. У нас есть настольный компьютер и мобильные устройства под Android. Задача простая — как быстро перебросить файлы с компьютера на телефоны и планшеты. Например, скачанные подкасты и HD-фильмы 1080p, файлы apk для установки, рабочие файлы с персоналки, бэкапы. Хранилище телефона можно использовать как резервный внешний диск или как «беспроводную» флешку, которая работает по Wi-Fi.

Конечно, можно это сделать через веб-сервисы Wormhole/PairDrop/FilePizza, через телеграм/вайбер или инструменты синхронизации ПК и смартфона, такие как syncthing. Да, это удобно и привычно. Но процесс можно 1) ускорить; 2) избавиться от подключения к интернету. То есть файлы будут передаваться напрямую между устройствами, как Apple AirDrop, только лучше.
Читать дальше →
Total votes 41: ↑40 and ↓1+57
Comments68

Как работает протокол X11 на самом нижнем уровне

Level of difficultyMedium
Reading time13 min
Views40K

X11 это тот механизм на чем работает весь графический интерфейс Unix подобных ОС.


Но мало кто знает как он работает на самом деле. Потому что с годами он оброс слоями и слоями библиотек, которые стремятся скрыть саму сущность протокола.


А протокол в своей сути прекрасен. Он лаконичен и почти совершенен.


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


А все книги и статьи по использованию X11 описывают это через библиотеки прокладки типа XLib и XCB, и даже, что хуже, GTK или Qt.


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


Как бы то ни было, если кому-то интересно как все работает на самом деле, пожалуйста под кат.

Читать дальше →
Total votes 160: ↑158 and ↓2+197
Comments182

Мониторинг ресурсов сервера под управлением *nix с помошью RRDtool

Reading time6 min
Views9.7K


Доброго времени суток уважаемый %user%! Сегодня я расскажу, как поднять мониторинг железа и системы в реальном времени с использованием набора утилит — RRDtool. Нашей целью является сбор и графической отображение в реальном времени данных о работе системы: загрузка CPU, состояние памяти, загрузка сетевых интерфейсов, а так же температура процессора за различные периоды времени.

Немного теории. RRDtool – набор утилит для работы с кольцевыми базами данных. Такие базы специально созданы для хранения изменяющихся во времени последовательностей данных (сетевой трафик, загрузка CPU) – как раз то, что нам нужно. В дополнение будем использовать демон collectd – это небольшой демон, который занимается сбором статистики ресурсов системы за периоды времени – т.е. и создает необходимые кольцевые базы данных на основе которых при помощи RRDtool мы можем строить графики. Перед установкой допустим что у вас уже установлен и настроен веб сервер, он понадобится для просмотра графиков в браузере. Приступим к установке и настройке.

Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments27

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views88K
image

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

Ещё больше не даёт покоя мне тот факт, что все ядра операционной системы Linux, которые работают на различных устройствах и серверах, собраны из исходного кода, находящегося в репозитории на сайте kernel.org.

Такие разные устройства, а операционная система, работающая на них, собрана из одного и того же исходного кода! Это утверждение, конечно, верно лишь отчасти, так как фактически ядро обычно расширено и модифицировано разработчиками конкретных дистрибутивов Linux, а также разработчиками конкретных устройств, но общего исходного кода достаточно много.

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Total votes 83: ↑82 and ↓1+108
Comments83

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Level of difficultyEasy
Reading time4 min
Views25K

Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.

Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@.

Читать далее
Total votes 52: ↑49 and ↓3+55
Comments4

Ох уж эти CSS-переменные

Level of difficultyMedium
Reading time6 min
Views10K


Я люблю создавать компоненты везде и всегда, поэтому пользовательские CSS-свойства, также известные как CSS-переменные, являются одной из моих любимых фишек, которая позволяет писать более модульный код. При работе с ними я набил достаточно шишек, выпил литры чая и убил кучу времени. Теперь я «мастер», и хочу поделиться своим опытом.
Читать дальше →
Total votes 56: ↑56 and ↓0+56
Comments13

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views158K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.


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


Более удобный формат статьи.

Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments36

Wireshark — подробное руководство по началу использования

Level of difficultyMedium
Reading time8 min
Views219K

Wireshark – это широко распространённый инструмент для захвата и анализа сетевого трафика, который активно используется как для образовательных целей, так и для устранения неполадок на компьютере или в сети. Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.

Читать далее
Total votes 32: ↑30 and ↓2+36
Comments21
1
23 ...

Information

Rating
5,163-rd
Location
Россия
Date of birth
Registered
Activity