Как стать автором
Поиск
Написать публикацию
Обновить
Вадим @BigDflzread⁠-⁠only

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

Отправить сообщение

Установка Windows через CMD

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

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

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее

Плохие JOIN’ы: приемы, которые (нечаянно) кладут прод

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

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

В этой статье разбираем один из самых коварных способов убить базу — плохие JOIN'ы. Казалось бы, простое дело: связать пару таблиц — и вперёд. Но если в ON засунуть LOWER(email), забыть про индексы или перепутать LEFT JOIN с INNER — сервер мигом начнет дышать на ладан.

Читать далее

Как спроектировать потокобезопасный класс в Java

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

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

Читать далее

Как переносить «висячие» слова на следующую строку с помощью JavaScript

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

Для автоматического предотвращения переносов после коротких слов можно использовать JavaScript, который заменяет обычные пробелы на неразрывные пробелы ( ) после определённых слов.

Читать далее

document.currentScript: что такое и с чем едят

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


Сначала я недооценил document.currentScript, но оказалось, что он отлично подходит для передачи параметров конфигурации прямо в теги <script> — и это далеко не все.


Порой я натыкаюсь на давно существующие браузерные API в JavaScript, о которых, по идее, я должен был узнать гораздо раньше. Например, window.screen или метод CSS.supports(). К счастью, я понял, что не один такой. Помню, как однажды упомянул window.screen в посте и получил неожиданно много комментариев от людей, которые тоже впервые о нем слышали. Это меня немного приободрило — я почувствовал себя не таким уж глупым.


Видимо, дело не в том, как давно существует API, а в том, насколько он полезен в реальных задачах. Если window.screen почти нигде не используется, о нем легко забыть.


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

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

Новый способ стилизации отступов в CSS

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

Попрощайтесь с хаками в виде бордеров и псевдоэлементов и поздоровайтесь с CSS gap decorations.

Команда разработчиков Microsoft Edge рада сообщить, что CSS gap decorations - новый способ стилизации отступов между элементами flex, grid и многоколоночных макетах - теперь доступны для пробного использования разработчиками в Chrome и Edge 139!

Попробуйте его и поделитесь своими отзывами, чтобы помочь сформировать будущее этого API.

Читать далее

Netbeans 26 C++ (clang/clangd) + build system

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

Всем привет. Стал нужен IDE минимальный, и я вспомнил, что есть Нетбинс. Скачал мне он очень понравился - удобный, но чего-то не хватает.

Как сделать рабочим Нетбинс 26(с++, clangd), когда какой-то модуль, который раньше в плагинах работал теперь не работает. Давайте рассмотрим этот нюанс.

Читать далее

Руководство по администрированию Linux для начинающих

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

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

Читать далее

Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM

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

Это текстовая версия доклада с HighLoad++ 2024, с которым выступал один из наших бывших девелопер-адвокатов @RustamKuramshin Также есть отдельная запись доклада, сделанная силами участников программного комитета HighLoad++.

Читать далее

Отпечаток браузера: принципы, реализация и способы противодействия

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

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

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

Читать далее

Автоматический подбор браузером контрастного цвета в CSS

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

Вам когда-нибудь хотелось, чтобы можно было написать простой CSS для объявления цвета, после чего браузер сам бы определял, чёрный или белый должен сочетаться с этим цветом? Теперь это возможно благодаря contrast-color(). В статье мы объясним, как это работает.

Представьте, что вы разрабатываете веб-сайт или веб-приложение, и в дизайне требуется куча кнопок с разными цветами фона. Для обработки цвета фона можно создать переменную --button-color, а затем присваивать ей разные значения.

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

Читать далее

Компьютерные сети «под капотом»: детальный разбор по уровням OSI и TCP/IP

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

На собеседованиях часто задают знаменитый вопрос, узнаваемость которому по большей части дал facebook*: «Что происходит после того, как вы вводите URL сайта в адресную строку браузера и нажимаете Enter?». Несмотря на кажущуюся простоту, этот вопрос покрывает широкий спектр тем – DNS, TCP/IP, HTTP, и даже работу браузера. Разработчики разных уровней иногда теряются в деталях ответа. Понимание этого процесса важно для инженеров – оно показывает, как взаимодействуют между собой различные сетевые протоколы и уровни. Ниже мы шаг за шагом рассмотрим, как данные проходят через каждый слой сетевого стека, и проиллюстрируем это примерами.

Читать далее

Как делать внешние редиректы с JavaScript?

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

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

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

Читать далее

Меню для отзывчивого интерфейса без скриптов

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

В этой статье мы расскажем как создать отзывчивое меню по принципу mobile-first, используя только HTML и CSS — без JavaScript. Полный код, используемый в этой статье, доступен в репозитории на GitHub.

Читать далее

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

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

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

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

Читать далее

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

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

При тестировании на проникновение крайне важно обращать внимание на наличие 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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Зарегистрирован
Активность