Как работает функция reload()?
Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора.
Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload()
from importlib import reload
reload(my_module)
🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком!
🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули.
🔸Она не может перезагрузить ранее не импортированный модуль.
🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля.
Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся.
Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты.
Напишем простой модуль
# mymodule.py
x = 1
Теперь импортируем модуль и отдельно переменную х из модуля
>>> import mymodule
>>> from mymodule import x
>>> print(mymodule.x)
1
>>> print(x)
1
Не перезапуская интерпретатор вносим изменения в модуль
# mymodule.py
x = 2
Делаем перезагрузку модуля и проверяем х ещё раз
>>> reload(mymodule)
>>> print(mymodule.x)
2
>>> print(x)
1
То же самое будет если присвоить любой объект переменной (даже словарь или список)
Повторный импорт обновляет значение
>>> from mymodule import x
>>> print(x)
2
🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать.
#tricks#basic
Figmada yana bir nechta kichik, lekin foydali yangilanishlar:
🔺 Import / Export Variables
Endi o‘zgaruvchilarni (variables) plaginlarsiz bevosita import va eksport qilish mumkin. Nihoyat bu funksiya Figma’ning o‘zida paydo bo‘ldi.
🔺 O‘zgaruvchi yaratish jarayoni yaxshilandi
Endi yangi variable yaratganda, qaysi kolleksiyalarga u ulanayotganini darhol ko‘rish mumkin.
🔺 Ko‘proq variable rejimlari
Avvallari atigi 4 ta rejim bor edi, endi esa Professional tarifda 10 ta, Organization tarifda 20 ta rejim mavjud.
🔺 Ishlash tezligi (Performance) oshirildi
Figma dizayn sistemalar arxitekturasini yangiladi, shuning uchun endi variable yangilanishlari va tema almashish jarayoni 5–10 baravar tezroq ishlaydi. Bu ayniqsa katta fayllarda sezilarli.
🔺 Figma MCP Server
Bu yangi server Figma AI’ga sizning kod va dizaynlaringiz kontekstiga kirish imkonini beradi. Endi siz AI uchun o‘zingizning dizayn sistemangizga mos kod yozish qoidalarini belgilab qo‘ya olasiz.
🔺 Figma Make + Design Systems
Endi Figma kutubxonalarini (libraries) to‘g‘ridan-to‘g‘ri Figma Make ichiga Make Kits orqali import qilish yoki o‘z komponentlaringizni npm paketlari orqali ulash mumkin.
Natijada Figma endi sizning haqiqiy dizayn sistemangizga to‘liq mos kod generatsiya qiladi.
@suxrobblog
» #figma#yangilanish
Code Connect UI😱
Bunisi esa, dizayn va kod o‘rtasidagi haqiqiy ko‘prik.
Konferensiyada bir dizayner bir necha daqiqada jonli ravishda serverni uladi, tema almashtirgich (dark/light mode switcher) yaratdi va kontent komponentlarini qo‘shdi, bevosita Figma ichida, Karl!
Endi Figma’dagi komponentlarni to‘g‘ridan-to‘g‘ri sizning kodingizdagi haqiqiy komponentlarga (React, Vue, SwiftUI va boshqalar) bog‘lash mumkin.
Bu nimani beradi:
➡️ GitHub yoki GitLab kabi kod repozitoriylariga ulanish;
➡️ Dev Mode endi shunchaki misol kodni emas, haqiqiy loyihadagi kodni ko‘rsatadi;
➡️ Siz komponentning yo‘lini, nomini, props’larini va ko‘rsatmalarini qo‘lda belgilay olasiz;
➡️ AI sizning loyihangiz tuzilishini bilgan holda, aynan sizga mos kodni generatsiya qiladi;
➡️ Playground (sinov muhiti) va eslatmalar to‘g‘ridan-to‘g‘ri interfeys ichida mavjud.
Oddiy qilib aytganda, endi dizayndagi UI va dastur kodingiz o‘rtasida to‘liq (100%) sinxron holat yaratish ancha osonlashdi.
P.S. Dasturchi tanishlarga yuborib qoʻyamiz.
@suxrobblog
» #figma#yangilanish
Check Designs
Bu, dizaynlarni bevosita Figma ichida avtomatik tekshirish imkonini beruvchi yangi funksiya. U dizaynni xatolarga, yo‘riqnomalarga (guidelines) moslikka va ishlab chiquvchiga topshirishga tayyorlik darajasiga qarab tahlil qiladi. (Mazzami silarga mazzami?🤪)
Nimalarni qila oladi:
➡️ Ichki AI yordamchisi dizayndagi xatolarni topadi va ularni qanday tuzatishni ko‘rsatadi;
➡️ Joylashuv, grid, shriftlar, ranglar va accessibility (foydalanish qulayligi)ni tahlil qiladi;
➡️ Platformaga qarab (mobil, desktop, planshet) moslikni inobatga oladi;
➡️ Material 3, WCAG, Core Web Vitals standartlariga mosligini tekshiradi;
➡️ Cheklist (ro‘yxat) yuritish, jarayonni va tayyorlik holatini kuzatish imkonini beradi;
➡️ Dizayn maketida to‘g‘ridan-to‘g‘ri design systemdagi elementlarga havolalar ko‘rsatadi.
Oddiy qilib aytganda, bu, dizaynni ishlab chiqishdan oldin oxirgi marta to‘liq tekshirish uchun juda qulay vosita. Dizayner ishlab bersa boʻldi xolos)
@suxrobblog
» #figma#yangilanish
Figma Slots
Bu, komponentlar uchun chiqarilgan eng qulay va zamonaviy yangilanishlardan biri.
Endi har bir komponent ichida slot deb ataluvchi bo‘sh joylar bo‘ladi. Bu joylarga siz istalgan narsani joylashtira olasiz. Masalan, matn, tugma, rasm yoki boshqa komponent.
Ya’ni:
➡️ Endi har xil versiyadagi yuzlab komponentlarni alohida yaratish shart emas
➡️ Slot ichiga joylashtirilgan narsa avtomatik ravishda o‘z joyiga moslashadi: o‘lchami, ranglari va joylashuvi (auto layout) o‘zi mos bo‘ladi
➡️ Bitta asosiy komponentdan foydalanib murakkab interfeyslar yasash mumkin
➡️ Bu funksiya barcha Figma tariflarida mavjud, hatto Dev Modeda ham ishlaydi
Oddiy qilib aytganda, endi Figma’dagi komponentlar dastur kodidagi haqiqiy komponentlar kabi ishlaydi. Bu dizayner va dasturchi ishini jipslashtiradi.
@suxrobblog
» #figma#yangilanish
Extended Collections
Bu, multi-brand va multi-theme tizimlarda o‘zgaruvchilar (variables) bilan ishlash uchun ajoyib yangilanish.
Endi:
➡️ mavjud kolleksiyalar asosida kengaytirilgan (extended) kolleksiyalar yaratish mumkin
➡️ brendlar o‘rtasida qiymatlar meros qilib olinadi (inheritance qo‘llab-quvvatlanadi)
➡️ interfeysda temalarni osongina almashtirish mumkin
➡️ kolleksiyalar orasida alias/linking (bog‘lash) imkoniyati paydo bo‘ldi
➡️ avtomatlashtirish uchun API qo‘llab-quvvatlovi mavjud
Bu yangilanish bir nechta brend yoki tema bilan ishlaydigan katta jamoalar va mahsulotlar uchun juda qulay.
@suxrobblog
» #figma#yangilanish
Kecha Figma’ning yillik konferensiyasi bo‘lib o‘tdi, unda ular yangilanishlar haqida gapirishdi. Ular juda ko‘p edi va juda yaxshi yangilanishlar haqida edi. Biroz oʻtib hammasini aytib beraman.
Bu konferensiya videosi hozircha Youtubeda mavjud emas. Keyinroq e'lon qilishlari ham mumkin)
Mavzular:
1️⃣ Extended Collections
2️⃣Figma Slots
3️⃣Check Designs
4️⃣Code Connect UI😱
5️⃣Figmada yana bir nechta kichik, lekin foydali yangilanishlar
@suxrobblog
» #figma#yangilanish
Figma jimgina ajoyib yangilanishni qo'shdi, go'yo ular e'lon qilmaslikni tanlashdi
E'tibor bergan bo'lsangiz, endi siz yangi shriftlarni o'rnatganingizda, ular mavjud bo'lishi uchun sahifani yangilashingiz shart emas, ular avtomatik ravishda chiqib keladi.
Arzimas yangilanish, lekin vaqt va asablarni asraydi. Shunday emasmi?!🔥📱
#figma#yangilanish
Paynet ilovasi yangilandi va nimalar o'zgardi?
🌙 Tungi mavzu qo'shilibdi;
🏠 Yangilangan asosiy ekran, menga yoqqan tomoni tezkor o'tkazmaga kirish mumkin;
🌙 Ramazon taqvimi — iftor va saharlik vaqtlarini to‘g‘ridan-to‘g‘ri ilovada kuzatish;
⚙️ Vidjetlarni moslash — ekranni o‘z ehtiyojlaringizga qarab moslash mumkin va boshqalar.
Paynetda menga yoqadigan eng yaxshi jihati kerakli xizmatlarga to'lovni tezda amalga oshiraman.
P.s. Internet xizmatlariga to'lov qilganda hech Paynet orqali to'lov qiling degan joyini ko'rmaganman, Click va Payme bundan mustasno)
@suxrobblog
#paynet#yangilanish
ChatGPT yangi Go 5 dollorlik tarifini joriy etibdi. Bu tarif rivojlanayotgan davlatlar uchun ekan, roʻyxatda Oʻzbekiston ham mavjud.
Ish samaradorligini oshirish uchun bu yaxshi narx. "Bepul ishlatma, 5$ ga boʻlsa ham sotib ol" degan joyi ekan!)
@suxrobblog
» #chatgpt#AI#yangilanish
📱YouTube Kids interfeysini yangiladi
YouTube Kids mobil ilovasi o‘zining ko‘rinishini asosiy YouTube interfeysiga oʻxshash qilib foydalanuvchilarga taqdim etmoqchi.
Yangilik sifatida vertikal rejimni qo‘llab-quvvatlash, mavzular bo‘yicha kontent filtrlarining yangi karuseli va pastki qismidagi navigatsiya paneli mavjud. Yangilanish Smart TV va veb-versiyasi uchun avvalgi interfeysni saqlab qolgan holda, bir necha hafta ichida iOS va Android’da ham mavjud bo‘ladi.
» Batafsil
@suxrobblog — #yangiliklar#youtube#yangilanish