من اون باگم که فقط توی پروداکشن خودشو نشون میده.
من اون ارور ۴۰۴ام که وسط دیباگ شدن پیدام میکنی.
من اون تب اضافیام که کل فرمت کدتو بهم میزنه.
من اون dependencyایم که موقع آپدیت همهچی رو میترکونه.
من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.
من اون تیکه کُدیم که باعث میشه قهوت یخ کنه
من اون فانکشنیام که هیچوقت کال نمیشه ولی پاکش هم کنی همهچی میریزه بهم.
من اون logـم که فقط وقتی نمیخوای دیده بشه، تو کنسول میمونه.
@Teachify | برنامه نویسی
من اون ارور ۴۰۴ام که وسط دیباگ شدن پیدام میکنی.
من اون تب اضافیام که کل فرمت کدتو بهم میزنه.
من اون dependencyایم که موقع آپدیت همهچی رو میترکونه.
من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.
من اون تیکه کُدیم که باعث میشه قهوت یخ کنه
من اون فانکشنیام که هیچوقت کال نمیشه ولی پاکش هم کنی همهچی میریزه بهم.
من اون logـم که فقط وقتی نمیخوای دیده بشه، تو کنسول میمونه.
@Teachify | برنامه نویسی
🗿15🤣4💔3😭2
✔️ کمپانی xAI مدل Grok 2.5 رو متنباز کرده!
حالا همه میتونن به کدهاش دسترسی داشته باشن، تغییرش بدن یا نسخه شخصی بسازن. این حرکت یه گام مهم برای آزادتر شدن هوش مصنوعیه. همچنین اعلام شده تا شش ماه دیگه مدل قدرتمندتر Grok 3 هم متنباز میشه.
https://huggingface.co/xai-org/grok-2
@Teachify | برنامه نویسی
حالا همه میتونن به کدهاش دسترسی داشته باشن، تغییرش بدن یا نسخه شخصی بسازن. این حرکت یه گام مهم برای آزادتر شدن هوش مصنوعیه. همچنین اعلام شده تا شش ماه دیگه مدل قدرتمندتر 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 | برنامه نویسی
گام های اصلی:
- Project setup
- Data pipeline
- Modeling: selecting, training, and debugging
- Serving: testing, deploying, and maintaining
Source: Github
#هوش_مصنوعی
@Teachify | برنامه نویسی
👌3❤1
✔️ همه فقط نوک کوه یخ رو میبینن...
چند خط کد، یه لپتاپ، یه لیوان قهوه و یه اپلیکیشن جذاب.
اما واقعیت خیلی عمیقتر از این حرفاست!
پایینتر که بری تازه میبینی خبری از اون تصویرای رویایی نیست...
جلسههای بیپایان، استرس ریلیز، باگهایی که نصف شب پیداشون میشه، جنگ با Dependencyها و معماریهای پیچیدهای که گاهی نفس آدمو میگیره.
جادوی واقعی همونجایی اتفاق میفته که هیچکس نمیبینه؛
زیر سطح آب... جایی که همه سختیها، یادگیریها و رشدهای واقعی شکل میگیره.
شما بگید؛ زیر این کوه یخ، برای شما سختترین بخش برنامهنویسی چی بوده؟
@Teachify | برنامه نویسی
چند خط کد، یه لپتاپ، یه لیوان قهوه و یه اپلیکیشن جذاب.
اما واقعیت خیلی عمیقتر از این حرفاست!
پایینتر که بری تازه میبینی خبری از اون تصویرای رویایی نیست...
جلسههای بیپایان، استرس ریلیز، باگهایی که نصف شب پیداشون میشه، جنگ با Dependencyها و معماریهای پیچیدهای که گاهی نفس آدمو میگیره.
جادوی واقعی همونجایی اتفاق میفته که هیچکس نمیبینه؛
زیر سطح آب... جایی که همه سختیها، یادگیریها و رشدهای واقعی شکل میگیره.
شما بگید؛ زیر این کوه یخ، برای شما سختترین بخش برنامهنویسی چی بوده؟
@Teachify | برنامه نویسی
❤12👍2👎1
✔️ مستند پایتون منتشر شد!
بالاخره مستند رسمی پایتون با عنوان
Python: The Documentary | An origin story
منتشر شد!
این مستند داستان شکلگیری پایتون رو روایت میکنه؛ از ایدهی اولیهی خیدو فن روسوم در دهه ۹۰ میلادی تا تبدیل شدن به یکی از پرکاربردترین زبانهای دنیا در هوش مصنوعی، وب، دیتا و هزاران پروژهی دیگه.
توی این مستند چهرههای سرشناس کامیونیتی پایتون مثل Guido van Rossum، Travis Oliphant، Barry Warsaw و خیلیهای دیگه حضور دارن.
بخشهای جذابی مثل "Zen of Python" هم بررسی میشه.
انتشار رسمی این مستند در تاریخ ۲۸ اوت ۲۰۲۵ بوده و الان به صورت رایگان قابل مشاهدهست.
لینک تماشا در یوتیوب:
https://youtu.be/GfH4QL4VqJ0?si=KOs9QrvwFq9BlGlR
@Teachify | برنامه نویسی
بالاخره مستند رسمی پایتون با عنوان
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 | برنامه نویسی
اگه با Docker کار کرده باشی، میدونی که حجم ایمیجها بعضی وقتا خیلی بزرگ میشه و این باعث مشکلاتی مثل سرعت پایین در Pull/Push یا مصرف زیاد منابع میشه.
اینجاست که SlimToolkit به کمکت میاد! این ابزار متنباز (به زبان Go) میتونه بدون هیچ تغییری در ایمیج اصلی، حجمش رو تا ۳۰ برابر کوچیکتر کنه
ویژگیهای مهم SlimToolkit:
+ کاهش چشمگیر حجم ایمیجها
+ ساخت خودکار پروفایلهای امنیتی (مثل AppArmor و Seccomp)
ابزارهای کاربردی مثل:
xray (تحلیل محتویات ایمیج)
lint (بررسی بهینه بودن ایمیج)
build (ساخت ایمیج بهینه)
debug و چند ابزار دیگه...
slimtoolkit.org
@Teachify | برنامه نویسی
❤4👍2
❤18
✔️ تابع getattr در پایتون
گاهی اوقات لازم داریم به یک ویژگی (Attribute) یا متد (Method) از یک شیء دسترسی پیدا کنیم، بدون اینکه اسم آن را مستقیم در کد بنویسیم. اینجا تابع getattr به کمک ما میآید.
ساختار کلی:
مثال ساده:
+ اگر ویژگی یا متد وجود داشته باشد، مقدارش برمیگردد.
+ اگر وجود نداشته باشد و default تعریف کرده باشیم، همان مقدار برمیگردد.
+ اگر default تعریف نشده باشد و ویژگی وجود نداشته باشد → خطای AttributeError رخ میدهد.
@kaliboys | کالی بویز
گاهی اوقات لازم داریم به یک ویژگی (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 | برنامه نویسی
قدیما وبسایتها استاتیک بودن. یعنی سرور همون 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:
دوبار اجرا شود → موجودی دو بار افزایش مییابد.
مثال idempotent:
هر چند بار هم اجرا شود، نتیجه یکی است.
@Teachify | برنامه نویسی
یعنی اگر یک درخواست چند بار تکرار شود، نتیجهاش فرقی با اجرای یکباره نکند.
بیایید متدهای پرکاربرد را مرور کنیم:
متد 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 | برنامه نویسی
هر نقش، انگیزه خاص خود را میطلبد و اگر رهبر تیم آن را درک کند، سازمان به بهرهوری واقعی میرسد.
👨💻 دولوپر → با «چالش فنی»، «یادگیری» و «اعتماد به انتخاب راهحل» انگیزه میگیرد.
📌 مالک محصول → وقتی «اثرگذاری تصمیمها» و «اعتماد سازمان» را ببیند، بیشترین انرژی را میگذارد.
📊 تحلیلگر → در صورتی که «بهعنوان مترجم بین بیزینس و فنی شنیده شود» و «قدردانی از دقتش» را تجربه کند، به بالاترین سطح عملکرد میرسد.
👥 مدیر تیم → با «اعتماد اعضا» و «موفقیت جمعی» به انگیزهای پایدار دست پیدا میکند.
🎯 حقیقت این است: مدیریت مؤثر یعنی شناخت محرکهای نرم هر نقش.
اگر این سوخت پنهانی را درست بشناسیم، تیمها نهتنها کارآمدتر، بلکه متعهدتر و خلاقتر خواهند بود.
@Teachify | برنامه نویسی
👌4
✔️ تابع isinstance در پایتون
گاهی وقتا لازمه بدونیم یه متغیر از چه کلاسی ساخته شده یا جزو کدوم نوع داده هست. اینجاست که تابع isinstance به کارمون میاد.
ساختار کلی:
مثال ساده:
چند نوع همزمان:
در برنامههای بزرگ وقتی میخوای مطمئن بشی ورودی یا متغیر از نوع درست باشه، خیلی به کارت میاد.
@Teachify | برنامه نویسی
گاهی وقتا لازمه بدونیم یه متغیر از چه کلاسی ساخته شده یا جزو کدوم نوع داده هست. اینجاست که تابع 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 | برنامه نویسی
یعنی از این به بعد:
🔹 “منو منشن کن” -> “منو نامیاد کن”
🔹 “بچهها رو منشن کردم” _> “بچهها رو نامیاد کردم”
ولی خب…
اگه کسی ندونه، فک میکنه داری خبر فوت میدی 😭😂
@Teachify | برنامه نویسی
🤣10👎1😁1
✔️ تگ جالب <kbd> در HTML
میدونستید توی HTML یه تگ به اسم <kbd> وجود داره؟ با این تگ میتونید دکمههای کیبورد و شورتکاتها رو داخل متن نمایش بدید.
این تگ خیلی به درد آموزشها و مستندات میخوره.
@Teachify | برنامه نویسی
میدونستید توی HTML یه تگ به اسم <kbd> وجود داره؟ با این تگ میتونید دکمههای کیبورد و شورتکاتها رو داخل متن نمایش بدید.
Press <kbd>Ctrl</kbd> + <kbd>S</kbd> to save your file.
این تگ خیلی به درد آموزشها و مستندات میخوره.
@Teachify | برنامه نویسی
👍15❤🔥1