KRUHLYK 🇺🇦
1.11K subscribers
683 photos
61 videos
5 files
280 links
Download Telegram
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
Ну ви в курсі... Вйо каву краще пити! ☕️
9
Пʼятниця і щось сьогодні є бажання трохи з вами поділитись думками не про Ларку. Хоча і про неї також насправді 🙂

А думки у мене про те, що ж мені дала айтішка в житті. Що я отримав, обравши таку професію.
Може ви не знаєте, але я починав взагалі (сюрпрайз-сюрпрайз)... з юриспруденції і, на мою думку, майже 5 років роботи в цій сфері точно були потрібними, щоб потім робити те, від чого кайфую і досі.
Паралельно з тим я займався тим, що дійсно подобалось - створював сайти. Це був дуже простий фріланс, але тут я отримував свої знання. І саме тоді я спробував Laravel 4.2.
Робив я крінжатіну, але нею пишався 💪🏻

Ну а далі я зрозумів, що хочу цим займатись професійно. І так від джуна в 2013 році я дістався того пункту карʼєри, коли маю бажання і час свій досвід передавати ще комусь, кому він допоможе стати крутішим і мати те, що маю я чи навіть більше в рази.

То що я маю завдяки айтішці?

По-перше, я займаюсь тим, що мене дійсно драйвить. Це вкрай важливо для мене.
По-друге, завдяки айтішці я отримав можливість подорожувати, чого я особливо не міг раніше (я не про зараз😑) разом з родиною. Я маю чудове авто, я маю комфортне житло для тих, кого люблю. Я працюю на топовій сучасній техніці і отримую задоволення від цього. Я закрив базові матеріальні потреби майже повністю. І це дуже круто в цьому непростому матеріальному світі.

Але також я отримав круті вміння та навички, які допомагають якісно то все покращувати. Бо знання і ваші скіли у вас ніхто не відбере. Це ваш актив.

Завдяки айтішці я працював кожен день з топовими ведучими і журналістами на телеканалі 1+1. Крутий досвід в дійсно медіа магнаті.

Завдяки айтішці я мав можливість бачити рекламні борди компанії, в якій працював, на матчах Чемпіонатів світу та Європи з футболу та Ліги чемпіонів УЄФА. Приємні відчуття, скажу я вам.

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

Тому айтішка подарувала мені дуже круті моменти життя і драйв робити ще крутіші речі далі. І я певен, що вони мені принесуть ще більше задоволення від життя. 😎

А що айтішка для вас? 😉
🔥11👍4
Коли трейнішки пушать в гітхаб ключі від сервісів. А що, можна користуватися 😁

Доречі, на таких граблях сам на початку скакав 🫣

Якщо вам цікаво, то розкажу і про це 😉
5👍3
Неділька. А це означає, що сьогодні ви (маю надію) відпочиваєте і постити щось для роботи я б не хотів.

Тому розповім вам про ті граблі , на яких я танцював немало поки був джуном. Рубрика ви просили - я відповідаю. 😎

Розповідь про те як я із «спеціально одрюченої людини» став свідомим розробником.

Перше на чому ти набиваєш свої перші ґулі на лобі - це безпека даних. Мої перші роботи, навіть комерційні, які робив під замовлення були дірявими, як сито, і тоді я банально не розумів, що окрім банальної SQL інʼєкції я можу отримати. Тільки коли пару разів я отримав XSS атаки, в мене почалось формуватись стійке розуміння, що користувачу не можна довіряти. Ніколи. Ніякому. Це - аксіома.

Разом з тим запушити конфіги з різними ключами від різних сервісів чи кредами до бази - було, як води попити. Тоді в мене, як у джуна були певні проєкти на підтримці. То були різні сайти бізнесів на WordPress, Symfony та Laravel. І от на одному з них я зупинюсь окремо.

Це був сайт, написаний на Symfony з прикрученим до нього ElasticSearch. Тоді це було модно для реального повнотекстного пошуку. Але нюанс був в тому, що source of truth цього сайту був саме в ElasticSearch, а не звичайній БД. Дані з бази "розігрівались" і пушились в еластіку. І багато чого кешувалось на рівні еластіки. Як воно працювало - для мене то було рокет сайнс. Джун...

І от якось мені потрібно було почистити кеш еластіки для застосування змін на проді. А як той кеш правильно чистити я не розумів. Але ж в мене є креди для доступу на продівський сервак 😎
Шо роблю я? Вірно - лізу в файлову систему де та еластіка живе і фізично видаляю файлики, які мені здавались кешем. Робив я бекап при цьому? Не питайте - звісно ж ні.
Коротше, я вбив продівську базу з купою даних, які поклали половину сервісів замовника в найпіковіший момент, коли клієнт очікував продажі.
Коли це було? Вірно - в пʼятницю 😆 Тому фобія деплою в пʼятницю у мене звідти почалась.

І таких речей було дуже багато. Але певно тепер розумію точно, що всі ті ґулі, граблі і той досвід змусили мене вивчати більше, заглиблюватись знаннями в різні технології та механізми їх застосування.
Саме ці помилки дали буст в розвитку і формуванні навичок, що потрібні в розробці великих і крутих ентерпрайзів.

А головне не боятись цих помилок. Це ваше навчання і ВАШ досвід. Я повторю свою думку: ваші знання та ваш досвід у вас ніхто не відбере. Це - ваш актив.

Плекайте і розвивайте його!
👍8🔥1💯1