Обновить
4
Евгений@Mellornread⁠-⁠only

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

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

Архитектура Laravel: 7 ловушек и практичные решения

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

Laravel завоевал авторитет у бизнеса и программистов за эффективность решения задач. Автор не раз встречал суждение среди коллег, что опыт разработки на Symfony и Laravel равнозначны. Это миф. Ниже — 7 ловушек Laravel и практичных решений без отказа от фреймворка.

Читать далее

ACID-свойства транзакций в SQL

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

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

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

В этой статье вы узнаете, почему так важны принципы ACID и что это за принципы. Оставайтесь со мной, если интересно!

Читать далее

Docker для начинающих: что это такое и как пользоваться

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

Статей про Docker много не бывает.

В этом материале мы разберём базу: что такое Docker, как он работает и зачем нужен, а затем пошагово пройдём путь от установки до запуска первого контейнера.

Освоить рабочую базу Docker →

Токены доступа и API Gateway: как обеспечить безопасность запросов

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

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

В статье рассмотрим различные подходы использования API Gateway как части более общего API security-решения в контексте его работы с токенами доступа, выделяя преимущества, недостатки и связанные с ними вопросы безопасности. Также разберем, почему нужно ограничивать область действия access token и может ли API Gateway помочь и в данном вопросе.

Статья написана на основе материала, с которым выступал на PHDays 2025 и CodeFest 15.

Читать далее

Как сделать сайт бесконечно ленивым. Часть 4: Преждевременная загрузка

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

Ранее мы говорили о том, как улучшить кэширование наших проектов и правильно загружать поставщиков. А в этой статье мы рассмотрим следующее:
- Как мы можем использовать стратегии предварительной загрузки, включая что такое "магические" комментарии Webpack, и что такое спекулятивная/ручная предварительная загрузка;
- Как мы можем запрашивать данные с сервера, не дожидаясь загрузки наших статических файлов;
- А также какие сторонние или наши собственные решения могут быть использованы для этого.

Читать далее

ASP.Net MVC vs Blazor: чья возьмет?

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

Привет! Сегодня разберем два подхода в ASP.NET. Blazor и классическую архитектуру MVC (Model-View-Controller). В отличие от обсуждений вроде «Java vs C++», эта тема менее спорная, но очень полезная для понимания современной веб-разработки на .NET.

Разобраться в нюансах

VS Code без боли: как я вернул фичи WebStorm для Angular-разработки

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

Решил мигрировать с WebStorm на VS Code, но обнаружил, что нет поддержки автоимпорта Angular-компонентов. В WebStorm это работало из коробки — начинаешь писать <app-, IDE сразу подсказывает компоненты и автоматически добавляет импорт. В VS Code такого не было.

На первый взгляд задача выглядела несложной — пару регулярок накидать и можно сделать своё решение.

Но пока я разбирался с регулярками, Angular-разработчики выпустили официальную поддержку: добавили импорты на автокомплит и диагностику. Можно было опустить руки, но официальная реализация оказалась неидеальной, и у меня было несколько идей фич, которые позволяют сохранить актуальность проекта и приблизить опыт работы к WebStorm.

Читать далее

Живешь в Европе? Будь готов к уголовному делу за счет в российском санкционном банке

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

На прошлой неделе на Кипре приняли закон о криминализации нарушений санкций ЕС: теперь там за использование условного счета в Тиньке или за оказание IT-услуг российской компании теоретически можно заехать на нары на 5 лет. Аналогичные законы уже есть в 11 странах Евросоюза – от Швеции и Чехии до Эстонии и Латвии. В этом материале мы разберем с примерами, кто находится в группе риска (и за что конкретно).

Читать далее

Уровни изоляции транзакций: практическая механика и сравнение PostgreSQL, MySQL, Oracle, SQL Server и DB2

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

Транзакции — не про «магическое ACID», а про конкретную механику согласованного доступа к данным под нагрузкой.

Эта статья объясняет как реально работают уровни изоляции и чем отличаются популярные СУБД на практике.

Мы разберём:

Читать далее

View Transitions API

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

Полистав различные ресурсы в Интернете и просмотрев множество видео по данной теме, я решил составить наиболее полную картину по данному, не побоюсь этого слова, революционному API, чтобы вы уже сегодня могли начать использовать его в своём проекте!

Читать далее

Паттерны микросервисной архитектуры: от собеседования до прода

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

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

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

Читать далее

Эвристика: OR в SQL — это дорого

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

Один запрос выполняется 100 мс, другой — меньше 1 мс. Оба делают одно и то же, но второй написан на странном, почти алхимическом SQL. В чём подвох? Первый использует OR, а второй — хитрую комбинацию AND. Этот перевод — расследование того, почему условие OR так дорого обходится вашей базе данных, и практическое руководство по тому, как проектировать схемы, чтобы избежать этой ловушки производительности.

Читать далее

HTTP и HTTPS: Разница

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

Очень часто на собеседованиях кандидаты слышат вопрос: «В чем разница между HTTP и HTTPS?» И так же часто делают задумчивое лицо, не зная, что ответить. Мы даже как-то писали об этом пост.

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

Читать далее

Решение проблемы двойного букинга: паттерны проектирования систем

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

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

Технологические компании наподобие Ticketmaster, BookMyShow, Airbnb, Delta Airlines и так далее сделали бронирование делом одного клика, позволившим покупать билеты из дома.

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

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

Поэтому важно создать надёжное решение классической задачи — двойного букинга.

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

Мы рассмотрим различные архитектурные паттерны и разберёмся в их плюсах и минусах. Статья поможет вам обрести глубокое понимание и наработать знания в системном мышлении.

Читать далее

Художественный фильм «Импортозаместили» (побрюзжим)

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

Итак, прошло уже больше 2,5 лет с момента, когда слуги народа решили, что пора создавать отечественные аналоги популярных в народе сервисов, приложений, платформ.

Решение, безусловно правильное, нужное, но вот реализация, как всегда.

Хочу провести скромную ревизию того - что нам обещали и что мы получили в итоге (это будет сугубо субъективное мнение среднестатистического пользователя):

Читать далее

Полное руководство по HTTP-кэшированию. Часть 1

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

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

В основе кэширования лежит сокращение лишней работы. Каждый раз, когда браузер, CDN или прокси обращается к серверу за ресурсом, который не изменился, впустую тратятся время и трафик. Когда сервер заново формирует или повторно отдает идентичный контент, это лишь добавляет нагрузки и увеличивает затраты. А при пиковом трафике — например, в "черную пятницу", во время вирусной публикации или DDoS-атаки — такие ошибки стремительно накапливаются и приводят к сбоям всей системы.

Читать далее

Оптимизируем производительность веб-приложения с Redis

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

Привет, Хабр! С вами Александр Константинов, технический эксперт по облачным технологиям из Cloud.ru. Сегодня хочу показать вам наглядно, как можно оптимизировать производительность веб-приложения. Рассмотрим это на усредненном примере кейса, который типичен для многих наших клиентов, пройдем весь путь настройки, выполним нагрузочное тестирование и сравним до/после.

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

Узнать больше

Давайте поговорим про Web-API

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

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

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

В наше время каждый слышал про Web-API и у многих это ассоциируется с REST. Однако этот многострадальный REST всегда какой-то не такой, с ним все время что-то не так.

Разработчики часто спорят и упрекают друг друга, что твой REST недостаточно REST-овый. Это стало чем-то вроде культа или даже религии. Я не планирую рассказывать о том, как правильно готовить REST, но весь материал именно вокруг этого многострадального RESTа.

Читать далее

Параллельное выполнение запросов PHP SOAP client

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

Статья о реализации параллельных SOAP запросов в PHP с использованием кастомного HTTP транспорта и Guzzle promises.

Читать далее

Семантический поиск на Laravel через pgvector

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

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

Предлагаю сегодня разобраться, как семантический поиск появился в Laravel и PostgreSQL.

Разобраться в деталях
1
23 ...

Информация

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