Pull to refresh
2
0
ASP@ASP

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

Send message

Декораторы в Python для начинающих с домашним заданием

Level of difficultyMedium
Reading time18 min
Reach and readers10K

Привет, Хабр! Если вы работаете с Python дольше пары недель, вы наверняка сталкивались с конструкцией, начинающейся с символа @. Это декораторы — мощный инструмент, который делает код чище, читабельнее и соответствует принципу DRY (Don't Repeat Yourself). Но за элегантным синтаксисом скрывается несколько ключевых концепций языка, которые важно понимать.

Читать далее

Дорогие джуны, не делайте так. Коллекция плохих привычек в HTML и CSS

Level of difficultyMedium
Reading time7 min
Reach and readers21K

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

Давно я ничего не писал для джунов. А ведь HTML и CSS не стали проще для них. Всё так же есть сложности, и мне надо как-то помочь людям.

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

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

Читать далее

Система персональных шпаргалок прямо в терминале

Level of difficultyEasy
Reading time5 min
Reach and readers13K

Привет, Хабр! Часто ли Вы сталкиваетесь с необходимостью искать в закладках/заметках "ту самую" важную, но редко необходимую команду? git log, который Вы не использовали полгода или спасительный docker compose с десятком флагов. Нередко подобный поиск превращается в пятиминутный квест.

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

Читать далее

Kubernetes на пальцах: самое простое объяснение, что это такое

Reading time7 min
Reach and readers35K

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

Если вы только начинаете знакомство с Kubernetes и хотите понять, с чего начать, эта статья для вас. Разберем, какие задачи он решает, какие у него основные объекты и как можно управлять кластером без сложных команд в терминале. Подробнее читайте внутри.

Читать далее

Процесс регистрации/авторизации пользователя по номеру телефона через Telegram

Level of difficultyEasy
Reading time4 min
Reach and readers8.7K

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

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

По предварительным исследованиям целевая пользовательская аудитория продукта является пользователями мессенджера Telegram. Вот в эту сторону я и начал думать. “Коробочный” механизм авторизации через виджет Telegram не отдает номер телефона пользователя, а нам именно он и нужен. Городить велосипед по получению номера телефона по id пользователя идея не самая лучшая, поэтому я решил сделать своего ТГ-бота для механики авторизации. Я на паре сайтов уже видел подобные решения, быстрый поиск по примерам реализации этой механики не дал внятных результатов. При поиске “авторизация telegram” я наткнулся на сайт, который был первым в поисковой выдаче. Пошел смотреть как у них все устроено, рассмотрим по шагам:

Читать далее

От техлида до IT-директора: как растут лидеры в корпорациях

Reading time18 min
Reach and readers9.3K

Привет! На связи Андрей Ефремов из МТС Web Services. Стать крупным IT-руководителем было моей мечтой — мне было интересно, как и за счёт чего люди становятся директорами, вице-президентами, и я нащупывал собственный путь. В 2009 году я стал IT-менеджером, а сегодня руковожу крупным кластером «Развитие инфраструктуры», и мне по-прежнему интересно расти. За это время я понял: универсального маршрута нет, но есть общие вехи, узкие места и рабочие принципы.

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

Читать далее

Разбираемся с DDD: как проектировать доменный агрегат, чтобы он не стал безразмерным

Level of difficultyMedium
Reading time17 min
Reach and readers9.3K

Последние 4 года я занимаюсь реализациейпроектов на PHP по DDD, используя слоистую архитектуру. Каждый раз я сталкиваюсь с одной из самых насущных проблем DDD: определение границ агрегата. Ведя разработку «как удобно», очень легко не заметить, как вся бизнес логика сосредоточилась в один «божий класс».

В этой статье я поделюсь своим опытом, как проектировать и разрабатывать по DDD, не скатываясь в «один агрегат, чтобы править всеми». Поговорю о проблемах определения границ агрегата и цены чтения, гидрации и содержания больших объектов в памяти PHP процесса.

Читать далее

Забудь про облачные подписки! Полный переход с Google Photos на Immich. Мой личный опыт

Level of difficultyEasy
Reading time13 min
Reach and readers47K

Привет! Сегодня вам расскажу, как я полностью отказался от Google Photos и настроил своё собственное хранилище фотографий на базе Immich с кучей функций, не уступающих тем, что есть у популярных представителей данных сервисов.
Это не обзор ради обзора, а мой реальный кейс. У меня дома стоит свой собственный домашний сервер, который я собрал не так давно, куда я уже перенес все свои фотографии и видео.

Читать далее

Уволить куратора курса: автоматизация сопровождения студентов с помощью n8n

Level of difficultyEasy
Reading time7 min
Reach and readers13K

В этой статье я показываю, как заменить рутинную работу куратора курса простым сценарием в n8n. Всё делается через Google Sheets и Telegram-бота, без строчки кода. Текст написан специально для работников образования и гуманитариев — повторить сможет каждый.

Смотреть мануал

DevTools как инструмент тестировщика

Reading time9 min
Reach and readers6.6K

DevTools - это не только инструмент разработчика, но и один из самых доступных и широко используемых инструментов тестировщика. Про DevToold существует уже немало различных статей и материалов, но тут постаралась собрать наиболее интересное и применимое в работе тестировщика.

Читать далее

От Basic Auth до OIDC: тестирование аутентификации и авторизации для QA-инженеров

Level of difficultyMedium
Reading time7 min
Reach and readers5.4K

Представьте, что аутентификация — это ключ от дома, а авторизация — список комнат, в которые этот ключ открывает дверь. В современных приложениях простой ключ-пароль заменяется сложными системами: токенами, OAuth 2.0 и OIDC.

Я, Екатерина, QA Lead в «Лиге Ставок», покажу, как с помощью инструментов тестирования проводить базовые проверки: тестировать валидность токенов, отслеживать их обновление и проверять корректность прав доступа.

Это руководство из трех частей поможет систематизировать знания и применять их в работе — от основ до реальных кейсов.

Часть 1: Эволюция аутентификации

От Basic Auth к токенам: как развивались методы проверки подлинности и почему простой авторизации стало недостаточно.

Часть 2: Современные стандарты

Single Sign-On (SSO), OAuth 2.0, форматы токенов — разбираем основные протоколы и механизмы авторизации.

Часть 3: Практика для QA

Реальные примеры тестирования: инструменты и методы для базовые проверки безопасности аутентификации и авторизации.

Читать далее

Патчим Chrome для работы с YouTube

Level of difficultyEasy
Reading time9 min
Reach and readers76K

Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как NoDPI написанной на питоне (большое спасибо @Lord_of_Rings!). Сегодня я хочу представить вам (почти) свою разработку, не требующую ни питона ни прокси. Мы будем патчить прямо на диске библиотеку chrome.dll - входяющую в пакет Chrome на Windows и лежащую в директории "C:\Program Files\Google\Chrome\Application\140.0.7339.208\chrome.dll". Цифры могут меняться в зависимости от версии. Данный патч занимает всего 8 байт и после него у нас появится YouTube.

Читать далее

3 скрипта для диагностики Вашего Linux-сервера

Level of difficultyEasy
Reading time8 min
Reach and readers12K

Привет, Хабр! Уверен, многие сталкивались с тормозами сервера, долгой загрузкой страниц. Логи молчат, нужно искать виновника. Системный мониторинг демонстрирует, что CPU вроде не загружен, память не полностью израсходована, а отклик системы оставляет желать лучшего.

В такие моменты стандартных утилит вроде top или htop часто недостаточно, нужен более детальный анализ. С этим мне приходится периодически сталкиваться, из-за чего и были написаны 3 bash-скрипта. Они дают сбор ключевых метрик системы для дальнейшего разбора.

Читать далее

С чего начать? 10 учебных проектов на Python для вашего GitHub

Level of difficultyMedium
Reading time13 min
Reach and readers15K

Написал статью с подборкой пет-проектов на Python.

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

Читать далее

Pytest. Гайд для тех, кто ни разу про него не слышал

Level of difficultyEasy
Reading time24 min
Reach and readers18K

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

Всем интересующимся — добро пожаловать под кат!

Читать далее

Собираем логи с Loki

Reading time13 min
Reach and readers198K


Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов.


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

Асинхронность vs. многопоточность: что выживет в эпоху No GIL?

Reading time14 min
Reach and readers19K

Хватит спорить — пора запускать и сравнивать.

Тестируем реальные сценарии, измеряем RPS, смотрим на потребление памяти и разбираемся, когда самая разумная стратегия — это просто подождать и обновить Python на free-threading версию. 

Привет, Хабр! Меня зовут Игорь Анохин, я — руководитель платформенной разработки в K2 Cloud и более 8 лет программирую на Python. 

Читать далее

Изучаем Python: модуль math для начинающих с практическим домашним заданием

Level of difficultyEasy
Reading time8 min
Reach and readers9.2K

Базовых арифметических операторов в Python хватает не всегда. Как только задача выходит за рамки простого сложения или умножения, в дело вступает стандартный модуль math. Но как им правильно пользоваться и какие возможности он скрывает?
В этой статье мы структурно разберем один из самых фундаментальных модулей Python. Поговорим о корректном импорте, рассмотрим ключевые константы (pi, e, inf) и подробно разберем самые востребованные функции: от sqrt и pow до тригонометрии и логарифмов. Весь материал — строго по делу, без "воды" и с практическими примерами.
В конце вас ждет домашнее задание из трех задач разного уровня сложности, чтобы закрепить теорию на практике. Будет полезно как начинающим разработчикам, так и тем, кто хочет систематизировать свои знания.

Читать далее

Телеграмм бот на Python aiogram 3. Часть 1

Level of difficultyEasy
Reading time9 min
Reach and readers11K

В этом пошаговом руководстве пишем простого эхо-бота с нуля. Используем современный стек: Python и асинхронный фреймворк aiogram 3. Главная особенность — разбираем новый, актуальный на 2025 год, способ регистрации бота через Mini App в @BotFather, который пришел на смену старым консольным командам.

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

Читать далее

Паттерны программирования при работе с LLM

Level of difficultyMedium
Reading time6 min
Reach and readers11K

LLM - мощный инструмент, но его эффективность в продакшене зависит не от одного «хитрого промпта», а от всей архитектуры: что мы даём модели, как управляем её рассуждением и как проверяем/обрабатываем результат. В этой статье - компактная карта паттернов, разбитая по этапам конвейера: Input -> Reasoning -> Output.

Читать далее

Information

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