Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.34K photos
20 videos
26 files
4.03K links
Все самое полезное для пхпшника в одном канале.

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

Учиться у нас: https://proglib.io/w/bca892d6

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Как использовать UUID в Laravel 10

Здесь рассказывается, как интегрировать UUID (Универсально Уникальные Идентификаторы) в ваше приложение Laravel 10, предоставляя преимущества в распределенных системах. Вот краткое изложение шагов:

Генерация UUID с использованием Str Facade:

Используйте фасад Str в Laravel для генерации UUID.
Приведен пример в UserController с методами index и view.

Генерация UUID с использованием Composer-пакета ramsey/uuid:

Установите пакет ramsey/uuid с помощью Composer.
Обновите схему вашей базы данных, заменив традиционное поле id на поле uuid в миграциях.
Укажите UUID в качестве первичного ключа в модели и отключите инкрементирование для UUID.
Используйте метод boot для генерации UUID перед сохранением модели.
Внесите соответствующие изменения в контроллеры и представления.
Убедитесь, что маршруты принимают UUID.
Запустите миграцию для применения изменений к базе данных.
🥱18👍2
Heroicons Micro — значки для интерфейсов высокой плотности

Компания Tailwind Labs представила Heroicons Micro как часть существующего набора Heroicons . Версия Micro включает 288 новых значков, созданных специально для интерфейсов с высокой плотностью размещения. Вместо того, чтобы уменьшать существующий набор иконок, каждая иконка тщательно перерисовывается с нуля до оптимального размера 16х16
❤‍🔥15
🔍Насколько легко «войти в айти»?

Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.

👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱61
#дайджест #phpdevjob

Вакансии недели для Москвы 👨🏻‍🏫

PHP-программист в ПЛАТФОРМА
Москва. Информационные технологии, системная интеграция.
Подробнее

Программист PHP в SCORISTA
Москва. Финтех компания.
Подробнее

PHP-разработчик в Дивлаб
Москва. IT-поддержка полного цикла.
Подробнее

Backend Developer PHP в ТолкФинанс
Москва. Финтех компания.
Подробнее

Backend-разработчик в КСА
Москва. Консалтинг, проектирование, разработка решений на платформе 1С.
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
🤔152👍1
Светлая или темная тема в IDE?

❤️ — Светлая
👍 — Темная
👍32181👾4🎉3🌚2
Раскрытие уязвимостей: что первично: ошибка безопасности в PHP или CVE?

CVE (Common Vulnerabilities and Exposures) представляет собой систему идентификации и обозначения уязвимостей в программном обеспечении и аппаратуре. Эта система предназначена для обеспечения единообразного идентификационного номера для каждой конкретной уязвимости, чтобы облегчить обмен данными между организациями и обеспечить стандартизированный способ отслеживания и обсуждения уязвимостей.

Каждая запись CVE представляет собой уникальный идентификационный номер, присвоенный конкретной уязвимости. Номер состоит из префикса «CVE-», за которым следует уникальный числовой идентификатор. Например, «CVE-2022-12345».

В октябре 2021 года Positive Security сообщили о уязвимости в библиотеке dompdf, но не получили ответа в течение многих месяцев. Затем проблема была вынесена на рассмотрение в репозиторий проекта, что привело к исправлению после публичного раскрытия. DeveloperSteve использовал уязвимость для создания обратной оболочки, в конечном итоге получив CVE через семь месяцев после первоначального отчета.

Есть тонкая грань между классификацией уязвимости как ошибки или угрозы безопасности. Основной акцент на важность раннего выявления проблем безопасности командами безопасности и посвященность организаций, таких как Snyk, в оперативном сообщении о уязвимостях. Процесс запроса CVE включает в себя определение Авторитета по выделению номеров CVE (CNA) и предоставление подробной информации для проверки.
👍3👏1🎉1
Расскажите про функции Closure::bindTo и Closure::bind

Closure::bindTo и Closure::bind — это методы в PHP, которые позволяют изменять контекст для замыканий (closures). Они предоставляют возможность явно привязать замыкание к определенному объекту или классу.

Closure::bindTo:
Closure::bindTo используется для создания нового замыкания, связанного с указанным объектом. Этот метод возвращает новый объект замыкания с измененным контекстом.

Closure::bind:
Closure::bind также позволяет изменять контекст замыкания, но вместо создания нового замыкания, этот метод изменяет контекст существующего замыкания. Это статическая версия метода bindTo

#вопросы_с_собеседований
👍13🎉2
😺🐙 Как разобраться в Git: краткая инструкция для джунов

Расскажем, как Git хранит данные, отслеживает изменения и позволяет разработчикам управлять историей коммитов.
🔥52
Наводим порядок в наших миграциях

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

Локальная разработка и тестирование:

🟠Рекомендуется создать отдельную базу данных для локальной разработки.
🟠Использование doctrine:migrations:migrate вместо doctrine:schema:update для получения структуры базы данных из продакшена, включая таблицу migration_versions.

Очистка объемного каталога миграций:

🟠Если каталог миграций становится слишком большим, рекомендуется провести его очистку для локальной разработки.
🟠Можно удалить все миграции и создать новую единую миграцию с помощью symfony console doctrine:migrations:dump-schema.

Пропуск повторной миграции на продакшене:

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

Удаление ранее выполненных миграций из продакшена:

🟠Генерировать пустую миграцию и добавлять SQL-оператор для удаления предыдущих записей из таблицы migration_versions.

Тестирование и развертывание:

🟠Проверить новые миграции локально перед развертыванием на продакшене.
🟠Убедиться, что таблица migration_versions содержит только актуальные записи.
😁4
Как вы обеспечиваете кеширование в ваших приложениях?🔽🔽🔽
🔥3🎉2
Понимание предопределенных констант PHP

Основные группы констант включают информацию о версии PHP, константы для работы с операционной системой и конфигурацией, числовые константы, связанные с целыми и числами с плавающей запятой, константы для работы с путями и директориями файловой системы, а также константы для обработки ошибок и булевы и null-константы.

Статья предоставляет примеры таких констант, как PHP_VERSION, PHP_OS, PHP_SAPI, PHP_INT_MAX, true, false и других, подчеркивая их важность для получения информации о среде выполнения PHP и управления различными аспектами разработки.
👍53
🧠🧩 Зачем айтишнику психолог?

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

🔗 Читать статью
🔗 Зеркало
🎉5🌚4
Чему вы бы хотели научиться за эти праздники?
😁11🎉2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
CI/CD Workflow: упрощенный гайд от ByteByteGo (Alex Xu)

CI/CD — это методология, которая позволяет автоматизировать процесс разработки и доставки ПО в продакшн.

Будь вы разработчиком, специалистом по DevOps, тестировщиком или занимаетесь любой современной ролью в ИТ, CI/CD пайплайны стали неотъемлемой частью процесса разработки.

#инфографика
👍4👏2