TGViewer
Channel Public Channel
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

@phpproglib

Все самое полезное для пхпшника в одном канале.

По рекламе: @tproger_sales_bot

Учиться у нас: clc.to/M561SQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Subscribers
10.5K
Photos
1.8K
Videos
31
Links
4.6K

Showing posts older than #4167 · Back to latest

Older Posts 20 shown
Post #4166 3.53K
Пиши код в Laravel как senior

🚀Здесь рассматриваются ключевые практики и принципы разработки во фреймворке Laravel. Начинается всё с обзора основ Laravel, 🏛️ включая его архитектуру MVC, ORM Eloquent, шаблонизатор Blade, а также компоненты, такие как миграции, сидеры и промежуточные слои.🛠️

Далее предоставляются примеры ❌«неправильного» и ✅«правильного» кода, демонстрируя, как следовать стандартам и соглашениям Laravel для написания чистого, эффективного и масштабируемого кода.

Также обсуждаются важность принципов DRY и использования сервисов для обработки бизнес-логики, а также предлагает советы по оптимизации и лучшим практикам, таким как использование команд Artisan, миграции базы данных, промежуточные слои и автоматизированное тестирование.
DEV Community Writing Code like a Senior Developer in Laravel In the evolving landscape of web development, Laravel has emerged as one of the prominent PHP...
  • 🥱 19
  • 👍 2
  • 👾 2
  • 🌚 1
Post #4165 3.38K
Какие способы оптимизации производительности баз данных знаете?

Существует несколько основных способов оптимизации баз данных:

Индексирование: Убедитесь, что ваша база данных имеет правильные индексы для часто используемых запросов. Индексы позволяют ускорить поиск данных.

Оптимизация запросов: Напишите запросы таким образом, чтобы они были эффективными. Используйте инструкции JOIN, WHERE и GROUP BY там, где это необходимо, чтобы снизить объем возвращаемых данных.

Кэширование: Используйте кэширование результатов запросов там, где это возможно. Например, результаты запросов к базе данных могут быть кэшированы в Redis или Memcached.

Ограничение объема данных: Загружайте только те данные, которые действительно нужны. Используйте LIMIT и OFFSET при запросах, чтобы извлекать только необходимое количество записей.

Оптимизация структуры таблиц: Проведите анализ структуры таблиц и убедитесь, что она оптимально сбалансирована для ваших запросов. Иногда изменение типов данных, уменьшение размера полей или нормализация таблиц может улучшить производительность.

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

Масштабирование базы данных: При необходимости масштабируйте базу данных горизонтально или вертикально. Горизонтальное масштабирование (шардинг) позволяет распределить данные по нескольким серверам, а вертикальное масштабирование (разделение на таблицы) позволяет распределить данные по разным таблицам или базам данных.

Мониторинг и профилирование: Регулярно отслеживайте производительность запросов и операций базы данных с помощью инструментов мониторинга и профилирования. Это позволяет идентифицировать узкие места и проводить дальнейшую оптимизацию.

#вопросы_с_собеседований
  • 👍 14
  • 🌚 5
  • ❤ 1
Post #4164 3.08K
#memes
  • 🔥 25
  • 👍 5
  • 🥱 5
Post #4163 3.24K
ИИ для PHP: как настроить подсказки ИИ для улучшения тестов

В нашем прошлом посте мы рассмотрели, как JetBrains AI Assistant может автоматически создавать модульные тесты. Генерируя скучный шаблонный код, мы можем сразу перейти к более интересной части создания тестов.

Здесь рассказывается про то, как можно улучшить ваши промты для написания более надежных тестов
AI Assistant может быть точнее в предсказании желаемого кода и дает пользователю возможность дополнительно специфицировать запросы с помощью кнопки «Specify».

Также здесь подчеркивается, что целью не является генерация идеального кода, а скорее упрощение скучных и рутинных задач, чтобы программисты могли сосредоточиться на более интересных частях разработки.
Telegram Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter ИИ для PHP: как автоматизировать модульное тестирование с помощью AI Assistant? JetBrains предлагает использовать искусственный интеллект для автоматизации процесса тестирования, представляя новый инструмент JetBrains AI Assistant. С помощью этого инструмента…
  • 🥱 4
  • 👍 2
  • ❤ 1
Post #4162 3.35K
Практический пример декомпозиции монолитного PHP приложения

Декомпозиция монолита — не редкая проблема. Это связано с тем, что на ранних стадиях развития любого стартапа накапливается так называемый decision debt — выбранная архитектура является оптимальной для быстрой разработки и экспериментирования, но не для зрелого продукта.

❗«Decision debt» относится к ситуации, когда команда разработчиков откладывает принятие решения по определенным важным аспектам проекта или архитектурным решениям. Этот долг накапливается, когда разработчики временно откладывают принятие решения, чтобы сосредоточиться на разработке продукта в срок или избежать затрат времени на принятие сложных решений.

Учитывая популярность проблемы, существует множество книг и статей о подходах к её решению, но автор считает, что есть недостаток практических примеров. Поэтому, в этой статье он решил сосредоточиться на технических деталях, используя в качестве примера приложение, написанное на PHP и фреймворке Symfony.
Хабр Практический пример декомпозиции монолитного PHP приложения Введение Стоит отметить, что сам по себе монолит не является антипаттерном и может отлично работать (и часто работает) при определенных условиях, обычно - когда он выбран осознанно. Но чаще всего...
  • 👍 7
  • ❤ 1
Post #4161 2.82K

Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt

🧿 Знания — сила! Что должен изучить каждый программист?

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

‼️ Мы проведем анализ ответов и составим ТОП-лист навыков, которые не помешают освоить каждому программисту и разработчику для успешного карьерного роста!

👉 Опросик
  • 😁 7
  • 🤔 1
Post #4160 2.94K
Мечты о строго и статически типизированном PHP

Сегодня мы рассмотрим важный вопрос. Это возможность превращения PHP из динамически типизированного языка в статически типизированный с помощью введения различных типовых объявлений. С момента выпуска PHP 7.0 в декабре 2015 года в языке появились новые функции для работы с типами данных, такие как типизация параметров функций, возвращаемые типы и свойства классов.

Здесь изложены идеи по дальнейшему усовершенствованию типовой системы PHP. Предлагается внедрение типизации переменных, поддержку типизированных массивов и введение псевдонимов типов для улучшения читаемости и поддержки кода.

Кроме того, обсуждается вопрос о том, каким образом внедрить эти функции, предлагаются различные варианты синтаксиса для реализации типизации переменных и массивов, а также предлагается использование псевдонимов типов для упрощения работы с повторяющимися типами данных в коде.
  • 👍 5
Post #4157 3.12K
💬 Как вы относитесь к парному программированию? Это то самое, при котором два разраба работают вместе над одной задачей, сидя за одним рабочим местом.
  • 👍 18
  • 🥱 7
  • 🌚 5
  • 😁 1
Post #4156 3.47K
Laravel 11. Что нового?

Команда Тейлора скоро выпустит новую мажорную версию фреймворка. Laravel 11 продолжает улучшения, начатые в Laravel 10.x, представляя упрощенную структуру приложения, ограничение скорости в секунду, маршруты проверки состояния приложения, элегантную ротацию ключа шифрования, улучшения в тестировании очередей, транспорт отправки почты, интеграцию с Prompt валидатором, новые команды Artisan и другие нововведения. Кроме того, был представлен Laravel Reverb — масштабируемый сервер WebSocket, обеспечивающий надежную работу в реальном времени.

Основные изменения в Laravel 11:

🔴Требуется PHP 8.2.

🟠Упрощенная структура приложения с новым файлом bootstrap/app.php для настройки маршрутизации, промежуточного ПО, обработки исключений и т.д.

🟡Вместо пяти сервис-провайдеров в Laravel 11 по умолчанию только один — AppServiceProvider, объединяющий функционал предыдущих.

🟢Расширены возможности использования переменных окружения для конфигурации фреймворка.

⚪Удалены файлы маршрутов api.php и channels.php, но их можно создать при необходимости.

🟣Мидлвары теперь настраиваются в bootstrap/app.php, что уменьшает объем приложения.

🔵Планировщик задач теперь настраивается непосредственно в файле routes/console.php.

🔴Обработка исключений также настраивается в bootstrap/app.php.

🟠По умолчанию новые приложения Laravel используют SQLite для хранения данных, что упрощает начало работы.

🟡Laravel Reverb предоставляет быструю и масштабируемую работу с WebSocket, а также поддерживает горизонтальное масштабирование с использованием Redis.

🟢Добавлена поддержка ограничения скорости в секунду.

⚪Введены маршруты проверки состояния приложения.

🟣Добавлена элегантная ротация ключей шифрования.

🔵Добавлены новые команды Artisan для быстрого создания классов, интерфейсов и трейтов.
  • 👍 20
  • 🔥 10
  • 😁 5
  • 🥱 4
  • ❤ 2
Post #4155 3.12K
Освоение маршрутов Laravel: комплексное руководство для всех уровней

Это обзор маршрутизации в Laravel для пользователей всех уровней: от новичков до опытных разработчиков. Он начинается с простых концепций, таких как базовая маршрутизация и передача параметров, затем переходит к более сложным концепциям, таким как именованные маршруты, группы маршрутов и промежуточное программное обеспечение.

Далее представляются более продвинутые техники, такие как привязка модели к маршруту, контроллеры ресурсов и API-маршруты.

В целом, автор подчеркивает важность понимания маршрутизации в Laravel для создания эффективных и динамичных веб-приложений, а также призывает читателей экспериментировать с изученными концепциями для улучшения навыков в разработке на Laravel.
  • 😁 7
Post #4154 3.24K
В чем разница между функциями «htmlentities» и «htmlspecialchars» в PHP?

В PHP функции «htmlentities()» и «htmlspecialchars()» используются для кодирования HTML-сущностей, но они имеют разные цели:

«htmlspecialchars()»: Эта функция в основном используется для экранирования символов HTML, которые имеют специальное значение в HTML, таких как <, >, &, и «. Она преобразует эти символы в соответствующие HTML-сущности (<, >, &, «). Это часто используется для предотвращения атак XSS (межсайтового скриптинга), гарантируя, что пользовательский ввод отображается «как есть», без интерпретации как HTML.

«htmlentities()»: Эта функция преобразует все применимые символы в соответствующие HTML-сущности. В дополнение к символам, экранируемым «htmlspecialchars()», она также преобразует символы, такие как не-ASCII символы и различные символы. Эта функция часто используется, когда необходимо гарантировать безопасное кодирование всех символов для вывода HTML, особенно при работе с многоязычным контентом.

#вопросы_с_собеседований
  • ❤ 9
  • 😁 2
Post #4153 3.34K
#memes
  • 😁 27
  • ❤ 2
Post #4151 3.16K
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Post #4150 2.76K

Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel

#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️Веб-разработчик
Тула. ИнтерЛабс — интернет-маркетинговое агентство полного цикла
Подробнее

▪️Стажер-разработчик PHP
Ульяновск. FrameWork Team — аутсорс-разработка
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️PHP разработчик
Москва. GeekChain — разработка ПО
Подробнее

▪️PHP разработчик
Москва. Мой Самокат — сервис, специализирующийся на аренде девайсов по системе подписки
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️Senior PHP developer
Москва. СЕЙЧАС — информационные технологии, системная интеграция
Подробнее

▪️Старший PHP-программист
Москва. Автоспот — сервис продажи авто
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
tula.hh.ru Вакансия Веб-разработчик (junior) в Туле, работа в компании ИнтерЛабс (вакансия в архиве c 7 марта 2024) Зарплата: от 50000 ₽. Тула. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 04.03.2024.
  • 😁 10
  • ❤ 2
  • 🤔 1
Post #4149 2.88K
Использование интерфейсов в сторонних пакетах

Здесь читателям предлагается использовать интерфейсы вместо конкретных классов или перечислений для создания более гибких и расширяемых API в PHP. Начиная с введения перечислений в PHP 8.1, они могут быть удобны для представления ограниченного набора опций. Однако, если требуется более гибкий и расширяемый подход, рекомендуется использовать интерфейсы.

Преимущества такого подхода заключается в loose coupling между компонентами и возможности расширения функционала как для разработчиков пакета, так и для пользователей.
Svenluijten Using interfaces in third-party packages How to effectively use interfaces to make your PHP package easier to work with and more customizable than ever before.
  • 👍 3
Post #4148 2.92K
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
  • 🎉 1
Post #4147 2.91K
Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы

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

1️⃣Первая ошибка заключалась в том, что при хранении данных сессий пользователей в Redis, объекты сессий содержали в себе много лишней информации, включая все выданные токены доступа. Это привело к избыточному потреблению памяти и увеличению нагрузки на дисковую систему.

2️⃣Вторая ошибка заключалась в том, что не была реализована функция удаления старых токенов доступа, что привело к накоплению большого количества устаревших данных в базе данных.

3️⃣Третья ошибка состояла в том, что не был активирован режим без сохранения состояния для одного из API, что привело к ненужному созданию новых сессий при каждом запросе и увеличению нагрузки на систему.

Для решения проблем были предприняты следующие шаги:

🟢Переписана система выдачи токенов доступа, чтобы в базе данных хранились только актуальные токены.
🟢Убрана связь между токенами доступа и объектами пользователей.
🟢Активирован режим без сохранения состояния для соответствующего API.

Кроме того, из этого опыта можно выделить несколько уроков, включая необходимость наличия системы мониторинга, аккуратность при разработке под давлением сжатых сроков, и важность командной работы для предотвращения ошибок.
Хабр Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы Сегодня хочу рассказать о том, какие ошибки можно допустить на начальном этапе создания e-commerce проекта в проектировании модели данных и в разработке веб-приложения. И, самое главное, как эти...
  • 😁 4
  • 🌚 4
  • 👍 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →