جدول کلمات متقاطع regex
یک نکتهی تکمیلی: SemaphoreSlim، کمی سنگین است و امکانات سفارشی سازی کمی هم دارد؛ اگر بهدنبال یک نمونهی سریعتر و با مصرف حافظهی کمتری هستید، کتابخانهی AsyncKeyedLock مفیدتر است. این کتابخانه را میتوان جایگزین neosmart/AsyncLock درنظر گرفت.
بررسی تازههای ECMAScript 2024
انتشار TypeScript 5.6
مرورگرها در آینده مجهز به AI میشن اصلیترین دلیلش هم بحث privacy است؛ حین کار با LLMها مسئله امنیت دادهها موضوع به شدت مهمی است؛ روشهای برای anonymise کردن ورودیهای این LLMها قابلانجام است اما مسئله این است که اگر کانتکست کافی وجود نداشته باشد خروجی به آن اندازهایی که انتظار داریم شاید مفید نباشد. مدتی است گوگل به صورت آزمایشی در حال اضافه کردن امکان استفاده از LLMها (در حال حاضر Gemini Nano) به مرورگر Chrome است. یکی دیگه از مزایای قراردادن LLMها درون مرورگر پاسخگویی سریع به درخواستها میباشد در اینحالت دیگر نیاز به ارسال درخواست به یک Remote LLM کمتر خواهد شد؛ با پائین آمدن latency، کاربران تجربه نزدیکتر به real-time را احساس خواهند کرد. لازم به ذکر است این قابلیت به صورت آزمایشی و فعلاً در حد یک proposal میباشد و فقط در نسخههای Canary و Dev قابل استفاده میباشد.
ایجاد یک گیت commit - راه سختش!
PGlite is a WASM (Webassembly) based TypeScript/JavaScript client library which helps to run PostgreSQL locally in Browser or in NodeJS / Bun. It does not include any dependencies. It is very light weight and it's size is 3 MB Gzipped. It supports many Postgres extensions like pgvector, live queries, bloom, btree, earthdistance, fuzzymatch and lot morebun.
یک نکتهی تکمیلی: روش نمایش خودکار آرگومانهای نامدار در Rider
اگر از Rider استفاده میکنید و علاقمندید تا خودش کار تکمیل و نمایش آرگومانهای نامدار را انجام دهد، روش کار به صورت زیر است:
الف) ویژگی فرمت کردن کدها را در حالت ذخیره سازی تغییرات، فعال کنید:
با اینکار، هربار که تغییرات را ذخیره میکنید، تنظیمات کدنویسی، به صورت خودکار به فایلهای ذخیره نشده، اعمال میشوند.
ب) به قسمت Settings -> Editor -> Cody Style -> C# -> Syntax Style مراجعه کرده و در قسمت تنظیمات آرگومانها، حداقل گزینههای Literal values و String literal values را بر روی named argumets قرار دهید تا نکات مطلب جاری، به صورت خودکار اعمال شوند:
همانطور که در مثال before/after تصویر فوق هم مشخص است، مزیت اینکار، مفهوم پیدا کردن اعداد و رشتههای وارد شده به عنوان آرگومانهای متدها هستند.
یک نکتهی تکمیلی: امکان کار همزمان هم با HttpClient وجود دارد!
تا پیش از ارائهی NET Core.، روش متداول دریافت فایلها، عموما به صورت زیر و همزمان/synchronous بود:
var client = new WebClient(); client.DownloadFile(downloadUrl, filePath);
هرچند ... WebClient امکان دریافت فایلها را به صورت غیرهمزمان هم دارد، اما API آن با async/await هماهنگ نیست و طراحی آن قدیمی است.
پس از آن، HttpClient ارائه شد که از روز اول، async بود و کاملا هماهنگ با async/await و روش کدنویسی جدید آن. اما ... شاید در قسمتهایی نیاز باشد تا بتوان کدهای قدیمی را بدون تبدیل کردن آنها به نمونههای async، به همان شکل همزمان، بازنویسی کنیم. برای رفع این مشکل، از زمان داتنت 5، متد Send همزمان هم به API آن اضافه شدهاست:
var response = httpClient.Send(new HttpRequestMessage(HttpMethod.Post, "http://site.com")); using var reader = new StreamReader(response.Content.ReadAsStream()); var content = reader.ReadToEnd();