🤔 Сложно ли поменять технологический стек?
Выйти на тот же уровень производительности в другом стеке в том же направлении (бэкенд/фронтенд) может занять от нескольких месяцев до полугода. Конечно, у каждого это время различается, но в любом случае оно включает:
✔️ Изучение нового языка
✔️ Ознакомление с экосистемой языка
✔️ Понимание инфраструктуры (сборка, доставка и т. д.)
💬 А вы меняли стек? Сколько времени это заняло?
Выйти на тот же уровень производительности в другом стеке в том же направлении (бэкенд/фронтенд) может занять от нескольких месяцев до полугода. Конечно, у каждого это время различается, но в любом случае оно включает:
✔️ Изучение нового языка
✔️ Ознакомление с экосистемой языка
✔️ Понимание инфраструктуры (сборка, доставка и т. д.)
💬 А вы меняли стек? Сколько времени это заняло?
👍2
Создание инструмента командной строки с помощью PHP и консоли Symfony
🛠️ Здесь рассматривается, как создать простой командный инструмент в PHP с использованием пакета Symfony Console (symfony/console).
🤔 Почему Symfony Console?
🔄 Консольные приложения — универсальный способ автоматизации и взаимодействия с системами.
📦 Symfony Console предоставляет структурированную и богатую функциональность среду разработки.
⚙️ Возможности Symfony Console:
📑 Автоматическая генерация справки: Symfony Console может автоматически создавать понятную и полезную справку для ваших команд.
🎛️ Управление вводом с опциями и аргументами: Простое определение ожидаемых вводов делает команды интуитивно понятными.
🔄 Соблюдение конвенции docopt: Гарантирует согласованный и интуитивный интерфейс для описания функциональности программы.
📝 Значения по умолчанию и валидация ввода: Помогают поддерживать гибкость и предсказуемость поведения команд.
🖥️ Удобные вспомогательные функции: Улучшают взаимодействие с пользователем и оптимизируют процесс разработки.
📂 Структурированные и основанные на классах команды: Облегчают поддержку и расширение командных приложений.
🔧 Установка и создание первой команды:
💻 Установите Symfony Console через Composer.
📂 Создайте первую команду, определив класс и методы для конфигурации и выполнения действий.
Symfony Console значительно упрощает создание командных приложений в PHP, предоставляя эффективные инструменты для автоматизации процессов и управления задачами. 🌟
🛠️ Здесь рассматривается, как создать простой командный инструмент в PHP с использованием пакета Symfony Console (symfony/console).
🤔 Почему Symfony Console?
🔄 Консольные приложения — универсальный способ автоматизации и взаимодействия с системами.
📦 Symfony Console предоставляет структурированную и богатую функциональность среду разработки.
⚙️ Возможности Symfony Console:
📑 Автоматическая генерация справки: Symfony Console может автоматически создавать понятную и полезную справку для ваших команд.
🎛️ Управление вводом с опциями и аргументами: Простое определение ожидаемых вводов делает команды интуитивно понятными.
🔄 Соблюдение конвенции docopt: Гарантирует согласованный и интуитивный интерфейс для описания функциональности программы.
📝 Значения по умолчанию и валидация ввода: Помогают поддерживать гибкость и предсказуемость поведения команд.
🖥️ Удобные вспомогательные функции: Улучшают взаимодействие с пользователем и оптимизируют процесс разработки.
📂 Структурированные и основанные на классах команды: Облегчают поддержку и расширение командных приложений.
🔧 Установка и создание первой команды:
💻 Установите Symfony Console через Composer.
📂 Создайте первую команду, определив класс и методы для конфигурации и выполнения действий.
Symfony Console значительно упрощает создание командных приложений в PHP, предоставляя эффективные инструменты для автоматизации процессов и управления задачами. 🌟
DEV Community
Building a Command Line Tool with PHP and Symfony Console
Command line tools are a powerful way to automate processes, manage tasks, and enhance your...
👍8🥱5❤3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏔 Эпикфейл: карьера катится к чертям
🤦♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.
📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?
👉 Поделиться историей
🤦♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.
📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?
👉 Поделиться историей
😁3❤1
Хостинг статичных Laravel-приложений
Недавно компания Spatie выпустила новый пакет под названием laravel-export, который упаковывает ваше приложение Laravel в статический сайт, который можно хостить. Это отличное дополнение к экосистеме Laravel, поскольку это открывает целый новый способ размещения приложений Laravel.
Этот метод размещения идеально подходит для веб-сайтов, таких как:
🟠блоги
🟠портфолио
🟠посадочные страницы
Которые не зависят от запросов к серверу бэкенда, а отображают статическую информацию.
Здесь показано, как использовать laravel-export для развертывания блога на Cloudflare Pages, Netlify и Vercel.
Недавно компания Spatie выпустила новый пакет под названием laravel-export, который упаковывает ваше приложение Laravel в статический сайт, который можно хостить. Это отличное дополнение к экосистеме Laravel, поскольку это открывает целый новый способ размещения приложений Laravel.
Этот метод размещения идеально подходит для веб-сайтов, таких как:
🟠блоги
🟠портфолио
🟠посадочные страницы
Которые не зависят от запросов к серверу бэкенда, а отображают статическую информацию.
Здесь показано, как использовать laravel-export для развертывания блога на Cloudflare Pages, Netlify и Vercel.
Boydbloemsma
Hosting Laravel applications statically
In this article we will be going over how to I used laravel-export to deploy the very blog you're reading right now; to Cloudflare Pages, Netlify and Vercel.
👍4🤔3
Laravel трюки: автоматическое подключение каналов логирования
В статье представлен метод автоматического подключения каналов логирования в Laravel через использование механизма сервис-контейнеров (DI). Подробно описаны шаги этого метода, начиная с обзора функционала логирования в Laravel и проблемы, связанной с прямым использованием конкретных каналов в классах.
Далее предложен способ автоматического подключения каналов логирования через DI, включая создание интерфейса-маркера и его связывание с каналом логирования с помощью провайдера. Описано использование трейта LoggerAwareTrait и логирование данных в соответствующих классах.
Также представлен альтернативный вариант с использованием автопровязывания (Autowiring), где логгер передается в метод класса как аргумент, и определяется правило для сервис-контейнера в AppServiceProvider.
В статье представлен метод автоматического подключения каналов логирования в Laravel через использование механизма сервис-контейнеров (DI). Подробно описаны шаги этого метода, начиная с обзора функционала логирования в Laravel и проблемы, связанной с прямым использованием конкретных каналов в классах.
Далее предложен способ автоматического подключения каналов логирования через DI, включая создание интерфейса-маркера и его связывание с каналом логирования с помощью провайдера. Описано использование трейта LoggerAwareTrait и логирование данных в соответствующих классах.
Также представлен альтернативный вариант с использованием автопровязывания (Autowiring), где логгер передается в метод класса как аргумент, и определяется правило для сервис-контейнера в AppServiceProvider.
Хабр
Laravel трюки: автоматическое подключение каналов логирования
Всем привет! Меня зовут Иван Шишкин и я руковожу разработкой в агентстве Intensa. В этой статье хотел бы поделиться методом автоматического подключения каналов логирования в Laravel через механизм...
😁8👍2
Phanalist
Быстрый статический анализатор для сборки PHP с помощью Rust. Он довольно мал по сравнению с PHPStan или Psalm.
Но также хорошо иметь возможность и научиться писать собственный статический анализатор PHP на Rust.
Быстрый статический анализатор для сборки PHP с помощью Rust. Он довольно мал по сравнению с PHPStan или Psalm.
Но также хорошо иметь возможность и научиться писать собственный статический анализатор PHP на Rust.
GitHub
GitHub - denzyldick/phanalist: Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes…
Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code. - denzyldick/phanalist
🔥5
😺🐙💡 Как сделать креативный профиль на GitHub
Расскажем, как представить свои навыки, опыт и пет-проекты так, чтобы на профиль обращали внимание потенциальные работодатели и единомышленники.
👉 Читать статью
👉 Зеркало
Расскажем, как представить свои навыки, опыт и пет-проекты так, чтобы на профиль обращали внимание потенциальные работодатели и единомышленники.
👉 Читать статью
👉 Зеркало
😁8👍1
Что такое Zend Engine?
Zend Engine — это механизм выполнения на языке C с открытым исходным кодом, который интерпретирует язык программирования PHP. Он был изначально разработан Анди Гутмансом и Зеевом Сураcки, когда они были студентами Технического университета Израиля.
Zend Engine служит ядром среды выполнения PHP, обеспечивая основные функции для разбора, компиляции и выполнения PHP-скриптов. Он также включает в себя функциональность по управлению памятью, сборке мусора и поддержке расширений, делая его универсальной платформой для запуска приложений на PHP.
Одним из важных вкладов Zend Engine в эволюцию PHP стало внедрение Zend Extension API (ZE), позволяющего разработчикам создавать собственные расширения на C или C++, чтобы расширить функциональность PHP. Эти расширения могут использоваться для интеграции PHP с внешними библиотеками, добавления новых возможностей или оптимизации производительности.
#вопросы_с_собеседований
Zend Engine — это механизм выполнения на языке C с открытым исходным кодом, который интерпретирует язык программирования PHP. Он был изначально разработан Анди Гутмансом и Зеевом Сураcки, когда они были студентами Технического университета Израиля.
Zend Engine служит ядром среды выполнения PHP, обеспечивая основные функции для разбора, компиляции и выполнения PHP-скриптов. Он также включает в себя функциональность по управлению памятью, сборке мусора и поддержке расширений, делая его универсальной платформой для запуска приложений на PHP.
Одним из важных вкладов Zend Engine в эволюцию PHP стало внедрение Zend Extension API (ZE), позволяющего разработчикам создавать собственные расширения на C или C++, чтобы расширить функциональность PHP. Эти расширения могут использоваться для интеграции PHP с внешними библиотеками, добавления новых возможностей или оптимизации производительности.
#вопросы_с_собеседований
👍21🥰1🥱1
Создание поддерживаемых PHP-приложений: чрезмерное или недостаточное проектирование
Здесь обсуждается концепция «over-engineering» (чрезмерное проектирование) и «under-engineering» (недостаточная инженерия) в контексте программирования.
В первом примере (over-engineered) показано создание класса для обработки запроса на регистрацию нового пользователя. Код включает в себя использование различных зависимостей, типизацию и применение различных паттернов и принципов проектирования. Автор утверждает, что такой код, хотя и может показаться избыточным на первый взгляд, на самом деле написан для облегчения поддержки и изменений в будущем, когда бизнес-правила и процессы станут более сложными.
Во втором примере (under-engineered) показано простое создание нового пользователя без использования отдельного класса для обработки этой задачи. Код написан прямо в контроллере и не использует никаких паттернов или принципов проектирования. Автор указывает, что такой подход может быть приемлемым для небольших проектов, но в больших и сложных приложениях он может привести к проблемам с поддержкой и изменениями в будущем.
Здесь обсуждается концепция «over-engineering» (чрезмерное проектирование) и «under-engineering» (недостаточная инженерия) в контексте программирования.
В первом примере (over-engineered) показано создание класса для обработки запроса на регистрацию нового пользователя. Код включает в себя использование различных зависимостей, типизацию и применение различных паттернов и принципов проектирования. Автор утверждает, что такой код, хотя и может показаться избыточным на первый взгляд, на самом деле написан для облегчения поддержки и изменений в будущем, когда бизнес-правила и процессы станут более сложными.
Во втором примере (under-engineered) показано простое создание нового пользователя без использования отдельного класса для обработки этой задачи. Код написан прямо в контроллере и не использует никаких паттернов или принципов проектирования. Автор указывает, что такой подход может быть приемлемым для небольших проектов, но в больших и сложных приложениях он может привести к проблемам с поддержкой и изменениями в будущем.
Davor Minchorov
Building Maintainable PHP Applications: Over-engineering vs under-engineering
👍6
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍋 Подборка лучших статей «Библиотеки программиста» за январь: сохраняй в заметки, чтобы не пропустить #самыйсок
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
👨💻 Особенности работы в ИТ: информация из первых рук
🎉 Python и неопытные программисты: наши лучшие статьи за 2023 год
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
😺🐙📄 Как разместить резюме на GitHub Pages
💣 Кем вы видите себя через 5 лет: как отвечать на странные и неудобные вопросы на собеседовании
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
🤖 Итоги недели в мире ИИ и обзоры новых сервисов: новые модели для генерации впечатляющих видео
🏅 Решаем 5 олимпиадных задач на Python
📈 9 главных трендов в разработке фронтенда в 2024 году
🔤 Азбука SQL в примерах. Часть 3. Обрабатываем результаты и делаем сложные запросы
🐍➰ Создаем игру «Виселица» на Python:
👉 Часть 1. Командная строка
👉 Часть 2. Графический интерфейс на PySimpleGUI
💰⬆️ 10 факторов, влияющих на зарплату программиста
🐻❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python
👨💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
🏃 Самоучитель по Go для начинающих:
👉 Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
👉 Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
👨💻 Особенности работы в ИТ: информация из первых рук
🎉 Python и неопытные программисты: наши лучшие статьи за 2023 год
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
😺🐙📄 Как разместить резюме на GitHub Pages
💣 Кем вы видите себя через 5 лет: как отвечать на странные и неудобные вопросы на собеседовании
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
🤖 Итоги недели в мире ИИ и обзоры новых сервисов: новые модели для генерации впечатляющих видео
🏅 Решаем 5 олимпиадных задач на Python
📈 9 главных трендов в разработке фронтенда в 2024 году
🔤 Азбука SQL в примерах. Часть 3. Обрабатываем результаты и делаем сложные запросы
🐍➰ Создаем игру «Виселица» на Python:
👉 Часть 1. Командная строка
👉 Часть 2. Графический интерфейс на PySimpleGUI
💰⬆️ 10 факторов, влияющих на зарплату программиста
🐻❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python
👨💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
🏃 Самоучитель по Go для начинающих:
👉 Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
👉 Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤2
«Как я сделал невозможным написание спагетти-кода»
Здесь рассматривается цикломатическая сложность, метрика, используемая для измерения сложности структуры управления программы. Цикломатическая сложность рассчитывается на основе количества узлов, рёбер и выходных узлов в графе управления программой. В статье предоставляется формула для расчета цикломатической сложности и объясняется, как она используется для выявления сложного кода, который может быть сложен в поддержке.
Автор представляет проект под названием Phanalist, статический анализатор для PHP, который предназначен для расчета цикломатической сложности PHP-кода. Его мы уже упоминали.
Также объясняется, как Phanalist реализует формулу для расчета цикломатической сложности, используя структуру с именем Graph, которая содержит переменные для количества узлов, рёбер и выходных узлов. Далее предоставлены фрагменты кода, демонстрирующие, как Phanalist рассчитывает цикломатическую сложность для заданной области метода.
Здесь рассматривается цикломатическая сложность, метрика, используемая для измерения сложности структуры управления программы. Цикломатическая сложность рассчитывается на основе количества узлов, рёбер и выходных узлов в графе управления программой. В статье предоставляется формула для расчета цикломатической сложности и объясняется, как она используется для выявления сложного кода, который может быть сложен в поддержке.
Автор представляет проект под названием Phanalist, статический анализатор для PHP, который предназначен для расчета цикломатической сложности PHP-кода. Его мы уже упоминали.
Также объясняется, как Phanalist реализует формулу для расчета цикломатической сложности, используя структуру с именем Graph, которая содержит переменные для количества узлов, рёбер и выходных узлов. Далее предоставлены фрагменты кода, демонстрирующие, как Phanalist рассчитывает цикломатическую сложность для заданной области метода.
DEV Community
How I made it impossible to write spaghetti code.
This is part 2 of a series of my static analyzer for PHP. If you did not read part 1, I suggest you...
👍2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️Junior Fullstack разработчик
Москва. Райт Электроникс — полный спектр услуг в области контрактного производства электроники
Подробнее
▪️Junior PHP разработчик
Москва, Convergent — информационные технологии, системная интеграция
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Middle PHP разработчик
Москва. Ит-Финанс — разработка ПО для лидогенерации и fintech компаний
Подробнее
▪️Middle PHP Wordpress разработчик
Москва, Студия Oxem — разработка цифровых продуктов
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Senior Back-end разработчик
Москва. TextMagic — платформа для обмена SMS-сообщениями
Подробнее
▪️PHP Developer
Санкт-Петербург. АэроТур — агентство на рынке пассажирских перевозок
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️Junior Fullstack разработчик
Москва. Райт Электроникс — полный спектр услуг в области контрактного производства электроники
Подробнее
▪️Junior PHP разработчик
Москва, Convergent — информационные технологии, системная интеграция
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Middle PHP разработчик
Москва. Ит-Финанс — разработка ПО для лидогенерации и fintech компаний
Подробнее
▪️Middle PHP Wordpress разработчик
Москва, Студия Oxem — разработка цифровых продуктов
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Senior Back-end разработчик
Москва. TextMagic — платформа для обмена SMS-сообщениями
Подробнее
▪️PHP Developer
Санкт-Петербург. АэроТур — агентство на рынке пассажирских перевозок
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
hh.ru
Вакансия Junior Fullstack разработчик (php/python/js) в Москве, работа в компании Райт Электроникс (вакансия в архиве c 22 февраля…
Зарплата: от 60000 до 80000 ₽ за месяц. Москва. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 19.02.2024.
🤔5❤3🥱3
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Добавление feature flags в ваше приложение Symfony
Здесь описано, как добавить функциональность флагов функций (feature flags) в Symfony приложение с использованием Gitlab и Symfony Bundle под названием Unleash Symfony bundle.
🚀 Цель: Контроль скорости регистрации новых пользователей в приложении Remembase.
🔍 Проблема: Необходимо контролировать скорость регистрации новых пользователей и предотвратить перегрузку системы.
🛠️ Решение: Внедрение флагов функций (feature flags) с помощью Gitlab и Unleash Symfony bundle.
🚦 Что такое флаги функций?: Флаги функций позволяют изменять поведение приложения без изменения кода.
⚙️ Использование с Gitlab: Gitlab поддерживает флаги функций с использованием протокола Unleash, что позволяет управлять ими централизованно.
🛠️ Интеграция с Symfony:
Установка и настройка Unleash Symfony bundle.
Использование флагов функций в Twig шаблонах, Symfony контроллерах и формах.
👩💻 Примеры использования:
Включение/выключение списка ожидания в зависимости от текущей необходимости.
Эксперименты с новыми функциями без перезагрузки кода.
Здесь описано, как добавить функциональность флагов функций (feature flags) в Symfony приложение с использованием Gitlab и Symfony Bundle под названием Unleash Symfony bundle.
🚀 Цель: Контроль скорости регистрации новых пользователей в приложении Remembase.
🔍 Проблема: Необходимо контролировать скорость регистрации новых пользователей и предотвратить перегрузку системы.
🛠️ Решение: Внедрение флагов функций (feature flags) с помощью Gitlab и Unleash Symfony bundle.
🚦 Что такое флаги функций?: Флаги функций позволяют изменять поведение приложения без изменения кода.
⚙️ Использование с Gitlab: Gitlab поддерживает флаги функций с использованием протокола Unleash, что позволяет управлять ими централизованно.
🛠️ Интеграция с Symfony:
Установка и настройка Unleash Symfony bundle.
Использование флагов функций в Twig шаблонах, Symfony контроллерах и формах.
👩💻 Примеры использования:
Включение/выключение списка ожидания в зависимости от текущей необходимости.
Эксперименты с новыми функциями без перезагрузки кода.
dkarlovi.github.io
Adding feature flags to your Symfony app - dkarlovi.github.io
Adding feature flags to your Symfony app was never easier than with Gitlab and Unleash Symfony bundle
👏2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤔 Как нестандартно войти в АйТи
Многие IT-специалисты приходят в эту сферу нестандартным путем — кто-то начинал как самоучка, а кто-то стал программистом случайно. Был ли у вас необычный старт карьеры в IT?
Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.
❤️ С нетерпением ждем ваших комментариев!
Многие IT-специалисты приходят в эту сферу нестандартным путем — кто-то начинал как самоучка, а кто-то стал программистом случайно. Был ли у вас необычный старт карьеры в IT?
Расскажите нам свою историю! Ваш опыт может вдохновить тех, кто мечтает о переменах, но пока не решается начать.
❤️ С нетерпением ждем ваших комментариев!
❤1👍1
Что такое сериализация и десериализация?
Сериализация и десериализация — это процессы преобразования данных из их структурированного формата (например, объекты, массивы) в последовательность байтов (обычно в виде строки) и обратно. В PHP для этих целей используются функции serialize() и unserialize().
Сериализация:
Определение: Сериализация — это процесс преобразования структурированных данных (например, объектов, массивов) в строку, которую можно сохранить или передать.
Функция в PHP: serialize() — принимает переменную и возвращает её строковое представление.
Десериализация:
Определение: Десериализация — это процесс восстановления структурированных данных из их строкового представления.
Функция в PHP: unserialize() — принимает строку, созданную с помощью serialize(), и возвращает восстановленные данные.
Применение сериализации и десериализации:
Хранение данных: Сериализация может использоваться для сохранения состояния объектов или массивов в файле или в базе данных.
Передача данных: Сериализация может быть полезной при передаче данных между разными частями приложения, например, при работе с сетью или сохранении состояния сеанса.
Важно отметить, что не все данные могут быть сериализованы. Например, ресурсы (resource), некоторые типы объектов и замыкания не могут быть корректно сериализованы и десериализованы в PHP.
#вопросы_с_собеседований
Сериализация и десериализация — это процессы преобразования данных из их структурированного формата (например, объекты, массивы) в последовательность байтов (обычно в виде строки) и обратно. В PHP для этих целей используются функции serialize() и unserialize().
Сериализация:
Определение: Сериализация — это процесс преобразования структурированных данных (например, объектов, массивов) в строку, которую можно сохранить или передать.
Функция в PHP: serialize() — принимает переменную и возвращает её строковое представление.
Десериализация:
Определение: Десериализация — это процесс восстановления структурированных данных из их строкового представления.
Функция в PHP: unserialize() — принимает строку, созданную с помощью serialize(), и возвращает восстановленные данные.
Применение сериализации и десериализации:
Хранение данных: Сериализация может использоваться для сохранения состояния объектов или массивов в файле или в базе данных.
Передача данных: Сериализация может быть полезной при передаче данных между разными частями приложения, например, при работе с сетью или сохранении состояния сеанса.
Важно отметить, что не все данные могут быть сериализованы. Например, ресурсы (resource), некоторые типы объектов и замыкания не могут быть корректно сериализованы и десериализованы в PHP.
#вопросы_с_собеседований
🥱6👍5
Команды для настройки PHP 8.3 с Nginx на сервере Ubuntu 22.04
Статья предоставляет краткий набор команд для настройки сервера с PHP 8.3 и Nginx на Ubuntu Server 22.04. Она предполагает базовый уровень знаний Linux и командной строки.
Руководство включает следующие шаги:
🛠️ Установка Nginx и настройка брандмауэра.
📦 Установка PHP 8.3 из PPA Ondřej Surý.
🕵️ Проверка версии PHP и запуск процесса PHP.
⚙️ Установка общих расширений PHP, настроенных для Laravel.
🛣️ Настройка конфигурации сервера для сайта «welcome».
🔒 Дополнительно: настройка SSL с самоподписанными сертификатами.
Статья предоставляет краткий набор команд для настройки сервера с PHP 8.3 и Nginx на Ubuntu Server 22.04. Она предполагает базовый уровень знаний Linux и командной строки.
Руководство включает следующие шаги:
🛠️ Установка Nginx и настройка брандмауэра.
📦 Установка PHP 8.3 из PPA Ondřej Surý.
🕵️ Проверка версии PHP и запуск процесса PHP.
⚙️ Установка общих расширений PHP, настроенных для Laravel.
🛣️ Настройка конфигурации сервера для сайта «welcome».
🔒 Дополнительно: настройка SSL с самоподписанными сертификатами.
DEV Community
Quickstart commands for setting up PHP 8.3 with Nginx on Ubuntu Server 22.04
Quickstart commands for setting up PHP 8.3 with Nginx on Ubuntu Server 22.04 ...
👏3👍2🥰1💯1