Dilafruz Juraboeva | Techlog
• Dilafruz Juraboeva • Software .NET Engineer • TechGirls'24 semi-finalist • IQtidorly'24 • IT Star'24 • Member of @EduGrandsUz Learn. Share. Inspire!
Show more542
Subscribers
+124 hours
+257 days
+10330 days
- Subscribers
- Post coverage
- ER - engagement ratio
Data loading in progress...
Subscriber growth rate
Data loading in progress...
Repost from Janob Musayev | Digital World
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
👍 7❤ 3⚡ 1🔥 1😁 1
Repost from Dr. Algorithm
Photo unavailableShow in Telegram
Java vs C#
Tashashamiz.
📱 Kimga eski Java?
📱 Kimga yosh C#?
~ ~ ~
Shartlarni kelishib olaylik. Aniq argument bilan biror tilning yaxshi tomonini aytish mumkin. Aniq argument bilan buni falon joyi yaxshi emas deyish mumkin.
Manga shu yoqadi deyish mumkin emas.
Aniq odamlar aniq fikr eta olishi kerak.
P.S. Rasm AI da yasaldi, shunga xatolari bor.
@DrAlgorithm
⚡ 4❤ 2👍 1🫡 1
Photo unavailableShow in Telegram
Judayam istaymiz G’azodagi birodarlarimiz uchun donate qilishni🥺
Lekin bu o’sha shu kunlarda ijtimoiy tarmoqlarda judayam ko’paygan firibgarlarning ishi bo’lsachi? Donate qilgan summangizni ularni o’ldirishga ishlatadigan Isroilliklarning yolg’oni bo’lsachi?
Men bugun shu xabarli oldim, 1-2kun oldin esa, bir Indioneziyalik o’limi yaqinlashayotgan opa O’zbekistonga donate qilmoqchiman deb yozgandi, xullas judayam hayronman.
Yordam so’raganda imkoniyatingiz bo’lib turib yordam bermasangiz bo’lmaydi, vijdoningiz qiynaladi, agar firibgarlarga, yoki bilmasdan siz yordam bermoqchilarni yo’q qiladigan korparatsiyalarga yordam berib qo’ysangiz, bir umr qiylanasiz vijdon azobida.
Men nima qilay ekan endi? Kimdir check qilib ko’radimi? Link: https://www.gofundme.com/f/support-mahmouds-family-in-their-struggle
Rahmat!
❤🔥 8👍 6❤ 3🔥 1
Endi telegramga contibute qilishni o’ylab turgandimaa🌝
Haa mayli)
#willbedeleted
Photo unavailableShow in Telegram
Bu qanaqa qilib bo’ldi? Yoki telegramni bug imi?)
#offtopic
Borolmaganizdan keyin shunaqa postlar hamma joydan chiqishni boshlaydida, eng yomoni💔
Har doim yutishiga ozgina yetmaydigan do‘stingizni nima deb ovutasiz?
Women in Tech Poland’da bo‘lib o‘tadigan katta sammiti uchun O‘zbekistondan delegat bo‘lib ketishim xabarini oldim,dastur deyarli fully-funded,faqatgina bileti o‘zingizdan edi. Men, ota-onam to'liq rozi edik,faqatgina mendagi muammo 1kunda Visa uchun hamma dokumentlarni to‘g‘irlash bo‘ldi, bittagina qizil passport kamlik qildi((
Iltimos,man ketishim kerak,10-15kunda chiqsa, qolib ketaman debmanki, aytadi ular: Bir bola olimpiadaga butun O‘zbekistonni nomidan chiqayotgandi, lekin zagrani chiqmadi, qolib ketdi. Biz ham hechnima qilib berolmaymiz(
Shunaqa motivatsiyam tushib ketdi,men o‘ylardimki, shunday holatlarda Davlat bizga yordam beradi deya, support qiladi deya😭
Btw, PWiT'dagi spikerlar anchagina kuchli, FAANG kampaniyalarda katta lavozimda ishlab kelayotgan ayol-qizlar edi, ular men uchun katta ruhlantirish bo'ldi.
PWiT'ni online va offline kuzatishingiz uchun ticket'lar hali ham mavjud
#PWiT #Poland #Alamlar
@dilafruzs_techlog
SUMMIT_2024_invitation_letter,_Dilafruzxon_Jo'raboyeva_1.pdf4.06 KB
👍 16😭 10😱 2👎 1❤ 1🔥 1🦄 1
Assalomu aleykum!
Ichimizda ASP.NET Core MVC'ni biladiganlar bormi? Menga yordamingiz kerak edi, judayam. Bitta kattaroq open source loyihaga contribute qilayotgandik, yaxshiroq muammoga duch keldik. Yordam bera olsangiz, vaqtingiz bo'lsa, iltimos + qoldiring, yoki dm me pls: @dotnetgirl
#willbedeleted #help
❤🔥 3🕊 2👍 1
Photo unavailableShow in Telegram
MIT tomonidan chiqarilgan "teppa-tekin" eng top kurslar ro'yxati.
• Pythonda Computer science
• Machine Learning
• Amaliy Matematika
• Machine vision
• Augmented Reality
• Psixologiya
• 20-asr Fizikasi: Eynshteyndan Oppenheimergacha
• Algoritmlar
• Cryptocurrency
• Ma'lumotlar tahlili
• Termodinamika
• Kvant fizikasi
• Mathematics of Big Data va Machine Learning
• Computitonal Biology
• Inson miyasi
• Game Design
Tanishlarga ulashib, mavzularni bir boshidan o'rganishli joyi.
@mabrur_dev | Manba
👍 15🍓 3❤🔥 1👎 1❤ 1🔥 1