Pull to refresh
0
0
Send message

Гудбай Pusher, привет Laravel Websockets

Level of difficultyEasy
Reading time2 min
Views7K

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

Проект делается на Laravel 10 на стартере Breeze Inertia + Vue.js.

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

Для справки, Laravel Websockets — это такая надстройка над Laravel, которая на бэке использует Ratchet, но никаких особых настроек делать не нужно, всё работает практически «из коробки». Правда есть несколько подводных камней, о которых я тоже расскажу.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments6

Механизмы безопасности в Laravel

Level of difficultyHard
Reading time15 min
Views9.9K

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

Мы рассмотрим следующие механизмы безопасности:

Предотвращение N+1
Защита от частично гидрированных моделей
Опечатки атрибутов и переименованные столбцы
Защита от массового присвоения
Строгость модели
Принудительное выполнение полиморфного сопоставления
Мониторинг долгосрочных событий

Читать далее
Total votes 20: ↑18 and ↓2+19
Comments5

Вам не нужен для этого JavaScript

Level of difficultyMedium
Reading time11 min
Views29K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

В случае веба это означает, что нужно по возможности выбирать HTML вместо CSS, а затем CSS вместо JS. JS — самый универсальный язык из всех трёх, потому что на нём вы описываете, как должен вести себя браузер; но также он может ломаться, отказываться загружаться, требует дополнительных ресурсов для скачивания, парсинга и исполнения. Кроме того, при его использовании очень легко ограничить доступ пользователей, выполняющих браузинг при помощи клавиатуры или специальных возможностей.

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Total votes 81: ↑79 and ↓2+93
Comments38

Nuxt.js в SEO: как создать оптимизированные веб-приложения

Level of difficultyEasy
Reading time5 min
Views3.5K

Начнем с того что эта статья была написана на основе моего последнего собеседования и я не смог ответить на вопрос "Какой фреймворк использовать для SEO оптимизации, что бы абсолютно все поисковики индексировали сайт, если у нас 15 000 страниц?". Правильным ответом было: Nuxt.js

SEO (Search Engine Optimization) - это важный аспект любого веб-проекта, который помогает улучшить видимость вашего сайта в поисковых системах. Оптимизация SEO может быть сложной задачей, но при использовании правильных инструментов и практик она становится более управляемой. В этой статье мы рассмотрим, как использовать фреймворк Nuxt.js для создания веб-приложений с учетом SEO.

Читать оптимизатурус
Total votes 1: ↑0 and ↓1-1
Comments5

Релиз Bun 1.0 (новый runtime для JavaScript )

Level of difficultyEasy
Reading time12 min
Views37K

Представляем Bun версии 1.0.

Bun — это быстрый и универсальный набор инструментов для запуска, сборки, тестирования и отладки JavaScript и TypeScript кода (от одного файла до fullstack-приложения). Сегодня Bun стабилен и готов к продакшену.

Читать далее
Total votes 74: ↑71 and ↓3+83
Comments118

Мобильная разработка за неделю #484 (10 — 16 апреля)

Reading time4 min
Views2.3K
В этом выпуске потоковое вещание и старые смартфоны, маски ввода номера и исследования трафика, архитектура микросервисов, закрытое сообщество для открытых проектов, запуск аналогов ChatGPT, ИИ-помощник для программирования от Amazon и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Как настроить OpenVPN на Debian 11. Часть 2

Reading time10 min
Views12K

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

В первой части мы запустили OpenVPN на Debian 11. Однако, прежде чем начать его использовать, нужно создать файл конфигурации для клиентской машины. Во второй части разберём, как создать инфраструктуру, которая будет генерировать файлы конфигурации клиента. А также отдельно рассмотрим, как установить клиентский VPN-профиль на Windows, macOS, Linux, iOS и Android.

Читать далее
Total votes 10: ↑7 and ↓3+5
Comments7

Самый научный гайд по сну

Level of difficultyEasy
Reading time12 min
Views144K

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

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

Например, мне категорически не хотелось расставаться со смартфоном перед сном. Спустя долгие часы изучения этого вопроса я обнаружил, что этого не нужно делать! И ребята, сидящие на диете, можете выдохнуть, метаболизм во сне не отключается. Ниже мы подробно и без воды разберём всё, что касается сна.

Читать далее
Total votes 103: ↑97 and ↓6+121
Comments134

SiteAnalyzer 2.9 — Планы и перспективы на 2023 год

Level of difficultyEasy
Reading time6 min
Views992

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

Для тех, кто слышит о программе впервые - SiteAnalyzer это десктопный краулер, предназначенный для технического аудита сайтов, или, если еще проще - это российский аналог Screaming Frog SEO Spider.

В новой версии SiteAnalyzer 2.9 была добавлена возможность импорта списка URL в проект, появилась возможность создания дубликатов проектов, добавлен экспорт структуры сайта в MindMap, добавлен график ТОПа анкоров сайта, а также была проведена большая работа по исправлению накопившихся багов. Расскажем обо всем подробнее.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments5

Полное понимание асинхронности в браузере

Reading time24 min
Views113K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →
Total votes 78: ↑78 and ↓0+78
Comments26

Information

Rating
Does not participate
Registered
Activity