فرض کنید یه پروژه اوپن سورس منتشر کردید و مرتب هم آپدیتش کردید و میخواید بدونید کدوم آپدیت پروژه باعث شده افراد بیشتری بیان و از ریپازیتوری استفاده کنن یا بهش استار بدن. یکی از راهای پر استفاده اینه که یه نمودار از استار هایی که به پروژه داده شده داشته باشید😃
🌟 ابزارایی مثل Star History این نمودار رو طراحی میکنن براتون. اما گرفتن اطلاعات موردنیازشون از API گیتهاب، مخصوصا برای ریپو های محبوب تر تا قبل از آپدیت شدن API گیت هاب ساده نبود. مثلا برای ساختن تاریخچه استار های ریپازیتوری React با حدود 251,000 استار به تقریبا 2,511 درخواست نیاز بود! چون API قدیمی اطلاعات رو به شکل صفحه هایی شامل حداکثر 100 کاربر برمیگردوند و ابزارها باید زمان ثبت هر Star رو از اونجا میگرفتن.
این روش علاوه بر تعداد زیاد درخواست ها، دیتابیس رو هم سنگین میکرد. از طرفی، اطلاعات کاربرا در اختیار ابزارایی قرار میگرفت که اصلا به اون نیازی نداشتن. گیت هاب برای حل این مشکل، API جدیدی طراحی کرده که به جای اطلاعات تک تک کاربران، تعداد استار ها رو به تاریخ هر روز برمیگردونه و توی هر درخواست میتونه داده های حداکثر 30 هفته رو ارائه بده.
اما نکته مهمتر، نحوه بهینهسازی دیتابیسه. توی روش قبل، دیتابیس برای پیدا کردن تعداد کل صفحات تعداد استار ها رو تو هر درخواست دوباره حساب میکرد. حتی اگر قرار بود فقط چند نتیجه برگردونه، هر بار کلی رکورد رو باید بررسی میکرد.
توی روش جدید اول میاد بر اساس بازه زمانی فیلترشون میکنه و بعد تعداد استار ها رو حساب میکنه که باعث میشه دیتابیس بجای پردازش دوباره کل رکورد ها فقط رکورد های مربوط به بازه زمانی مورد نیاز رو بررسی کنه.
📉 نتیجه تست روی ریپازیتوری React که خود گیت هاب توی مقالش بهش اشاره کرده این بوده که برای برگردوندن تاریخچه کامل استارهای ریپازیتوری تعداد درخواستا از 2,511 به 24 رسیده و هر رکورد توی دریافت کل نتیجه، تقریبا یه بار بررسی شده.
💡 نکته ای که این موضوع داره اینه که باید بدونیم کم کردن تعداد نتایج یه کوئری لزوما باعث سریعتر شدن اون نمیشه و مهمه که قبل از اجرای پردازش های سنگین، دادههای غیر ضروری رو که بهشون نیازی نداریم فیلتر کنیم.
#github #star #news
☕️ Telegram | Website | Discord
🌟 ابزارایی مثل Star History این نمودار رو طراحی میکنن براتون. اما گرفتن اطلاعات موردنیازشون از API گیتهاب، مخصوصا برای ریپو های محبوب تر تا قبل از آپدیت شدن API گیت هاب ساده نبود. مثلا برای ساختن تاریخچه استار های ریپازیتوری React با حدود 251,000 استار به تقریبا 2,511 درخواست نیاز بود! چون API قدیمی اطلاعات رو به شکل صفحه هایی شامل حداکثر 100 کاربر برمیگردوند و ابزارها باید زمان ثبت هر Star رو از اونجا میگرفتن.
این روش علاوه بر تعداد زیاد درخواست ها، دیتابیس رو هم سنگین میکرد. از طرفی، اطلاعات کاربرا در اختیار ابزارایی قرار میگرفت که اصلا به اون نیازی نداشتن. گیت هاب برای حل این مشکل، API جدیدی طراحی کرده که به جای اطلاعات تک تک کاربران، تعداد استار ها رو به تاریخ هر روز برمیگردونه و توی هر درخواست میتونه داده های حداکثر 30 هفته رو ارائه بده.
اما نکته مهمتر، نحوه بهینهسازی دیتابیسه. توی روش قبل، دیتابیس برای پیدا کردن تعداد کل صفحات تعداد استار ها رو تو هر درخواست دوباره حساب میکرد. حتی اگر قرار بود فقط چند نتیجه برگردونه، هر بار کلی رکورد رو باید بررسی میکرد.
توی روش جدید اول میاد بر اساس بازه زمانی فیلترشون میکنه و بعد تعداد استار ها رو حساب میکنه که باعث میشه دیتابیس بجای پردازش دوباره کل رکورد ها فقط رکورد های مربوط به بازه زمانی مورد نیاز رو بررسی کنه.
📉 نتیجه تست روی ریپازیتوری React که خود گیت هاب توی مقالش بهش اشاره کرده این بوده که برای برگردوندن تاریخچه کامل استارهای ریپازیتوری تعداد درخواستا از 2,511 به 24 رسیده و هر رکورد توی دریافت کل نتیجه، تقریبا یه بار بررسی شده.
💡 نکته ای که این موضوع داره اینه که باید بدونیم کم کردن تعداد نتایج یه کوئری لزوما باعث سریعتر شدن اون نمیشه و مهمه که قبل از اجرای پردازش های سنگین، دادههای غیر ضروری رو که بهشون نیازی نداریم فیلتر کنیم.
#github #star #news
☕️ Telegram | Website | Discord
🔥6❤🔥3
اگه برای دیباگ API مجبورید مدام کد رو تغییر بدین تا هدر جدیدی به ریکوئست ها اضافه کنید، اکستنشن Header Override میتونه کارتون رو راحت تر کنه💯
Header Override یه اکستنشن اوپن سورس که باهاش میتونید هدر های HTTP و کوکی ها رو بدون تغییر کد، برای URL های مشخص تغییر بدید.
🔸مثلا میتونید هدر های موردنیاز رو برای API های مشخصی تنظیم کنید یا برای هر پروژه، تنظیمات جداگانهای داشته باشید.
🔗 https://headeroverride.com
فعلا از Chrome, Firefox و Edge پشتیبانی میکنه.
#extension #api #override
☕️ Telegram | Website | Discord
Header Override یه اکستنشن اوپن سورس که باهاش میتونید هدر های HTTP و کوکی ها رو بدون تغییر کد، برای URL های مشخص تغییر بدید.
🔸مثلا میتونید هدر های موردنیاز رو برای API های مشخصی تنظیم کنید یا برای هر پروژه، تنظیمات جداگانهای داشته باشید.
🔗 https://headeroverride.com
فعلا از Chrome, Firefox و Edge پشتیبانی میکنه.
#extension #api #override
☕️ Telegram | Website | Discord
🔥6❤🔥2
Devtoolhub بیشتر از 40 تا ابزار ساده ولی کاربردی داره که کارایی مثل JSON Formater برای مرتب کردن و خوانا تر کردن JSON ها، تست پترن های Regex و encode و decode کردن Base64 یا حتی URL، ساخت UUID، تولید Hash و کلی چیز دیگه رو هم پوشش میدن💎
🔗 https://devtoolhub.net/
#dev #tool
☕️ Telegram | Website | Discord
🔗 https://devtoolhub.net/
#dev #tool
☕️ Telegram | Website | Discord
🔥4❤🔥2
کداکسپلور | CodeExplore
Photo
🎯 توی Release Candidate 2 از .NET 11 چه تغییراتی اتفاق افتاده؟
این نسخه هم مثل RC1 مجوز Go-live Support داره یعنی این ورژن توی محیط Production پشتیبانی میشه.
قابلیت پشتیبانی #F از Runtime Async اضافه شده، یعنی Runtime میتونه مدیریت توقف و ادامه اجرای کدهای Async رو برعهده بگیره. علاوه بر این، بعضی عملیات Collectionها با تخصیص حافظه کمتری اجرا میشن.
API های Dot NET Core مربوط به Virtualization توی کامپوننت QuickGrid از حالت آزمایشی خارج شدن. این قابلیت کمک میکنه موقع نمایش دیتاهای سنگین، فقط بخش موردنیاز از دادهها پردازش و نمایش داده بشه👌🏻
توی NET MAUI. هم امکان ساختن رابط کاربری با C# بدون نیاز به کتابخونه UI اضافی فراهم شده و بهبودهایی توی XAML و پشتیبانی از Assetهای Apple Icon Composer انجام شده. Windows Forms هم تغییراتی در استایلهای ظاهری و ابزارهای تحلیل کد برای C# و Visual Basic داشته.
📚کتابخونههای .NET قابلیتهای جدیدی برای پردازش تدریجی دادههای CBOR و کنترل تعداد ریکوئست های همزمان HTTP/2 دارن. همچنین APIهای جدیدی برای رمزنگاری ML-KEM و HPKE اضافه شدن.
به نسبت RC1 قابلیتای بیشتری داشته و میشه انتظار داشت دات نت 11 خیلی جالب باشه💥
#dotnet #csharp #microsoft #news
☕️ Telegram | Website | Discord
این نسخه هم مثل RC1 مجوز Go-live Support داره یعنی این ورژن توی محیط Production پشتیبانی میشه.
قابلیت پشتیبانی #F از Runtime Async اضافه شده، یعنی Runtime میتونه مدیریت توقف و ادامه اجرای کدهای Async رو برعهده بگیره. علاوه بر این، بعضی عملیات Collectionها با تخصیص حافظه کمتری اجرا میشن.
API های Dot NET Core مربوط به Virtualization توی کامپوننت QuickGrid از حالت آزمایشی خارج شدن. این قابلیت کمک میکنه موقع نمایش دیتاهای سنگین، فقط بخش موردنیاز از دادهها پردازش و نمایش داده بشه👌🏻
توی NET MAUI. هم امکان ساختن رابط کاربری با C# بدون نیاز به کتابخونه UI اضافی فراهم شده و بهبودهایی توی XAML و پشتیبانی از Assetهای Apple Icon Composer انجام شده. Windows Forms هم تغییراتی در استایلهای ظاهری و ابزارهای تحلیل کد برای C# و Visual Basic داشته.
📚کتابخونههای .NET قابلیتهای جدیدی برای پردازش تدریجی دادههای CBOR و کنترل تعداد ریکوئست های همزمان HTTP/2 دارن. همچنین APIهای جدیدی برای رمزنگاری ML-KEM و HPKE اضافه شدن.
به نسبت RC1 قابلیتای بیشتری داشته و میشه انتظار داشت دات نت 11 خیلی جالب باشه💥
#dotnet #csharp #microsoft #news
☕️ Telegram | Website | Discord
❤🔥3🔥2
اگر میخواین خیلی سریع یه فریم ورک یا زبان جدید رو تست کنید و خروجیشو ببینید دیگه نیاز نیست پکیجاشو نصب کنید🧐
کافیه LiveCodes رو باز کنید و کدتون رو بنویسید، اجراش کنید و خروجیو همون لحظه ببینید😃 از React و Vue گرفته تا TypeScript, Python, Go و بیشتر از 90 زبان و فریم ورک رو هم پشتیبانی میکنه.
🔗 https://livecodes.io
همچنین میتونید کد هاتونو با QR Code یا لینک به اشتراک بزارید✅
#livecode #tool
☕️ Telegram | Website | Discord
کافیه LiveCodes رو باز کنید و کدتون رو بنویسید، اجراش کنید و خروجیو همون لحظه ببینید😃 از React و Vue گرفته تا TypeScript, Python, Go و بیشتر از 90 زبان و فریم ورک رو هم پشتیبانی میکنه.
🔗 https://livecodes.io
همچنین میتونید کد هاتونو با QR Code یا لینک به اشتراک بزارید✅
#livecode #tool
☕️ Telegram | Website | Discord
🔥9❤🔥3
کداکسپلور | CodeExplore
Photo
تایپ اسکریپت 7.1 اینجاست اما فعلا توی نسخه بتا🧪
توی این ورژن قابلیتای جدیدی اضافه شده و مثل TypeScript 7 تمرکز روی بهبود سرعت و کاهش مصرف حافظس. بر اساس بنچمارک هایی که منتشر کردن که عکسشو بالا گذاشتم، توی چند تا پروژه واقعی این ورژن نسبت به 7 بین 1.2 تا 1.9 سریعتر عمل کرده و مصرف حافظش هم بین 15.8 تا 49.6 درصد کمتر شده، البته که این عدد ها بستگی به پروژه و شرایط اجراش هم داره.
♨️ اما بریم سراغ چیزای جدیدی که اضافه شدن:
قابلیت جدید Content Mappers به IDE ها و کد ادیتور ها دسترسی بهتری میده که بتونن کد فایلای فریمورک هایی مثل Vue و Svelte رو بهتر بررسی کنن و ارور هارو دقیق تر و توی جای درست نشون بدن.
حالا تایپ اسکریپت از قابلیت Source Phase Imports هم پشتیبانی میکنه. قابلیتی که اجازه میده مثلا یه ماژول WebAssembly رو بصورت کامپایل شده ایمپورت کنید و بعد خودتون با استفاده از اون، نمونهای از ماژول بسازید و اجراش کنید.
--target es2026 اضافه شده که به تایپاسکریپت اجازه میده قابلیتهای جدید جاوااسکریپت در استاندارد ECMAScript 2026 رو بشناسه. در نتیجه میتونه متدهایی مثل Math.sumPrecise() و Iterator.concat() رو بشناسه و نوع دادههاشون رو بررسی کنه.
API های جدید تایپ اسکریپت هم دسترسی به بخش هایی مثل AST، فایل سیستم و فرایند کامپایل رو ساده تر میکنن تا توسعه ابزار هایی مثل Code Formatter و Static Analysis راحتر بشه.
کامندش برای نصب و تست:
#typescript #update
☕️ Telegram | Website | Discord
توی این ورژن قابلیتای جدیدی اضافه شده و مثل TypeScript 7 تمرکز روی بهبود سرعت و کاهش مصرف حافظس. بر اساس بنچمارک هایی که منتشر کردن که عکسشو بالا گذاشتم، توی چند تا پروژه واقعی این ورژن نسبت به 7 بین 1.2 تا 1.9 سریعتر عمل کرده و مصرف حافظش هم بین 15.8 تا 49.6 درصد کمتر شده، البته که این عدد ها بستگی به پروژه و شرایط اجراش هم داره.
♨️ اما بریم سراغ چیزای جدیدی که اضافه شدن:
قابلیت جدید Content Mappers به IDE ها و کد ادیتور ها دسترسی بهتری میده که بتونن کد فایلای فریمورک هایی مثل Vue و Svelte رو بهتر بررسی کنن و ارور هارو دقیق تر و توی جای درست نشون بدن.
حالا تایپ اسکریپت از قابلیت Source Phase Imports هم پشتیبانی میکنه. قابلیتی که اجازه میده مثلا یه ماژول WebAssembly رو بصورت کامپایل شده ایمپورت کنید و بعد خودتون با استفاده از اون، نمونهای از ماژول بسازید و اجراش کنید.
--target es2026 اضافه شده که به تایپاسکریپت اجازه میده قابلیتهای جدید جاوااسکریپت در استاندارد ECMAScript 2026 رو بشناسه. در نتیجه میتونه متدهایی مثل Math.sumPrecise() و Iterator.concat() رو بشناسه و نوع دادههاشون رو بررسی کنه.
API های جدید تایپ اسکریپت هم دسترسی به بخش هایی مثل AST، فایل سیستم و فرایند کامپایل رو ساده تر میکنن تا توسعه ابزار هایی مثل Code Formatter و Static Analysis راحتر بشه.
کامندش برای نصب و تست:
npm install -D typescript@beta
#typescript #update
☕️ Telegram | Website | Discord
❤🔥3🔥2⚡1
ممکنه یه کوئری SQL بنویسید که درست کار کنه، اما بهینه نباشه. مثلا اطلاعات بیشتری از نیازتون برگردونه و بشه با بازنویسی کوئری و استفاده از Index مناسب، عملکردش رو بهتر کرد👌
اینجاست که ابزاری مثل SQLito به کارتون میاد. کافیه کوئری رو بهش بدید و نوع دیتابیس رو انتخاب کنین. SQLito کوئری رو تحلیل میکنه و پیشنهادایی برای بازنویسی و بهینهسازی کوئری بهتون میده.
دیتابیسای MySQ, PostgreSQL, SQL Server, SQLite و MariaDB رو هم ساپورت میکنه✅
🔗 https://sqli.to
#sql #optimize #tool
☕️ Telegram | Website | Discord
اینجاست که ابزاری مثل SQLito به کارتون میاد. کافیه کوئری رو بهش بدید و نوع دیتابیس رو انتخاب کنین. SQLito کوئری رو تحلیل میکنه و پیشنهادایی برای بازنویسی و بهینهسازی کوئری بهتون میده.
دیتابیسای MySQ, PostgreSQL, SQL Server, SQLite و MariaDB رو هم ساپورت میکنه✅
🔗 https://sqli.to
#sql #optimize #tool
☕️ Telegram | Website | Discord
🔥3❤🔥2
اگه بخوای ساختار یه پروژه یا ارتباط بین بخشهای مختلفش رو بهتر درک کنی، Visual Nerve میتونه کمکت کنه💯
سورس کد پروژه رو بررسی کنی و ارتباط بین فایلها، توابع و... رو ببینی.
کوئریهای SQL و ساختار جدول های دیتابیس رو به دیاگرام تبدیل کنی و ارتباط بین جدولها و ستونها رو ببینی👀
فایل های CSV رو وارد کنی و داده ها رو فیلتر کنی تا بررسی و تحلیلشون راحتر بشه.
🔗 https://visualnerve.com
#diagram #project
☕️ Telegram | Website | Discord
سورس کد پروژه رو بررسی کنی و ارتباط بین فایلها، توابع و... رو ببینی.
کوئریهای SQL و ساختار جدول های دیتابیس رو به دیاگرام تبدیل کنی و ارتباط بین جدولها و ستونها رو ببینی👀
فایل های CSV رو وارد کنی و داده ها رو فیلتر کنی تا بررسی و تحلیلشون راحتر بشه.
🔗 https://visualnerve.com
#diagram #project
☕️ Telegram | Website | Discord
❤🔥4
خروجی این کد ++C چیه؟
#cpp #challenge
☕️ Telegram | Website | Discord
vector<int> v = {10, 20, 30};
cout << v.front() + v.back();#cpp #challenge
☕️ Telegram | Website | Discord
❤🔥1
اگر میخواید یه دیاگرام یا نمودار از مراحلی که یه ایجنت روی پروژه ای که بهش دادید، داشته باشید تا بتونید راحت تر ببینید چطور باگای جدید رو براتون آنلاک کرده*، Agent Think Map برای خودتونه🔥
یه ابزار اوپن سورس که باهاش میتونید مراحل اجرا، ورودی و خروجی، تغییرات کد رو ببینین و به جزئیات دسترسی داشته باشید.
🔗 https://github.com/nimrodfisher/agent-think-map
پ.ن: نظرتون در مورد کدایی که ایجنت مینویسه چیه؟
#agent #diagram #tool
☕️ Telegram | Website | Discord
یه ابزار اوپن سورس که باهاش میتونید مراحل اجرا، ورودی و خروجی، تغییرات کد رو ببینین و به جزئیات دسترسی داشته باشید.
🔗 https://github.com/nimrodfisher/agent-think-map
پ.ن: نظرتون در مورد کدایی که ایجنت مینویسه چیه؟
#agent #diagram #tool
☕️ Telegram | Website | Discord
❤🔥2🔥2