TGViewer
Channel Public Channel
PHP Fart Time

PHP Fart Time

@php_fart

Привет, фартаны!

Дурачимся, пилим OpenSource и рассказываем про пердовые технологии в php.

Авторы контента: @roxblnfk и @butschster
Subscribers
1.95K
Photos
170
Videos
8
Links
266

Showing posts older than #130 · Back to latest

Older Posts 19 shown
Post #129 2.83K
Ну что.
Закончилась конфа Podlodka Crew PHP Architecture, на которой:
🍬 Стало ясно, что C4 только выглядит пугающе со своими диаграммами и объёмом материала для обучения. На деле же — изи-пизи.
🍬 Мы узнали, что под капотом банков РФ отвратительное API, двойные списывания и всратое легаси. Короче, говно в красивой маркетинговой упаковке. А ещё лишний раз вспомнили, что сериализация и преобразования флоатов в PHP — то, что должно быть улучшен, хотя-бы директивами.
🍬 Все поняли, что RoadRunner нужно использовать везде
🍬 Я и Павел выступили с крутым докладом и лайвкодингом про ⏳ #Temporal, победив в номинации зрительских симпатий (если бы такая была).
🍬 Фартаны заняли топовые позиции в конкурсе, получив больше всего электронных баллов.

Мои поздравления Павлу 🎂: он занял ТОП-1 по количеству е-баллов.


По-любому пойдём на следующую подлодку, может быть опять в качестве спикеров, если нас опять позовут 😋
  • 🔥 23
Post #128 2.53K
Купи слона!

У каждого PHP-программиста от говнокодера до профессионала должен быть PHP слон.

Купи слона!


Редкая возможность купить слона в России, да ещё и за 2к! Считай даром.

Купи слона!

Подходи, поторопись, PHP слоном закупись!

Пойду займу очередь за слоном. Такого у меня еще нет.
  • 😁 15
  • 🔥 6
Post #127 9.31K
Ну, это-то тоже известная штука, Валентин.

А можешь ли ты уместить решение FizzBuzz в 56 байтов? (ранее рекорд был 52 символа, но недавно обновили версию пыхи, и кое какие хаки перестали работать)

https://code.golf/fizz-buzz#php

У кого короче, тот и выиграл
© wispoz
Telegram Пых Ну это, фартаны, известный прикол. А как вы думаете, почему такой код работает? <?php echo b'Пых'; https://3v4l.org/D40FF
  • 😁 3
Post #125 2.03K
К хэллоуину Tempral заморочились страшилками из жизни до Temporal.

Поделиться или почитать чужие spooky stories можно здесь.
Также будут сессии голосом (на них надо записываться).

Ну а сейчас я буду рассказывать свой доклад на подлодке, который сам по себе не менее страшный, чем эти истории.
Представлю результат дизайна системы в классическом стеке (полученного из этого конкурса), а затем Павел перепишет всё на Temporal.

Надеюсь не облажаемся 😅
  • 🔥 11
Post #124 1.78K
Такого еще не видел!
  • 🔥 23
  • 🤯 18
Post #122 2K
Заглянули на подлодке под капот API банков.
Что-ж у них так всё всрато то?😮‍💨
  • 🔥 19
  • 😁 5
Post #121 1.75K
Вопрос с подлодки:

А в вашей компании есть архитектурный комитет?
  • 😁 27
  • 🔥 1
  • 🤮 1
Post #120 1.87K
С началом октября стартанул Hacktoberfest

Это такое мероприятие от DigitalOcean, направленное на развитие OpenSource.

Квест заключается в том, чтобы в течение октября продавить 4 своих PullRequest'а в репозитории с топиком hacktoberfest. Такой топик есть на многих OpenSource репозиториях, а если нет, то можно создать Issue.

Награда: футболка с логотипом и наклейки, либо дерево с твоим именем где-то в Южной Америке (если ничего не путаю).
Футболку из-за санкций получить теперь сложно, но именное дерево — почему бы и нет? 🏝

Жмём START HACKING и погнали!
Hacktoberfest Hacktoberfest 2026 | AI belongs to everyone 300+ in-person Fests plus a global online event, all about building with open source AI. Join a Fest near you this October.
Post #119 3.92K
Закончился первый доклад по архитектуре на подлодке. Тема: С4
  • 😁 45
Post #118 1.6K
Уже завтра утром начинается Podlodka PHP.
Наши проходки мы разыграли, коды ушли счастливчикам.
Поздравляю победителей 🥳
Оказалось, что @wispoz выигрывает проходку на подлодку уже второй раз подряд 🤔

Тем, кто откладывал покупку на самый конец: пора! Ведь наш промокод PHP_FART, походу, забыли деактивировать 😏

Ну а мне и Павлу уже почти пора начинать задумываться о том, что уже скоро надо шевелиться в сторону подготовки доклада/лайвкодинга... хотя, вроде ещё рано.
Telegram Алексей roxblnfk in PHP Fart Time Chat
  • 🔥 9
  • 😁 4
Post #117 2.1K
Доброго времени 🔥

У нас осталось сколько-то проходок на подлодку (3 или больше). Давайте раздадим нуждающимся.

Хотел разыграть с помощью звёздочек канала, но вовремя узнал, что эта идея не очень: ради 100 звёздочек на халяву сбегутся ботоводы, понизив шансы для нормальных людей. Ладно звёзды, пёс с ними, но проходки должны достаться фартанам!


Поэтому розыгрыш будем проводить дедовскими методами.

👉 Напишите в комментах свой github account те из фартанов, кто хочет в архитектуру и:
- Готов всю следующую неделю в будние дни сутра и вечером слушать доклады и задавать по ним вопросы;
- Будет активно участвовать в конкурсах подлодки (Random Coffee, задания от спонсоров);
- Придёт с пивком на online afterparty;
- Поставил ⭐️ звёздочку нашим любимым репозиториям:
⏳ Temporal,
🪲 Buggregator,
💾 Trap,
⬇️ Dload,
🤖 LLM Agents
- Хотел бы, но не имеет возможности купить билет (промокод PHP_FART всё ещё работает) и поддержать проект Podlodka.

Ближе к концу недели наскребём проходки, запустим скрипт и выявим счастливчиков.
podlodka.io Онлайн-конференция Podlodka PHP Crew, сезон #8 Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным вопросам PHP-индустрии, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
  • 🔥 7
Post #116 2.28K
Привет, фартаны 👋
Такая ситуация:
- у нас есть несколько проходок на подлодку
- но материал, с которым мы будем выступать, ещё не готов

Поможем друг другу! Иначе говоря, вот конкурс:

Подразумевая классический стек без темпорала (очередь, крон, БД, микросервисы на пыхе), накидайте флоу заказа такси. Пример на картинке 👆 Т.е. в виде схемы с каким-то описанием последовательности.
Не нужно сильно упарываться, т.е. писать код и слишком углубляться в детали.
Можно ошибаться (за это никаких санкций). Нужно просто показать самодостаточное архитектурное решение, которое не будет вызывать много вопросов.
Победителей может быть от 0 до 6. Если все проходки не раздадим, то оставшиеся разыграем (если звёздочек хватит).
Срок — неделя.

ТЗ примерно такое (крайние случаи можно додумывать):
На вход мы получаем DTO с клиентом, маршрутом поездки, ценой и фильтром (тариф, предпочтения... не важно).На

Этап 1: резервируем бабки на карте клиента. Если денег нет, то отменяем заказ.

Этап 2: подбор и прибытие водителя. Если за 5 минут водитель не нашёлся, то заказ отменяем.
Все свободные и подходящие по фильтру водители поблизости получают предложение выполнить заказ. Они могу заказ принять или не принять. Первый, кто принял, становится водителем.
Заказ может быть отменён клиентом, тогда размораживаем деньги. Или водитель может соскочить, ссылаясь на невозможность выполнить заказ, тогда водитель ищется заново в новые 5 минут.

Этап 3: поездка. Просто ждём, когда завершится. Если за час не было поступления информации о поездке (статус не изменился, от водителя не приходили GPS координаты), то уведомляем оператора -- пусть разбирается, что случилось.
Если поездка завершилась, то списываем бабки.


Свои варианты можете оставлять в комментариях. А если вы работаете в Яндекс.Такси или там Максиме и не хотите палиться, то можете сливать внутренние флоу в ЛС 😉
  • 🤯 6
  • 🔥 2
Post #115 1.9K
Вот и закоммитился FartTime на подлодку PHP Crew.

Однако, в подлодке, как и в танке, самое важное — не бздеть.
Поэтому будем серьёзно так рассказывать и показывать Temporal.

Напоминаю, что по промику PHP_FART всё еще можно урвать билет со скидкой.
  • 🔥 3
Post #114 1.77K
Ранее я уже упоминал фреймворк Tempest
Brent, его автор, написал статью о том, как он докатился до такой жизни.

Примечательно то, что он по-прежнему не уверен, нужен ли его фреймворк этому миру. Сейчас у фреймворка под сотню адептов.
На следующей неделе он собирается выпустить альфа-версию, чтобы собрать обратную связь и понять, быть Tempest'у или не быть.

Если вы тоже делаете свой велосипед, приходите и расскажите здесь в комментариях, мы такое любим 😃
  • 😁 12
  • 🤔 2
  • 🔥 1
Post #113 1.72K
#Article

Кстати, а вставки кода в комментариях — тоже кучерявая тема в #PHP.

👉 Есть Java-like вариант: оборачивать тегами <code>. Скуфы, мб, помнят.
Но мы, вроде, уже ушли от HTML среди PHP 😏
class CustomerDTO
{
/**
* @var non-empty-string Comment here
*
* <code>
* $x = foo()->bar();
* </code>
*/
public readonly string $name;
}


👉 Есть Python-like вариант: делать отступы
class CustomerDTO
{
/**
* @var non-empty-string Comment here
*
* $x = foo()->bar();
*/
public readonly string $name;
}

Тут не очень очевидно, сколько пробелов от звёздочки должно быть: по логике 1+4, но не сходится с разметкой Tab-ов.
Это активно используется в Symfony и PhpStorm это даже рендерит. Кстати, кто знает, как отключить этот рендеринг для классов из vendor?

👉 Есть Markdown-like вариант:
class CustomerDTO
{
/**
* @var non-empty-string Comment here
*
* ```php
* $x = foo()->bar();
* ```
*/
public readonly string $name;
}

Мне нравится markdown, но это не рендерится PhpStorm'ом. Однако, рендерится документором.
Python-like на документоре не проверял, может тоже рендерит.
  • 🤔 8
  • 🔥 2
Post #112 1.48K
#Article #Типизация

Я уже ранее публиковал заметку про любопытное отличие Promoted Properties от обычных свойств в кишках #PHP.

Promoted Properties от того и Promoted, что очень неплохо продвигались в плане маркетинга.


Например, вот такая портянка:
class CustomerDTO
{
public string $name;

public string $email;

public DateTimeImmutable $birth_date;

public function __construct(
string $name,
string $email,
DateTimeImmutable $birth_date
) {
$this->name = $name;
$this->email = $email;
$this->birth_date = $birth_date;
}
}


превращается в такую:

class CustomerDTO
{
public function __construct(
public string $name,
public string $email,
public DateTimeImmutable $birth_date,
) {}
}


Вау! Круто!
Но не раскрыта тема комментариев.
Если вы не пишете комментарии в коде, то вам, в прочем, без разницы 😑 но мне вот приходится 😫

Как правило, если требуется указать более точный "псалмовый" тип, то он перемещается из аннотации @var в аннотацию @param над конструктором, поэтому иногда получается такое говно, в котором нужный тебе параметр пойти найди.
А т.к. я обычно пишу непонятные тулзы, которые хер пойми как работают, то в комментариях часто нужен не только текст, но и вставки кода, дополнительные аннотации типа @internal, @note, @since, @see, @link.

И хорошего решения тут нет.

👉 Писать портянку под @property — тем всратее, чем больше комментариев и параметров.

👉 Писать типы и комментарии непосредственно над параметром — всрато.

class CustomerDTO
{
public function __construct(
/**
* @var non-empty-string Comment here
* Example here
*/
public readonly string $name,
//...
) {}
}


👉 Не использовать Promoted Properties и дублировать комментарий — всрато, но есть исключения (если свойство публичное, а конструктор internal, то в конструкторе можно обойтись только типом).
И даже если сделаешь красиво, то всё-равно потом придёт какой-нибудь умник с ректором или CS фиксером и запромоутит разом все параметры 🚽
Telegram PHP Fart Time #Article #Типизация #php Всем нравятся Constructor Property Promotion, не так ли? final class Foo { public function __construct( public bool $bar = false, public array $baz = [], ) { } } ☝️ эти фрагменты кода эквивалентны 👇 final…
Post #111 1.85K
Когда работаешь за звёздочки в гитхабе и телеграмме.

Зато наши жопы принадлежат нам, а не инвесторам ;)
Post #110 1.97K
Всем привет!

🕘 В 20:30 по МСК приглашаем вас на крутой стрим для всех, кто хочет наконец-то понять что такое LLM-агенты и посмотреть на наш крутой фреймворк по их созданию на PHP! Как всегда, советую приходить на стрим!

Сегодня будет создавать агента управления консольными командами для #laravel. В процессе посмотрим как все это можно кастомизировать под свои задачи.

До встречи на стриме! Чтоб не меньше 1_000 человеков пришло! И лайков столько же 🤖 Так что шарьте ссылки, ставьте лайки. Не утаивайте от своих коллег инфу.

https://youtube.com/live/to3sH2XzZB4?feature=share
YouTube Разрабатываем LLM агента на PHP для управления консольными командами на Laravel В этом стриме мы подробно разберем процесс разработки LLM-агента на #PHP. Мы шаг за шагом разработаем функционального #LLM-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке. В ходе лайв-кодинга вы узнаете:…
  • 🔥 6
  • 💊 3
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 →