TGViewer
Channel Public Channel
Пятиминутка PHP

Пятиминутка PHP

@tg_5minphp

Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Subscribers
2.79K
Photos
360
Videos
28
Links
860

Showing posts older than #1163 · Back to latest

Older Posts 20 shown
Post #1162 1.74K

Forwarded from Laravel World

Релиз Herd

Среда разработки Laravel-проектов под macOS. Включает в себя всё необходимое, в том числе PHP и nginx.

https://herd.laravel.com/
  • 💩 25
  • 🤡 12
  • 🤔 8
  • 👍 4
  • 🥱 1
  • 🥴 1
Post #1161 2.48K
Знаете как в Linux удалить французский язык?
rm -fr /

(комментаний на всякий случай: это шутка, команда не удаляет французский язык, но может удалить важные файлы в системе)
  • 🤡 47
  • 😁 26
  • 👎 5
  • 🔥 5
  • 🤬 4
  • 💩 4
  • 👍 3
  • 🤮 2
Post #1160 2.16K
  • 😁 28
  • ✍ 9
  • 👍 2
Post #1159 2.77K
Золотые цитаты телеграма
  • 😁 64
  • 👍 19
  • 🥱 1
Post #1158 3.09K
Интерпретатор PHP скомпилированный в WASM и установленный через npm - теперь вы можете запустить PHP код и для этого даже не понадобится устанавливать PHP! Но понадобится Node.js: https://redd.it/14pq3r7

https://reddit.com/link/14pq3r7/video/oofemralhs9b1/player
Reddit From the laravel community on Reddit Explore this post and more from the laravel community
  • 💩 24
  • 😁 17
  • 🤯 3
Post #1157 2.38K
  • 🔥 32
  • 👍 6
  • 😁 3
Post #1156 2K

Forwarded from Сергей Предводителев

🌿 Про минимальное количество аргументов для variadic-параметров в PHP

При использовании variadic-параметров в некоторых случаях нужно ограничить минимальное количество элементов. Это можно сделать с помощью проверки внутри метода:

public function eat(string ...$foods): void
{
if (empty($foods)) {
throw new LogicException('Need to eat something.');
}
// ...
}

Но можно избавится от проверки и ввести это ограничение другим способом:

public function eat(string $food, string ...$moreFood): void
{
$foods = [$food, ...$moreFood];
// ...
}

Причём это будет работать как в классическом варианте:

$pet->eat('apple', 'meat', 'bread');

Так и с помощью распаковки массива:

$foods = ['apple', 'meat', 'bread'];
$pet->eat(...$foods);

Периодически использую этот подход на практике, позволяет задать дополнительные условия на уровне сигнатуры метода.
  • 👍 26
  • ❤ 5
  • 🔥 3
  • 🤡 1
Post #1154 2.11K
Post #1152 3.3K
  • 😁 40
  • 👍 9
  • 🤣 5
  • 👎 1
  • 👨‍💻 1
Post #1149 2.87K
  • 😁 36
  • 👍 9
  • 🔥 2
Post #1147 5.22K
Итак, принципы программирования по заветам Марксизма-Ленинизма от Владимира Ильича: LENIND

L - Labor Equality Principle (Принцип равенства труда): Все элементы кода должны иметь равные возможности для исполнения. Избегайте привилегирования каких-либо частей кода за счет других. Каждая функция, метод или класс должны иметь равный доступ к ресурсам и возможности для выполнения своих задач.

E - Economic Efficiency Principle (Принцип экономической эффективности): Максимизируйте использование ресурсов. Оптимизируйте ваш код для достижения максимальной производительности с минимальными затратами. Всякий излишек должен быть устранен.

N - Necessity Principle (Принцип необходимости): Каждый элемент кода должен быть необходимым и иметь цель. Избегайте бесцельного кода. Если часть кода не способствует общей цели программы, она должна быть исключена.

I - International Solidarity Principle (Принцип международной солидарности): Код должен быть написан таким образом, чтобы его можно было легко использовать, модифицировать и понимать в любой точке мира. Это включает в себя учет локализации и интернационализации, использование ясных комментариев и документации, а также придерживание стандартов кодирования.

N - No Exploitation Principle (Принцип нон-эксплуатации): Код не должен злоупотреблять своими ресурсами или зависимостями. Избегайте ситуаций, когда одна часть кода "эксплуатирует" другую, используя больше ресурсов, чем необходимо, или принуждая ее выполнять задачи за себя.


D - Dictatorship of the Proletariat Principle (Принцип диктатуры пролетариата): Код должен служить интересам большинства пользователей. Конечные пользователи - это "пролетариат" вашего кода, и его нужно разрабатывать с учетом их потребностей и интересов. Вы должны активно слушать отзывы и требования пользователей и стремиться их удовлетворить.
  • 😁 31
  • 👍 7
  • 🤡 4
  • 🥴 3
  • 🔥 2
  • 💩 2
  • 👨‍💻 1
Post #1146 1.73K

Forwarded from Леонид Черненко

Статья про параметры CUPID:

https://dannorth.net/2022/02/10/cupid-for-joyful-coding

Автор предлагает писать код ориентированный на CUPID, вместо следования устаревшим по его мнению принципам SOLID.

Отличная статья, каждый из параметров заслуживает пристального рассмотрения, аргументация на высоком уровне )

Краткое определение параметров:

C - Composability, возможность блоков кода "стыковаться" друг с другом

U - Unix philosofy, делай что-то одно, но хорошо

P - Predictability, отсутствие сюрпризов в коде

I - Idiomatic, единообразный, узнаваемый стиль

D - Domain-based, код основанный на предметной области
Dan North & Associates Ltd CUPID—for joyful coding What started as lighthearted iconoclasm, poking at the bear of SOLID, has developed into something more concrete and tangible. If I do not think the SOLID principles are useful these days, then what would I replace them with? Can any set of principles hold…
  • 🥴 6
  • 🌚 4
  • 👍 3
  • 👎 1
Post #1145 1.37K
Прочитал статью предлагающую ряд принципов типа SOLID, но немного других (см репост ниже 👇)

Эти принципы, и старые добрые SOLID, и предложенные автором статьи, звучат, с одной стороны, убедительно, но с другой стороны, всегда можно найти к чему придраться и устроить жаркий спор относительно «правильного» понимания или применения.

И тут у меня появилась «первоапрельская» идея - надо больше разных принципов! Причём не от анонимов из блогов, в от известных исторических личностей.
  • 👏 1
Post #1144 1.44K
Хорошая заметка в телеграм канале Александра Макарова с кратким обзором htmlx и альтернатив: https://t.me/samdark_blog/116

Не слышали про htmlx? В двух словах: делаем шаблонизацию на бэкенде, в браузер приезжает готовый html код, но в некоторых местах этого html кода с помощью атрибутов мы декларативно описываем динамическое поведение (примеры на скриноте - это список из документации).

Плюсы:
- не нужно писать JS код
- не нужно собирать и компилировать фронтенд
- декларативный синтаксис, достаточно простой
- на самом деле htmlx не какая-то новая библиотека однодневка, а уже заматеревшее решение

Минусы:
- Совсем гибкий UI аля SPA построить не получится. Но это и не входит в задачи библиотеки.

Альтернативы?
- альтернатив много, история развития этого подхода богатая, см заметку в блоге Александра (https://t.me/samdark_blog/116)
- либо перестать генерировать html шаблоны на PHP бэкенде и делать фронтенд на фронтенд фреймворках, тут порекомендую видео от Ивана Поддубного с его накопленным опытом: https://youtu.be/POogPQm_PcE
  • 🔥 8
  • 👎 1
  • 😁 1
  • 💩 1
Post #1143 1.57K
Сразу в нескольких телеграм каналах на неделе прочитал новость, что в Windows встроят поддержку WinRAR.

Звучит не плохо, но есть новости и поинтереснее: в обновлении Windows 11 (23H2) прямо в проводнике будет виден git статус файлов, «из коробки» - вот это поворот!
  • 🔥 26
  • 👍 9
  • 😁 3
  • 👎 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →