TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 8 подобни публикации

Търсене: #mavzu

当前筛选 #mavzu清除筛选
Suxrob Xurramov | Blog

@suxrobblog · Post #535 · 07.04.2025 г., 16:22

Bottom sheet (pastdan chiqadigan oynacha) nima? Bottom sheet — bu ekranning pastidan chiqib, sahifani almashtirmasdan qo‘shimcha ma’lumot yoki harakatlarni ko‘rsatadigan mobil UI elementidir. Ular asosiy kontentni yopmasdan, kerakli paytda qo‘shimcha ma’lumot yoki funksiyani ko‘rsatishga yordam beradi. Bu degani har doim ham bottom sheetni hamma yerga ishlatish kerak degani emas, dizaynerlar. Noqulay dizayndagi bottom sheetlar foydalanuvchini chalg‘itadi: agar yopish oson bo‘lmasa, bir nechta sheet ustma-ust chiqsa yoki kerakli kontentni to‘sib qo‘yilgan bo'lsa... (↗️ Yo'riqnomani PDF faylini yuklab olish) @suxrobblog | #mavzu#bottom_sheet

Suxrob Xurramov | Blog

@suxrobblog · Post #513 · 02.04.2025 г., 12:04

UX dizayn ortidagi haqiqat... UX dizayn – bu faqat chiroyli ko‘rinish emas, balki foydalanuvchi ehtiyojlariga moslab ishlab chiqilgan tizimli yondashuv. Har bir tugma, sahifa oqimi, joylashuv — bular ortida logika, tahlil va tajriba yotadi. Yaxshi UX dizayn bo‘lsa: 1. Platformaning struktura va navigatsiyasi aniq bo‘ladi, 2. Foydalanuvchi chalkashmaydi, 3. Dasturchi aniq yo‘l-yo‘riq bilan ishlaydi, 4. Ishlab chiqish jarayoni tezlashadi, xatolar kamayadi, 5. Va nihoyat, mahsulot muvaffaqiyatli chiqadi. Shuning uchun UX dizayn — sarmoya hisoblanadi. Va bu xizmat arzon bo‘lishi kutilmasligi lozim. Chunki u platformaning asosiy poydevorini tashkil qiladi. UX bo‘lmasa nima boʻlardi: — Foydalanuvchi chalkashadi: sayt tushunarsiz bo‘ladi; — Dasturchi yo‘nalishsiz ishlaydi: strukturani tuzishga qiynaladi va yana ham koʻproq toʻlov soʻraydi. — Koʻproq vaqt sarflanadi: Kutilgan natijaga erishish uzoq vaqt talab qilishni boshlaydi. Qisqasi: UX yo‘q joyda, muammo tug‘iladi. Startup va bizneslar UXʼsiz zararga tushishganliklari haqida kelgusi postlarda yozaman. @suxrobblog #ux#mavzu#muammo

Suxrob Xurramov | Blog

@suxrobblog · Post #457 · 12.03.2025 г., 06:11

Mijozdan to'lovni oldindan olish kerakmi? Ha, ayniqsa frilansda ishlayotgan bo‘lsangiz, to‘lovni oldindan olganingiz ma’qul. Har bir mijoz har xil bo‘ladi: kimdir vijdonan haqini to‘laydi, kimdir esa kechiktiradi yoki umuman to‘lamasligi ham mumkin. Shuning uchun quyidagi yondashuvlarni tavsiya qilaman: Frilans buyurtmalari uchun: 1️⃣Oldindan to‘lov olish – ishga kirishishdan oldin kamida 30-50% oldindan to‘lov olishingiz tavsiya etiladi. 2️⃣Bo‘lib-bo‘lib to‘lash – loyiha bosqichlarga bo‘linib, har bir bosqich tugagandan keyin to‘lov olinishi mumkin. 3️⃣Kelishuv (shartnoma) – agar mijoz bilan uzoq muddatli ishlashni rejalashtirsangiz, hujjatlashtirilgan kelishuv yoki shartnoma asosida ishlash yaxshi variant. Oylikka ishlash bo‘yicha: 1️⃣ Agar oylik ishga kelishilgan bo‘lsa, 15-sanasigacha avans (oldindan to‘lov) talab qilish mumkin. Bu sizga ishingizni ishonch bilan bajarishda yordam beradi. 2️⃣ Shuningdek, muntazam to‘lov tizimi o‘rnatilgan bo‘lishi kerak – masalan, har oyning 15-30 sanalari oralig‘ida hisob-kitob qilinishi. To‘lov borasida aniq kelishib olmaslik sizni xavf ostida qoldirishi mumkin. Shuning uchun har doim mijoz bilan oldindan kelishuv qilib, eng kamida 50% oldindan to‘lov olishni odat qiling. Doimiy mijoz bo‘lgan taqdirda ham, to‘lov tartibini aniq belgilagan ma'qul. @suxrobblog #mavzu#mijoz#savol_rublikasi

Suxrob Xurramov | Blog

@suxrobblog · Post #456 · 11.03.2025 г., 03:51

Dizaynda “yo‘q” deyish tamoyili Mijoz bilan ishlaganda har bir talabini bajarish – sizni yaxshi dizayner qilmaydi. Ba’zan “yo‘q” deyish ham professionallikning bir qismidir. Dizayner sifatida har bir mijoz yoki jamoa talabiga rozi bo‘lish natijani yaxshilamaydi, aksincha, sifatsiz dizaynga, ortiqcha stress va keraksiz vaqt sarflashga olib kelishi mumkin. Dizaynda “yo‘q” deyish tamoyili nima oʻzi? Bu dizayn jarayonida asosli va professional cheklovlar qo‘yish qobiliyatidir. Agar shu asosli cheklovlardan oʻtilganda "yoʻq" deyish nazarda tutilyapti. Mijoz bilan endi ishlashga kirishganda narx aytdingiz, "###$ boʻladi", desangiz. Mijoz, "Mayli, faqat mana bu ishlarni ham qoʻshib qilib bering", desa, yaʼniki ishingizni ustiga 50% ish qoʻshib beryapti. Bu vaziyatda yoʻq deb aytgangiz maʼqul. Kechasi bilan ishlab, koʻzlaringiz qizarib chiqqaniga, mijozdan olgan pullaringiz koʻzingizga koʻrinmaydi ham. "Mijoz ketib qoladi", deb narxni past aytgan taqdiringizda ham, qadarga yozilmagan boʻlsa, arzon aytsangiz ham ketib qoladi. "Yoʻq" deyish bilan rizq kamayib qolmaydi deb hisoblayman. Va oʻzim ham, oʻzimga yoqmagan ishlar chiqqanda buyurtma sifatida qabul qilmayman yoki boshqa sabablar. Shuningdek, soha boʻyicha prinsiplarimga doim qatʼiy amal qilishga harakat qilganman va boshqalarga ham shuni tavsiya qilaman... P.S. Blogdagi postlar shaxsiy fikrlarim orqali yozib boraman. SI yozib bermaydi) @suxrobblog #mavzu#mijoz#prinsiplar

Suxrob Xurramov | Blog

@suxrobblog · Post #459 · 16.03.2025 г., 18:54

Oʻzbekiston bozorida UX/UI dizayn boʻyicha mutaxassislar yetarli emas. Grafik dizaynerlar esa bu yoʻnalishni ham oʻrganib borishlari lozim Nega va sabab? — Nega deganda, avvalo grafik dizaynga qaraganda UX/UI dizaynda koʻproq daromad topish mumkin, bu sir emas. Bir ikki kunda 300-500$ gacha daromad topishingiz ham mumkin, masalan. Men nega buni aytyapman?! — Avvalo sohada koʻproq mutaxassislar paydo boʻlishini istayman. Oʻzaro rivojlanishga turtki boʻladigan kadrlar yetishib chiqishi boshqa dizaynerlar rivojiga ham hissa qoʻshishi mumkin. Grafik dizaynerlar bu sohaga tezroq moslasha oladimi? — Albatta. Hozirda oʻzimizni bozorda UX/UI dizayn boʻyicha yaxshi keyslarni koʻrmaganimga ham ancha boʻldi, aksar hollarda shablonlar ishlatilyapti. Deadlineʼlar qisqa, tayyor resurslardan foydalanish holatlari koʻp uchrab turadi, bu esa sohaga yangi kirib kelganlar uchun ham tezroq moslashishga imkon beradi. Grafik dizayndan soʻng UX/UI dizayn bu menimcha keyingi bosqich deb oʻylayman. Koʻproq minimalizm bilan ishlash ortiqcha bosh ogʻrishini keltirib chiqarmaydi. Shuningdek, grafik dasturda murakkab funksiyalar bilan ishlash kabi bir qancha bosh ogʻriq ishlaridan qutulasiz. Bu jarayonda dizayner ancha yengillab qoladi. Va sohadan yana ham zavq olib boradi... Xoʻsh grafik dizaynerlar UX/UI dizayn yoʻnalishini ham oʻrganishga kirishamizmi? Men grafik dizaynerlarga bepul tarzda UX/UI dizaynga qadam qoʻyishlari boʻyicha bosqichma-bosqich kontent tayyorlab borishni rejalashtiryapman. Izohdagi fikrlar boʻyicha postlar yozib bormoqchiman hozircha. @suxrobblog #mavzu#grafik_dizayn#uxui_dizayn

Suxrob Xurramov | Blog

@suxrobblog · Post #479 · 26.03.2025 г., 05:02

Dizayn bo'yicha buyurtma olish uchun o'zimizda frilans guruhlari bormi? — Aynan, UX/UI dizayn bo'yicha buyurtma olish bo'yicha o'zimizda guruhlar mavjud emas. Lekin... ✅Mijozlar topish bo'yicha tavsiyalar berib ketishim mumkin, lekin: 1. O'z ustingizda ishlang, portfolio'da ishlar soni va sifatini oshiring; 2. AyTi'ga aloqador tanish bilishni ko'paytiring, turli xil dasturchilar meetup'lariga ham borib turishingiz mumkin, shunda ular bilan tanishib kontaktlashib turishingiz mumkin. Bizni sohada netvorking juda muhim, tanish bilish orqali asosiy mijozlar kelishi mumkin; 3. Instagramda video ko'rish o'rniga, siz ham ular kabi video kontent tayyorlashga kirishing. Soha bo'yicha O'zingizni yaxshi ko'rsata olsangiz, Instagram va Facebookdan ham oyiga kamida 1-2ta mijoz kelib turishi mumkin; 4. Mijozlar oqimiga erishmaguncha, bepul xizmatlar ko'rsatishni yo'lga qo'yishingiz mumkin. P.S. Divanda yotishni bas qiling)) @suxrobblog #mavzu#buyurtma#mijoz#savol_rublikasi