Laravel Mailbook
Полезный пакет для просмотра email-писем.
- Графческий интерфейс с выбором писем
- Автоматический откат базы, если для просмотра письма нужны временные данные
- Просмотр адаптивной версии письма
- Разные варианты одного письма
- Поддержка мультиязычности
https://github.com/Xammie/mailbook
Подпишись: @onecode_blog
#laravel #mail
Полезный пакет для просмотра email-писем.
- Графческий интерфейс с выбором писем
- Автоматический откат базы, если для просмотра письма нужны временные данные
- Просмотр адаптивной версии письма
- Разные варианты одного письма
- Поддержка мультиязычности
https://github.com/Xammie/mailbook
Подпишись: @onecode_blog
#laravel #mail
👍11
Активные записи (Active Records) составляют особую разновидность DTO. Они тоже представляют собой структуры данных с публичными свойствами, но обычно в них присутствуют навигационные методы — например save или find, как в Laravel Eloquent ORM.
К сожалению, разработчики часто включают в них методы, реализующие бизнес-логику. Однако такой подход нежелателен, так как он создает гибрид между структурой данных и объектом.
Конечно, проблема решается иначе: активные записи интерпретируются как структуры данных, а в программе создаются отдельные объекты, которые содержат бизнес-логику и скрывают свои внутренние данные (которые, возможно, представляют собой обычные экземпляры класса активной записи).
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
К сожалению, разработчики часто включают в них методы, реализующие бизнес-логику. Однако такой подход нежелателен, так как он создает гибрид между структурой данных и объектом.
Конечно, проблема решается иначе: активные записи интерпретируются как структуры данных, а в программе создаются отдельные объекты, которые содержат бизнес-логику и скрывают свои внутренние данные (которые, возможно, представляют собой обычные экземпляры класса активной записи).
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
👍7
Apple выпустила MacBook Pro на процессорах M2 Pro и M2 Max
Обновлённые 14- и 16-дюймовые MacBook Pro стали в шесть раз производительнее, чем «самый быстрый MacBook Pro на базе процессоре Intel».
Читать подробнее
Подпишись: @onecode_blog
Обновлённые 14- и 16-дюймовые MacBook Pro стали в шесть раз производительнее, чем «самый быстрый MacBook Pro на базе процессоре Intel».
Читать подробнее
Подпишись: @onecode_blog
👍9
Strapi CMS на JavaScript
Из админки можно создавать сущности через конструктор с полями и связывать их между собой.
На выходе получаем готовое API (REST или GraphQL). Есть плагины и облачное решение.
https://strapi.io
Подпишись: @onecode_blog
Из админки можно создавать сущности через конструктор с полями и связывать их между собой.
На выходе получаем готовое API (REST или GraphQL). Есть плагины и облачное решение.
https://strapi.io
Подпишись: @onecode_blog
👍9
Обработка ошибок — одна из тех рутинных вещей, которыми нам всем приходится заниматься при программировании . Программа может получить неверные входные данные, на устройстве могут произойти сбои. Короче говоря, выполнение программы может пойти по неверному пути, и если это случается, мы, программисты, должны позаботиться, чтобы наш код сделал то, что ему положено сделать.
Во многих кодовых базах обработка ошибок выходит на первый план. Я вовсе не хочу сказать, что код не делает ничего полезного, кроме обработки ошибок. Я имею в виду, что из-за разбросанной повсюду обработки ошибок практически невозможно понять, что же делает код. Обработка ошибок важна, но если они заслоняют собой логику программы — значит, она реализована неверно.
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
Во многих кодовых базах обработка ошибок выходит на первый план. Я вовсе не хочу сказать, что код не делает ничего полезного, кроме обработки ошибок. Я имею в виду, что из-за разбросанной повсюду обработки ошибок практически невозможно понять, что же делает код. Обработка ошибок важна, но если они заслоняют собой логику программы — значит, она реализована неверно.
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
👍8
Расширение для браузера, которое показывает подходящий цвет TailwindCSS при наведении и копирует при клике.
Открыть расширение
Подпишись: @onecode_blog
Открыть расширение
Подпишись: @onecode_blog
🔥9👍2
Инкапсуляция вызовов сторонних API принадлежит к числу стандартных приемов. Создавая обертку для стороннего вызова, вы сокращаете до минимума зависимость от него в своем коде: в будущем вы можете переключиться на другую библиотеку без сколько-нибудь заметных проблем.
Вы можете определять свои классы исключений. Обертки также упрощают имитацию сторонних вызовов в ходе тестирования кода. Еще одно преимущество оберток заключается в том, что вы не ограничиваетесь архитектурными решениями разработчика API. Вы можете определить тот API, который вам удобен.
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
Вы можете определять свои классы исключений. Обертки также упрощают имитацию сторонних вызовов в ходе тестирования кода. Еще одно преимущество оберток заключается в том, что вы не ограничиваетесь архитектурными решениями разработчика API. Вы можете определить тот API, который вам удобен.
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, братва! Как выходные? Выкладывай фотку че делаешь 🤗
Сегодня монтирую новое видео из курса по Laravel, не пропусти! 🚀
Сегодня монтирую новое видео из курса по Laravel, не пропусти! 🚀
🔥11
А вы знаели, что Taylor Otwell (разработчик Laravel) пишет код так, чтобы он НЕ только работал правильно, но и выглядел красиво 😍
Даже комментарии он пишет "лесенкой" - следующая строка короче предыдущей 😲
Загляни в
На самом деле я тоже стараюсь так делать, потому что приятнее работать с кодом, который выглядит красиво и ровно 😃
Подпишись: @onecode_blog
Даже комментарии он пишет "лесенкой" - следующая строка короче предыдущей 😲
Загляни в
config/app.phpдля примера 👈
На самом деле я тоже стараюсь так делать, потому что приятнее работать с кодом, который выглядит красиво и ровно 😃
Подпишись: @onecode_blog
🤩8👍3👏3
Условия в моделях Laravel
В новом видео на практике изучили методы для добавления условий в SQL-запросы к базе.
Рассмотрели наиболее популярные методы, такие как where, whereColumn, whereNull, whereIn, whereBetween, whereDate, whereJsonContains, when.
Сделали небольшой фильтр постов в блоге. Поделился опытом и советами из практики.
https://youtu.be/nMhyq9b-I-w
Подпишись: @onecode_blog
В новом видео на практике изучили методы для добавления условий в SQL-запросы к базе.
Рассмотрели наиболее популярные методы, такие как where, whereColumn, whereNull, whereIn, whereBetween, whereDate, whereJsonContains, when.
Сделали небольшой фильтр постов в блоге. Поделился опытом и советами из практики.
https://youtu.be/nMhyq9b-I-w
Подпишись: @onecode_blog
🔥11👍5❤1
В хорошей программной архитектуре внесение изменений обходится без значительных затрат и усилий по переработке. Если в продукте используется код, находящийся вне нашего контроля (внешние пакеты, чужие модули и тд), примите особые меры по защите капиталовложений и позаботьтесь о том, чтобы будущие изменения обходились не слишком дорого.
Постарайтесь, чтобы ваш код поменьше знал о специфических подробностях реализации стороннего кода. Лучше зависеть от того, что находится под вашим контролем, чем от тех факторов, которые вы не контролируете (а то, чего доброго, они начнут контролировать вас).
Чтобы границы со сторонним кодом не создавали проблем в наших проектах, мы сводим к минимуму количество обращений к ним напрямую. Для этого можно воспользоваться обёртками (абстракциями) или реализовать паттерн адаптер для согласования нашего идеального интерфейса с реальным.
В обоих вариантах код становится более выразительным, обеспечивается внутренняя согласованность обращений через границы, мы имеем больше контроля и гибкости, а изменение стороннего кода требует меньших затрат на сопровождение.
Роберт Мартин, Чистый код #clean_code
Постарайтесь, чтобы ваш код поменьше знал о специфических подробностях реализации стороннего кода. Лучше зависеть от того, что находится под вашим контролем, чем от тех факторов, которые вы не контролируете (а то, чего доброго, они начнут контролировать вас).
Чтобы границы со сторонним кодом не создавали проблем в наших проектах, мы сводим к минимуму количество обращений к ним напрямую. Для этого можно воспользоваться обёртками (абстракциями) или реализовать паттерн адаптер для согласования нашего идеального интерфейса с реальным.
В обоих вариантах код становится более выразительным, обеспечивается внутренняя согласованность обращений через границы, мы имеем больше контроля и гибкости, а изменение стороннего кода требует меньших затрат на сопровождение.
Роберт Мартин, Чистый код #clean_code
👍13💯3
Тестовый код не менее важен, чем код продукта . Не считайте его «кодом второго сорта» . К написанию тестового кода следует относиться вдумчиво, внимательно и ответственно.
Тестовый код должен быть таким же чистым, как и код продукта. Какими отличительными признаками характеризуется чистый тест? Тремя: удобочитаемостью, удобочитаемостью и удобочитаемостью.
Вероятно, удобочитаемость в тестах играет еще более важную роль, чем в коде продукта. Что делает тестовый код удобочитаемым? То же, что и любой другой код: ясность, простота и выразительность.
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
Тестовый код должен быть таким же чистым, как и код продукта. Какими отличительными признаками характеризуется чистый тест? Тремя: удобочитаемостью, удобочитаемостью и удобочитаемостью.
Вероятно, удобочитаемость в тестах играет еще более важную роль, чем в коде продукта. Что делает тестовый код удобочитаемым? То же, что и любой другой код: ясность, простота и выразительность.
Роберт Мартин, Чистый код #clean_code
Подпишись: @onecode_blog
👍9👌1🤝1
Аналог TinkerWell для JavaScript
Слева пишем код - справа видим результат.
https://runjs.app
Подпишись: @onecode_blog
Слева пишем код - справа видим результат.
https://runjs.app
Подпишись: @onecode_blog
👍12🔥1
Ребяты, всем привет! Сегодня последняя пятница месяца и мы на работе решили провести этот день по-особенному.
Вместо привычного рабочего дня будем по-очереди рассказывать и обсуждать разные интересные штуки из веб-разработки.
Я и коллеги подготовили небольшие доклады на интересующие нас темы и будем обмениваться знаниями под чай и кофе.
Интересный опыт, лично я в предвкушении приятного общения. Если понравится, то будем практиковать каждый месяц.
Желаю вам кайфового дня! ❤️
Подпишись: @onecode_blog
Вместо привычного рабочего дня будем по-очереди рассказывать и обсуждать разные интересные штуки из веб-разработки.
Я и коллеги подготовили небольшие доклады на интересующие нас темы и будем обмениваться знаниями под чай и кофе.
Интересный опыт, лично я в предвкушении приятного общения. Если понравится, то будем практиковать каждый месяц.
Желаю вам кайфового дня! ❤️
Подпишись: @onecode_blog
👍6🔥3🎉1
Тестируем Laravel Octane
Давно хотел попробовать пакет Laravel Octane, который обещает заметно ускорить работу наших приложений 🚀
Наконец удалось как следует его погонять. У меня ушло на это несколько дней, а в новом видео показал для вас всё почти за час ❤️
Основные моменты:
- Что такое Octane и как он работает
- Установили, настроили, запустили, изучили
- Разобрались с разработкой через Octane
- Выяснили подводные камни и нюансы
- Развернули 2 сайта на тестовых серверах
- Отправив по 1000+ запросов на сайты
- Сравнили скорость с PHP-FPM
- Обсудили плюсы и минусы
Это и другие видео доступны в закрытом VIP-канале за ежемесячную подписку.
После заявки тебе напишет телеграм-бот Donate для оформления подписки.
Подпишись: @onecode_blog #vip
Давно хотел попробовать пакет Laravel Octane, который обещает заметно ускорить работу наших приложений 🚀
Наконец удалось как следует его погонять. У меня ушло на это несколько дней, а в новом видео показал для вас всё почти за час ❤️
Основные моменты:
- Что такое Octane и как он работает
- Установили, настроили, запустили, изучили
- Разобрались с разработкой через Octane
- Выяснили подводные камни и нюансы
- Развернули 2 сайта на тестовых серверах
- Отправив по 1000+ запросов на сайты
- Сравнили скорость с PHP-FPM
- Обсудили плюсы и минусы
Это и другие видео доступны в закрытом VIP-канале за ежемесячную подписку.
После заявки тебе напишет телеграм-бот Donate для оформления подписки.
Подпишись: @onecode_blog #vip
👍4🔥2❤1🎉1
Если у кого проблемы с оформлением подписки, напишите мне в личку и мы что-нибудь придумаем.
👍1👌1
Посмотрел крайнее видео из курса по Laravel?
Anonymous Poll
35%
Посмотрел
49%
Не смотрел
15%
Сегодня посмотрю
Решил сделать пет-проект. Стал думать как делать пользовательский интерфейс (UI)? 👇
Писать с нуля на голом Bootstrap или собирать из готового шаблона или создавать на Tailwind или ...? 🤔
Как представил, что надо будет подключать JS-зависимости через NPM, настраивать сборку статики через Vite, писать HTML и CSS, разрабатывать бэкенд для UI и всё такое - слишком долго и скучно 👎
В общем UI как самостоятельный проект получается, а хочется быстро и просто, пока есть желание и время на выходных 😍
Короче поставил Laravel Nova и за 5 минут всё готово! Сразу можно дальше писать код самого проекта 🔥
ПыСы: разработка на Laravel расслабляет 😃
Подпипшись: @onecode_blog
Писать с нуля на голом Bootstrap или собирать из готового шаблона или создавать на Tailwind или ...? 🤔
Как представил, что надо будет подключать JS-зависимости через NPM, настраивать сборку статики через Vite, писать HTML и CSS, разрабатывать бэкенд для UI и всё такое - слишком долго и скучно 👎
В общем UI как самостоятельный проект получается, а хочется быстро и просто, пока есть желание и время на выходных 😍
Короче поставил Laravel Nova и за 5 минут всё готово! Сразу можно дальше писать код самого проекта 🔥
ПыСы: разработка на Laravel расслабляет 😃
Подпипшись: @onecode_blog
🔥8👍1👎1