از کدوم مورد استفاده میکنین برای اینکه بفهمین یک متغییر None هست یا نه؟
1) obj is None
2) obj == None
Coding Lovers
از کدوم مورد استفاده میکنین برای اینکه بفهمین یک متغییر None هست یا نه؟ 1) obj is None 2) obj == None
❗ هیچوقت از روش دوم استفاده نکنین
به چند دلیل:
- استفاده از is بهینه تره و مستقیم ادرس مموری رو بررسی میکنه و از چیزای اضافی پرهیز میکنه
- استفاده از == برای این مورد کاملا خطرناکه، چرا؟ کد رو ببین:
یا حتی ممکنه اروری raise بشه
به چند دلیل:
- استفاده از is بهینه تره و مستقیم ادرس مموری رو بررسی میکنه و از چیزای اضافی پرهیز میکنه
- استفاده از == برای این مورد کاملا خطرناکه، چرا؟ کد رو ببین:
class Example:
def __eq__(self, other):
return True
e = Example()
print(e == None)
print(e is None)
یا حتی ممکنه اروری raise بشه
👍9👎1
😁5🔥3😢2❤1👎1
https://www.youtube.com/watch?v=SRdZj0KfZ5s
چهار تا تکنیک باحال داخل CSS برای اینکه border هارو رنگی و متحرک بسازیم ...
اخره فیلم هم همه رو باهم مقایسه میکنه و خلاصه ک خوشم اومد گفتم باهاتون ب اشتراک بذارم ❤️
@CodingLovers_OFF
چهار تا تکنیک باحال داخل CSS برای اینکه border هارو رنگی و متحرک بسازیم ...
اخره فیلم هم همه رو باهم مقایسه میکنه و خلاصه ک خوشم اومد گفتم باهاتون ب اشتراک بذارم ❤️
@CodingLovers_OFF
❤7👍2🔥1
دوستان اگه کسی لینکدین داره، خوشحال میشم لینکدین خودتونو توی کامنت ها به اشتراک بذارین و کانکشن برقرار کنیم ❤️
لینکدین خودم:
https://www.linkedin.com/in/ali-pooralijan-awolverp
لینکدین خودم:
https://www.linkedin.com/in/ali-pooralijan-awolverp
❤5🔥2👍1
جوری که جدیداً به خودم انگیزه میدم:
هرچیزی شدنیه حتی ران کردن لینوکس روی PDF
هرچیزی شدنیه حتی ران کردن لینوکس روی PDF
👍17😢2
Coding Lovers pinned «🌐 آدرس خانواده کدینگ لاورز توی فضای مجازی: 🌐 YouTube 🌐 Telegram 🌐 Instagram 🌐 GitHub ❤️ حمایت مالی: ❤️ Support ❤️ حمایت معنوی: ❤️ Share posts :)»
لایبرری MarkupEver جایگزین BeautifulSoup!
لایبرری MarkupEver یه لایبرری خفن برای برای خوندن، تجزیه و حتی ایجاد یک HTML یا XML است که با زبان Rust نوشته شده تا سرعت رو درکنار کیفیت حفظ کنه.
گیتهاب:
https://github.com/awolverp/markupever
داکیومنت:
https://awolverp.github.io/markupever
پ.ن: این چندوقت که نبودم درگیر همین بودم، استار یادتون نره 🥹
@CodingLovers_OFF 🔥
لایبرری MarkupEver یه لایبرری خفن برای برای خوندن، تجزیه و حتی ایجاد یک HTML یا XML است که با زبان Rust نوشته شده تا سرعت رو درکنار کیفیت حفظ کنه.
گیتهاب:
https://github.com/awolverp/markupever
داکیومنت:
https://awolverp.github.io/markupever
پ.ن: این چندوقت که نبودم درگیر همین بودم، استار یادتون نره 🥹
@CodingLovers_OFF 🔥
👍11❤6🔥4
دوباره اومدم بگم: وقتشه selenium هم بزاری کنار 😔😂
با لایبرری playwright ( مال مایکروسافت هستش ) مقایسهش کنیم:
خوبی های playwright:
- کنترل بشدت کامل و راحتی بهت میده و هرکاری که فکرشو بکنی میتونی انجام بدی
- حالت async هم پشتیبانی میکنه
- خیلی خیلی سریعتر از سلنیوم هستش
- مموری کمتری مصرف میکنه
بدی های playwright:
- روی لینوکس های هم خانوادهی آرچ کار نمیکنه ( مثل مانجارو )
- مستقیماً با مرورگر های سیستمتون کار نمیکنه بلکه ماجرای خاص خودشو داره
خوبی های سلنیوم:
- با مرورگر های روی سیستمتون کار میکنه
- کامیونیتی خیلی بزرگتری داره
- لایبرری های کاربردی زیادی ازش استفاده کردن
- نصب و استفادش راحت تره
بدی های سلنیوم:
- خیلی کند
- اصلا دسترسی کاملی به مرورگر نمیده و دهنت سرویس میشه تا مثلا با localStorage کار کنی
@CodingLovers_OFF 🔥
با لایبرری playwright ( مال مایکروسافت هستش ) مقایسهش کنیم:
خوبی های playwright:
- کنترل بشدت کامل و راحتی بهت میده و هرکاری که فکرشو بکنی میتونی انجام بدی
- حالت async هم پشتیبانی میکنه
- خیلی خیلی سریعتر از سلنیوم هستش
- مموری کمتری مصرف میکنه
بدی های playwright:
- روی لینوکس های هم خانوادهی آرچ کار نمیکنه ( مثل مانجارو )
- مستقیماً با مرورگر های سیستمتون کار نمیکنه بلکه ماجرای خاص خودشو داره
from playwright.sync_api import sync_playwright
def run(playwright):
chromium = playwright.chromium # or "firefox" or "webkit".
browser = chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
# other actions...
browser.close()
with sync_playwright() as playwright:
run(playwright)
خوبی های سلنیوم:
- با مرورگر های روی سیستمتون کار میکنه
- کامیونیتی خیلی بزرگتری داره
- لایبرری های کاربردی زیادی ازش استفاده کردن
- نصب و استفادش راحت تره
بدی های سلنیوم:
- خیلی کند
- اصلا دسترسی کاملی به مرورگر نمیده و دهنت سرویس میشه تا مثلا با localStorage کار کنی
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.python.org")
# other actions ...
driver.close()
@CodingLovers_OFF 🔥
👍15❤2🔥2
لغات غلط - ربات یا بات تلگرام؟!
خیلی وقته که از اصطلاحات نادرست و بیمعنی برای اشاره به باتها استفاده میشه. فکر کردم بهتره یه توضیح مختصر بدیم تا این اصطلاحات رو درست کنیم و از همون واژههای استاندارد استفاده کنیم.
1️⃣ ربات یا بات؟
- خیلیها میگن «ربات»! ولی در واقع این کلمه اشتباهه.
- ربات به موجوداتی با بدن فیزیکی گفته میشه (مثل رباتهای کارخانهها).
- بات (Bot) به برنامههای نرمافزاری گفته میشه که کارهای خاصی رو انجام میدن.
پس دیگه از این به بعد به جای «ربات تلگرام» بگیم بات تلگرام! ✅
2️⃣ بات CLI ؟ بات سلف؟
این اسمها نه تنها استاندارد نیستن، بلکه اصلاً معنی خاصی ندارن!
اسم درستش یوزربات (Userbot) هست. یوزرباتها باتهایی هستن که روی اکانت شخصی کاربر ران میشن و کارهایی رو انجام میدن.
پس دیگه از این به بعد به جای اونا بگیم یوزربات! ✅
3️⃣ بات API؟
این هم غلطه، البته که از اون لغات عجیب غریب قابل درک تره :)
پروتوکل MTProto هم یه API هست و تلگرام خودش داکیومنتش رو منتشر کرده.
پس دلیلی نداره که به باتهای ساختهشده با botfather بگیم «بات API».
اسم درستش بات هست! ✅ همین. پسوند و پیشوندی نداره.
پ.ن: این پست رو دوستمون @sajiminer ساخته ❤️، من فقط ادیتش زدم; این مطلب رو شِیر کنین تا این لغات تصحیح بشن ...
@CodingLovers_OFF 🔥
خیلی وقته که از اصطلاحات نادرست و بیمعنی برای اشاره به باتها استفاده میشه. فکر کردم بهتره یه توضیح مختصر بدیم تا این اصطلاحات رو درست کنیم و از همون واژههای استاندارد استفاده کنیم.
1️⃣ ربات یا بات؟
- خیلیها میگن «ربات»! ولی در واقع این کلمه اشتباهه.
- ربات به موجوداتی با بدن فیزیکی گفته میشه (مثل رباتهای کارخانهها).
- بات (Bot) به برنامههای نرمافزاری گفته میشه که کارهای خاصی رو انجام میدن.
پس دیگه از این به بعد به جای «ربات تلگرام» بگیم بات تلگرام! ✅
2️⃣ بات CLI ؟ بات سلف؟
این اسمها نه تنها استاندارد نیستن، بلکه اصلاً معنی خاصی ندارن!
اسم درستش یوزربات (Userbot) هست. یوزرباتها باتهایی هستن که روی اکانت شخصی کاربر ران میشن و کارهایی رو انجام میدن.
پس دیگه از این به بعد به جای اونا بگیم یوزربات! ✅
3️⃣ بات API؟
این هم غلطه، البته که از اون لغات عجیب غریب قابل درک تره :)
پروتوکل MTProto هم یه API هست و تلگرام خودش داکیومنتش رو منتشر کرده.
پس دلیلی نداره که به باتهای ساختهشده با botfather بگیم «بات API».
اسم درستش بات هست! ✅ همین. پسوند و پیشوندی نداره.
پ.ن: این پست رو دوستمون @sajiminer ساخته ❤️، من فقط ادیتش زدم; این مطلب رو شِیر کنین تا این لغات تصحیح بشن ...
@CodingLovers_OFF 🔥
👍22❤4👎4🔥2
عید نوروز تون پیشاپیش مبارک، امیدوارم سال خوبی در پیش باشه 🥳
امیدوارم سال جدید براتون پر از کامیتهای بدون باگ، دیپلویهای موفق و پروژههایی باشه که نیاز به ریفکتور ندارن!😁
#NowruzMubarak
💜 @CodingLovers_OFF 💛
امیدوارم سال جدید براتون پر از کامیتهای بدون باگ، دیپلویهای موفق و پروژههایی باشه که نیاز به ریفکتور ندارن!
#NowruzMubarak
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍2🔥1
👍12❤4🔥3🤣1
جنگو 5.2 منتشر شد 🎉
دیروز این نسخه جدید از جنگو منتشر شده که پر از تغییرات بوده.
بعضی از تغییرات مهمش عبارتند از:
✅ فیلد جدید CompositePrimaryKey برای دیتابیس
✅ قابلیت شخصی سازیه بیشتر فرم ها
✅ اضافه شدن کلی تابع async به بهش auth
✅ کلی بهبود توی دیتابیس، فرم ها، HttpResponse و HttpRequest داشتیم
✅ کلی متود جدید async توی QuerySet اضافه شده
و کلی تغییرات دیگه ...
https://docs.djangoproject.com/en/5.2/releases/5.2/
@CodingLovers_OFF 🔥
دیروز این نسخه جدید از جنگو منتشر شده که پر از تغییرات بوده.
بعضی از تغییرات مهمش عبارتند از:
✅ فیلد جدید CompositePrimaryKey برای دیتابیس
✅ قابلیت شخصی سازیه بیشتر فرم ها
✅ اضافه شدن کلی تابع async به بهش auth
✅ کلی بهبود توی دیتابیس، فرم ها، HttpResponse و HttpRequest داشتیم
✅ کلی متود جدید async توی QuerySet اضافه شده
و کلی تغییرات دیگه ...
https://docs.djangoproject.com/en/5.2/releases/5.2/
@CodingLovers_OFF 🔥
🔥9❤2👍1
یکی از ماژول های built in پایتون که مخصوصا برای برنامه های CLI خیلی بدرد میخوره رو اینجا نشونتون دادم 🤗
https://youtube.com/shorts/GUBT7wgqE1Q?si=QCcGgo1TVYSZyU6n
https://youtube.com/shorts/GUBT7wgqE1Q?si=QCcGgo1TVYSZyU6n
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
با این ترفند پایتون، از پسورد کاربر محافظت کن
ماژول getpass پایتون
❤13👍2🔥2👎1
Refactoring UI.pdf
53.1 MB
کتاب Refactoring UI
یه منبع فوق العاده از نکاتی برای طراحی UI که سازنده ی TailwindCSS طراحی کرده در سال 2021.
کسایی که دنبال اصول و نکات دیزاین هستن براشون این کتاب فوق العادست ...
چند تا از سرفصل هاش:
- Start with a feature, not a layout
- Grids are overrated
- Shadows can have two parts
حقیقتا خیلی خفنه و باید همشو بخونم 🙌🏻
🔖 Source
🔥 @CodingLovers_OFF
یه منبع فوق العاده از نکاتی برای طراحی UI که سازنده ی TailwindCSS طراحی کرده در سال 2021.
کسایی که دنبال اصول و نکات دیزاین هستن براشون این کتاب فوق العادست ...
چند تا از سرفصل هاش:
- Start with a feature, not a layout
- Grids are overrated
- Shadows can have two parts
حقیقتا خیلی خفنه و باید همشو بخونم 🙌🏻
🔖 Source
🔥 @CodingLovers_OFF
👍9❤2
Forwarded from BotNews
Bot API 9.0
Announcing the largest Bot API update of 2025 (so far😈 )
🏪 Telegram Business 2.0
• Bots can now fully customize the branding of Business Accounts – managing their name, username, bio and profile pictures.
• Introduced support for managing Paid Gifts🎁 , including conversions, transfers and upgrades.
• Bots can now check⭐️ Telegram Star balances and transfer Stars from managed businesses.
• Bots can now easily mark Business messages as read or delete them.
• Added extensive support for managing stories on Business accounts – featuring photos, videos and interactive elements like links, locations, reactions, weather info and even Gifts.
• All stories posted by bots can also be edited or deleted.
• Introduced granular Business permissions, giving users even finer control over connected bots.
🗃️ Mini App Storage
• Mini Apps can now store data locally on the user's device.
• Sensitive tokens can be safely persisted in a specialized secure storage.
🎁 Telegram Gifts
• Introduced support for unique Gifts – with detailed model, symbol and backdrop info.
• Bots can also check which Gift types are accepted by users and chats.
⭐️ Paid Messages
• Bots can now track how many Stars users paid to send a message.
• This includes out-of-the-box support for paid messages in both groups and business accounts.
⭐️ Telegram Premium
• Bots can now gift a Telegram Premium subscription paid in Stars.
• And more, see the full changelog for details:
https://core.telegram.org/bots/api-changelog#april-11-2025
Announcing the largest Bot API update of 2025 (so far
• Bots can now fully customize the branding of Business Accounts – managing their name, username, bio and profile pictures.
• Introduced support for managing Paid Gifts
• Bots can now check
• Bots can now easily mark Business messages as read or delete them.
• Added extensive support for managing stories on Business accounts – featuring photos, videos and interactive elements like links, locations, reactions, weather info and even Gifts.
• All stories posted by bots can also be edited or deleted.
• Introduced granular Business permissions, giving users even finer control over connected bots.
• Mini Apps can now store data locally on the user's device.
• Sensitive tokens can be safely persisted in a specialized secure storage.
• Introduced support for unique Gifts – with detailed model, symbol and backdrop info.
• Bots can also check which Gift types are accepted by users and chats.
• Bots can now track how many Stars users paid to send a message.
• This includes out-of-the-box support for paid messages in both groups and business accounts.
• Bots can now gift a Telegram Premium subscription paid in Stars.
• And more, see the full changelog for details:
https://core.telegram.org/bots/api-changelog#april-11-2025
Please open Telegram to view this post
VIEW IN TELEGRAM
BotNews
Bots can now fully customize the branding of Business Accounts – managing their name, username, bio and profile pictures.
یعنی به جای یوزربات، از این به بعد با بات هم میشه ساعت روی اسم گذاشت؟ 😂
😁10👍2🤣2