OneCode
1.33K subscribers
680 photos
69 videos
3 files
567 links
Full Stack на PHP, Laravel и всё, что с этим связано.
YouTube: https://www.youtube.com/@onecode_blog
Download Telegram
Именно тесты обеспечивают гибкость, удобство сопровождения и возможность повторного использования нашего кода.

Это объясняется просто: если у вас есть тесты, вы не боитесь вносить изменения в код! Без тестов любое изменение становится потенциальной ошибкой. Какой бы гибкой ни была ваша архитектура, каким бы качественным ни было логическое деление вашей архитектуры, без тестов вы будете сопротивляться изменениям из опасений, что они приведут к появлению скрытых ошибок.

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

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍11💯1
Поставил еще один полезный инструмент, который ускоряет разработку (особенно API) и повышает уровень удовольствия в крови 😃

Ray позволяет делать дебаг наших приложений локально и на сервере. Поддерживает разные языки и фреймворки 👍

Короче
dd($foo)
и
dump($bar)
уходят в прошлое! 👋 Загляни в документацию, там реально дофига крутых фишек 👇

https://myray.app

Подпишись: @onecode_blog
👍9🔥6
Первое правило: классы должны быть компактными. Второе правило: классы должны быть еще компактнее.

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

Если для класса не удается подобрать четкое, короткое имя, то вероятно, он слишком велик. Чем туманнее имя класса, тем больше вероятность, что он имеет слишком много ответственностей. Присутствие в именах классов слов «И», «ИЛИ» и «НО» часто свидетельствует о нежелательном объединении ответственностей.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍71
BackPack - еще одна админка для Laravel 😃

Посмотрел видео, почитал документацию и заглянул в админку. Меня НЕ вдохновило, а вы смотрите сами. Есть бесплатная версия.

https://backpackforlaravel.com

Подпишись: @onecode_blog

#admin #panel #админка
👍4👎1🤔1👀1
Самый лучший день - сегодня! 👍
💯15🔥5👍3
Новое видео завтра будет огонь! 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥11🥰4
Встал пол шестого, чтобы смонтировать видео, так что привет всем, кто тоже проснулся со сранья! 😁
👍18😁5👏3
Агрегация в моделях Laravel

В новом видео на практике изучили методы для агрегации в SQL-запросах к базе данных.

На примере донатов рассмотрели объединение и группировку данных.

Вывели статистику донатов в кабинете пользователя.

Полезные советы и мотивация.

https://youtu.be/yDb4tLTfMb8

Подпишись: @onecode_blog
🔥1810👍4🎉3
Вижу 50 заявок на вступление в VIP-канал, но по факту подключились около 20 - в чем проблема?
Коллеги, желаю всем хороших выходных и посмотреть видео из нашего курса ☝️
👌17👍11👨‍💻21😍1🫡1
Да, вот так быстро прошли выходные. Затра новая неделя - время для творчества, обучения и общения! А еще скоро зряплата 😁

До завтра, братья и сестры 👋
🔥9😁2👍1
Принцип единой ответственности утверждает, что класс или модуль должен иметь только одну причину для изменения.

Этот принцип даёт нам как определение ответственности, так и критерий для оценки размера класса. Классы должны иметь одну ответственность, то есть одну причину для изменений. Принцип единой ответственности — одна из самых важных концепций в объектно-ориентированном проектировании. Кроме того, его относительно несложно понять и соблюдать.

Но как ни странно, принцип единой ответственности часто оказывается самым нарушаемым принципом проектирования классов. Мы постоянно встречаем классы, которые делают слишком много всего. Почему?

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

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

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍7🔥2👏2
Рабочий день кончился - самое время развернуть новый проект на Laravel 😁

Кайфово это делать через Laravel Sail:
- Одной командой указал какие базы данных нужны (pgsql, mysql, redis, meilisearch).
- Заварил чаю пока проект скачивается и устанавливается.
- Второй командой (sail up) запустил и всё работает.

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

Нравится 😍

Подпишись: @onecode_blog
🔥21👍52
В тему предыдущего поста.

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

Вот это реально удобно, чтобы не ковыряться с этими докерами-шмокерами.

Подпишись: @onecode_blog
🔥9👍2
Та-дааа! 💐🥳🎉
🔥28🎉8👍6👌3🏆21
Многие разработчики опасаются, что множество небольших узкоспециализированных классов затруднит понимание общей картины. Их беспокоит то, что им придется переходить от класса к классу, чтобы разобраться в том, как решается более крупная задача.

Однако система с множеством мелких классов имеет не больше «подвижных частей», чем система с несколькими большими классами. В последней тоже придётся разбираться, и это будет ничуть не проще.

Так что вопрос заключается в следующем: хотите ли вы, чтобы ваши инструменты были разложены по ящикам с множеством небольших отделений, содержащих чётко определённые и подписанные компоненты?

Или вы предпочитаете несколько больших ящиков, в которые можно сваливать всё подряд?

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍6🤔2👌2🍌1
Первый доход от создания видео 😌

Большое спасибо всем, кто поддерживает меня в этом не лёгком творческом деле!

Вчера записал новое видео про Авторизацию. Материал получился объёмный - можно сказать мини-курс!😲

Сегодня вечером буду монтировать и опубликую в VIP-канале 🙂 Хороших выходных!

Подпишись: @onecode_blog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍4👏4👌21💩1
Авторизация. Полномочия и роли.

В новом видео подробно разобрались с авторизацией БЕЗ использования пакетов:

- Что такое авторизация?
- Какие проблемы решаем?
- Отличие от аутентификации
- Что здесь предлагает Laravel
- Разработали свою админку
- Управление администраторами
- Авторизация моделей через полиси
- Выдача и ограничение прав доступа
- Создание и назначение ролей
- Отдельная роль супер-админ
- Авторизация БЕЗ моделей
- Разные кейсы и нюансы
- Исходный код проекта

Залетай в закрытый VIP-канал, чтобы получить этот и другие практические урокам 🔥

После заявки тебе напишет телеграм-бот Donate для оформления подписки.

Подпишись: @onecode_blog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌2😍21
Laravel Helpers

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

Сегодня прикинул о каких функциях можно рассказать и, к моему удивлению, набралось аж 35 функций! Сам не ожидал.

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

Лайк и репост, если интересно! 👍
👍47👎2
Вложенность в CSS

Походу скоро мы увидим нативную поддержку браузерами вложенности в CSS (пример на скрине).

Помню использовал раньше SASS в основном из-за переменных и вложенности. Переменные уже есть в CSS, а вложенность НЕ за горами.

https://webkit.org/blog/13813/try-css-nesting-today-in-safari-technology-preview/

Подпишись: @onecode_blog
🔥13👍3💯1
Laravel Helpers 01

Начинаем серию коротких видео про полезные функции-хелперы для PHP и Laravel.

В первом видео:
- Что такое хелперы?
- Как их подключить?
- Пара советов

https://youtu.be/Jm-33Qnu7sY

Подпишись: @onecode_blog

#helpers
🔥16👍4👀2👌1