Pull to refresh
3
0.5

WEB-программист, сетевой администратор

Send message

Архитектура сетей Zigbee

Level of difficultyMedium
Reading time9 min
Views8.4K

Технологии беспроводной связи традиционно ассоциируются с сетями WiFi и мобильной связью. Однако, в последнее время все большую популярность в промышленных сетях и Интернет вещей (IoT) набирает беспроводной протокол ZigBee. В этой статье мы поговорим о построении сетей на основе протокола ZigBee.

Читать далее

Эти CSS-техники устарели

Level of difficultyMedium
Reading time6 min
Views19K


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


Общаясь с коллегами, я заметил, что они незнакомы с последними возможностями CSS. Как обычно, у всех свои причины. У кого-то много повседневной рутины. Кому-то в принципе неинтересно, что нового происходит в CSS. А кто-то по привычке использует подходы десятилетней давности и ему норм.


Как фанату CSS, мне грустно. Сколько же прикольных вещей проходит мимо них. Да и их код может быть меньше, надёжнее и проще для понимания. В общем, я собрал несколько фрагментов кода, которые были популярны давным-давно, и переписал их с помощью новых возможностей CSS.


Давайте посмотрим, что я вам подготовил.

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

Использование DevTools. Гайд для дизайн-ревью и не только

Level of difficultyEasy
Reading time5 min
Views2.6K

Дизайн-ревью —достаточно важная вещь, которая требует внимания, когда фронтенд-разработчик сверстал новую фичу, блок или целую страницу. Вовсе не для pixel perfect, который «как задизайнили, так и сверстали» — пиксель в пиксель. Pixel perfect в десктопе — это чушь, потому что нельзя сверстать так, чтобы с разных браузеров (привет, Safari) и разрешений всё смотрелось идеально. Но ошибки, которые сразу бросаются в глаза, сразу подмечаю, структурирую и обсуждаю это с разработчиком, может, появились какие-либо ограничения и прочее. Поэтому никогда не жалею время на дизайн-ревью и через DevTools сам проверяю то, что сверстал разработчик.

Все инструменты и функциональность, о которых пойдёт речь в этой статье, можно найти в браузере в «Инструментах разработчика» (клавиша F12 / Ctrl + Shift + I (на Windows) или ⌘ + ⌥ + I (на Mac), или клик правой кнопкой мыши в любом месте страницы -> Выбор пункта меню — «Просмотр кода страницы» (или «Исходный код страницы») — это и есть DevTools).

Основной элемент для работы с девтулзами — «Инспектор» (Ctrl + Shift +C на Windows и ⌥+⌘+I на MacOS) — это инструмент поиска элементов на странице браузера.

Читать далее

Кратко про XHTTP для VLESS: что, зачем и как

Level of difficultyMedium
Reading time8 min
Views19K

Просили нас тут рассказать про протокол технологию XHTTP в контексте XRay, VLESS и прочих. Просили — рассказываем!

Для начала немного истории. Классическое использование VLESS и подобных прокси‑протоколов (в том числе с использование XTLS‑Reality) предполагает подключение клиента напрямую к прокси‑серверу, который крутится на каком‑нибудь VPS. Однако во многих странах (и в России тоже) под блокировки (или замедления) начали попадать подсети популярных хостеров целиком, а в других странах цензоры начали отслеживать подключения к «одиночным» адресам с большим объемом трафика. Поэтому еще с давних времен обдумывались и проверялись идеи подключения к прокси‑серверам через CDN (сети доставки контента). Чаще всего для этого использовался websocket‑транспорт, но у этого варианта есть два больших недостатка: у него есть один характерный признак (не буду указывать его тут, чтобы не облегчать работу РКН), а во‑вторых, число CDN, которые поддерживают проксирование вебсокетов, не так уж велико, и хотелось бы иметь возможность проксироваться и через те, что не умеют.

Поэтому сначала в известном проекте Tor для бриджей (мостов) придумали транспорт meek, который позволял передавать данные с помощью многочисленные запросов‑ответов по HTTP, и таким образом позволял подключаться к мостам (прокси) через любые CDN. Чуть позже этот же транспорт реализовали в ненадолго воскресшем из мертвых V2Ray. Но у meek есть два очень существенных недостатка, которые вытекают из его принципа работы: скорость работы очень низкая (по сути дела у нас полудуплексная передача и огромный оверхед на постоянные запросы‑ответы), и из‑за огромного количества GET/POST‑запросов каждую секунду, бесплатные CDN довольно быстро могут нас выгнать на мороз, а платные — выкатить солидный счет.

Читать далее

Учимся читать SQL SELECT

Level of difficultyEasy
Reading time21 min
Views14K

Я отчётливо помню, как сидел на втором курсе на лабах по БД и долго и мучительно методом научного тыка подбирал порядок слов в SELECT-запросе с GROUP BY, чтобы он вернул нужный мне преподу результат. Потому что я не понимал, как работает SELECT, хотя был прилежным (на программистских курсах) студентом, ходил на все лекции и делал лабы за себя и пару "тех парней".

Двадцать лет спустя, когда я встал по ту сторону баррикад и начал сам вести лабы по БД, я столкнулся с той же самой проблемой уже у своих студентов. И, так как за двадцать лет я всё-таки понял, как работает SELECT, то придумал для них способ объяснения, который работает хорошо (в моей практике).

Читать далее

Infrastructure-as-Code — разбираемся в терминах и смотрим на реализацию в Яндексе

Reading time13 min
Views5.8K

Привет! Это Николай Гриценко, ведущий технический менеджер в Yandex Infrastructure — команде, которая создаёт и развивает внутреннюю инфраструктуру Яндекса, от сетей и дата‑центров до инфраструктуры разработки. Я занимаюсь направлением Internal Developer Platform (IDP). Вместе с коллегами мы много разрабатывали наши собственные инструменты по оркестрации выкладки кода.

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

Читать далее

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 2

Level of difficultyEasy
Reading time11 min
Views7.8K

Часть 2: Настройка GitHub Actions и GitLab CI – первый workflow и деплой

В первой статье мы разобрались с основами CI/CD: что это такое, зачем нужно и какие инструменты существуют. Теперь пришло время перейти от теории к практике – создадим наши первые рабочие CI/CD-конвейеры на GitHub Actions и GitLab CI.

Читать далее

Где бесплатно хостить пет-проект с собственным доменным именем

Level of difficultyEasy
Reading time3 min
Views26K

У меня есть несколько персональных пет-проектов, где я тестирую различные технологии, сервисы и библиотеки или упрощаю собственную жизнь (например, персональный трекер с единственным пользователем — мной). Иногда хочется захостить эти проекты за пределами личного ноутбука, а еще лучше если есть возможность прикрутить собственный домен, чтобы можно было делиться с другими людьми. Так как все это абсолютно не коммерческие истории, то платить деньги за хостинг не очень хочется. Раньше для таких целей я пользовался Heroku, но еще несколько лет назад они закрыли бесплатный тариф. В очередной раз столкнувшись с желанием захостить свой проект я решил изучить вопрос.

Найденные варианты я собрал в табличку, актуальную на май 2025. ChatGPT o3 наврал в ответах, поэтому пришлось добавлять, фильтровать и перепроверять данные вручную. К сожалению, приходится сравнивать «яблоки с попугаями», потому что каждый Cloud провайдер рассчитывает стоимость хостинга немного «по‑своему» и включает в бесплатный тариф только часть функциональности.

Читать далее

Гайд на полиморфизм. Основные идеи

Level of difficultyMedium
Reading time24 min
Views14K

Полиморфизм — сколько в этом слове красивого и даже таинственного. Происходит от греческого πολύμορφος что означает — многообразный.  В программировании это понятие встречается часто и  обыденно для понимания большинством программистов. Но так ли это на самом деле? 

Читать далее

Задачи на собеседованиях. Денежные переводы в SQL. Обновление счетов и уровни изоляций

Level of difficultyMedium
Reading time4 min
Views25K

Задачи на собеседованиях. Денежные переводы в SQL. Обновление счетов и уровни изоляций

Задача перевода денег в первом приближении сводится к обновлению пары строк и кажется простой — но обеспечение корректности при параллельном доступе может быть неожиданно сложным для только знакомящихся с уровнями изоляций БД.

Читать далее

Веб-студии создавали сайты, но тут пришли нейросети. Как ИИ меняет правила игры

Level of difficultyEasy
Reading time8 min
Views14K

В 2025-м нейросети стали чем-то большим, чем просто инструменты. Это уже инфраструктура. Они умеют всё — от генерации сайтов и UI до видео со звуком и автоматизированных CRM. Но главное — они делают это быстрее, чем мы привыкли. Разбираем, кто сейчас в топе AI-инструментов и почему вокруг них такой шум.

Читать далее

Резервное копирование PostgreSQL по-взрослому

Level of difficultyMedium
Reading time7 min
Views20K
image

Базы данных — замечательный инструмент, без которого сложно представить современное приложение. И как бы сильно я ни любил использовать БД, я просто ненавижу писать SQL-запросы. Поэтому однажды задался вопросом, кто мог бы делать это за меня, при этом несильно теряя в качестве. И, конечно же, на ум пришёл мой AI-друг. Тогда остаётся одна проблема, как скормить ему мою БД. Тут на помощь приходит резервное копирование! Выполнив все необходимые задачи, я решил углубиться в тему и поделиться с Хабром, какие вообще есть виды и, конечно, сравнить их между собой.
Читать дальше →

Настраиваем много виртуальных рабочих столов (Spaces) на macOS

Level of difficultyEasy
Reading time3 min
Views3K

Настраиваем рабочие столы (Spaces) на macOS.
Не всем нужно сразу несколько мониторов, часто удобнее использовать один.
О том, как делать это эффективно, читайте далее.

Monitor Wall Stock photos by Vecteezy

Читать далее

Ошибки, которые можно избежать в SQL: грабли начинающего аналитика

Level of difficultyEasy
Reading time5 min
Views5.7K

Привет Хабр! Меня зовут Алёна, я middle-продуктовый аналитик. В свободное время я рассказываю о реальных задачах с работы и делюсь материалами для тех, кто хочет стать аналитиком.

Если ты только начинаешь писать SQL-запросы — вот твой анти-фейл лист: с примерами, пояснениями и короткими лайфхаками, как не получить ошибку из-за лишнего JOIN или пропущенного WHERE.

Читать далее

Настройка VLAN на MikroTik без лирики [ROS7]

Level of difficultyMedium
Reading time6 min
Views14K

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

На схеме — два управляемых коммутатора, маршрутизатор и рабочие станции в разных VLAN, а между коммутаторами и маршрутизатором — trunk-соединения по 802.1Q. Каждой VLAN — своя IP-подсеть, маршрутизация — централизованная.

Будет полезно сетевым инженерам, системным администраторам и всем, кто хочет внедрить VLAN в инфраструктуру.

Читать далее

Основные команды GIT

Level of difficultyEasy
Reading time23 min
Views11K

Научись использовать Git как профессионал. Эта статья поможет тебе освоить самые популярные команды Git на реальных примерах. Узнай, как добавлять изменения, создавать коммиты, переключаться между ветками, объединять изменения и синхронизировать проект с удалённым репозиторием.

ОГОГО, что там далее!? ...

Учимся безболезненно переносить и клонировать серверы

Reading time5 min
Views11K

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

По катом расскажу, как перенести сервер с помощью снапшота и прямой передачи данных по сети — без создания образов и остановки сервисов. Метод подойдет и для облака, и для выделенных серверов.
Читать дальше →

Установка macOS или как сделать из своего пк Хакинтош

Level of difficultyMedium
Reading time24 min
Views13K

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

Давно я откладывал написание данной статьи, но время пришло.

В интернете есть довольно много материалов по тому, как запустить macOS на обычных, IBM-совместимых, ПК. Проблема их ровно таже, что и в случае с wine, о котором я тоже делал свою статью - они слишком... мало посвящают в детали того, как вообще создавать установочный носитель и что нужно делать после установки.

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

Перед тем как начать, я бы хотел немного просветить тех, кто не в курсе о том, что такое Хакинтош.

Хакинтош - это процесс установки macOS на обычные ПК. В чём сложность?

Все макбуки используют своё железо(во всяком случае сейчас, в 2025 году), раньше они пользовались другими процессорами - в классических макинтошах использовали процессоры от Motorola. В поздних моделях встречались процессоры от IBM PowerPC(в этот период они назывались PowerMac). А в начале нулевых компания Apple перешла на процессоры Intel. В этот период и появилась система, которая нам интересна больше всего - OSX, позже переименованная в macOS.

Читать далее

Гайд по совмещению 5 работ: инструкция по самоуничтожению

Level of difficultyEasy
Reading time6 min
Views72K

Недавно наткнулся на гайд по двум работам в IT. Я сразу же подумал, а почему только 2 работы? Это же какое-то раздолбайство. Где гайд по 3–4–5 работам? Совсем не хотят работать блогеры. Поэтому я решил написать свой гайд на Хабр.

Читать далее

История создания Boulder Dash

Level of difficultyEasy
Reading time26 min
Views1.4K

Мы поговорили с создателем Boulder Dash Питером Лиепа (Peter Liepa) о его классической игре в жанре экшен/головоломка.

Если вы хотя бы отдаленно интересовались компьютерными играми в восьмидесятые годы, есть все шансы, что вы слышали о Boulder Dash. Эта игра в стиле аркады мгновенно завоевала успех после своего первого выхода в 1984 году, и тысячи игроков по всему миру подсели на её продуманное сочетание экшена и решения головоломок.

Читать далее

Information

Rating
3,500-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity