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 #1143 · Back to latest

Older Posts 20 shown
Post #1141 2.01K
В телеграм относительно недавно появилась функция расшаривания папок. Сообщество PHP собрало подборку активных каналов (не чатов/групп):

⭐️ PHP (Rus) — https://t.me/addlist/R7i3akzlB2kwZTMy

⭐️ PHP (Eng) — https://t.me/addlist/yNksksLVT6M5NGEy

На сколько я понял, если добавить себе эту папку, то в будущем при появлении там нового канала Telegram покажет, что в данной папке появился новый канал (или несколько), «не хотите ли подписаться?». Получается удобный способ иметь под рукой актуальный и курируемый сообществом список каналов по PHP.
Telegram PHP (Rus) Alisa Kruglova invites you to add the folder “PHP (Rus)”, which includes 8 chats.
  • 🔥 14
  • 👍 4
Post #1140 1.66K
Пятиминутка PHP Поделюсь свежим опытом использования ChatGPT (4). Есть две системы документоборота, нужно наладить двухстороннюю синхронизацию неких документов, при этом пользователи могут вносить изменения в обеих системах. 🫴Описал исходную ситуацию в одном абзаце и попросил…
Недавно я упоминал, как попросил ChatGPT описать схему синхронизации данных и нарисовать для наглядности диграму последовательности с помощью mermaid - результат был отличным!

Сегодня попробовал визуализацию блок-схем на основе кода, мой запрос был таким: Нарисуй блок схему в синтаксисе mermaid для кода на языке PHP описанного ниже

...и далее исходный код на PHP на 40 строк. Признаюсь честно, алгоритм не сложный - функция возвращающая bool, внутри набор из нескольких guard exporessions с ранним выходом, в некоторых местах запись в лог.

Блок схема нарисованная ChatGPT получилась абсолютно корректной, даже были отмечены места где происходит вывод в логи.

P.S. если не сталкивались с mermaid для рисования диаграм, попробуйте: https://mermaid.js.org
  • 👍 16
  • 👌 4
  • 💩 2
Post #1139 1.62K
Наткнулся на статью-рассказ от 2016 года: The Inner JSON Effect.

Возможно, это известный многим баян, но я прочитал впервые. Погуглив, нашел обсуждения на Reddit и HackerNews.

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

Если вы думали, что вам в карьере довелось повидать всё, включая разные странные самописные франкенштейны, то прочитайте статью, это просто угар 🤣 🤡: https://thedailywtf.com/articles/the-inner-json-effect
The Daily WTF The Inner JSON Effect Jake eagerly stepped into his new job, grateful for more experience and new challenges, craving to learn new software stacks and see what his new company had to teach him about the world of software. They told him he’d be working on some websites, dealing…
  • 😁 13
  • 🤯 3
  • 🤣 1
Post #1138 1.64K
Поделюсь свежим опытом использования ChatGPT (4). Есть две системы документоборота, нужно наладить двухстороннюю синхронизацию неких документов, при этом пользователи могут вносить изменения в обеих системах.

🫴Описал исходную ситуацию в одном абзаце и попросил подготовить описания трёх вариантов:
- С оптимистичными блокировками
- С пессимистичными блокировками
- С трёхсторонним слиянием при конкруентном изменении

+ попросил поготовить диаграмы последовательсти в синтаксисе mermaid

💬ChatGPT всё описал прямо как по учебнику: последовательно, понятно, корректно и с использованием конкретно моего примера (названия систем, имена документов - это важно, чтобы описание было не абстрактным, а конкретным). На подготовку такого документа вручную у меня ушел бы час, не меньше.

🍰На десерт попросил ещё схему с двухфазным комитом (которая на самом деле нам не нужна в данной задаче) - и её ChatGPT описал!
  • 👍 23
  • 🤔 10
  • 🗿 6
Post #1137 1.6K
Свежая инициатива от Ryan Chandler (весьма активного разработчика из Laravel сообщества) - надстройка над PHP под названием PXP: https://pxplang.org

💡Идея стара как мир: берём язык программирования, добавляем немного сахара, немного типизации, и делаем траспилятор/компилятор в оригинальный язык. Наиболее успешный и похожий пример: TypeScript -> JavaScript.

📄Прочитал всю документацию на https://pxplang.org буквально за 10 минут - предложенных изменений пока кот наплакал, т.е. никакого координального сдвига парадигмы, лишь немного более приятный синтаксис. На таком языке я бы с удовольствием писал код, но если бы это всё было в в достаточной степени популярно и обложено инструментами разработчика, чтобы DX был не хуже чем у PHP.

🙅‍♂️Использовать как отдельный транспилятор в оригинальный PHP я не хочу, потому что:
- не хочу build step
- этот build step также усложнит отладку (ждём souce maps?)
- поддержки в PhpStorm нет. Поддержка может появиться, если PXP станет популярным. Но чтобы он стал популярным, нужны живые люди и проекты на этом языке - а кто будет на нём писать без поддержки в PhpStorm?) Проблема курицы и яйца как обычно.

🧪Можно было рассматривать PXP как полигон для пробы разных фич языка, перед тем как вносить предложения и RFC для PHP. Но для того, чтобы это был полигон, кто-то на этом полигоне должен проводить испытания. Нужна какая-то масса проектов и разработчиков готовых инвестировать своё время в PXP.

Короче, я скептичен 🧐

p.s. зацените игру символов в названии: PXP выглядит почти как ПХП! Прочитав впервые, я подумал, что это какой-то проект от русскоговорящего человека, который захотел сделать свой ПэХаПэ 😂
  • 👍 14
  • 🤣 3
  • ❤ 1
  • 💩 1
Post #1136 2.11K
Roadmap навыков, которые часто требуются backend разработчику web-приложений.

Не заточен на PHP или какой-либо ещё язык программирования.

https://github.com/bzick/oh-my-backend
  • 👍 33
  • 👎 4
  • 😢 4
  • ❤ 3
  • 🤔 2
Post #1135 4.88K
Читаю что нового планируется в PHP 8.3 (который выйдет в конце 2023): «Stack overflow detection» - первая мысль «интерпретатор научат определять, что код вставлен с сайта StackOverflow? 🧐» https://github.com/php/php-src/pull/9104
  • 😁 29
Post #1134 1.97K
Дженга для разработчиков!
  • 😁 32
  • 👍 3
Post #1133 1.86K
Как проходят релизы по пятницам 😂
  • 🤣 32
  • 👍 1
Post #1132 1.73K
  • 😁 53
  • 👍 3
  • 👎 2
  • 🤔 2
Post #1131 1.61K
  • 🔥 27
  • 😁 15
  • 🤔 2
Post #1130 1.73K
Чтение входного дня: перевод неплохой статьи про модульные монолиты на Хабре: https://habr.com/ru/companies/dododev/articles/650721/

tldr, скопирую последний абзац:

Итог
1 Монолит — это программная система, состоящая из ровно одной единицы развёртывания.
2 Монолитная система не подразумевает некачественного дизайна и отсутствия модульности. То, что система монолитная, ничего не говорит о её качестве.
3 Модульный монолит — это способ проектирования монолитной системы с учётом модульности.
4 «Настоящий» модуль должен быть независимым, самостоятельным и иметь чётко определённый интерфейс.
  • 👍 6
  • 🤔 2
Post #1129 1.45K
Наткнулся на полезную статью с рекомендациями по неймингу (одна из самых сложных проблем в программировании!): https://habr.com/ru/companies/dododev/articles/714512/

🧐 Из необычного для меня, выделю этот совет:

Одна переменная — одна цель. Например, вы хотите записать дату и время окончания смены и одновременно по этой же переменной понимать, закончилась ли смена. Никогда так не делайте! Только явное обозначение в другой булевой переменной. ShiftEndedAt, IsShiftEnded.

🆚 Подхожу к этому вопросу полностью противоположно: по наличию или отсутствию временнОй метки можно определить факт начала или окончания процесса.

Даже больше: бывали на практике случаи, когда изначально в системе использовался только флаг, типа IsShiftEnded, а потом мы понимали, что нужна ещё и отметка времени - в результате рефакторинга булево значение убиралось из кода и из базы в пользу метки времени.
  • 👍 12
  • 👎 4
  • ❤ 2
Post #1128 1.29K
May the 4th be with you!
  • ❤ 11
  • ❤‍🔥 3
  • 😁 3
Post #1126 1.45K
Пока я привыкаю к ортолинейной клавиатуре, моя скорость печати драматически мала - клавогонки показывают 50 знаков в минуту на PHP-коде, в то время как на обычной клавиатуре мой средний показатель около 300 знаков в минуту.

И теперь я начал особо ценить функцию Live Templates в PhpStorm! Раньше пользовался буквально 5 шаблонами, лень было запоминать другие, т.к. "вручную" мог напечатать очень быстро все типовые конструкции и ключевые слова. Но спустившись на отметку 50 зн/мин почувствовал на своей шкуре сильнейший профит от подстановки через Live Templates и уже накидал несколько своих шаблончиков.

Совет дня: если вы раньше пренебрегали Live Templates с мыслью "надо разбираться, запоминать, я лучше напечатаю сам" (как это делал и я), дайте им второй шанс! Это как наточить пилу перед работой.
  • 👍 24
  • 🤡 4
  • 🔥 3
Post #1125 1.26K
Решил попробовать так называемую универсальную раскладку от Никиты Прокопова (он же nikitonsky или tonsky, не путать с Никитой Поповым): https://github.com/tonsky/Universal-Layout

В целом мотивация всех изменений сделанных в этой раскладке хорошо описана (https://tonsky.livejournal.com/318571.html), понятна. Но знак $ на букве Ж? Как теперь PHP-код писать-то?

Прямо хоть садись и делай свою раскладку здорового PHP-программиста.
  • 😁 11
  • 💩 1
Post #1124 1.02K

Forwarded from adelf on programming

Где-то в ноябре я решил побыть настоящим свободным художником и поработать в шезлонге у бассейна. Но судьба быстро дала понять, что всю жизнь мне суждено быть офисным или максимум домашним работником. Пацану лет 3 было скучно и он окатил мой ноут с водяного пистолета. Я успел посидеть там минуты две) Тогда с ноутом ничего не произошло, но на днях моник просто погас и все.
Отнес на ремонт - поменяют материнку, займет две недели. Там остались незапушенными 3 коммита. И я 2 дня вспоминал что в них было. Вспомнил. Восстанавливаю.
Мораль - пушьте свою работу в гит. Он в том числе и для этого создан.
  • 😢 7
  • 🐳 5
Post #1123 1.09K
Адель пишет грустную историю о трёх комитах оставшихся на сломанном устройстве, которые он не успел отправить (сделать push) (см forward сообщения ниже 👇)

Поделюсь своим опытом: все рабочие проекты находятся в папке Dropbox!

Каждая строчка кода сразу после сохранения сохранена и в облаке!

Дальше больше: не доделал какую-то работу на одном компьютере, убежал, сел за другой - все правки на месте!

Обратите внимание, я даже в git не комитил, не пушил. Потом, конечно, сделаю commit.

Переключился на одном компе на на другую ветку в git - на другом компьютере тоже переключилось.

Установил новые composer/npm зависимости - на другом автоматически появились все новые файлы в node_modules/vendor.

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

p.s. пробовал Яндекс Диск - задумывается на бесконечное время в попытке синхронизировать папку с исходниками.
  • 👍 15
  • 🤔 5
  • 💩 5
  • 🤮 4
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 →