شرکت JetBrains اخیرا IPهای ایرانی را بسته و دیگر این بستهها از قسمت download سایت آن، قابل دریافت نیستند؛ اما لینک مستقیم دریافت آنها بدون مشکل کار میکند:
https://download-cdn.jetbrains.com/rider/JetBrains.Rider-2024.2.exe
در یک پروژه wasm برای ساخت یک داشبورد که شامل تعدادی کامپوننت بوده و هر کامپوننت خود در هر ثانیه درخواستی را به سرور ارسال میکندو رفرش یا رندر مجدد این کامپوننتها در یک تایمر فراخوانی میشود چه روش پیاده سازی پیشنهاد داده میشودکه تعداد زیاد درخواستها باعث کندی یا بلاک شدن ui نشود.و اینکه اگر به جای ارسال درخواستها توسط httpclient ، درخواستها به هاب signalr ارسال شود در بلاک شدن ui تاثیر دارد یا خیر؟
این متد را درنظر بگیرید:
public Receipt PlaceOrder(Order order) { var product = _products.SingleOrDefault(p => p.ProductId == order.ProductId); if (product is null) { throw new Exception("Product doesn't exist"); } if (product.Cost > order.Payment) { throw new Exception("Insufficient funds"); } var receipt = new Receipt(++_receiptId, order.Payment); _receipts.Add(receipt); return receipt; }
برای استفاده کننده دقیقا مشخص نیست که این متد ممکن است چندین استثناء را هم صادر کند. با وجود type unions، میتوان مقصود واضحتری را ارائه داد:
public (Receipt or PlaceOrderError) PlaceOrder(Order order)
هرچند در این لحظه، شبیه به اینکار را با استفاده از کتابخانهی OneOf هم انجام میدهند و ... TypeScript هم که در اساس توسط قسمت مهمی از تیم #C طراحی شده، مدتهاست که به همراه چنین قابلیتی هست.
چه کاربردی داره؟