OneCode
Open in Telegram
Full Stack на PHP, Laravel и всё, что с этим связано. YouTube: https://www.youtube.com/@onecode_blog
Show more1 329
Subscribers
No data24 hours
No data7 days
-830 days
Posts Archive
1 329
Вложенность в CSS
Походу скоро мы увидим нативную поддержку браузерами вложенности в CSS (пример на скрине).
Помню использовал раньше SASS в основном из-за переменных и вложенности. Переменные уже есть в CSS, а вложенность НЕ за горами.
https://webkit.org/blog/13813/try-css-nesting-today-in-safari-technology-preview/
Подпишись: @onecode_blog
1 329
Laravel Helpers
Есть идея записать серию коротких видео, в которых покажу полезные функции-хелперы, которые использую (или когда-то использовал) в своих проектах.
Сегодня прикинул о каких функциях можно рассказать и, к моему удивлению, набралось аж 35 функций! Сам не ожидал.
Добавлю, что большинство (если не все) хелперы придумал сам в процессе решения той или иной проблемы, поэтому материал будет уникальный в своём роде.
Лайк, если интересно! 👍
1 329
Многие разработчики опасаются, что множество небольших узкоспециализированных классов затруднит понимание общей картины. Их беспокоит то, что им придется переходить от класса к классу, чтобы разобраться в том, как решается более крупная задача.
Однако система с множеством мелких классов имеет не больше «подвижных частей», чем система с несколькими большими классами. В последней тоже придётся разбираться, и это будет ничуть не проще.
Так что вопрос заключается в следующем: хотите ли вы, чтобы ваши инструменты были разложены по ящикам с множеством небольших отделений, содержащих чётко определённые и подписанные компоненты?
Или вы предпочитаете несколько больших ящиков, в которые можно сваливать всё подряд?
Роберт Мартин, Чистый код #clean_code
1 329
В тему предыдущего поста.
Говорят, что можно будет добавлять нужные сервисы после установки приложения через Laravel Sail.
Вот это реально удобно, чтобы не ковыряться с этими докерами-шмокерами.
Подпишись: @onecode_blog
1 329
Рабочий день кончился - самое время развернуть новый проект на Laravel 😁
Кайфово это делать через Laravel Sail:
- Одной командой указал какие базы данных нужны (pgsql, mysql, redis, melisearch).
- Заварил чаю пока проект скачивается и устанавливается.
- Второй командой (sail up) запустил и всё работает.
При этом вся кухня крутится в docker-контейнере - изолированное окружение. Поигрался, удалил и на компе ничего не осталось.
Нравится 😍
Подпишись: @onecode_blog
1 329
Принцип единой ответственности утверждает, что класс или модуль должен иметь только одну причину для изменения.
Этот принцип даёт нам как определение ответственности, так и критерий для оценки размера класса. Классы должны иметь одну ответственность, то есть одну причину для изменений. Принцип единой ответственности — одна из самых важных концепций в объектно-ориентированном проектировании. Кроме того, его относительно несложно понять и соблюдать.
Но как ни странно, принцип единой ответственности часто оказывается самым нарушаемым принципом проектирования классов. Мы постоянно встречаем классы, которые делают слишком много всего. Почему?
Заставить программу работать и написать чистый код — совершенно разные вещи. Обычно мы думаем прежде всего о том, чтобы наш код заработал, а не о его структуре и чистоте. И это абсолютно законно. Разделение ответственности в работе программиста играет не менее важную роль, чем в наших программах.
К сожалению, слишком многие из нас полагают, что после того, как программа заработает, их работа закончена. Мы не переключаемся на усовершенствование ее структуры и чистоты. Мы переходим к следующей задаче вместо того, чтобы сделать шаг назад и разделить разбухшие классы на отдельные блоки с единой ответственностью.
Роберт Мартин, Чистый код #clean_code
1 329
Да, вот так быстро прошли выходные. Затра новая неделя - время для творчества, обучения и общения! А еще скоро зряплата 😁
До завтра, братья и сестры 👋
1 329
Вижу 50 заявков на вступление в VIP-канал, но по факту подключились 20 - в чем проблема?
1 329
Агрегация в моделях Laravel
В новом видео на практике изучили методы для агрегации в SQL-запросах к базе данных.
На примере донатов рассмотрели объединение и группировку данных.
Вывесли статистику донатов в кабинете пользователя.
Полезные советы и мотивация.
https://youtu.be/yDb4tLTfMb8
Подпишись: @onecode_blog
1 329
Встал пол шестого, чтобы смонтировать видео, так что привет всем, кто тоже проснулся со сранья! 😁
1 329
BackPack - еще одна админка для Laravel 😃
Посмотрел видео, почитал документацию и заглянул в админку. Меня НЕ вдохновило, а в посмотрите. Есть бесплатная версия.
https://backpackforlaravel.com
Подпишись: @onecode_blog
1 329
Первое правило: классы должны быть компактными. Второе правило: классы должны быть еще компактнее.
Как и в случае с функциями, компактность должна стать основным правилом проектирования классов. Размер функций определяется количеством физических строк. В классах используется другая метрика – мы подсчитываем ответственности. Имя класса должно описывать его ответственность. Имя должно стать первым фактором, способствующим определению размера класса.
Если для класса не удается подобрать четкое, короткое имя, то вероятно, он слишком велик. Чем туманнее имя класса, тем больше вероятность, что он имеет слишком много ответственностей. Присутствие в именах классов слов «И», «ИЛИ» и «НО» часто свидетельствует о нежелательном объединении ответственностей.
Роберт Мартин, Чистый код #clean_code
1 329
Поставил еще один полезный инструмент, который ускоряет разработку (особенно API) и повышает уровень удовольствия в крови 😃
Ray позволяет делать дебаг наших приложений локально и на сервере. Поддерживает разные языки и фреймворки 👍
Короче
dd($foo)и
dump($bar)уходят в прошлое! 👋 https://myray.app Подпишись: @onecode_blog
1 329
Именно тесты обеспечивают гибкость, удобство сопровождения и возможность повторного использования нашего кода.
Это объясняется просто: если у вас есть тесты, вы не боитесь вносить изменения в код! Без тестов любое изменение становится потенциальной ошибкой. Какой бы гибкой ни была ваша архитектура, каким бы качественным ни было логическое деление вашей архитектуры, без тестов вы будете сопротивляться изменениям из опасений, что они приведут к появлению скрытых ошибок.
С тестами эти опасения практически полностью исчезают. Чем шире охват тестирования, тем меньше вам приходится опасаться. Вы можете практически свободно вносить изменения даже в имеющий далеко не идеальную архитектуру, запутанный и малопонятный код. Таким образом, вы можете спокойно улучшать архитектуру и строение кода!
Роберт Мартин, Чистый код #clean_code
Available now! Telegram Research 2025 — the year's key insights 
