Опасности, связанные с unserialize в PHP, и как оставаться в безопасности
PHP-разработчики должны быть осторожны при использовании функции
Опасности unserialize() при работе с ненадёжными данными
Одной из главных угроз является PHP Object Injection (POI). Злоумышленники могут передавать специально сформированные сериализованные объекты, что приведёт к выполнению нежелательных команд, утечке данных или даже удалению файлов. Например, если приложение десериализует пользовательские настройки без проверки входных данных, хакер может внедрить вредоносный объект и выполнить код на сервере.
Последствия атак через PHP Object Injection
Использование уязвимой десериализации может привести к:
🔸удалению файлов на сервере;
🔸выполнению произвольного кода;
🔸краже конфиденциальной информации.
Как защититься
Чтобы минимизировать риски, рекомендуется:
1. Избегать использования
2. Использовать параметр
3. Фильтровать классы при десериализации. Можно проверять, принадлежит ли объект разрешённому списку
4. Проверять и очищать входные данные. Например, использовать регулярные выражения для базовой фильтрации перед десериализацией.
👉Читать полностью
PHP-разработчики должны быть осторожны при использовании функции
unserialize()
, поскольку она может стать уязвимостью, если применять её без соответствующих мер безопасности. Эта функция преобразует сериализованную строку обратно в переменную PHP, что удобно, но при работе с неподтверждёнными данными может привести к серьёзным последствиям.Опасности unserialize() при работе с ненадёжными данными
Одной из главных угроз является PHP Object Injection (POI). Злоумышленники могут передавать специально сформированные сериализованные объекты, что приведёт к выполнению нежелательных команд, утечке данных или даже удалению файлов. Например, если приложение десериализует пользовательские настройки без проверки входных данных, хакер может внедрить вредоносный объект и выполнить код на сервере.
Последствия атак через PHP Object Injection
Использование уязвимой десериализации может привести к:
🔸удалению файлов на сервере;
🔸выполнению произвольного кода;
🔸краже конфиденциальной информации.
Как защититься
Чтобы минимизировать риски, рекомендуется:
1. Избегать использования
unserialize()
для данных от пользователя. Вместо этого применять безопасные форматы, такие как JSON2. Использовать параметр
allowed_classes
(начиная с PHP 7.0) для ограничения десериализуемых классов3. Фильтровать классы при десериализации. Можно проверять, принадлежит ли объект разрешённому списку
4. Проверять и очищать входные данные. Например, использовать регулярные выражения для базовой фильтрации перед десериализацией.
👉Читать полностью
😁3👍1
❓ Секреты стройности монолита: подходы по снятию нагрузки с БД
Была проведена успешная оптимизация нагрузки на базу данных, что также позволило значительно уменьшить её размер.
Помимо сервисов, разработанных на C++, Go и Python, в инфраструктуре остаётся монолитная система, известная как «кора», написанная на PHP. Этот компонент представляет собой обширную кодовую базу, содержащую большое количество бизнес-логики и предоставляющую данные по API для 120 сервисов.
После обновления фреймворка и версии PHP возникла необходимость решения другой важной проблемы, которая становилась всё более заметной. В тот период участились инциденты, связанные с базой данных, что требовало оперативных действий для стабилизации системы. Особенно критичными были случаи во время праздничных дней, когда нагрузка возрастала на 30–40%, а также при проведении массовых операций. Например, однажды сбои произошли в момент добавления бесплатного соуса к каждой позиции меню в крупной сети ресторанов.
🔗Хабр
Была проведена успешная оптимизация нагрузки на базу данных, что также позволило значительно уменьшить её размер.
Помимо сервисов, разработанных на C++, Go и Python, в инфраструктуре остаётся монолитная система, известная как «кора», написанная на PHP. Этот компонент представляет собой обширную кодовую базу, содержащую большое количество бизнес-логики и предоставляющую данные по API для 120 сервисов.
После обновления фреймворка и версии PHP возникла необходимость решения другой важной проблемы, которая становилась всё более заметной. В тот период участились инциденты, связанные с базой данных, что требовало оперативных действий для стабилизации системы. Особенно критичными были случаи во время праздничных дней, когда нагрузка возрастала на 30–40%, а также при проведении массовых операций. Например, однажды сбои произошли в момент добавления бесплатного соуса к каждой позиции меню в крупной сети ресторанов.
🔗Хабр
👍1
📋 Переполнение буфера в Laravel: Причины, профилактика и исправления
Buffer Overflow — это серьёзная уязвимость, при которой избыточные данные переписывают область памяти, что может привести к сбоям, выполнению вредоносного кода и даже захвату системы злоумышленником. Несмотря на то, что Laravel работает на PHP, который управляет памятью автоматически, ошибки в коде могут привести к таким атакам.
Причины возникновения Buffer Overflow в Laravel
Основные факторы, которые могут привести к этой уязвимости:
🔸недостаточная проверка пользовательских данных;
🔸отсутствие ограничений на размер вводимых данных;
🔸некорректная обработка загрузки файлов;
🔸использование потенциально опасных функций, таких как
👉Читать подробнее
Buffer Overflow — это серьёзная уязвимость, при которой избыточные данные переписывают область памяти, что может привести к сбоям, выполнению вредоносного кода и даже захвату системы злоумышленником. Несмотря на то, что Laravel работает на PHP, который управляет памятью автоматически, ошибки в коде могут привести к таким атакам.
Причины возникновения Buffer Overflow в Laravel
Основные факторы, которые могут привести к этой уязвимости:
🔸недостаточная проверка пользовательских данных;
🔸отсутствие ограничений на размер вводимых данных;
🔸некорректная обработка загрузки файлов;
🔸использование потенциально опасных функций, таких как
unserialize()
.👉Читать подробнее
😁5🌚1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #PHPdevjob
Вакансии PHP разработчиков уровня Junior
▪️ PHP-программист
Офис (Балашиха), КОЛЕСО.ру
▪️ PHP-программист
Удалёнка, TRINFI DIGITAL
Вакансии PHP разработчиков уровня Middle
▪️ PHP Developer
Гибрид (Санкт-Петербург), ЮДС Медиа
▪️ PHP-разработчик
Офис (Санкт-Петербург), NewGen Vision
Вакансии PHP разработчиков уровня Senior
▪️ PHP-разработчик
Офис (Барнаул) / Удалёнка, Sveak
▪️ PHP-разработчик
Удалёнка, РОСОСМОТР
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️ PHP-программист
Офис (Балашиха), КОЛЕСО.ру
▪️ PHP-программист
Удалёнка, TRINFI DIGITAL
Вакансии PHP разработчиков уровня Middle
▪️ PHP Developer
Гибрид (Санкт-Петербург), ЮДС Медиа
▪️ PHP-разработчик
Офис (Санкт-Петербург), NewGen Vision
Вакансии PHP разработчиков уровня Senior
▪️ PHP-разработчик
Офис (Барнаул) / Удалёнка, Sveak
▪️ PHP-разработчик
Удалёнка, РОСОСМОТР
Понравились вакансии?
❤️ — да
🤔 — нет
balashiha.hh.ru
Вакансия PHP-программист (Junior) в Балашихе (Московская область), работа в компании Колесо.ру (вакансия в архиве c 28 февраля…
Зарплата: не указана. Балашиха (Московская область). Требуемый опыт: 1–3 года. Полная. Дата публикации: 11.02.2025.
❤3
Какую из следующих функций следует использовать, чтобы найти родительский класс класса?
Anonymous Quiz
53%
get_parent_class()
21%
parent_class()
8%
class_parent()
18%
get_class_parent()
😁12🥱1
🌊 Wave — стартер-пак для разработки SaaS-приложений
Библиотека написана на Laravel и включает все необходимое:
— аутентификация,
— профили пользователей,
— биллинг,
— подписка,
— роли и права доступа,
— уведомления и административная панель.
Инструмент упрощает создание SaaS-приложений, предоставляя необходимые базовые компоненты и гибкие возможности для дальнейшей настройки.
💻 GitHub
Библиотека написана на Laravel и включает все необходимое:
— аутентификация,
— профили пользователей,
— биллинг,
— подписка,
— роли и права доступа,
— уведомления и административная панель.
Инструмент упрощает создание SaaS-приложений, предоставляя необходимые базовые компоненты и гибкие возможности для дальнейшей настройки.
💻 GitHub
❤1🤔1👾1
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Как использовать коллекции в Laravel?
В Laravel коллекции обеспечивают плавный и удобный способ работы с массивами данных. Они более мощные и выразительные, чем простые массивы PHP, предлагая различные методы для фильтрации, отображения, преобразования и уменьшения данных. Вот как вы можете использовать коллекции в Laravel:
Создание коллекций: Вы можете создавать коллекции, используя вспомогательную функцию
Манипуляция с коллекциями: После того как у вас есть коллекция, вы можете использовать широкий спектр методов для манипуляции данными:
И многие другие...
Цепочка методов: Вы можете соединять несколько методов вместе, чтобы выполнять сложные операции в одной строке.
В Laravel коллекции обеспечивают плавный и удобный способ работы с массивами данных. Они более мощные и выразительные, чем простые массивы PHP, предлагая различные методы для фильтрации, отображения, преобразования и уменьшения данных. Вот как вы можете использовать коллекции в Laravel:
Создание коллекций: Вы можете создавать коллекции, используя вспомогательную функцию
collect
, передавая массив или объект, реализующий интерфейс IteratorAggregate
:$collection = collect([1, 2, 3, 4, 5]);
Манипуляция с коллекциями: После того как у вас есть коллекция, вы можете использовать широкий спектр методов для манипуляции данными:
map()
: Преобразует каждый элемент в коллекции.filter()
: Фильтрует элементы на основе функции обратного вызова.reduce()
: Сводит коллекцию к единственному значению с использованием функции обратного вызова.pluck()
: Извлекает список конкретных атрибутов из каждого элемента.sortBy()
: Сортирует коллекцию по указанному ключу.groupBy()
: Группирует коллекцию по указанному ключу.slice()
: Извлекает часть коллекции.И многие другие...
Цепочка методов: Вы можете соединять несколько методов вместе, чтобы выполнять сложные операции в одной строке.
👍4❤2😁1
🪤 Избегите ловушки Enum в Laravel
В Laravel использование enum (перечислений) помогает задать фиксированный набор значений, например, для статусов, ролей или категорий. Применение enum в качестве типа данных позволяет строго контролировать значения при работе с базой данных, что делает код чище и уменьшает вероятность ошибок. Однако с ростом проекта и изменением бизнес-логики этот подход может привести к проблемам, особенно в системах с легаси-кодом.
В идеале разработка начинается с чистой базы данных, которая настраивается под текущие задачи. Это позволяет создавать точные тесты и корректировать их при появлении новых сценариев. Однако в реальных условиях проекты редко остаются неизменными: добавляются новые значения enum, старые устаревают, а данные в базе продолжают храниться. Если удалить устаревший enum из кода, но оставить его в базе, Laravel может выдать ошибку, так как значение больше не соответствует ожидаемому набору.
📌 Основные сложности при использовании enum-кастинга в Laravel:
🔸Неочевидные ошибки — автоматический механизм приведения типов в Eloquent может привести к сбоям, не оставляя четкого следа в логах.
🔸Невозможность удаления устаревших значений — в продакшен-среде нельзя просто удалить данные, если их использует бизнес-логика.
🔸Проблемы при откате версий — если новая версия кода добавила enum, а затем произошел откат на более старую версию, система может перестать корректно работать.
Решение — отказ от жесткой привязки enum к модели через кастинг.
Вместо этого можно использовать кастомный обработчик, который позволит контролировать ошибки, не нарушая работу системы. Такой кастер позволяет безопасно обрабатывать неизвестные значения, предотвращая падение приложения.
Такой подход позволяет:
🔹Избежать неожиданных ошибок — кастер не выбрасывает исключения, а логирует проблему.
🔹Гибко управлять данными — можно настроить, как обрабатывать устаревшие значения (например, заменять их на дефолтные).
🔹Упрощает поддержку — код остается понятным и адаптируемым к изменениям
👉Читать подробнее
В Laravel использование enum (перечислений) помогает задать фиксированный набор значений, например, для статусов, ролей или категорий. Применение enum в качестве типа данных позволяет строго контролировать значения при работе с базой данных, что делает код чище и уменьшает вероятность ошибок. Однако с ростом проекта и изменением бизнес-логики этот подход может привести к проблемам, особенно в системах с легаси-кодом.
В идеале разработка начинается с чистой базы данных, которая настраивается под текущие задачи. Это позволяет создавать точные тесты и корректировать их при появлении новых сценариев. Однако в реальных условиях проекты редко остаются неизменными: добавляются новые значения enum, старые устаревают, а данные в базе продолжают храниться. Если удалить устаревший enum из кода, но оставить его в базе, Laravel может выдать ошибку, так как значение больше не соответствует ожидаемому набору.
📌 Основные сложности при использовании enum-кастинга в Laravel:
🔸Неочевидные ошибки — автоматический механизм приведения типов в Eloquent может привести к сбоям, не оставляя четкого следа в логах.
🔸Невозможность удаления устаревших значений — в продакшен-среде нельзя просто удалить данные, если их использует бизнес-логика.
🔸Проблемы при откате версий — если новая версия кода добавила enum, а затем произошел откат на более старую версию, система может перестать корректно работать.
Решение — отказ от жесткой привязки enum к модели через кастинг.
Вместо этого можно использовать кастомный обработчик, который позволит контролировать ошибки, не нарушая работу системы. Такой кастер позволяет безопасно обрабатывать неизвестные значения, предотвращая падение приложения.
Такой подход позволяет:
🔹Избежать неожиданных ошибок — кастер не выбрасывает исключения, а логирует проблему.
🔹Гибко управлять данными — можно настроить, как обрабатывать устаревшие значения (например, заменять их на дефолтные).
🔹Упрощает поддержку — код остается понятным и адаптируемым к изменениям
👉Читать подробнее
😁4🤔2🌚2
💡 Форматирование процентов
Знаете ли вы, что Laravel поставляется с помощником
#совет
Знаете ли вы, что Laravel поставляется с помощником
percentage
, позволяющим получить процентное отношение к любому показателю? 🚀#совет
👍6😁4🤔2
Как вы тестируете свой код?⬇️⬇️⬇️
😳 Если бы языки программирования были девушками
Выбрать язык — всё равно что найти идеального партнера. Кто-то западает на строгую типизацию, кто-то ищет простоту и гибкость, а некоторые готовы углубиться в самые сложные алгоритмы отношений.
Мы заглянули в Тиндер разработчика и нашли там PHP. Как вам? 😏
Еще большепрекрасных дам языков программирования в нашем канале Библиотека программиста.
Свайпайте и выбирайте свой мэтч ❤️
Выбрать язык — всё равно что найти идеального партнера. Кто-то западает на строгую типизацию, кто-то ищет простоту и гибкость, а некоторые готовы углубиться в самые сложные алгоритмы отношений.
Мы заглянули в Тиндер разработчика и нашли там PHP. Как вам? 😏
Еще больше
Свайпайте и выбирайте свой мэтч ❤️
🥱10🔥7👍4❤2
🔥История легенды Силиконовой долины: Энди Бехтольсхайм
Если вам интересна история Кремниевой долины из первых уст, прочитайте полное интервью.
➡️ Краткая выжимка
В этом интервью Энди Бехтольсхайм рассказывает о своем детстве в Германии, первых экспериментах с электроникой, учебе в Стэнфорде и работе в Xerox PARC. Он делится историей создания Sun Microsystems, перехода к сетевым технологиям и своими взглядами на будущее IT-индустрии. Также он объясняет, как сделал легендарную инвестицию в Google и почему стартапы должны правильно выбирать момент для выхода на рынок.
🔗 Ссылка на интервью в формате PDF
Если вам интересна история Кремниевой долины из первых уст, прочитайте полное интервью.
➡️ Краткая выжимка
В этом интервью Энди Бехтольсхайм рассказывает о своем детстве в Германии, первых экспериментах с электроникой, учебе в Стэнфорде и работе в Xerox PARC. Он делится историей создания Sun Microsystems, перехода к сетевым технологиям и своими взглядами на будущее IT-индустрии. Также он объясняет, как сделал легендарную инвестицию в Google и почему стартапы должны правильно выбирать момент для выхода на рынок.
🔗 Ссылка на интервью в формате PDF
🥱7😢1
📊 Состояние PHP в 2024 году: результаты исследования состояния экосистемы разработчиков от JetBrains
PHP остается краеугольным камнем веб-разработки, на нем работают миллионы сайтов по всему миру. Его активное и заинтересованное сообщество ценит его гибкость и простоту использования.
В этом году в опросе приняли участие 2 660 PHP-разработчиков со всего мира. По уровню опыта преобладают мидлы. 86% уже используют PHP 8, но его распространение идёт медленнее, чем в своё время у PHP 7.
Среди фреймворков Laravel безоговорочно лидирует, а его популярность продолжает расти. В плане инструментов PhpStorm остаётся главным выбором разработчиков, однако VS Code набирает обороты, особенно среди начинающих.
Читайте в исследовании и узнайте, как PHP-разработчики ориентируются в постоянно меняющемся мире современной веб-разработки.
PHP остается краеугольным камнем веб-разработки, на нем работают миллионы сайтов по всему миру. Его активное и заинтересованное сообщество ценит его гибкость и простоту использования.
В этом году в опросе приняли участие 2 660 PHP-разработчиков со всего мира. По уровню опыта преобладают мидлы. 86% уже используют PHP 8, но его распространение идёт медленнее, чем в своё время у PHP 7.
Среди фреймворков Laravel безоговорочно лидирует, а его популярность продолжает расти. В плане инструментов PhpStorm остаётся главным выбором разработчиков, однако VS Code набирает обороты, особенно среди начинающих.
Читайте в исследовании и узнайте, как PHP-разработчики ориентируются в постоянно меняющемся мире современной веб-разработки.
👍14🤩2❤1
🔥 Как НЕ НАДО собеседовать middle разработчиков
Автор является действующим PHP middle разработчиком в одной средней компании. Занимается разработкой highload микросервисов в B2B сфере. Суммарно обрабатывается около 50к запросов в секунду, хранятся миллиарды записей и находится на поддержке около тысячи интернет‑магазинов.
Он имеет опыт в техническом собеседовании, в том числе и других middle php разработчиков. За свою карьеру провёл пару десятков таких собеседований, по результатам которых было нанято около 5 разработчиков и 2 аутсорс компании.
🔗Читай на Хабре, как автор делится опытом собеседования на позицию middle php разработчика во «ВКонтакте»
Автор является действующим PHP middle разработчиком в одной средней компании. Занимается разработкой highload микросервисов в B2B сфере. Суммарно обрабатывается около 50к запросов в секунду, хранятся миллиарды записей и находится на поддержке около тысячи интернет‑магазинов.
Он имеет опыт в техническом собеседовании, в том числе и других middle php разработчиков. За свою карьеру провёл пару десятков таких собеседований, по результатам которых было нанято около 5 разработчиков и 2 аутсорс компании.
🔗Читай на Хабре, как автор делится опытом собеседования на позицию middle php разработчика во «ВКонтакте»
👍4😢3😁1🤔1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
🤔1
🎨 MetaStorm — плагин, расширяющий PHPStorm
Этот плагин позволяет расширить поведение PhpStorm и добавить поддержку ваших собственных фреймворков с помощью нескольких строк в файле конфигурации. Он разблокирует ссылки и автодополнение в обычных местах, таких как
👉Официальный сайт
#инструменты
Этот плагин позволяет расширить поведение PhpStorm и добавить поддержку ваших собственных фреймворков с помощью нескольких строк в файле конфигурации. Он разблокирует ссылки и автодополнение в обычных местах, таких как
method($object,)
, render()
и т. д.👉Официальный сайт
#инструменты
🔥1
Какова цель использования функций array_count_values() и array_search() в PHP?
array_count_values(): Функция
array_search(): Функция
#вопросы_с_собеседований
array_count_values(): Функция
array_count_values()
используется для подсчёта количества вхождений значений в массиве. Она возвращает ассоциативный массив, где ключи — это уникальные значения из входного массива, а значения — количество их появлений.array_search(): Функция
array_search()
ищет определённое значение в массиве и возвращает первый ключ, соответствующий этому значению. Если значение не найдено, функция возвращает false
.#вопросы_с_собеседований
👍4🔥2❤1
🔗 В PHP 8.4 улучшено именование замыканий для упрощения отладки
В PHP 8.4 улучшена читаемость стека вызовов при использовании замыканий. Ранее в трассировке ошибок замыкания обозначались просто как
Теперь в стеке вызовов указывается место объявления замыкания. Например, вместо
Кроме того, при использовании
👉Читать подробнее
В PHP 8.4 улучшена читаемость стека вызовов при использовании замыканий. Ранее в трассировке ошибок замыкания обозначались просто как
{closure}
, без указания их расположения в коде. Это усложняло отладку, особенно если в одном пространстве имен использовалось несколько замыканий.Теперь в стеке вызовов указывается место объявления замыкания. Например, вместо
{closure}
теперь отображается {closure:Shopware\Storefront\Controller\StorefrontController::renderStorefront():26}
, что позволяет точно определить, где было создано и вызвано замыкание.Кроме того, при использовании
var_dump
теперь можно увидеть файл и строку, где объявлено замыкание. Этот функционал ранее использовался в Tideways Profiler и Xdebug, а теперь стал частью PHP благодаря вкладу одного из разработчиков.👉Читать подробнее
🔥30