Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
Linkedin
#soheib #webinarfarsi | Soheib Kiani | 14 comments
لیست 25 ویدیو یوتیوب مصاحبه Software engineering
بک اند - فرانت اند – مهندسی نرم افزار
بکاند (Backend Mock Interviews)
1.ویدیو: Backend System Design Mock Interview 2025
https://lnkd.in/daGaaQga
2.ویدیو: Mock Coding Interview for Product based company…
بک اند - فرانت اند – مهندسی نرم افزار
بکاند (Backend Mock Interviews)
1.ویدیو: Backend System Design Mock Interview 2025
https://lnkd.in/daGaaQga
2.ویدیو: Mock Coding Interview for Product based company…
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
خیلیا میخوان وبسایت بسازن، اما فقط پایتون بلدن، لایبری Reflex نجات دهنده شماست، فقط با کد پایتون میتونید وبسایت هایی مشابه بالا بسازین، البته برای کارای دم دستیه، انتظار زیادی ازش نداشته باشین، برنامه وب خوب میخواین باید وب یاد بگیرین... این خیلی از جاها کار آدمو راه میندازه و خیلی ضعیف نیست اکثر کامپوننت هارو داره
یادگیریش رو از اینجا شروع کنید:
reflex.dev/docs/getting-started/introduction
@Linuxor
یادگیریش رو از اینجا شروع کنید:
reflex.dev/docs/getting-started/introduction
@Linuxor
Forwarded from tech-afternoon (Amin Mesbahi)
توسعهی نرمافزار رو میشه مثل ساختمون، بدون نقشه و طرح معماری ساخت! نگید نمیشه؛ چون خیلیا میسازن و شده! 😂 تیمها شروع میکنن به دیوارکشی (توسعه فرانتاند و بکاند)، ولی وقتی میرسن به اتصالات (Integration)، میبینن لولهکشی و سیمکشی (API) شبیه خونهی پتومت در اومده که از پریز برق آب میاد، لوله برق داره یا درِ پارکینگ به جای کوچه، به پذیرایی همسایه باز میشه؛ ساختمونه هم بین ساختمونهای مجاورش شبیه جوجه کلاغ وسط صد تا جوجه اردکه!
رویکرد سالهای دور (دلار هزار تومنی) این بود که API یه "محصول جانبی" برای ارتباط با سایر سیستمها محسوب میشد؛ یعنی اول بکاند نوشته میشد، بعد یه قسمتی از اون رو بهصورت API در معرض استفاده قرار میدادن. ریشههای این روش، عموما توی خاک سیستمهای دادهمحور (Data-First) رشد میکرد؛ و کمتر "مصرفکنندهمحور" (Consumer-Centric) بود.
از طرفی زیاد دیدیم که تیمها معطل هم برای آماده شدن API میمونن! یا اعصابشون سر تغییراتی که تیم مقابل روی APIهاش بعد از تفاهم اولیه داده خورد میشه! فرانت میگه "API تون درست کار نمیکنه"، بکند میگه "شما درست صداش نمیزنین"، و QA هم وسط این دعوا نرخ تعیین میکنه! یه بخش بزرگ از این سردردها از نداشتن یه زبون مشترک و قرارداد واضح بین تیمهاست.
از طرف دیگه، خیلی وقتها میبینیم که بکند کدش رو نوشته، بعد مستندات رو مینویسه، بعد معلوم میشه مصرفکننده یه چیز دیگه میخواسته! حالا برگردیم و دوباره بنویسیم؟ یا همینجوری با کثیفکاری وصلش کنیم؟ شنیدن جمله "ما بعداً مستندات رو کامل میکنیم!" چیز غریب و نادری نیست! ولی واقعیت اینه که توی تیمهای بالغ، اول API Spec رو مینویسن، بعد کد. اگر هم خیلی بالغ باشن، این Spec رو به عنوان یه قرارداد (Contract) بین تیمها در نظر میگیرن و با ابزارهای خودکار، صحت پیادهسازی و انطباق عینی با طرح و نقشهی اولیه رو کنترل میکنن.
🧭 مفهوم API-First یعنی چی؟
مفهوم API-First یعنی قبل از نوشتن کد، اول API رو طراحی کنیم (عموما توسط معمار این اتفاق میافته) یعنی بشینیم، فکر کنیم، بنویسیم که چه endpointهایی داریم، چه input/output هایی، چه status codeهایی، چه headerهایی... و همهی اینها رو توی یه فایل OpenAPI Spec یا مشابهش ثبت کنیم.
این یعنی API ما از ابتدا مستند شده، با بیزنس، با پروداکت، با تیمهای همکار میشه سناریوسازی و مرور کرد؛ تغییر داد و منطبقش کرد با نیاز واقعی؛ و بعد به کد! بعتر هم برای تغییرات، اول API Spec تغییر میکنه و بعد کد. چه اتفاق میوفته؟
- پیشبینیپذیری: همه میدونن قراره چه دادهای رد و بدل بشه.
- موازیسازی توسعه: تیمهای مختلف میتونن همزمان پیش برن؛ یکی Mock بسازه، یکی پیادهسازی واقعی.
- مستندسازی خودکار: چون API از اول با استانداردهایی مثل OpenAPI تعریف میشه، مستندات همیشه با واقعیت همراستا میمونن.
- کیفیت بالاتر: چون قبل از کدنویسی، درباره طراحی و naming و consistency فکر میکنی.
اینطوری API Spec شما اولا توی سورسکنترل نگهداری میشه، همواره نسخه تست، استیج رو به صورت live در دسترسی داریم، API Owner هر دامنه مشخصه؛ هر کی عشقش کشید به هر شکلی یه API نمینویسه، breaking changeها و کانفلیکتها قبل از تغییر در API آشکار میشن و کلی مزیت دیگه که از حوصله پست تلگرامی خارجه.
رویکرد API-First فقط یک روش نیست، یک تغییر فرهنگی در سازمان، و تغییر استراتژیک در توسعه نرمافزاره. این رویکرد، API رو از یک "افزونه" به یک "محصول اصلی" تبدیل میکنه که برای تجربه توسعهدهنده، سرعت و کیفیت نهایی خیلی حیاتیه. وقتی API-First باشیم، سیستمهای ما در برابر تغییرات مقاومتر، انعطافپذیرتر و آمادهتر برای Integration Economy خواهند بود. یکی از شرکتهایی که بر اساس رویکرد API First کار میکنه زالاندو است که اتفاقا خیلی سخاوتمندانه، یا به توصیف دقیقتر، هوشمندانه، دستورالعمل و راهنمای خودش رو سالهاست به صورت کدباز منتشر کرده و به نظر من بسیار مستند پخته و خوبیه.
پیشنهاد میکنم API رو با سادهسازیهایی که go, fastAPI, flask, .NET یه موضوع خیلی ساده نبینیم، طراحی و نگهداری بد، مصیبتهای خودش رو در بلندمدت نشون میده، موقع اینتگریشنهای بعدی نشون میده و اون وقته که متوجه میشیم ای کاش از ابتدا مشورت گرفته بودیم و صرف «کار کردن» API به خودمون نمره قبولی نمیدادیم! حتمن این روش پرهزینهتر و نیازمند زمان آمادهسازی و توسعه بیشتریه، ولی عملا سرمایهگذاری زمان رشد و اینتگریشن خواهد بود.
Zalando RESTful API and Event Guidelines
Please open Telegram to view this post
VIEW IN TELEGRAM
رابرت کیوساکی، نویسنده پدر پولدار پدر فقیر:
استارتاپ بزنید و طلا، نقره و بیت کوین ذخیره کنید!
لینک محتوا
https://startup360.ir/robert-kiyosaki-warning-forget-retirement-startup-gold-bitcoin/
استارتاپ بزنید و طلا، نقره و بیت کوین ذخیره کنید!
لینک محتوا
https://startup360.ir/robert-kiyosaki-warning-forget-retirement-startup-gold-bitcoin/
Forwarded from Linuxor ?
میدونستین تنجین (Tengine) یه نسخهی تقویتشده از Nginx هستش که شرکت علیبابا ساخته تا بتونه سایتها و سرویسهای خیلی شلوغ خودش رو بهتر مدیریت کنه! اگه بخوایم ساده تر بگیم، همون کاری که Nginx میکنه (یعنی پاسخ دادن سریع به درخواستهای وب و پخش کردن بار بین چند تا سرور)، تنجین هم انجام میده، فقط حرفهایتر و با امکانات بیشتر؛ مثلاً بدون اینکه سرور رو خاموش کنی، میتونی تنظیماتش رو عوض کنی، از پروتکلهای جدید مثل HTTP/3 استفاده کنی یا ترافیک کاربرا رو هوشمندتر بین چند تا سرور تقسیم کنی.
برای نصبش باید کامپایلش کنید (توضیحات کامل ترو خودش داده که چه دستوراتی رو بزنید) :
tengine.taobao.org
@Linuxor
برای نصبش باید کامپایلش کنید (توضیحات کامل ترو خودش داده که چه دستوراتی رو بزنید) :
tengine.taobao.org
@Linuxor
Forwarded from Job Experiences
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👌1
Forwarded from BenDev
حتما حتما حتما تست هاتون (integration test) رو تا جایی که میشه واقعا با ابزار هایی که رو پروداکشن استفاده میشه تست کنید
مثلا اگر پستگرس دارین رو پرداکشن بهتره تستتون هم روی پستگرس باشه تا sqlite
اگر پروداکشن دارین s3 استفاده می کنید تست هم روی localstack باشه
این دفعه دومیه که این اتفاق داره برام میافته
تست برای اینکه سریع رو راحت باشه با sqlite بوده بردم رو پستگرس یهو دیدم ۱۰ تا تست fail شدن همشون هم واقعا باگ بوده
همین اتفاق برای s3 هم افتاد
برای تست داشتیم از همون فایل پایتون استفاده میکردیم
بردم رو لوکال استک الان باگ پیدا کردم.
اشتباه منو تکرار نکنین
درسته ست اپ کردنش سنگین تره شاید یکم طول بکشه و اینها ولی حداقل اطمینان بیشتری به تستت داری
@BenDevelop
مثلا اگر پستگرس دارین رو پرداکشن بهتره تستتون هم روی پستگرس باشه تا sqlite
اگر پروداکشن دارین s3 استفاده می کنید تست هم روی localstack باشه
این دفعه دومیه که این اتفاق داره برام میافته
تست برای اینکه سریع رو راحت باشه با sqlite بوده بردم رو پستگرس یهو دیدم ۱۰ تا تست fail شدن همشون هم واقعا باگ بوده
همین اتفاق برای s3 هم افتاد
برای تست داشتیم از همون فایل پایتون استفاده میکردیم
بردم رو لوکال استک الان باگ پیدا کردم.
اشتباه منو تکرار نکنین
درسته ست اپ کردنش سنگین تره شاید یکم طول بکشه و اینها ولی حداقل اطمینان بیشتری به تستت داری
@BenDevelop
Forwarded from Linuxor ?
اگه تا حالا برات سوال شده «کامپیوترم توی شبکه دقیقاً داره با کی حرف میزنه؟» یا «کدوم برنامه داره نت میخوره؟»، یه ابزار خوب به اسم Sniffnet هست که اینو قشنگ بهت نشون میده
یه برنامه اوپنسورس و خوشظاهر که ترافیک اینترنتت رو لحظهای مانیتور میکنه؛ از اینکه با چه سرورهایی در ارتباطی تا اینکه هر اپ چقدر دانلود و آپلود داره. برای یاد گرفتن شبکه، دیباگ کردن برنامههات یا حتی فقط کنجکاوی دربارهی اینترنت، عالیه!
برخلاف وایرشارک که یهکم سنگین و فنیه، Sniffnet خیلی سادهست و فقط با چند کلیک نمودار و اطلاعات واضح بهت میده. هم برای ویندوز هست، هم لینوکس و مک، و با Rust نوشته شده، دانلود از اینجا :
sniffnet.net
@Linuxor
یه برنامه اوپنسورس و خوشظاهر که ترافیک اینترنتت رو لحظهای مانیتور میکنه؛ از اینکه با چه سرورهایی در ارتباطی تا اینکه هر اپ چقدر دانلود و آپلود داره. برای یاد گرفتن شبکه، دیباگ کردن برنامههات یا حتی فقط کنجکاوی دربارهی اینترنت، عالیه!
برخلاف وایرشارک که یهکم سنگین و فنیه، Sniffnet خیلی سادهست و فقط با چند کلیک نمودار و اطلاعات واضح بهت میده. هم برای ویندوز هست، هم لینوکس و مک، و با Rust نوشته شده، دانلود از اینجا :
sniffnet.net
@Linuxor
دوستانی که دنبال موقعیت شغلی هستن
از فردا نمایشگاه کار شروع میشه و میتونن به شرکت های مختلف سر بزنن و بررسی کنن برای موقعیت های مرتبط
https://www.linkedin.com/posts/iran-job-fair_aeuaetaepahyaecagvaepaevabragpaepaez-aeuaeyaepaeqabraeuahyaezaew-activity-7388118440827506688-arR0?
از فردا نمایشگاه کار شروع میشه و میتونن به شرکت های مختلف سر بزنن و بررسی کنن برای موقعیت های مرتبط
https://www.linkedin.com/posts/iran-job-fair_aeuaetaepahyaecagvaepaevabragpaepaez-aeuaeyaepaeqabraeuahyaezaew-activity-7388118440827506688-arR0?
Linkedin
#نمایشگاه_کار #جذاب_نیرو #استخدام | Iran Job Fair | نمایشگاه کار ایران | 14 comments
نمایشگاه کار دانشگاه شریف_ ۱۸ الی ۲۰ آبانماه
فرصتی ارزشمند برای کارجویان و دانشجویان
از آشنایی با فرهنگ سازمانها تا پیداکردن موقعیتهای شغلی، متناسب با مسیر حرفهای.
در مدت ۳ روز برگزاری نمایشگاه میتونین:
- درباره رزومه و مهارتها مستقیماً با کارفرمایان…
فرصتی ارزشمند برای کارجویان و دانشجویان
از آشنایی با فرهنگ سازمانها تا پیداکردن موقعیتهای شغلی، متناسب با مسیر حرفهای.
در مدت ۳ روز برگزاری نمایشگاه میتونین:
- درباره رزومه و مهارتها مستقیماً با کارفرمایان…
Forwarded from localhost (Yousef Taheri)
یکی از بزرگترین اتفاقات دنیای طراحی امسال الان معرفی شد!
نرم افزارهای Affinity که همیشه یکی از حرفهایترین نرمافزارهای دیزاین بودند و رقیب جدی فتوشاپ و ایلاستریتور و ایندیزاین محسوب میشدند، الان کاملاً رایگان شدند!
درست خوندید - رایگان! (نه trial، نه نسخه محدود، نه اشتراک ماهیانه).
پارسال Canva این شرکت رو خرید و حالا تصمیم گرفتن که همهچی رو رایگان کنن. میخوان ثابت کنن که نرمافزار حرفهای لزوماً نباید گرون باشه و البته به نظرم دلیل اصلیش اینه که اومدن ابزار پایه رو رایگان کردند تا کاربران شروع کنن به طراحی و وقتی نیاز به چیزی مثل یک طرح آماده یا استفاده از قابلیت های هوش مصنوعی داشتند، باید اشتراک کنوا رو خریداری کنن.
از اینجا میتونید مستقیم برای سیستم عامل ویندوز و مک دانلودش کنید. (https://affinity.studio)
Hossein Mahmoodi
نرم افزارهای Affinity که همیشه یکی از حرفهایترین نرمافزارهای دیزاین بودند و رقیب جدی فتوشاپ و ایلاستریتور و ایندیزاین محسوب میشدند، الان کاملاً رایگان شدند!
درست خوندید - رایگان! (نه trial، نه نسخه محدود، نه اشتراک ماهیانه).
پارسال Canva این شرکت رو خرید و حالا تصمیم گرفتن که همهچی رو رایگان کنن. میخوان ثابت کنن که نرمافزار حرفهای لزوماً نباید گرون باشه و البته به نظرم دلیل اصلیش اینه که اومدن ابزار پایه رو رایگان کردند تا کاربران شروع کنن به طراحی و وقتی نیاز به چیزی مثل یک طرح آماده یا استفاده از قابلیت های هوش مصنوعی داشتند، باید اشتراک کنوا رو خریداری کنن.
از اینجا میتونید مستقیم برای سیستم عامل ویندوز و مک دانلودش کنید. (https://affinity.studio)
Hossein Mahmoodi
Forwarded from Linuxor ?
اگه زیاد با ترمینال کار میکنید، Atuin میاد تاریخچه فرمانهاتون رو مدیریت میکنه، ولی نه مثل history معمولی! همه چیز رو با جزئیات ذخیره میکنه: مسیر، زمان اجرا، خروجی و حتی روی چند دستگاه هم sync میشه. یعنی دیگه لازم نیست برای پیدا کردن یه فرمان قدیمی بین صدها خط history دنبال بگردین.
نصب :
atuin.sh
@Linuxor
نصب :
atuin.sh
@Linuxor
Forwarded from Persian Store
🐍 ساخت اپلیکیشن پایتون با نصب آسان: راهنمای کامل
چگونه برنامههای پایتون را به صورت حرفهای بستهبندی کنیم:
🎯 ابزارهای اصلی برای ساخت installer:
• PyInstaller - تبدیل به فایل اجرایی
• Inno Setup - ساخت installer حرفهای برای ویندوز
•NSIS - ابزار قدرتمند ساخت installer
🛠️ مراحل اساسی:
1. تبدیل به executable:
1. ساخت installer:
· ایجاد اسکریپت Inno Setup
· تعریف آیکون، shortcut و مسیر نصب
· کامپایل فایل ISS
1. تست نصب:
· اجرا روی سیستم تمیز
· بررسی وابستگیها
· اطمینان از عملکرد صحیح
📦 بهترین روشها:
· حذف وابستگیهای غیرضروری
· استفاده از virtual environments
· امضای دیجیتال فایلها
· ارائه نسخههای ۳۲ و ۶۴ بیتی
🚀 مزایای بستهبندی حرفهای:
· نصب آسان برای کاربران نهایی
· بدون نیاز به نصب پایتون
· تجربه کاربری بهتر
· توزیع سادهتر
#پایتون #بستهبندی #نصب #PyInstaller #توسعه_نرمافزار
چگونه برنامههای پایتون را به صورت حرفهای بستهبندی کنیم:
🎯 ابزارهای اصلی برای ساخت installer:
• PyInstaller - تبدیل به فایل اجرایی
pyinstaller --onefile --windowed app.py
• Inno Setup - ساخت installer حرفهای برای ویندوز
•NSIS - ابزار قدرتمند ساخت installer
🛠️ مراحل اساسی:
1. تبدیل به executable:
pip install pyinstaller
pyinstaller --onefile your_noscript.py
1. ساخت installer:
· ایجاد اسکریپت Inno Setup
· تعریف آیکون، shortcut و مسیر نصب
· کامپایل فایل ISS
1. تست نصب:
· اجرا روی سیستم تمیز
· بررسی وابستگیها
· اطمینان از عملکرد صحیح
📦 بهترین روشها:
· حذف وابستگیهای غیرضروری
· استفاده از virtual environments
· امضای دیجیتال فایلها
· ارائه نسخههای ۳۲ و ۶۴ بیتی
🚀 مزایای بستهبندی حرفهای:
· نصب آسان برای کاربران نهایی
· بدون نیاز به نصب پایتون
· تجربه کاربری بهتر
· توزیع سادهتر
#پایتون #بستهبندی #نصب #PyInstaller #توسعه_نرمافزار
❤2
Forwarded from ZGP
دیدید که توی جنگو وقتی از query set چند بار استفاده میکنیم نتیجه نمیده یا مثلا هیچ دیتایی وارد دیتا بیس نمیشه یا اشتباه وارد میشه؟
خب این یک باگه معروفه به اسم queryset caching bug که توی django ORM هستش.
مشکل کجاست؟
توی جنگو queryset ها lazy هستن و فقط وقتی لازم باشه داده رو از دیتابیس میگیره اما وقتی یک queryset کش میشه (مثلا با() list یا iteration ) نتیجه اش میشه که توی حافظه می مونه و یا همون کش قدیمی رو نگه میداره .
واییییییییییی باگ واقعی از اونجایی شروع شد که متد هایی مثل () count یا () exists هم بعثی وقتا به کش وابسته ان ولی نباید اینطور میشد .
و ممکن بود که شمارش رکورد ها اشتباه باشه و در سیستم های حساس فاجعه به بار می آورد.
و توسعه دهنده هایی که ORM رو عمیق میشناختن تونستن بفهمن مشکل از کجاست.
اومدن رفعش کردن چطوری؟
در نسخه های بعدی جنگو تیم رسمی ORM رو بازسازی کرد تا اون دوتا متد ها همیشه کوئری جداگانه بفرسته و به کش متکی نباشه .
#BUG
#Django
#ORM
@ZGProtocol
خب این یک باگه معروفه به اسم queryset caching bug که توی django ORM هستش.
مشکل کجاست؟
توی جنگو queryset ها lazy هستن و فقط وقتی لازم باشه داده رو از دیتابیس میگیره اما وقتی یک queryset کش میشه (مثلا با() list یا iteration ) نتیجه اش میشه که توی حافظه می مونه و یا همون کش قدیمی رو نگه میداره .
واییییییییییی باگ واقعی از اونجایی شروع شد که متد هایی مثل () count یا () exists هم بعثی وقتا به کش وابسته ان ولی نباید اینطور میشد .
و ممکن بود که شمارش رکورد ها اشتباه باشه و در سیستم های حساس فاجعه به بار می آورد.
و توسعه دهنده هایی که ORM رو عمیق میشناختن تونستن بفهمن مشکل از کجاست.
اومدن رفعش کردن چطوری؟
در نسخه های بعدی جنگو تیم رسمی ORM رو بازسازی کرد تا اون دوتا متد ها همیشه کوئری جداگانه بفرسته و به کش متکی نباشه .
#BUG
#Django
#ORM
@ZGProtocol
❤4
Forwarded from Linuxor ?
این کورس 5 روزه گوگل برای Ai Agent هارو از دست ندید
توش کلی چیز قراره صحبت بشه از معماری و ابزارهای هوش مصنوعی گرفته تا حافظه، ارزیابی و استقرار (فعلا سه روزش تکمیل شده، روز چهارم امروز میآد و روز پنجمش احتمالا فردا)
youtube.com/playlist?list=PLqFaTIg4myu9r7uRoNfbJhHUbLp-1t1YE
@Linuxor
توش کلی چیز قراره صحبت بشه از معماری و ابزارهای هوش مصنوعی گرفته تا حافظه، ارزیابی و استقرار (فعلا سه روزش تکمیل شده، روز چهارم امروز میآد و روز پنجمش احتمالا فردا)
youtube.com/playlist?list=PLqFaTIg4myu9r7uRoNfbJhHUbLp-1t1YE
@Linuxor
Forwarded from جنگولرن
قابلیت Password-based authentication در جنگو
عکس رو ببین.
وقتی میخوای یوزر توی پنل ادمین بسازی (در حالت پیشفرض منظورم هست)
میتونی اینو فعال یا غیرفعال کنی.
مشخص میکنی که کاربر با پسورد لاگین کنه یا نه (مثلا فقط بتونه با کد یکبار مصرف لاگین کنه، غیرفعالش میکنی یا...)
این تنظیم از جنگو 5.1 اضافه شده.
اما اینو ننوشتم که بگم عجب فیچر خاصی، به نظرم زیادم خاص نیست.
میخوام شمارو دعوت کنم به pr یی که براش ثبت شده و مکالمه هایی که رد و بدل شده، تا ایده اولیه، این شده (به تاریخ pr و تاریخ merge دقت کن)
این لینک:
https://github.com/django/django/pull/16942
راستی، فارسی ش کار نمیکنه ظاهرا، تا دیر نشده فارسی ش رو pr بده 😁
عکس رو ببین.
وقتی میخوای یوزر توی پنل ادمین بسازی (در حالت پیشفرض منظورم هست)
میتونی اینو فعال یا غیرفعال کنی.
مشخص میکنی که کاربر با پسورد لاگین کنه یا نه (مثلا فقط بتونه با کد یکبار مصرف لاگین کنه، غیرفعالش میکنی یا...)
این تنظیم از جنگو 5.1 اضافه شده.
اما اینو ننوشتم که بگم عجب فیچر خاصی، به نظرم زیادم خاص نیست.
میخوام شمارو دعوت کنم به pr یی که براش ثبت شده و مکالمه هایی که رد و بدل شده، تا ایده اولیه، این شده (به تاریخ pr و تاریخ merge دقت کن)
این لینک:
https://github.com/django/django/pull/16942
راستی، فارسی ش کار نمیکنه ظاهرا، تا دیر نشده فارسی ش رو pr بده 😁
Forwarded from OpenPCB
طبق گفته FFmpeg پچ جدید باعث شده یه تابع مهم تو پردازش ویدیو ۳.۴۶ برابر سریعتر بشه. ماجرا اینه که یکی از کانتریبیوترها به اسم mkver اومده تابع add_8x8basis_sse3 رو که قبلاً با C نوشته شده بود رو کاملا با اسمبلی x86 بازنویسی کرده و خروجی هم شده همین جهش سرعت جدی.
دلیلش اینه که کامپایلرهای GCC و Clang وقتی با فلگ O3 کد رو کامپایل میکنند، معمولاً یه سری حلقه هایی که اصلاً قرار نیست زیاد اجرا بشن رو باز میکنن و کد رو حجیمتر میکنن. اینجا هم اون فانکشن رو از ۱۷۶ بایت رسونده به ۱۴۰۶ بایت! تو این مدل پردازشها، چون دستورهای خاص و عجیبغریبی مثل pmulhrsw وجود داره، کامپایلر همیشه انتخابهای درستی نمیکنه. دولوپرهای FFmpeg هم میگن: «باشه، خودمون درستش میکنیم.» نکته مهم اینه که لزوماً کد C مشکل نداره! این رفتار کامپایلر تو مرحله بهینهسازیه که گاهی خودش دردسر درست میکنه.
این اولینبار نیست FFmpeg از اسمبلی برای گرفتن نهایت قدرت سختافزار استفاده میکنه واین همون بحث معروف چند وقت پیشه که چرا پلیر dav1d که چندتا آدم معمولی ساختنش، بعضی جاها از libgav1 گوگل بهتره. جواب همون همیشگیه: وقتی دقیق میدونی چی میخوای و خودت دستی کد اسمبلی رو مینویسی، خروجی معمولاً از نسخهی تولیدشده توسط کامپایلر بهتره.
یه سوال هم که همیشه مطرح میشه اینه که «چرا این مشکلات رو به سازندههای کامپایلر گزارش نمیکنن؟» گزارش میدن، ولی تا نسخه جدید کامپایلر بیاد مدتها طول میکشه. یعنی عملاً بهترین کار اینه که خودشون همزمان دست به آچار باشن و مشکل رو دور بزنن.
برای همین پروژههایی مثل FFmpeg اینقدر ارزشمندن. از یه طرف همیشه تو بهینهترین حالت ممکنه، از یه طرف دیگه همین مواردی که پیدا میکنن عملاً به کل کامیونیتی C و کامپایلرها سود میرسونه و باعث میشه ابزارهایی که همه استفاده میکنن، کمکم بهتر بشن.
📺Source
📡openpcb
دلیلش اینه که کامپایلرهای GCC و Clang وقتی با فلگ O3 کد رو کامپایل میکنند، معمولاً یه سری حلقه هایی که اصلاً قرار نیست زیاد اجرا بشن رو باز میکنن و کد رو حجیمتر میکنن. اینجا هم اون فانکشن رو از ۱۷۶ بایت رسونده به ۱۴۰۶ بایت! تو این مدل پردازشها، چون دستورهای خاص و عجیبغریبی مثل pmulhrsw وجود داره، کامپایلر همیشه انتخابهای درستی نمیکنه. دولوپرهای FFmpeg هم میگن: «باشه، خودمون درستش میکنیم.» نکته مهم اینه که لزوماً کد C مشکل نداره! این رفتار کامپایلر تو مرحله بهینهسازیه که گاهی خودش دردسر درست میکنه.
این اولینبار نیست FFmpeg از اسمبلی برای گرفتن نهایت قدرت سختافزار استفاده میکنه واین همون بحث معروف چند وقت پیشه که چرا پلیر dav1d که چندتا آدم معمولی ساختنش، بعضی جاها از libgav1 گوگل بهتره. جواب همون همیشگیه: وقتی دقیق میدونی چی میخوای و خودت دستی کد اسمبلی رو مینویسی، خروجی معمولاً از نسخهی تولیدشده توسط کامپایلر بهتره.
یه سوال هم که همیشه مطرح میشه اینه که «چرا این مشکلات رو به سازندههای کامپایلر گزارش نمیکنن؟» گزارش میدن، ولی تا نسخه جدید کامپایلر بیاد مدتها طول میکشه. یعنی عملاً بهترین کار اینه که خودشون همزمان دست به آچار باشن و مشکل رو دور بزنن.
برای همین پروژههایی مثل FFmpeg اینقدر ارزشمندن. از یه طرف همیشه تو بهینهترین حالت ممکنه، از یه طرف دیگه همین مواردی که پیدا میکنن عملاً به کل کامیونیتی C و کامپایلرها سود میرسونه و باعث میشه ابزارهایی که همه استفاده میکنن، کمکم بهتر بشن.
📺Source
📡openpcb
Forwarded from جنگولرن
معرفی django-upgrade
اگه یه پروژه جنگو داری و میخوای نسخه ش رو عوض کنی.
اما تغییرات زیادی نیاز داره (مثلا بعضی چیزا deprecated شدن)
میتونی ازش استفاده کنی.
از جنگو 6 هم پشتیبانی میکنه
لینک داکیومنت:
https://django-upgrade.readthedocs.io/en/latest/fixers.html
اگه یه پروژه جنگو داری و میخوای نسخه ش رو عوض کنی.
اما تغییرات زیادی نیاز داره (مثلا بعضی چیزا deprecated شدن)
میتونی ازش استفاده کنی.
از جنگو 6 هم پشتیبانی میکنه
لینک داکیومنت:
https://django-upgrade.readthedocs.io/en/latest/fixers.html
Forwarded from Linuxor ?
اگه حوصلتون سر رفته برید درباره الگوریتم های تطبیقی بخونید، الگوریتم تطبیقی یعنی الگوریتمی که بر اساس شرایط پارامترهاشو تغییر میده تا عملکرد بهتری به دست بیاره.
مثلا فیلتر کالمن که توی موقعیتیابی پهپاد هم استفاده میشه، ساده تر بخوام بگم فرض کنید یه ربات داره تحت داده های پنج شیش تا سنسور مثلا GPS و شتاب سنج و ژیروسکوپ و ... تصمیم میگیره چطوری حرکت کنه، یهویی اسرائیل خدا میزنه تو کلش به ایران حمله میکنه و ایران GPS هارو نویزی میکنه، این ربات زبون بسته از فیلتر کالمن استفاده میکنه، فیلتر کالمن هم میبینه اخ اخ GPS وضعیتش نویزیه میآد و ضریب اعتماد بهش رو کم و ضریب اعتماد به بقیه سنسورا به خصوص اون پایدار هارو زیاد میکنه یجوری خودشو تطبیق میده با محیط که بتونه بهترین عملکردو داشته باشه، به این میگن الگوریتم تطبیقی کلی از این الگوریتما داریم به خصوص توی شبکه و هوش مصنوعی و ...
@Linuxor
مثلا فیلتر کالمن که توی موقعیتیابی پهپاد هم استفاده میشه، ساده تر بخوام بگم فرض کنید یه ربات داره تحت داده های پنج شیش تا سنسور مثلا GPS و شتاب سنج و ژیروسکوپ و ... تصمیم میگیره چطوری حرکت کنه، یهویی اسرائیل خدا میزنه تو کلش به ایران حمله میکنه و ایران GPS هارو نویزی میکنه، این ربات زبون بسته از فیلتر کالمن استفاده میکنه، فیلتر کالمن هم میبینه اخ اخ GPS وضعیتش نویزیه میآد و ضریب اعتماد بهش رو کم و ضریب اعتماد به بقیه سنسورا به خصوص اون پایدار هارو زیاد میکنه یجوری خودشو تطبیق میده با محیط که بتونه بهترین عملکردو داشته باشه، به این میگن الگوریتم تطبیقی کلی از این الگوریتما داریم به خصوص توی شبکه و هوش مصنوعی و ...
@Linuxor
👍2
Forwarded from TheAliBigdeli Channel
اگه بخوام از اول شروع کنم تو ۲۰۲۶، دیگه نمیرم کورس پشت کورس ببینم، نمیشینم حلقه و شرط حفظ کنم، نمیرم دنبال مدرک.
بازی با اومدن AI کامل عوض شده، و اگه مثل قبل یاد بگیری، جا میمونی.
تو این ویدیو دقیق و بدون دور زدن توضیح دادم که اگه همین امروز از صفر بخوام شروع کنم، چی کار میکنم تا توی کمترین زمان هم یاد بگیرم، هم واقعاً به سطح استخدام برسم.
این چیزاییه که تو این ویدیو گفتم:
- چرا حفظ کردن توی ۲۰۲۶ نابودت میکنه
- چطور باید درست سؤال بپرسی و سرچ کنی
- چطور با روش تمرین درست، مهارتت رو واقعی بسازی
- چرا اول باید بری سراغ کُدینگ (حل مسئله) نه پروگرمینگ
- چرا پایتون بهترین شروعه
- و اینکه چطوری مسیرتو از صفر تا “کاربلد واقعی” بسازی
این ویدیو برای کساییه که:
یا تازه میخوان وارد دنیای برنامهنویسی بشن،
یا حس میکنن AI داره همهچی رو بهم میریزه و باید از نو شروع کنن.
اگه میخوای ۲۰۲۶ رو جدی شروع کنی، این ویدیو نقشهی راهته.
لینک ویدئو:
https://youtu.be/iuRfkJMbkTI?si=4AHfJ-pzH3_sWQ9H
کانال:
https://youtube.com/@babaksacademy
@thealibigdeli_channel
#tips
بازی با اومدن AI کامل عوض شده، و اگه مثل قبل یاد بگیری، جا میمونی.
تو این ویدیو دقیق و بدون دور زدن توضیح دادم که اگه همین امروز از صفر بخوام شروع کنم، چی کار میکنم تا توی کمترین زمان هم یاد بگیرم، هم واقعاً به سطح استخدام برسم.
این چیزاییه که تو این ویدیو گفتم:
- چرا حفظ کردن توی ۲۰۲۶ نابودت میکنه
- چطور باید درست سؤال بپرسی و سرچ کنی
- چطور با روش تمرین درست، مهارتت رو واقعی بسازی
- چرا اول باید بری سراغ کُدینگ (حل مسئله) نه پروگرمینگ
- چرا پایتون بهترین شروعه
- و اینکه چطوری مسیرتو از صفر تا “کاربلد واقعی” بسازی
این ویدیو برای کساییه که:
یا تازه میخوان وارد دنیای برنامهنویسی بشن،
یا حس میکنن AI داره همهچی رو بهم میریزه و باید از نو شروع کنن.
اگه میخوای ۲۰۲۶ رو جدی شروع کنی، این ویدیو نقشهی راهته.
لینک ویدئو:
https://youtu.be/iuRfkJMbkTI?si=4AHfJ-pzH3_sWQ9H
کانال:
https://youtube.com/@babaksacademy
@thealibigdeli_channel
#tips
Forwarded from DynX
میخوای داکر نصب کنی روی سرور ایرانت ولی تحریمیم؟
1. اول این اسکریپت رو بزن و گزینه 2.
2. دستور
تمامی مقادیر رو کامنت کن و این دو لاین رو اضافه کن:
3. با این دستور داکر راحت نصب کن:
حتی هر پکیج داکری هم خواستی از این به بعد برات pull میشه با سرعت بالا (:
مثلا
1. اول این اسکریپت رو بزن و گزینه 2.
2. دستور
nano /etc/resolv.conf رو بزنتمامی مقادیر رو کامنت کن و این دو لاین رو اضافه کن:
nameserver 10.139.177.18
nameserver 10.139.177.16
3. با این دستور داکر راحت نصب کن:
curl -fsSL https://get.docker.com | sh
حتی هر پکیج داکری هم خواستی از این به بعد برات pull میشه با سرعت بالا (:
مثلا
docker run hello-world