✔️ دسترسی به لوکالهاست از طریق اینترنت با ابزار ngrok
ابزار قدرتمند ngrok این امکان را برای شما فراهم میکند تا بهسادگی هر پورتی از سیستم محلی خود را روی یک آدرس اینترنتی (با پروتکل HTTPS) فوروارد کرده و به آن دسترسی از راه دور داشته باشید.
بهعنوان مثال، با اجرای دستور زیر در ترمینال:
یک آدرس اینترنتی امن در اختیار شما قرار میگیرد که از طریق آن میتوانید به سرویس محلی خود روی پورت 8000 دسترسی پیدا کنید.
هر تغییری که در کد ایجاد میکنید، بلافاصله در همان آدرس آنلاین نیز قابل مشاهده خواهد بود و نیازی به اجرای مجدد دستور نیست.
از دیگر قابلیتهای این ابزار، ارائهی رابط مانیتورینگ بر روی پورت 4040 است که به شما امکان مشاهدهی دقیق درخواستها و پاسخها را به همراه جزئیات کامل میدهد.
یکی از مهمترین کاربردهای ngrok در توسعهی Webhookها، بهویژه در پروژههایی مانند ساخت ربات تلگرام است. از آنجایی که آدرس ارائهشده توسط ngrok از نوع HTTPS است، بهراحتی میتوان از آن در تنظیمات Webhook استفاده کرد.
توجه داشته باشید برای استفاده از ngrok در برخی کشورها، نیاز به فعالسازی VPN روی سیستم خواهید داشت.
📎 مستندات کامل
🌐 https://ngrok.com
@Teachify | برنامه نویسی
ابزار قدرتمند ngrok این امکان را برای شما فراهم میکند تا بهسادگی هر پورتی از سیستم محلی خود را روی یک آدرس اینترنتی (با پروتکل HTTPS) فوروارد کرده و به آن دسترسی از راه دور داشته باشید.
بهعنوان مثال، با اجرای دستور زیر در ترمینال:
ngrok http 8000
یک آدرس اینترنتی امن در اختیار شما قرار میگیرد که از طریق آن میتوانید به سرویس محلی خود روی پورت 8000 دسترسی پیدا کنید.
هر تغییری که در کد ایجاد میکنید، بلافاصله در همان آدرس آنلاین نیز قابل مشاهده خواهد بود و نیازی به اجرای مجدد دستور نیست.
از دیگر قابلیتهای این ابزار، ارائهی رابط مانیتورینگ بر روی پورت 4040 است که به شما امکان مشاهدهی دقیق درخواستها و پاسخها را به همراه جزئیات کامل میدهد.
یکی از مهمترین کاربردهای ngrok در توسعهی Webhookها، بهویژه در پروژههایی مانند ساخت ربات تلگرام است. از آنجایی که آدرس ارائهشده توسط ngrok از نوع HTTPS است، بهراحتی میتوان از آن در تنظیمات Webhook استفاده کرد.
توجه داشته باشید برای استفاده از ngrok در برخی کشورها، نیاز به فعالسازی VPN روی سیستم خواهید داشت.
📎 مستندات کامل
🌐 https://ngrok.com
@Teachify | برنامه نویسی
👍6❤2
✔️ اگه با JSON زیاد کار میکنی، JSON Crack یکی از بهترین ابزارهاییه که میتونی استفاده کنی. بدون نیاز به نصب، فقط با باز کردن سایتش میتونی ساختار JSON رو به شکل گرافیکی و قابل فهم ببینی. از فرمتهای دیگه مثل YAML و XML هم پشتیبانی میکنه، قابلیت تبدیل، اعتبارسنجی، تولید schema و حتی خروجی گرفتن داره. افزونه VS Code هم داره و همهچی سمت کلاینت اجرا میشه، پس خیالت از بابت امنیت راحته. خلاصه، سریع، ساده و خیلی کاربردیه.
jsoncrack.com
@Teachify | برنامه نویسی
jsoncrack.com
@Teachify | برنامه نویسی
👍12🔥1
✔️ معماری نرمافزار در طراحی سایت
اگه فقط کد میزنی ولی ساختار معماری پروژههات رو نمیشناسی، داری نصف قدرت واقعی برنامهنویسی رو از دست میدی!
بیایید مدلهای مهم طراحی نرمافزار وب رو با هم بررسی کنیم.
1. MVC – Model View Controller
معروفترین معماری در دنیای وب. تقسیم به سه بخش اصلی میشه:
+ Model:
دادهها و منطق تجاری
+ View:
خروجی نهایی برای کاربر
+ Controller:
دریافت ورودی کاربر و هدایت جریان برنامه
فریمورکها:
Laravel (PHP), ASP.NET MVC (C#), Spring (Java), Rails (Ruby)
2. MTV – Model Template View (خاص Django)
در ظاهر شبیه MVC هست، ولی ترتیب و نقشها کمی فرق دارن:
+ Model:
دیتا و منطق کسبوکار
+ Template:
فایلهای HTML و ظاهر سایت
+ View:
ترکیب داده با Template و خروجی گرفتن
این ساختار مخصوص فریمورک Django (Python) هست. جالبه بدونی View در Django مثل Controller در MVC عمل میکنه!
3. MVVM – Model View ViewModel
مناسب برای UIهای داینامیک با ارتباط دوطرفه داده و رابط کاربری
+ ViewModel
همون پل بین Model و + View هست با data binding
فریمورکها: Vue.js، Angular، WPF، Xamarin
4. MVP – Model View Presenter
مثل MVC ولی Presenter همهچیز رو مدیریت میکنه، حتی UI رو
استفاده در: WinForms، Android (قبل از MVVM)
5. SPA – Single Page Application
سایتهایی که کل تجربه کاربر توی یک صفحه اتفاق میافته. کاملاً وابسته به جاوااسکریپت، سریع و مدرن
فریمورکها: React، Vue، Angular، Svelte
معماری داخلیش معمولاً MVVM یا Redux هست
6. Clean Architecture / Onion / Hexagonal
برای پروژههای بزرگ، قابلتست، مستقل از UI و پایگاه داده. ساختاری ماژولار با جداسازی کامل لایهها داره.
زبانها: Java، C#، Python، Go
مناسب برای اپلیکیشنهای مقیاسپذیر و تیمهای بزرگ
@Teachify | برنامه نویسی
اگه فقط کد میزنی ولی ساختار معماری پروژههات رو نمیشناسی، داری نصف قدرت واقعی برنامهنویسی رو از دست میدی!
بیایید مدلهای مهم طراحی نرمافزار وب رو با هم بررسی کنیم.
1. MVC – Model View Controller
معروفترین معماری در دنیای وب. تقسیم به سه بخش اصلی میشه:
+ Model:
دادهها و منطق تجاری
+ View:
خروجی نهایی برای کاربر
+ Controller:
دریافت ورودی کاربر و هدایت جریان برنامه
فریمورکها:
Laravel (PHP), ASP.NET MVC (C#), Spring (Java), Rails (Ruby)
2. MTV – Model Template View (خاص Django)
در ظاهر شبیه MVC هست، ولی ترتیب و نقشها کمی فرق دارن:
+ Model:
دیتا و منطق کسبوکار
+ Template:
فایلهای HTML و ظاهر سایت
+ View:
ترکیب داده با Template و خروجی گرفتن
این ساختار مخصوص فریمورک Django (Python) هست. جالبه بدونی View در Django مثل Controller در MVC عمل میکنه!
3. MVVM – Model View ViewModel
مناسب برای UIهای داینامیک با ارتباط دوطرفه داده و رابط کاربری
+ ViewModel
همون پل بین Model و + View هست با data binding
فریمورکها: Vue.js، Angular، WPF، Xamarin
4. MVP – Model View Presenter
مثل MVC ولی Presenter همهچیز رو مدیریت میکنه، حتی UI رو
استفاده در: WinForms، Android (قبل از MVVM)
5. SPA – Single Page Application
سایتهایی که کل تجربه کاربر توی یک صفحه اتفاق میافته. کاملاً وابسته به جاوااسکریپت، سریع و مدرن
فریمورکها: React، Vue، Angular، Svelte
معماری داخلیش معمولاً MVVM یا Redux هست
6. Clean Architecture / Onion / Hexagonal
برای پروژههای بزرگ، قابلتست، مستقل از UI و پایگاه داده. ساختاری ماژولار با جداسازی کامل لایهها داره.
زبانها: Java، C#، Python، Go
مناسب برای اپلیکیشنهای مقیاسپذیر و تیمهای بزرگ
@Teachify | برنامه نویسی
❤10👍1
✔️ بزرگترین مجموعه ورکفلوهای آماده برای n8n
اگه با n8n کار میکنی یا دنبال راهی سریع برای ساخت اتوماسیونهای کاربردی هستی، این مخزن گیتهاب رو از دست نده:
https://github.com/Zie619/n8n-workflows
▪️دارای بیش از ۲۰۰۰ ورکفلو واقعی و قابل استفاده
▪️پوشش بیش از ۳۶۵ سرویس مثل Gmail، Slack، Telegram، Google Sheets و...
▪️ دستهبندی بر اساس نوع تریگر (مانند Webhook، Manual، Cron و ...)
▪️ جستجوی خیلی سریع بین ورکفلوها (با SQLite FTS5)
▪️ امکان نمایش نمودار گرافی، پیشنمایش، و خروجی JSON هر ورکفلو
@Teachify | برنامه نویسی
اگه با n8n کار میکنی یا دنبال راهی سریع برای ساخت اتوماسیونهای کاربردی هستی، این مخزن گیتهاب رو از دست نده:
https://github.com/Zie619/n8n-workflows
▪️دارای بیش از ۲۰۰۰ ورکفلو واقعی و قابل استفاده
▪️پوشش بیش از ۳۶۵ سرویس مثل Gmail، Slack، Telegram، Google Sheets و...
▪️ دستهبندی بر اساس نوع تریگر (مانند Webhook، Manual، Cron و ...)
▪️ جستجوی خیلی سریع بین ورکفلوها (با SQLite FTS5)
▪️ امکان نمایش نمودار گرافی، پیشنمایش، و خروجی JSON هر ورکفلو
@Teachify | برنامه نویسی
❤🔥8❤1👍1
✔️ چطور پایتون آرگومانها رو به توابع پاس میده؟
خیلی وقتا وقتی دربارهی ارسال آرگومان به توابع صحبت میشه، میشنویم:
Pass by Value (ارسال کپی)
Pass by Reference (ارسال خود متغیر)
اما پایتون یه مدل مخصوص خودش داره به اسم:
Pass by Object Reference
یا همون: Pass by Assignment
یعنی چی؟ بذار با یه مثال ساده توضیح بدیم:
فرض کن یه صندوق داری که توش وسیلهس (مثل یه object پایتونی مثلاً list)
آدرسش رو روی یه کاغذ نوشتی و گذاشتی جیبت (این میشه reference)
وقتی یه تابعی میخواد از اون object استفاده کنه، پایتون یه کاغذ جدید درمیاره و همون آدرس رو روش مینویسه و میده به تابع.
تابع با اون آدرس میتونه بره سراغ همون صندوق.
اگه چیزی از توش برداره یا تغییر بده، تو هم میبینی، ولی اگه یه صندوق جدید بسازه، فقط خودش اون رو داره
این دقیقاً میشه تفاوت بین mutable و immutable بودن objectها:
Mutable object (مثل list): تابع میتونه محتوای اصلی رو تغییر بده.
Immutable object (مثل int): تابع نمیتونه خودش رو تغییر بده، باید یه نسخهی جدید بسازه.
مثال کد:
خروجی بعد از اجرای تابع:
در نتیجه:
> تو پایتون ما نه Pass by Value داریم، نه Pass by Reference
بلکه داریم: Pass by Object Reference
یعنی reference به object ارسال میشه، ولی خود reference به صورت value پاس میشه!
#پایتون #Python #برنامهنویسی
@Teachify | برنامه نویسی
خیلی وقتا وقتی دربارهی ارسال آرگومان به توابع صحبت میشه، میشنویم:
Pass by Value (ارسال کپی)
Pass by Reference (ارسال خود متغیر)
اما پایتون یه مدل مخصوص خودش داره به اسم:
Pass by Object Reference
یا همون: Pass by Assignment
یعنی چی؟ بذار با یه مثال ساده توضیح بدیم:
فرض کن یه صندوق داری که توش وسیلهس (مثل یه object پایتونی مثلاً list)
آدرسش رو روی یه کاغذ نوشتی و گذاشتی جیبت (این میشه reference)
وقتی یه تابعی میخواد از اون object استفاده کنه، پایتون یه کاغذ جدید درمیاره و همون آدرس رو روش مینویسه و میده به تابع.
تابع با اون آدرس میتونه بره سراغ همون صندوق.
اگه چیزی از توش برداره یا تغییر بده، تو هم میبینی، ولی اگه یه صندوق جدید بسازه، فقط خودش اون رو داره
این دقیقاً میشه تفاوت بین mutable و immutable بودن objectها:
Mutable object (مثل list): تابع میتونه محتوای اصلی رو تغییر بده.
Immutable object (مثل int): تابع نمیتونه خودش رو تغییر بده، باید یه نسخهی جدید بسازه.
مثال کد:
def demonstrate_passing_behavior(my_list, my_int):
my_list.append(4) # تغییر مستقیم در لیست اصلی
my_list = list(my_list) # ساخت کپی جدید
my_int = my_int + 10 # ساخت int جدید، بدون تغییر عدد اصلی
original_list = [1, 2, 3]
original_int = 5
demonstrate_passing_behavior(original_list, original_int)
خروجی بعد از اجرای تابع:
original_list تغییر کرده (چون mutable بوده)
original_int همون قبلیه باقی مونده (چون immutable بوده)
در نتیجه:
> تو پایتون ما نه Pass by Value داریم، نه Pass by Reference
بلکه داریم: Pass by Object Reference
یعنی reference به object ارسال میشه، ولی خود reference به صورت value پاس میشه!
#پایتون #Python #برنامهنویسی
@Teachify | برنامه نویسی
👍5
از بس درگیر پروژه و کارم که اصلا وقت هیچی رو ندارم
ببخشید بابت کم کاری🙏
به زودی جبران میکنم.
@Teachify | برنامه نویسی
ببخشید بابت کم کاری🙏
به زودی جبران میکنم.
@Teachify | برنامه نویسی
❤🔥13👌5❤4
من اون باگم که فقط توی پروداکشن خودشو نشون میده.
من اون ارور ۴۰۴ام که وسط دیباگ شدن پیدام میکنی.
من اون تب اضافیام که کل فرمت کدتو بهم میزنه.
من اون dependencyایم که موقع آپدیت همهچی رو میترکونه.
من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.
من اون تیکه کُدیم که باعث میشه قهوت یخ کنه
من اون فانکشنیام که هیچوقت کال نمیشه ولی پاکش هم کنی همهچی میریزه بهم.
من اون logـم که فقط وقتی نمیخوای دیده بشه، تو کنسول میمونه.
@Teachify | برنامه نویسی
من اون ارور ۴۰۴ام که وسط دیباگ شدن پیدام میکنی.
من اون تب اضافیام که کل فرمت کدتو بهم میزنه.
من اون dependencyایم که موقع آپدیت همهچی رو میترکونه.
من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.
من اون تیکه کُدیم که باعث میشه قهوت یخ کنه
من اون فانکشنیام که هیچوقت کال نمیشه ولی پاکش هم کنی همهچی میریزه بهم.
من اون logـم که فقط وقتی نمیخوای دیده بشه، تو کنسول میمونه.
@Teachify | برنامه نویسی
🗿15🤣4💔3😭2❤1
✔️ کمپانی 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❤1
✔️یک ریپازیتوری که کل مسیر طراحی یک سیستم یادگیری ماشین (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❤2
✔️ همه فقط نوک کوه یخ رو میبینن...
چند خط کد، یه لپتاپ، یه لیوان قهوه و یه اپلیکیشن جذاب.
اما واقعیت خیلی عمیقتر از این حرفاست!
پایینتر که بری تازه میبینی خبری از اون تصویرای رویایی نیست...
جلسههای بیپایان، استرس ریلیز، باگهایی که نصف شب پیداشون میشه، جنگ با Dependencyها و معماریهای پیچیدهای که گاهی نفس آدمو میگیره.
جادوی واقعی همونجایی اتفاق میفته که هیچکس نمیبینه؛
زیر سطح آب... جایی که همه سختیها، یادگیریها و رشدهای واقعی شکل میگیره.
شما بگید؛ زیر این کوه یخ، برای شما سختترین بخش برنامهنویسی چی بوده؟
@Teachify | برنامه نویسی
چند خط کد، یه لپتاپ، یه لیوان قهوه و یه اپلیکیشن جذاب.
اما واقعیت خیلی عمیقتر از این حرفاست!
پایینتر که بری تازه میبینی خبری از اون تصویرای رویایی نیست...
جلسههای بیپایان، استرس ریلیز، باگهایی که نصف شب پیداشون میشه، جنگ با Dependencyها و معماریهای پیچیدهای که گاهی نفس آدمو میگیره.
جادوی واقعی همونجایی اتفاق میفته که هیچکس نمیبینه؛
زیر سطح آب... جایی که همه سختیها، یادگیریها و رشدهای واقعی شکل میگیره.
شما بگید؛ زیر این کوه یخ، برای شما سختترین بخش برنامهنویسی چی بوده؟
@Teachify | برنامه نویسی
❤14👍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 | برنامه نویسی
❤11👍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 | برنامه نویسی
❤5👍2