Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Что такое транзакция?
Транзакция — это последовательность операций чтения и записи, объединенных в единое логическое действие. Транзакция должна быть атомарной, согласованной, изолированной и долговечной (ACID-свойства).
Атомарность означает, что транзакция либо выполняется полностью, либо откатывается целиком. Если хотя бы одна операция внутри транзакции не может быть выполнена, то все изменения откатываются.
Согласованность подразумевает, что транзакция должна переводить базу данных из одного согласованного состояния в другое. Все ограничения и правила, заданные для данных, должны быть соблюдены.
Изолированность гарантирует, что транзакция ведется в отдельной среде и не вмешивается в работу других транзакций, одновременно выполняющихся в системе. Результат выполнения транзакции должен быть таким же, как если бы она была выполнена последовательно.
Долговечность обеспечивает сохранение результатов выполненной транзакции даже в случае сбоев системы или отключения питания. Результаты транзакции должны быть сохранены в базе данных и доступны после восстановления системы.
Транзакции обычно применяются для группировки логически связанных операций, чтобы гарантировать целостность данных при работе с базой данных. В языке программирования PHP транзакции могут быть реализованы с использованием соответствующих функций и методов для работы с базами данных, таких как mysqli или PDO.
Транзакция — это последовательность операций чтения и записи, объединенных в единое логическое действие. Транзакция должна быть атомарной, согласованной, изолированной и долговечной (ACID-свойства).
Атомарность означает, что транзакция либо выполняется полностью, либо откатывается целиком. Если хотя бы одна операция внутри транзакции не может быть выполнена, то все изменения откатываются.
Согласованность подразумевает, что транзакция должна переводить базу данных из одного согласованного состояния в другое. Все ограничения и правила, заданные для данных, должны быть соблюдены.
Изолированность гарантирует, что транзакция ведется в отдельной среде и не вмешивается в работу других транзакций, одновременно выполняющихся в системе. Результат выполнения транзакции должен быть таким же, как если бы она была выполнена последовательно.
Долговечность обеспечивает сохранение результатов выполненной транзакции даже в случае сбоев системы или отключения питания. Результаты транзакции должны быть сохранены в базе данных и доступны после восстановления системы.
Транзакции обычно применяются для группировки логически связанных операций, чтобы гарантировать целостность данных при работе с базой данных. В языке программирования PHP транзакции могут быть реализованы с использованием соответствующих функций и методов для работы с базами данных, таких как mysqli или PDO.
👍3
↔️Преобразование значений Fluent в массивы в Laravel
Новый метод
🔗Ссылка на медиум
Новый метод
array()
в Laravel обеспечивает чистый способ преобразования значений без ручного приведения.🔗Ссылка на медиум
👍4👏1🌚1
⚡️ Если вы вдруг забыли: у нас можно купить рекламу
Библиотека программиста — медиа с миллионной аудиторией из IT-сферы. Что у нас есть:
• 60+ телеграм-каналов по разным IT-направлениям, от Python до DevOps
• 25 000 daily active users на сайте, который поможет усилить продвижение
• Возможность сделать нативную интеграцию, виральный пост и не только
За айтишной аудиторией — к нам 😏
По вопросам рекламы пишите сюда → @proglib_adv
Библиотека программиста — медиа с миллионной аудиторией из IT-сферы. Что у нас есть:
• 60+ телеграм-каналов по разным IT-направлениям, от Python до DevOps
• 25 000 daily active users на сайте, который поможет усилить продвижение
• Возможность сделать нативную интеграцию, виральный пост и не только
За айтишной аудиторией — к нам 😏
По вопросам рекламы пишите сюда → @proglib_adv
❤2👍1🥱1
💬Метод «foreignIdFor»
При определении внешних id Laravel предлагает несколько методов, один из которых —
👉Документация
#совет
При определении внешних id Laravel предлагает несколько методов, один из которых —
foreignIdFor()
. Этот метод использует имя модели и добавляет к нему «id». Это не только делает ваш код более читабельным, но и позволяет быстро перейти к модели из миграции 🚀👉Документация
#совет
🔥8🥱1
Готовы проверить свои навыки работы с Git? Пройдите наш квест и узнайте, насколько искусны в управлении репозиториями.
Посмотрим, пугают ли вас git stash, git rebase и прочие страшные слова
Please open Telegram to view this post
VIEW IN TELEGRAM
😢3👏2👍1😁1🌚1
🎞️ Видео, от которого сложно оторваться: эволюция языков программирования с 1958 по 2025
В этом ролике — детальная инфографика, которая показывает, как менялись самые популярные языки программирования за последние 67 лет.
➖ Что внутри:
▪️ Как C, Java и Python захватывали мир.
▪️ Когда Fortran и COBOL теряли свои позиции.
▪️ Какие языки стали лидерами в последние годы.
Рейтинг построен на основе опросов, данных GitHub, книг и статей, а также аналитики популярности за последние годы.
В этом ролике — детальная инфографика, которая показывает, как менялись самые популярные языки программирования за последние 67 лет.
➖ Что внутри:
▪️ Как C, Java и Python захватывали мир.
▪️ Когда Fortran и COBOL теряли свои позиции.
▪️ Какие языки стали лидерами в последние годы.
Рейтинг построен на основе опросов, данных GitHub, книг и статей, а также аналитики популярности за последние годы.
👍2🥱2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😂 Dev Memes: утренние дилеммы, правки и зарплаты
Третья неделя года позади, а мы всё ещё смеёмся над мемами. Ловите подборку лучших шуток из нашего канала «Библиотека IT-мемов».
🔗 Подборка самых топовых мемов
Третья неделя года позади, а мы всё ещё смеёмся над мемами. Ловите подборку лучших шуток из нашего канала «Библиотека IT-мемов».
🔗 Подборка самых топовых мемов
😁8❤1👍1
🧩Экономичные контейнерные Smoke-тесты, которые должен иметь каждый проект Symfony
Smoke-тесты — это простые проверки, которые не требуют подключения к базе данных, внешним сервисам, или использования моков. Они работают с контейнером зависимостей Symfony, пишутся быстро и будут полезны на протяжении всего жизненного цикла проекта.
Автор статьи рассказывает о важности контейнерных smoke-тестов в проектах Symfony на личным опытом: как такие тесты помогли обнаружить сложные баги, которые не выявили юнит-, интеграционные и E2E-тесты. Эти баги связаны не только с бизнес-логикой, но и с взаимодействием с фреймворком, что делает их особенно трудными для обнаружения.
👉Читать статью
Smoke-тесты — это простые проверки, которые не требуют подключения к базе данных, внешним сервисам, или использования моков. Они работают с контейнером зависимостей Symfony, пишутся быстро и будут полезны на протяжении всего жизненного цикла проекта.
Автор статьи рассказывает о важности контейнерных smoke-тестов в проектах Symfony на личным опытом: как такие тесты помогли обнаружить сложные баги, которые не выявили юнит-, интеграционные и E2E-тесты. Эти баги связаны не только с бизнес-логикой, но и с взаимодействием с фреймворком, что делает их особенно трудными для обнаружения.
👉Читать статью
❤5😁5👍2
💼Как организовать структуру приложения
Структура кода — это не просто способ организации файлов и папок в проекте, это фундаментальный аспект разработки, который влияет на её эффективность, качество, и долгосрочную поддержку. Красиво организованный код облегчает понимание, упрощает внедрение новых функций и снижает вероятность ошибок. Независимо от масштаба проекта, будь то небольшое приложение или сложная система, структурированный подход к организации кода способствует снижению рисков, связанных с техническим долгом, и повышает продуктивность команды разработчиков. Однако не все разработчики осознают, насколько велика разница между проектами с хорошо продуманной структурой и хаотично организованной.
В этой статье разбирается, что значит «понятная структура кода», и почему её наличие столь важно для успешной разработки.
👉Хабр
Структура кода — это не просто способ организации файлов и папок в проекте, это фундаментальный аспект разработки, который влияет на её эффективность, качество, и долгосрочную поддержку. Красиво организованный код облегчает понимание, упрощает внедрение новых функций и снижает вероятность ошибок. Независимо от масштаба проекта, будь то небольшое приложение или сложная система, структурированный подход к организации кода способствует снижению рисков, связанных с техническим долгом, и повышает продуктивность команды разработчиков. Однако не все разработчики осознают, насколько велика разница между проектами с хорошо продуманной структурой и хаотично организованной.
В этой статье разбирается, что значит «понятная структура кода», и почему её наличие столь важно для успешной разработки.
👉Хабр
👍4😁2
Карточка состояния базы данных для Laravel Pulse
Разработчик Джейми Схоутен создал изящную карту Laravel Pulse для мониторинга состояния вашей базы данных, предоставляя ключевые показатели, такие как активные потоки, соединения и многое другое
Эта конфигурация карты поддерживает настройку нескольких баз данных, и вы можете указать, какие типы данных включать.
👉Гитхаб
Разработчик Джейми Схоутен создал изящную карту Laravel Pulse для мониторинга состояния вашей базы данных, предоставляя ключевые показатели, такие как активные потоки, соединения и многое другое
Эта конфигурация карты поддерживает настройку нескольких баз данных, и вы можете указать, какие типы данных включать.
👉Гитхаб
👍2❤1
В чем разница между Eloquent и Query Builder в Ларавеле?
В Laravel Eloquent — это инструмент для объектно-реляционного отображения (ORM), который предоставляет простой и удобный способ взаимодействия с базой данных с использованием PHP-кода. Eloquent позволяет определять ваши таблицы базы данных как классы, а строки таблицы как объекты. С другой стороны, Query Builder предоставляет более низкоуровневый способ создания SQL-запросов с использованием цепочки методов.
Основное различие между Eloquent и Query Builder заключается в том, что Eloquent предоставляет более высокоуровневый, более выразительный API для взаимодействия с вашей базой данных, в то время как Query Builder предоставляет более низкоуровневый, более гибкий API.
#вопросы_с_собеседования
В Laravel Eloquent — это инструмент для объектно-реляционного отображения (ORM), который предоставляет простой и удобный способ взаимодействия с базой данных с использованием PHP-кода. Eloquent позволяет определять ваши таблицы базы данных как классы, а строки таблицы как объекты. С другой стороны, Query Builder предоставляет более низкоуровневый способ создания SQL-запросов с использованием цепочки методов.
Основное различие между Eloquent и Query Builder заключается в том, что Eloquent предоставляет более высокоуровневый, более выразительный API для взаимодействия с вашей базой данных, в то время как Query Builder предоставляет более низкоуровневый, более гибкий API.
#вопросы_с_собеседования
🥱12👍8❤1🔥1
Форматирование валют с помощью расширенного Number Helper в Laravel
Number helper теперь поддерживает настраиваемые валюты по умолчанию, что упрощает форматирование цен в разных регионах и различных сценариях использования.
🔗Сайт Laravel
Number helper теперь поддерживает настраиваемые валюты по умолчанию, что упрощает форматирование цен в разных регионах и различных сценариях использования.
🔗Сайт Laravel
👍4😁3
glob() со скрытыми файлами
По умолчанию функция
С помощью опции
#совет
По умолчанию функция
glob()
перечисляет только файлы, которые не начинаются с точки .. Это означает, что скрытые файлы в Linux не перечисляются.С помощью опции
GLOB_BRACE`
можно перечислить все файлы и даже отфильтровать постоянно присутствующие '.' и '..'#совет
👾3👍1🤔1😢1🌚1