KRUHLYK 🇺🇦
1.11K subscribers
683 photos
61 videos
5 files
280 links
Download Telegram
Проводжу співбесіди вже декілька тижнів і побачив одну проблему. Досить багато кандидатів не розуміють в якій ситуації як правильно робити інʼєкцію залежностей.
До прикладу:

Laravel: ін’єкція Service-класів у Controller

Я завжди слідую простому правилу:
- Якщо Service потрібен в одному методі контролера → ін’єкція в методі
- Якщо Service використовується в кількох методах → ін’єкція через конструктор з property promotion

Приклад METHOD injection:

public function show(UserService $userService)
{
return $userService->getAll();
}


Приклад CONSTRUCTOR injection:

class UserController extends Controller
{
public function __construct(private UserService $userService) {}

public function index()
{
return $this->userService->getAll();
}

public function store(Request $request)
{
return $this->userService->create($request->validated());
}
}
2
Я сьогодні декілька разів. Треба у відпустку.
8
А ви знали про таке поняття як «фонова радіація інтернету»?

Так от, після публікації вашої веб аплікухи на публічний сервер, ця «радіація» виглядає приблизно так.
👍8😁1
Наші люди на протестах 💪🏻
👍18🔥8👎1🤣1
🤫
4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
По ходу в Старлінку дали фальшстарт і деплойнулись не в пʼятницю, а в четвер.

Ну правильно, чого тягнути, коли все одно реліз впаде…
😁6🔥4
Don’t push the horses
👍9🔥3
Треба було триматись тих часів
😁3😱2🦄2👾1
Мені було нещодавно рочків коли я відкрив для себе “real-time facades” у Laravel

Достатньо префіксувати клас із Facades\ – і фреймворк самостійно згенерує фасад на льоту. Ця фічя доступна з Laravel 5.4! А я про неї тупо не знав.

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

use Facades\App\Services\MyService;

MyService::doSomething();


А треба було просто почитати твітер баті Тейлора.
4
Пʼятничне-х@&чичне 🙄
Наболіло.
👍5
Знову я про тести.

Важливо писати всі види тестів на ваших проєктах. Це аксіома.

Якщо ви написали юніти, але забули то все протестити в інтеграційних тестах, то вважайте ви нічого не протестили.

І ви певні, що все, що ви нафєячили у ваших фічах буде працювати без проблем? Я б точно на це гроші не ставив.

Хоча і наявність тестів (їх якість) не гарантує відсутність проблем.
👍1
Я часто стикаюся з обробкою тисяч записів у БД. Щоб уникнути проблем з пам’яттю, я використовую метод chunk() — він «отримує записи невеликими партіями» і «обробляє їх по черзі». Ідеально для міграцій даних та масових операцій.

Приклад:

DB::table('users')->chunk(100, function ($users) {
foreach ($users as $user) {
// обробка
}
});


Документація: https://t.co/748DspJbdq
👍8
Пора працювати 🥲
Всім смачної кави та приємного початку тижня!
6😎2🦄1👾1
Друзі, є дуже важливе питання!
Чи є у вас можливість друкувати деталі для FPVішек нашим хлопцям, які добренько мінусують русню?

Один з підписників зараз служить у підрозділі безпілотних систем і на постійній основі потребують деталі. З філаментом (не той шо адмінка 😁) ми домовимось. Головне регулярність друку.

Якщо маєте можливість допомогти пишіть в коментарі або мені особисто @aratUkraine.
5
KRUHLYK 🇺🇦 pinned «Друзі, є дуже важливе питання! Чи є у вас можливість друкувати деталі для FPVішек нашим хлопцям, які добренько мінусують русню? Один з підписників зараз служить у підрозділі безпілотних систем і на постійній основі потребують деталі. З філаментом (не той…»
Ось лайфхак для безпечних міграцій у Laravel: перед змінами обов’язково перевіряйте, чи існують потрібні таблиці, колонки або індекси. Для цього в Laravel є методи:

Schema::hasTable('table_name')
Schema::hasColumn('table_name', 'column_name')
Schema::hasIndex('table_name', ['column_name'], 'index_name')


Використання цих перевірок робить міграції стійкими до помилок і непотрібних повторів. Особливо корисно, коли працюєш над великими проектами з частими змінами БД. Тримайте код під контролем!
👍14