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

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

Send message

Скользящие метрики без тормозов: SQL

Level of difficultyEasy
Reading time4 min
Views1.5K

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

Скользящие метрики — это must-have в аналитике, но даже простые на первый взгляд вычисления могут парализовать вашу СУБД. Сегодня рассмотрим, почему стандартные оконные функции зачастую тормозят, как их можно оптимизировать через явные фреймы, когда выгоднее писать агрегаты вручную, как использовать предагрегированные таблицы и как проверять корректность расчётов на границах окон.

Читать далее

Тестирование на проникновение: Tomcat

Reading time6 min
Views3.4K

При тестировании на проникновение крайне важно обращать внимание на наличие Apache Tomcat — одного из самых популярных веб-серверов. Изначально Apache Software Foundation разработала Tomcat как платформу для демонстрации технологий Java Servlet и JavaServer Pages (JSP), которые служат основой для Java веб-приложений. Со временем, Tomcat расширил свои возможности, чтобы поддерживать дополнительные Java веб-технологии.

Кроме того, одной из заметных особенностей Tomcat является поддержка развертывания веб-приложений с помощью файлов WAR (Web Application Archive). Эти файлы содержат в себе все компоненты веб-приложения — код, страницы и другие файлы, что значительно упрощает процесс развертывания. Tomcat позволяет пользователям загружать и запускать эти WAR-файлы, предоставляя возможность размещать свои приложения в интернете.

Помимо WAR-файлов, Tomcat также поддерживает развертывание JSP-страниц. JSP — это технология, позволяющая разработчикам создавать динамические веб-страницы с использованием Java. Tomcat способен выполнять эти JSP-страницы, что делает его универсальной платформой для хостинга самых разных веб-приложений.

По умолчанию Tomcat поддерживает использование WAR-файлов и JSP-страниц. Однако администраторы могут настраивать параметры для обеспечения безопасности и контроля над загрузками файлов, тем самым повышая общую защищённость сервера.

Оглавление

- Настройка лаборатории

- Установка

- Конфигурация

- Enumeration

- Эксплуатация с использованием Metasploit Framework

- Ручная эксплуатация (Reverse shell)

Читать далее

Обходим проверку сертификата SSL

Reading time2 min
Views208K

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

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

На пальцах про WebRTC на примере своего мессенджера

Level of difficultyEasy
Reading time9 min
Views6.8K

Сегодня разберёмся, как сделать видеозвонки — ту самую фичу, без которой сложно представить современное общение в 2025 году, на примере реализации мессенджера.

Для этого мы познакомимся с WebRTC — технологией, которая позволяет приложениям устанавливать прямое соединение друг с другом для обмена аудио, видео и другими данными. Это мощный, но местами капризный инструмент, который требует понимания архитектуры, сигналинга и сетевых нюансов вроде NAT и ICE.

Читать далее

Сканирование баркодов c помощью камеры и внешних устройств в Compose

Level of difficultyMedium
Reading time6 min
Views1.2K

В этой статье рассмотрим, как сканировать баркоды в Android — приложениях, а также как в Compose работать с камерой (предпросмотр и логика сканирования), а также и как поддерживать внешние сканеры.

Читать далее

Параллельный цикл на worker. Многопоточность JS

Level of difficultyMedium
Reading time7 min
Views3.8K

Как применить worker для ускорения параллельных вычислений на JS. Постарался подробно и понятно разобрать как работают worker, как общаться с ними. Показал пример многопоточного вычисления значений массива и сравнил производительность различных методов обработки массивов.

Читать далее

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

Reading time4 min
Views9.6K

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

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time14 min
Views4.7K

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

Привет, Хабр и читатели! В своей прошлой статье про написание скрипта на 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
Views8.9K

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

Читать далее

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

Level of difficultyMedium
Reading time3 min
Views2.6K

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

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

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time11 min
Views2.4K

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

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

Читать далее

IPv6 Deep Dive (Cisco)

Level of difficultyMedium
Reading time18 min
Views3.2K

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.6K

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

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Views32K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time18 min
Views29K

Привет, Хабр. На связи Сергей Пушкарёв, я руковожу отделом разработки 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. И неправильный вызов этих функций мог создать проблемы для разработчиков клиента.

Читать далее

Information

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