WP Yoda
166 subscribers
10 photos
50 links
Все о PHP, Laravel & WordPress от Мастера Йоды.

Подпишись на канал и получишь силу знаний о WordPress и IT безграничную ты.

Author: Andrei Pisarevskii
Author's telegram: @renakdup
Site: https://wp-yoda.com/
Download Telegram
Выделение цветом панели администратора WordPress для различных оружений

В современной веб-разработке использование различных окружений таких как: локальное, Development, тестовое (QA), Stage и Production, является стандартной практикой. Эти среды позволяют командам разрабатывать, тестировать и предварительно просматривать изменения перед их внедрением в рабочую версию сайта. Однако, несмотря на их важность в процессе разработки, довольно часто разработчики сталкиваются с проблемой путаницы между этими средами. Такая путаница может привести к ошибкам, например, к внесению изменений в Production среде вместо Development.

Как же минимизировать риск таких ошибок и повысить эффективность работы команды?

Читать статью

#wordpress #лучшие_практики
🔥4👍1
Как запустить несколько Docker проектов под 80 портом с помощью локального Reverse Proxy

Возможно, вам когда-то приходилось запускать два или более Docker проектов на локальном компьютере. Это обычная задача для разработчиков, особенно если у вас несколько проектов или вы используете архитектуру микросервисов.

Однако работа с несколькими Docker проектами может привести к определенным проблемам, одной из которых является невозможность запустить более одного Docker проекта на порту 80.

В этой статье я расскажу о данных проблемах и о способе их решения с помощью локального Reverse Proxy на Go, который я разработал для работы с двумя и более Docker проектами на порту 80. Также будет рассмотрено, как ReverseProxy работает. Вы узнаете, как легко и эффективно управлять доступом к множеству контейнеров, используя один стандартный порт, и как избавиться от необходимости дополнительной настройки каждого проекта для его работы в такой среде.

- Читать на русском
- Читать на английском

#reverseproxy #environment #go #docker
👍5🐳1
Что нового в PhpStorm 2024.1

Вышло обновление для PhpStorm! В нем появилось полнострочное завершение кода с поддержкой искусственного интеллекта, которое работает локально, не отправляя данные в интернет, поддержка Symfony's AssetMapper, новый терминал (Beta), улучшения для Pest, поддержка PHPUnit 11.0 и многое другое.

———

Давно хотел попробовать LLaMA и скормить ей корпоративную кодовую базу приложения, чтобы пользоваться AI и не нарушать соглашений в компании.
С встроенным локальным AI от PHPStorm теперь это будет не нужно, все доступно из коробки.

Читать подробнее

#phpstorm #ai
👍5🔥31👎1💩1🌚1
Интересные разговоры про будущее пыхи с Антоном Титовым ( Создателем RoadRunner server для пыхи ), а так-же про то как сложно найти PHP разработчиков под Энтерпрайз проекты, и почему пыху редко берут в энтерпрайз.

PS. Кому-то может быть душно.

https://www.youtube.com/watch?v=B2LJDGEsPYk

#roadrunner #php #enterprise
👍2🔥1
https://www.youtube.com/watch?v=MhgTVLzXYzs

Хорошее видео рассказывающее как нужно читать техническую литературу.
Со своей стороны скажу - что чтение книг без конспектирования практически не имеет смысла, пройдет месяц, год и вы уже ничего не вспомните о чем читали.

#learning
👍2🔥1💯1
Public Suffix List — проект Mozilla Foundation по созданию каталога публичных суффиксов доменов, используемых в сети Интернет.

Ранее публичные суффиксы называли эффективными доменами верхнего уровня. Список был создан в 2007 году. В настоящее время поддержкой каталога занимается Mozilla Foundation для целей повышения безопасности браузера Firefox, Chrome, Opera.

Применения списка:
- Запрет использования техники «supercookie», в которой по протоколу HTTP устанавливаются трудноудаляемые cookie для доменов верхнего уровня. Например, страница сайта foo.example.co.uk может устанавливать cookie для всех поддоменов example.co.uk и передать их к примеру сайту bar.example.co.uk. Однако устанавливаемые cookie для сайта example.co.uk должны быть изолированы от сайта example2.co.uk, поскольку эти сайты имеют разных владельцев.
- Подсвечивание наиболее важных частей адреса в адресной строке браузера.
- Улучшение сортировки истории посещенных страниц в браузерах.


Самый интересный пункт:
Запрет использования техники «supercookie»
.

Например: у вас есть сайт example.wpengine.com, вы не сможете установить на нем куки с доменом wpengine.com т.к. этот домен относится к Public Suffix List. Это сделано в целях безопасности, вместо этого нужно изменить ваш код, чтобы cookie устанавливалась для домена example.wpengine.com


С полным списком доменов в "Public Suffix List" можно ознакомиться по ссылке.

#security #cookie
👍1🔥1
Бывают ситуации когда возникают ошибки и приложение уходит в бесконечный редирект или срабатывает функция но вы не знаете откуда.

Рассмотрим ситуацию: Например вы поменяли пост главной страницы на другой, а после этого главная страница на клиенте сваливается в бесконечный редирект.
О том какие изменения в коде были произведены другими командами - вы не знаете, хотя код весь тестировали, перед выкаткой.
- Типичный edge case!

Не долго думая вы проходите curl -v -L https://example.com/ 2>&1 по ссылке, и видите по заголовку, что редирект был обработан WordPress.
- Значит это не девопсы накосячили, думаете вы.

Ищем функцию редиректов - в WordPress это wp_safe_redirect(), и добавляем туда функцию var_dump(debug_backtrace()). Эта функция выведет stack trace до самого вызова wp_safe_redirect(), смотрите скриншот.
И этим методом вы определите место с которого вызывается ваш циклический редирект в коде.

Вуаля, и проблема найдена, остается поправить бизнес логику.

#lifehack #debug
👍4🤓3
Шпаргалка по работе с VIM

https://eax.me/vim-commands/

#vim
👍2🔥1
Про CGI (Common Gateway Interface)

CGI (Common Gateway Interface) — это стандарт, который позволяет веб-серверу запускать внешние программы (обычно известные как CGI-скрипты) для обработки пользовательских запросов и генерации динамического содержимого. Эти CGI-скрипты могут быть написаны на различных языках программирования, включая Perl, Python, Ruby и PHP.

Читать подробнее

#server #infra
👍1
Про FastCGI и PHP-FPM

FastCGI (Fast Common Gateway Interface) — это протокол, предназначенный для увеличения производительности CGI (Common Gateway Interface) за счёт переиспользования процессов при обработке веб-запросов. FastCGI устраняет некоторые из основных недостатков традиционного CGI, такие как низкая производительность из-за необходимости создавать новый процесс для каждого запроса.

Читать подробнее

#server #infra #php
🔥4
Как использовать Mac без мышки

https://iamsang.com/en/2022/08/03/no-mouse/

#mac
Руководство по SNI в HTTPS

В современном мире интернет-технологий, где один сервер часто обслуживает множество доменов, возникает вопрос эффективного управления безопасными соединениями. Здесь на помощь приходит SNI (Server Name Indication) — ключевое расширение протокола TLS (Transport Layer Security).

SNI позволяет клиенту указывать имя хоста (доменное имя), к которому он стремится подключиться, уже на этапе начала TLS рукопожатия.

В этом руководстве мы разберем, как SNI функционирует в контексте HTTPS.

Читать статью

#base #network #https #tls
👍3🔥1
Отправка почты из Docker. Используем MailHog

При разработке приложений часто возникает задача проверки отправки emails. Для этого можно использовать MailHog совместно с Docker, что позволит с легкостью тестировать это локально. Достаточно будет один раз настроить эту конфигурацию и забыть о любой настройки SMTP отправки через ваше приложение. Давайте рассмотрим это подробнее.

Читать статью


#docker #environment #smtp #mailhog
👍31🔥1
WebStorm теперь бесплатный для некоммерческого использования.

Отличная возможность у разработчиков начать пользоваться нормальным инструментом для разработки фронта.

Читать подробнее
👍2🔥2🐳2
Тимлид – это ❄️, потому что в каждой компании он уникален и неповторим. Teamlead Roadmap – это карта навыков и компетенций тимлидов, которую можно адаптировать для любой компании и команды. Попробуйте приложить её и к себе!

https://github.com/tlbootcamp/tlroadmap?tab=readme-ov-file
👍2🔥2
Брать или не брать? или Как собеседовать разработчика

Отличная книга, которая раскрывает, что успешное собеседование – это не только проверка технических знаний, но и оценка личностных качеств кандидата.

Это краткое руководство поможет принять взвешенное решение при выборе разработчика.

#book #книга #lead #teamlead
👍2
Просто о сложных паролях для WordPress-пользователей

Когда ваш WordPress проект подразумевает более одного пользователя, а вы осознаёте, что одного доброго слова недостаточно, чтобы убедить остальных юзеров применять в меру сложные пароли (и тем более менять их каждые икс дней) — это повод заставить их сделать это с помощью доброго слова и кольта какого-то плагина.

Читать подробнее

#wordpress #plugin
🔥4👍2