Janob Musayev | Digital World

Description
IT, Biznes va Menejment kesishgan nuqta

- Dasturiy Muhandislik va Arxitektura
- Raqamli Transformatsiya
- Biznes tahlil
- Product va Project Management
- UX va CustDev
- Marketing
- StartUp

Start Something Priceless!
We recommend to visit

?? O'zbekistondagi N1 Akkaunt Savdo Kanali!

‼️ Eslatma: Kanalimizga Joylanayotgan Akkauntlarning Barchasi Turnirda Yutilgan!

? Kanalga Joylangan Xar Bir Akkauntga "SENATOR" Shaxsan O'zi Javob Beradi!

✍️Admin: @deSENATOR_AKKS ✅ Org ‼

©️SENATOR PUBGM

Last updated 1 year, 2 months ago

? Reklama: @Edurekadmin


Ta'limda nima yangiliklar?

O'zbekiston ta'lim sferasidagi eng oxirgi va eng dolzarb yangiliklarini aynan shu kanaldan topasiz!

© Kanaldan to'liq yoki qisman ma'lumot olinganda manba ko'rsatilishi shart!

? @Edu_murojaatBot

Last updated 2 months, 2 weeks ago

Kun davomida eng sara va so'nggi yangiliklar tafsiloti bilan YO'L-YO'LAKAY tanishtirib boramiz.

Voqea va hodisaga guvoh bo‘ldingizmi, videolaringizni bizga yuboring: @yyuzbot

Reklama bo‘yicha: @zorzorads

Instagram sahifamiz: https://bit.ly/3wlZDZH

Last updated 1 month, 3 weeks ago

hace 1 mes, 2 semanas
LinkedInga yangi ish joyini qo'shish payti …

LinkedInga yangi ish joyini qo'shish payti misol tariqasida Microsoft turadi. Aynan o'sha misol o'zini ishlatish boshqacha hissiyot berar ekan ?

Mastercardda ish boshlaganimdan beri keyingi ishlashni eng xohlagan kompaniyam aynan Microsoft edi. Sababi haqida esa biroz keyinroq batafsil yozaman.

Ungacha izohlarda o'z fikringizni bildirib turishingiz mumkin :)

#career_development #Microsoft

@Janob_Musayev

hace 1 mes, 3 semanas
hace 1 mes, 3 semanas
hace 4 meses, 3 semanas

Algoritmlashni o'rganishda qiyinchilikka uchrayotganlar uchun Scott Barrett kursini ko'rishni tavsiya qilaman. Sabab:
- Kurs animatsion holda tushuntirilgan (qiyin mavzularni tushunishni osonlashtiradi)
- Har bir mavzuga mashqlar ham berilgan
- Kurs Python, Java, C++, JavaScript tillari uchun alohida qilib tayyorlangan
- Endi boshlovchilar uchun eng yaxshi tanlov

Eng asosiysi bu kursni tekinga o'rganish ham mumkin. Visa karta va VPN orqali udemy personal plan subscription ni 7 kunga aktivlashtirsangiz kifoya.

Kursga o'tish: Data Structures & Algorithms in Python | Java | C++ | JavaScript

✍️ @otabekio

hace 4 meses, 3 semanas
hace 4 meses, 4 semanas

Mastercard — Day One Dasturchi Hikoyalari 1-qism Mastercard haqida hali hech narsa yozmagan bo'lsam ham, u yerdagi birinchi kunni yozmay o'tkazib yuborishni katta ayb deb hisoblab Dasturchi Hikoyalarining 1-qismini birinchi kunga bag'ishlashga qaror qildim.…

hace 7 meses, 2 semanas

Ba'zida tajriba ham yordam bermaydi

Bir haftacha oldin Linkedindan recruiter yozdi "I'm impressed by your experience... etc. etc" deb. O'zi ishga kirganimdan beri 3-4 marta yaxshi-yaxshi kompaniyalardan yozishdi. Faqat endi ishga kirganim sabab hammasiga "Uzr hozir ish qidirmayapman" deb yozgandim.

Bu safargisi ham Zoom sotib olgan Workvivo kompaniyasidan ekan. Qiziq tuyulgan joyi "PHP Laravel va React stekida Senior Software Engineer qidiryapmiz" degan joyi bo'ldi. O'zi hozir ham kompaniya o'zgartirish niyatim bo'lmasa ham "Qani o'zi tajribam yetarmikun?" deb o'ylab "Ok, let's have a chat" deb bitta kunni tanladim.

Qiziq joyi menga yozgan recruiter o'zi Janubiy Afrikadan ekan. Irlandiyadagi ofisga odam qidirib yozibdi. Suhbat davomida ish uchun kerak texnologiyalarda tajribam necha yil, qanday loyihalarda ishlaganman kabi standard savollar berdi. Keyin esa "Ishlashing uchun sponsorship kerakmi?" deb so'radi. Men "Hozir kerak, lekin vizamni yangilashga topshirganman. U tugagandan keyin kerak bo'lmaydi" deb aytdim.

Shundan keyin aynan o'sha ish o'rin uchun ariza topshirishim kerakligini va shundan keyin asosiy recruiter aloqaga chiqishini aytdi. Mayli deb topshirdim. Ertasi kuni esa... rejection keldi ?

Agar o'zim qidirib topshirsam va ertasi kuniyoq reject qilishsa "Ha mayli" derdim. Lekin bunisi xuddi oldin qizimizni bir borib ko'ring deb maqtab-maqtab, "Xo'p qani" deb borsang-u, eshikdan kirmasingdan "Bizga to'g'ri kelmaysiz" deb qaytarvorishdek bo'lib sal alam qildi )

Keyin haligi recruiterga "Adashib ketmadinglarmi?" deb qiziqib yozdim. U esa "Hozir yoki keyinchalik ishlashing uchun sponshorship kerakmi? degan joyiga "Ha" deganing uchun qaytarishibdi. Uzr" deb javob yozdi. Men ichimda "Qiziq ekansizlar" dedimu, unga "Mayli omad ishlaringizda" deb suhbatni tugatdim.

Qissadan hissa

Ba'zida sohada 4-5 yillik tajribang borligiyu, hozirda yurib turgan 2-3 ta loyihada (asosiy) ishda ishlaganing ham yordam bermasligi mumkin. Shunchaki yuqoridagi kabi "yulduzingiz yulduzingizga to'g'ri kelmaydigan" holatlar ham uchrab turadi ?

#software_engineering #engineering_life #job_hunting

@Janob_Musayev

hace 7 meses, 3 semanas
hace 7 meses, 4 semanas

Junior (Backend) dasturchi bo'lganimda dasturlashni qanday o'rganardim — Beginner Level
yoki portfoliomni qanday boyitardim

Junior dasturchilar ishga kirishda qiyinchilikka duch kelishlari asosiy sababi ularda har tomonlama to'liq qilingan kichik bo'lsa ham loyiha yo'qligida deb bilaman. Portfoliodagi loyihalar, hattoki oddiy blog website bo'lsa ham "Lorem ipsum"ga to'la yoki login ishlamayotgan bo'ladi odatda.

Shu sababli bugun agar Junior (Backend) dasturchi bo'lganimda qanday qilib bitta oddiy blog vebsaytni to'liq ishlab chiqish orqali ham dasturlashni chuqurroq o'rganib, ham portfolio uchun loyiha qilib chiqish mumkinligi haqida aytib o'taman.

1. Texnologiya tanlash va Trelloda reja

Eng birinchi saytni qaysi texnologiyada (yoki 0 dan) yozib chiqmoqchi ekanimni aniqlab olardim. Tasavvur qilish uchun o'zim bilgan PHP va Laravelni olaylik. DB uchun MySQL yoki PostgreSQL, qaysi biri qulayroq bo'lsa. Boshlanishiga shuning o'zi yetarli. Keyin esa qolgan qilishim kerak ishlarni Trelloda reja qilib chiqardim.

2. Asosiy setup, (Docker), Git, GitHub va Run

Keyingi bosqichda shunchaki yangi Laravelni olib, uning Readmesini tozalab, Gitni o'rnatib va uni Githubga "Initial commit" deb joylab qo'yardim. Maqsad ishimning har bir qadami Gitda saqlab ketilishi. Undan keyin boshlang'ich o'rnatish ishlarini amalga oshirib saytni run qilib olardim. Bu narsani esa PHP, Nginx, Postgres Server va Composer kabi narsalarni noutbuk o'ziga o'rnatmasdan Docker (kontenerizatsiya) orqali amalga oshirishga harakat qilardim

3. Bazaga ulanish, ilk migratsiya va jadval

Agar haligacha bazaga ulanishni tekshirib ko'rmagan bo'lsam, oldin bazaga ulanib olib, undan keyin oddiy blog post uchun DB jadvali uchun quyidagi ma'lumotlar bilan migratsiya yozib chiqardim:
- ID; - Title; - Author; - Status; - Created At; - Updated At;

Bu yerda hozircha Author ham oddiy string, qolgani esa standard.

4. Console orqali CRUD

Keyin esa eng oddiy interfeys — console orqali ana shu jadvalga ma'lumot qo'shish, o'qish, yangilash va o'chirish kabi amallarni qo'shib chiqardim. Bunda userdan console orqali title va avtorni qadamma-qadam so'rab, shular orqali blog post yaratardim. Yangilashda esa oldin ID, keyin esa Title va Author.

Bu narsani avvaliga PHP o'zining echo va readline funksiyalari keyin esa Laraveldagi maxsus Console Commands orqali amalga oshirib ikkalasini ham o'rganib olardim.

5. Consoledan REST API ga

Shundan keyin yuqoridagi oddiy CRUD console kommandalarni REST API ga aylantirib chiqardim va Postman orqali ishlatib ko'rardim. Nima uchun GUI emas REST? Sababi REST API yasash, vizual UI yasashdan ancha osonroq )

Faqat bu yerda yasagan API larim aniq RESTful bo'lishiga. Metodlarni URL nomi bilan emas aynan GET, POST, PUT/PATCH, DELETE metodlari orqali farqlashga, umuman iloji boricha RESTful API Best Practicesni qo'llashga alohida e'tibor qaratgan bo'lardim.

6. Oddiy filtr va saralash

Keyin esa blog postlarni status bo'yicha saralab olishni qo'shardim. Masalan, {domain}/posts?status=draft so'rovi faqatgina qoralama postlarni qaytarib beradigan qilib.

Undan keyin esa (saralangan) postlarni yaratilgan sanasi bo'yicha saralashni qo'shardim. Masalan, {domain}/posts?status=active?sort=-created aktiv holdagi eng yangi postlarni (yaratilgan vaqti teskari tartibda) qaytaradigan qilib.

7. Avtorlarni alohida jadvalga olib chiqish

Shundan keyin esa avtorlar qismini normalizatsiya qilib alohida jadvalga olib chiqardim va one-to-many relations yasardim. Bunda relations faqat kod darajasida emas, aynan databaza darajasida boshqarilishiga, postlari bor avtorni adashib o'chirib yuborishga ruxsat bermaslikka alohida e'tibor qaratardim. Qo'shimchasiga indeksatsiya va foreign keylar haqida ham o'qib chiqardim.

Ana shundan keyin yuqoridagi Console va Rest API larni shunga mos o'zgartirib chiqardim. Ikkita joyda o'zgartirishga to'g'ri keldimi? Unda keyingi darajaga o'tish vaqti keldi )

Davomi bor...

#software_engineering #juniors

P.S: "Juniorlarga yordam bermaysizlar" deb shikoyat qiladiganlarga yuborib qo'yinglar )

@Janob_Musayev

We recommend to visit

?? O'zbekistondagi N1 Akkaunt Savdo Kanali!

‼️ Eslatma: Kanalimizga Joylanayotgan Akkauntlarning Barchasi Turnirda Yutilgan!

? Kanalga Joylangan Xar Bir Akkauntga "SENATOR" Shaxsan O'zi Javob Beradi!

✍️Admin: @deSENATOR_AKKS ✅ Org ‼

©️SENATOR PUBGM

Last updated 1 year, 2 months ago

? Reklama: @Edurekadmin


Ta'limda nima yangiliklar?

O'zbekiston ta'lim sferasidagi eng oxirgi va eng dolzarb yangiliklarini aynan shu kanaldan topasiz!

© Kanaldan to'liq yoki qisman ma'lumot olinganda manba ko'rsatilishi shart!

? @Edu_murojaatBot

Last updated 2 months, 2 weeks ago

Kun davomida eng sara va so'nggi yangiliklar tafsiloti bilan YO'L-YO'LAKAY tanishtirib boramiz.

Voqea va hodisaga guvoh bo‘ldingizmi, videolaringizni bizga yuboring: @yyuzbot

Reklama bo‘yicha: @zorzorads

Instagram sahifamiz: https://bit.ly/3wlZDZH

Last updated 1 month, 3 weeks ago