👀 Кто бы мог подумать, но WinRAR продаёт 10тыс. лицензий в месяц
WinRAR — легендарный условно-бесплатный архиватор, известный своей бесконечной «ознакомительной» лицензией, которая уже давно стала поводом для десятков мемов.
Несмотря на эту своеобразную щедрость, оказывается дела у его разработчиков идут вполне неплохо. 🌚
WinRAR — легендарный условно-бесплатный архиватор, известный своей бесконечной «ознакомительной» лицензией, которая уже давно стала поводом для десятков мемов.
Несмотря на эту своеобразную щедрость, оказывается дела у его разработчиков идут вполне неплохо. 🌚
🔥19😁5👍4🥰1
Ленивые объекты в PHP 8.4: новая эра эффективной работы с объектами
В PHP 8.4 появилась новая возможность — ленивые объекты. Эта функция позволяет откладывать создание объекта до момента, когда он действительно потребуется. Это особенно полезно для объектов с тяжелой инициализацией, которые могут не понадобиться во время выполнения программы.
Чем ленивые объекты отличаются от обычных?
Обычные объекты создаются сразу, и их конструкторы вызываются при создании. Ленивые объекты работают иначе: вместо создания объекта сразу, они используют прокси, который имитирует исходный класс. Настоящий объект создается только при доступе к его методам или свойствам. Для этого используется рефлексия.
Преимущества ленивых объектов
🔸Улучшение производительности: Объекты создаются только при необходимости, что снижает нагрузку на память.
🔸Простота использования: Ленивые объекты работают как обычные, не требуя изменений в коде.
🔸Оптимизация ресурсов: Особенно полезно в системах, где создание объектов может быть отложено, например, в DI-контейнерах, ORM или при работе с API.
Ограничения
❗️Сериализация: Работа с ленивыми объектами при сериализации может быть сложнее из-за их отложенного состояния.
❗️Усложнение отладки: Прокси-слои могут запутывать стеки вызовов и затруднять анализ проблем.
В PHP 8.4 появилась новая возможность — ленивые объекты. Эта функция позволяет откладывать создание объекта до момента, когда он действительно потребуется. Это особенно полезно для объектов с тяжелой инициализацией, которые могут не понадобиться во время выполнения программы.
Чем ленивые объекты отличаются от обычных?
Обычные объекты создаются сразу, и их конструкторы вызываются при создании. Ленивые объекты работают иначе: вместо создания объекта сразу, они используют прокси, который имитирует исходный класс. Настоящий объект создается только при доступе к его методам или свойствам. Для этого используется рефлексия.
Преимущества ленивых объектов
🔸Улучшение производительности: Объекты создаются только при необходимости, что снижает нагрузку на память.
🔸Простота использования: Ленивые объекты работают как обычные, не требуя изменений в коде.
🔸Оптимизация ресурсов: Особенно полезно в системах, где создание объектов может быть отложено, например, в DI-контейнерах, ORM или при работе с API.
Ограничения
❗️Сериализация: Работа с ленивыми объектами при сериализации может быть сложнее из-за их отложенного состояния.
❗️Усложнение отладки: Прокси-слои могут запутывать стеки вызовов и затруднять анализ проблем.
🤔21👍9❤5🔥3👾2
🧅 Onion: Механизм многоуровневой обработки для PHP-приложений
Onion — это легкий пакет, предназначенный для облегчения многоуровневой обработки данных в приложениях. Он обеспечивает чистый и эффективный способ укладки слоев функциональности, позволяя разработчикам создавать гибкие и многократно используемые компоненты, которые легко компоновать и управлять ими. Каждый слой может выполнять определенную операцию над передаваемыми данными, что упрощает построение сложных рабочих процессов, сохраняя при этом четкое разделение задач.
Onion — это легкий пакет, предназначенный для облегчения многоуровневой обработки данных в приложениях. Он обеспечивает чистый и эффективный способ укладки слоев функциональности, позволяя разработчикам создавать гибкие и многократно используемые компоненты, которые легко компоновать и управлять ими. Каждый слой может выполнять определенную операцию над передаваемыми данными, что упрощает построение сложных рабочих процессов, сохраняя при этом четкое разделение задач.
GitHub
GitHub - aldemeery/onion: A layering mechanism for PHP applications
A layering mechanism for PHP applications. Contribute to aldemeery/onion development by creating an account on GitHub.
🤔2❤1🥰1
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Расскажите о regexp.
В PHP, регулярные выражения (регэкспы) представлены с помощью функций и операторов для работы с ними. Регулярные выражения представляют собой шаблоны, которые используются для поиска и/или замены текста по определенным правилам. Вот некоторые из основных функций и операторов для работы с регулярными выражениями в PHP:
preg_match(): Эта функция используется для проверки, соответствует ли заданный шаблон регулярному выражению.
preg_match_all(): Похожа на preg_match(), но находит все совпадения в тексте.
preg_replace(): Заменяет все вхождения шаблона регулярного выражения на заданную строку.
preg_split(): Разделяет строку на подстроки с помощью регулярного выражения в качестве разделителя.
preg_quote(): Экранирует все специальные символы в строке, чтобы они могли быть использованы в регулярном выражении без изменения их значения.
Это лишь базовые примеры использования регулярных выражений в PHP. Регулярные выражения очень мощный инструмент, и для их полного понимания рекомендуется ознакомиться с документацией PHP и углубиться в изучение регулярных выражений в целом.
В PHP, регулярные выражения (регэкспы) представлены с помощью функций и операторов для работы с ними. Регулярные выражения представляют собой шаблоны, которые используются для поиска и/или замены текста по определенным правилам. Вот некоторые из основных функций и операторов для работы с регулярными выражениями в PHP:
preg_match(): Эта функция используется для проверки, соответствует ли заданный шаблон регулярному выражению.
preg_match_all(): Похожа на preg_match(), но находит все совпадения в тексте.
preg_replace(): Заменяет все вхождения шаблона регулярного выражения на заданную строку.
preg_split(): Разделяет строку на подстроки с помощью регулярного выражения в качестве разделителя.
preg_quote(): Экранирует все специальные символы в строке, чтобы они могли быть использованы в регулярном выражении без изменения их значения.
Это лишь базовые примеры использования регулярных выражений в PHP. Регулярные выражения очень мощный инструмент, и для их полного понимания рекомендуется ознакомиться с документацией PHP и углубиться в изучение регулярных выражений в целом.
👍6😁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 запрещена на территории РФ
5 способов оптимизации производительности приложений Symfony
Symfony-приложения часто сталкиваются с медленной загрузкой и высокой нагрузкой на сервер. Основные причины — неэффективные запросы к базе данных, недостатки кэширования и не оптимизированные настройки. Вот как это исправить:
Оптимизация запросов к базе данных
Медленные запросы замедляют отклик приложения и создают нагрузку на сервер. Чтобы этого избежать:
🔸Запрашивайте только необходимые данные, а не всю таблицу.
🔸Добавляйте индексы на часто используемые поля.
🔸Используйте более быстрые типы соединений между таблицами, если связь данных гарантирована.
🔸Избегайте лишних запросов при работе с коллекциями данных. Это достигается загрузкой данных заранее.
🔸Обрабатывайте данные партиями, чтобы избежать перегрузки памяти.
Эти меры значительно ускоряют взаимодействие приложения с базой данных.
Кэширование для ускорения работы
Кэширование снижает нагрузку на сервер и ускоряет отклик приложения.
🔸Полное кэширование страниц позволяет сохранять их как статические файлы, чтобы серверу не приходилось каждый раз генерировать одно и то же содержимое.
🔸Кэширование часто используемых данных или запросов уменьшает обращения к базе данных.
🔸Выбор подходящего инструмента для кэширования зависит от потребностей приложения. Например, для локальных серверов подходит APCu, для распределенных систем — Redis.
Кроме того, при обновлении приложения не забывайте очищать и обновлять кэш, чтобы избежать конфликтов и устаревших данных.
Оптимизация настроек Symfony для production
Некоторые изменения в конфигурации позволяют заметно повысить производительность:
🔸В режиме production отключите отладку и сократите количество логов, чтобы снизить нагрузку на процессор.
🔸Включите PHP-кэширование (OPcache), чтобы ускорить выполнение скриптов за счет их предварительной компиляции.
🔸Настройте загрузчик классов, чтобы ускорить процесс запуска приложения.
Эти меры помогают снизить затраты на системные ресурсы и ускоряют загрузку страниц.
Анализ и исправление узких мест
Профилирование помогает выявить скрытые проблемы производительности.
🔸Используйте инструменты мониторинга для анализа ключевых метрик, таких как время отклика, использование памяти, количество запросов к базе данных и эффективность кэширования.
🔸Обратите внимание на самые популярные страницы и функции приложения, чтобы улучшить их в первую очередь.
Применяя эти данные, можно устранить «узкие места», которые тормозят работу приложения.
Управление статическими ресурсами
Эффективная работа с файлами CSS, JavaScript и изображениями значительно ускоряет загрузку страниц.
🔸Уменьшайте размер файлов через минификацию, чтобы ускорить их загрузку.
🔸Объединяйте файлы, чтобы сократить количество запросов к серверу.
🔸Используйте «ленивую загрузку» для изображений и других ресурсов, которые не нужны сразу.
🔸Для хранения и доставки ресурсов применяйте CDN, чтобы снизить нагрузку на сервер.
Эти меры заметно улучшают пользовательский опыт.
Symfony-приложения часто сталкиваются с медленной загрузкой и высокой нагрузкой на сервер. Основные причины — неэффективные запросы к базе данных, недостатки кэширования и не оптимизированные настройки. Вот как это исправить:
Оптимизация запросов к базе данных
Медленные запросы замедляют отклик приложения и создают нагрузку на сервер. Чтобы этого избежать:
🔸Запрашивайте только необходимые данные, а не всю таблицу.
🔸Добавляйте индексы на часто используемые поля.
🔸Используйте более быстрые типы соединений между таблицами, если связь данных гарантирована.
🔸Избегайте лишних запросов при работе с коллекциями данных. Это достигается загрузкой данных заранее.
🔸Обрабатывайте данные партиями, чтобы избежать перегрузки памяти.
Эти меры значительно ускоряют взаимодействие приложения с базой данных.
Кэширование для ускорения работы
Кэширование снижает нагрузку на сервер и ускоряет отклик приложения.
🔸Полное кэширование страниц позволяет сохранять их как статические файлы, чтобы серверу не приходилось каждый раз генерировать одно и то же содержимое.
🔸Кэширование часто используемых данных или запросов уменьшает обращения к базе данных.
🔸Выбор подходящего инструмента для кэширования зависит от потребностей приложения. Например, для локальных серверов подходит APCu, для распределенных систем — Redis.
Кроме того, при обновлении приложения не забывайте очищать и обновлять кэш, чтобы избежать конфликтов и устаревших данных.
Оптимизация настроек Symfony для production
Некоторые изменения в конфигурации позволяют заметно повысить производительность:
🔸В режиме production отключите отладку и сократите количество логов, чтобы снизить нагрузку на процессор.
🔸Включите PHP-кэширование (OPcache), чтобы ускорить выполнение скриптов за счет их предварительной компиляции.
🔸Настройте загрузчик классов, чтобы ускорить процесс запуска приложения.
Эти меры помогают снизить затраты на системные ресурсы и ускоряют загрузку страниц.
Анализ и исправление узких мест
Профилирование помогает выявить скрытые проблемы производительности.
🔸Используйте инструменты мониторинга для анализа ключевых метрик, таких как время отклика, использование памяти, количество запросов к базе данных и эффективность кэширования.
🔸Обратите внимание на самые популярные страницы и функции приложения, чтобы улучшить их в первую очередь.
Применяя эти данные, можно устранить «узкие места», которые тормозят работу приложения.
Управление статическими ресурсами
Эффективная работа с файлами CSS, JavaScript и изображениями значительно ускоряет загрузку страниц.
🔸Уменьшайте размер файлов через минификацию, чтобы ускорить их загрузку.
🔸Объединяйте файлы, чтобы сократить количество запросов к серверу.
🔸Используйте «ленивую загрузку» для изображений и других ресурсов, которые не нужны сразу.
🔸Для хранения и доставки ресурсов применяйте CDN, чтобы снизить нагрузку на сервер.
Эти меры заметно улучшают пользовательский опыт.
🥱5👍4
Пример HTTP-сервера на PHP с использованием файберов
PHP часто подвергается критике за отсутствие встроенных возможностей для создания конкурентных приложений. В версии 8.1 был добавлен класс
PHP часто подвергается критике за отсутствие встроенных возможностей для создания конкурентных приложений. В версии 8.1 был добавлен класс
Fiber
, который, согласно RFC, должен упростить создание конкурентных приложений. Однако, материалов, демонстрирующих использование данного функционала для построения приложений практически нет, напротив, говорится, что файберы — это функционал, предназначенный для использования разработчиками фреймворков и приводятся какие-то малоинформативные отрывки кода. В этой статье будет продемонстрирован концептуальный пример конкурентного приложения на PHP с использованием файберов.Хабр
Пример HTTP-сервера на PHP с использованием файберов
Платформа PHP часто подвергается критике за отсутствие встроенных возможностей для создания конкурентных приложений. В версии 8.1 был добавлен класс Fiber , который, согласно RFC , должен упростить...
👍8🔥1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Защита от CSRF в PHP
Подделка межсайтовых запросов (CSRF) — это уязвимость веб-безопасности, позволяющая злоумышленнику обманом заставить аутентифицированного пользователя выполнить нежелательные действия на сайте, на котором он в данный момент находится под своим логином. Атака осуществляется путем злоупотребления доверием сайта к браузеру пользователя.
Подделка межсайтовых запросов (CSRF) — это уязвимость веб-безопасности, позволяющая злоумышленнику обманом заставить аутентифицированного пользователя выполнить нежелательные действия на сайте, на котором он в данный момент находится под своим логином. Атака осуществляется путем злоупотребления доверием сайта к браузеру пользователя.
DEV Community
CSRF Protection in PHP
What is CSRF? Cross-Site Request Forgery (CSRF) is a web security vulnerability that...
👍2
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤1
Большой пополняемый список знаний, в который включены теории, законы, принципы, паттерны разработки и многое другое, что однозначно будет полезно знать каждому разработчику.
GitHub
GitHub - dwmkerr/hacker-laws: 🧠 Laws, Theories, Principles and Patterns for developers and technologists.
🧠 Laws, Theories, Principles and Patterns for developers and technologists. - dwmkerr/hacker-laws
👍3
Как передаются переменные (по значению или по ссылке)?
В PHP переменные могут передаваться как по значению, так и по ссылке.
По умолчанию, в PHP переменные передаются по значению. Это означает, что когда переменная передается в функцию или присваивается другой переменной, создается ее копия, и любые изменения, сделанные внутри функции или на другой переменной, не влияют на оригинальную переменную.
Однако, PHP также предоставляет возможность передавать переменные по ссылке, используя символ '&' перед переменной при ее передаче в функцию или присваивании другой переменной. Когда переменная передается по ссылке, функция или другая переменная работают с тем же экземпляром переменной, и изменения внутри функции или на другой переменной отражаются на оригинальной переменной.
#вопросы_с_собеседований
В PHP переменные могут передаваться как по значению, так и по ссылке.
По умолчанию, в PHP переменные передаются по значению. Это означает, что когда переменная передается в функцию или присваивается другой переменной, создается ее копия, и любые изменения, сделанные внутри функции или на другой переменной, не влияют на оригинальную переменную.
Однако, PHP также предоставляет возможность передавать переменные по ссылке, используя символ '&' перед переменной при ее передаче в функцию или присваивании другой переменной. Когда переменная передается по ссылке, функция или другая переменная работают с тем же экземпляром переменной, и изменения внутри функции или на другой переменной отражаются на оригинальной переменной.
#вопросы_с_собеседований
👍13🥱3
Xdebug, работающий с Docker и PHP 8.4, за одну минуту
Настройка Xdebug может показаться сложной, но на самом деле её можно выполнить быстро, особенно если использовать Docker. В этой статье показано, как за несколько минут настроить Xdebug в проекте на Laravel с использованием PHP 8.4 и Xdebug 3.4.0.
Настройка Xdebug может показаться сложной, но на самом деле её можно выполнить быстро, особенно если использовать Docker. В этой статье показано, как за несколько минут настроить Xdebug в проекте на Laravel с использованием PHP 8.4 и Xdebug 3.4.0.
Laravel News
Get Xdebug Working With Docker and PHP 8.4 in One Minute - Laravel News
Xdebug has a history of being complex to get going, but I am here to show you how to use it in under a minute with Docker in a Laravel project.
👍4❤2
💬 Пишите ли вы тесты на свой код?
❤️ — всегда пишу тесты, которые покрывают важные места
👍 — иногда пишу, зависит от проекта
🥱 — еще не разбирался с тестами
❤️ — всегда пишу тесты, которые покрывают важные места
👍 — иногда пишу, зависит от проекта
🥱 — еще не разбирался с тестами
👍84🥱60❤40🎉3👾2
🙇♂️ Отобрать одного разраба на стек PHP + Vanilla JS после нескольких десятков созвонов-собеседований — вот они, современные реалии.
Почему выпускники курсов присылают резюме пачками, но выхлоп от обучения собственных юристов компании оказывается выше, чем от собеседований по вакансии?
— рассказывает Виталий Квитковский, руководитель отдела разработки и DevOps.
Под катом вас ждет:
☑️ Кратко о структуре собеседования.
☑️ Разбор задач.
☑️ Чего обычно не хватает джунам и как это добрать?
☑️ Что такое базовое программирование?
☑️ Как этому научиться?
👉 Читать
Почему выпускники курсов присылают резюме пачками, но выхлоп от обучения собственных юристов компании оказывается выше, чем от собеседований по вакансии?
— рассказывает Виталий Квитковский, руководитель отдела разработки и DevOps.
Под катом вас ждет:
☑️ Кратко о структуре собеседования.
☑️ Разбор задач.
☑️ Чего обычно не хватает джунам и как это добрать?
☑️ Что такое базовое программирование?
☑️ Как этому научиться?
👉 Читать
👍5😁2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👑🧟 Король спама: насколько сильно ты бесишь коллег в рабочих чатах
Признайся, ты тоже иногда отправляешь голосовые сообщения из маршрутки? Или может быть, ты тот самый человек, который пишет «Привет» и исчезает на час? Всего 10 вопросов, которые помогут понять, являешься ли ты мастером цифрового этикета или главным спамером офиса. Готов узнать правду?
👉 Пройти тест
Признайся, ты тоже иногда отправляешь голосовые сообщения из маршрутки? Или может быть, ты тот самый человек, который пишет «Привет» и исчезает на час? Всего 10 вопросов, которые помогут понять, являешься ли ты мастером цифрового этикета или главным спамером офиса. Готов узнать правду?
👉 Пройти тест
❤2👍1😁1👾1