Search
Write a publication
Pull to refresh
Вадим @BigDflzread⁠-⁠only

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

Send message

Восстанавливаем повреждённый Linux через chroot

Reading time4 min
Views11K

Доводилось ли вам раскупоривать системник с Linux, который не грузится ни в какую – даже  после того, как вы убедились в корректности настроек BIOS и в том, что никаких серьёзных аппаратных ошибок в машине нет?

Если да – то вам просто необходимо изучить chroot. Он станет для вас настоящей палочкой-выручалочкой.

Например, мне пару недель назад удалось таким методом восстановить устройство Nanopore GridION, после того, как мне совершенно не помог официальный метод переустановки через  .iso-файл образа. Поэтому я решил задокументировать проделанные шаги.

Этот метод я нащупал только после того, как Linux более десяти лет был моей рабочей лошадкой (спасибо, Мэтт !). Поэтому у меня есть основания полагать, что этот метод очень полезен и заслуживает вашего внимания. Надеюсь, этим постом мне удастся помочь тем, кому не доставало такого рассказа.

Читать далее

Создание подписанного TLS сертификата с помощью OpenSSL и PowerShell

Level of difficultyEasy
Reading time14 min
Views5.3K

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

Привет, Хабр и читатели! В своей прошлой статье про написание скрипта на PowerShell для отслеживания сроков действия сертификатов я упоминал о том, что, по роду своей нынешней деятельности, мне очень часто приходится разворачивать разные сервисы. Практически все современные сервисы требуют сертификаты безопасности для обмена данными. В этой статье-туториале я расскажу, как создать скрипт на PowerShell, который позволит (и упростит) создавать сертификаты субъекта для сервисов, подписанные вышестоящим root сертификатом, а также будет упаковывать ключи в формат .pfx, создавать цепочку .pem. Статья будет в виде подробного туториала, чтобы охватить как можно больше аудитории (а она разная) и в основном для тех, кто будет это делать впервые и ещё слабо знаком с OpenSSL и PowerShell.

Конкретная демонстрация работы скрипта показана в самом конце статьи с помощью GIFки, и там же (в конце) я поделился полным скриптом. Начнём разбираться?

Займёмся делом

Защита INA226 от обратной полярности

Level of difficultyEasy
Reading time3 min
Views5.1K

Ошибка при подключении источника питания ко входу АЦП микросхемы INA226 и она отправляется в лучший мир. Дальше квест по покупке новой микросхемы, перепайке мелкого SMD корпуса и острое желание предотвратить эту ситуацию в будущем.

Описание схемы защиты от обратной полярности и высокого напряжения на входе, а также расчёты для программной компенсации ошибки измерения.

Читать далее

Как HTTP(S) используется для DNS: DNS-over-HTTPS на практике

Level of difficultyHard
Reading time14 min
Views9.9K

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

Читать далее

Решение проблемы медленной загрузки документов в модуле Диадок на примере УТ 10.3

Level of difficultyMedium
Reading time3 min
Views2.8K

Частный случай повышения производительности работы модуля Диадок на конфигурации УТ 10.3. Испробованы способы типовой оптимизации от 1С путем добавления ресурса в индексированные поля. Но результат дал только способ с нарушением рекомендаций 1С.

Добрый день, коллеги.

Обычно я не пишу статей, но решился на этот опус из соображений массовости использования решения Контура модуль Диадок для 1С. Также понимаю, что многие еще используют УТ 10.3 или УПП и могут сталкиваться с похожей деградацией.

Постараюсь описать решение достаточно подробно, но применять его БЕЗ ПОНИМАНИЯ механизма работы SQL крайне не рекомендую. Решение будет предложено для связки 1С + MS SQL.

Суть проблемы. У нас достаточно большая база (конечно для каждого это свои показатели), с большим количеством объектов и свойств для них. Модуль Дидока в моей связке (УТ 10.3 + Диадок) хранит свои стыковки контрагентов также в регистре сведений ЗначенияСвойствОбъектов. И при загрузке списка документов он в цикле, по каждому документу из списка получает сопоставление с объектом из базы данных (в данном случае Контрагентом) выполняя такой запрос:
 

Читать далее

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

Level of difficultyEasy
Reading time11 min
Views2.7K

Привет, Хабр. Меня зовут Дмитрий, я Frontend-разработчик в компании Webest. В этой статье расскажу, как эффективно использовать семантический HTML, какие теги (от <header> и <main> до <article> и <aside>) действительно приносят пользу, и в каких ситуациях они работают лучше всего. 

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

Читать далее

IPv6 Deep Dive (Cisco)

Level of difficultyMedium
Reading time18 min
Views3.4K

IPv6 (Internet Protocol version 6) – это последняя версия Интернет-протокола (IP), разработанная для решения ограничений IPv4, особенно проблемы исчерпания доступных IPv4-адресов.

Сегодня мы рассмотрим всё до мельчайших деталей на устройствах CISCO.

Протокол IP (Internet protocol) является протоколом сетевого уровня.

В версии 4 мы имеем 32бита для поля адреса.

максимум 11111111 11111111 11111111 11111111 в двоичной системе

или привычное глазу 4 294 967 295.

Что нам предлагает IPV6? 128 бит в поле адреса

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

И в десятичной системе. Т.е 2 в 128 степени. Давайте спросим у ИИ сколько это делает

перейти в IPv6

6 новых возможностей CSS, которые должен знать каждый front-end разработчик в 2023 году

Level of difficultyEasy
Reading time2 min
Views27K

Мощные и стабильные CSS фичи, которые вы можете использовать уже сегодня.

Я считаю, что каждый front-end разработчик должен знать, как использовать container query, создавать привязку к прокрутке, избегать position: absolute с помощью grid, быстро создавать круг, использовать каскадные слои и достигать большего с помощью логических свойств. Эта статья — описание каждой из 6 новых возможностей CSS.

Читать далее

Что нужно знать о современном CSS (весна 2024 года)

Level of difficultyMedium
Reading time15 min
Views33K

Цель этого руководства — познакомить вас со списком новых (потрясающих) возможностей, недавно появившихся в CSS.

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

Читать далее

Создаём HTTP-сервер на Java NIO

Level of difficultyEasy
Reading time4 min
Views6.8K

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

В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.

Читать далее

Git для самых маленьких. От первой команды до настройки SSH

Level of difficultyEasy
Reading time8 min
Views34K

Жизнь каждого человека начинается со слова "мама".

Дорогой читатель, твой путь начнется со слова "git".

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

Читать далее

Внутренняя кухня UEFI: что это такое и как мы готовим его в YADRO

Level of difficultyMedium
Reading time18 min
Views30K

Привет, Хабр. На связи Сергей Пушкарёв, я руковожу отделом разработки BIOS в YADRO. Расскажу об устройстве UEFI и его применении в компании. Мы разрабатываем и выпускаем разные аппаратные платформы: серверы, системы хранения данных, клиентское и телеком-оборудование. 

Один из «кирпичиков», который обеспечивает инициализацию и функционирование оборудования, — это BIOS (но правильнее говорить UEFI 🙂). В статье кратко разберем историю этой системы и ее современную реализацию — UEFI. Также поговорим о подходе к разработке и отладке этого ПО в YADRO.

Вы узнаете, зачем нам нужна «синяя коробка» Intel, как мы прошиваем BIOS и проводим диагностику «в полях».

Читать далее

Верстка для ленивых: как перестать бояться CSS и начать верстать как супергерой

Reading time3 min
Views13K

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

Читать далее

Как уменьшить боль от this в классах javascript

Level of difficultyMedium
Reading time8 min
Views2K

На службе была поставлена задача подготовить и передать клиенту js-библиотеку, которая состояла из несколько классов. Каких-то особых трудностей не ожидалось, поскольку библиотека использовалась в нашей конторе уже не один год и была тщательно оттестирована.

Я «причесал» код, перенёс захардкоженные значения и магические числа, которые неизбежно накапливаются в программе при выполнении «очень срочных и важных заданий», в аргументы методов и переменные классов, отредактировал и дополнил документирующие комментарии и уже собирался отправлять пакет клиенту.

Но одна вещь останавливала меня — часть методов ключевого класса для обращения к другим свойствам и функциям своего класса использовала this. Кайл Симпсон удачно назвал такие методы this-aware functions. И неправильный вызов этих функций мог создать проблемы для разработчиков клиента.

Читать далее

Пишем свой загрузчик операционной системы Linux

Level of difficultyMedium
Reading time23 min
Views26K


Меня давно интересовал вопрос, насколько сложно написать собственный загрузчик операционной системы. Я не говорю о простой программе, выводящей «Hello, World!», а о полноценном загрузчике, который передаёт управление от встроенного программного обеспечения компьютера ядру операционной системы. Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации.


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

Читать дальше →

Разработка пользовательских агрегатных функций для аналитики в MySQL

Level of difficultyEasy
Reading time7 min
Views1.1K

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

Вы когда-нибудь писали аналитические запросы в MySQL и понимали, что встроенных функций вам не хватает? Хотите посчитать медиану зарплат? 99-й процентиль времени ответа запросов? Собрать JSON-массив прямо в базе данных?

В MySQL нет MEDIAN(), PERCENTILE_CONT() и нормального способа объединить данные в JSON. Всё приходится делать через костыли.

Решение? Написать собственную агрегатную функцию на C++, которая будет работать так же, как SUM() и AVG(), но делать то, что вам реально нужно.

Читать далее

Как ускорить Maven сборку без переезда на Gradle

Level of difficultyMedium
Reading time12 min
Views3.3K

С ростом размера Maven проекта встает вопрос скорости сборки и выполнения тестов. Один из самых очевидных способов оптимизации - переезд на другую систему сборки (например, Gradle). Однако перед тем как переезжать (что неизбежно создаст новые проблемы - об этом в конце) давайте поговорим о том, что мы можем сделать для ускорения, оставаясь на Maven. Тем более что многие советы нам пригодятся в любом случае, даже если переезд в итоге и состоится.

Мы начнем с простого, поговорим про кеши и build-сканы и затем заглянем под капот Maven, чтобы понять, как найти и устранить узкие места, а также детально сравним с Gradle. Эффект от каждого совета по отдельности может быть и не такой заметный, но в совокупности ускорение может быть в разы!

В рамках этой статьи мы поговорим в основном про оптимизацию компиляции.

Погнали

CSS в 2025: какие фишки теперь доступны?

Level of difficultyMedium
Reading time6 min
Views19K


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


В начале января 2025 года мне захотелось посмотреть, какие новые фишки CSS стали поддерживаться современными браузерами за прошлый год. Провести некий срез, что уже можно использовать. И тут меня посетила мысль: «А почему бы не поделиться новинками на Хабре?». Вот я и пришёл.


Сразу скажу, что эта статья — краткий обзор появившимся возможностей. Моя цель — уведомить вас. Я не буду закапываться в принцип работы и другие нюансы. По этой причине, пожалуйста, воспринимайте эту статью как список, что можно изучить в 2025 году.


Для составления списка я использовал сайт «Can I Use». Брал те новшества, которые стали «зелёными» в 2024 году. Смотрел последние версии браузеров Chrome, FireFox, Opera, Edge, Safari, iOS Safari, Samsung Internet и Android Browser.


Не буду больше тянуть. Давайте посмотрим, что я вам подготовил.

Читать дальше →

Сложно о простом. Как работает интернет. Часть 2. Что такое сеть, маска подсети, сегментация сети с помощью VLAN и маски

Level of difficultyEasy
Reading time12 min
Views79K

Приветствую, коллеги! Меня зовут @ProstoKirReal Мне бы хотелось с вами обсудить как работает интернет от кабелей на витой паре, соединяющие простые локальные сети до подводных коммуникационных кабелей соединяющие между собой континенты и основные операторские сети.

В предыдущей статье я рассказывал о коммутаторах, маршрутизаторах, их основных различиях и назначении, а также разбирал работу простых сетей на примере сетей с сетевым концентратором (хабом) и коммутаторами.

В этом цикле статей я не стану учить вас настраивать оборудование и проектировать сети. Я расскажу об основных (и не только) принципах построения сети, а также о функционировании сети и сетевых протоколов в стеке TCP/IP.

Я буду часто ссылаться к предыдущим статьям, где уже описывал сетевые протоколы. Это позволит мне сократить объемный текст. 

Читать далее

HashMap под микроскопом

Level of difficultyEasy
Reading time6 min
Views11K

Эта статья будет полезна новичкам в разработке или тем, кому нужно освежить знания перед собеседованиями. Как ни странно, но вопросы о том, как устроен HashMap, всё ещё встречаются среди интервьюеров.

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

Читать далее

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity