Linuxor ?
درباره سیستم های پیشنهاد دهنده چی میدونید؟ این ریپو بهتون یاد میده چطوری یه سیستم ریکامندر شبیه به تیکتاک بسازین و مدل خودتون رو آموزش بدین همچنین روی کوبرنیتیز اونو بالا بیارین https://github.com/decodingml/personalized-recommender-course @Linuxor
وقت کردید یه سر بهش بزنید
خیلی ایده جالبی داره
خیلی ایده جالبی داره
مقدمهای بر گیت (Git) - جلسه اول
گیت (Git) یه سیستم کنترل نسخه هست که برای مدیریت تغییرات کدها و همکاری بین برنامهنویسها استفاده میشه. کار کردن با گیت توی سه مرحلهی اصلی انجام میشه:
۱. محیط کاری (Working Directory)
همون جایی که شما کدهاتون رو مینویسید و تغییرات ایجاد میکنید. این مرحله مثل میز کار شماست که هر تغییری که توی فایلها بدین، فقط توی سیستم خودتون اعمال میشه و هنوز به گیت اضافه نشده.
۲. محل استیج (Staging Area)
اینجا یه جورایی مثل برزخه! 😅
وقتی یه فایل رو توی گیت اضافه میکنید (git add)، در واقع اون رو میفرستید به این فضای میانی. توی این مرحله، فایلها هنوز ثبت نهایی نشدن و شما میتونید قبل از ثبت کردن، چک کنید که چی تغییر کرده.
۳. مخزن (Repository) - ثبت نهایی (Commit)
وقتی تغییرات رو تأیید کردید (git commit)، گیت یه عکس از وضعیت پروژه شما ثبت میکنه و تغییرات رو توی مخزن ذخیره میکنه. این مرحله همونجاییه که دیگه تغییرات شما به عنوان یه نسخه جدید ثبت میشه و قابل مشاهده و بازیابی خواهد بود.
🚀 بعد از این، اگه بخواید تغییراتتون رو با بقیه به اشتراک بذارید، باید اون رو روی یه مخزن راه دور (مثل GitHub یا GitLab) push کنید تا تیمتون هم بتونه ببینه و روش کار کنه.
خلاصهی کل مراحل:
1️⃣ ایجاد تغییرات توی فایلها (Working Directory)
2️⃣ اضافه کردن تغییرات به استیج (git add .)
3️⃣ ثبت تغییرات در مخزن (git commit -m "توضیح تغییرات")
4️⃣ ارسال تغییرات به مخزن راه دور (git push)
اینجا فقط یه نمای کلی از کار با گیت بود، توی جلسات بعدی وارد جزئیات بیشتر میشیم!
@softwrteach
--------‐----------------
🌐💻
گیت (Git) یه سیستم کنترل نسخه هست که برای مدیریت تغییرات کدها و همکاری بین برنامهنویسها استفاده میشه. کار کردن با گیت توی سه مرحلهی اصلی انجام میشه:
۱. محیط کاری (Working Directory)
همون جایی که شما کدهاتون رو مینویسید و تغییرات ایجاد میکنید. این مرحله مثل میز کار شماست که هر تغییری که توی فایلها بدین، فقط توی سیستم خودتون اعمال میشه و هنوز به گیت اضافه نشده.
۲. محل استیج (Staging Area)
اینجا یه جورایی مثل برزخه! 😅
وقتی یه فایل رو توی گیت اضافه میکنید (git add)، در واقع اون رو میفرستید به این فضای میانی. توی این مرحله، فایلها هنوز ثبت نهایی نشدن و شما میتونید قبل از ثبت کردن، چک کنید که چی تغییر کرده.
۳. مخزن (Repository) - ثبت نهایی (Commit)
وقتی تغییرات رو تأیید کردید (git commit)، گیت یه عکس از وضعیت پروژه شما ثبت میکنه و تغییرات رو توی مخزن ذخیره میکنه. این مرحله همونجاییه که دیگه تغییرات شما به عنوان یه نسخه جدید ثبت میشه و قابل مشاهده و بازیابی خواهد بود.
🚀 بعد از این، اگه بخواید تغییراتتون رو با بقیه به اشتراک بذارید، باید اون رو روی یه مخزن راه دور (مثل GitHub یا GitLab) push کنید تا تیمتون هم بتونه ببینه و روش کار کنه.
خلاصهی کل مراحل:
1️⃣ ایجاد تغییرات توی فایلها (Working Directory)
2️⃣ اضافه کردن تغییرات به استیج (git add .)
3️⃣ ثبت تغییرات در مخزن (git commit -m "توضیح تغییرات")
4️⃣ ارسال تغییرات به مخزن راه دور (git push)
اینجا فقط یه نمای کلی از کار با گیت بود، توی جلسات بعدی وارد جزئیات بیشتر میشیم!
@softwrteach
--------‐----------------
🌐💻
🔥4
🌐 فرانتاند و بکاند دو بخش اصلی و حیاتی در توسعه وب هستن که با هم همکاری میکنن تا یه وبسایت یا اپلیکیشن کامل و کاربردی بسازن. بیایید با هم نگاهی به هرکدوم بندازیم: 🔍
💻 فرانتاند (Front-End) بخش ظاهری و قابل مشاهده سایت یا اپلیکیشن هست. این همون قسمتیه که کاربر باهاش تعامل داره و همونطور که از اسمش پیداست، این بخش در "جبهه جلو" قرار داره! این بخش شامل طراحی، رابط کاربری (UI) و تجربه کاربری (UX) میشه. از تکنولوژیهایی مثل HTML، CSS و JavaScript برای طراحی و ساخت این بخش استفاده میشه.
فرانتاند وظیفه داره که اطلاعات رو از بکاند دریافت کنه و به شکلی کاربرپسند نمایش بده. مثلاً وقتی شما توی یه اپلیکیشن اطلاعات رو وارد میکنید یا توی یه سایت چیزی رو جستجو میکنید، همون اطلاعاتی که شما میبینید و باهاش تعامل میکنید، همگی کار فرانتاند هست.
⚙️ حالا بکاند (Back-End) پشت پرده میاد! این بخش مسئول پردازش دادهها، ذخیرهسازی، و انجام تمام محاسبات و منطقهای پیچیده است. معمولاً این بخش با سرورها، پایگاههای داده (مثل MySQL یا MongoDB) و APIها سروکار داره. بهطور ساده، بکاند همانند مغز سیستم عمل میکنه که اطلاعات رو مدیریت میکنه و به فرانتاند میده تا به کاربر نمایش داده بشه.
🔗 ارتباط بین این دو بخش با استفاده از APIها و پروتکل HTTP انجام میشه. وقتی کاربر یه درخواست (مثل جستجو یا ارسال فرم) به فرانتاند میده، فرانتاند اون رو به بکاند میفرسته، بکاند اطلاعات مورد نظر رو پردازش کرده و به فرانتاند برمیگردونه تا به کاربر نمایش داده بشه. به همین دلیل این دو بخش باید همزمان و بهدرستی با هم کار کنن تا یه تجربه کاربری بینقص ایجاد بشه.
👨💻 برای ارتباط بهتر بین این دو، تکنولوژیهای متنوعی هم وجود دارن. مثلاً GraphQL یه تکنولوژی جدیدتره که بهجای استفاده از APIهای معمولی REST، به فرانتاند این امکان رو میده که درخواستهای دقیقتری ارسال کنه و فقط همون دادههایی که لازم داره رو دریافت کنه. این میتونه سرعت اپلیکیشن رو افزایش بده و مصرف دادهها رو به حداقل برسونه.
@softwrteach
------------------------
🌐💻
💻 فرانتاند (Front-End) بخش ظاهری و قابل مشاهده سایت یا اپلیکیشن هست. این همون قسمتیه که کاربر باهاش تعامل داره و همونطور که از اسمش پیداست، این بخش در "جبهه جلو" قرار داره! این بخش شامل طراحی، رابط کاربری (UI) و تجربه کاربری (UX) میشه. از تکنولوژیهایی مثل HTML، CSS و JavaScript برای طراحی و ساخت این بخش استفاده میشه.
فرانتاند وظیفه داره که اطلاعات رو از بکاند دریافت کنه و به شکلی کاربرپسند نمایش بده. مثلاً وقتی شما توی یه اپلیکیشن اطلاعات رو وارد میکنید یا توی یه سایت چیزی رو جستجو میکنید، همون اطلاعاتی که شما میبینید و باهاش تعامل میکنید، همگی کار فرانتاند هست.
⚙️ حالا بکاند (Back-End) پشت پرده میاد! این بخش مسئول پردازش دادهها، ذخیرهسازی، و انجام تمام محاسبات و منطقهای پیچیده است. معمولاً این بخش با سرورها، پایگاههای داده (مثل MySQL یا MongoDB) و APIها سروکار داره. بهطور ساده، بکاند همانند مغز سیستم عمل میکنه که اطلاعات رو مدیریت میکنه و به فرانتاند میده تا به کاربر نمایش داده بشه.
🔗 ارتباط بین این دو بخش با استفاده از APIها و پروتکل HTTP انجام میشه. وقتی کاربر یه درخواست (مثل جستجو یا ارسال فرم) به فرانتاند میده، فرانتاند اون رو به بکاند میفرسته، بکاند اطلاعات مورد نظر رو پردازش کرده و به فرانتاند برمیگردونه تا به کاربر نمایش داده بشه. به همین دلیل این دو بخش باید همزمان و بهدرستی با هم کار کنن تا یه تجربه کاربری بینقص ایجاد بشه.
👨💻 برای ارتباط بهتر بین این دو، تکنولوژیهای متنوعی هم وجود دارن. مثلاً GraphQL یه تکنولوژی جدیدتره که بهجای استفاده از APIهای معمولی REST، به فرانتاند این امکان رو میده که درخواستهای دقیقتری ارسال کنه و فقط همون دادههایی که لازم داره رو دریافت کنه. این میتونه سرعت اپلیکیشن رو افزایش بده و مصرف دادهها رو به حداقل برسونه.
@softwrteach
------------------------
🌐💻
👍3
Forwarded from کالی بویز | ترفند | تکنولوژی (YOUSEF)
✔️ قضیه CAP در سیستم های توزیع شده
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
✅ @kaliboys | کالی بویز
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 اکستنشن REST Client در VS Code یک جایگزین عالی برای Postman یا Insomnia
📌 اصلا REST Client چیه؟
ابزار REST Client یه افزونه (اکستنشن) برای VS Code هست که بهت اجازه میده بدون نیاز به ابزارهای جانبی، مستقیماً توی ادیتورت درخواستهای HTTP ارسال کنی و APIها رو تست کنی!
💻 چرا REST Client؟
✅ سبک و سریع – نیازی به نصب نرمافزارهای سنگین نیست
✅ همه درخواستها در یک فایل – دیگه لازم نیست برای هر تست جداگانه کار کنی
✅ پشتیبانی از همه متدهای HTTP – GET، POST، PUT، DELETE و …
✅ مدیریت هدرها و توکنها – به راحتی میتونی Authorization و سایر تنظیمات رو انجام بدی
✅ پشتیبانی از متغیرها – دیگه لازم نیست بارها یه URL تکراری بنویسی
چطور از REST Client استفاده کنیم؟
برای شروع، یه فایل جدید با پسوند .http یا .rest بساز و یه درخواست ساده بنویس:
بعد از نوشتن، دکمه "Send Request" که بالای این درخواست ظاهر میشه رو بزن و نتیجه رو ببین!
📡 ارسال درخواست POST با JSON
با زدن Send Request، دادهها به سرور ارسال میشن و پاسخ برمیگرده!
🔗 ارتباط بهتر با متغیرها
گاهی اوقات ممکنه یه API چندین بار با URLهای مشابه تست بشه، اینجاست که متغیرها کمک میکنن:
حالا هروقت بخوای این درخواست رو تغییر بدی، فقط مقدار baseUrl رو عوض کن!
@softwrteach
------------------------
🌐💻
📌 اصلا REST Client چیه؟
ابزار REST Client یه افزونه (اکستنشن) برای VS Code هست که بهت اجازه میده بدون نیاز به ابزارهای جانبی، مستقیماً توی ادیتورت درخواستهای HTTP ارسال کنی و APIها رو تست کنی!
💻 چرا REST Client؟
✅ سبک و سریع – نیازی به نصب نرمافزارهای سنگین نیست
✅ همه درخواستها در یک فایل – دیگه لازم نیست برای هر تست جداگانه کار کنی
✅ پشتیبانی از همه متدهای HTTP – GET، POST، PUT، DELETE و …
✅ مدیریت هدرها و توکنها – به راحتی میتونی Authorization و سایر تنظیمات رو انجام بدی
✅ پشتیبانی از متغیرها – دیگه لازم نیست بارها یه URL تکراری بنویسی
چطور از REST Client استفاده کنیم؟
برای شروع، یه فایل جدید با پسوند .http یا .rest بساز و یه درخواست ساده بنویس:
GET https://jsonplaceholder.typicode.com/posts/1
بعد از نوشتن، دکمه "Send Request" که بالای این درخواست ظاهر میشه رو بزن و نتیجه رو ببین!
📡 ارسال درخواست POST با JSON
POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json
{
"noscript": "REST Client در VS Code",
"body": "این یه تسته!",
"userId": 1
}
با زدن Send Request، دادهها به سرور ارسال میشن و پاسخ برمیگرده!
🔗 ارتباط بهتر با متغیرها
گاهی اوقات ممکنه یه API چندین بار با URLهای مشابه تست بشه، اینجاست که متغیرها کمک میکنن:
@baseUrl = https://jsonplaceholder.typicode.com
GET {{baseUrl}}/posts/1
حالا هروقت بخوای این درخواست رو تغییر بدی، فقط مقدار baseUrl رو عوض کن!
@softwrteach
------------------------
🌐💻
Soft teach
https://github.com/MO-ZAREI84/learn-python
سلااام برو بچ
تو این ریپو چنتا تمرین کاربردی برای شاخه های مختلف پایتونو براتون بارگزاری کردم
تو این پروژه ها سعی شده کاربردی در عین حال به مسائل ابتدایی و پیشرفته پایتون پرداخته شه البته به جز فریمورک جنگو که داخل ریپو های دیگه میتونید یه نگاه بندازید...
اگه دوس داشتین و میخواید بصورت کاربردی تر پایتون رو یاد بگیرید حتما یه سری بزنید
@softwrteach
تو این ریپو چنتا تمرین کاربردی برای شاخه های مختلف پایتونو براتون بارگزاری کردم
تو این پروژه ها سعی شده کاربردی در عین حال به مسائل ابتدایی و پیشرفته پایتون پرداخته شه البته به جز فریمورک جنگو که داخل ریپو های دیگه میتونید یه نگاه بندازید...
اگه دوس داشتین و میخواید بصورت کاربردی تر پایتون رو یاد بگیرید حتما یه سری بزنید
@softwrteach
🔥1
دستیار هوش مصنوعی قدرتمند برای توسعه دهندگان...
با Bolt AI کدنویسی رو سریعتر، بهینهتر و لذتبخشتر تجربه کن:
✅ تحلیل هوشمند کد – پروژهتو آپلود کن، Bolt AI کیفیت و کارایی کد رو بررسی میکنه.
✅ مشاهده آنی تغییرات – تغییرات رو در لحظه ببین و سریعتر تصمیم بگیر.
✅ پروتوتایپ تمیز – کدنویسی اصولی و خوانا از همون اول!
✅ توسعه سریعتر – تست و دیباگ خودکار، بدون اتلاف وقت.
✅ نصب خودکار پکیجها – نیاز به چیزی داری؟ Bolt AI خودش انجامش میده!
✅ سازگار با زبانها و فریمورکهای محبوب – هر چی دوست داری، کد بزن!
⚡ با Bolt AI، سطح کدنویسیتو بالاتر ببر!
@softwrteach
------------------------
🌐💻
با Bolt AI کدنویسی رو سریعتر، بهینهتر و لذتبخشتر تجربه کن:
✅ تحلیل هوشمند کد – پروژهتو آپلود کن، Bolt AI کیفیت و کارایی کد رو بررسی میکنه.
✅ مشاهده آنی تغییرات – تغییرات رو در لحظه ببین و سریعتر تصمیم بگیر.
✅ پروتوتایپ تمیز – کدنویسی اصولی و خوانا از همون اول!
✅ توسعه سریعتر – تست و دیباگ خودکار، بدون اتلاف وقت.
✅ نصب خودکار پکیجها – نیاز به چیزی داری؟ Bolt AI خودش انجامش میده!
✅ سازگار با زبانها و فریمورکهای محبوب – هر چی دوست داری، کد بزن!
⚡ با Bolt AI، سطح کدنویسیتو بالاتر ببر!
@softwrteach
------------------------
🌐💻
❤3
Forwarded from برنامه نویسی | Teachify (YOUSEF)
✔️ جنگو 5.2 منتشر شد!
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
✅ @Teachify | برنامه نویسی
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ninja Learn | نینجا لرن
آیا پایتون همیشه کنده؟ 🐢
چیزی که همیشه از زبون همه ی برنامه نویسا میشنویم (مخصوصا جامعه محترم C#) اینه که پایتون خیلی کنده (نسبت به زبان های دیگه هرچند این مقایسه اشتباهه بعضی جاها)
خب اره، درسته پایتون کنده (البته در حالت pure)
توی این پست میخوام بگم که چرا کنده و چجوری میشه سریعش کرد؟
چرا پایتون کنده ؟ 🤓
همونجور که میدونید پایتون به صورت پیشفرض با CPython اجرا میشه، که یه مفسر (interpreter) برای پایتونه و با زبان C نوشته شده. CPython کد پایتون رو به بایتکد (bytecode) تبدیل میکنه و بعد اون رو تو یه ماشین مجازی (VM) اجرا میکنه. این فرایند باعث میشه پایتون نسبت به زبانهای کامپایلشده مثل C یا Rust کندتر باشه، چون
تفسیر خطبهخط انجام میده و به جای کامپایل مستقیم به کد ماشین، پایتون تو زمان اجرا تفسیر میشه.
GIL (Global Interpreter Lock) تو CPython، یه قفل سراسری هست که جلوی اجرای چند نخ (thread) همزمان رو میگیره و برای کارهای multithreading مشکلساز میشه.
داینامیک تایپ بودن پایتون تایپها رو تو زمان اجرا چک میکنه، که یه کم سرعت رو پایین میاره.
ولی خبر خوب اینه که پایتون راه ها و ابزارهایی داره که میتونن این کندی رو برطرف کنن و پرفورمنس رو حسابی بالا ببرن
راه ها و ابزارهایی برای افزایش سرعت 📚
1️⃣ PyPy 🌟
Pypy یه مفسر جایگزین برای پایتونه که از JIT (Just-In-Time Compilation) استفاده میکنه.
و کارکردش اینجوریه که کد پایتون رو به جای تفسیر ساده، تو زمان اجرا به کد ماشین کامپایل میکنه. این یعنی برای حلقهها و عملیات تکراری خیلی سریعتره.
مزیتشم اینه تو بعضی موارد تا ۷ برابر سریعتر از CPython عمل میکنه
و باید توجه داشت باشید برای کدهایی که با C extensionها (مثل NumPy) کار میکنن، کامل سازگار نیست.
2️⃣ Cython ⚡
Cython یه ابزار که کد پایتون رو به C تبدیل میکنه و بعد کامپایلش میکنه.
اینجوری کار میکنه که میتونی تایپهای استاتیک (مثل
و تا چندین برابر سریعتر از CPython میشه، بهخصوص برای محاسبات سنگین.
3️⃣ Numba 🔥
Numba یه کامپایلر JIT برای پایتونه که با دکوریتور
کارکردش اینجوریه که کد پایتون رو تو زمان اجرا به کد ماشین تبدیل میکنه، بدون نیاز به تغییر زیاد تو کدنویسی.
برای حلقهها و محاسبات عددی (مثل کار با آرایهها) تا ۱۰۰ برابر سریعتر میشه
4️⃣ CPython با C Extensions 🛠️
میتونی بخشهای کند پروژت یا جاهایی که به سرعت بالا نیاز داری رو با C بنویسی و به CPython وصل کنی.
اینجوریه که کد C رو به صورت ماژول میسازی و تو پایتون لودش میکنی.
و سرعت C رو با سادگی پایتون ترکیب میکنی. کتابخونههایی مثل NumPy و Pandas از این روش استفاده میکنن.
و در اخر پایتون همیشه کند نیست 🙃
حقیقت اینه که پایتون به تنهایی برای خیلی از کارها به اندازه کافی سریعه، بهخصوص تو پروژههایی که I/O (مثل شبکه یا دیتابیس) گلوگاه اصلیه، نه CPU. ولی وقتی پای محاسبات سنگین وسط میاد، ابزارهایی مثل PyPy، Cython و Numba میتونن پرفورمنس رو چند برابر کنن. مثلاً:
یه حلقه ساده با Numba میتونه از ۵ ثانیه به ۰.۰۵ ثانیه برسه
PyPy تو برنامههای واقعی تا ۷ برابر سرعت رو بالا برده. 🐆
➖➖➖➖➖➖➖➖➖
چیزی که همیشه از زبون همه ی برنامه نویسا میشنویم (مخصوصا جامعه محترم C#) اینه که پایتون خیلی کنده (نسبت به زبان های دیگه هرچند این مقایسه اشتباهه بعضی جاها)
خب اره، درسته پایتون کنده (البته در حالت pure)
توی این پست میخوام بگم که چرا کنده و چجوری میشه سریعش کرد؟
چرا پایتون کنده ؟ 🤓
همونجور که میدونید پایتون به صورت پیشفرض با CPython اجرا میشه، که یه مفسر (interpreter) برای پایتونه و با زبان C نوشته شده. CPython کد پایتون رو به بایتکد (bytecode) تبدیل میکنه و بعد اون رو تو یه ماشین مجازی (VM) اجرا میکنه. این فرایند باعث میشه پایتون نسبت به زبانهای کامپایلشده مثل C یا Rust کندتر باشه، چون
تفسیر خطبهخط انجام میده و به جای کامپایل مستقیم به کد ماشین، پایتون تو زمان اجرا تفسیر میشه.
GIL (Global Interpreter Lock) تو CPython، یه قفل سراسری هست که جلوی اجرای چند نخ (thread) همزمان رو میگیره و برای کارهای multithreading مشکلساز میشه.
داینامیک تایپ بودن پایتون تایپها رو تو زمان اجرا چک میکنه، که یه کم سرعت رو پایین میاره.
ولی خبر خوب اینه که پایتون راه ها و ابزارهایی داره که میتونن این کندی رو برطرف کنن و پرفورمنس رو حسابی بالا ببرن
راه ها و ابزارهایی برای افزایش سرعت 📚
1️⃣ PyPy 🌟
Pypy یه مفسر جایگزین برای پایتونه که از JIT (Just-In-Time Compilation) استفاده میکنه.
و کارکردش اینجوریه که کد پایتون رو به جای تفسیر ساده، تو زمان اجرا به کد ماشین کامپایل میکنه. این یعنی برای حلقهها و عملیات تکراری خیلی سریعتره.
مزیتشم اینه تو بعضی موارد تا ۷ برابر سریعتر از CPython عمل میکنه
و باید توجه داشت باشید برای کدهایی که با C extensionها (مثل NumPy) کار میکنن، کامل سازگار نیست.
2️⃣ Cython ⚡
Cython یه ابزار که کد پایتون رو به C تبدیل میکنه و بعد کامپایلش میکنه.
اینجوری کار میکنه که میتونی تایپهای استاتیک (مثل
int یا float) به متغیرها اضافه کنی تا سرعتش بیشتر بشه. بعد Cython این کد رو به C تبدیل میکنه و یه فایل باینری سریع تحویلت میده.و تا چندین برابر سریعتر از CPython میشه، بهخصوص برای محاسبات سنگین.
3️⃣ Numba 🔥
Numba یه کامپایلر JIT برای پایتونه که با دکوریتور
@jit کار میکنه.کارکردش اینجوریه که کد پایتون رو تو زمان اجرا به کد ماشین تبدیل میکنه، بدون نیاز به تغییر زیاد تو کدنویسی.
برای حلقهها و محاسبات عددی (مثل کار با آرایهها) تا ۱۰۰ برابر سریعتر میشه
4️⃣ CPython با C Extensions 🛠️
میتونی بخشهای کند پروژت یا جاهایی که به سرعت بالا نیاز داری رو با C بنویسی و به CPython وصل کنی.
اینجوریه که کد C رو به صورت ماژول میسازی و تو پایتون لودش میکنی.
و سرعت C رو با سادگی پایتون ترکیب میکنی. کتابخونههایی مثل NumPy و Pandas از این روش استفاده میکنن.
و در اخر پایتون همیشه کند نیست 🙃
حقیقت اینه که پایتون به تنهایی برای خیلی از کارها به اندازه کافی سریعه، بهخصوص تو پروژههایی که I/O (مثل شبکه یا دیتابیس) گلوگاه اصلیه، نه CPU. ولی وقتی پای محاسبات سنگین وسط میاد، ابزارهایی مثل PyPy، Cython و Numba میتونن پرفورمنس رو چند برابر کنن. مثلاً:
یه حلقه ساده با Numba میتونه از ۵ ثانیه به ۰.۰۵ ثانیه برسه
PyPy تو برنامههای واقعی تا ۷ برابر سرعت رو بالا برده. 🐆
#️⃣ #python
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
#تجربه
نمایشگاه اینوتکس ۱۴۰۴
یکی از چیزهایی که بلافاصله بعد از ورود به نمایشگاه اینوتکس امسال توجهم رو جلب کرد، رشد چشمگیر و خیرهکنندهی استارتاپها و شرکتهایی بود که با محوریت هوش مصنوعی فعالیت میکردند. بهجرئت میتونم بگم بیش از ۷۰ درصد کل غرفهها و تیمهای حاضر، در حوزههای مرتبط با تکنولوژی و کامپیوتر بودن، و جالبتر اینکه از بین اونها، بخش زیادی هم مشخصاً روی AI تمرکز داشتن.
این رشد سریع و استقبال وسیع از هوش مصنوعی، در عین اینکه امیدوارکنندهست، بهنوعی هم نگرانکنندهست. حداقل از نگاه من، به نظر میرسه بسیاری از این تیمها و شرکتها، خواسته یا ناخواسته، وارد فاز جدیدی از مسیر کسبوکار شدن؛ فازی که بیشتر شبیه موجسواری روی ترندهاست تا ورود عمیق و هدفمند به دنیای هوش مصنوعی.
به بیان دیگه، بعضیها بهجای اینکه از نوآوری، قابلیتها و عمق مفهومی این حوزه بهره بگیرن، فقط تلاش کردن از «برچسب AI» استفاده کنن تا جذابتر بهنظر برسن. اما با این حال، نمیشه از حق گذشت؛ بودند تیمها و استارتاپهایی که بهوضوح برای حضور در این حوزه وقت گذاشته بودن، مسیر تحقیق و توسعه رو جدی گرفته بودن و محصولاتی با پشتوانهی فنی و ارزشافزوده واقعی ارائه داده بودن.
از طرفی، برخلاف سالهای گذشته، استارتاپهایی که بهصورت نرمافزاری یا به اصطلاح software-oriented بودن، خیلی حضور پررنگی نداشتن و فقط چند غرفهی محدود از این جنس دیده میشد که بیشتر هم با سابقه و تجربه قبلی پیش میرفتن.
اما یکی از دوستداشتنیترین و شاید دلگرمکنندهترین بخشهای نمایشگاه برای من، دیدن پروژهها و استارتاپهایی بود که اگرچه از لحاظ محصول، ساختار تیمی یا ارائه، هنوز جای کار زیادی داشتن، اما با این حال، درگیر کمالگرایی نشده بودن، پروژهشون رو لانچ کرده بودن و جسورانه وارد بازار شده بودن.
@softwrteach
------------------------
🌐💻
نمایشگاه اینوتکس ۱۴۰۴
یکی از چیزهایی که بلافاصله بعد از ورود به نمایشگاه اینوتکس امسال توجهم رو جلب کرد، رشد چشمگیر و خیرهکنندهی استارتاپها و شرکتهایی بود که با محوریت هوش مصنوعی فعالیت میکردند. بهجرئت میتونم بگم بیش از ۷۰ درصد کل غرفهها و تیمهای حاضر، در حوزههای مرتبط با تکنولوژی و کامپیوتر بودن، و جالبتر اینکه از بین اونها، بخش زیادی هم مشخصاً روی AI تمرکز داشتن.
این رشد سریع و استقبال وسیع از هوش مصنوعی، در عین اینکه امیدوارکنندهست، بهنوعی هم نگرانکنندهست. حداقل از نگاه من، به نظر میرسه بسیاری از این تیمها و شرکتها، خواسته یا ناخواسته، وارد فاز جدیدی از مسیر کسبوکار شدن؛ فازی که بیشتر شبیه موجسواری روی ترندهاست تا ورود عمیق و هدفمند به دنیای هوش مصنوعی.
به بیان دیگه، بعضیها بهجای اینکه از نوآوری، قابلیتها و عمق مفهومی این حوزه بهره بگیرن، فقط تلاش کردن از «برچسب AI» استفاده کنن تا جذابتر بهنظر برسن. اما با این حال، نمیشه از حق گذشت؛ بودند تیمها و استارتاپهایی که بهوضوح برای حضور در این حوزه وقت گذاشته بودن، مسیر تحقیق و توسعه رو جدی گرفته بودن و محصولاتی با پشتوانهی فنی و ارزشافزوده واقعی ارائه داده بودن.
از طرفی، برخلاف سالهای گذشته، استارتاپهایی که بهصورت نرمافزاری یا به اصطلاح software-oriented بودن، خیلی حضور پررنگی نداشتن و فقط چند غرفهی محدود از این جنس دیده میشد که بیشتر هم با سابقه و تجربه قبلی پیش میرفتن.
اما یکی از دوستداشتنیترین و شاید دلگرمکنندهترین بخشهای نمایشگاه برای من، دیدن پروژهها و استارتاپهایی بود که اگرچه از لحاظ محصول، ساختار تیمی یا ارائه، هنوز جای کار زیادی داشتن، اما با این حال، درگیر کمالگرایی نشده بودن، پروژهشون رو لانچ کرده بودن و جسورانه وارد بازار شده بودن.
@softwrteach
------------------------
🌐💻
❤6👍1🍾1
Forwarded from Linuxor ?
این ریپو پر ایده های پروژه برنامه نویسیه که به عنوان رزومه یا تمرین میشه ازشون استفاده کرد
github.com/florinpop17/app-ideas
@Linuxor
github.com/florinpop17/app-ideas
@Linuxor
👍3🍓1
Linuxor ?
این ریپو پر ایده های پروژه برنامه نویسیه که به عنوان رزومه یا تمرین میشه ازشون استفاده کرد github.com/florinpop17/app-ideas @Linuxor
ایده های باحالی داره به نسبت برای نمونه کار و رزومه
👍2☃1
Forwarded from DevTwitter | توییت برنامه نویسی
این هم یک دلیل دیگه که «هوش مصنوعی جایگزین کسی نمیشه» بلکه فقط «شکل و نوع کارها رو عوض میکنه».
شرکت IBM در سال ۲۰۲۳ حدود ۸۰۰۰ نفر رو لیآف میکنه تا یکسری سیستمهای HR و منابع انسانی مثل درخواست مرخصی و مدیریت حقوق و دستمزد رو به طور کامل خودکار کنه و در نتیجه، بهرهوری در بیش از ۷۰ نقش شغلی افزایش داشته که حدود ۳.۵ میلیارد دلار سود به ارمغان آورده.
اما Twist ماجرا اینجاست که برخلاف انتظار، تعداد کل کارکنان IBM کاهش نداشته، بلکه این شرکت منابع صرفهجوییشده از طریق اتوماسیون رو صرف استخدام نیروهای جدید در بخشهایی کرده که نیازمند خلاقیت و تعامل انسانی هستن، مثل مهندسی نرمافزار، بازاریابی و فروش.
تجربه IBM بازتابی از روند کلی آینده صنعته که هوش مصنوعی ساختار مشاغل رو بازتعریف میکنه، نه اینکه صرفا حذف کنه. هرچند وظایف تکراری به خوبی توسط AI انجام میشن، اما همچنان نیاز زیادی به مهارتهای انسانی و خلاقیت در حل مسائل مسائل پیچیده و تعامل با مشتریان وجود داره. این نمونه بارز اهمیت ایجاد تعادل میان نوآوری فناورانه و توسعهی راهبردی نیروی کار هست.
پس سعی کنید به جای زانوی غم بغل کردن و کسب بهانه جهت خروج، روی افزایش و یادگیری مهارتهای جدید تمرکز کنید!
لینک مطلب:
https://indiandefencereview.com/ibm-fires-8000-employees-to-replace-them-with-ai-only-to-rehire-just-as-many/
@DevTwitter | <Mamadou On GameDev/>
شرکت IBM در سال ۲۰۲۳ حدود ۸۰۰۰ نفر رو لیآف میکنه تا یکسری سیستمهای HR و منابع انسانی مثل درخواست مرخصی و مدیریت حقوق و دستمزد رو به طور کامل خودکار کنه و در نتیجه، بهرهوری در بیش از ۷۰ نقش شغلی افزایش داشته که حدود ۳.۵ میلیارد دلار سود به ارمغان آورده.
اما Twist ماجرا اینجاست که برخلاف انتظار، تعداد کل کارکنان IBM کاهش نداشته، بلکه این شرکت منابع صرفهجوییشده از طریق اتوماسیون رو صرف استخدام نیروهای جدید در بخشهایی کرده که نیازمند خلاقیت و تعامل انسانی هستن، مثل مهندسی نرمافزار، بازاریابی و فروش.
تجربه IBM بازتابی از روند کلی آینده صنعته که هوش مصنوعی ساختار مشاغل رو بازتعریف میکنه، نه اینکه صرفا حذف کنه. هرچند وظایف تکراری به خوبی توسط AI انجام میشن، اما همچنان نیاز زیادی به مهارتهای انسانی و خلاقیت در حل مسائل مسائل پیچیده و تعامل با مشتریان وجود داره. این نمونه بارز اهمیت ایجاد تعادل میان نوآوری فناورانه و توسعهی راهبردی نیروی کار هست.
پس سعی کنید به جای زانوی غم بغل کردن و کسب بهانه جهت خروج، روی افزایش و یادگیری مهارتهای جدید تمرکز کنید!
لینک مطلب:
https://indiandefencereview.com/ibm-fires-8000-employees-to-replace-them-with-ai-only-to-rehire-just-as-many/
@DevTwitter | <Mamadou On GameDev/>
💊1
Forwarded from تبلیغات
دوره مبانی برنامهنویسی cs50 هاروارد در ایران (در دانشگاه تهران) رو از دست ندید😍🔥
🔗 لینک ثبتنام زودهنگام
با دورهی مبانی علوم کامپیوتر + پایتون +هوش مصنوعی+ وب CS50x Iran ، شما هم مثل چندین میلیون دانشجوی سیاسفیفتی در سراسر جهان، میتونید به سبک دانشگاه هاروارد وارد دنیای برنامه نویسی بشید!👨🏻💻
و علاوه بر این 3 مدرک رسمی از دانشگاه هاروارد دریافت کنید🎓💥
📌تو دورهی تابستانه چخبره؟
- برگزاری به صورت آنلاین و حضوری (در دانشگاه تهران)
- 11 جلسه کلاس مبانی علوم کامپیوتر
- بیش از 56 ساعت آموزش پایتون، وب و هوش مصنوعی
- دریافت 3 مدرک معتبر از cs50x هاروارد
- 5 جلسه رفع اشکال حضوری در رهنما کالج
- رفع اشکال آنلاین هفتگی
- پشتیبانی علمی 24 ساعته در 7 روز هفته (از طریق گروه تلگرامی)
- 2 کارگاه حضوری و آنلاین درباره مهارتهای ورود به بازار کار
- امکان شبکهسازی و تیمسازی
- تجربه تحصیل متفاوت و جذاب به سبک دانشگاه هاروارد
⏰همین حالا میتونید با ثبت نام زود هنگام، با کمترین قیمت ممکن ثبت نام کنید!
🔗 لینک ثبتنام زودهنگام
@cs50xiran
🔗 لینک ثبتنام زودهنگام
کد تخفیف 200 هزار تومانی مخصوص مخاطبین کانال Linuxor:linuxor
با دورهی مبانی علوم کامپیوتر + پایتون +هوش مصنوعی+ وب CS50x Iran ، شما هم مثل چندین میلیون دانشجوی سیاسفیفتی در سراسر جهان، میتونید به سبک دانشگاه هاروارد وارد دنیای برنامه نویسی بشید!👨🏻💻
و علاوه بر این 3 مدرک رسمی از دانشگاه هاروارد دریافت کنید🎓💥
📌تو دورهی تابستانه چخبره؟
- برگزاری به صورت آنلاین و حضوری (در دانشگاه تهران)
- 11 جلسه کلاس مبانی علوم کامپیوتر
- بیش از 56 ساعت آموزش پایتون، وب و هوش مصنوعی
- دریافت 3 مدرک معتبر از cs50x هاروارد
- 5 جلسه رفع اشکال حضوری در رهنما کالج
- رفع اشکال آنلاین هفتگی
- پشتیبانی علمی 24 ساعته در 7 روز هفته (از طریق گروه تلگرامی)
- 2 کارگاه حضوری و آنلاین درباره مهارتهای ورود به بازار کار
- امکان شبکهسازی و تیمسازی
- تجربه تحصیل متفاوت و جذاب به سبک دانشگاه هاروارد
⏰همین حالا میتونید با ثبت نام زود هنگام، با کمترین قیمت ممکن ثبت نام کنید!
🔗 لینک ثبتنام زودهنگام
@cs50xiran
💅1
تبلیغات
دوره مبانی برنامهنویسی cs50 هاروارد در ایران (در دانشگاه تهران) رو از دست ندید😍🔥 🔗 لینک ثبتنام زودهنگام کد تخفیف 200 هزار تومانی مخصوص مخاطبین کانال Linuxor: linuxor با دورهی مبانی علوم کامپیوتر + پایتون +هوش مصنوعی+ وب CS50x Iran ، شما هم مثل چندین…
واقعا یکی از بهترین دوره های فارسی هست
حداقل برای من این شکل بود
و خوبی ش هم اینه که از بیسه سر فصل هاش
برای بچه هایی که تازه میخوان شروع کنن
میتونه تجربه خوبی باشه
خودم دو سال پیش مدرک x و python ش رو گرفتم
که خب برای شروع خیلی بهم انگیزه داد و باحال بود
حداقل برای من این شکل بود
و خوبی ش هم اینه که از بیسه سر فصل هاش
برای بچه هایی که تازه میخوان شروع کنن
میتونه تجربه خوبی باشه
خودم دو سال پیش مدرک x و python ش رو گرفتم
که خب برای شروع خیلی بهم انگیزه داد و باحال بود
💘1
