KRUHLYK 🇺🇦
1.11K subscribers
683 photos
61 videos
5 files
280 links
Download Telegram
Друзі, всім гарного початку робочого тижня та, звичайно, без смачної кави зранку ніяк ☕️

Тому з гарним настроєм вкочуємось в робочу рутину 💪🏻
👍12
Сьогодні я вам розкажу про те як використовувати AI агентів на страшних легасі проєктах.

Для того, щоб вам для гівняного легасі коду ваш агент згенерував адекватні тести ви маєте годинку витратити на те, щоб зробити ПРАВИЛЬНІ гайдлайни для свого агента. Далі, ви маєте ДЕТАЛЬНО, як чуваку з курсів GoIT (якщо хтось їх закінчував, сорян, якщо зачіпив, то чисто моя біль), що щойно їх закінчив.

Далі, йдете в Cursor, проплачуєте 20 баксів за платну підписку, підключаєте MCP сервер до Cursor і пару годин промптите, поки не отримаєте відносно непоганий результат.

Потім йдете в PHP Storm і там генеруєте коміт меседж через місцевий AI. Він з тим справляється класно.

Запитаєте мене чому не Junie? Відповім - вона(но, ін) повільна(е, ий) до всерачки. Поки що.
Маю надію то пофіксять.

#понеділкове
6
Доброго ранку, друзі!
Всі живі, всі цілі?

Хоча зараз ми всі цілі… всі - цілі для руснявих ракет і дронів.

Закликаю конвертувати вашу лють в донати нашим хлопцям.
🙏2👍1
Forwarded from KRUHLYK 🇺🇦
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, на жаль, війна продовжується. Щодня нашим хлопцям потрібна наша з вами допомога.

Прошу долучитись до збору на тачку для Браства дронів!

Загально потрібно зібрати 190 000 грн.

Одне горятко кави з кожного і це вже великий внесок кожного з вас. А якщо не одне горнятко кави - то взагалі топчик ❤️

На автівку для БРАТСТВА ДРОНІВ

🎯Ціль: 190 000.00 ₴

🔗Посилання на банку
https://send.monobank.ua/jar/9F5sZmDDpb

💳Номер картки банки
4441 1111 2449 3358
🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Nightwatch вийшов в реліз

Виглядає як реально крута заміна Telescope та Pulse.

Буду тестити.

https://blog.laravel.com/announcing-laravel-nightwatch
👍7
Рубрика #думкивголос

Давайте поговоримо про досвід. Сьогодні черговий раз його відчув.

Минулі два-три тижні (сорян комусь за вʼєтнамські флешбеки) ви, мабуть, помітили, що я часто за дедлайни якісь говорив.

Справа в тому, що ми в нашій команді мали завдання інтегрувати в наш сервіс досить великий функціонал, який наші клієнти ну дуже потребували. Я опущу той момент, що коли ми почали розробку і 2/3 всього було зроблено, нас догнали менеджерські реквайрменти що ж дійсно клієнт хоче мати. А фічу вже продали і дедлайни встановили… Класика сейлзів-менеджерів-девів, коротше.

Так ось про досвід. Далі в наступному пості буде 👇🏻
#думкивголос Продовження 👆

В такому режимі довелось форсити розробку в мінімальний час до дедлайнів. Перероблювали майже все.

На мені був основний функціонал всієї інтеграції. Тобто від мого коду залежало що все працюватиме і буде чьотко.

Так ось, це я до чого. Досвід, в чому він.
А він в тому, що до моменту коли всі таски не були зібрані в одну купу для релізу, я свій код НІ РАЗУ навіть локально не запускав. А коду там багато, повірте. Лише через тести то все перевіряв, яких було багато.

І що думаєте? Воно працює так, як було задумано. 😎
Вже тестуємо і ганяємо код в хвіст і гриву.

Тобто це той дзен, коли ти пишеш і читаєш код і впевнений в ньому. А тести то підтверджують.

Я собою можу пишатись і трохи видихнути та сфокусуватись на вас і контенті для вас. Фух!

А тести… Я буду топити за те, щоб покривати тестами все, що рухається, а що не рухається - розрухати і покрити то тестами.

Всім тихої ночі, обняв! ❤️
👍192
🚀 Нарешті тут! 🔥

В Laravel 12.19+ з'явилася бажаний атрибут — #[UseEloquentBuilder]! Тепер вам не потрібно використовувати newEloquentBuilder(). Просто чистий атрибут.
Це однозначно спростить код і зробить його більш читабельним. Ну це як на мене. Що скажете ви?
3👍1
Замість того, щоб писати власну логіку повторних запитів для ненадійних API, просто використовуйте Http::retry(). Ця функція автоматично повторює невдалі запити з експоненційною затримкою.

Ось приклад:

$response = Http::retry(3, 100)->get('https://example.com/api');

Документація тут: https://t.co/OJpYYLSnO6#practicalLaravelDocs
👍13
Пʼятниця, а це значить, що сьогодні ми не деплоїмо. Ви ж це памʼятаєте?

Майте смачну каву, колеги! ☕️
7
Laravel починаючи з версії 12.18 тепер підтримує чотири способи реєстрації політик авторизації:

1. Наслідковий: AuthServiceProvider
2. Ручний: Gate::policy()
3. Виявлення: дотримується naming conventions
4. На основі атрибутів (новий у 12.18): #UsePolicy(...)

Це чистіше, гнучкіше та створено для сучасного PHP.
👍6
💡 А ви знаєте, що функція filled() в рекветсах розумніша за has()?

Вона не тільки перевіряє наявність ключа, але й впевнюється, що його значення не є null або порожнім.

Приклад використання:

if (filled($request->input('field'))) {
// Ваш код тут
}


Цінуйте зручність та потужність Laravel!
👍9
Друзі, працюю над контент планом для наступних відео на каналі. Яка тема була б найбільш актуальною для вас зараз?
Anonymous Poll
58%
Як налаштувати PHP Storm, що працювати, як профі
15%
Гайд по роботі з AI в PHP Storm
24%
Огляд Laravel Nightwatch
3%
Інше (в коментарях)
Коли таке зустрічаю на проєктах, мені хочеться руки рубати тим, хто таке наробив. Але спочатку завжди хочеться плакати поки то дебажиш.
👍5😁4🤷‍♂2
Ранку, панство! Маю надію всі живі і неушкоджені після чергової ночі терору.

Але попри все майте смачну кавусю та гарного понеділка!☕️
👍11
Як часто ви дивитесь Shorts в YouTube?
Anonymous Poll
10%
Постійно
54%
Час від часу
26%
Не дивлюсь
10%
Дивлюсь ТікТок
Ще одне опитування для вас підготував. Прошу долучитись до голосування.
А ще прошу відповісти на питання. Які теми в форматі Shorts вам були б цікаві? Формат відео вертикальний і до 3х хвилин якщо що 😅

Це дуже допоможе мені більш структуровано готувати відео для вас. Щоб було максимально цікаво і корисно для вас. Тому ваш фідбек неймовірно важливий для мене.

Напишіть ваші побажання в коментарях!
😁3
В Laravel У колекцій є метод splitIn, який ефективно ділить колекції на рівні групи. Це ідеально підходить для організації даних по кількох колонках, командам або одиницям обробки, забезпечуючи збалансоване розподілення у вашій аплікації.

Як варіант для методу chunk(), якщо вам не потрібно оброблювати кожну частину одразу в callback функції.

Таким чином, ви зможете зручно обробляти дані і зберігати їх порядок.

#laratip
👍11
Останні пару днів я знову активно користуюсь Junie та JetBrains AI.
Кредити тупо рандомно списуються. То активніше, то навпаки наче завмирають. Хоча роблю приблизно одні й ті самі обʼєми завдань щодня.

І схоже, що в JetBrains наразі є серйозні проблеми з ціноутворенням та квотами на використання їх AI агентів. Як зазначено в документації: "JetBrains не може розкрити точну кількість кредитів..."

Чому ж інші сервіси, такі як Cursor, можуть це зробити? Відсутність прозорості може призвести до того, що багато користувачів перейдуть на інші інструменти.

А ви що думаєте?
5💯2