10327
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃 💻 برای دسترسی راحت تر به مطالب به "لیست پین شده" برو🙃 👩💻 Support: @narges_madhi 🪧 ads: @teachifyads 💁♀️ instagram : instagram.com/teachify_ir
✔️ بهترین مهندسهای نرمافزار، تنبلترینها هستند
در ادبیات مهندسی نرمافزار، «تنبلی» بههیچوجه به معنای کمکاری یا بیمسئولیتی نیست؛
بلکه به نوعی تفکر بهینهمحور اشاره دارد.
مهندس نرمافزار «تنبل» فردی است که:
از انجام کارهای تکراری اجتناب میکند و به همین دلیل به سمت اتوماسیون بازاستفادهپذیری کد و طراحی ماژولار حرکت میکند.
تمایل ندارد زمان خود را صرف فهم مجدد کد کند، بنابراین به نامگذاری صحیح مستندسازی و خوانایی کد اهمیت ویژه میدهد.
علاقهای به رفع باگهای تکراری ندارد، پس از ابتدا به طراحی صحیح در نظر گرفتن edge caseها و نوشتن تست توجه میکند.
نتیجه چنین رویکردی، تولید نرمافزاری است که:
+ پایدارتر است
+ نگهداری آسانتری دارد
+ و در بلندمدت هزینه کمتری تحمیل میکند
بههمین دلیل است که در نگاه حرفهای،
«تنبلی» نه یک ضعف، بلکه یکی از نشانههای بلوغ مهندسی محسوب میشود.
همانطور که Larry Wall (خالق Perl) بیان میکند:
> سه فضیلت یک برنامهنویس: تنبلی، بیصبری و غرور
@Teachify | برنامهنویسی
✔️ نکته آموزشی پایتون | بررسی Reference و Copy
a = [1, 2, 3]
b = a
b.append(4)
print(a)
[1, 2, 3, 4] b = a b = a.copy()
# or
b = list(a)
# or
b = a[:]
لیستها در پایتون از نوع mutable هستند و عمل انتساب (=) تنها reference را منتقل میکند، نه خود داده را.@Teachify | برنامه نویسی Читать полностью…
✔️ 8 مدل LLM مناسب اجرا روی لوکال (دسامبر 2025)
1️⃣ Devstral-2-123B
بهترین برای برنامهنویسی
مخصوص توسعه نرمافزار، دیباگ، ریفکتور و ساخت Agent
2️⃣ MiniMax-M2
Agent + Coding + UI
مناسب فولاستک و پروتوتایپ سریع
3️⃣ GLM-4.5-Air
بهترین انتخاب کلی
روزمره، سریع و پایدار
4️⃣ Qwen3-VL-235B-A22B
متن + تصویر
بهترین مدل بینایی (VLM)
5️⃣ GLM-4.6 (REAPed)
استدلال قوی + کدنویسی پیشرفته
قدرت بالا در مسائل پیچیده
6️⃣ Nemotron-3-Nano-30B-A3B
سبک ولی قدرتمند
کیفیت بالا با مصرف کمتر
7️⃣ GPT-OSS-120B
GPT-5 روی سیستم خودت
Agent و Coding سنگین
8️⃣ GPT-OSS-20B
سریع و کممصرف
مناسب Automation و Tool Calling
@Teachify | برنامه نویسی
✔️ چه بلایی سر MinIO اومده؟
تیم توسعه MinIO رسماً اعلام کرده است که نسخه متنباز MinIO وارد Maintenance Mode شده است.
- توسعه فعال نسخه Community متوقف شده است
- رفع مشکلات تنها برای باگهای امنیتی حیاتی انجام میشود
- افزودن قابلیتهای جدید یا بهبودهای عمده دیگر در نسخه متنباز ارائه نخواهد شد
- تمرکز تیم توسعه اکنون به سمت نسخه Enterprise با نام AIStor معطوف شده است
—> به عبارت دیگر، نسخه متنباز MinIO دیگر در حال رشد و توسعه فعال نیست و تنها برای اطمینان از ثبات و امنیت نگهداری میشود.
پیامدها برای کاربران:
_ پروژههایی که روی نسخه Community بنا شدهاند، ممکن است نیازمند بازبینی و برنامهریزی بلندمدت باشند
- انتشار باینریها و تصاویر رسمی Docker/Helm نسخه متنباز متوقف شده است
- مدیریت و تنظیمات پیشرفته UI به نسخه Enterprise منتقل شده است
جایگزینهای متنباز معتبر:
Ceph
SeaweedFS
Garage
Zenko
🔗 لینک رسمی پروژه: MinIO GitHub
@Teachify | برنامه نویسی
برنامه نویس های عزیز شما دلتون گرفتنی چیکار میکنید؟
Читать полностью…
✔️ تفاوت set و frozenset در پایتون
در پایتون، دو نوع ساختار برای کار با مجموعههای غیرتکراری وجود دارد: set و frozenset.
تفاوت اصلی آنها در قابلیت تغییر است:
▪️set (قابل تغییر – Mutable)
s = {1, 2, 3}
s.add(4) #افزودن عنصر
s.remove(2) # حذف عنصر
print(s) # خروجی: {1, 3, 4}fs = frozenset([1, 2, 3])
print(fs) # خروجی: frozenset({1, 2, 3})
# fs.add(4)
#خطا: frozenset قابل تغییر نیست
weights = {frozenset(["سیب", "موز"]): 120}
key = frozenset(["موز", "سیب"])
print(weights[key]) # خروجی: 120
💸 دنیای پردرآمد Devops رو کشف کن!
شروع ثبتنام دومین بوتکمپ آموزشی استخدامی دواپس مکتب شریف 😍
🎯 اگه تو هم میخوای از صفر تا صد دواپس رو یاد بگیری و به یه مهندس دواپس حرفهای تبدیل بشی، بوتکمپ دواپس مکتب شریف با آموزشهای عملی و پروژه محور، همه چیز رو بهت یاد میده.
🔔 مشاوره و ثبتنام در: httb.ir/7Gr9u ➡️
💭 گفتگو با مشاور ثبتنام هوشمند مکتب 🔽
🆔 @MaktabSharif_Admin
#مکتب_شریف
🟣🟣🟣🟣🟣🟣
✔️ کنترل همزمانی در تراکنشهای مالی و جلوگیری از Race Condition / Double Spending
در سرویسهای مالی، اگر چند درخواست برداشت همزمان به یک حساب برسد، هر دو موجودی را در یک لحظه میخوانند و هر دو تراکنش را تأیید میکنند؛ نتیجه: برداشت بیش از موجودی و ایجاد Double Spending.
برای جلوگیری از این اتفاق، از قفلگذاری Redis استفاده میشود:
SET lock:user_id unique_token NX PX 10000
✔️ معرفی Antigravity – IDE جدید و انقلابی گوگل
گوگل با معرفی IDE جدید خودش به نام Antigravity نگاه تازهای به توسعه نرمافزار ارائه داده. این IDE بر پایه Agent طراحی شده و هوش مصنوعی فقط پیشنهاد نمیدهد، بلکه میتواند خودش برنامهریزی کند، کد بزند، اجرا کند، تست بگیرد و نتیجه را تحلیل کرده و مرحله بعد را انتخاب کند؛ مثل یک توسعهدهنده واقعی داخل محیط IDE.
ایجنت فقط متن تولید نمیکند و به ابزارها دسترسی مستقیم دارد. میتواند دستور در ترمینال اجرا کند، پروژه را در مرورگر تست بگیرد، اسکرینشات ثبت کند و همه این مراحل قابل بازبینی باشند؛ یعنی نتیجه عملی است، نه صرفاً تئوری.
همچنین Antigravity فقط محدود به Gemini 3 Pro نیست و امکان استفاده از مدلهایی مثل Claude Sonnet 4.5 و حتی مدلهای متنباز وجود دارد که آزادی بیشتری به تیمها میدهد.
این IDE به مرور از سبک کاری تیم یاد میگیرد و هرچه پروژه جلو برود، خروجیها هوشمندتر و شخصیتر میشوند.
https://antigravity.google/
@Teachify | برنامه نویسی
✔️ مسیر یک API از مرورگر تا بکاند یک سامانه جنگویی
🌐 مرورگر (Browser): درخواستها را به سرور میفرستد.
📍 سیستم نام دامنه (DNS): نام سایت را به آیپی تبدیل میکند.
⚖️ لود بالانسر (Load Balancer): ترافیک را بین سرورها تقسیم میکند تا سرورها شلوغ نشوند.
🖥 سرور وب (Nginx): فایلهای ثابت را ارائه میدهد و ارتباط امن (SSL) را مدیریت میکند.
🚀 سرور اپلیکیشن (Gunicorn / Uvicorn): درخواستها را دریافت و به جنگو میفرستد.
🧩 میانافزار جنگو (Django Middleware): پردازش میانی و بررسی امنیت یا اعتبار درخواستها.
🗺 مسیریاب URL (URL Router): تعیین میکند که درخواست به کدام ویو برود.
💡 ویو (View): منطق کسبوکار را پردازش میکند.
💾 مدیریت پایگاهداده (ORM): دادهها را از پایگاهداده خوانده یا در آن ذخیره میکند.
🔄 سریالایزر (Serializer): دادهها را به فرمت مناسب (مثلاً JSON) تبدیل میکند.
📤 پاسخ (Response): نتیجه پردازش به مرورگر بازمیگردد.
@Teachify | برنامه نویسی
✔️ فرمت TOON چیه و چرا اینقدر ترند شده؟
فرمت TOON در اصل یک روش نوشتاری ساده و فشرده برای نمایش دادههای ساختاریافتهست؛ خیلی شبیه JSON، اما خواناتر برای انسان و بسیار سبکتر برای مدلهای زبانی.
این فرمت عملاً یک فایلفرمت واقعی نیست و بیشتر بهعنوان یک شیوهٔ نمایش داده طراحی شده تا زمانی که دادهٔ زیاد به هوش مصنوعی میفرستیم، مصرف توکن به حداقل برسه.
در TOON نشانههای اضافی مثل آکولادها و براکتها حذف میشن و دادهها فقط با تورفتگی و چینش منظم نمایش داده میشن؛ درست شبیه YAML اما حتی سادهتر. به همین دلیل دادهها هم راحتتر خوانده میشن و هم حجم کمتری مصرف میکنن.
در مجموع، TOON انتخابی مناسب برای زمانیست که با دادههای حجیم کار میکنید و میخواید ورودی هوش مصنوعی هم تمیزتر باشه و هم سبکتر.
@Teachify | برنامه نویسی
✔️ روشهای فراخوانی متدها در پایتون
در پایتون، متدها را میتوان به چند روش مختلف فراخوانی کرد:
▪️ فراخوانی متد روی نمونه (Instance Method)
+ رایجترین روش فراخوانی متد است.
+ متد روی یک شیء (نمونه) از کلاس اجرا میشود.
class Person:
def greet(self, name):
print(f"Hello, {name}!")
p = Person()
p.greet("Ali") # خروجی: Hello, Ali!
@classmethod تعریف میشوند.class Person:
population = 0
@classmethod
def increase_population(cls):
cls.population += 1
print(cls.population)
Person.increase_population() # خروجی: 1
@staticmethod تعریف میشوند.class Math:
@staticmethod
def add(a, b):
return a + b
print(Math.add(5, 3)) # خروجی: 8
class Person:
def greet(self):
print("Hello!")
p = Person()
method_name = "greet"
getattr(p, method_name)() # خروجی: Hello!
class Animal:
def speak(self):
print("Animal sound")
class Dog(Animal):
def speak(self):
super().speak()
print("Bark!")
d = Dog()
d.speak()
# خروجی:
# Animal sound
# Bark!
✔️ ابزار آموزشی گوگل برای یادگیری برنامهنویسی به روش بلوکی
گوگل یه ابزار متنباز داره به نام Blockly که به شما اجازه میده با کشیدن و رها کردن بلوکها، منطق برنامهنویسی رو یاد بگیرید!
این ابزار مخصوصاً برای کسایی که تازه میخوان وارد دنیای برنامهنویسی بشن عالیه، چون بدون نیاز به نوشتن کد، مفاهیم اصلی مثل شرط، حلقه و متغیر رو یاد میگیرن
راهنمای استفاده و مستندات رسمی گوگل:
developers.google.com/blockly
پ.ن: پیشنهاد میکنم اگر مربی، معلم یا مدرس برنامهنویسی هستید، حتماً از این ابزار برای آموزش مفاهیم پایه استفادها کنید.
@Teachify | برنامه نویسی
✔️ چطور مثل یک برنامهنویس فکر کنیم؟
بیشتر تازهکارها مستقیم سراغ کدنویسی میروند، اما برنامهنویس واقعی اول فکر میکند، بعد کد مینویسد.
چهار گام طلایی برای «فکر کردن مثل یک برنامهنویس»:
1️⃣ درک مسئله — دقیق بفهم چی میخواهی بنویسی. ورودی و خروجی را مشخص کن.
2️⃣ طراحی راهحل — قبل از نوشتن کد، الگوریتم را روی کاغذ یا در ذهنت مرور کن.
3️⃣ پیادهسازی تدریجی — از سادهترین نسخه شروع کن و کمکم بهترش کن.
4️⃣ بازبینی و بهینهسازی — کد را تمیز، سریع و قابلخواندن کن.
یک مثال با هدف: تشخیص اینکه عددی اول است یا نه؟
منطق قبل از کدنویسی:
اگر عدد کمتر از ۲ بود → اول نیست
از ۲ تا ریشهی عدد را بررسی کن
اگر عددی پیدا شد که بر آن بخشپذیر بود → اول نیست
اگر نه → اول است ✅
import math
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
✔️ معرفی وبسایت Refactoring.Guru
این وبسایت یکی از منابع معتبر و شناختهشده در زمینهی آموزش الگوهای طراحی نرمافزار (Design Patterns)، بازآرایی کد (Refactoring) و اصول طراحی شیءگرا (SOLID Principles) است.
این وبسایت با زبانی روان و همراه با مثالهای متنوع، مفاهیم پیچیدهی طراحی نرمافزار را بهصورت ساده و کاربردی توضیح میدهد. در هر بخش، علاوه بر توضیح تئوری، نمونهکدهایی در زبانهای مختلف از جمله Python، Java، C#، PHP و TypeScript ارائه شده است تا درک موضوع برای برنامهنویسان در سطوح مختلف آسانتر شود.
▪️ویژگیهای برجسته Refactoring.Guru:
+ توضیح گامبهگام مفاهیم طراحی و معماری نرمافزار
+ ارائهی نمودارها و مثالهای تصویری برای هر الگو
+ مقایسهی مزایا، معایب و کاربردهای هر Design Pattern
+ آموزش روشهای بازآرایی کد برای بهبود ساختار و خوانایی آن
این وبسایت برای برنامهنویسانی که به دنبال ارتقای مهارتهای طراحی و نوشتن کدهای تمیز و قابل نگهداری هستند، منبعی ارزشمند و قابل اتکا بهشمار میرود.
🌐 https://refactoring.guru
@Teachify | برنامه نویسی
✔️ سال نو میلادی مبارک
امیدوارم 2026 برای همهی ما ایرانیها، هر کجای دنیا که هستیم، سالی پر از آرامش، پیشرفت و خبرهای خوب باشه ❤️
@Teachify | برنامهنویسی
✔️ داکر Hardened Images خود را بهصورت رایگان و متنباز منتشر شد
شرکت Docker اعلام کرده است که Docker Hardened Images (DHI) را برای استفادهی عمومی، بهصورت رایگان و Open Source در دسترس قرار داده است.
این ایمیجها با تمرکز بر امنیت زنجیره تأمین نرمافزار و کاهش سطح حمله طراحی شدهاند و ویژگیهای زیر را ارائه میدهند:
▪️ کاهش قابل توجه آسیبپذیریها (CVE) در مقایسه با Base Imageهای متداول
▪️ ساختار حداقلی و سبک (حذف ابزارها و پکیجهای غیرضروری در محیط Runtime)
▪️ ارائه SBOM شفاف و دسترسی کامل به اطلاعات اجزای ایمیج
▪️ مبتنی بر توزیعهای رایج Debian و Alpine با حداقل نیاز به تغییر در Dockerfile
این اقدام، استفاده از ایمیجهای امن و استاندارد را برای تیمهای توسعه، DevOps و پروژههای متنباز سادهتر کرده و میتواند به کاهش خطاهای امنیتی در CI/CD Pipeline کمک کند.
لازم به ذکر است که برخی امکانات پیشرفته مانند SLA برای Patchهای امنیتی سریعتر همچنان در پلنهای Enterprise ارائه میشوند.
@Teachify | برنامه نویسی
✔️ تفاوت repr و str در پایتون
متد repr:
نمایش رسمی و دقیق شیء
مخصوص برنامهنویس، دیباگ و لاگ
متد str:
نمایش کاربرپسند شیء
مخصوص خروجی برای کاربر نهایی
class User:
def init(self, name):
self.name = name
def repr(self):
return f"User(name={self.name!r})"
def str(self):
return self.name
u = User("Yousef")
print(u) # Yousef
repr(u) # User(name='Yousef')`
✔️ سطح توسعهدهنده، فقط کدنویسی نیست!
برنامه نویس Junior
کد میزنه تا برنامه فقط کار کنه.
برنامه نویس Mid-Level
کد رو تمیز و مرتب میکنه. میدونه:
هر چیزی که کار میکنه، لزوماً خوب نیست.
برنامه نویس Senior
میفهمه کی باید کد بزنه، کی نزنه و کی کد رو حذف کنه.
برنامه نویس Lead
اصلاً نمیذاره کد اشتباه نوشته بشه.
قبل از اجرا، مسئله رو درست تعریف میکنه.
حقیقت ساده ولی مهم:
هر چی جلوتر میری، کمتر کد میزنی
ولی مسئولیت تصمیمهات خیلی سنگینتر میشه.
تجربه فقط به سالها نیست؛
طرز فکر و تصمیمگیریه که سطح واقعی تو رو نشون میده.
@Teachify | برنامه نویسی
✔️ حقیقتی که باید قبول کنیم
عزیزان ،
اگر صرفا یک Endpoint از OpenAI یا هر AI Service Provider دیگری را صدا میزنید و یک اتفاقی می افتد، شما از خدایان هوش مصنوعی نیستید - باور کنید شما اصلا چیز خاصی نیستید، شما در حال حرام شدن و یک استعداد کشف نشده نیستید، شما صرفا یک صدا کننده یک API هستید - زیاد خودتان را اذیت نکنید !! - کسی هم در هیچ کجای دنیا الاف این تخصص عجیب شما نیست - به همان CRUD ادامه بدهید - خبری هم از حقوق 800 هزار دلاری نیست - بشین سر جات دوست من !
پیروز باشید
@Teachify | #AliKolahdoozan
✔️ سوءاستفاده از بلکفرایدی در ایران!
این روزها همهمون شاهدیم که بعضی از فروشگاههای ایرانی با چه جسارتی مردم رو دست میاندازن و تخفیفهای ساختگی رو بهعنوان «بلکفرایدی» جا میزنن.
شما هم اینجوری باهاش حساب کنین:
اسم فروشگاه رو در گوگل جستوجو کنید. روی لینک اول، سهنقطهی سمت راستش رو بزنید و وارد گزینهی Feedback بشید.
از بین گزینهها، Irrelevant content رو انتخاب کنید.
در باکسی که ظاهر میشه، بنویسید:scam shopping
و ارسالش کنید.
از بقیه هم بخواین همین کار رو انجام بدن. وقتی تعداد گزارشها بالا بره، گوگل فروشگاه رو ریپورت میکنه و رتبهش بهشدت سقوط میکنه. این بهترین راهه تا بفهمن نمیتونن با بیشرمی، نامردی و سوءاستفاده از اعتماد مردم ادامه بدن.
در نهایت، همیشه به یاد داشته باشیم:
پنیرِ مفت فقط تو تلهٔ موشه.
همه میدونیم کدوم فروشگاه ها رو باید ریپورت کنیم(توی عکس ها من با آمازون یاد دادم ولی به اشتباه نرید آمازون رو بزنید)🙏
این پست رو share کنید تا همه در جریان باشن.
@kaliboys | کالی بویز
✔️ آشنایی با متد کاربردی dict.fromkeys در پایتون
گاهی لازم است یک دیکشنری با مجموعهای از کلیدها بسازیم که همه مقادیر اولیه یکسان باشند. برای این کار، متد dict.fromkeys راهکاری سریع و استاندارد ارائه میدهد:
keys = ["a", "b", "c"]
d = dict.fromkeys(keys, 0)
print(d)
# خروجی: {'a': 0, 'b': 0, 'c': 0}
d = dict.fromkeys(["x", "y"], [])
d["x"].append(1)
print(d)
# خروجی: {'x': [1], 'y': [1]}
get(key, default) → دریافت مقدار بدون خطاsetdefault(key, default) → ایجاد کلید در صورت عدم وجودupdate(mapping) → ادغام دو دیکشنریpop(key, default) → حذف کلید و بازگرداندن مقدارpopitem() → حذف آخرین کلید اضافهشدهkeys(), values(), items() → دسترسی به اجزای دیکشنری
✔️ معرفی کانال
آموزش جنگو، مفاهیم پر کاربرد پایتون و مهندسی نرم افزار و...
/channel/djangolearn_ir
✔️ چند نفر توی لینکدین گفته بودن ابرآوران Status Checker خودش رو گذاشته پشت Cloudflare و بابتش کنایه زده بودن!
بهنظر میرسه بعضیها هنوز فلسفهی Status Page رو با سرویس اصلی قاطی میکنن. در حالی که پایهایترین اصل در SRE اینه که رصد وضعیت یک سرویس نباید وابسته به خود اون سرویس باشه.
کاملاً واضحه اگه Status Page روی همان زیرساخت سرویس اصلی قرار بگیره، با هر قطعی یا اختلال، خود Status Checker هم از دسترس خارج میشه.
در نتیجه هیچ گزارش مستقلی وجود نخواهد داشت. این دقیقاً ضد اصول Site Reliability Engineering است.
اینکه ابرآوران Status Page رو روی یک زیرساخت مستقل مثل Cloudflare قرار داده، نهتنها ضعف نیست، بلکه Best Practice جهانیه.
شرکت های Cloudflare، AWS، Google، GitHub و هزاران سرویس بزرگ دنیا دقیقاً همین طراحی رو دارن.
چون سرویس اصلی ممکنه داون بشه اما Status Page باید همیشه Up باشه.
پس Status Page باید بیرون از مسیر خطای سرویس ساخته بشه. وگرنه این کار مثل اینه که آژیر خطر یه ساختمان، برقش فقط از خود همون ساختمان تأمین بشه؛ اگه حادثه پیش بیاد و برق بره… خود آژیر هم خاموش میشه!
@Teachify | برنامه نویسی
✔️ اختلال گسترده در Cloudflare
به دلیل مشکل در شبکه جهانی Cloudflare، امروز تعداد زیادی از سایتها و سرویسها با خطاهای 500 و قطعی موقت روبهرو شدهاند.
این اختلال روی سرویسهایی که از شبکه Cloudflare استفاده میکنند تأثیر گذاشته و ممکن است در بارگذاری سایتها، APIها و حتی برخی اپلیکیشنها مشکل مشاهده کنید.
شرکت Cloudflare اعلام کرده مشکل در حال بررسی و رفع است.
اگر سایتها یا سرویسهایی امروز برای شما باز نمیشوند، احتمالاً مشکل از Cloudflare است و نه سرویس مقصد.
@kaliboys | کالی بویز
سلام،
در یک سامانهای که با REST API پیادهسازی شده، به ما گفته شده که رمز عبور پیشفرض کاربران هنگام ثبتنام برابر با کد ملی آنها باشد. همچنین لازم است قابلیتی قرار دهیم تا کاربر در اولین ورود مجبور به تغییر رمز عبور (Force Change Password) شود.
این کار را چطور پیادهسازی میکنید؟
@Teachify | برنامه نویسی
انواع متدها در کلاس پایتون چیست؟
در پایتون، متدها (Methods) در کلاسها به روشهای تعریفشده در داخل کلاس گفته میشوند که میتوانند بر روی اشیاء آن کلاس عمل کنند.
به طور کلی، متدها را میتوان به چند نوع اصلی تقسیم کرد:
▪️متدهای نمونه (Instance Methods)
+ معمولترین نوع متد هستند.
+ به یک شیء خاص از کلاس تعلق دارند.
+ اولین پارامتر آنها معمولاً self است که به نمونه فعلی کلاس اشاره دارد.
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print(f"Hello, my name is {self.name}")
p = Person("Ali")
p.greet() # خروجی: Hello, my name is Ali
cls است که به خود کلاس اشاره دارد.class Person:
species = "Human"
@classmethod
def show_species(cls):
print(f"Species: {cls.species}")
Person.show_species() # خروجی: Species: Human
self یا cls.class Math:
@staticmethod
def add(a, b):
return a + b
print(Math.add(5, 3)) # خروجی: 8
__init__, __str__, __len__, ...class Book:
def __init__(self, title):
self.title = title
def __str__(self):
return f"Book title: {self.title}"
b = Book("Python 101")
print(b) # خروجی: Book title: Python 101
✔️ چرا TypeScript از Python جلو زد؟
در سال 2025، TypeScript با عبور از Python محبوبترین زبان دنیا شد.
دلیل اصلی: مهاجرت گسترده پروژههای JavaScript به TypeScript بهخاطر static typing، ابزارهای توسعه پیشرفته و پشتیبانی قوی Microsoft و Google.
درحالیکه Python هنوز در هوش مصنوعی و علم داده پیشتاز است، اما در پروژههای بزرگ و تیمی از TypeScript عقب مانده.
@Teachify | برنامه نویسی
✔️ تایپاسکریپت به صدر رسید؛ آغاز فصل تازه در دنیای زبانهای برنامهنویسی
گزارش جدید GitHub Octoverse 2025 نشان میدهد که برای نخستین بار TypeScript به محبوبترین زبان برنامهنویسی گیتهاب تبدیل شده و از Python و JavaScript پیشی گرفته است. این تحول مهم در آگوست ۲۰۲۵ رخ داده و نقطه عطفی در تغییر سلیقه توسعهدهندگان به شمار میرود.
نقش کلیدی هوش مصنوعی در این تغییر غیرقابل انکار است:
ابزارهای AI و کدنویسی خودکار مسیر استفاده از TypeScript را هموار کردهاند.
گرایش به زبانهای تایپمحور برای تولید کد دقیقتر و مطمئنتر افزایش یافته است.
استفاده گسترده از GitHub Copilot و Agentهای هوشمند، سهم توسعهدهندگان تازهکار را در پروژهها به شکل چشمگیری افزایش داده است.
این تغییر نشان میدهد که دنیای برنامهنویسی وارد فصل جدیدی شده؛ جایی که ترکیب هوش مصنوعی و زبانهای تایپمحور، مسیر توسعه نرمافزار را شکل میدهد.
@Teachify | برنامه نویسی
✔️ گاهی وقتا زندگی یه چرخش عجیبه...
یه نفر بعد از ۲۲ سال کار توی مایکروسافت، از دنیای صفر و یک جدا میشه و میره سراغ پرورش غاز و درخت بنسای!
از جلسات و محیط دیجیتالی، میره سمت طبیعت، خاک، سکوت و آرامش...
شاید چون دلش دیگه دنبال «سادهزیستیِ واقعی» بوده.
راستش رو بخوای، خیلیا توی دنیای IT (خود من هم بینشون) گاهی ته دلمون یه عشق پنهون به یه زندگی آرومتر داریم...
یه جایی دور از استرس، سر و صدا و نوتیفیکیشنها
شاید یه روزی ما هم بزنیم به دل طبیعت.
تو چی؟
@Teachify | برنامه نویسی