برنامه نویسی | Teachify – Telegram
برنامه نویسی | Teachify
12.3K subscribers
1K photos
420 videos
231 files
647 links
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃


Admin: @Yousef_Vafaei
Download Telegram
✔️ ابزاری قدرتمند در Git برای حذف فایل از تاریخچه مخزن

گاهی پیش می‌آید که نیاز دارید یک فایل خاص (مانند کلیدهای API یا اطلاعات حساس) را از کل تاریخچه‌ی یک مخزن Git حذف کنید، بدون آن‌که کل ریپو را پاک یا بازنویسی کامل کنید. در این شرایط، دستور زیر می‌تواند بسیار مفید باشد:
git filter-repo --path filename.txt --invert-paths

با اجرای این دستور، فایل مشخص‌شده (در اینجا filename.txt) از تمامی کامیت‌های گذشته حذف می‌شود؛ فرآیندی بسیار سریع‌تر و تمیزتر نسبت به ابزار قدیمی‌تر filter-branch.

این روش، راهکاری مناسب برای پاک‌سازی مواردی است که نباید هیچ اثری از آن‌ها در مخزن باقی بماند.
اگر تاکنون از git filter-repo استفاده نکرده‌اید، توصیه می‌شود آن را بررسی و آزمایش کنید. Git ابزارهای قدرتمند و پنهان زیادی در اختیار توسعه‌دهندگان قرار می‌دهد.
#Git

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2👌1
✔️ شرکت Perplexity از ربات رسمی خودش در تلگرام رونمایی کرده. ازش می‌تونید سوال بپرسید تا سرچ کنه و جواب‌تون رو بده. سرچ های Pro هم توش فعاله. تو گروه هم اگر اضافه‌اش کنید و اگر منشنش کنید، مستقیم توی خود گروه سرچ رو انجام میده. از عکس هم پشتیبانی می‌کنه.

🔗 @askplexbot

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11👍1
✔️ اگر از Git استفاده می‌کنید، احتمالاً با gitignore. آشنا هستید. ولی یه فایل دیگه هم هست به اسم exclude
حالا این دوتا چه فرقی دارن؟

gitignore.
این فایل توی ریشه‌ی پروژه‌ است و برای نادیده گرفتن فایل‌هایی استفاده میشه که همه‌ی اعضای تیم نباید پیگیری‌شون کنن. خودش هم commit میشه و داخل repo میمونه.

exclude
مسیرش توی git/info/exclude. هست و فقط روی سیستم شخصی شما تأثیر داره. ایده‌آله برای فایل‌هایی که فقط خودت نمی‌خوای track بشن، بدون اینکه توی repo دیده بشن.

پس اگر فایل لوکال خاصی داری و نمی‌خوای توی gitignore. بذاری، برو سراغ exclude

#git
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
✔️ کد شناسایی بانک از روی شماره کارت با پایتون!

اگه شماره کارت بانکی داری و می‌خوای بدونی این کارت مربوط به کدوم بانکه، فقط کافیه ۶ رقم اولش (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)

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
19👨‍💻5👏3👍2👌2
✔️ وقتی داری یه برنامه می‌نویسی که قراره بین چند بخش مختلف (مثلاً اپ موبایل، فرانت‌اند وب، بک‌اند، دیتابیس، و غیره) ارتباط برقرار کنه، باید یه راهی برای فرستادن و گرفتن اطلاعات داشته باشی. این راه‌های ارتباطی چند نوع معروف دارن:

راه‌های ارتباط بین کلاینت و سرور:

+ REST API (withi HTTP & JSON)
+ gRPC
+ WebSocket
+ GraphQL
+ MQTT (بیشتر برای IoT)
+ Socket Programming (خام و سطح پایین)
+ RPC (نسخه‌های ساده‌تر gRPC)


@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍202
✔️ کتابخانه 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


بدون اینکه خودمون دستی داده رو بررسی کنیم، Pydantic خودش فهمید که باید "28" رو به عدد تبدیل کنه! اگه مقدار اشتباه باشه، ارور می‌گیریم.
همچنین اگه با FastAPI کار می‌کنی، بدون که Pydantic نقش اصلی رو توی مدل‌سازی و اعتبارسنجی درخواست‌ها بازی می‌کنه.

#Python #Pydantic #FastAPI #پایتون
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
6👌3👍2
✔️ وضعیت این روز های ویکی پدیا :)

پ.ن: البته این روزا به جای ویکی پدیا همه چی میشه گذاشت🥹

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣29😭4👍1
✔️ یه نکته مهم درباره آبجکت None در پایتون!

همه‌چیز تو پایتون یه آبجکته
و None هم از این قاعده مستثنی نیست!

آبجکت None یه نمونه از کلاس NoneType هست و توی پایتون با الگوی Singleton ساخته میشه.
یعنی فقط یک بار ساخته میشه و همه جا همون یه آبجکت استفاده میشه!
حتی اگه هزار تا متغیر بسازیم و مقدارشون رو None بذاریم،
همشون به یک آدرس حافظه اشاره می‌کنن! (identity یکسان دارن)

این یکی از ویژگی‌های جذاب طراحی پایتونه که باعث صرفه‌جویی تو حافظه و عملکرد بهتر میشه!

#پایتون #None
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131
این chatgpt هم خیلی باحاله
یه بار مدیرش میاد میگه ما سر ساخت تصاویر گرافیک هامون دارن آتیش میگیرن :))

بعد خودش زیر همه پیام هاش میگه میخوای عکس هم برات درست کنم حال کنی؟

بعد جالب اینه میگی باشه دیگه ناراحت نشو عکس درست کن، بعدش میره کما و میگه آخه خیلیا دارن عکس درست میکنن ))

فازش رو من نفهمیدم :))
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣28👍1🐳1
✔️چطور نذاریم CPU توی پایتون الکی معطل بمونه

توی پایتون، وقتی کدی شامل کارهای I/O مثل خوندن فایل یا درخواست به API باشه، CPU منتظر می‌مونه تا اون عملیات تموم بشه. این یعنی کلی زمان از بین میره!

مثلا اگه ۱۰ تا API بزنی و هر کدوم ۲ ثانیه طول بکشه، برنامه‌ات حداقل ۲۰ ثانیه طول می‌کشه!

راه‌حل چیه؟ استفاده از async/await

با async به CPU می‌گیم: «اگه رسیدی به یه عملیات I/O، معطل نشو؛ برو کارای دیگه رو انجام بده. وقتی اون تموم شد، برگرد ادامه بده.»

اینطوری اون مثال بالا به‌جای ۲۰ ثانیه، توی ۲ ثانیه انجام میشه! و مهم‌تر از اون، بدون سربار سخت‌افزاری multi-threading.

مخصوصاً برای برنامه‌نویس‌های وب یا دیتا که با کلی API و scraping سروکار دارن، async یه نجات‌دهنده‌ست.

#پایتون
@kaliboys | کالی بویز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14👌4
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ رباتی که برای لحظاتی از کنترل خارج شد، مهندسان را وحشت زده کرد

در جریان آزمایش در چین، این ربات از کنترل خارج شد و مهندسان مجبور شدند برای متوقف کردن آن، به سرعت برق را قطع کنند.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣19😱4👀3
✔️ مدیر محصول مایکروسافت: سیستم‌عامل macOS از ویندوز ۱۱ بهتر است

«مریل فرناندو»، مدیرمحصول مایکروسافت، با انتشار چندین پست در شبکه اجتماعی ایکس سیستم‌عامل macOS را از ویندوز ۱۱ برتر دانسته است. او به شوخی گفته اگر در زمان مدیریت «استیو بالمر» چنین موضوعی را مطرح می‌کرد، اخراج می‌شد.

همچنین با انتشار تصویری از میز کارش، استفاده از مک‌بوک و مک استودیو را تأیید کرده است. او گفته برای کارهای دفتر از مک‌بوک استفاده می‌کند و برای کارهای شخصی‌اش سراغ مک استودیو می‌رود.

@Teachify | <Max Shahdoost/>
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😐5🤔3👎1
سلام
دوستان تجربه متصل کردن پروژه پایتون به سلری و ردیس کلاستر رو داشتین؟
@yousef_vafaei
👍3
✔️ ترفند پایتونی: دیکشنری امن با get()

فرض کن یه دیکشنری داری و مطمئن نیستی یه کلید خاص توشه یا نه. اگه مستقیم از کلید استفاده کنی، ممکنه کدت با خطای KeyError بترکه!

راه حل شیک و امنش:
user = {'name': 'Ali', 'age': 25}

print(user.get('job', 'Not specified'))

خروجی:
Not specified
چی شد؟ با استفاده از get():
اگه کلید وجود داشت، مقدارشو می‌ده.
اگه نداشت، یه مقدار پیش‌فرض برمی‌گردونه (اینجا: 'Not specified').

با get() نه نیاز به if داری، نه try/except، نه چک اضافی.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👌61
پیشرفت راکستار گیمز در ۲۳ سال!

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥20🤯5👌42👍1😁1
✔️ کلاس‌ها در پایتون چطور ساخته می‌شن؟

در ظاهر وقتی شما در پایتون این کد رو می‌نویسید:

class MyClass:
x = 10


انگار دارید فقط یک کلاس ساده می‌سازید. اما واقعیت پشت صحنه خیلی جالبه! پایتون در واقع این کد رو به شکل زیر تفسیر می‌کنه:

MyClass = type('MyClass', (), {'x': 10})


یعنی چی؟ یعنی تابع قدرتمند type که اغلب برای بررسی نوع متغیرها ازش استفاده می‌کنیم (type(5)int) در واقع یه سازنده کلاس‌ها هم هست!

در اینجا:

▪️قسمت 'MyClass' اسم کلاس ماست،
▪️قسمت () یعنی این کلاس از چه کلاس های دیگه‌ای ارث‌بری کرده (اینجا پدر نداره)،
▪️و {'x': 10} بدنه کلاس و ویژگی‌هاش رو مشخص می‌کنه.

حالا قضیه جالب‌تر میشه: خود تابع type هم یه کلاس**ه! بله، خودش یه شیء از یک کلاس دیگه‌ست به اسم متاکلاس (Metaclass).

متاکلاس‌ها در پایتون، کلاس‌هایی هستن که «کلاس‌ها رو می‌سازن». یعنی همون‌طور که شما با کلاس، شیء می‌سازید، پایتون هم با متاکلاس، کلاس می‌سازه!

در واقع:

* هر چیزی در پایتون یه شیءه،
* حتی کلاس‌ها هم خودشون شیءهایی هستن که از type ساخته شدن.

می‌تونید تست کنید:

class A:
pass

print(type(A)) # خروجی: <class 'type'>


پس وقتی کلاس می‌سازید، دارید یه شیء از کلاس type ایجاد می‌کنید!

@Teachify | برنامه‌نویسی با دید عمیق
👍9❤‍🔥7🐳21😱1
✔️ علی‌بابا یه ابزار به اسم Web Dev تو چت‌بات کوئن (Qwen) معرفی کرده که با یه دستور متنی، کد کامل فرانت‌اند (HTML، CSS، جاوااسکریپت) یه سایت یا اپ رو بهتون میده، مثلاً میگید «یه سایت شبیه توییتر بساز» و تحویل می‌گیرید. این ابزار روی مدل‌های زبانی Qwen۳ کار می‌کنه.

https://chat.qwen.ai

@Teachify | برنامه نویسی
👍11💩4
✔️ تغییرات محل تصویر پس‌زمینه مشهور «ویندوز XP» در طول زمان

تپه‌های سرسبزی که زمانی پس‌زمینه کامپیوتر بسیاری از مردم بود، مدت‌هاست که از بین رفته‌اند و حالا جای خود را به یک تاکستان داده‌اند.

@Teachify | برنامه نویسی
💔271👍1
✔️ پنج روش ریورس کردن یک لیست در پایتون

@Teachify | #python_rd
👌10