Обновить
2
0
ASP@ASP

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

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

Универсальный парсинг сайтов на Python: requests vs headless, токены, куки, прокси и ротация IP

Время на прочтение7 мин
Охват и читатели12K

Вы когда-нибудь радовались идеальному прототипу парсера, который у вас летал на демо-странице, а в проде внезапно начал ловить 403, 429, пустые HTML и «куда-то делись карточки»? Контент отрисовывается на JS, сервер требует токен, после смены IP, старая сессия перестаёт работать.

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

Читать далее

Как мы ломали и собирали API заново. Уроки одного проекта

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

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

Хочу на основе одного проекта поделиться личным опытом: как от полного хаоса в разработке и управления API в виде спецификаций в Confluence мы пришли к удобному и понятному процессу с OpenAPI-спеками и кодогенерацией.

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

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

Читать далее

DHCP: настройка серверов, Relay и анализ трафика в Wireshark

Время на прочтение16 мин
Охват и читатели12K

Приветствую! В любой сети устройства должны получать IP-адреса, шлюзы и DNS-серверы, чтобы корректно обмениваться данными и иметь доступ в Интернет. Конечно, можно настраивать всё вручную, но в реальной жизни это неудобно и часто приводит к ошибкам. На помощь приходит протокол DHCP (Dynamic Host Configuration Protocol). Его задача проста - автоматически раздавать клиентам все необходимые сетевые параметры, включая IP, маску подсети, шлюз и DNS.

В этой работе мы подробно разберём, как работает DHCP, от процесса обмена сообщениями DORA (Discover, Offer, Request, Acknowledge), через анализ сетевого трафика в Wireshark, до настройки DHCP-сервера на MikroTik и Ubuntu-Server. Мы также рассмотрим дополнительные возможности протокола, такие как DHCP Relay, который позволяет обслуживать клиентов в других подсетях.

Читать далее

HTML- и CSS-советы для джуниор фронтенд-разработчиков

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели15K

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

Я начинал изучать вёрстку в 2010 году. Я не знал английский, поэтому у меня был ограниченный набор материала. Кто помнит видеоуроки Попова?

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

Я собрал несколько советов. По моей задумке, если вы обратите внимание на эти аспекты, то ваш код будет лучше.

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

Читать далее

Личный топ методов Pandas

Время на прочтение2 мин
Охват и читатели10K

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

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

Читать далее

IPAM-системы: почему Excel больше не спасает и что выбрать в России

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

Любая сеть растёт быстрее, чем ты успеваешь её документировать. Сначала у тебя десяток серверов и пара коммутаторов, можно вести учёт адресов в табличке. Но как только устройств становится сотни, а IP‑адресов тысячи, Excel превращается в минное поле.

Проблемы начинаются банально:

Один инженер раздал IP вручную, второй занял тот же диапазон под тест, подсеть легла. Забыли зафиксировать, кому выдан адрес, и теперь никто не понимает, что за «сервер Х» висит в мониторинге. Конфликт VLAN и вся смена сидит без CRM.

Классика. Если нет централизованного учёта, сеть рано или поздно начнёт «жечь костры».

Именно для этого придумали IPAM (IP Address Management) — системы, которые берут на себя:

Читать далее

Разрешения MAX для Android. Cравниваем с Telegram и WhatsApp*

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели205K

Всем привет!

Я, на свой страх и риск, решил установить себе MAX и посмотреть, а что же происходит после установки? По итогам моего исследования будет минимум 2 статьи.

Это - первая статья. В ней я сравню разрешения, которые запрашивает приложение MAX для Android с разрешениями, которые запрашивают Telegram и WhatsApp.

Читать далее

Как мы снизили время отклика в 15 раз на новом портале ВДНХ через Laravel + Nuxt и масштабируемую архитектуру

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели8.3K

Привет! Я Алексей Постригайло, старший партнер крупного ИТ-интегратора.

В этой статье я расскажу о технических деталях масштабной работы, которая была проделана перед тем, как новый сайт ВДНХ объединил все проекты выставки на одной платформе.

Читать далее

Коротко про виды авторизации

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели9.5K

Эта статья будет интересна тем, кто особо не заморачивался, как устроена авторизация в бекенде, но хочет очень быстро въехать в тему. Мы не будем погружаться в самые недры реализации, но точно поймем как это работает и как прикрутить это на практике. Я буду использовать python и FastAPI, просто потому что так проще показать, но эти подходы работают и для других языков/фреймворков.

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

Быстро срыть тему с авторизацией

Кубернетес для норм пацанов

Уровень сложностиСредний
Время на прочтение72 мин
Охват и читатели9.8K

Для сетевиков от сетевика

Там внизу, под катом, повествование о том, как сетевик кубернетес с Calico настраивал

Читать далее

Postman + Newman — как быстро запускать свои тесты

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.8K

Если надоело открывать Postman и вручную запускать каждую коллекцию или проверять эндпоинты по очереди, то решение есть — Newman, терминальный раннер от команды Postman. Его функционал позволяет:

автоматически выгружать все коллекции и окружения,

запускать их прямо из командной строки,

получать отчёты для анализа или интеграции в CI/CD.

В этом кейсе покажу путь от экспорта коллекций до автоматического прогона тестов через Newman CLI.

Читать далее

Звонки через Jabber в докер-контейнере за 5 минут

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели29K

В свете сами знаете чего, свой приватный мессенджер и возможность звонков на XMPP стали как никогда актуальны.

Есть быстрый и простой способ: за несколько минут вы поднимаете собственный Jabber-сервер. Дальше — дело техники: рассылаете приглашения маме, бабушке, теще, жене и соседке Даше. После этого можно спокойно звонить и переписываться в защищённом мессенджере, который полностью под вашим контролем.

Звонки идут в зашифрованном режиме, работают p2p. А если у собеседника хитрый NAT, то на помощь автоматически приходит встроенный STUN-сервер.

Клиенты есть под все платформы: Android, iOS, Windows, macOS и Linux.

Читать далее

Сложно о простом. Все, что бы вы хотели знать о SFP модулях. Часть 1. Эволюция модулей и базовые понятия

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели31K

Приветствую, коллеги! Это снова @ProstoKirReal. В прошлом цикле статей я с вами обсуждал работу интернета (Часть 1, Часть 2, Часть 3, Часть 4, Часть 5), но я специально обошел стороной самую важную часть – как биты данных передаются по локальным сетям между компьютерами и через интернет между материками.

Я начинаю новый цикл статей. В нем мне бы хотелось с вами обсудить SFP‑модули. Что это такое, какие типы бывают (и чем они отличаются), какую роль играют оптические кабели и немного затронем историю их развития.

Информации очень много. Точного объема статей я пока не знаю, но обещаю разложить все по полочкам максимально емко и понятно.

Читать далее

Легчайший бот на Python, который переводит ваш голос в текст

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

Всем привет! Недавно вдохновилась всякими ботами в тгшке и решила для будущего портфолио сделать своего первого бота + подумала, что может быть это будет полезно кому-то из вас :-)

В этой статье разберём теоретические основы (базу) для его создания и сам код с понятными комментариями к нему.

Читать далее

Оператор «NOT IN» и коварный NULL

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

Порой, очевидные вещи таят в себе удивительные сюрпризы. Казалось бы, простые SQL конструкции: «IN» и «NOT IN». Что тут обсуждать-то?

Читать далее

Как я полюбил LESS, избавился от копипасты в CSS-коде, сделал его безопаснее, а разметку семантической (часть 2)

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели6.5K

В первой части я рассказывал об основах LESS: переменных, миксинах, и некоторых приёмах. А сегодня мы поговорим о вещах, оставшихся в прошлый раз нераскрытыми...

Читать далее

500 заметок, 80% мусора. Как привести Obsidian в порядок за 1 час без плагинов?

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

Что делать, если хранилище захламлено? Подскажем как быстро сортировать хранилище с большим количеством заметок, картинок и документов.

Без плагинов! (ну пару упомяну удобных)

Экономим время!

Как правильно обезличить ПДн

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.2K

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

1) Прямые идентификаторы удалены

Что это: ФИО, телефоны, e-mail, паспорт/ИНН/СНИЛС, точный адрес, ID устройств/аккаунтов.
Как сделать: выгрузите список полей и проверьте, что этих столбцов нет (или они очищены/заменены кодами, не связанными с реальными данными).
Инструменты: Excel (фильтр по названию колонок), DLP/регэксп-поиск по шаблонам.
ОК, если: в наборе нет явных персональных полей.

Читать далее

Автоматическая сортировка файлов на Python: из хаоса в порядок одной командой

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

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

Скрипт в статье:

- Автоматически сортирует файлы по 9 категориям
- Поддерживает 50+ форматов файлов
- Предоставляет гибкие настройки

Читать далее

Как я поймал сетевика на передаче пароля в SSH и чем это закончилось

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели66K

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

Как всё началось

Обычный рабочий день. Я проверял список процессов на сервере (ps aux) и вдруг вижу:

```bash

sshpass ‑p 'Qwerty123' ssh admin@10.0.5.21

Пароль. В открытом виде. В командной строке.

Подошёл к коллеге...

Читать далее

Информация

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