ar
Feedback
OneCode

OneCode

الذهاب إلى القناة على Telegram

Full Stack на PHP, Laravel и всё, что с этим связано. YouTube: https://www.youtube.com/@onecode_blog

إظهار المزيد
1 329
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
-830 أيام
أرشيف المشاركات
OneCode
1 328

OneCode
1 328
PlanetScale Облачная безсерверная база данных MySQL для высоких нагрузок без заморочек. https://planetscale.com Подпишись: @o
PlanetScale Облачная безсерверная база данных MySQL для высоких нагрузок без заморочек. https://planetscale.com Подпишись: @onecode_blog

OneCode
1 328
TenChat - отечественный аналог Linkedin. Фронтенд на Tailwind и Vue 😃 https://tenchat.ru/ Подпишись: @onecode_blog
TenChat - отечественный аналог Linkedin. Фронтенд на Tailwind и Vue 😃 https://tenchat.ru/ Подпишись: @onecode_blog

OneCode
1 328
Для тех кто интересуется здоровьем очень рекомендую эту книгу: https://vk.com/@roman.milovanov-chso Читай каждый день по 1 главе и всего за 3 недели узнаешь всё, что нужно 👍

OneCode
1 328

OneCode
1 328
Мидлварь 👇

OneCode
1 328
В выражении match можно использовать анонимную функцию, если поместить её в скобки и сразу её вызвать. Функция будет вызвана
В выражении
match
можно использовать анонимную функцию, если поместить её в скобки и сразу её вызвать. Функция будет вызвана только если условие совпадёт. Иногда полезно использовать такую функцию здесь, если нужно выполнить несколько действий в одном кейсе, а выносить в отдельный метод не хочется. Подпишись: @onecode_blog

OneCode
1 328
Tabler - интересный шаблон для админки на основе Bootstrap 👇 Demo: https://preview.tabler.io/ Сайт: https://tabler.io Спасиб
Tabler - интересный шаблон для админки на основе Bootstrap 👇 Demo: https://preview.tabler.io/ Сайт: https://tabler.io Спасибо, что делитесь полезными инструментами! Подпишись: @onecode_blog

OneCode
1 328

OneCode
1 328
Находясь в отпуске стараюсь изучить материалы, до которых в рабочее время руки не доходят. Купил этот курс еще месяц назад, н
Находясь в отпуске стараюсь изучить материалы, до которых в рабочее время руки не доходят. Купил этот курс еще месяц назад, но добрался только недавно. Ура! Считаю, что покупа чужого практического опыта - важнейшая часть развтия! https://education.borshev.com/architecture Расскажи, какие реально полезные курсы покупал в этом году? Подпишись: @onecode_blog

OneCode
1 328
Тестирую коворкинг CoSea Coworking в Аланьи, Турция. Стоимость в конце видео. Инстаграм: instagram.com/cosea_coworking Подпишись: @indigoram89_blog

OneCode
1 328
Плюсы микросервисов Сегодня коротко обсудим основные преимущества микросервисной архитектуры. В процессе чтения предлагаю подумать - действительно ли тебе не хватает этих плюсов при работе в монолитной архитектуре? Или всё это фигня. Итак, мы переписали интернет-магазин на микросервисную архитектуру и даже распилили базу данных на части. Какие плюсы получили? Маленькие проекты Больше нет огромной кодовой базы в одном репозитории, где модули тесно связаны друг с другом. Вместо это есть несколько маленьких и понятных проектов, изолированных в своём репозитории. Переименовать поле в базе данных микросервиса уже не так страшно - другой сервис точно НЕ использует его напрямую. Нужно доработать модуль доставки? Открыл микросервис доставки и работаешь с его относительно небольшим кодом. Устойчивость к ошибкам Каждая ошибка влияет на свой микросервис. Ошибка в одном микросервисе редко приводит к остановке всего приложения. Конечно, здесь важно предусмотреть поведение сервисов, если "сосед" не отвечает, но в целом универсальной страницы "Упс, что-то пошло не так" достаточно. Отвалился сервис доставки? Хреново, но всё остальное работает. Быстрая доставка обновлений В маленький микросервис с чёткими границами проще вносить изменения. Ты можешь полностью изменять реализацию сервиса, не боясь сломать что-то в другом микросервисе. Главное, чтобы программынй интерфейс (API) и события (Events) остались прежними. Ну или выкатить новую версию API, а старую пока оставить для обратной совместимости. Нужно добавить новый способ доставки? Идёшь в сервис доставки и решаешь задачу, не беспокоясь о том, что можешь сломать сервис заказов или оплаты. Высокая доступность Можно масштабировать каждый сервис отдельно. Например использовать Docker Swarm, Kubernetes или вручную накинуть серверов при необходимости. Не всем сервисам нашего магазина нужны одинаковые ресурсы. Сервис аналитики требует больше ресурсов для генерации отчётов? Накинем ему мощностей в индивидуальном порядке, пока остальные сервисы работают на своих ресурсах. А в черную пятницу его наоборот можно не трогать. Выделеная команда Можно использовать небольшую команду из 3-5 человек для обслуживания 2-3 микросервисов. Умственная нагрузка на дизайнера, разработчика, тестировщика и менеджера меньше, потому что они несут ответственность только за свои сервисы. Нужно разработать новый сервис с Искуственным интеллектом? Соберём команду с соответсвующим опытом для этого микросервиса. При этом нет надобности показывать им код остальных сервисов. Любые технологии В микросервисах можно использовать разные языки, фреймворки и технологии, которые лучше подходят для решения задачи. Сервисы обмениваются данными с помощью API и событий, а не вызова функций напрямую в коде, поэтому им нет разницы что находится внутри другого сервиса. Каталог товаров, модуль заказов и доставки напишем на Laravel, потому что это быстро. Модуль рекомендаций на Python, потому что это удобно, а реалтайм оставим для NodeJS, потому что это нативно. Быстрая сборка и тестирование Автоматические тесты в каждом отдельном микросервисе проходят в разы быстрее, потому что там мало кода и функций. Сборка сервисов, написаных на компилируемых языках тоже будет выполняться быстро. Получаем экономию времени на разработку и тестирование. Вынесли модуль оплаты в отдельный микросервис? Теперь деплой в продакшен занимает 1 минуту вместо 20 минут, включая сборку и тесты. Итог Всё это звучит круто. Микросервисы приносят большое количество очень важных плюсов. Нам легче думать об отдельных маленьких проектах. Новый разработчик может быстрее изучить микросервис, над которым ему предстоит работать. Изолированный сервис легче развивать, а доставка до конечного пользователя происходит быстрее. Но рано радоваться! Не спеши распиливать свой монолит на части, ведь в следующем посте мы обсудим минусы микросервисов. Подумай что тебя напрягает в твоём монолите сейчас? Или проблемы, которые решают микросервисы высосаны из пальца? Пиши в комментариях! Подпишись и поделись с коллегами: @onecode_blog

OneCode
1 328
Что такое микросервисная архитектура В интернете полно определений, а я попробую описать своими словами. Архитектуру проекта
Что такое микросервисная архитектура В интернете полно определений, а я попробую описать своими словами. Архитектуру проекта можно назвать микросервисной, если этот проект состоит из нескольких мини-проектов (микросервисов). Например, интернет-магазин, в котором каталог товаров, система заказов, сервис доставки и модуль оплаты - это отдельные проекты на Laravel. Каждый микросервис имеет свой GIT-репозиторий, свою базу данных и ответственного разработчика. Микросервисы принято разделять по бизнес-функциям - отдел доставки, отдел оплаты, отдел аналитики, отдел товаров. Под каждый отдел свой микросервис. Оптимальным размером микросервиса считается такой размер, который разработчик (или команда) может написать с нуля за 1-2 спринта. Микросервисы "общаются" друг с другом синхронно через HTTP API или асинхронно брокер сообщений (через события). В общем если твой проект имеет один репозиторий, в котором хранится весь исходный код - это монолит. А если проект состоит из нескольких репозиториев - это скорее всего микросервисы. Пример монолита и микросервисов на картинке. Следудющие посты будут про плюсы и минусы микросервисов. Поделись опытом разработки микросервисной архитектуры в комментариях! Подписывайся: @onecode_blog

OneCode
1 328
Cлабая связанностью и сильная связностью Программный компонент должен иметь небольшое число внешних связей и отвечать за реше
Cлабая связанностью и сильная связностью Программный компонент должен иметь небольшое число внешних связей и отвечать за решение близких по смыслу задач. https://medium.com/german-gorelkin/low-coupling-high-cohesion-d36369fb1be9 Подписывайся: @onecode_blog

OneCode
1 328
PHP функция get_object_vars возвращает массив, в котором ключи - это названия свойств объекта, а значения - это значения свой
+2
PHP функция
get_object_vars
возвращает массив, в котором ключи - это названия свойств объекта, а значения - это значения свойств объекта. Функция учитывает область видимости. То есть при вызове снаружи (первый скрин) она вернёт только публичные свойства, а при вызове внутри (второй скрин) она вернёт все свойства объекта, потому что они доступны в этом контексте. https://www.php.net/manual/ru/function.get-object-vars.php Может быть удобно, например, для конвертации DTO в массив (третий скрин) 👍 Подписывайся: @onecode_blog

OneCode
1 328
Шаблонизатор Laravel Blade позволяет возвращать в ответе на запрос часть страницы 💪 https://laravel.com/docs/9.x/blade#rende
Шаблонизатор Laravel Blade позволяет возвращать в ответе на запрос часть страницы 💪 https://laravel.com/docs/9.x/blade#rendering-blade-fragments Подписывайся: @onecode_blog

OneCode
1 328
Сорри за офтоп, парни, днюха же 😁

OneCode
1 328
С днём рождения меня! Сегодня моя очередь принимать поздравления, поэтому можешь начинать 😁 В честь праздника поехали в горы
+1
С днём рождения меня! Сегодня моя очередь принимать поздравления, поэтому можешь начинать 😁 В честь праздника поехали в горы, где сняли некоторые моменты на видео 👍 Вашему вниманию Турция с другой стороны - Каньон Сападере ⛰ Всем спасибо за тёплые слова и подарки! 🎁 Подписывайся @indigoram89_blog

OneCode
1 328
Рекомендую Tinkerwell Тейлор тоже использует Tinkerwell каждый день 😃 https://tinkerwell.app Подписывайся: @onecode_blog
Рекомендую Tinkerwell Тейлор тоже использует Tinkerwell каждый день 😃 https://tinkerwell.app Подписывайся: @onecode_blog

OneCode
1 328
Мои расширения VSCode Для Full Stack разработки на PHP и Laravel. Напиши в комментариях друние полезные расширения, которыми
+1
Мои расширения VSCode Для Full Stack разработки на PHP и Laravel. Напиши в комментариях друние полезные расширения, которыми реально пользуешься! Подписывайся: @onecode_blog