ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ ΠΏΡΠ½ΠΈΠΊΠ° | PHP, Laravel, Symfony, CodeIgniter
ΠΡΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄Π»Ρ ΠΏΡ ΠΏΡΠ½ΠΈΠΊΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅. ΠΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ΅: @tproger_sales_bot Π£ΡΠΈΡΡΡΡ Ρ Π½Π°Ρ: clc.to/M561SQ ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ: @proglibrary_feeedback_bot Π ΠΠ: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Ko'proq ko'rsatishπ Telegram kanali ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ ΠΏΡΠ½ΠΈΠΊΠ° | PHP, Laravel, Symfony, CodeIgniter analitikasi
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ ΠΏΡΠ½ΠΈΠΊΠ° | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 459 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 698-o'rinni va Rossiya mintaqasida 60 802-o'rinni egallagan.
π Auditoriya koβrsatkichlari va dinamika
Π½Π΅Π²ΡΠ΄ΠΎΠΌΠΎ sanasidan buyon loyiha tez oβsib, 10 459 obunachiga ega boβldi.
26 Oktabr, 2026 dagi oxirgi maβlumotlarga koβra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -35 ga, soβnggi 24 soatda esa -5 ga oβzgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya oβrtacha 16.11% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.39% ini tashkil etuvchi reaksiyalarni toβplaydi.
- Post qamrovi: Har bir post oβrtacha 1 685 marta koβriladi; birinchi sutkada odatda 773 ta koβrish yigβiladi.
- Reaksiyalar va oβzaro taβsir: Auditoriya faol: har bir postga oβrtacha 2 ta reaksiya keladi.
- Tematik yoβnalishlar: Kontent php, laravel, ΠΏΡ ΠΏΡΠ½ΠΈΠΊΠ°, artisan, api kabi asosiy mavzularga jamlangan.
π Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida taβriflaydi:
βΠΡΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄Π»Ρ ΠΏΡ
ΠΏΡΠ½ΠΈΠΊΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅.
ΠΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ΅: @tproger_sales_bot
Π£ΡΠΈΡΡΡΡ Ρ Π½Π°Ρ: clc.to/M561SQ
ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ: @proglibrary_feeedback_bot
Π ΠΠ: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68bβ
Yuqori yangilanish chastotasi (oxirgi maβlumot 27 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli boβlib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim taβsir nuqtasiga aylantirishini koβrsatadi.
$order = OrderModel::query()
->findOrFail($id)
->expressive(attributes: ['payable']);
Π§ΡΠΎ ΡΡΠΎ Π΄Π°ΡΡ:
β Π’ΠΈΠΏΡ Π²ΠΈΠ΄Π½Ρ Π² ΠΊΠ»Π°ΡΡΠ΅. $order->totalCents = '1000' ΠΎΡΠ²Π΅ΡΠ³Π½Π΅Ρ ΡΠ°ΠΌ PHP. ΠΠ½Π°ΠΌΡ ΡΡΡΠΎΠΊΠΎΠΉ Π½Π΅ ΠΏΠΎΠ΄ΡΡΠ½Π΅ΡΡ.
β Fail Π½Π° Π³ΡΠ°Π½ΠΈΡΠ΅. null Π² non-nullable ΡΠ²ΠΎΠΉΡΡΠ²Π΅ β NonNullablePropertyException, Π° Π½Π΅ ΡΡΡΠΏΡΠΈΠ· ΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠ·ΠΆΠ΅.
β ΠΠ΅Π· Π»Π΅Π½ΠΈΠ²ΡΡ
ΡΡΡΠΏΡΠΈΠ·ΠΎΠ². Π‘Π²ΡΠ·ΠΈ ΠΌΠ°ΠΏΡΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠΈΠ» ΠΈΡ
ΡΠ²Π½ΠΎ. ΠΠ΅ Π·Π°ΠΏΡΠΎΡΠΈΠ» β null.
β ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ + sync. make:expressive ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ»Π°ΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ, expressive:sync Π»ΠΎΠ²ΠΈΡ Π΄ΡΠ΅ΠΉΡ Π² CI.
ΠΠ΅ ΡΠ°ΡΠΈΡΠ΅ Π²Π΅Π·Π΄Π΅: CRUD ΠΆΠΈΠ²ΡΡ Π½Π° Π³ΠΎΠ»ΠΎΠΌ Eloquent, Π΄Π»Ρ API β ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ API Resources. Expressive β Π΄Π»Ρ Π²Π°ΠΆΠ½ΡΡ
Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ»ΠΎΡ, Π³Π΄Π΅ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ΡΡΡ Π»ΠΈΡΠ½ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ.
π ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ
ΠΏΡΠ½ΠΈΠΊΠ°use Icecave\Repr\Repr;
echo Repr::repr([1, 2, 3]);
// [1, 2, 3]
echo Repr::repr($pdo);
// <PDO #0000000012ab>
echo Repr::repr(fopen('php://memory', 'r+'));
// <resource stream #5 r+>
ΠΠ°ΡΡΠΈΠ²Ρ ΡΠ΅ΠΆΡΡΡΡ Π΄ΠΎ 3 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ 3 ΡΡΠΎΠ²Π½Π΅ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌ ΠΎΡΡΠ°ΡΠΊΠ°, ΡΡΡΠΎΠΊΠΈ β Π΄ΠΎ 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»-ΠΊΠΎΠ΄ΠΎΠ², Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΈ SPL-Ρ
Π΅Ρ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ __toString ΠΈΠ»ΠΈ RepresentableInterface β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ½).
βοΈ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: composer require icecave/repr. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ
ΡΠΊΡΠ΅ΠΏΡΠ΅Π½ΠΎΠ² ΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π³Π΄Π΅ var_export Π²ΡΠ΄Π°Π΅Ρ Π½Π΅ΡΠΈΡΠ°Π΅ΠΌΡΠΉ Π°Π΄.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ
ΠΏΡΠ½ΠΈΠΊΠ°curl -C - -O https://example.com/dump.sql.gz
β Π‘ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ-Π±Π°ΡΠΎΠΌ: curl -C - -# -O https://example.com/large-file.tar.gz
β ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ: curl --limit-rate 10M -O https://example.com/file.iso
β Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»: curl -C - -o backup.tar.gz https://example.com/backup
β Π‘ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ: curl -C - -u user:pass -O https://repo.example.com/artifact.jar
π‘ ΠΠ°Π²Π΅ΡΠ½ΠΈ Π² ΡΠΈΠΊΠ» Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°Ρ: while ! curl -C - -O https://example.com/dump.sql.gz; do sleep 5; done β ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ Π΄ΠΎΠΊΠ°ΡΠ°ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.β’ Understand Anything β Π³ΡΠ°Ρ Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ. β’ DeepTutor β open-source ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. β’ Superpowers β Π½Π°Π±ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΠ. β’ Awesome Agent Skills β ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π½Π°Π²ΡΠΊΠΎΠ² Π΄Π»Ρ ΠΠ-Π°Π³Π΅Π½ΡΠΎΠ².π ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ LLM:
β’ Attention Is All You Need (2017) β Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Transformer. β’ GPT-1 (2018) β Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΎΡ ΠΈ GPT. β’ GPT-2 (2019) β ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ Π±Π΅Π· Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. β’ GPT-3 (2020) β ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ°. β’ InstructGPT (2022) β RLHF ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Ρ-Π±ΠΎΡΡ.ΠΠ° ΠΊΡΡΡΠ΅ Π ΠΎΠΌΠ°Π½ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°Π½ΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠΎΠ² Ρ ΠΎΠΏΠΎΡΠΎΠΉ Π½Π° Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈΒ». ΠΠ°Π½ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΏΠΎΡΠΎΠΊΠ΅: π ΠΡΡΡ Β«Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΠ-Π°Π³Π΅Π½ΡΠΎΠ²Β»
// src/Api/ProductController.php
class ProductController
{
public function __construct(
private readonly ProductRepository $repository,
) {}
public function available(): JsonResponse
{
$products = $this->repository->findAll();
$available = array_filter(
$products,
fn (Product $p): bool => $p->getStock() > 0,
);
return new JsonResponse([
'items' => $available,
'count' => count($available),
]);
}
}
πΉ ΠΠ°Π΄Π°ΡΠΈ
β ΠΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠ° ΠΎΡΠ²Π΅ΡΠ° items Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π°Π½Π½ΡΡ
: ΡΠΎ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ
β ΠΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΠΎΠ²Π°ΡΠΎΠ² json_encode ΠΎΡΠ΄Π°ΡΡ {"0":β¦, "2":β¦} Π²ΠΌΠ΅ΡΡΠΎ [β¦]
β ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ items Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ JSON-ΠΌΠ°ΡΡΠΈΠ²
Π‘ΡΠ°Π²ΡΡΠ΅ β π₯ Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠΎΡΠΌΠ°Ρ. ΠΡΠ»ΠΈ Π½Π΅Ρ β π
π¬ Π Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ΄ ΡΠΏΠΎΠΉΠ»Π΅Ρ β ΡΡΠ°Π²Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ.14-Π»Π΅Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠ°Π½ΠΈΠΌΠ°Π΅ΡΡΡ AI-Π°Π΄ΠΎΠΏΡΠ΅Π½ΠΎΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Yandex Cloud, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².π£ Π’Π΅Ρ Π»ΠΈΠ΄ Sourcecraft Code Assistant
Π‘ ΡΠΈΠ»ΡΠ½ΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄ΠΎΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» ΡΡΠ°ΡΡΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΠ΄ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠΎΡΠ½ΠΎΠ³ΠΎ AI-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ VS Code.π£ Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Open Source
Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠΎΠΌ ΠΈ Π°Π³Π΅Π½ΡΠ°ΠΌΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π±ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² vllm-setup Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ mini-proxy β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ OpenAI API ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ².π£ ΠΠ²ΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ML-Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΉ
ΠΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ. Π‘ΠΎΠ·Π΄Π°Π» ΡΠ΅ΡΠΈΡ Π·Π°Π»ΠΈΠΏΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΡΠ°ΡΡΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΆΠΈΠ²ΡΡ ΠΏΠΎΡΡΠΏΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅ΠΉ Π₯ΠΎΠΏΡΠΈΠ»Π΄Π°, ΠΌΠ°ΡΠΈΠ½ ΠΠΎΠ»ΡΡΠΌΠ°Π½Π° ΠΈ VC-ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ.Π ΠΎΠΌΠ°Π½ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π΄Π΅Π»ΠΈΡΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΌΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ, ΠΈΠ½ΡΠ°ΠΉΡΠ°ΠΌΠΈ ΠΈ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·ΠΎΠΉ Π² ΡΠ²ΠΎΠ΅ΠΌ Π°Π²ΡΠΎΡΡΠΊΠΎΠΌ Telegram-ΠΊΠ°Π½Π°Π»Π΅ ΠΠ° ΠΊΡΡΡΠ΅ Π ΠΎΠΌΠ°Π½ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°Π½ΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠΎΠ² Ρ ΠΎΠΏΠΎΡΠΎΠΉ Π½Π° Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ: π ΠΡΡΡ Β«Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΠ-Π°Π³Π΅Π½ΡΠΎΠ²Β» Π’Π°ΠΊ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡ Π²Π°Ρ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ? π β ΠΠ°, ΠΆΠ΄Π΅ΠΌ Π½ΠΎΠ²ΡΡ Π»ΠΈΡ π₯ β ΠΠ΄Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΎΡ Π ΠΎΠΌΠ°Π½Π°
$faces = $fd->detect($img);
$landmarks = $fld->detect($img, $faces[0]);
$descriptor = $fr->computeDescriptor($img, $landmarks);
$database[$name] = $descriptor;
ΠΠ°Π½Π΄ΠΌΠ°ΡΠΊΠΈ ΡΡΡ Π½Π΅ Π΄Π»Ρ ΠΊΡΠ°ΡΠΎΡΡ: Π±Π΅Π· Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π³Π»Π°Π·Π°ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΠ»ΡΠ²ΡΡ, ΠΈ ΠΌΠ°ΡΡΠΈΠ½Π³ Π»ΠΎΠ²ΠΈΡ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΠΎΡ
ΠΎΠΆΠΈΡ
Π»ΠΈΡΠ°Ρ
.
π Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ
ΠΏΡΠ½ΠΈΠΊΠ°docker compose up -d --no-deps api
β ΠΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ: docker compose up -d --no-deps --build api
β ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΎΠ³ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ: docker compose logs -f api
β Π Π΅ΡΡΠ°ΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π½ΠΈΡ: docker compose restart api
β ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ: docker compose up -d --scale worker=3
π‘ restart Π½Π΅ ΠΏΠΎΠ΄Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² docker-compose.yml ΠΈΠ»ΠΈ Dockerfile, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ΅Π½ up -d. ΠΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ env-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΡ β ΡΠΎΠ»ΡΠΊΠΎ up -d ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡ
ΠΏΡΠ½ΠΈΠΊΠ°