Search
Write a publication
Pull to refresh
4
Евгений @Mellornread⁠-⁠only

В настоящее время занимаюсь web-разработкой

Send message

Bloom-фильтры в Postgres: скрытый инструмент для оптимизации запросов

Level of difficultyEasy
Reading time7 min
Views1.9K

В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему. Однако, несмотря на их потенциал, многие разработчики даже не знают, что Postgres поддерживает Bloom-фильтры "из коробки" (функциональность Bloom-фильтров доступна сразу после установки Postgres, при включении соответствующего расширения) через расширение bloom.

Bloom-фильтры особенно полезны в ситуациях, когда нужно быстро проверить, принадлежит ли элемент к множеству, или когда требуется оптимизировать запросы с несколькими условиями. Например, они могут ускорить JOIN-запросы, поиск по нескольким столбцам или агрегатные функции.

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

Читать далее

Почему мы построили монолит на чистой архитектуре. И почему это взбесило системных аналитиков

Level of difficultyMedium
Reading time12 min
Views19K

Привет! Меня зовут Павел Лукьянов, я заместитель CTO в AGIMA. На одной из прошлых работ мы с ребятами попробовали внедрить так называемую чистую архитектуру на монолитном проекте. И это был интригующий опыт. Во-первых, мы начали намного рациональнее подходить к оценке задач. Во-вторых, заметно сократили time-to-market. А в-третьих, сильно разозлили наших аналитиков. Считаю, такими впечатляющими результатами стоит делиться.

Читать далее

Как искусственный интеллект захватит мир всего за 2 года

Level of difficultyEasy
Reading time32 min
Views55K

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

Читать далее

Индексы в убывающем порядке (DESC) и NULLS FIRST в PostgreSQL

Level of difficultyEasy
Reading time4 min
Views2.8K

При создании индексов типа btree в PostgreSQL есть опции DESC и NULLS FIRST. В статье рассматривается как эти опции влияют на производительность и размер btree-индексов PostgreSQL.

По умолчанию индекс строится в возрастающем порядке (ASC), то есть в дереве индекса "слева" меньшие значения, "справа" большие. При создании индекса можно указать обратный порядок: DESC. Свойство ASC и DESC при создании индекса не влияет на эффективность использования индекса планировщиком (ORDER BY ASC или DESC).

Читать далее

Идеальный онбординг

Reading time5 min
Views2.9K

Привет, Хабр! Я Анжелика Тружникова, в РСХБ-Интех я работаю 3 год — тестирую кредитные карты в блоке качества. В этот раз хочу поговорить про онбординг. Как его сделать максимально эффективным? Разберем типы мотиваций сотрудников для определения рабочих инструментов качественного взаимодействия с ними.

Предлагаю начать с термина онбординг. Что это за зверь? Проще говоря, это адаптация сотрудника на новом месте работы.

Читать далее

Влияние источника времени на результат explain в PostgreSQL

Level of difficultyMedium
Reading time7 min
Views3K

При выполнении тестов периодически сталкивался с неожиданными изменениями результатов тестов после рестарта linux и при обновлении версии linux. Причиной оказался источник времени. В статье рассмотрен как влияет источник времени на выполнение команды explain analyze

Читать далее

Стоит ли становиться Fullstack разработчиком

Level of difficultyEasy
Reading time6 min
Views14K

Сегодня я кратко (или не очень) изложу свои мысли о том, стоит ли быть fullstack разработчиком, какие плюсы и минусы у такого пути развития и для кого такое направление выгодно.

Читать далее

Как и почему эффекты помогают писать хороший код

Level of difficultyMedium
Reading time10 min
Views7.8K

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

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

Если вы никогда не слышали об эффектах или термине "побочный эффект", рекомендую ознакомиться с этой темой для повышения вашего профессионального уровня и технического кругозора!

Читать об эффектах

OAuth 2.0

Level of difficultyEasy
Reading time39 min
Views17K

Вы когда‑нибудь логинились на сайте, используя аккаунт Google или Facebook? Или подключали приложение, требующее доступа к GitHub? Если да, то вы уже сталкивались с OAuth2, зная того или нет.

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

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

Но если мы немного остановимся и начнем копать глубже, то найдем для себя много нового с точки зрения дизайна ПО.

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

Читать далее

ООП: худшее, что случалось с программированием

Level of difficultyHard
Reading time20 min
Views106K

В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.

Читать далее

Обработка ошибок Axios

Reading time10 min
Views3.7K

Привет, Хабр! Меня зовут Алёна, я senior фронтенд-разработчик отдела разработки ПО для розничного бизнеса в Райффайзенбанке. Недавно передо мной встала задача улучшения пользовательского опыта обработки ошибок запросов к бэкенду. Я решила комплексно исследовать эту тему на примере HTTP-клиента Axios.

Если при отправке запросов с помощью Axios возникает ошибка — клиентское приложение получает аргумент, который может быть экземпляром объекта, производного от системного класса Error, или любым типом. Он может содержать много информации и не всегда понятно, что самое важное для определения типа исключения и способа обработки. Поэтому я выделала 4 категории ошибок запросов, сделанных при помощи Axios, которые нужно по-разному интерпретировать.

Читать далее

Laravel 12. Что нового?

Level of difficultyEasy
Reading time2 min
Views12K

Сегодня релиз Laravel 12, основной фишкой которого заявлены минимальные критические изменения. Большинство проектов могут быть обновлены до новой версии без изменений кода. Разработка Laravel 12 будет вестись до 13 августа 2026 года, а патчи безопасности будут выходить до 24 февраля 2027 года — итого два года поддержки.

что нового

RoadRunner vs OpenSwoole vs FrankenPHP с Laravel Octane

Reading time10 min
Views4.6K

На эту тему было опубликовано множество статей из различного рода источников и у многих заметил тенденцию когда каждый из трёх упомянутых технологий значительно лидирует по сравнению с остальными. Тем более что у многих показаны какие-то дикие результаты в виде 1к запросов в секунду...

И мне захотелось всё проверить своими руками...

Читать далее

Что нужно знать, чтобы писать быстрые SQL-запросы

Level of difficultyMedium
Reading time21 min
Views31K

Привет, я Марк Шевченко, ведущий разработчик, ИТ‑холдинг Т1. SQL — мощный декларативный язык, который скрывает от программиста большинство технических деталей. Проектировщики языка предполагали, что его простота поможет не‑программистам работать с данными самостоятельно. К сожалению, простота имеет свою цену, и эта цена — производительность. Некоторые несложные запросы работают слишком медленно, что становится неприятным сюрпризом как для программистов, так и для пользователей.

В попытках повысить производительность начинающие программисты зачастую действуют методом перебора, а это не самый быстрый способ обучения. Для того чтобы писать эффективные запросы, требуется понимание принципов работы СУБД.

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

Читать далее

SSL и SSL-сертификаты для новичков

Level of difficultyEasy
Reading time8 min
Views37K

Представляю вашему вниманию перевод статьи SSL and SSL Certificates Explained For Beginners. Я долго разбирался с SSL, сертификатами, центрами сертификации - это единственная статья, после которой у меня что-то отложилось в голове :) Поэтому возникла идея перевести ее и донести до широких масс.

Читать далее

Почему JWT — не панацея: разбор проблем сессий и безопасности

Level of difficultyMedium
Reading time6 min
Views26K

JWT для сессий: удобство или головная боль?

JSON Web Token (JWT) приобрёл популярность как удобный способ аутентификации и передачи данных между клиентом и сервером. Его ценят за простоту, stateless-подход и гибкость. Однако большинство гайдов рассказывают только о плюсах, забывая о недостатках.

В этой статье мы разберём основные проблемы использования JWT для хранения пользовательских сессий и обсудим более надёжные альтернативы.

Читать далее

Неубиваемый PHP: почему в 2025 году этот язык все еще остается одним из самых востребованных

Level of difficultyMedium
Reading time3 min
Views15K

Привет! На связи ITQuick — международная IT-компания, специализирующаяся на High-End разработке для среднего и крупного бизнеса. Мы создаем сложные архитектурные решения силами более 120 разработчиков уровня Senior и Senior+.

Сегодня мы поговорим с Альбертом Степанцевым @AlexLeonov — нашим тимлидом и партнером, опытным разработчиком с 20-летним стажем работы на PHP. За его плечами десятки успешных проектов: от небольших сайтов до масштабных корпоративных систем.

— Альберт, давай начнем с того, что уже более 20 лет в IT-сообществе ходит фраза «PHP скоро умрет». Как ты считаешь, почему этого до сих пор не произошло?

— Я помню, как еще в начале 2000-х мои коллеги уверяли, что PHP не переживет появление новых технологий. Тогда язык действительно был довольно примитивным. Но посмотри на цифры: по данным W3Techs на декабрь 2024 года, около 75% всех сайтов в мире работают на PHP. И это не случайно — я на собственном опыте убедился, почему ни Node.js, ни другие технологии не смогли занять его место.

— А с какими предубеждениями против PHP ты сталкиваешься чаще всего?

— Самые распространенные претензии: «Он слишком простой», «Подходит только для новичков» и «Нет серьезных проектов».

Читать далее

История создания идеального Docker для Laravel

Level of difficultyEasy
Reading time13 min
Views11K

Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions - дело пяти минут. Но как часто бывает, реальность оказалась сложнее. Это история о том, как я вернулся к разработке на PHP и решал накопившиеся проблемы с деплоем Laravel-проекта. О том, как готовил Docker-образ, несколько раз переписывал процесс деплоя, находил компромиссы там, где это было возможно, и полностью перестраивал архитектуру там, где компромиссы были неприемлемы.

Читать далее

Упакуйте свой код правильно

Level of difficultyHard
Reading time13 min
Views6.3K

В предыдущей статье «Как организовать структуру приложения» обсуждались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. В ней я  акцентировал внимание на важности понятной структуры кода, которая облегчает понимание, внедрение новых функций и снижает вероятность ошибок. Особое внимание уделялось критериям понятности, таким как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также были рассмотрены проблемы, возникающие при неструктурированной организации кода, такие как сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.

Читать далее

3 способа продвижения пет-проектов (почти) без бюджета на конкретных примерах

Level of difficultyMedium
Reading time8 min
Views14K

За последние 8 лет я запустил больше 5 своих пет-проектов. Для меня не было проблемой разработать что-то, а вот продавать — тяжело. Тем более денег на продвижение всегда было мало или не было совсем.

Я нашёл несколько способов продвижения, которые помогли мне дорастить часть проектов до кое-какой рентабельности. О них я и расскажу в статье. С примерами и картинками, как применять одни и те же способы для разных проектов.

Предположим, вы разработали первую версию вашего IT сервиса. Аудитория Хабра с этим справляется без особых проблем. При этом плюс-минус корректно определили свою целевую аудиторию и продукт действительно нужен. Даже есть первые продажи. Итак, как выйти на стабильный прирост аудитории?

Читать далее

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity