10327
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃 💻 برای دسترسی راحت تر به مطالب به "لیست پین شده" برو🙃 👩💻 Support: @narges_madhi 🪧 ads: @teachifyads 💁♀️ instagram : instagram.com/teachify_ir
این chatgpt هم خیلی باحاله
یه بار مدیرش میاد میگه ما سر ساخت تصاویر گرافیک هامون دارن آتیش میگیرن :))
بعد خودش زیر همه پیام هاش میگه میخوای عکس هم برات درست کنم حال کنی؟
بعد جالب اینه میگی باشه دیگه ناراحت نشو عکس درست کن، بعدش میره کما و میگه آخه خیلیا دارن عکس درست میکنن ))
فازش رو من نفهمیدم :))
✅ @Teachify | برنامه نویسی
✔️ وضعیت این روز های ویکی پدیا :)
پ.ن: البته این روزا به جای ویکی پدیا همه چی میشه گذاشت🥹
✅ @Teachify | برنامه نویسی
✔️ وقتی داری یه برنامه مینویسی که قراره بین چند بخش مختلف (مثلاً اپ موبایل، فرانتاند وب، بکاند، دیتابیس، و غیره) ارتباط برقرار کنه، باید یه راهی برای فرستادن و گرفتن اطلاعات داشته باشی. این راههای ارتباطی چند نوع معروف دارن:
راههای ارتباط بین کلاینت و سرور:
+ REST API (withi HTTP & JSON)
+ gRPC
+ WebSocket
+ GraphQL
+ MQTT (بیشتر برای IoT)
+ Socket Programming (خام و سطح پایین)
+ RPC (نسخههای سادهتر gRPC)
✅ @Teachify | برنامه نویسی
✔️ کد شناسایی بانک از روی شماره کارت با پایتون!
اگه شماره کارت بانکی داری و میخوای بدونی این کارت مربوط به کدوم بانکه، فقط کافیه ۶ رقم اولش (BIN) رو بررسی کنی. با این کد پایتونی، بهراحتی میتونی بانک رو تشخیص بدی:
مناسب پروژههای پرداخت، فرمهای ورود اطلاعات یا تحلیل داده
banks = {
'603799': 'بانک ملی',
'603770': 'بانک صادرات',
'603769': 'بانک کشاورزی',
'589210': 'بانک سپه',
'610433': 'بانک ملت',
'628023': 'بانک مسکن',
'627648': 'بانک توسعه صادرات',
'627961': 'بانک صنعت و معدن',
'627353': 'بانک تجارت',
'589463': 'بانک رفاه',
'639347': 'بانک پاسارگاد',
'627412': 'بانک اقتصاد نوین',
'622106': 'بانک پارسیان',
'627488': 'بانک کارآفرین',
'621986': 'بانک سامان',
'639346': 'بانک سینا',
'639607': 'بانک سرمایه',
'502806': 'بانک شهر',
'502938': 'بانک دی',
'627381': 'بانک انصار',
'639599': 'بانک قوامین',
}
def detect_bank(card_number: str) -> str:
# Check if input is valid
if len(card_number) < 6 or not card_number.isdigit():
return "Invalid card number. Please enter at least 6 digits."
# Extract first 6 digits (BIN)
bin_code = card_number[:6]
# Lookup bank name from dictionary
bank_name = banks.get(bin_code, "Unknown Bank")
return f"Detected Bank: {bank_name}"
if __name__ == "__main__":
print("=== Bank Detector ===")
card_input = input("Enter your card number: ")
result = detect_bank(card_input)
print(result)
✔️ شرکت Perplexity از ربات رسمی خودش در تلگرام رونمایی کرده. ازش میتونید سوال بپرسید تا سرچ کنه و جوابتون رو بده. سرچ های Pro هم توش فعاله. تو گروه هم اگر اضافهاش کنید و اگر منشنش کنید، مستقیم توی خود گروه سرچ رو انجام میده. از عکس هم پشتیبانی میکنه.
🔗 @askplexbot
✅ @Teachify | برنامه نویسی
✔️ زندگی یک برنامه نویس!
بعضی روزها زندگی، شبیه یه متغیر توی رم میمونه.
بودنش وابستهست به این که برنامهات هنوز اجرا بشه یا نه.
همین که یه بار restart شدی، همهچی پاک میشه...
همهی اون چیزایی که فکر میکردی مهمن،
همهی حسها، رویاها، خاطرهها —
میپرن، چون فقط توی RAM بودن.
اگه چیزی رو بخوای نگهداری،
باید بریزش توی یه پایگاه داده،
یه جایی امن، یه جایی موندگار.
ولی زندگی هیچوقت بهت commit نمیده.
هر چی هم ذخیره کنی، شاید یه روز rollback شه.
و ما،
برنامهنویسهایی که سعی میکنیم
توی یه سیستم بدون پایداری،
یه زندگی پایدار بسازیم...
#devlife
✅@Teachify | برنامه نویسی
✔️ زندگی یک برنامه نویس!
یه روزهایی هست که فقط به یه خط کد نگاه میکنی.
نه برای اینکه باگ داره،
نه برای اینکه درست کار نمیکنه...
فقط خیره میشی، چون حس میکنی یه جایی از خودت اون تو گم شده.
یه خط ساده:
if not found:
keep_searching()
✔️ زندگی یک برنامه نویس!
وقتی یه برنامهنویس میخواد از زندگی بگه، داستانش همیشه از یه باگ شروع میشه.
یه چیزی که یه جایی درست کار نمیکنه... و سوال همیشگی:
"مشکل از کجاست؟"
گاهی تقصیر خودمه.
گاهی هم تقصیر ناسازگاریهایی که هیچجوره نمیتونستم پیشبینیشون کنم.
زمان، همیشه یه دیباگر خوبه.
ولی نه همیشه!
یه وقتایی توی نقطههایی گیر میکنی که حتی فکرشم نمیکردی اونجا چیزی اشتباه باشه.
باگهایی از ناکجاآباد پیداشون میشه.
علتشونو میدونی، میفهمی چرا هستن،
ولی نمیتونی درستشون کنی.
اومدن که بمونن، انگار بخشی از پروژهت شدن،
بخشی که هیچوقت نمیخواستی، ولی حالا هست.
مجبوری بذاری یه گوشهی کد،
زیر چند تا کامنت خاک بخورن،
ولی هنوز اونجان،
هنوز اجرا میشن.
خیلی شبیه زندگیه.
اتفاقایی که میدونی چرا افتادن،
ولی نمیتونی عوضشون کنی.
هر چقدر هم که دیباگ کنی، هیچ راهحلی براشون نیست.
شاید بعضیا که هنوز یه ذره امید توی وجودشونه بگن:
"همیشه یه راه هست."
ولی من شک دارم.
مگه میشه آدامسی که ماههاست ته کفشت چسبیده رو جدا کرد؟
وقتی با هر قدم، همراهته...
اگه یه نگاه درست بندازی، میفهمی این باگهای لعنتی از کجا اومدن.
از آدما.
آدمای به ظاهر روشنفکر، خانواده، جامعه، حکومت...
هر کی که یه روزی توی زندگیمون دستی برده.
باگهارو میفهمی.
سرچشمهشون معلومه.
ولی نه راهی هست، نه امیدی به فیکس شدنشون...
پ.ن: نظر خود من اینه بازم راهی هست.
#devlife
✅ @Teachify | برنامه نویسی
✔️ کمپانی openAI یک آکادمی راه انداخته برای آموزش مهارتهای مربوط به استفاده از AI. کلی ویدیوی کوتاه و مطالب آموزشی داره و به نظر میرسه قراره کلی بهش اضافه بشه.
academy.openai.com
✅ @Teachify | برنامه نویسی
✔️ جنگو 5.2 منتشر شد!
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
✅@Teachify | برنامه نویسی
✔️ نرمالسازی دیتابیس(Database Normalization)
اگه تا به الان با مشکلاتی مثل دادههای تکراری، ناسازگاری اطلاعات، یا کندی کوئریها در دیتابیس برخورد کردید، وقتشه که نرمالسازی (Database Normalization) رو جدی بگیرید!
موضوع برمیگرده به یکی از مصاحبههایی که داشتم و دیدم چقدر Normalization برای شرکتها اهمیت داره و تصمیم گرفتم تو پروژههام این موضوع رو رعایت کنم و حتما پیشنهاد میکنم این کار رو برای پروژههای خودتون رعایت کنید.
▪️حالا چرا Normalization؟
+ حذف افزونگی دادهها و کاهش حجم پایگاه داده
+ جلوگیری از ناسازگاریهای اطلاعاتی و مشکلات بهروزرسانی
+ بهبود کارایی و افزایش سرعت پردازش کوئریها
▪️مراحل نرمالسازی (Normalization Forms)
+ مرحله 1NF: هر ستون فقط یک مقدار داشته باشد، بدون گروههای تکراری.
+ مرحله 2NF: حذف وابستگیهای جزئی به کلید اصلی.
+ مرحله 3NF: حذف وابستگیهای انتقالی برای ساختاری تمیزتر و کارآمدتر.
خب سوالی که پیش میاد اینه که آیا همیشه Normalization نیازه؟
در سیستمهای تحلیلی و خواندنی، گاهی Denormalization (غیرنرمالسازی) برای افزایش سرعت خواندن دادهها ضروری است. مهم اینه که تعادل بین ساختار بهینه و عملکرد مطلوب حفظ بشه.
✅@Teachify | برنامه نویسی
✔️ وقتی میخوای پول اشتراک ندی :))
#فان #fun
✅ @Teachify | برنامه نویسی
Data = "022345678"Читать полностью…
Pos = Data.find("1")
Pos2 = Data.rfind("2")
print(Pos, Pos2)
✔️ بیل گیتس: هوش مصنوعی به زودی این افراد را بیکار خواهد کرد
بیل گیتس، بنیانگذار مایکروسافت، در اظهاراتی جنجالبرانگیز پیشبینی کرده است که در دهه آینده هوش مصنوعی جایگزین بسیاری از مشاغل انسانی از جمله پزشکان و معلمان خواهد شد. این میلیاردر فناوری در مصاحبهای با جیمی فالون در برنامه «تونایت شو» تأکید کرد که با پیشرفتهای سریع هوش مصنوعی، دسترسی به خدمات تخصصی مانند مشاوره پزشکی و آموزش باکیفیت به صورت رایگان و همگانی فراهم خواهد شد.
✅ @Teachify | برنامه نویسی
🗣به گزارش خبرآنلاین، شرکت ارتباطات زیرساخت با تأکید بر «قطع نکردن هیچگونه سرویسی»، درباره توقف سرویسهای رادارگیم و ۴۰۳ توضیح داد که هزینه سرورهای مجازی (VPS) این دو سرویس سالانه حدود دو میلیون یورو بوده و پس از پایان قرارداد در تاریخ ۳۱ دسامبر ۲۰۲۴، دیگر تمایلی به پرداخت این هزینهها نداشته است. زیرساخت دلیل این تصمیم را عدم تناسب هزینه با ترافیک تولیدشده عنوان کرده است.
در مقابل، بهزاد اکبری، معاون وزیر ارتباطات و مدیرعامل شرکت ارتباطات زیرساخت در شبکه اجتماعی X اعلام کرد شرکتهای ارائهدهنده خدمات «403» و «رادارگیم» خودسرانه تصمیم به توقف سرویسدهی گرفتهاند.
✔️ یه نکته مهم درباره آبجکت None در پایتون!
همهچیز تو پایتون یه آبجکته
و None هم از این قاعده مستثنی نیست!
آبجکت None یه نمونه از کلاس NoneType هست و توی پایتون با الگوی Singleton ساخته میشه.
یعنی فقط یک بار ساخته میشه و همه جا همون یه آبجکت استفاده میشه!
حتی اگه هزار تا متغیر بسازیم و مقدارشون رو None بذاریم،
همشون به یک آدرس حافظه اشاره میکنن! (identity یکسان دارن)
این یکی از ویژگیهای جذاب طراحی پایتونه که باعث صرفهجویی تو حافظه و عملکرد بهتر میشه!
#پایتون #None
✅ @Teachify | برنامه نویسی
✔️ کتابخانه Pydantic چیه؟ چرا باید بشناسیمش؟
اگه با Python کار میکنی و دنبال یه راه تمیز و مطمئن برای اعتبارسنجی دادهها و ساخت مدلهای دادهای هستی، حتماً باید با Pydantic آشنا بشی!
این کتابخونه چیکار میکنه؟
- با استفاده از type hintها مدل داده میسازه
- دادهها رو بهصورت خودکار validate میکنه
- نوعها رو تبدیل (casting) میکنه
- کار با JSON، فرمها و APIها رو آسون میکنه
from pydantic import BaseModel
class User(BaseModel):
age: int
name: str
email: str
data = {
"age": "28",
"name": "yousef",
"email": "yousef@example.com"
}
user = User(**data)
print(user.age) # 28 ← change str to int!
print(user.name) # yousef
"28" رو به عدد تبدیل کنه! اگه مقدار اشتباه باشه، ارور میگیریم.
⭕️ نسخه جدید رادار گیم با تغییرات بنیادی و با هدف ارائهی خدماتی با کیفیتتر و بهینهتر منتشر شده است.
💬در این مسیر، از همراهی و حمایت بیدریغ وزیر ارتباطات و فناوری، جناب آقای دکتر ستار هاشمی و مدیرعامل شرکت ارتباطات زیرساخت، جناب آقای دکتر بهزاد اکبری صمیمانه متشکریم که در فراهم آوردن زیرساختهای لازم برای نسخه جدید و پوشش کل کشور از هیچ همکاری دریغ نکردند
💬 در این بین از صبوری شما کاربران عزیزمان سپاسگزاریم و امیدواریم با ارائه خدماتی سریعتر، پایدارتر و حرفهایتر در حوزه گیمینگ بتوانیم بخشی از محبتها و حمایتهای هیشگی شما را جبران کنیم.
🎮 @RadarGame
✔️ اگر از Git استفاده میکنید، احتمالاً با gitignore. آشنا هستید. ولی یه فایل دیگه هم هست به اسم exclude
حالا این دوتا چه فرقی دارن؟
gitignore.
این فایل توی ریشهی پروژه است و برای نادیده گرفتن فایلهایی استفاده میشه که همهی اعضای تیم نباید پیگیریشون کنن. خودش هم commit میشه و داخل repo میمونه.
exclude
مسیرش توی git/info/exclude. هست و فقط روی سیستم شخصی شما تأثیر داره. ایدهآله برای فایلهایی که فقط خودت نمیخوای track بشن، بدون اینکه توی repo دیده بشن.
پس اگر فایل لوکال خاصی داری و نمیخوای توی gitignore. بذاری، برو سراغ exclude
#git
✅ @Teachify | برنامه نویسی
✔️ ابزاری قدرتمند در Git برای حذف فایل از تاریخچه مخزن
گاهی پیش میآید که نیاز دارید یک فایل خاص (مانند کلیدهای API یا اطلاعات حساس) را از کل تاریخچهی یک مخزن Git حذف کنید، بدون آنکه کل ریپو را پاک یا بازنویسی کامل کنید. در این شرایط، دستور زیر میتواند بسیار مفید باشد:
git filter-repo --path filename.txt --invert-paths
صبح خود را چگونه شروع کردید؟!
به نام خدا
با ترافیک :/
✅ @Teachify | برنامه نویسی
✔️ متا از نسل جدید مدلهای هوش مصنوعی خودش رونمایی کرد: Llama 4!
اولین عضو این خانواده به نام Llama 4 Scout معرفی شده؛ مدلی چندوجهی و قدرتمند با ۱۷ میلیارد پارامتر که از معماری MoE با ۱۶ متخصص بهره میبره.
به گفتهی متا، این مدل بهترین مدل مولتیمودال در کلاس خودشه و روی یه کارت گرافیک H100 هم اجرا میشه!
همچنین Context window این مدل ۱۰ میلیون توکنه!
✅ @Teachify | برنامه نویسی
✔️ وقتی AI بر دنیا تسلط پیدا کنه
دیگه اهمیت نداره که از ChatGPT تشکر کردید انتهای هر پیام یا نه: ))))
✅ @Teachify | برنامه نویسی
✔️ تشخیص عدد زوج در پایتون با یک روش سریعتر!
در پایتون معمولاً برای تشخیص عدد زوج از این روش استفاده میکنیم:
if num % 2 == 0:
if (num & 1) == 0:
& آخرین بیت عدد را بررسی میکند. در نمایش باینری، اعداد زوج همیشه آخرین بیتشان 0 است، بنابراین نتیجهی این بررسی 0 میشود و تشخیص عدد زوج بهسادگی انجام میگیرد. % است، در برخی زبانها عملکرد سریعتری دارد.
✔️ ابزارهای مدرن برای متخصصان داده و هوش مصنوعی
اگر یک دیتاساینتیست یا مهندس هوش مصنوعی هستید، وقت آن رسیده که از ابزارهای مدرنتر و سریعتر استفاده کنید!
▪️کتابخانه Polars جایگزین بهتری برای pandas است. این کتابخانه با پردازش موازی و استفاده بهینه از حافظه، عملکرد بهتری روی دادههای حجیم دارد. نیازی به Index ندارد و از Lazy Evaluation پشتیبانی میکند، که باعث کاهش مصرف منابع و افزایش سرعت میشود.
▪️ برای محاسبات عددی، Numba میتواند جایگزین numpy شود. این ابزار با کامپایل JIT، سرعت اجرای کد را تا چندین برابر افزایش میدهد و حتی از GPU (با CUDA) نیز پشتیبانی میکند. مهمتر از همه، میتوان کدهای numpy را با چند تغییر کوچک در Numba اجرا کرد.
▪️ در حوزه یادگیری عمیق، JAX انتخاب بهتری نسبت به TensorFlow است. سینتکس سادهتر، عملکرد بهینهتر، تمایز خودکار پیشرفته (AutoDiff) و پشتیبانی از تبدیلهای تابعی، آن را به گزینهای ایدهآل برای تحقیقات علمی و مدلهای سفارشی تبدیل کرده است.
▪️ اگر هنوز از Matplotlib برای رسم نمودار استفاده میکنید، بهتر است Bokeh را امتحان کنید. این کتابخانه امکان ساخت نمودارهای تعاملی و تحت وب را فراهم میکند، برای دادههای حجیم بهینه شده است و میتوان با آن داشبوردهای پویا طراحی کرد.
▪️ برای مدلهای یادگیری ماشین مبتنی بر درخت تصمیم، LightGBM نسبت به XGBoost عملکرد بهتری دارد. این کتابخانه سرعت آموزش بالاتر، مصرف حافظه کمتر و پشتیبانی بهتری از ویژگیهای دستهای (Categorical Features) دارد.
با این تغییرات، میتوانید سرعت پردازش، کارایی مدلها و بهینهسازی منابع را بهبود دهید.
#پایتون #Python
✅@Teachify | برنامه نویسی
✔️ تفاوت find() و rfind() در پایتون
در پایتون، دو متد find() و rfind() برای جستجوی یک زیررشته در یک رشته استفاده میشوند، اما تفاوت مهمی با هم دارند:
▪️متد find(substring) اولین وقوع substring را در رشته پیدا میکند.
▪️متدrfind(substring) آخرین وقوع substring را در رشته پیدا میکند.
برای مثال:
text = "banana"
print(text.find("a")) # 1 (Index of the first occurrence of "a")
print(text.rfind("a")) # 5 (Index of the last occurrence of "a")
✔️ قضیه CAP در سیستم های توزیع شده
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
✅ @kaliboys | کالی بویز
/channel/PixelGameee
دنیای بازی ها منتظر توئه!
جدیدترین بازی ها با مناسب ترین و بهترین قیمت ، گارانتی دائم و پشتیبانی سریع ⚡️امکان فروش مجدد.
بازیهاتون رو با مناسبترین قیمت از پیکسلگیم تهیه کنید🎮
/channel/PixelGameee
/channel/PixelGameee
✔️ چرا logging بهتر از print است؟
در برنامهنویسی، بسیاری از افراد برای بررسی اجرای کد از print() استفاده میکنند، اما logging قابلیتهای بیشتری دارد که آن را به گزینهای حرفهایتر تبدیل میکند.
تفاوت print و logging در عمل
در روش print، فقط پیامها در کنسول نمایش داده میشوند و هیچ کنترلی روی آنها نداریم:
def divide(a, b):
if b == 0:
print("Error: Division by zero!")
return None
print(f"Result: {a / b}")
return a / b
divide(10, 2) # خروجی: Result: 5.0
divide(5, 0) # خروجی: Error: Division by zero!
import logging
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
def divide(a, b):
if b == 0:
logging.error("Division by zero!")
return None
result = a / b
logging.info(f"Result: {result}")
return result
divide(10, 2) # خروجی: INFO: Result: 5.0
divide(5, 0) # خروجی: ERROR: Division by zero!