TGTGInsighttelegram intelligenceLIVE / telegram public index
Kanallara dön
E-soft avatar

TGINSIGHT CHAT

E-soft

@esoftuz

Education

Dasturlash haqida DM: @khamdullaevuz

Aboneler236Mevcut kanal aboneleri
Takip edilen gönderiler713İndekslenen gönderi sayısı
Son erişim5,150Son görüntülemelerin toplamı
Son gönderiler

Son gönderiler

6. sayfa / 60 · 713 gönderi

Yayınlandı 3 Ağu

Swoole orqali phpni boost qilish men uchun judayam qiziq zo'r mavzu bo'ldi (laravel uchun octane bilan swoolega otkiziladi proekt) Nasib bo'lsa bu haqida batafsilroq postlar chiqazaman ungacha laravelda octane bilan ishlidigan docker orqali conf qilingan reponi qoldiraman shu yerda... Qisqa malumot uchur apini async stress test qilganda PHP-FPM: 275 rps Swoole: 1400 rps Natijalar shunchaki daxshat)) https://github.com/khamdullaevuz/laravel-octane

509 views

Yayınlandı 24 Tem

https://laravel-rest-api.lomkit.com/

479 views

Yayınlandı 19 Tem

Siyqasi chiqgan mavzu bo'lsa ham yaxshi misol va rasmlar bilan tushuntirilganligi uchun ulashmoqdaman: https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898

486 views

Yayınlandı 10 Tem

PostgresFDW orqali boshqa serverga ulanish: Doc -> https://www.postgresql.org/docs/current/postgres-fdw.html Extensionni yoqish CREATE EXTENSION postgres_fdw; Server yaratish: create server server_name foreign data wrapper postgres_fdw options (host 'host_name'…

476 views

Yayınlandı 26 Haz

PostgresFDW orqali boshqa serverga ulanish: Doc -> https://www.postgresql.org/docs/current/postgres-fdw.html Extensionni yoqish CREATE EXTENSION postgres_fdw; Server yaratish: create server server_name foreign data wrapper postgres_fdw options (host 'host_name', port '5432', dbname 'db_name'); User mapping yaratish: create user mapping for user_name server server_name options (user 'server_user_name', password 'server_user_passwd'); Tableni import qilish: IMPORT FOREIGN SCHEMA server_schema_name LIMIT TO (table_name) FROM SERVER server_name INTO schema_name;

502 views

Yayınlandı 25 Haz

Laravelda event based broadcasting (websocket) juda zo'r yo'lga qo'yilgan eventlarizga broadcastingni use qilib qo'ysangiz o'zi web socketga jo'natib turaveradi ortiqcha kod yozmasdan. Bu borada pusher, ably kabi pullik websocket serverlarni ishlatishga to'g'ri kelardi bular bo'lmasa ratchetga o'xshash web socket serverda ko'tarib hamma kodini o'ziz uchun moslab ancha ter to'kishga to'gri kelar edi. Open source pusher replace qilib ishlatsa bo'ladigan tekin laravel-websockets ham bor ammo bu ham archived bo'libdi, bu degani yangi o'zgarishlar bo'lmaydi endi bu packageda, buni o'rganib ozroq sozlasa ishlatsa bo'lardi. Ammo yaqinda laravel reverb e'lon qilingach yanada qulay bo'ldi. Bu ham xuddi shu laravel websocketsdek ishlab beradi. Chiqgan paytida eshitgan edim bugun sinab ko'rishga imkon topildi. Laravel websocketsda qilgan chat applicationimni reverbda yozib ko'rdim juda oson kechdi bu jarayon. reverb.laravel.com da batafsil tanishishingiz mumkin quyida esa laravel-websockets va laravel reverb orqali qilingan oddiygina kichkina chat applicationni source kodlarini qoldiraman ishlatib ko'rishingiz mumkin Laravel Reverb: https://github.com/khamdullaevuz/laravel-reverb Laravel Websockets: https://github.com/khamdullaevuz/laravel-websockets P.S: real time websocketlar juda qiziq mavzu 😄

408 views

Yayınlandı 13 Haz

Bo'sh vaqtda golangni o'rganishni boshlagan edim Bugun api qilishga harakat qilib ko’rdim https://github.com/khamdullaevuz/go-starter-kit P.s: JSON-RPC ni realizatsiya qilishga harakat qilganman

428 views

Yayınlandı 28 May

https://www.youtube.com/watch?v=xAe9phcrc4A

463 views

Yayınlandı 28 May

https://www.youtube.com/watch?v=Ttfg93ZtfJ4

411 views

Yayınlandı 27 May

Laravelda elastic search bilan praktika https://github.com/khamdullaevuz/laravel-elastic-demo

394 views

Yayınlandı 27 May

Bugungi meetupda aytilgan bilimlarni telegramga qisqacha qilib yozishibdi, baraka topishsin. Katta yuklamali saytlarni qilishda maslahatlar: 1. Database: Race Condition. Prizlar ro'yxati bor. 5 tadan 3 ta aktiv, 2 tasi tark etgan. Endi navbatdagi ishtirokchiga keyingi prizni qaytarish kerak. Bundan holatlarda bir vaqtda ikkita request birga kelishi oqibatida ikkita ishtirokchiga bitta sovg'a ketib qolishi mumkin. Bu narsani oldini olish uchun esa, "Lock for Update" metodi orqali amalga oshirish, bu muammoga yechim beradi. Bu holatda birinchi request tanlagan priz, o'zgarish uchun bloklanadi. Natijada keyingi request bu prizni tanlamaydi, balki boshqasini tanlaydi. 2. Database: Slow queries. Bazaga ko'p murojat qilish va natijada loyihani sekinlashtirish doimiy muammolardan. Indekslash esa bunga yaxshi yechim bera oladi. Bazadagi ma'lumotlarni indekslash orqali slow query'larni ishlashini yengillashtiramiz. 3. Database: Indexing cons. Indekslashni minus tomonlaridan biri, "insert, update, delete" uchun query'larni sekinlashib qolish. Buni muammo bazani ikkitaga bo'lish orqali yechim beriladi, ya'ni "DB Replication". Bitta asosiy baza - "insert, update, delete" uchun, ikkinchi baza asosiy bazani sinxroni sifatida "select" uchun ishlatilinadi. Ikkinchi baza asosiy bazadan ma'lumotlarni o'ziga sync qilib turadi. 4. Database: Caching. Ba'zi natijasi o'zgarmas query'larni keshlash baza ortiqcha murojaatni oldini oladi. Kesh tizimi baza murojaat qilishdan ko'ra tezroq ishlaydi. Bu holatga "Redis" yaxshi yechim beradi. 5. Redis: Too many connections. Ba'zida Redis'ga murojaatlar ko'payib ketishi natijasida Redis ham javob berolmay qoladi. Bu muammo o'zimda ham uchragandi. Ammo muammo hal qilolmagandim. Bunga yechimlaridan biri "Pooling" qilish. Default holatda Redis berilgan murojaat bitta connection ochadi. Ishini to'xtatgandan keyin u connection yopiladi. Pooling'da esa bir necha connection doimiy ochiq holda bo'ladi. 6. Redis: Slow query. Aslida keshlar bazaga beriladigan query'larni vaqtini kamaytirish uchun qilinadi. Ammo yuqoridagi holatdan keyin Redis'ga bog'lanish ham sekinlashib qoladi. (qolibdi) Bunga yechim sifatida Redis'ni "cluster"larga bo'lish orqali yechim topsa bo'ladi. Default holatda Redis 0 raqamni bazasini ishlatadi. Qo'shimcha unda yana 16 ta (0 bilan birga) baza bor. Bu holat qolgan bazalarni ham ishlatish bu muammoga yechim bo'ladi. 7. PHP: Slow Request. Endi PHP scriptni o'zini javob berishga kelsak. PHP intrepeted til bo'lganligi uchun, run qilganimizda kod Parsing qismida undagi error'lar tekshiriladi. Agar xatolar chiqmasa, keyin OpCode'ga ya'ni operatsion kodga o'giriladi. Keyin Zend Engine uni haqiqiy komputer tushunadigan tilda run qiladi. Har safar shu jarayon takrorlana beradi. "OpCache" orqali esa, Zend Engine qismiga bo'lgan qismlarni olib tashlasak bo'ladi. Ya'ni bir marta ishga tushirilgna script endi xotiradan olinadi. Yana bunga yordamchi sifatida "JIT (Just in time)"ni qo'llashimiz mumkin. Bu bizga Zend Engine ishini ham olib tashlashga yordam beradi. Bitta run qilingan script birinchi marta hamma bosqichdan o'tadi va keyingi holatdan faqatgina xotiradan ishga tushadi. 8. Server: Too many connection. Tasavvur qiling xonaga 50 ta odam sig'adi. 51-odam kelib qolsa, bittasi bo'shashini kutadi. Natijada kutish ham bir necha soniya vaqt olib qoladi. Bu muammoga esa, PHP asinxron sifatida ishlatish yordam beradi. "PHP Swoole" yordamida usha kutib turgan 51-odamni ham kirg'izvuradi. Ya'ni 51-requestga ham javob beradi. Xullas, yuqoridagi amallarni qilish loyihani highload'da ham ishlab berishini ta'minlab beradi. Tajribadan o'tgan narsalari asosida gapirilgan ma'lumotlarni tushunganim bo'yicha yozdim. Rasmlarni quyida topishingiz mumkin: https://t.me/UzGeeksCommunity/483

318 views

Yayınlandı 25 May

Assalom alaykum!!! UzGeeks'da PHP kuni! 📆 25-may shanba kuni Toshkent shahri Raqamli texnologiyalar vazirligi binosida "UzGeeks May2024 PHP Day Meetup" bo'lib o'tadi. 📚 Meetup quyidagi bo'limlardan tashkil topgan: 1️⃣. “PHP - Highload” - Milly Khamroev(Senior engineer/TeamLead, Click/Modme); 2️⃣. “Futbol yangiliklari arxitekturasini qurish” - Sag'indiq Kenjabaev(Freelancer). 🕰 Meetup odatiy ravishda bepul bo'lib, soat 14:00 da boshlanadi, unda qatnashish uchun UzGeeks saytida ro'yxatdan o'tish kerak. Manzil: Toshkent shahar, Mirzo Ulug'bek tumani, Muminov ko’chasi, 4A(Raqamli texnologiyalar vazirligi binosida) Hamkorlar: O'zbekiston Respublikasi Raqamli texnologiyalar vazirligi Raqamli ta'limni rivojlantirish markazi Thinkland Tadbir facebookda 🌐UzGeeks.uz

276 views
12•••45678•••10•••15•••20•••25•••30•••35•••40•••45•••50•••55•••5960