en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Programming ∀

Programming ∀

Open in Telegram

Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.

Show more
1 354
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Oka deyishni o’rgatgandek pitoni train qimisilarmi manga ?

piton syntaxni bilmimanku, lekin enumlarni shunaqa holatga keltirishsa ham ajoyib bo'lardi.
class Option[T](Enum):
     Some(t:T) 
     None

Enum и сложность Enum – один из самых сложных модулей в питоне, я не шучу. Количество нюансов – просто огромное. Так как я последние несколько дней занимаюсь улучшением поддержки Enum в mypy, то я решил рассказать про интересные штуки из модуля enum, которые вы скорее всего могли пропустить. Доки: https://docs.python.org/3/library/enum.html Их все равно никто не читает. global_enum Чудовищная фича. Просто ужас. Засовывает все значения Enum в sys.modules[module].__dict__:

>>> from enum import Enum, global_enum

>>> @global_enum
... class Pets(Enum):
...     CAT = 1
...     DOG = 2

>>> print(CAT)
CAT
Да, создает новые глобальные константы. Нет, mypy такое пока не поддерживает. Для чего нужно? Синтаксический сахар для обратной совместимости. Когда были раньше CAT и DOG как константы в модуле, а потом появляется Enum. Но все равно не советую. _simple_enum

>>> from enum import IntEnum, _simple_enum
>>> 
>>> @_simple_enum(IntEnum)
... class Pets:
...      CAT = 1
...      DOG = 2
... 
>>> print(Pets.CAT)
1
Специальный внутренний хелпер для более быстрого создания Enum классов. Используется в основном внутри CPython для ускорения импорта библиотек. Не поддерживается mypy. @unique Декоратор, который позволит найди дубликаты по значениям в ваших Enum типах и вызвать ошибку. Обязателен для использования. Иначе, где-то можно сделать опечатку:

@unique  # <- will find the problem
class Pets(Enum):
      CAT = 1
      DOG = 1  # should be 2
и искать её всю жизнь. Flag и FlagBoundary Зачем нужны Flag?

from enum import IntFlag, FlagBoundary

class Permission(IntFlag, boundary=FlagBoundary.STRICT):
     READ = 0
     WRITE  = 1
Для сочетания друг с другом: Permission.WRITE | Permission.READ. Есть 4 разных поведения для таких случаев: https://docs.python.org/3/library/enum.html#enum.FlagBoundary Советую всегда использовать FlagBoundary.STRICT, если сомневаетесь. Черная дыра для багов и изменений от версии к версии. member и nonmember В Enum есть довольно сложная логика, какие объекты считать за member (часть enum), какие за nonmember (просто какие-то объекты). Кратко: - Имя не приватное, имя не __dunder__ и имя не _sunder_ - Имя не в _ignore_ - Не вложенный класс и не метод - Не инстанс nonmember Пример:

from enum import Enum, member, nonmember

class Example(Enum):
     _ignore_ = ['a']  # nonmember
     a = 1  # nonmember
     b = 2  # member
     __c__ = 3  # nonmember
     _d_ = 4   # nonmember
     e = nonmember(5)  # nonmember
     __f = 6  # nonmember

     def g(self): ...  # nonmember

     @member
     def  h(self): ...  # member
Думаю, что всем спалось спокойнее без такого знания. Старайтесь делать такие енамы, чтобы не приходилось использовать темную магию. И старайтесь не пользоваться member и nonmember. Enum в .pyi файлах Недавно Typing Spec для енамов был изменен. https://typing.readthedocs.io/en/latest/spec/enums.html Раньше в .pyi файлах мы аннотировали енамы так:

# mymodule.pyi
class Pets(Enum):
     CAT: int
     DOG: int
Однако, теперь такой способ будет создавать два nonmember'а. Правильный способ:

# mymodule.pyi
class Pets(Enum):
     CAT = 1
     DOG = 2
Почему? Потому что значения полей – крайне важно для типа Enum. Для старого кода mypy выкидывает ошибку. Обсуждение: а вам нравились Enum в Python? А сейчас? | Поддержать | YouTube | GitHub | Чат |

Cabalchalik paket manager yo'qda, nima bo'layotganini qisqa va lo'nda aytib turadi.
Cabalchalik paket manager yo'qda, nima bo'layotganini qisqa va lo'nda aytib turadi.

Breaking down the income streams and totals from my third year as a full-time independent open source maintainer. https://www.joshuakgoldberg.com/blog/2024-finances-in-review/

Effect-TS scaladagi ZIO dan copy qilingan. Huddi nestjs java springdan olgani kabi. Ammo nestchilardan farqli effectchilar ancha g’ayratli. Ekotizim juda ham ko’p narsalar bilan boyitilyabti. Lekin effect-ts yoki nestjs ham o’z kumirlarining natijalariga yaqinlashib ham ololmasliklariga katta sabab bu manashu platform issuelar. Effect-ts ni orada kuzatib turaman juda progressive rivojlanyabti. Ular ham uje virtual threadlardan tortib OTeLgacha implement qilib tashlashgan. Shu bilan ancha stabillashyabti ham, lekin ular ham barcha muammolarni ham etib berisholmaydi agar fundament zaif bo’lsa. TC39 ham yebqo’yganlarini tuzata olmaydi. Agar javaga qaradak so’ngi versiyalari anchagina jiddiy va foydali o’zgarishlar bor. Agar jsni qarasak tayinli poposallar yo’q deyarli. Gopherlardan =? olamiz deydimi, #private qilamiz deydimi hullas shu axvol. Jsni hamma ishlatadi va hamma joyga tiqmoqchi bo’lishadi, lekin jsni o’zini bir joyiga tiqishyabti🥹 Bularni nega esladim ? Bitta changesni ko’rib qoldim. Birgina promisega o’ralgan narsa deb hamma joyni async/await qilib chiqishgan🥲

TC39 kommitetini ko'tiga tepish kerak. https://github.com/promises-aplus/promises-spec/issues/94 Bundan habari yo'qlarga qisq
TC39 kommitetini ko'tiga tepish kerak. https://github.com/promises-aplus/promises-spec/issues/94 Bundan habari yo'qlarga qisqacha tarix darsi: 1. Brian McKenna Promiselar uchun error pathni alohida qilish kerak deydi. Bunga asos category theory va Haskelldagi tajriba deydi. 2. Uni eshitishmaydi, asossiz gapirayapsan deydi kommitet o'zi asossiz gapirib turib (McKenna ni 2 ta compelling asosi bor edi). 3. Yillar o'tadi va baribir, aylanib ham o'rgilib ham McKenna ni gapi to'g'ri bo'lib chiqadi va vanihoyat .catch qo'shishadi. Lekin o'z xatosidan o'rganmagan kommitet oxiri borib async/await qo'shadi (function coloring problem ni yaratib). O'zi 1 marta bulg'ashdi tilni, qaytib to'g'irlashdi. Keyin yana bulg'ashdi. Hozir esa shuni Effect-TS bilan yamab ishlatishayapti odamlar.

Brian McKenna kabi programmerlar qadriga yetmagan jschilar ! https://github.com/tlrobinson/v8-typed-array

Deepseek haqida fikrlarizzi kutvommiz boss
Deepseek ishlatib bo'lsa ham Haskell va Alloy6 o'rganing!

Manashu talkda ham yaxshi gaplar bo'lgan. https://www.youtube.com/watch?v=2i-SLPv7giQ

Structurial Design degan chapter hechnimani eslatmayabtimi ?

Eng qizg’i buni UMLga ham o’girsa bo’lar ekan. Diagram ham bor ammo UML asosan modelni describe qiladi holos. Alloy siz qilgan model logikasi aslida tog’rimi degan savolga ham javob beradi. Juda sodda misol Bizda A user mavjud va uning balansida N summa bor. Endi B userga M summa yuborganida userning balansi negative number bo’lmasligi kerak. Humo/Uzcard kabi processing tizimlari tranzaksiyalarga komissiya yechadi. Endi shu tranzaksiya+komissiya qilib xisoblasa manashu nuans chiqmasligiga bitta masala lekin katta tizimlarda bunaqangi nuanslar qalashib ketgan va hammasini ham bilmasligimiz tabiy holat. Huddi shunaqa nuanslarni alloy6 kabi toollar bilan topsak bo’ladi.

Hullas alloy6 bilan expirementchalarni boshladim. Bu temani yaxshilab o'rganib turli domainlardagi logikalarga spec yozib ko'rmoqchiman. Spec asosida logika qanchalik tog'ri ekanini tekshirish mumkin va shu orqali biz source of truth ga yaqinlashamiz. Shu orqali turli caselarni miyyamizda o'ylab topavermasdan abstractroq uslubda hamma narsaga mos keladigan narsani qurishga va uni tog'ri formalizatsiya qilishga o'rgansak bo'ladi. Birinchi sezgan narsam Alloy6 juda ham oson. Ammo biror narsani shunda yozish ancha qiyin. Buni yagona yechimi esa juda ko'plab practice qilish code yozaverish kerak. https://gist.github.com/lambdajon/aed6c7112fb227e72d3cc9784de2533f

Logic vprede. Bitta zo’r narsa qilgandim kechga share qilaman. Bu narsani anchadan buyon sinashni reja qilardim vaqt bo’lmayotudi ohiri yetib keldim. @orzklvb boshlagan SARK uchun juda zor narsa

Nigga o’zidan ketyabti ?
Nigga o’zidan ketyabti ?

photo content

Soft skillar haqida o'qib manashunaqa fikrga keldim negadir🥲

Ko'plab seniorlar roleni yaxshi o'ynaydilar. Managerlar esa oscar olmagan artistlar.