Ваш доход в месяц после налогов:
Anonymous Poll
12%
до $500
7%
от $501 до $800
10%
от $801 до $1100
23%
от $1101 до $2000
22%
от $2001 до $3000
13%
от $3001 до $4000
4%
от $4001 до $5001
3%
от $5001 до $6000
6%
от $6001
👍4😁3🥱2
Какой у вас коммерческий опыт работы в IT?
Anonymous Poll
42%
от 6 лет
28%
от 3 до 6 лет включительно
18%
от 1 до 3 лет включительно
5%
до 1 года
8%
нет опыта
👍1🔥1
На каком языке программирования вы пишете больше всего?
Anonymous Poll
2%
Python
2%
Go
1%
Java
3%
JavaScript
0%
TypeScript
0%
C/C++
1%
С#
0%
Swift/Kotlin
87%
PHP
3%
Другой
Какая ваша специализация в IT?
Anonymous Poll
66%
Backend
1%
Frontend
27%
Fullstack
0%
Mobile
0%
Desktop
1%
DevOps/Sysadmin
0%
QA
0%
Data Science
1%
Кибербезопасность
4%
Другое
❤3
Какой грейд у вас на работе?
Anonymous Poll
4%
Стажер
11%
Джуниор
41%
Миддл
22%
Сеньор
11%
Тимлид
3%
Архитектор
3%
СТО
5%
я не в IT
🥱9👍2🔥1
Типичный Swagger без гмо
Здесь рассматривается подход к оптимизации Symfony-контроллера с использованием типизации входных и выходных данных вместо подхода, основанного на Swagger и аннотациях. Автор предлагает переход от базового Request объекта к использованию DTO (Data Transfer Object) с помощью библиотеки prugala/symfony-request-dto.
Здесь рассматривается подход к оптимизации Symfony-контроллера с использованием типизации входных и выходных данных вместо подхода, основанного на Swagger и аннотациях. Автор предлагает переход от базового Request объекта к использованию DTO (Data Transfer Object) с помощью библиотеки prugala/symfony-request-dto.
Хабр
Типичный Swagger без гмо
Кто из нас не был одурманен сказками про свагер? Мол, добавь эту волшебную штуку — да заживешь! Но плата за магию — зеленое болото нотаций. А нельзя ли обойтись только типизацией самого php? (Спойлер:...
🌚6👍4🤔1
ShipSaaS Logger
Laravel ShipSaasLogger позволяет отслеживать запросы между серверами, помечая каждый запрос уникальным идентификатором 🆔 для каждой записи в логах
Laravel ShipSaasLogger позволяет отслеживать запросы между серверами, помечая каждый запрос уникальным идентификатором 🆔 для каждой записи в логах
GitHub
GitHub - shipsaas/shipsaas-logger: Laravel ShipSaas Logger enables the tracing of requests across servers by marking each request…
Laravel ShipSaas Logger enables the tracing of requests across servers by marking each request with a unique ID. Skyrocket the production debugging. - shipsaas/shipsaas-logger
🥱4👍2❤1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 👨🏻🏫
Senior PHP Разработчик в Биг Дата Технолоджи
Москва. Разработка высокотехнологичных решений.
Подробнее
PHP программист в Digital Agency Siart
Москва. Информационные технологии, системная интеграция.
Подробнее
PHP-программист в Пиксель Плюс
Москва. Продвижение, создание и поддержка сайтов, брендинг, дизайн и производство рекламной продукции.
Подробнее
PHP Разработчик в Decart IT-production
Москва. Бизнес-ориентированная группа компаний.
Подробнее
Разработчик на PHP в ИНГЛИШ ТОЧКА
Москва. Онлайн-школа английского языка.
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии недели для Москвы 👨🏻🏫
Senior PHP Разработчик в Биг Дата Технолоджи
Москва. Разработка высокотехнологичных решений.
Подробнее
PHP программист в Digital Agency Siart
Москва. Информационные технологии, системная интеграция.
Подробнее
PHP-программист в Пиксель Плюс
Москва. Продвижение, создание и поддержка сайтов, брендинг, дизайн и производство рекламной продукции.
Подробнее
PHP Разработчик в Decart IT-production
Москва. Бизнес-ориентированная группа компаний.
Подробнее
Разработчик на PHP в ИНГЛИШ ТОЧКА
Москва. Онлайн-школа английского языка.
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
hh.ru
Вакансия Senior PHP Разработчик в Москве, работа в компании Биг Дата Технолоджи (вакансия в архиве c 19 января 2024)
Зарплата: от 250000 до 350000 ₽ за месяц. Москва. Требуемый опыт: более 6 лет. Полная занятость. Дата публикации: 16.01.2024.
🤔7❤1👍1
Какой метод изучения нового материала вы предпочитаете и почему?
Anonymous Poll
50%
Youtube
25%
Курсы
45%
Книги/PDF
51%
Статьи/посты в блогах
42%
Учитесь, создавая что-то самостоятельно
6%
Другое
😁7👍5❤2
🔥 -50% на курс «Алгоритмы и структуры данных»
😲 В честь черной пятницы курс «Алгоритмы и структуры данных» со скидкой 50% – https://proglib.io/w/3386739b
17 990 рублей35 990 рублей до 30 ноября
🐣 На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код. И сможете подготовиться к собеседованию крупную IT-компанию.
Что еще вас ждет на курсе:
▪️ 150 практических заданий и 47 видеолекций;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
👉 А если вы сомневаетесь подходит ли вам курс, то вы можете начать изучение с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Переходите на сайт и оставляйте заявку на вводные занятия – https://proglib.io/w/3386739b
До встречи на обучении 🙌
😲 В честь черной пятницы курс «Алгоритмы и структуры данных» со скидкой 50% – https://proglib.io/w/3386739b
17 990 рублей
🐣 На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код. И сможете подготовиться к собеседованию крупную IT-компанию.
Что еще вас ждет на курсе:
▪️ 150 практических заданий и 47 видеолекций;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
👉 А если вы сомневаетесь подходит ли вам курс, то вы можете начать изучение с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Переходите на сайт и оставляйте заявку на вводные занятия – https://proglib.io/w/3386739b
До встречи на обучении 🙌
👏3🤔3😁1
Как бесплатно разработать бессерверное PHP-приложение с базой данных PostgreSQL с помощью Vercel и Neon.tech
В этой статье описан опыт по бесплатному созданию бессерверного PHP-приложения с использованием таких платформ, как Vercel и Neon.tech.
Важность бессерверных технологий заключается в экономии времени и энергии при разработке PHP-приложений, которые обычно требуют настройки и обслуживания сервера.
В этой статье описан опыт по бесплатному созданию бессерверного PHP-приложения с использованием таких платформ, как Vercel и Neon.tech.
Важность бессерверных технологий заключается в экономии времени и энергии при разработке PHP-приложений, которые обычно требуют настройки и обслуживания сервера.
👍3
Как работает session в РНР, где хранится, как инициализируется?
В PHP, сессия — это механизм, который позволяет сохранять данные о состоянии пользователя между разными запросами на сервере.
Сессия инициализируется следующим образом:
Сначала нужно вызвать функцию session_start(), которая инициализирует или возобновляет уже существующую сессию для текущего пользователя. Если сессия уже инициализирована, функция просто возобновляет ее.
После вызова session_start(), PHP создает уникальный идентификатор сессии (называемый session ID), который может быть сохранен в виде cookie на стороне клиента или передан через URL (если отключены куки). ID сессии используется для связи данных сессии между разными запросами.
Данные сессии хранятся на сервере. По умолчанию, PHP сохраняет данные сессии во временной директории на сервере. Местоположение директории можно настроить в php.ini с помощью параметра session.save_path. Каждая сессия имеет свой собственный файл, который называется session file.
В файле сессии хранятся данные, которые могут быть доступны пока сессия открыта. Эти данные могут быть сохранены в массиве $_SESSION, который доступен на протяжении всей сессии и содержит данные, заданные разработчиком.
#вопросы_с_собеседований
В PHP, сессия — это механизм, который позволяет сохранять данные о состоянии пользователя между разными запросами на сервере.
Сессия инициализируется следующим образом:
Сначала нужно вызвать функцию session_start(), которая инициализирует или возобновляет уже существующую сессию для текущего пользователя. Если сессия уже инициализирована, функция просто возобновляет ее.
После вызова session_start(), PHP создает уникальный идентификатор сессии (называемый session ID), который может быть сохранен в виде cookie на стороне клиента или передан через URL (если отключены куки). ID сессии используется для связи данных сессии между разными запросами.
Данные сессии хранятся на сервере. По умолчанию, PHP сохраняет данные сессии во временной директории на сервере. Местоположение директории можно настроить в php.ini с помощью параметра session.save_path. Каждая сессия имеет свой собственный файл, который называется session file.
В файле сессии хранятся данные, которые могут быть доступны пока сессия открыта. Эти данные могут быть сохранены в массиве $_SESSION, который доступен на протяжении всей сессии и содержит данные, заданные разработчиком.
#вопросы_с_собеседований
🔥14🥱7👍5❤1
Упрощение интеграции API с Http-фасадом Laravel
📝 В статье рассматривается подход к интеграции сторонних API в Laravel с использованием фасада Http. Использование фасада Http Laravel обеспечивает последовательную структуру для всех интеграций сторонних сервисов, упрощает тестирование и мокирование, а также уменьшает зависимость от внешних SDK.
🔍 В примере в статье демонстрируется интеграция API Google Books. Первым шагом является добавление конфигурации API Google Books, включая ключ API, в переменные окружения Laravel. Затем автор создает переиспользуемый класс ApiRequest для построения HTTP-запросов к API с возможностью легкой настройки заголовков, параметров запроса и данных тела.
🚀 Далее представлен абстрактный класс ApiClient, служащий базовым классом для выполнения HTTP-запросов к любому API. Класс предоставляет метод для отправки ApiRequest и включает настройки по умолчанию, такие как прием JSON и базовый URL. Класс GoogleBooksApiClient расширяет этот абстрактный класс, указывая базовый URL для API Google Books и обрабатывая авторизацию, специфичную для данного API, например, передачу ключа API в виде параметра запроса.
📚 В статье также представлен пример действия QueryBooksByTitle, которое использует GoogleBooksApiClient для запроса книг по названию из API Google Books.
📝 В статье рассматривается подход к интеграции сторонних API в Laravel с использованием фасада Http. Использование фасада Http Laravel обеспечивает последовательную структуру для всех интеграций сторонних сервисов, упрощает тестирование и мокирование, а также уменьшает зависимость от внешних SDK.
🔍 В примере в статье демонстрируется интеграция API Google Books. Первым шагом является добавление конфигурации API Google Books, включая ключ API, в переменные окружения Laravel. Затем автор создает переиспользуемый класс ApiRequest для построения HTTP-запросов к API с возможностью легкой настройки заголовков, параметров запроса и данных тела.
🚀 Далее представлен абстрактный класс ApiClient, служащий базовым классом для выполнения HTTP-запросов к любому API. Класс предоставляет метод для отправки ApiRequest и включает настройки по умолчанию, такие как прием JSON и базовый URL. Класс GoogleBooksApiClient расширяет этот абстрактный класс, указывая базовый URL для API Google Books и обрабатывая авторизацию, специфичную для данного API, например, передачу ключа API в виде параметра запроса.
📚 В статье также представлен пример действия QueryBooksByTitle, которое использует GoogleBooksApiClient для запроса книг по названию из API Google Books.
👍5❤1⚡1🥰1🌚1
MoonShine 2.0. Что нового?
Недавно состоялся релиз MoonShine 2. Здесь рассказывается про все нововведения
Недавно состоялся релиз MoonShine 2. Здесь рассказывается про все нововведения
Хабр
MoonShine 2.0. Что нового?
Последние полгода наше комьюнити CutCode работает над новой версией нашей open-source админ-панели MoonShine. И вот недавно состоялся релиз MoonShine 2 . Давайте пройдемся по всем значимым изменениям!...
👍5🥱3🤔2
❗Мы запускаем серию исследований — и вы можете нам в этом помочь!
«Библиотека программиста» выпустит несколько статей, в которых мы проведем полноценные исследования.
Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?
Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
«Библиотека программиста» выпустит несколько статей, в которых мы проведем полноценные исследования.
Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?
Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
❤2🔥1
Как добавить вход по JWT в проект Symfony 6
Здесь показано, как реализовать систему аутентификации с использованием JSON Web Token (JWT) для вашего проекта Symfony 6. Вот основные шаги:
1️⃣Создание проекта Symfony:
Используйте Symfony CLI для создания нового проекта
2️⃣Установка необходимых пакетов:
Установите пакеты для Doctrine ORM, MakerBundle и LexikJWTAuthenticationBundle.
3️⃣Создание сущности пользователя:
Создайте сущность пользователя с помощью MakerBundle, укажите класс, свойства и алгоритм хеширования пароля.
4️⃣Настройка безопасности:
Измените файл config/packages/security.yaml для настройки брандмауэров для входа и конечных точек API.
Определите правила контроля доступа для ограничения доступа к конечным точкам на основе ролей пользователя.
5️⃣Настройка маршрутов:
Определите маршруты для конечных точек входа и API в файле config/routes.yaml.
6️⃣Отправка запроса на вход:
Используйте cURL для отправки POST-запроса к конечной точке входа и получения токена JWT.
7️⃣Создание контроллера API:
Создайте контроллер API с помощью MakerBundle.
Измените контроллер для использования TokenStorageInterface для получения email вошедшего пользователя.
8️⃣Отправка аутентифицированного запроса:
Используйте cURL для отправки POST-запроса к защищенной конечной точке API с полученным токеном JWT.
Здесь показано, как реализовать систему аутентификации с использованием JSON Web Token (JWT) для вашего проекта Symfony 6. Вот основные шаги:
1️⃣Создание проекта Symfony:
Используйте Symfony CLI для создания нового проекта
2️⃣Установка необходимых пакетов:
Установите пакеты для Doctrine ORM, MakerBundle и LexikJWTAuthenticationBundle.
3️⃣Создание сущности пользователя:
Создайте сущность пользователя с помощью MakerBundle, укажите класс, свойства и алгоритм хеширования пароля.
4️⃣Настройка безопасности:
Измените файл config/packages/security.yaml для настройки брандмауэров для входа и конечных точек API.
Определите правила контроля доступа для ограничения доступа к конечным точкам на основе ролей пользователя.
5️⃣Настройка маршрутов:
Определите маршруты для конечных точек входа и API в файле config/routes.yaml.
6️⃣Отправка запроса на вход:
Используйте cURL для отправки POST-запроса к конечной точке входа и получения токена JWT.
7️⃣Создание контроллера API:
Создайте контроллер API с помощью MakerBundle.
Измените контроллер для использования TokenStorageInterface для получения email вошедшего пользователя.
8️⃣Отправка аутентифицированного запроса:
Используйте cURL для отправки POST-запроса к защищенной конечной точке API с полученным токеном JWT.
DEV Community
How to Add JWT Login to a Symfony Project
In this tutorial, I will show you how to implement a simple JWT authentication system for your...
👍5🥱1
Еще один #дайджест новостей по PHP за неделю:
🔎PhpStorm 2023.3 Beta 2
🔎Выпущена версия CakePHP 5.0.3. — Улучшения включают в себя: Обновление пути к плагину_class_error.php. Расширен тип $format в TimeHelper::format(). Поддержка PHP 8.3 и многое другое.
🔎Выпущена версия Laravel 10.33 — На этой неделе команда Laravel выпустила версию 10.33 с новыми вспомогательными методами чисел, проверочными утверждениями о пакетах, существующих в цепочке заданий, правилом проверки шестнадцатеричного цвета и многим другим.
🔎Выпущена Symfony 6.4.0
🔎Неделя Symfony #882 (20–26 ноября 2023 г.) — На этой неделе деятельность разработчиков Symfony была сосредоточена на исправлении ошибок и доработке новых функций будущих версий Symfony 6.4 и 7.0, которые выйдут на следующей неделе.
🔎PhpStorm 2023.3 Beta 2
🔎Выпущена версия CakePHP 5.0.3. — Улучшения включают в себя: Обновление пути к плагину_class_error.php. Расширен тип $format в TimeHelper::format(). Поддержка PHP 8.3 и многое другое.
🔎Выпущена версия Laravel 10.33 — На этой неделе команда Laravel выпустила версию 10.33 с новыми вспомогательными методами чисел, проверочными утверждениями о пакетах, существующих в цепочке заданий, правилом проверки шестнадцатеричного цвета и многим другим.
🔎Выпущена Symfony 6.4.0
🔎Неделя Symfony #882 (20–26 ноября 2023 г.) — На этой неделе деятельность разработчиков Symfony была сосредоточена на исправлении ошибок и доработке новых функций будущих версий Symfony 6.4 и 7.0, которые выйдут на следующей неделе.
👍3😁1🎉1
Laravel 10 представил улучшенный Number Format Helper с функциями, направленными на упрощение форматирования чисел, процентов, валюты, размеров файлов и создания читаемых представлений:
1️⃣Number::format(): Позволяет разработчикам легко форматировать числовые значения в строку, специфичную для локали, поддерживая опции точности, максимальной точности и локали.
2️⃣Number::percentage(): Упрощает получение процентного представления значения, предлагая опции точности и локали для настройки.
3️⃣Number::currency(): Облегчает форматирование денежных значений с опциями для типа валюты и локали, предоставляя удобный способ представления финансовой информации.
4️⃣Number::fileSize(): Предоставляет интуитивный способ представления размеров файлов в читаемом формате с настраиваемой точностью.
5️⃣Number::forHumans(): Предоставляет читаемый для человека формат числовых значений, делая большие числа более понятными и предоставляя чистое представление.
1️⃣Number::format(): Позволяет разработчикам легко форматировать числовые значения в строку, специфичную для локали, поддерживая опции точности, максимальной точности и локали.
2️⃣Number::percentage(): Упрощает получение процентного представления значения, предлагая опции точности и локали для настройки.
3️⃣Number::currency(): Облегчает форматирование денежных значений с опциями для типа валюты и локали, предоставляя удобный способ представления финансовой информации.
4️⃣Number::fileSize(): Предоставляет интуитивный способ представления размеров файлов в читаемом формате с настраиваемой точностью.
5️⃣Number::forHumans(): Предоставляет читаемый для человека формат числовых значений, делая большие числа более понятными и предоставляя чистое представление.
DEV Community
Exploring the Enhanced Number Format Helper in Laravel 10
Laravel, the PHP framework known for its elegant syntax and developer-friendly features, has recently...
👍9🥱3
Ручная пила для PHP-монолита
🔎В заключительной части серии статей об обеспечении надежного выполнения транзакций в распределенных системах автор делится процессом принятия решений и реализацией своего решения, на основе TSQM.
🟠Задача заключается в удалении частей бизнес-логики из PHP-монолита минимально инвазивным образом. Решение TSQM включает создание собственного движка для управления распределенными транзакциями, с акцентом на детерминизме, кешировании и асинхронных повторах.
В реализации используются PHP-генераторы для упрощения API движка и уменьшения воздействия на разработчиков.
Библиотека TSQM представлена как открытое решение, обеспечивающее легкую интеграцию в существующие PHP-монолиты. В статье делается вывод о затратах на использование, планах развития и сравнении с другими решениями, такими как Temporal, указывая на простоту и специфичность применения в качестве основных причин выбора TSQM вместо более сложных альтернатив.
🔎В заключительной части серии статей об обеспечении надежного выполнения транзакций в распределенных системах автор делится процессом принятия решений и реализацией своего решения, на основе TSQM.
🟠Задача заключается в удалении частей бизнес-логики из PHP-монолита минимально инвазивным образом. Решение TSQM включает создание собственного движка для управления распределенными транзакциями, с акцентом на детерминизме, кешировании и асинхронных повторах.
В реализации используются PHP-генераторы для упрощения API движка и уменьшения воздействия на разработчиков.
Библиотека TSQM представлена как открытое решение, обеспечивающее легкую интеграцию в существующие PHP-монолиты. В статье делается вывод о затратах на использование, планах развития и сравнении с другими решениями, такими как Temporal, указывая на простоту и специфичность применения в качестве основных причин выбора TSQM вместо более сложных альтернатив.
Хабр
Ручная пила для PHP-монолита
Привет! Это третья и заключительная часть истории поиска надёжного способа работы с транзакциями в распределённых системах. В первой части мы поставили задачу, определили критерии оценки и набросали...
⚡3🥰2🥱2👍1