Рабочее место 3.0: идеальное место обитания айтишника

Когда работаешь по 16 часов за компьютером, стол перестаёт быть мебелью и превращается в инструмент. Этим инструментом я и занялся. И вот что из этого вышло
WEB-программист, сетевой администратор

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

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

Разбираем самые странные антипаттерны в автотестах на Python: от sleep(0.1) и стрелочек вниз до глобальных курсоров и "фреймворков" на 3500 строк. Почему так делать не стоит и какие есть взрослые альтернативы.

Регулярные выражения (или regex) — это особые текстовые строки, используемые для описания поискового шаблона. В PostgreSQL regex становится незаменимым инструментом, особенно при работе с большими объёмами неструктурированных строковых данных.
Возможно, у кого‑то есть вопрос: «А для чего нам регулярные выражения в БД?» И мы вам ответим:
Регулярные выражения (regex) позволяют описать сложные текстовые шаблоны компактно и гибко.

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

Привет, меня зовут Виталий. Автор телеграмм канала «Детектив данных» про смену профессии и мой вкат в «аналитику» после 30 лет. И да, я уже наверное года полтора использую помощь нейросети при написании кода на Питоне.
Следствие установило, что для получения качественного ответа часто приходится потратить довольно много времени на описание таблицы, где какой тип данных, примеры, формат, количество nan значений, диапазон дат и прочие нюансы.
Будто при допросе вместо описания преступника, следователь внимательно изучает все родинки у допрашиваемого лица. И у адвоката.
В качестве жертвы у нас рабочее время, которое можно потратить на описание задачи.
В какой то момент я подумал, а почему бы не сделать универсальную функцию которая будет собирать эту информацию за меня, и сразу писать какой нибудь универсальный промт, потому что, до кучи мне и его лень писать.
В общем вашему вниманию предлагаю эту функцию. Всё что нужно, это вставить код в ячейку, и в следующей команде указать ваш датафрейм. Принт выведет вам готовый промт с описанием вашей таблицы, расскажет тип данных каждого столбца, покажет примеры значений, диапазоны и количество пропусков, а заодно проверит датафрейм на дубликаты.

Команда Python for Devs подготовила перевод статьи о генераторах множеств в Python. С их помощью можно создавать, преобразовывать и фильтровать множества одной строкой кода. Разбираем примеры, практические приёмы и ошибки, которых стоит избегать.

2025 год оказался богат на поправки в законодательство о персональных данных. Одна часть изменений вступила в силу весной, другая — летом, а некоторые начали действовать только с 1 сентября.
Привет, Хабр! На связи Алёна, аналитик по информационной безопасности в Selectel. В этой статье разберем, что делать владельцам интернет-ресурсов, чтобы избежать штрафов и других санкций. Материал основан на моем опыте работы с регулятором и анализе его публичных разъяснений.

Периодически мне задают следующий вопрос — «Наша компания не имеет базы данный по клиентам, не ведет кадровый учет и вообще не собирает, не хранит и не обрабатывает ПДн. Если клиент прислал нам электронное письмо на корпоративную почту и подписался (ФИО, телефон), является ли это обоснованием считать нас оператором ПДн и обязывает ли выполнять требования 152-ФЗ?»
Короткий ответ: да, ваша компания становится оператором ПДн уже в момент, когда вы настроили корпоративную почту и получили/прочитали/сохранили письмо, содержащее ФИО и телефон отправителя. Это уже «обработка» ПДн (запись, хранение, использование, удаление и т. д.), а вы — лицо, организующее обработку и определяющее её цели и средства (деловая переписка через корпоративный e‑mail). Значит, на вас распространяются требования 152-ФЗ.

Команда Python for Devs подготовила перевод статьи о самых популярных Python-фреймворках и библиотеках 2025 года. FastAPI уверенно догоняет Django и Flask, Requests и Asyncio остаются незаменимыми, а Streamlit и Starlette усиливают свои позиции в нишевых сценариях.

Основная часть работы современных разработчиков ПО1 связана с API: публичными интерфейсами для общения с программой, например, API Twilio. Я потратил кучу времени на работу с API как их разработчик и пользователь. Я писал публичные API для сторонних разработчиков, приватные API для внутреннего использования (или для потребления одной страницей фронтенда), API REST и GraphQL и даже несетевые интерфейсы, например, для инструментов командной строки.
Думаю, большинство рекомендаций по проектированию API слишком уж уходит в тонкости. Разработчики отвлекаются на обсуждения того, что же такое «реальный» REST, правильно ли использовать HATEOAS и так далее. В этом посте я попытаюсь рассказать всё, что знаю о проектировании хороших API.

Команда Python for Devs подготовила перевод статьи о том, как читать Excel в Python быстрее всех. В статье результаты тестирования pandas, openpyxl, Tablib, DuckDB, LibreOffice и даже связки с Rust. Кто справился лучше всех и как за 4 секунды Python «проглотил» полмиллиона строк — читайте в статье.
Привет, Хабр! Меня зовут Максим Уймин, в этой статье я расскажу про почту, про распределенные очереди, немножко про FUSE и файловые системы.

Нас приучили перешептываться в чужих домах. Нам выдали «бесплатные» мессенджеры, где стены имеют уши, владелец может в любой момент сменить замок, а наши самые сокровенные разговоры — просто строчка в логах для анализа рекламным движком. Мы стали цифровыми арендаторами, забыв, что можем строить сами.
Этот текст — не про аренду. Он о том, как выковать ключи, возвести стены и поднять флаг над своей собственной, неприступной цифровой цитаделью. Мы развернем на сервере Selectel полноценный узел связи: Matrix Synapse, сервер звонков Coturn и веб-клиент Element. Никаких контейнеров, никакой магии. Только чистая система, командная строка и стопроцентный контроль.

Асинхронность в Python кажется простой — добавил async/await, и всё летает. Но на практике синхронные вызовы внутри асинхронного кода превращаются в «бутылочное горлышко», блокируя event loop и приводя к непредсказуемым последствиям: от подвисших запросов до деградации производительности. Как разбираться в таком случае и почему важно знать особенности фреймворков в подкате...

В свете небезызвестных событий в законотворческой области, столкнулся с необходимостью организовать канал для звонков внутри семьи, т.к. пользоваться звонками в популярных мессенджерах – значит быть подверженным угрозам со стороны мошенников и спонсировать терроризм, а звонить по мобильной сети с ее ужасным качеством связи (несмотря на все потуги операторов в VoLTE и прочие VoiceHD) в 2025 году – какой-то моветон. А MAX на мои устройства устанавливаться отказался, не знаю почему, я даже не пробовал. Может быть потому что я слишком мало времени провожу в лифте и на парковке?
Что из этого получилось и как повторить — готов поделиться.

С тех пор, как «банда четырёх» ещё в 90-е выпустила свою легендарную книгу «Паттерны объектно-ориентированного проектирования», сами «паттерны проектирования» стали краеугольным камнем всевозможных рассуждений о программной архитектуре. Однако, со временем этот термин становится всё более размытым. Сегодня при упоминании паттернов может иметься в виду:
Назначение этого паттерна: та проблема, для решения которой он предназначен Реализация: точная структура класса или код для воплощения этого паттерна
Рассказывая о «паттернах проектирования в Python, о которых следует забыть», мы имеем в виду как раз реализации. В самом деле, эти паттерны решают реальные задачи. Но в Python решение этих задач ничуть не напоминает те варианты, которые предлагаются на C++ или Java.
Держа в уме эту идею, делаем простой вывод:
Мишка учится лазать по деревьям, чтобы добраться до мёда. Но орлы никуда не лазают, они летают.

Как найти 3D координаты объектов на изображении?
Статья о задаче пространственной локализации объектов на изображении с одной камеры и о её решении с помощью OpenCV

Привет! Меня зовут Андрей, я разработчик из команды контента в Банки.ру.
Как человек, который постоянно изучает новые технологии и читает тонны документации, я давно устал тратить часы на ручное конспектирование. Перепробовал кучу способов — от блокнотов до сложных систем управления знаниями, пока не наткнулся на идеальную связку Obsidian + Zotero.
В этой статье поделюсь своим решением для автоматизации конспектов, которое экономит мне кучу времени и нервов. Если вы тоже много читаете и устали переписывать цитаты руками — эта статья для вас. Расскажу, как за 10 минут настроить систему, которая будет сама создавать красивые конспекты

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