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


Admin: @Yousef_Vafaei
Download Telegram
✔️ بعضیا رفتن آی‌پی 127.0.0.1 رو ریپورت کردن…

داداش این یعنی رفتی پیش پلیس گفتی: «سلام، اومدم خودمو تحویل بدم!» 🤦‍♂️
#Loopback

@Teachify | برنامه نویسی
🤣262
من اون باگم که فقط توی پروداکشن خودشو نشون میده.

من اون ارور ۴۰۴‌ام که وسط دیباگ شدن پیدام می‌کنی.

من اون تب اضافی‌ام که کل فرمت کدتو بهم می‌زنه.

من اون dependencyایم که موقع آپدیت همه‌چی رو می‌ترکونه.

من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.

من اون تیکه کُدیم که باعث می‌شه قهوت یخ کنه

من اون فانکشنی‌ام که هیچ‌وقت کال نمیشه ولی پاکش هم کنی همه‌چی می‌ریزه بهم.

من اون logـم که فقط وقتی نمی‌خوای دیده بشه، تو کنسول می‌مونه.

@Teachify | برنامه نویسی
🗿15🤣4💔3😭2
✔️ کمپانی xAI مدل Grok 2.5 رو متن‌باز کرده!

حالا همه می‌تونن به کدهاش دسترسی داشته باشن، تغییرش بدن یا نسخه شخصی بسازن. این حرکت یه گام مهم برای آزادتر شدن هوش مصنوعیه. همچنین اعلام شده تا شش ماه دیگه مدل قدرتمندتر Grok 3 هم متن‌باز می‌شه.
https://huggingface.co/xai-org/grok-2

@Teachify | برنامه نویسی
❤‍🔥8
✔️یک ریپازیتوری که کل مسیر طراحی یک سیستم یادگیری ماشین (ML) رو پوشش می‌ده

گام های اصلی:

- Project setup
- Data pipeline
- Modeling: selecting, training, and debugging
- Serving: testing, deploying, and maintaining

Source: Github

#هوش_مصنوعی
@Teachify | برنامه نویسی
👌31
✔️ همه فقط نوک کوه یخ رو می‌بینن...

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

پایین‌تر که بری تازه می‌بینی خبری از اون تصویرای رویایی نیست...
جلسه‌های بی‌پایان، استرس ریلیز، باگ‌هایی که نصف شب پیداشون میشه، جنگ با Dependencyها و معماری‌های پیچیده‌ای که گاهی نفس آدمو می‌گیره.

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

شما بگید؛ زیر این کوه یخ، برای شما سخت‌ترین بخش برنامه‌نویسی چی بوده؟
@Teachify | برنامه نویسی
12👍2👎1
✔️ برترین الگوریتم های هوش مصنوعی

@Teachify | برنامه نویسی
9👍2
✔️ مستند پایتون منتشر شد!

بالاخره مستند رسمی پایتون با عنوان
Python: The Documentary | An origin story
منتشر شد!

این مستند داستان شکل‌گیری پایتون رو روایت می‌کنه؛ از ایده‌ی اولیه‌ی خیدو فن روسوم در دهه ۹۰ میلادی تا تبدیل شدن به یکی از پرکاربردترین زبان‌های دنیا در هوش مصنوعی، وب، دیتا و هزاران پروژه‌ی دیگه.

توی این مستند چهره‌های سرشناس کامیونیتی پایتون مثل Guido van Rossum، Travis Oliphant، Barry Warsaw و خیلی‌های دیگه حضور دارن.

بخش‌های جذابی مثل "Zen of Python" هم بررسی می‌شه.

انتشار رسمی این مستند در تاریخ ۲۸ اوت ۲۰۲۵ بوده و الان به صورت رایگان قابل مشاهده‌ست.

لینک تماشا در یوتیوب:
https://youtu.be/GfH4QL4VqJ0?si=KOs9QrvwFq9BlGlR

@Teachify | برنامه نویسی
10👍1👌1
✔️ معرفی ابزار SlimToolkit (DockerSlim سابق)

اگه با Docker کار کرده باشی، می‌دونی که حجم ایمیج‌ها بعضی وقتا خیلی بزرگ می‌شه و این باعث مشکلاتی مثل سرعت پایین در Pull/Push یا مصرف زیاد منابع می‌شه.

اینجاست که SlimToolkit به کمکت میاد! این ابزار متن‌باز (به زبان Go) می‌تونه بدون هیچ تغییری در ایمیج اصلی، حجمش رو تا ۳۰ برابر کوچیک‌تر کنه

ویژگی‌های مهم SlimToolkit:

+ کاهش چشمگیر حجم ایمیج‌ها

+ ساخت خودکار پروفایل‌های امنیتی (مثل AppArmor و Seccomp)

ابزارهای کاربردی مثل:

xray (تحلیل محتویات ایمیج)
lint (بررسی بهینه بودن ایمیج)
build (ساخت ایمیج بهینه)
debug و چند ابزار دیگه...

slimtoolkit.org

@Teachify | برنامه نویسی
4👍2
✔️ اختلاف سنی خیلی مهمه مثلا طرف داره درباره BTS صحبت می‌کنه تو هی عکس این دکله می‌آد جلوی چشت :))

@Teachify | #Linuxor
😁19👀1
✔️ وقتی تمساح داره قورتت می‌ده ولی هنوز یادت نرفته git push کنی!

@Teachify | برنامه نویسی
🤣24
✔️ روز جهانی برنامه نویس مبارک 😊✌️

آرزوی موفقیت برای همه دوستان ❤️

💭@Teachify | آموزش برنامه نویسی
18
✔️ تابع getattr در پایتون

گاهی اوقات لازم داریم به یک ویژگی (Attribute) یا متد (Method) از یک شیء دسترسی پیدا کنیم، بدون اینکه اسم آن را مستقیم در کد بنویسیم. اینجا تابع getattr به کمک ما می‌آید.

ساختار کلی:
getattr(object, name[, default])

object ➝ شیء موردنظر

name ➝ نام ویژگی یا متد (به صورت رشته)

default ➝ (اختیاری) مقداری که اگر ویژگی پیدا نشد، برگردانده می‌شود

مثال ساده:
class Person:
    name = "Ali"
    age = 25

p = Person()

print(getattr(p, "name"))     # Ali
print(getattr(p, "age"))      # 25
print(getattr(p, "city", "Tehran"))  # چون city وجود ندارد => Tehran

+ اگر ویژگی یا متد وجود داشته باشد، مقدارش برمی‌گردد.

+ اگر وجود نداشته باشد و default تعریف کرده باشیم، همان مقدار برمی‌گردد.

+ اگر default تعریف نشده باشد و ویژگی وجود نداشته باشد → خطای AttributeError رخ می‌دهد.

@kaliboys | کالی بویز
2👍2
✔️ ایندکس شدن سایت‌های مدرن در گوگل

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

اما الان بیشتر وب‌سایت‌ها به شکل برنامه فرانت‌اند (SPA) ساخته می‌شن (مثل React، Vue، Angular). این مدل، یه اسکلت HTML خالی می‌ده به مرورگر و داده‌ها رو از طریق API می‌گیره و بعد با جاوااسکریپت صفحه رو می‌سازه.

خیلیا می‌ترسن که نکنه چون محتوای اصلی با API میاد و HTML اولیه خالیه، گوگل اون محتوا رو نبینه و ایندکس نشه.

گوگل الان جاوااسکریپت رو رندر می‌کنه و می‌تونه محتوای API رو ببینه (ولی نه همیشه کامل و سریع).

برای مطمئن شدن، گوگل ابزارهایی داره:
Rich Results Test:
search.google.com/test/rich-results
اینجا می‌تونی ببینی گوگل بعد از رندر کردن صفحه، دقیقاً چه HTMLی دیده.

Google Search Console → URL Inspection:
این ابزار رسمی‌تره و HTML رندر شده نهایی رو نشون می‌ده.
@Teachify | برنامه نویسی
4👍3
✔️ در دنیای HTTP یک مفهوم مهم داریم به نام Idempotent

یعنی اگر یک درخواست چند بار تکرار شود، نتیجه‌اش فرقی با اجرای یک‌باره نکند.

بیایید متدهای پرکاربرد را مرور کنیم:
متد GET: همیشه idempotent (فقط دیتا را می‌خواند).
متد PUT: هست (هر بار اجرا شود، منبع را به یک حالت خاص می‌رساند).
متد DELETE: هست (اولین بار حذف می‌کند، دفعات بعدی اثری ندارد).
متد POST: نیست (هر بار اجرا شود، داده‌ی جدید می‌سازد).
متد PATCH: تضمین نشده، چون بسته به طراحی API می‌تواند هم idempotent باشد، هم نباشد:

مثال غیر idempotent:
PATCH /user/123 { "balance": "+100" }
دوبار اجرا شود → موجودی دو بار افزایش می‌یابد.
مثال idempotent:
PATCH /user/123 { "status": "active" }
هر چند بار هم اجرا شود، نتیجه یکی است.
@Teachify | برنامه نویسی
👍4🔥1👏1
در تیم‌های موفق، انگیزه افراد تنها از مسیر «اهداف مالی» نمی‌آید؛ بلکه ریشه در سافت‌اسکیل‌ها و تجربه‌های انسانی دارد.
هر نقش، انگیزه خاص خود را می‌طلبد و اگر رهبر تیم آن را درک کند، سازمان به بهره‌وری واقعی می‌رسد.

👨‍💻 دولوپر → با «چالش فنی»، «یادگیری» و «اعتماد به انتخاب راه‌حل» انگیزه می‌گیرد.
📌 مالک محصول → وقتی «اثرگذاری تصمیم‌ها» و «اعتماد سازمان» را ببیند، بیشترین انرژی را می‌گذارد.
📊 تحلیل‌گر → در صورتی که «به‌عنوان مترجم بین بیزینس و فنی شنیده شود» و «قدردانی از دقتش» را تجربه کند، به بالاترین سطح عملکرد می‌رسد.
👥 مدیر تیم → با «اعتماد اعضا» و «موفقیت جمعی» به انگیزه‌ای پایدار دست پیدا می‌کند.



🎯 حقیقت این است: مدیریت مؤثر یعنی شناخت محرک‌های نرم هر نقش.
اگر این سوخت پنهانی را درست بشناسیم، تیم‌ها نه‌تنها کارآمدتر، بلکه متعهدتر و خلاق‌تر خواهند بود.

@Teachify | برنامه نویسی
👌4
#python
#quiz
@Teachify | برنامه نویسی
3
✔️ تابع isinstance در پایتون

گاهی وقتا لازمه بدونیم یه متغیر از چه کلاسی ساخته شده یا جزو کدوم نوع داده هست. اینجاست که تابع isinstance به کارمون میاد.

ساختار کلی:
isinstance(object, classinfo)

object: شیء مورد نظر
classinfo: کلاسی (یا tuple از چند کلاس) که می‌خوایم بررسی کنیم

مثال ساده:
x = 5
print(isinstance(x, int)) # True
print(isinstance(x, str)) # False

چند نوع همزمان:
y = [1, 2, 3]
print(isinstance(y, (list, tuple))) # True

در برنامه‌های بزرگ وقتی می‌خوای مطمئن بشی ورودی یا متغیر از نوع درست باشه، خیلی به کارت میاد.

@Teachify | برنامه نویسی
7
✔️ فرهنگستان می‌گه به جای منشن بگید نامیاد 😎

یعنی از این به بعد:
🔹 “منو منشن کن” -> “منو نامیاد کن”
🔹 “بچه‌ها رو منشن کردم” _> “بچه‌ها رو نامیاد کردم”

ولی خب…
اگه کسی ندونه، فک می‌کنه داری خبر فوت می‌دی 😭😂

@Teachify | برنامه نویسی
🤣10👎1😁1
✔️ تگ جالب <kbd> در HTML

می‌دونستید توی HTML یه تگ به اسم <kbd> وجود داره؟ با این تگ می‌تونید دکمه‌های کیبورد و شورت‌کات‌ها رو داخل متن نمایش بدید.
Press <kbd>Ctrl</kbd> + <kbd>S</kbd> to save your file.
این تگ خیلی به درد آموزش‌ها و مستندات می‌خوره.
@Teachify | برنامه نویسی
👍15❤‍🔥1