🧠🧩 Зачем айтишнику психолог?
В современных реалиях все больше специалистов ИТ-индустрии обращаются к психологам, чтобы разобраться с эмоциональными проблемами. Рассмотрим некоторые распространенные запросы и проблемы, с которыми сталкиваются айтишники.
🔗 Читать статью
🔗 Зеркало
В современных реалиях все больше специалистов ИТ-индустрии обращаются к психологам, чтобы разобраться с эмоциональными проблемами. Рассмотрим некоторые распространенные запросы и проблемы, с которыми сталкиваются айтишники.
🔗 Читать статью
🔗 Зеркало
🎉5🌚4
Чему вы бы хотели научиться за эти праздники?
😁11🎉2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
CI/CD Workflow: упрощенный гайд от ByteByteGo (Alex Xu)
CI/CD — это методология, которая позволяет автоматизировать процесс разработки и доставки ПО в продакшн.
Будь вы разработчиком, специалистом по DevOps, тестировщиком или занимаетесь любой современной ролью в ИТ, CI/CD пайплайны стали неотъемлемой частью процесса разработки.
#инфографика
CI/CD — это методология, которая позволяет автоматизировать процесс разработки и доставки ПО в продакшн.
Будь вы разработчиком, специалистом по DevOps, тестировщиком или занимаетесь любой современной ролью в ИТ, CI/CD пайплайны стали неотъемлемой частью процесса разработки.
#инфографика
👍4👏2
PHPCTL
Здесь представлен инструмент под названием phpctl, доступный на GitHub, который призван упростить разработку на PHP, используя контейнеризацию. С помощью phpctl разработчикам достаточно установить Docker, и инструмент настраивает полностью сконфигурированные контейнеры для разработки на PHP, избавляя от необходимости вручную настраивать окружение.
Установка phpctl проста: необходимо склонировать репозиторий и выполнить установочный скрипт. Инструмент предоставляет разнообразные команды, включая php, composer, phpunit, php-cs-fixer и phpstan. Кроме того, существует команда phpctl init для инициализации конфигураций для различных инструментов, таких как PHPUnit.
Преимуществом этого инструмента являются удобство и стандартизация, которые приносит использование контейнеров в разработке на PHP, облегчая управление зависимостями и обеспечивая согласованность между разными окружениями.
Здесь представлен инструмент под названием phpctl, доступный на GitHub, который призван упростить разработку на PHP, используя контейнеризацию. С помощью phpctl разработчикам достаточно установить Docker, и инструмент настраивает полностью сконфигурированные контейнеры для разработки на PHP, избавляя от необходимости вручную настраивать окружение.
Установка phpctl проста: необходимо склонировать репозиторий и выполнить установочный скрипт. Инструмент предоставляет разнообразные команды, включая php, composer, phpunit, php-cs-fixer и phpstan. Кроме того, существует команда phpctl init для инициализации конфигураций для различных инструментов, таких как PHPUnit.
Преимуществом этого инструмента являются удобство и стандартизация, которые приносит использование контейнеров в разработке на PHP, облегчая управление зависимостями и обеспечивая согласованность между разными окружениями.
👍13❤3🤔3🥱1
Gemini API
PHP-клиент Gemini API позволяет использовать генеративные модели искусственного интеллекта Google, такие как Gemini Pro и Gemini Pro Vision.
PHP-клиент Gemini API позволяет использовать генеративные модели искусственного интеллекта Google, такие как Gemini Pro и Gemini Pro Vision.
GitHub
GitHub - gemini-api-php/client: Google Gemini API PHP Client allows you to use the Gemini AI model
Google Gemini API PHP Client allows you to use the Gemini AI model - gemini-api-php/client
👏3😁2
🚀в Docker Desktop версии 4.19.0+ добавили новую команду под названием «docker init». Она автоматизирует создание необходимых Docker-файлов, файлов Compose и .dockerignore для проектов с целью устранения ручной конфигурации. Преимущества включают быстрые эксперименты, улучшенное обучение и безшовную интеграцию с стандартизированными рабочими процессами.
🛠️Команда docker init, представленная в Docker Desktop версии 4.18, автоматически создает Docker-ресурсы для проектов, включая файлы .dockerignore, Dockerfile и docker-compose.yaml. Она поддерживает различные платформы приложений, такие как Go, Node, Python, и в последнем релизе добавлена поддержка PHP.
👩💻Здесь предоставляется пошаговое руководство по настройке базовой среды Apache + PHP с использованием Composer на macOS, а затем демонстрируется использование docker init для контейнеризации PHP-приложения. Dockerfile и docker-compose.yaml генерируются автоматически, обеспечивая быстрое и эффективное создание контейнеров.
❓Команда docker init предлагает выбрать платформу приложения, версию, относительный каталог и предпочтительный порт. Она также предупреждает, если Docker-файлы уже существуют, и предлагает их перезаписать. Сгенерированные Docker-файлы включают этапы установки зависимостей приложения, определенных в Composer, и запуска приложения с минимальными зависимостями времени выполнения.
🛠️Команда docker init, представленная в Docker Desktop версии 4.18, автоматически создает Docker-ресурсы для проектов, включая файлы .dockerignore, Dockerfile и docker-compose.yaml. Она поддерживает различные платформы приложений, такие как Go, Node, Python, и в последнем релизе добавлена поддержка PHP.
👩💻Здесь предоставляется пошаговое руководство по настройке базовой среды Apache + PHP с использованием Composer на macOS, а затем демонстрируется использование docker init для контейнеризации PHP-приложения. Dockerfile и docker-compose.yaml генерируются автоматически, обеспечивая быстрое и эффективное создание контейнеров.
❓Команда docker init предлагает выбрать платформу приложения, версию, относительный каталог и предпочтительный порт. Она также предупреждает, если Docker-файлы уже существуют, и предлагает их перезаписать. Сгенерированные Docker-файлы включают этапы установки зависимостей приложения, определенных в Composer, и запуска приложения с минимальными зависимостями времени выполнения.
DEV Community
Dockerizing PHP Application using Docker Init
Gone are the days of manually wrangling Dockerfiles and configuration files! Enter docker init, your...
👍20🥱1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🥰2👏1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Laravel Octane и FrankenPHP
🌐Laravel Octane использует подход жизненного цикла приложения, запуская его один раз и храня его в памяти для быстрого ответа на запросы. Основной мощью Octane является использование серверов приложений, таких как Swoole, OpenSwoole, Roadrunner и FrankenPHP.🚀
🤖FrankenPHP — это сервер приложений, созданный специально для PHP, предлагающий продвинутые функции, такие как поддержка PHP 8.3, режим работников, поддержка современных форматов сжатия, поддержка HTTPS, HTTP/2 и HTTP/3, автоматическая генерация, обновление и отзыв сертификатов HTTPS, а также плавная перезагрузка.
⚙️Процесс установки Laravel Octane с FrankenPHP включает создание нового приложения Laravel, установку Octane и выбор FrankenPHP в качестве сервера. После установки можно запустить сервер с указанием числа работников для эффективной обработки конкурентных запросов.
Это поможет значительно улучшить время ответа благодаря запуску приложения один раз и его хранению в памяти для последующих запросов. Это обеспечивает эффективную обработку входящих запросов и значительное сокращение времени ответа, особенно после того, как все работники ответили на первоначальные запросы.
🌐Laravel Octane использует подход жизненного цикла приложения, запуская его один раз и храня его в памяти для быстрого ответа на запросы. Основной мощью Octane является использование серверов приложений, таких как Swoole, OpenSwoole, Roadrunner и FrankenPHP.🚀
🤖FrankenPHP — это сервер приложений, созданный специально для PHP, предлагающий продвинутые функции, такие как поддержка PHP 8.3, режим работников, поддержка современных форматов сжатия, поддержка HTTPS, HTTP/2 и HTTP/3, автоматическая генерация, обновление и отзыв сертификатов HTTPS, а также плавная перезагрузка.
⚙️Процесс установки Laravel Octane с FrankenPHP включает создание нового приложения Laravel, установку Octane и выбор FrankenPHP в качестве сервера. После установки можно запустить сервер с указанием числа работников для эффективной обработки конкурентных запросов.
Это поможет значительно улучшить время ответа благодаря запуску приложения один раз и его хранению в памяти для последующих запросов. Это обеспечивает эффективную обработку входящих запросов и значительное сокращение времени ответа, особенно после того, как все работники ответили на первоначальные запросы.
DEV Community
Laravel Octane and FrankenPHP
In the world of web development, speed of execution and optimal performance are essential. Laravel...
👍4😁4🥱3❤1🎉1
Расскажите про функции defined и get_defined_constants
defined():
Функция defined() используется для проверки существования константы с заданным именем. Она возвращает true, если константа существует, и false, если нет.
get_defined_constants():
Функция get_defined_constants() возвращает ассоциативный массив, содержащий все определенные константы в текущем скрипте. Этот массив имеет два уровня: глобальные константы и локальные (если они определены внутри функции).
#вопросы_с_собеседований
defined():
Функция defined() используется для проверки существования константы с заданным именем. Она возвращает true, если константа существует, и false, если нет.
get_defined_constants():
Функция get_defined_constants() возвращает ассоциативный массив, содержащий все определенные константы в текущем скрипте. Этот массив имеет два уровня: глобальные константы и локальные (если они определены внутри функции).
#вопросы_с_собеседований
👍10😁4👾2🔥1
Работа с десятичными дробями в приложениях PHP
📝 Статья обсуждает соображения и преимущества использования объектов значений с десятичными значениями в PHP-приложениях, особенно при взаимодействии с базами данных и ORM.
🚫 Подчеркиваются ограничения и проблемы, связанные с использованием чисел с плавающей точкой, и предлагается применять тип данных decimal в случаях, когда важна точность и масштаб.
📘 Представлена библиотека php-collective/decimal-object, предоставляющая простой API для работы с десятичными значениями с поддержкой типизации и автодополнения.
🔍 Демонстрируется использование этой библиотеки для выполнения вычислений и сравнений более надежно, чем с использованием встроенных чисел с плавающей точкой.
🔄 Обсуждение расширяется на интеграцию десятичных объектов значений с популярными PHP-фреймворками и ORM, такими как CakePHP, Symfony и Laravel.
⚙️ Также предоставлены примеры конфигурации этих фреймворков для использования DecimalObjectType или аналогичных пользовательских типов данных для бесшовной интеграции.
🔄 Рассматриваются аспекты неизменяемости, локализации и производительности с подчерком преимуществ использования объектов значений для улучшения читаемости кода.
📝 Статья обсуждает соображения и преимущества использования объектов значений с десятичными значениями в PHP-приложениях, особенно при взаимодействии с базами данных и ORM.
🚫 Подчеркиваются ограничения и проблемы, связанные с использованием чисел с плавающей точкой, и предлагается применять тип данных decimal в случаях, когда важна точность и масштаб.
📘 Представлена библиотека php-collective/decimal-object, предоставляющая простой API для работы с десятичными значениями с поддержкой типизации и автодополнения.
🔍 Демонстрируется использование этой библиотеки для выполнения вычислений и сравнений более надежно, чем с использованием встроенных чисел с плавающей точкой.
🔄 Обсуждение расширяется на интеграцию десятичных объектов значений с популярными PHP-фреймворками и ORM, такими как CakePHP, Symfony и Laravel.
⚙️ Также предоставлены примеры конфигурации этих фреймворков для использования DecimalObjectType или аналогичных пользовательских типов данных для бесшовной интеграции.
🔄 Рассматриваются аспекты неизменяемости, локализации и производительности с подчерком преимуществ использования объектов значений для улучшения читаемости кода.
🔥3👍1🌚1
Многоуровневое логирование: Руководство по структурированному и последовательному ведению логов
Структура логов важна, особенно с ростом команды, чтобы обеспечить ясность и последовательность в данных логов.
Автор обсудил пример логирования IP-адреса клиента и подчеркнул, что стандартизированный и лаконичный подход к логированию на всех платформах является ключом к успешному поддержанию уровней логирования.
Далее была представлена Elastic Common Schema (ECS) как открытая спецификация для стандартизации логов. Документация ECS была подробно рассмотрена, и автор поделился примером реализации ECS в PHP с использованием пакета PECS (PHP Elastic Common Schema).
PECS предоставляет абстракцию и соглашение для реализации ECS в PHP, предоставляя генератор классов на основе JSON-конфигурации ECS. Также была представлена интеграция PECS с Monolog, что облегчает работу с Symfony и Laravel.
Структура логов важна, особенно с ростом команды, чтобы обеспечить ясность и последовательность в данных логов.
Автор обсудил пример логирования IP-адреса клиента и подчеркнул, что стандартизированный и лаконичный подход к логированию на всех платформах является ключом к успешному поддержанию уровней логирования.
Далее была представлена Elastic Common Schema (ECS) как открытая спецификация для стандартизации логов. Документация ECS была подробно рассмотрена, и автор поделился примером реализации ECS в PHP с использованием пакета PECS (PHP Elastic Common Schema).
PECS предоставляет абстракцию и соглашение для реализации ECS в PHP, предоставляя генератор классов на основе JSON-конфигурации ECS. Также была представлена интеграция PECS с Monolog, что облегчает работу с Symfony и Laravel.
Хабр
Многоуровневое логирование: Руководство по структурированному и последовательному ведению логов
В прошлом месяце мне представилась возможность выступить на AmsterdamPHP с докладом на тему уровней логирования. Полученные положительные отзывы вдохновили меня на то, чтобы поделиться этой...
👍1
Разговор на собеседовании часто сопровождается некоторым напряжением, но иногда вопросы могут звучать настолько необычно, что создается впечатление настоящего шоу абсурда. Расскажите о самых неудобных и странных вопросах, которые вам когда-либо задавали на собеседованиях. 🤔
🎅 Новый год — отличное время для старта!
🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d
📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.
👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d
🫶 Всех с наступающим новым годом!
🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d
📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.
👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d
🫶 Всех с наступающим новым годом!
ETL (Extract / Transform / Load) библиотека с принципами SOLID + почти без зависимостей.
GitHub
GitHub - bpolaszek/bentools-etl: PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency.
PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency. - bpolaszek/bentools-etl
👍5🌚2
Первый #дайджест новостей по PHP в этом году:
🔎Вышел Laravel 10.39 — На этой неделе команда Laravel выпустила версию 10.39 с циклической почтовой программой, динамическим максимальным количеством попыток для заданий в очереди и многим другим.
🔎Выпущена Symfony 7.0.2 — Вот список наиболее важных изменений со времен версии 7.0.1.
🔎Неделя Symfony #887 (25-31 декабря 2023 г.)
🔎Выпущен PHP 8.2.14 — Это релиз с исправлением ошибок. Всем пользователям PHP 8.2 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия CakePHP Audit-stash 4.0.0. — Что изменилось: исправлены неработающие тесты на локальном компьютере и добавлен конвейер действий GH от cnizzardini
🔎Вышел Laravel 10.39 — На этой неделе команда Laravel выпустила версию 10.39 с циклической почтовой программой, динамическим максимальным количеством попыток для заданий в очереди и многим другим.
🔎Выпущена Symfony 7.0.2 — Вот список наиболее важных изменений со времен версии 7.0.1.
🔎Неделя Symfony #887 (25-31 декабря 2023 г.)
🔎Выпущен PHP 8.2.14 — Это релиз с исправлением ошибок. Всем пользователям PHP 8.2 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия CakePHP Audit-stash 4.0.0. — Что изменилось: исправлены неработающие тесты на локальном компьютере и добавлен конвейер действий GH от cnizzardini
❤5😁2
Объекты-значения в PHP 8: Сущности
🧱 Value Objects (Объекты Значений):
Value Objects — незаслуженно недооценные герои нашего кода, приносящие неизменяемость и предсказуемость в наши приложения. Они инкапсулируют небольшие кусочки данных, обеспечивая постоянство их состояния. Такая предсказуемость упрощает наш код и способствует общей стабильности системы.
👥 Entities (Сущности):
В отличие от Value Objects, Entities обладают уникальной идентичностью, позволяя им изменять свое состояние и сохранять свою индивидуальность. Давайте глубже погрузимся в качества, которые определяют сущность в наших PHP-приложениях.
Основные характеристики Entities включают:
1️⃣Идентичность: У Entities есть уникальный идентификатор, который является ключевым для сценариев, где важны устойчивость и изменяемость.
2️⃣Изменяемость: В отличие от Value Objects, Entities могут изменять свое состояние в течение жизненного цикла, приспосабливаясь к различным сценариям.
3️⃣Устойчивость за пределами одной транзакции: Entities сохраняются за пределами одной транзакции, обеспечивая их долговечность через взаимодействие с системой. В статье рекомендуется использование шаблона Repository для хранения и извлечения Entities.
Здесь представлен концепт Immutable Entities, достигаемый с использованием открытых только для чтения свойств и создания новых экземпляров для каждого изменения. Также рассматривается проблема управления версиями сущности, предлагая решение на основе создания хеш-строки для стабильной и сравнимой идентификации версии.
Демонстрируется интеграция Value Objects в Entities, улучшающая ясность кода и поддерживаемость. Выделены практические соображения при выборе между Value Objects и Entities в зависимости от конкретных требований системы.
🧱 Value Objects (Объекты Значений):
Value Objects — незаслуженно недооценные герои нашего кода, приносящие неизменяемость и предсказуемость в наши приложения. Они инкапсулируют небольшие кусочки данных, обеспечивая постоянство их состояния. Такая предсказуемость упрощает наш код и способствует общей стабильности системы.
👥 Entities (Сущности):
В отличие от Value Objects, Entities обладают уникальной идентичностью, позволяя им изменять свое состояние и сохранять свою индивидуальность. Давайте глубже погрузимся в качества, которые определяют сущность в наших PHP-приложениях.
Основные характеристики Entities включают:
1️⃣Идентичность: У Entities есть уникальный идентификатор, который является ключевым для сценариев, где важны устойчивость и изменяемость.
2️⃣Изменяемость: В отличие от Value Objects, Entities могут изменять свое состояние в течение жизненного цикла, приспосабливаясь к различным сценариям.
3️⃣Устойчивость за пределами одной транзакции: Entities сохраняются за пределами одной транзакции, обеспечивая их долговечность через взаимодействие с системой. В статье рекомендуется использование шаблона Repository для хранения и извлечения Entities.
Здесь представлен концепт Immutable Entities, достигаемый с использованием открытых только для чтения свойств и создания новых экземпляров для каждого изменения. Также рассматривается проблема управления версиями сущности, предлагая решение на основе создания хеш-строки для стабильной и сравнимой идентификации версии.
Демонстрируется интеграция Value Objects в Entities, улучшающая ясность кода и поддерживаемость. Выделены практические соображения при выборе между Value Objects и Entities в зависимости от конкретных требований системы.
DEV Community
Value Objects in PHP 8: Entities
Table of contents Introduction Entities Identity in Entities Mutability and State...
👍9❤1