✔️ مایکروسافت اعلام کرده ۴۰۰ میلیون نفر از ویندوز کوچ کردن!
۴۰۰ میلیون آدم با خودشون گفتن: بسه دیگه، تمومش کن :))
خطاب به این کاربرا:
اگه هنوز با لینوکس آشنا نشدی، بدون اولش مثل قهوهی تلخه،
ولی بعد چند بار کار کردن، دیگه بدونش روزت شب نمیشه! 🐧
@Teachify | برنامه نویسی
۴۰۰ میلیون آدم با خودشون گفتن: بسه دیگه، تمومش کن :))
خطاب به این کاربرا:
اگه هنوز با لینوکس آشنا نشدی، بدون اولش مثل قهوهی تلخه،
ولی بعد چند بار کار کردن، دیگه بدونش روزت شب نمیشه! 🐧
@Teachify | برنامه نویسی
🤣19💯5❤3👀2
✔️ یکی از جالبترین و آموزندهترین مقالهها درباره پایتون که خوشبختانه نسخه فارسیش هم موجوده!
لینک مقاله:
https://github.com/satwikkansal/wtfpython
@Teachify | برنامه نویسی
لینک مقاله:
https://github.com/satwikkansal/wtfpython
@Teachify | برنامه نویسی
👍8
ابزار curl چیه؟
ابزار
▪️کاربردهای رایج
1. ارسال درخواست به APIها
مثلاً گرفتن اطلاعات از یک API:
2. ارسال دادهها با متد POST:
3. ارسال JSON به سرور:
4. دانلود فایل از اینترنت:
5. ارسال هدر سفارشی (Custom Header):
ابزار curl مفید است چون در اکثر osها بهصورت پیشفرض نصب شده و بدون نیاز به رابط گرافیکی میتوان از آن استفاده کرد. برای تست سریع APIها و نوشتن اسکریپتهای مختلف کاربرد دارد.
@Teachify | برنامه نویسی
ابزار
curl
(مخفف "Client URL") یک ابزار خط فرمان (command-line tool) و همچنین یک کتابخانه نرمافزاری است که برای انتقال دادهها به یا از یک سرور استفاده میشود. curl
از پروتکلهای مختلفی مانند HTTP، HTTPS، FTP، FTPS، SCP، SFTP، LDAP و غیره پشتیبانی میکند.▪️کاربردهای رایج
curl
:1. ارسال درخواست به APIها
مثلاً گرفتن اطلاعات از یک API:
curl https://api.example.com/users
2. ارسال دادهها با متد POST:
curl -X POST -d "username=ali&password=1234" https://example.com/login
3. ارسال JSON به سرور:
curl -X POST -H "Content-Type: application/json" -d '{"name":"Ali"}' https://example.com/api
4. دانلود فایل از اینترنت:
curl -O https://example.com/file.zip
5. ارسال هدر سفارشی (Custom Header):
curl -H "Authorization: Bearer <token>" https://example.com/secure
ابزار curl مفید است چون در اکثر osها بهصورت پیشفرض نصب شده و بدون نیاز به رابط گرافیکی میتوان از آن استفاده کرد. برای تست سریع APIها و نوشتن اسکریپتهای مختلف کاربرد دارد.
@Teachify | برنامه نویسی
👍11❤5🔥2
✔️ وقتی Jira با یه تغییر ساده، 75% CPU و 55% هزینه رو نجات داد!
شرکت Atlassian (سازندهی Jira) اخیراً یه تغییر مهم توی ساختار دادههاش داد:
مهاجرت از JSON به Protobuf توی سیستم کش memcached
نتیجه؟
▪️ 75% کاهش مصرف CPU
▪️ 80% کاهش حجم دادهها
▪️ 33% افزایش سرعت دیسریالایز
▪️ 55% کاهش اندازهی کلاستر memcached (یعنی نصف هزینه!)
برخلاف JSON که متنی و پر از اضافاته، Protobuf یه فرمت باینری، فشرده و بسیار سریع برای ماشینهاست. سرعت بالاتر در سریالایز/دیسریالایز، مصرف کمتر CPU و حافظه، و عملکرد پایدارتر در مقیاس بالا باعث شده که انتخاب بهتری برای سیستمهای پرترافیک باشه.
@Teachify | برنامه نویسی
شرکت Atlassian (سازندهی Jira) اخیراً یه تغییر مهم توی ساختار دادههاش داد:
مهاجرت از JSON به Protobuf توی سیستم کش memcached
نتیجه؟
▪️ 75% کاهش مصرف CPU
▪️ 80% کاهش حجم دادهها
▪️ 33% افزایش سرعت دیسریالایز
▪️ 55% کاهش اندازهی کلاستر memcached (یعنی نصف هزینه!)
برخلاف JSON که متنی و پر از اضافاته، Protobuf یه فرمت باینری، فشرده و بسیار سریع برای ماشینهاست. سرعت بالاتر در سریالایز/دیسریالایز، مصرف کمتر CPU و حافظه، و عملکرد پایدارتر در مقیاس بالا باعث شده که انتخاب بهتری برای سیستمهای پرترافیک باشه.
@Teachify | برنامه نویسی
👍12🔥3
✔️ دسترسی به لوکالهاست از طریق اینترنت با ابزار 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 | برنامه نویسی
👍4
از بس درگیر پروژه و کارم که اصلا وقت هیچی رو ندارم
ببخشید بابت کم کاری🙏
به زودی جبران میکنم.
@Teachify | برنامه نویسی
ببخشید بابت کم کاری🙏
به زودی جبران میکنم.
@Teachify | برنامه نویسی
❤🔥13👌5❤3
۱۱۰ هزار اپلیکیشن بهروزنشده از بازار حذف شد
بازار در اقدامی کمسابقه برای ارتقای کیفیت و بهبود امنیت و تجربه کاربری، یک چهارم از اپلیکیشنهای خود که بیشاز یکسال بهروز نشده و کمتر از ۱۰۰ نصب داشتند رو حذف کرد.
اینطور که پیداست بازار با حذف برنامههای آسیبپذیر، موجب بهبود سبد اپلیکیشنها، بهبود تجربه کاربری و افزایش امنیت شده و فرصت دیدهشدن بیشتری برای توسعهدهندگان فعال ایجاد کرده.
بهنظر این گام مهم بازار که مطابق با آخرین استانداردهای جهانیه، موجب تقویت اکوسیستم دیجیتال ایران میشه.
@kaliboys | کالی بویز
بازار در اقدامی کمسابقه برای ارتقای کیفیت و بهبود امنیت و تجربه کاربری، یک چهارم از اپلیکیشنهای خود که بیشاز یکسال بهروز نشده و کمتر از ۱۰۰ نصب داشتند رو حذف کرد.
اینطور که پیداست بازار با حذف برنامههای آسیبپذیر، موجب بهبود سبد اپلیکیشنها، بهبود تجربه کاربری و افزایش امنیت شده و فرصت دیدهشدن بیشتری برای توسعهدهندگان فعال ایجاد کرده.
بهنظر این گام مهم بازار که مطابق با آخرین استانداردهای جهانیه، موجب تقویت اکوسیستم دیجیتال ایران میشه.
@kaliboys | کالی بویز
👌12👎1
من اون باگم که فقط توی پروداکشن خودشو نشون میده.
من اون ارور ۴۰۴ام که وسط دیباگ شدن پیدام میکنی.
من اون تب اضافیام که کل فرمت کدتو بهم میزنه.
من اون dependencyایم که موقع آپدیت همهچی رو میترکونه.
من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.
من اون تیکه کُدیم که باعث میشه قهوت یخ کنه
من اون فانکشنیام که هیچوقت کال نمیشه ولی پاکش هم کنی همهچی میریزه بهم.
من اون logـم که فقط وقتی نمیخوای دیده بشه، تو کنسول میمونه.
@Teachify | برنامه نویسی
من اون ارور ۴۰۴ام که وسط دیباگ شدن پیدام میکنی.
من اون تب اضافیام که کل فرمت کدتو بهم میزنه.
من اون dependencyایم که موقع آپدیت همهچی رو میترکونه.
من اون merge conflictـم که درست وقتی عجله داری ظاهر میشم.
من اون تیکه کُدیم که باعث میشه قهوت یخ کنه
من اون فانکشنیام که هیچوقت کال نمیشه ولی پاکش هم کنی همهچی میریزه بهم.
من اون logـم که فقط وقتی نمیخوای دیده بشه، تو کنسول میمونه.
@Teachify | برنامه نویسی
🗿11🤣3💔2😭1
Forwarded from هشتگ تبلیغ تخصصی
📅 آغاز دوره: ۶ شهریورماه
🔴این فرصت رو از دست نده! رزومهات رو برای ما بفرست تا بعد از بررسی و انجام گزینش اولیه، وارد بوتکمپ بشی. بعد از موفقیت در دوره و پشت سر گذاشتن مصاحبهها، میتونی به عنوان کارشناس تست نرمافزار در تیمهای تولید نرمافزار ما مشغول به کار بشی.
📥 Hr-Dev@systemgroup.net
Please open Telegram to view this post
VIEW IN TELEGRAM