Coding Lovers
2.02K subscribers
189 photos
16 videos
19 files
231 links
:همه شبکه های اجتماعی یکجا 🌐
Zil.ink/codinglovers

📌 تبلیغات:
@CodingLoversAds

:گروه 🍻
@CodingLovers_GP

:حرفی سخنی 🧑‍💻
@Amir_OfficiaI

:ثبت نمونه کار 🪄
@CodingLovers_result
Download Telegram
Coding Lovers
از کدوم مورد استفاده میکنین برای اینکه بفهمین یک متغییر None هست یا نه؟ 1) obj is None 2) obj == None
هیچوقت از روش دوم استفاده نکنین
به چند دلیل:
- استفاده از is بهینه تره و مستقیم ادرس مموری رو بررسی میکنه و از چیزای اضافی پرهیز میکنه
- استفاده از == برای این مورد کاملا خطرناکه، چرا؟ کد رو ببین:

class Example:
def __eq__(self, other):
return True

e = Example()
print(e == None)
print(e is None)

یا حتی ممکنه اروری raise بشه
👍9👎1
جواب کد زیر چی میشه؟🔥

print([0x1for x in y] )
👍4👎4🔥21
جواب کدام گزینه است؟
Anonymous Quiz
26%
[31]
24%
NameError: 'y'
13%
NameError: 'x'
37%
SyntaxError
😁5🔥3😢21👎1
👍13🤣11
https://www.youtube.com/watch?v=SRdZj0KfZ5s

چهار تا تکنیک باحال داخل CSS برای اینکه border هارو رنگی و متحرک بسازیم ...

اخره فیلم هم همه رو باهم مقایسه میکنه و خلاصه ک خوشم اومد گفتم باهاتون ب اشتراک بذارم ❤️

@CodingLovers_OFF
7👍2🔥1
دوستان اگه کسی لینکدین داره، خوشحال میشم لینکدین خودتونو توی کامنت ها به اشتراک بذارین و کانکشن برقرار کنیم ❤️

لینکدین خودم:
https://www.linkedin.com/in/ali-pooralijan-awolverp
5🔥2👍1
جوری که جدیداً به خودم انگیزه میدم:
هرچیزی شدنیه حتی ران کردن لینوکس روی PDF
👍17😢2
امسال مستقیم میریم ۱۴۰۵
😁20👍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 🔥
👍116🔥4
دوباره اومدم بگم: وقتشه selenium هم بزاری کنار 😔😂

با لایبرری 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 🔥
👍152🔥2
لغات غلط - ربات یا بات تلگرام؟!
خیلی وقته که از اصطلاحات نادرست و بی‌معنی برای اشاره به بات‌ها استفاده میشه. فکر کردم بهتره یه توضیح مختصر بدیم تا این اصطلاحات رو درست کنیم و از همون واژه‌های استاندارد استفاده کنیم.

1️⃣ ربات یا بات؟
- خیلی‌ها میگن «ربات»! ولی در واقع این کلمه اشتباهه.
- ربات به موجوداتی با بدن فیزیکی گفته میشه (مثل ربات‌های کارخانه‌ها).
- بات (Bot) به برنامه‌های نرم‌افزاری گفته میشه که کارهای خاصی رو انجام میدن.

پس دیگه از این به بعد به جای «ربات تلگرام» بگیم بات تلگرام!

2️⃣ بات CLI ؟ بات سلف؟
این اسم‌ها نه تنها استاندارد نیستن، بلکه اصلاً معنی خاصی ندارن!
اسم درستش یوزربات (Userbot) هست. یوزربات‌ها بات‌هایی هستن که روی اکانت شخصی کاربر ران میشن و کارهایی رو انجام میدن.

پس دیگه از این به بعد به جای اونا بگیم یوزربات!

3️⃣ بات API؟
این هم غلطه، البته که از اون لغات عجیب غریب قابل درک تره :)

پروتوکل MTProto هم یه API هست و تلگرام خودش داکیومنتش رو منتشر کرده.
پس دلیلی نداره که به بات‌های ساخته‌شده با botfather بگیم «بات API».

اسم درستش بات هست! همین. پسوند و پیشوندی نداره.

پ.ن: این پست رو دوستمون @sajiminer ساخته ❤️، من فقط ادیتش زدم; این مطلب رو شِیر کنین تا این لغات تصحیح بشن ...

@CodingLovers_OFF 🔥
👍224👎4🔥2
عید نوروز تون پیشاپیش مبارک، امیدوارم سال خوبی در پیش باشه 🥳

امیدوارم سال جدید براتون پر از کامیت‌های بدون باگ، دیپلوی‌های موفق و پروژه‌هایی باشه که نیاز به ریفکتور ندارن! 😁

#NowruzMubarak
💜 @CodingLovers_OFF 💛
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍2🔥1
دوستان پرمیوم گرامی
تلگرام براتون دسترسی به هوش مصنوعی Grok ردیف کرده لذت ببرین

@GrokAI
👍124🔥3🤣1
جنگو 5.2 منتشر شد 🎉
دیروز این نسخه جدید از جنگو منتشر شده که پر از تغییرات بوده.

بعضی از تغییرات مهمش عبارتند از:
فیلد جدید CompositePrimaryKey برای دیتابیس
قابلیت شخصی سازیه بیشتر فرم ها
اضافه شدن کلی تابع async به بهش auth
کلی بهبود توی دیتابیس، فرم ها، HttpResponse و HttpRequest داشتیم
کلی متود جدید async توی QuerySet اضافه شده

و کلی تغییرات دیگه ...

https://docs.djangoproject.com/en/5.2/releases/5.2/

@CodingLovers_OFF 🔥
🔥92👍1
یکی از ماژول های built in پایتون که مخصوصا برای برنامه های CLI خیلی بدرد میخوره رو اینجا نشونتون دادم 🤗

https://youtube.com/shorts/GUBT7wgqE1Q?si=QCcGgo1TVYSZyU6n
Please open Telegram to view this post
VIEW IN TELEGRAM
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
👍92
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
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
میخوام فردا درباره یچیزی پست بزارم
با یک سوال شروع میکنم

بنظرتون ممکنه یک آرایه از میلیارد ها آیتم داشته باشیم، ولی هیچ مموریی استفاده نشده باشه ؟!

پ.ن: داخل پایتون که اصلا نمیشه، به پایتون فکر نکنین
👍8
Coding Lovers
میخوام فردا درباره یچیزی پست بزارم با یک سوال شروع میکنم بنظرتون ممکنه یک آرایه از میلیارد ها آیتم داشته باشیم، ولی هیچ مموریی استفاده نشده باشه ؟! پ.ن: داخل پایتون که اصلا نمیشه، به پایتون فکر نکنین
اینقدر استقبال شد خواستم الان بزارم 😂❤️

🔥 ساختار ZST در Rust
برخلاف تمام زبان ها، راست ساختاری داره به اسم Zero Sized Type.
یعنی تایپی که هیچ حافظه ای نمیگیره!

راست تمام مرز هارا جابجا میکند😂💣

به این شکل تعریف میشه:
struct Empty;

این تایپ هیچ حافظه ای نمیگیره! حتی اگه ازش میلیارد ها بار داخل آرایه استفاده کنیم، هیچ حافظه ای نمیگیره.

زبان Rust گارانتی میکند که ZSTها را بدون مصرف حافظه مدیریت می‌کند.

چجوری این اتفاق میوفته؟ 🤔
این موضوع کمی ضد شهود به نظر می‌رسد، اما جواب آن به طراحی هوشمندانه کامپایلر Rust برمی‌گردد.

وقتی می‌گوییم ZST حافظه مصرف نمی‌کند، یعنی هیچ بایت حافظه‌ای در مموری برای آن رزرو نمی‌شود.

let x = Empty;

در این کد متغیر x وجود دارد (از نظر معنایی در کد)، اما هیچ جایی در حافظه برای آن اختصاص داده نمی‌شود.

پس اطلاعاتش کجاست؟ 😐
کامپایلر Rust به‌صورت استاتیک (در زمان کامپایل) متوجه می‌شود که این یک ZST است و:
- هر جا به متغیر x اشاره شود، مستقیماً مقداری خالی را جایگزین می‌کند. ( مقدار () )
- حتی اگر ادرس مموری از آن گرفته شود، کامپایلر یک آدرس سمبلیک (غیرواقعی) می‌سازد، اما در باینری نهایی، این آدرس به هیچ حافظه فیزیکی اشاره نمی‌کند.

let v: Vec<Empty> = vec![Empty; 1_000_000];

- این آرایه Vec، یک میلیون آیتم دارد، اما:
- هیچ حافظه‌ای برای عناصرش مصرف نشده
- فقط ساختار مدیریتی Vec (مثل طول و ظرفیت) حافظه مصرف می‌کند.

پ.ن: درکش یکم سخته ولی خیلی جالبه
مثل تخیل کردن میمونه. تخیل کردنِ چیزی که وجود نداره 🤔😂

🔥 @CodingLovers_OFF
🔥101👍1