Привет, друзья! Хочу поздравить всех читателей телеграм канала «Пятиминутка PHP» с Международным женским днем! Хоть тема нашего канала - PHP, но я уверен, что среди наших подписчиков есть много талантливых и успешных женщин-программистов. Дорогие дамы, я хочу пожелать вам еще большего творческого вдохновения, креативных идей, терпения и настойчивости в достижении поставленных целей. Желаю вам продолжать учиться, развиваться и удивлять нас своими проектами. В этот праздничный день, я хочу выразить свое уважение и благодарность всем женщинам, которые занимаются программированием и делают этот мир лучше и удобнее для всех нас. С наилучшими пожеланиями, друзья! С праздником!
👍10🥰3👏3
Наткнулся на бодрый YouTube канал про PHP и Laravel: https://youtu.be/yxJSpRzhEa8
YouTube
Laravel Pennant не то, что нужно… | Laravel и Feature-флаги
С релизом Laravel 10 вышел и новый официальный пакет, пополнивший коллекцию экосистемы – Laravel Pennant. В релизном ролике я пакет не упоминал, так как он меня достаточно сильно заинтересовал и я решил сделать отдельный обзор на него. Спойлер – пока что…
👍8👎3
Автор плагина Laravel Idea (кстати, всем рекомендую!) спросил у ChatGPT про свой плагин и узнал, что его, оказывается, разработали в JetBrains.
Я решил подхватить эстафету и спросил, кто автор подкаста Пятиминутка PHP 😂 👇
Я решил подхватить эстафету и спросил, кто автор подкаста Пятиминутка PHP 😂 👇
😁7
Forwarded from PHP умирает?!
Media is too big
VIEW IN TELEGRAM
Итоги конкурса от канала PHP умирает?!
🥈 место получает @DdStas и его вариант озвучки фильма «Властелин колец: Возвращение короля» (Питер Джексон, 2003).
Приз: месяц подписки array на Пых Boosted! Поздравляем победителя лайками!
Приз: месяц подписки array на Пых Boosted! Поздравляем победителя лайками!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣28👍11😁4👏2
Вы, наверняка, слышали, что ChatGPT может составить равёрнутый текст на заданную тему. Например, подготовить Email сообщение по кратким тезисам.
Я попробовал тоже самое в PhpStorm с помощью Github Copilot. Как известно под капотом Copilot теже нейронки от Open AI, но натренинованные на коде. Впрочем, это не мешает ему писать или дополнять простой текст на английском: открываю PhpStorm -> File -> New Scratch File и получаю отличное автодополнение к простому тексту (не коду) 👆
Я попробовал тоже самое в PhpStorm с помощью Github Copilot. Как известно под капотом Copilot теже нейронки от Open AI, но натренинованные на коде. Впрочем, это не мешает ему писать или дополнять простой текст на английском: открываю PhpStorm -> File -> New Scratch File и получаю отличное автодополнение к простому тексту (не коду) 👆
👍11
Понравилось краткое описание СУБД под названием Dolt: «что если бы у MySQL и git был ребёнок» 👨👩👦 https://youtu.be/jb2AvF8XzII
YouTube
15 futuristic databases you’ve never heard of
Let's take a look at the top 15 new databases that could disrupt software development in the future. Many new serverless databases leverage tools like Postgres and MySQL, while others attempt build entirely new systems from scratch.
This video is NOT sponsored.…
This video is NOT sponsored.…
👍2
Новая бизнес-ниша: нейронка по модели SaaS заточенная под генерацию кода Laravel проектов https://smousss.com
На самом деле у них нет никакой своей нейронки, они перенаправляют запросы в OpenAI API с заранее отточенными настройками prompt, результат пишется сразу в PHP файлы на локальной машине пользователя. Удобная обёртка, чтобы не копипастить код туда-сюда вручную в/из ChatGPT.
Пока заготовлены такие сценарии:
- Convert all your tests from PHPUnit to Pest 2
- Create Laravel Nova admin panels at light speed
- Enjoy the convenience of migrations again
- Magically add missing Model Factories
- Make entire Laravel projects translatable
Пример: создание Fillament админки по классу модели
На самом деле у них нет никакой своей нейронки, они перенаправляют запросы в OpenAI API с заранее отточенными настройками prompt, результат пишется сразу в PHP файлы на локальной машине пользователя. Удобная обёртка, чтобы не копипастить код туда-сюда вручную в/из ChatGPT.
Пока заготовлены такие сценарии:
- Convert all your tests from PHPUnit to Pest 2
- Create Laravel Nova admin panels at light speed
- Enjoy the convenience of migrations again
- Magically add missing Model Factories
- Make entire Laravel projects translatable
Пример: создание Fillament админки по классу модели
php artisan smousss:filamentize App\\Models\\Post🤔7🔥2🥴2❤1🤡1
Пятиминутка PHP
Новая бизнес-ниша: нейронка по модели SaaS заточенная под генерацию кода Laravel проектов https://smousss.com На самом деле у них нет никакой своей нейронки, они перенаправляют запросы в OpenAI API с заранее отточенными настройками prompt, результат пишется…
Продолжая эту идею, что по сути сделал автор smousss:
1) Подготовил набор artisan команд, которые читают локальный код (например, модели), отправляют его в облако (в сервис smousss), ответ пишут в php файлы на локальном диске
2) Где-то внутри облака smousss происходит подготовка API вызовов к OpenAI с заранее настроенными и проверенными prompts.
Это можно было бы реализовать и виде open-source пакета, который будет включать в себя:
1) Набор artisan команд (или одна команда на всё), которые читают локальный код, отправляют его напрямую в OpenAI, дополняя нужными prompts, ответ пишут в php файлы на локальном диске
2) Набор подготовленных prompts с настройками, где я мог бы локально переопределить или донастроить запросы к OpenAI (например, у меня самописный фреймворк или какие-то особенности проекта)
3) Конфиг для подстановки моего OpenAI токена
Либо всё это встроить в Laravel Idea!
Пример: нахожусь внутри класса модели, запускаю Laravel -> Code Generation -> Create Fillament / Nova resource (AI) -> код генерируется не строгим алгоритмом плагина, а через вызов к OpenAI.
Можно и более общий плагин к PhpStorm придумать: нахожусь в некоем классе, нажимаю "Refactor with AI" - получаю SOLIDный код! Правда, не факт что рабочий 😆
Кстати, рефакторинга через AI уже встроена в VS Code. Но там одна проблема - это сам VS Code 🤢
1) Подготовил набор artisan команд, которые читают локальный код (например, модели), отправляют его в облако (в сервис smousss), ответ пишут в php файлы на локальном диске
2) Где-то внутри облака smousss происходит подготовка API вызовов к OpenAI с заранее настроенными и проверенными prompts.
Это можно было бы реализовать и виде open-source пакета, который будет включать в себя:
1) Набор artisan команд (или одна команда на всё), которые читают локальный код, отправляют его напрямую в OpenAI, дополняя нужными prompts, ответ пишут в php файлы на локальном диске
2) Набор подготовленных prompts с настройками, где я мог бы локально переопределить или донастроить запросы к OpenAI (например, у меня самописный фреймворк или какие-то особенности проекта)
3) Конфиг для подстановки моего OpenAI токена
Либо всё это встроить в Laravel Idea!
Пример: нахожусь внутри класса модели, запускаю Laravel -> Code Generation -> Create Fillament / Nova resource (AI) -> код генерируется не строгим алгоритмом плагина, а через вызов к OpenAI.
Можно и более общий плагин к PhpStorm придумать: нахожусь в некоем классе, нажимаю "Refactor with AI" - получаю SOLIDный код! Правда, не факт что рабочий 😆
Кстати, рефакторинга через AI уже встроена в VS Code. Но там одна проблема - это сам VS Code 🤢
😁9💩3👍2
Небольшой пример, как Copilot помогает в ежедневной работе в мелочах. В MySQL таблице есть колонка именем и фамилией (в одной колонке, не разделено). Потребовалось вывести в обратном порядке: фамилия и имя.
Решение вроде понятное: нужно найти позицию пробела, взять строку до этой позиции, после этой позиции, склеить в обратном порядке.
Хочу сделать одним SQL запросом, но я не помню названия конкретных функций для нужных мне манипуляций со строками в MySQL, редко этим пользуюсь.
🧐 Педантичный подход: открыть документацию к MySQL по функциям работы со строками, найти нужные мне, скомпоновать. Заодно, в процессе чтения документации, освежить в памяти названия и других полезных функций.
🔎 Google + StackOverflow подход: написать запрос в Google, скорее всего первая ссылка будет на StackOverflow - для простых задачек типа этой решение обычно видно сразу и оно верное. Проверил прямо сейчас: действительно, первая ссылка на решение моей задачи, но для SQL Server. Чуть ниже для PostgreSQL. Возможно сработает, возможно нет, надо проверять. Либо вернуться на вкладку Google и попробовать вторую ссылку из результатов поиска.
🤖 Copilot подход: написать задачу в комментариях непосредсвенно в PHP коде (иногда я создаю для этого scratch файл).
Пример на скриншоте 👆
Я получил готовый ответ гораздо быстрее, чем если бы открывал барузер и копался в документации или Google/StackOverflow. Почти 10x программист 😝
p.s. оказывается в MySQL есть функция
Решение вроде понятное: нужно найти позицию пробела, взять строку до этой позиции, после этой позиции, склеить в обратном порядке.
Хочу сделать одним SQL запросом, но я не помню названия конкретных функций для нужных мне манипуляций со строками в MySQL, редко этим пользуюсь.
🧐 Педантичный подход: открыть документацию к MySQL по функциям работы со строками, найти нужные мне, скомпоновать. Заодно, в процессе чтения документации, освежить в памяти названия и других полезных функций.
🔎 Google + StackOverflow подход: написать запрос в Google, скорее всего первая ссылка будет на StackOverflow - для простых задачек типа этой решение обычно видно сразу и оно верное. Проверил прямо сейчас: действительно, первая ссылка на решение моей задачи, но для SQL Server. Чуть ниже для PostgreSQL. Возможно сработает, возможно нет, надо проверять. Либо вернуться на вкладку Google и попробовать вторую ссылку из результатов поиска.
🤖 Copilot подход: написать задачу в комментариях непосредсвенно в PHP коде (иногда я создаю для этого scratch файл).
Пример на скриншоте 👆
Я получил готовый ответ гораздо быстрее, чем если бы открывал барузер и копался в документации или Google/StackOverflow. Почти 10x программист 😝
p.s. оказывается в MySQL есть функция
SUBSTRING_INDEX, которая совмещает в себе и поиск позиции и извлечение подстроки.❤12👍6
Второй день пробую ортолинейную клавиатуру: пока тяжело идёт, много промахов (что такое ортолинейная: https://habr.com/ru/companies/dododev/articles/511664/).
💡 А пока вот что придумалось: переменные в PHP начинаются с символа $ - выходит это один из самых популярных символов при наборе PHP-кода. Почему бы не наcтроить цифровой ряд на символы по умолчанию? А если нужны цифры, то их набирать с зажатым shift. По крайней мере символ $ набираем чаще, чем цифру 4.
💡 А пока вот что придумалось: переменные в PHP начинаются с символа $ - выходит это один из самых популярных символов при наборе PHP-кода. Почему бы не наcтроить цифровой ряд на символы по умолчанию? А если нужны цифры, то их набирать с зажатым shift. По крайней мере символ $ набираем чаще, чем цифру 4.
Хабр
Ортолинейная сплит клавиатура — это что такое? Обзор Iris Keyboard
За сто с лишним лет клавиатуры сильно изменились внешне: стали лёгкими, тонкими, есть даже проекционные со сканером. Но рынок ничего не меняет в их раскладке («QWERTY» появилась в 1890 году),...
👍10🥰1
На Windows я использовал Total Commander для массового переименования файлов. Давно перешел на macOS и, честно говоря, не сталкивался с этой задачей до недавнего времени. И вот понадобилось переименовать много файлов по определенному алгоритму - написал PHP-скрипт 😎 (спасибо, что не bash!)
Только что обнаружил, что в macOS можно выделить несколько файлов и через контекстное меню переименовать их все! Возможности самые базовые, но стоит иметь ввиду эту функцию.
Только что обнаружил, что в macOS можно выделить несколько файлов и через контекстное меню переименовать их все! Возможности самые базовые, но стоит иметь ввиду эту функцию.
👍12😁4
Адель пишет грустную историю о трёх комитах оставшихся на сломанном устройстве, которые он не успел отправить (сделать push) (см forward сообщения ниже 👇)
Поделюсь своим опытом: все рабочие проекты находятся в папке Dropbox!
Каждая строчка кода сразу после сохранения сохранена и в облаке!
Дальше больше: не доделал какую-то работу на одном компьютере, убежал, сел за другой - все правки на месте!
Обратите внимание, я даже в git не комитил, не пушил. Потом, конечно, сделаю commit.
Переключился на одном компе на на другую ветку в git - на другом компьютере тоже переключилось.
Установил новые composer/npm зависимости - на другом автоматически появились все новые файлы в node_modules/vendor.
Dropbox - просто идеальная среда для синхронизации двух рабочих мест. Если же рабочее место всего одно, тоже может пригодиться, чтобы не попасть в ситуацию как у автора.
p.s. пробовал Яндекс Диск - задумывается на бесконечное время в попытке синхронизировать папку с исходниками.
Поделюсь своим опытом: все рабочие проекты находятся в папке Dropbox!
Каждая строчка кода сразу после сохранения сохранена и в облаке!
Дальше больше: не доделал какую-то работу на одном компьютере, убежал, сел за другой - все правки на месте!
Обратите внимание, я даже в git не комитил, не пушил. Потом, конечно, сделаю commit.
Переключился на одном компе на на другую ветку в git - на другом компьютере тоже переключилось.
Установил новые composer/npm зависимости - на другом автоматически появились все новые файлы в node_modules/vendor.
Dropbox - просто идеальная среда для синхронизации двух рабочих мест. Если же рабочее место всего одно, тоже может пригодиться, чтобы не попасть в ситуацию как у автора.
p.s. пробовал Яндекс Диск - задумывается на бесконечное время в попытке синхронизировать папку с исходниками.
👍15🤔5💩5🤮4
Forwarded from adelf on programming
Где-то в ноябре я решил побыть настоящим свободным художником и поработать в шезлонге у бассейна. Но судьба быстро дала понять, что всю жизнь мне суждено быть офисным или максимум домашним работником. Пацану лет 3 было скучно и он окатил мой ноут с водяного пистолета. Я успел посидеть там минуты две) Тогда с ноутом ничего не произошло, но на днях моник просто погас и все.
Отнес на ремонт - поменяют материнку, займет две недели. Там остались незапушенными 3 коммита. И я 2 дня вспоминал что в них было. Вспомнил. Восстанавливаю.
Мораль - пушьте свою работу в гит. Он в том числе и для этого создан.
Отнес на ремонт - поменяют материнку, займет две недели. Там остались незапушенными 3 коммита. И я 2 дня вспоминал что в них было. Вспомнил. Восстанавливаю.
Мораль - пушьте свою работу в гит. Он в том числе и для этого создан.
😢7🐳5
Решил попробовать так называемую универсальную раскладку от Никиты Прокопова (он же nikitonsky или tonsky, не путать с Никитой Поповым): https://github.com/tonsky/Universal-Layout
В целом мотивация всех изменений сделанных в этой раскладке хорошо описана (https://tonsky.livejournal.com/318571.html), понятна. Но знак $ на букве Ж? Как теперь PHP-код писать-то?
Прямо хоть садись и делай свою раскладку здорового PHP-программиста.
В целом мотивация всех изменений сделанных в этой раскладке хорошо описана (https://tonsky.livejournal.com/318571.html), понятна. Но знак $ на букве Ж? Как теперь PHP-код писать-то?
Прямо хоть садись и делай свою раскладку здорового PHP-программиста.
😁11💩1
Пока я привыкаю к ортолинейной клавиатуре, моя скорость печати драматически мала - клавогонки показывают 50 знаков в минуту на PHP-коде, в то время как на обычной клавиатуре мой средний показатель около 300 знаков в минуту.
И теперь я начал особо ценить функцию Live Templates в PhpStorm! Раньше пользовался буквально 5 шаблонами, лень было запоминать другие, т.к. "вручную" мог напечатать очень быстро все типовые конструкции и ключевые слова. Но спустившись на отметку 50 зн/мин почувствовал на своей шкуре сильнейший профит от подстановки через Live Templates и уже накидал несколько своих шаблончиков.
Совет дня: если вы раньше пренебрегали Live Templates с мыслью "надо разбираться, запоминать, я лучше напечатаю сам" (как это делал и я), дайте им второй шанс! Это как наточить пилу перед работой.
И теперь я начал особо ценить функцию Live Templates в PhpStorm! Раньше пользовался буквально 5 шаблонами, лень было запоминать другие, т.к. "вручную" мог напечатать очень быстро все типовые конструкции и ключевые слова. Но спустившись на отметку 50 зн/мин почувствовал на своей шкуре сильнейший профит от подстановки через Live Templates и уже накидал несколько своих шаблончиков.
Совет дня: если вы раньше пренебрегали Live Templates с мыслью "надо разбираться, запоминать, я лучше напечатаю сам" (как это делал и я), дайте им второй шанс! Это как наточить пилу перед работой.
👍24🤡4🔥3