OneCode
1.39K subscribers
629 photos
60 videos
3 files
525 links
Full Stack на PHP, Laravel и всё, что с этим связано.
YouTube: https://www.youtube.com/@onecode_blog
Download Telegram
Отправка писем через свою Яндекс.Почту

Laravel может слать письма по протоколу SMTP, а значит мы можем отправлять сообщения со своего почтового ящика: gmail, mail, yandex и тд.

Посмотрим на примере яндекса:

1. Нужно разрешить отправку писем в своём аккаунте. Для этого разрешаем отправку в настройках и создаём пароль для приложения, который дальше будем использовать в env для отправки.

Инструкция от яндекса:
https://yandex.ru/support/mail/mail-clients/others.html#smtpsetting

2. После получения пароля заполняем переменные окружения в файле
.env
в корне нашего проекта (пример на скрине).

3. Тестируем отправку. Для простоты можно создать отдельный роут и разместить там простой код (на скрине). Переходим по этому маршруту в браузере и письмо отправляется.

У меня получилось, значит у и тебя получится 😃

#laravel #mail #yandex #smtp
👍12
ECMAScript 2022

Ребят, не забываем следить за развитием JavaScript. В статье описаны новые фишки спецификации.

https://habr.com/ru/post/676032/

#js
👍9
Работа с датой и временем в JS

Библиотека поможет проводить любые манипуляции с датами и временем:
- Форматировать
- Увеличивать/уменьшать
- Высчитывать разницу
- Много чего еще

Раньше использовали большую библиотеку Moment, а теперь вместо неё Luxon. Реально хорошая штука.

https://moment.github.io/luxon

#js #luxon #date #time
👍8
Провеь свою скорость печати

Важность навыка слепой печати для разработчика сложно переоценить!

На скрине мой результат на русской раскладке с первой попытки.

Пиши в комментах что получилось 😃

https://brainapps.ru/typing-test
👍2
Что нового в вебе?

Если заскучал в пятницу вечером (what?), то посмотри видео от Google Chrome о грядущих новинках - интересно и полезно.

Привет от нашего фронтендера 👋

https://youtu.be/5b4YcLB4DVI

#google #chrome #web
👍3
Перезагрузка страницы с Vite

Новый плагин Laravel Vite для сборки фронтенда автоматически перезагружает страницу при изменении CSS и JS файлов.

В статье описано как настроить Vite для автоматического обновления страницы после сохранения наших blade-шаблонов.

https://laravel-news.com/laravel-blade-hot-refresh-with-vite

#laravel #blade #vite
🔥8
Прохожу курс для тимлидов

Решил поделиться с вами кусочком полезного материала.

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

https://education.borshev.com/teamlead

#teamlead
👍16
Народ, какой контент вам интереснее?
Anonymous Poll
13%
Вёрстка
31%
Frontend
45%
Backend
69%
Laravel
Спасибо за участие в голосовании!

Поэтому вот контент, которого не было в списке 😁
Media is too big
VIEW IN TELEGRAM
Тело - моё, значит Я - не тело

Мне прикольно думать, что моё тело - это Биоробот 🤖, которым я могу управлять джойстиком силой мысли.

С помощью нашего биоробота мы можем взаимодействовать с внешним миром - переносить вещи, ходить в магазин, общаться и работать.

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

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

Для меня йога - это идеальная практика для поддержания тела в хорошей форме. А для айтишников - это определённо must have.

Попробуй 👍
7👍2🤔1
Have a nice day, guys! 🤘

Трудимся с кайфом, не спеша, уделяя внимание красоте кода 😃

https://music.yandex.com/album/1688368/track/28599

#music
👍8
Парни, советую на выходных отдохнуть от экранов - комп не включать, а телефон по минимуму. Потерпеть до понедельника, накопить энергии, чтобы потом ворваться в новую неделю 🚀

Кайфа 🌿
👍161🔥1
Что такое Scrum и как его использовать?

Маленькая практическая статья про Scrum - рекомендую ознакомиться, если не знаешь что это.

https://kaiten.ru/blog/chto-takoie-scrum-i-kak-ispolzovat/

Кайфовой недели!

#scrum #agile #kanban
👍8
Laravel Octane для нового проекта

Давно хочу попробовать Octane, но всё руки не доходили. Наконец подвернулся подходящий проект, где можно провести эксперимент 😃

Смысл пакета в том, что мы запускаем процесс, который держит всё наше приложение в оперативной памяти.

Код проекта НЕ запускается заново на каждый запрос. Вместо этого он загружается в память при первом запросе и дальше работает оттуда - отвечает на остальные запросы максимально быстро.

Аналогичная история работает, например в NodeJS, когда мы на сервере тоже запускаем процесс (например express), который висит постоянно и готов обрабатывать входящие запросы.

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

Вот и Laravel через официальный пакет Octane даёт нам такую возможности - ускорить наше приложение, если нужна повышеная эффективность и скорость.

Я всё еще НЕ уверен нужно ли мне это?

Сайты на PHP и Laravel и без того работают достаточно быстро. А здесь (помимо плюсов) мы получаем некоторые неудобства:
- Дополнительная сложность при настройке сервера.
- Необходимость перезапускать этот процесс после изменения файлов.
- Неуверенность, тк нет опыта с этим расширением.

В общем пробуем. Буду держать вкурсе 👍

https://laravel.com/docs/9.x/octane

#laravel #octane
👍8🔥2
Интервалы - первый бонус от использования Octane

Используя
Laravel Octane
мы можем любую запускать функцию с определённым интервалом.

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

На скрине пример функции, которая выполняется кажде 10 секунд - просто пишет в лог. Получается такой аналог
setInterval
из
JavaScript
.

Просто размещаем этот код в
AppServiceProvider
и радуемся результату.

Продолжаем эксперимент 👍

#laravel #octane
👍14🔥1
OneCode
Интервалы - первый бонус от использования Octane Используя Laravel Octane мы можем любую запускать функцию с определённым интервалом. Например мне нужно обновлять курсы валют каждые 10 секунд. По крону этого НЕ сделать, потому что там минимальный интервал…
Дополнение - интервалы у октан штука хорошая, но надо понимать ньюансы:

Например, если у тебя несколько серверов приложения (масштабирование), на которых работает Octane, тогда эта функция с интервалом будет выполняться на каждом сервере. То есть на 3 серверах функция будет запускаться 3 раза каждые 10 секунд - скорее всего это НЕ то, чего мы хотим.

У меня планируется всего один сервер, поэтому мне подходит такой вариант. В будущем, если понадобится, можно будет перенести выполнение функции в другое место - главное НЕ размещать логику (код функции) прямо здесь в провайдере. Лучше инкапсулировать (разместить) её, например в консольную команду (artisan) и вызывать эту команду здесь. Или в любом другом месте.

На будущее есть еще пакет
spatie/laravel-short-schedule
, который тоже решает задачу вызова функции с коротким интервалом. Пакет предоставляет нам интерфейс, аналогичный task scheduling из ларавел - будет привычно.

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

В общем тема интересная. Не часто, но иногда надо вызывать ккакую-то функцию автоматически с интервалом в несколько секунд. Если в будущем понадобится - помни, что варианты всегда есть 😃

https://github.com/spatie/laravel-short-schedule

#laravel #spatie #interval #tick #schedule
👍5
Хелперы для вывода даты и времени

Часто на проекте нужно выводить дату или время в определённом формате.

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

Если в будущем придёт задача изменить формат, то придётся:
- Искать все места в проекте.
- Менять вручную и тестировать.
- Надеяться, что ничего не пропустил.

Поэтому я сразу помещаю логику форматирования даты/времени в функции-хелперы (на скрине).

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

Пример использования:

{{ __datetime($order->created_at) }}
{{ __date($order->created_at) }}
{{ __time($order->created_at) }}


Планирую создать отдельный telegram-канал с такими полезными советами, примерами моего кода, короткими практическими видео и лайфхаками из моего личного опыта.

Лайк?

#laravel #tip #date #time #helpers
👍34
Оконные функции PostgreSQL

Статья из серии "Что читаю и вам желаю"

Полезная статья про то, как можно посчитать агрегаты (сумму, кол-во, среднее значение и тд) построчно с помощью оконных функций.

https://habr.com/ru/post/268983/

#sql #postgresql #postgres #pgsql
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥6