Ротация ключей шифрования — известная практика. Применительно к Laravel, что нужно учитывать при смене APP_KEY?
Небольшая заметка на тему: http://amp.gs/bEy2
Что учесть при смене ключа:
— Зашифрованные Cookie отвалятся, как следствие и сессии
— Encrypted Jobs — дождаться их завершения
— Зашифрованные поля в Eloquent — сначала нужно расшифровать старым ключом и пересохранить зашифровав новым
— Подписанные URL статут не валидны
— Прочие данные, которые вы шифровали в своём коде с помощью класса Encrypter и аналогичных Laravel хелперов нужно расшифровать и пересохранить
Беглое гугление показало один инструмент для graceful обновления APP_KEY: http://amp.gs/bEyw
Знаете еще инструменты/пакеты? Делаете ротацию ключей на своих production серверах?
Небольшая заметка на тему: http://amp.gs/bEy2
Что учесть при смене ключа:
— Зашифрованные Cookie отвалятся, как следствие и сессии
— Encrypted Jobs — дождаться их завершения
— Зашифрованные поля в Eloquent — сначала нужно расшифровать старым ключом и пересохранить зашифровав новым
— Подписанные URL статут не валидны
— Прочие данные, которые вы шифровали в своём коде с помощью класса Encrypter и аналогичных Laravel хелперов нужно расшифровать и пересохранить
Беглое гугление показало один инструмент для graceful обновления APP_KEY: http://amp.gs/bEyw
Знаете еще инструменты/пакеты? Делаете ротацию ключей на своих production серверах?
В свежем выпуске подкаста php[podacast] обсуждали Vagrant, Homestead, Docker, Laravel Sail. Все мы знаем, как тормозит Docker на macOS из-за файловой системы. Говорят, если запустить Docker внутри Vagrant (Virtual Box?), то будет быстрее! http://amp.gs/bVuj
Forwarded from Вебня (Sergey Rubanov)
Разработчики Flow о будущем проекта
Flow приоритезирует потребности Facebook (ещё больше? 🙃) перед остальным сообществом, собирается добавлять (видимо, несовместимий с JavaScript и TypeScrip) новый синтаксис, а также будет (ещё меньше?) уделять внимания внешним контрибьюшнам.
https://medium.com/flow-type/clarity-on-flows-direction-and-open-source-engagement-e721a4eb4d8b
Flow приоритезирует потребности Facebook (ещё больше? 🙃) перед остальным сообществом, собирается добавлять (видимо, несовместимий с JavaScript и TypeScrip) новый синтаксис, а также будет (ещё меньше?) уделять внимания внешним контрибьюшнам.
https://medium.com/flow-type/clarity-on-flows-direction-and-open-source-engagement-e721a4eb4d8b
Medium
Clarity on Flow’s Direction and Open Source Engagement
Summary: Flow prioritizes the Facebook codebase’s need for more type safety and fast performance on very large codebases. Flow’s…
Как оптимизировать запрос выбирающий три случайные записи `SELECT * FROM repositories ORDER BY RANDOM() LIMIT 3`? В статье рассмотрены несколько способов с описанием плюсов и минусов. Неожиданное решение: использовать SP-GiST индекс (PostgreSQL): http://amp.gs/jIG1v
ALTER TABLE repositories ADD COLUMN randomness point;
UPDATE opendor SET randomness = point(random(), random());
CREATE INDEX repositories_randomness on repositories using spgist(randomness);
SELECT * FROM repositories ORDER BY randomness <→ point(0.753,0.294) LIMIT 3;
ALTER TABLE repositories ADD COLUMN randomness point;
UPDATE opendor SET randomness = point(random(), random());
CREATE INDEX repositories_randomness on repositories using spgist(randomness);
SELECT * FROM repositories ORDER BY randomness <→ point(0.753,0.294) LIMIT 3;
Краткая выжимка обновлений ожидаемых в PHP 8.1 из свежего PHP Дайджеста:
- Enum они же перечисления
- Новый тип never для возвращаемых значений
- Файберы
- Финальные константы в классах
- Оператор распаковки поддерживает массивы со строковыми ключами
- Объявлено устаревшим преобразование float в int, где теряется дробная часть
- Интерфейс Serializable объявлен устаревшим
- Запись восьмеричных чисел с префиксом 0o
- Ограничено использование $GLOBALS
http://amp.gs/jIeKi
- Enum они же перечисления
- Новый тип never для возвращаемых значений
- Файберы
- Финальные константы в классах
- Оператор распаковки поддерживает массивы со строковыми ключами
- Объявлено устаревшим преобразование float в int, где теряется дробная часть
- Интерфейс Serializable объявлен устаревшим
- Запись восьмеричных чисел с префиксом 0o
- Ограничено использование $GLOBALS
http://amp.gs/jIeKi
Хабр
PHP Дайджест № 205 (1 – 15 июня 2021)
Подборка свежих новостей и материалов из мира PHP. В выпуске: первая альфа PHP 8.1.0, Composer 2.1, Symfony 5.3 и другие релизы. Обзор новых предложений для PHP 8.1: Partial Function Application,...
Соревнования по программированию на платформе All Cups
Пятиминутка PHP
В гостях Дмитрий Санников (https://t.me/sannikovdmitry) рассказывает про соревнования по программированию, ИИ, машинному обучению и высоконагруженным системам на платформе All Cups (https://cups.mail.ru/ru/).
- All Cups - платформа для проведения соревнований
- Кто является автором и инициатором соревнований?
- Визитная карточка - интересные задачи
- Online или Offline?
- Призовой фонд?
- Какие языки программирования популярны на соревнованиях?
- Как взаимодействует код участника соревнования с платформой?
- Локальная отладка?
- Запуск в Docker под самописным оркестратором на Django
- Пытались ли участники взломать платформу и как?
- Какой KPI стоит перед командой?
- Зачем участвовать в соревнованиях по программированию?
- Образовательная часть проекта, бесплатные курсы
- Ближайшие мероприятия
- All Cups - платформа для проведения соревнований
- Кто является автором и инициатором соревнований?
- Визитная карточка - интересные задачи
- Online или Offline?
- Призовой фонд?
- Какие языки программирования популярны на соревнованиях?
- Как взаимодействует код участника соревнования с платформой?
- Локальная отладка?
- Запуск в Docker под самописным оркестратором на Django
- Пытались ли участники взломать платформу и как?
- Какой KPI стоит перед командой?
- Зачем участвовать в соревнованиях по программированию?
- Образовательная часть проекта, бесплатные курсы
- Ближайшие мероприятия
Forwarded from PHP Russia Channel
🔥Благодаря поддержке генерального онлайн-партнёра конференции AvitoTech трансляция главного зала PHP Russia 2021 доступна для всех.
📍28 июня вы сможете увидеть трансляцию докладов от лучших спикеров вселенной РНР! Для того, чтобы сделать это, нужно зарегистрироваться по ссылке 👉 bit.ly/3qf0mol
Присоединяйтесь, зовите коллег. Не упустите шанс послушать доклады об устройстве фреймворков от их разработчиков и опыт реализации крупных проектов на PHP.
📍28 июня вы сможете увидеть трансляцию докладов от лучших спикеров вселенной РНР! Для того, чтобы сделать это, нужно зарегистрироваться по ссылке 👉 bit.ly/3qf0mol
Присоединяйтесь, зовите коллег. Не упустите шанс послушать доклады об устройстве фреймворков от их разработчиков и опыт реализации крупных проектов на PHP.
Forwarded from Тимлид Очевидность | Евгений Антонов
#минуткарекламы
5 июля старт Podlodka Soft Skills Crew – нашей новой конференции про софт-скиллы для инженеров!
🟢 Интенсив продлится две недели. Встречаемся дважды в день: утром и вечером
Вас ждут: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
🟢 Тема первой недели: Коммуникации
Во время неё узнаем, как общаться с другими людьми без стресса, даже если вы "интроверт". Обсудим принципы хорошей обратной связи руководству и коллегам. А ещё научимся распознавать манипуляции и защищаться от них.
🟢 Тема второй недели: Problem solving
Познакомимся с моделями мышления, научимся проходить поведенческие и проблемные интервью (типичные для FAANG). А также расширим своё видение и узнаем, как думают топ-менеджеры и предприниматели.
Подробности нашего свежего формата уже на сайте, смотри и успевай на ознакомительные бесплатные сессии!🔥
P.S. От себя добавлю, что тематика выглядит довольно похоже на первые, очень полюбившиеся мне, сезоны тимлидкрю. Надеюсь на много полезных мыслей, позитивные впечатления, новые знакомства:)
5 июля старт Podlodka Soft Skills Crew – нашей новой конференции про софт-скиллы для инженеров!
🟢 Интенсив продлится две недели. Встречаемся дважды в день: утром и вечером
Вас ждут: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
🟢 Тема первой недели: Коммуникации
Во время неё узнаем, как общаться с другими людьми без стресса, даже если вы "интроверт". Обсудим принципы хорошей обратной связи руководству и коллегам. А ещё научимся распознавать манипуляции и защищаться от них.
🟢 Тема второй недели: Problem solving
Познакомимся с моделями мышления, научимся проходить поведенческие и проблемные интервью (типичные для FAANG). А также расширим своё видение и узнаем, как думают топ-менеджеры и предприниматели.
Подробности нашего свежего формата уже на сайте, смотри и успевай на ознакомительные бесплатные сессии!🔥
P.S. От себя добавлю, что тематика выглядит довольно похоже на первые, очень полюбившиеся мне, сезоны тимлидкрю. Надеюсь на много полезных мыслей, позитивные впечатления, новые знакомства:)
podlodka.io
Онлайн-конференция Podlodka Soft Skills Crew, сезон #7
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Наткнулся на свежую презентацию концепции будущей версии Bitrix Framework 3 — хотят соблюдать PSR, использовать composer и twig. Но это пока лишь концепция, ждут реакции партнёров и разработчиков. И пока не понятно как поддержать обратную совместимость, а это важный момент. https://youtu.be/SU_vUZL-190
YouTube
Новый Bitrix Framework: концепции и прототип. Дмитрий Медведев, Иван Челищев, «1С-Битрикс»
Доклад в рамках технопотока на партнерской конференции 1С-Битрикс «Давай встретимся».
Доклад — Новый Bitrix Framework: концепции и прототип:
— новый Bitrix Framework: концепция и прототип;
— совместимость продукта с PHP8.
Спикеры:
Дмитрий Медведев, ведущий…
Доклад — Новый Bitrix Framework: концепции и прототип:
— новый Bitrix Framework: концепция и прототип;
— совместимость продукта с PHP8.
Спикеры:
Дмитрий Медведев, ведущий…
Весьма живая дискуссия на тему On-premise vs Cloud СУБД: https://youtu.be/xUnZ-kLqtvw
— что мы имеем ввиду, говоря «база в облаке»?
— невозможно добиться времени ответа в единицы миллисекунд на публичном облаке, нужно своё железо и своя сеть;
— если у вас 20 микросервисов, которые нужно опросить для отображения одной страницы, причём не все запросы можно сделать параллельно, то latency становится важной характеристикой!
— стоимость обслуживания On-premise против Managerd решения в облаке, где точка пересечения?
— не бывает плохих архитектур, бывают дорогие архитектуры!
— как часто обновляться? История с упавшим Snowflake;
— где физически хранить данные, если базы в облаке: сетевые диски против локальных.
И другие интересные истории, рекомендую!
— что мы имеем ввиду, говоря «база в облаке»?
— невозможно добиться времени ответа в единицы миллисекунд на публичном облаке, нужно своё железо и своя сеть;
— если у вас 20 микросервисов, которые нужно опросить для отображения одной страницы, причём не все запросы можно сделать параллельно, то latency становится важной характеристикой!
— стоимость обслуживания On-premise против Managerd решения в облаке, где точка пересечения?
— не бывает плохих архитектур, бывают дорогие архитектуры!
— как часто обновляться? История с упавшим Snowflake;
— где физически хранить данные, если базы в облаке: сетевые диски против локальных.
И другие интересные истории, рекомендую!
YouTube
Круглый стол: Базы данных и где они обитают (On-premise vs Cloud)
Понравилось видео и хочешь узнать что-то еще про тимлидство? Забирай весь плейлист на https://is.gd/kChYnl или купи билет на следующий сезон конференции https://is.gd/auKynm
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена…
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена…
Нужно было переустановить PHP проект, который не трогал уже три года. Запустил Ansible плейбуки, всё установилось и заработало с первого раза. Вот что Infrastructure as a Code животворящий делает!
Порекомендую видео доклада: https://youtu.be/--lenvvFwrg?t=4216
Весьма позитивный опыт перевода всех разработчиков веб-студии с Windows на Linux + Docker для упрощения развёртывания проектов. Особенность веб-студии в том, что проектов много и иногда разработчику нужно переключаться, работать с несколькими параллельно, причём там могут быть разные версии PHP и свои инфраструктурные особенности.
Классическая история проб и ошибок:
— от локальной разработки на Windows
— через разработку на удалённых dev серверах
— подход к OpenServer, Vagrant
— переход на Desktop Linux (LAMP)
— перевод проектов в Docker с обвязкой из нескольких сервисных контейнеров: nginx-proxy, dns-gen, mailcathcer, portainer
— Minikube vs k3s
— А что с WSL?
Заголовок видео «Митап Разработка современного e-com на Битрикc», но в докладе нет Битрикс-специфики, советы применимы к любому PHP проекту.
Весьма позитивный опыт перевода всех разработчиков веб-студии с Windows на Linux + Docker для упрощения развёртывания проектов. Особенность веб-студии в том, что проектов много и иногда разработчику нужно переключаться, работать с несколькими параллельно, причём там могут быть разные версии PHP и свои инфраструктурные особенности.
Классическая история проб и ошибок:
— от локальной разработки на Windows
— через разработку на удалённых dev серверах
— подход к OpenServer, Vagrant
— переход на Desktop Linux (LAMP)
— перевод проектов в Docker с обвязкой из нескольких сервисных контейнеров: nginx-proxy, dns-gen, mailcathcer, portainer
— Minikube vs k3s
— А что с WSL?
Заголовок видео «Митап Разработка современного e-com на Битрикc», но в докладе нет Битрикс-специфики, советы применимы к любому PHP проекту.
Ядро Битрикс - история и планы
Пятиминутка PHP
Для этого выпуска подкаста я пригласил двух разработчиков ядра Битрикс: Дмитрия Медведева (https://facebook.com/medveddev) и Ивана Челищева (https://www.facebook.com/chelishchev). Обсудили историю развития Битрикс, что такое ядро и Bitrix Framework, что такое D7, как выглядит разработка под Битрикс сейчас и какие планы на будущее.
Про технологии в актуальной версии D7:
- Используются суперглобальные массивы $_GET, $_POST?
- ORM, QueryBuilder и работа с базой
- Active Record или Data Mapper?
- Почему не Doctrine?
- Миграции и система обновлений
- Поддержка различных СУБД?
- Почему нет PostgreSQL?
- Роутинг и точки входа
- Шаблонизация, защита от XSS, подключение внешних шаблонов
- Работа с очередями, агенты
- IoC контейнер или Service Locator?
- Autowiring в контроллере
- Консольные команды на основе symfony/console
- Другие внешние библиотеки
- Сборка PHP кода
- Сборка фронтенд кода: инструмент Bitrix CLI на основе Rollup
Что планируется в будущем Bitrix Framework 3?
Про технологии в актуальной версии D7:
- Используются суперглобальные массивы $_GET, $_POST?
- ORM, QueryBuilder и работа с базой
- Active Record или Data Mapper?
- Почему не Doctrine?
- Миграции и система обновлений
- Поддержка различных СУБД?
- Почему нет PostgreSQL?
- Роутинг и точки входа
- Шаблонизация, защита от XSS, подключение внешних шаблонов
- Работа с очередями, агенты
- IoC контейнер или Service Locator?
- Autowiring в контроллере
- Консольные команды на основе symfony/console
- Другие внешние библиотеки
- Сборка PHP кода
- Сборка фронтенд кода: инструмент Bitrix CLI на основе Rollup
Что планируется в будущем Bitrix Framework 3?