Как стать автором
Обновить
Вадим @BigDflzread⁠-⁠only

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

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

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

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

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

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

Читать далее

Современные способы переключения контента

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



Тот, у кого из всех инструментов есть только молоток, склонен на любую проблему смотреть, как на гвоздь.
Абрахам Маслоу

Мы склонны использовать знакомые решения. Когда речь заходит о переключении контента, мы обычно используем свойства display: none или opacity: 0 с добавлением JavaScript. Однако современный веб стремительно развивается, и, возможно, настало время рассмотреть другие подходы к переключению контента — узнать, какие нативные API на сегодняшний день поддерживаются, их достоинства и недостатки, а также некоторые нюансы, о которых мы могли и не подозревать (включая псевдоэлементы и другие малоизвестные вещи).

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

Настройка UEFI-загрузчика. Самое краткое руководство в мире

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

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

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

Ускоряем кэш серверы YouTube. Не VPN

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

Недавно попалась статья на Хабре — «Решаем проблему устаревания кэширующих серверов. Смотрим на телевизоре. Не VPN» от автора @CyberexTech проделал все шаги по ней, но с моим провайдером YouTube не заработал. Соответственно решил опробовать другие решения, одно из которых в итоге сработало, настроил его также через Raspberry Pi. В этой статье делюсь опытом настройки на случай, если решение от @CyberexTech у вас не сработало.

Читать далее

CSS Grid Layout: Асимметричная резиновая сетка

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

В веб-дизайны сетки, как в Pinterest уже давно не являются чем-то новым. Но что, если нужно сделать блоки различной высоты, при этом сохранив адаптивность. Оказывается, это можно сделать, используя только стандартные возможности CSS Grid Layout.

Читать далее

Как линейная алгебра помогла мне в разработке интерактивного редактора диаграмм

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

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

Читать далее

Установка программы модификации сетевых пакетов NFQWS на роутер Keenetiс

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

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

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

Читать далее

Хитрости для программистов: пять команд Linux, с которыми ваша жизнь не будет прежней

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

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

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

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

Читать далее

Умный принт-сервер: печать и скан без драйверов на старых принтерах + финансирование опенсорса

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

TL;DR: из-за отсутствия «умных» принт-серверов на рынке сделал собственное устройство, позволяющее печатать и сканировать на старых USB-принтерах через Wi-Fi и Ethernet, с любого смартфона и компьютера под любой ОС, без установки драйверов (AirPrint/Mopria). Девайс включает не только распространённые открытые драйверы, но и проприетарные, в режиме эмуляции x86-кода, plug&play.

Особенностью проекта является со-финансирование открытого ПО: разработчики сервера печати CUPS и сканирования SANE/AirSane получают по $2 с каждого проданного устройства, а оставшиеся деньги формируются в пул, для улучшения существующих открытых драйверов и написания новых.

Читать далее

OffscreenCanvas в JavaScript: разгоняем графику до максимума

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

Привет, Хабр! Сегодня разберёмся с тем, что такое OffscreenCanvas, зачем он нужен и как правильно его использовать.

OffscreenCanvas — это API, которое позволяет рендерить графику в отдельном потоке Worker, не блокируя основной поток, где обрабатывается интерфейс.

Читать далее

Как поменять фон на видео: делюсь удобными способами, которые попробовал сам

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

Тему для этой статьи мне подсказала двоюродная сестра. Позвонила на днях с просьбой: мол, Рома, подскажи, как поменять фон на видео. Я подумал, почему бы и нет?
Попросил сестренку записать короткий ролик на однотонном фоне (чтобы было проще) и решил протестировать несколько программ. Результатами своих опытов делюсь с вами в статье. Для тех, кто захочет повторить мои эксперименты, написал к каждому способу подробную инструкцию.

Читать далее

Автоматическая подпись во входящих и исходящих письмах в Carbonio

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

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

Читать далее

Раскрытие возможностей асинхронного программирования в Core Java

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


Введение


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

РКН и ФАС выпишут штрафы, если не найдет двух важных согласий на вашем сайте! Вот инструкция, как их составить

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

Год назад штрафы за неправильную обработку персональных данных выросли на сотни тысяч рублей. Например, за распространение персональных данных без согласия клиента организации теперь должны платить от 300 000 до 700 000 рублей. Новость разлетелась в СМИ 23 декабря 2023, но предпраздничное настроение ее отчасти затмило.

Читать далее

VPN: последний выпуск. Завтра об этом писать нельзя

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

Закрываем двери в свободный интернет: завтра, 30 ноября, вступает в силу закон №406-ФЗ запрещающий распространять информацию о способах обхода блокировок.

Кто знает о визитах на Pornhub?
- Какие именно данные сохраняют провайдеры о нас — с VPN и без.
- Что нового запретят обсуждать о VPN (и почему).
- VLESS — замена VPN, которую ещё можно упомянуть (пока).
- ТРИ способа как вычислить, что вы зашли через прокси или VPN.

Читайте, пока это ещё не заблокировали!

Читать далее

PostgreSQL — особенности работы с памятью для 1С-систем. Часть 2

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

Продолжаем исследовать и настраивать память в PostgreSQL. Начало см. здесь.

Будет ешё итретья — заключительная часть, где я постараюсь максимально доступным языком рассказать уже методику выбора настроек. А пока предлагаю набраться терпения и ознакомиться со следующей порцией исследования по выбору настроек оперативной памяти PostgreSQL. Предупреждаю, будет не просто и, наверняка, не каждый доберется до конца.

В первой части были рассмотрены параметры shared_buffers, maintenance_work_mem, autovacuum_work_mem. А сегодня на повестке параметры temp_buffers и work_mem.

Читать далее

Пара слов о вредоносном ПО для Linux и способах защиты вашей системы

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

Если вы следите за последними новостями в области IT‑безопасности, то, возможно, заметили рост числа атак на сетевую инфраструктуру Linux‑систем. Среди основных разновидностей вредоносного ПО, о которых вы должны знать, можно выделить Cloud Snooper, EvilGnome, HiddenWasp, QNAPCrypt, GonnaCry, FBOT и Tycoon.

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

Читать далее

Элегантная реализация Long Press обработчика с помощью CSS анимации

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

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

▎Зачем нужен Long Press?

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

▎Стандартное решение

Реализация обработчиков долгого и короткого нажатия на чистом JavaScript будет выглядеть примерно следующим образом:

Читать далее

Неизвестно полезный CSS. Часть 6

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


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.

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

Тварь ли я дрожащая или право имею? Берем чужие сайты под свой контроль. Часть 2 — Пользовательские скрипты в Chrome

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

Сегодня продолжаем тему написания расширения для Chrome, позволяющего внедрять свой код на чужие сайты, тем самым меняя или дополняя их функционал и внешний вид по своему желанию. Для чего это нужно и чем может быть полезно, рассмотрено в предыдущей части. Также в предыдущей статье были рассмотрены вопросы, касающиеся настройки и подготовки к написанию расширения с использованием Angular 18. Напоминаю, что весь код я публикую в открытом доступе на GitHub.

Читать далее

Информация

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