در قسمت قبل مشاهده کردیم که چگونه میتوان کل برنامه را به صورت سراسری، تعاملی کرد تا بتوان توسط آن، Blazor Server سنتی را شبیه سازی نمود؛ اما ... آیا واقعا نیاز است چنین کاری را انجام دهیم؟! چون در این صورت از قابلیتهای جدید SSR به همراه Blazor 8x محروم میشویم. اگر کل قابلیتهای تعاملی مورد نیاز ما در حد یک فرم و ارسال اطلاعات آن به سمت سرور است، میتوان در Blazor 8x هنوز هم در همان حالت SSR قرار گرفت و از فرمهای جدید تعاملی آن استفاده کرد تا برای پردازش چنین مواردی، نیازی به برقراری اتصال دائم SignalR نباشد. جزئیات نحوهی کار با اینگونه فرمها را در ادامه بررسی میکنیم. امکان تعریف HTML Forms استاندارد در Blazor 8x فرمهای استاندارد HTML، پیش از ظهور جاوااسکریپت و SPAها وجود داشتند (دقیقا همان زمانیکه که فقط مفهوم SSR وجود خارجی داشت) و هنوز هم جزء مهمی از اغلب برنامههای وب را تشکیل میدهند. با ارائهی دات نت 8 و قابلیت server side rendering آن، کامپوننتهای برنامه، فقط یکبار در سمت سرور رندر شده و HTML سادهی آنها به سمت مرورگر کاربر بازگشت داده میشود. در این حالت، فرمهای استاندارد HTML، امکان دریافت ورودیهای کاربر و ارسال دادههای آنها را به سمت سرور میسر میکنند (چون دیگر خبری از اتصال دائم SignalR نیست و باید اطلاعات را به همان نحو استاندارد پروتکل HTTP، به سمت سرور Post کرد). در دات نت 8، دو راهحل برای کار با فرمها در برنامههای Blazor وجود دارد: استفاده از EditForm خود Blazor و یا استفاده از HTML forms استاندارد و ساده، به همان نحوی که بوده و هست. روش کار با EditForm در برنامههای Blazor SSR البته ما قصد استفاده از فرمهای سادهی HTML, ...ادامه مطلب
در Blazor 8x میتوان صفحات SSR ای را به همراه Blazor server islands و یا Blazor WASM islands داشت؛ یعنی یک کامپوننت Blazor Server که داخل یک صفحهی معمولی SSR قرار گرفته و با سرور، ارتباط SiganlR برقرار میکند و یا یک کامپوننت Blazor WASM که در قسمتی از صفحهی SSR درج شده و درون مرورگر کاربر اجرا میشود. به هر کدام از اینها یک «جزیرهی تعاملی» گفته میشود (interactive island). در این قسمت، نکات مرتبط با جزایر تعاملی Blazor Server را بررسی میکنیم. بررسی یک مثال: تهیه یک برنامهی Blazor 8x برای نمایش لیست محصولات، به همراه جزئیات آنها به لطف وجود SSR در Blazor 8x، میتوان HTML نهایی کامپوننتها و صفحات Blazor را همانند صفحات MVC و یا Razor pages، در سمت سرور تهیه و بازگشت داد. این خروجی در نهایت یک static HTML بیشتر نیست و گاهی از اوقات ما به بیش از یک خروجی ساده HTML ای نیاز داریم. در این مثال که بر اساس قالب dotnet new blazor --interactivity Server تهیه میشود، قصد داریم موارد زیر را پیاده سازی کنیم: - صفحهای که یک لیست محصولات فرضی را نمایش میدهد : بر اساس SSR - صفحهای که جزئیات یک محصول را نمایش میدهد: بر اساس SSR - دکمهای در ذیل قسمت نمایش جزئیات یک محصول، برای دریافت و نمایش لیست محصولات مشابه و مرتبط: بر اساس Blazor server islands یعنی تا جائیکه ممکن است قصد نداریم تمام صفحات و تمام قسمتهای برنامه را با فعالسازی سراسری حالت تعاملی Blazor server که در قسمتهای قبل در مورد آن توضیح داده شد، پیاده سازی کنیم. میخواهیم فقط قسمت کوچکی از این سناریو را که واقعا نیاز به یک چنین قابلیتی را دارد، توسط یک جزیرهی تعاملی Blazor s, ...ادامه مطلب
در قسمتهای قبل، نحوهی تعریف جزیرههای تعاملی Blazor Server را به همراه نکات مرتبط با آنها بررسی کردیم. برای مثال مشاهده کردیم که چون Blazor Server و SSR هر دو بر روی سرور اجرا میشوند، از لحاظ دسترسی به اطلاعات و کار با سرویسها، هماهنگی کاملی دارند و میتوان کدهای یکسان و یکدستی را در اینجا بکار گرفت. در Blazor 8x، امکان تعریف جزیرههای تعاملی Blazor WASM نیز وجود دارد که به همراه تعدادی نکتهی ویژه، در مورد نحوهی مدیریت سرویسهای مورد استفادهی در این کامپوننتها است. معرفی برنامهی Blazor WASM این مطلب در این مطلب قصد داریم دقیقا قسمت جزیرهی تعاملی Blazor Server همان برنامهی مطلب قبل را توسط یک جزیرهی تعاملی Blazor WASM بازنویسی کنیم و با نکات و تفاوتهای ویژهی آن آشنا شویم. یعنی زمانیکه صفحهی SSR نمایش جزئیات یک محصول ظاهر میشود، نحوهی رندر و پردازش کامپوننت نمایش محصولات مرتبط و مشابه، اینبار یک جزیرهی تعاملی Blazor WASM باشد. بنابراین قسمت عمدهای از کدهای این دو قسمت یکی است؛ فقط نحوهی دسترسی به سرویسها و محل قرارگیری تعدادی از فایلها، متفاوت خواهد بود. ایجاد یک پروژهی جدید Blazor WASM تعاملی در دات نت 8 بنابراین در ادامه، در ابتدای کار نیاز است یک پوشهی جدید را برای این پروژه، ایجاد کرده و بجای انتخاب interactivity از نوع Server: dotnet new blazor --interactivity Server اینبار برای اجرای در مرورگر توسط فناوری وباسمبلی، نوع WebAssembly را انتخاب کنیم: dotnet new blazor --interactivity WebAssembly در این حالت، Solution ای که ایجاد میشود، به همراه دو پروژهاست (برخلاف پروژههای Blazor Server تعاملی که فقط شامل یک پروژهی سمت , ...ادامه مطلب
این Prerendering است که امکان رندر یک کامپوننت تعاملی را در سمت سرور میسر میکند تا کاربر بتواند پیش از فعال شدن قابلیتهای پیشرفتهی یک کامپوننت، یک حداقل خروجی را از آن مشاهده کند و همچنین وجود آن برای موتورهای جستجو و بهبود SEO بسیار مفید است. اما ... در این بین مشکلی رخ میدهد که نمونهی آنرا در قسمت قبل مشاهده کردیم: آغاز آن دوبار صورت میگیرد؛ یکبار در سمت سرور برای تهیهی یک خروجی SSR و یکبار هم پس از فعال شدن قابلیتهای تعاملی آن در سمت کلاینت. این آغاز دوباره، برای هر دو حالت کامپوننتهای تعاملی Blazor Server و Blazor WASM برقرار است. راهحلهایی از نحوهی مواجه شدن با یک چنین مشکلی را در قسمت قبل بررسی کردیم. راهحل دیگری که در این بین ارائه شده و توسط خود مایکروسافت هم در مثالهای آن مورد استفاده قرار میگیرد، استفاده از سرویس PersistentComponentState است که جزئیات آنرا در این قسمت بررسی خواهیم کرد. بررسی نحوهی عملکرد سرویس PersistentComponentState سرویس PersistentComponentState، در داتنت 6، به Blazor اضافه شد و امکان جدیدی نیست. قسمتی از این مباحث جدید SSR که بهنظر مختص به Blazor 8x هستند، پیشتر هم وجود داشتند؛ تحت عنوان pre-rendering. برای مثال فقط کافی بودن تا در برنامههای Blazor Server قبلی، فایل Host.cshtml_ را به صورت زیر ویرایش کرد تا pre-rendering فعال شود: <component type="typeof(App)" render-mode="ServerPrerendered" /> مشکلی که در این حالت بروز میکرد این بود که متد OnInitializedAsync یک کامپوننت، دوبار فراخوانی میشد؛ یکبار در زمان pre-rendering در سمت سرور، تا HTML استاتیکی برای ارائهی به مرورگر کاربر تولید شود و بار, ...ادامه مطلب
Auto Render Mode، آخرین حالت رندری است که به Blazor 8x اضافه شدهاست. اگر از Blazor Server استفاده کنیم، به یک آغاز سریع در برنامه خواهیم رسید، به همراه مقداری تاخیر جزئی، برای به روز رسانی UI؛ از این جهت که تعاملات صورت گرفته باید از طریق اتصال وبسوکت SignalR به سرور ارسال شده و منتظر نتیجهی نهایی، برای اعمال آن به صفحه شد و یا باید به مقیاس پذیری این اتصالات همزمان با تعداد کاربران بالا هم اندیشید. اگر از Blazor WASM استفاده کنیم، آغاز آن، اندکی کند خواهد بود تا فایلهای فریمورک و برنامه، به درون مرورگر کاربر منتقل شوند. اما پس از آن همهچیز بسیار سریع است؛ از این جهت که تعاملات با DOM، توسط مرورگر و در همان سمت کاربر مدیریت میشود. اما ... چقدر خوب میشد که امکان ترکیب هردوی اینها با هم در یک برنامه وجود میداشت؛ یعنی داشتن یک آغاز سریع، به همراه تعاملات سریع با DOM. به همین جهت Auto Render Mode به Blazor 8x اضافه شدهاست. نحوهی عملکرد حالت رندر تعاملی خودکار در Blazor 8x زمانیکه از قرار است از Auto Render Mode استفاده شود، یعنی در نهایت به سراغ حالت رندر وباسمبلی رفتن؛ اما به شرطیکه که فریمورک، مطمئن شود میتواند تمام فایلهای مرتبط را خیلی سریع و در کمتر از 100 میلیثانیه تامین کند که عموما یک چنین حالتی به معنای از پیش دریافت کردن این فایلها و کش شده بودن آنها در مرورگر است. اما اگر یک چنین تضمینی وجود نداشته باشد، از همان ابتدای کار تصمیم میگیرد که باید کامپوننت را از طریق نگارش Blazor Server آن ارائه دهد، تا آغاز سریعی را سبب شود. در این بین هم در پشت صحنه (یعنی زمانیکه کاربر مشغول به کار با نگارش Blazor Server کامپوننت است)، شروع به دریافت ف, ...ادامه مطلب
بررسی سیستم عامل های مختلف برای برنامه نویسیامروزه دعوا بر سرِ بهتر بودن سیستم عاملهای مختلف برای برنامه نویسی، زیاد است و هر شخصی بر اساس سلیقه شخصی و تجربیات خودش، در مورد انتخاب سیستم عامل مناسب برای برنامه نویسی نظر میدهد؛ اما در آخر، این خود شما هستید که باید سیستم عامل مخصوص خود را برای برنامه نویسی با رعایت چند نکته انتخاب کنید. بسیاری از افرادی که به تازگی قصد شروع برنامه نویسی را دارند و یا میخواهند سیستم عامل خود را تغییر دهند، این سوال برایشان پیش میآید که چه سیستم عاملی برای برنامه نویسی مناسب است؟ امروزه برنامه نویسان میتوانند از سه سیستم عاملِ مک، ویندوز یا لینوکس برای کدنویسی استفاده کند. لازم به ذکر است که برای انتخاب سیستم عامل مناسب برنامه نویسی، باید در ابتدا نیازها و مهارت های خود را در برنامه نویسی در نظر بگیرید و سپس این نیازها را با ویژگیهای سیستم عاملهای مختلف تطبیق دهید. در این مقاله از شرکت نرم افزاری وب نگاه، به بررسی نکاتی که باید در انتخاب سیستم عامل رعایت کنید، میپردازیم. در ادامه با ما همراه باشید. بودجه بودجه یا همان پولی که برای خرید سیستم در نظر دارید، میتواند در انتخاب سیستم عامل برای برنامه نویسی تاثیرگذار باشد. باید گفت هزینهای که باید برای استفاده از سه سیستم عاملِ مک، ویندوز یا لینوکس صرف کنید، با یکدیگر متفاوت است. استفاده و نصب سیستم عامل لینوکس بر روی دستگاه، رایگان است؛ اما اگر این سیستم عامل به طور پیشفرض بر روی سیستمی که شما قصد خرید آن را دارید نصب شده باشد، شما نیازمند پرداخت هزینه بیشتری برای آن هستید. در موقعیتی مشابه، اگر قصد خرید دستگاهی با سیستم عامل ویندوز را داشته باشید، باید هزینه کمتری را پرداخت کن, ...ادامه مطلب
بوک مارکبا سلام خدمت شما دوستان و کاربران عزیز ، با توجه به اطلاعات کم کاربران مون ، امروز تصمیم گرفتیم مطلبی درباره Trader ( تاجر ) تحت عنوان ” آموزش Trader – بهترین معاملات و پیشنهادات ” رو برای شما عزیزان فراهم و نگارش کنیم . با ادامه مطلب حتما همراه باشید …آموزش Trader – بهترین معاملات و پیشنهاداتتاجر تازه ترین کاراکتر و شخصیت در کلش آف کلنز است که انجام, ...ادامه مطلب
پس از مدت ها انتظار و سکوت تیم توسعه دهنده بازی جدید سوپرسل ، بالاخره این تیم روز گذشته اطلاعیه ای برای منتظران انتشار نسخه جهانی برول استارز منتشر نمود که گویای ادامه تاخیر برای انتشار این بازی برای سیستم عامل اندروید میباشد! سرورهای بازی ناتوان در مدیریت حجم بازیکنان! حتما تاکنون به این سوال رسید, ...ادامه مطلب
به اشتراک گذاشتن در فیسبوک به اشتراک گذاشتن درتوییتر باسلام خدمت کاربران عزیز ایران کلش امروز مطلبی راجع به بن شدن و یا اخراج شدن کاربران توسط سوپرسل ، برای شما فراهم و آماده کردیم ، امیدواریم که برای شما جالب باشد! بن ، ban به چه معناست؟ بن شدن به معنای اخراج شدن و ممنوع شدن است ، زمانی که شما کار اشتباهی در بازی انجام دهید ، توسط دیگر پلیر ها و یا توسط خود شرکت و سرور ممنوع از ورود به بازی میشوید! در کل 3 نوع بن وجود دارد ، که به شرح زیر است: اخراج شدن از چت گلوبال به طور موقت اخراج شدن از بازی به طور موقت اخراج کامل از بازی و بسته شدن اکانت شما اخراج شدن از چت گلوبال به طور موقت : زمانی که شما در گلوبال در حال چت کردن هستید ، اگر توهین و یا فحاشی کنید ، اگر 7 نفر شما را ریپورت کنند(روی اسم و پیام بازیکن کلیک کنید سپس گزینه report را انتخاب نمایید) شما از چت در گلوبال به مدت 24 ساعت محروم میشوید! اخراج شدن از بازی به طور موقت : 5 عامل وجود دارد ، که باعث بن موقت شما از بازی میشود ، این عامل ها عبارت اند از : 1- استفاده از نرم افزار های شبیه سازی مثل بلواستکس و ممو 2- خرید جم از سایت های غیر معتبر و اقدام به هک بازی 3- داشتن چندین اکانت بر روی یک دستگاه و استفاده از همه انها 4- چیدن مپ های تحقیر امیز و مسخره 5- درج پسوورد ،ادرس سایت و یا ادرس ایمیل خود در قسمت توضیحات کلن اخراج کامل از بازی و حذف اکانت : اگر شما همه این کار هارا چندین بار پشت سر هم و بعد از بخشیده شدن ، دوباره انجام دهید ، اکانت شما حذف و بن ابدی میشوید! سه نوع پلیر موجود هست : کسی که از قوانین آگاه نیست! کسی که اشتباهی بن شده و بی گناه میباشد! کسی که از همه قوانین آگاه هست و مرتکب اشتباه شده است! اگر اخراج شدیم چه کار کنیم؟ شما فقط فقط باید از قسمت help بازی ، پیامی در رابطه با پشیمانی تان و نا آگاهی خود در رابطه با کار اشتباهتان ، برای سوپرسل ارسال کنید و دعا کنید که نوشته تان پذیرفته و unban شوید! توجه : دوستان ممکن است ، بعضی از پلیر ها این کار هارا انجام دهند و بن نشوند ، این مربوط به سرعت و باهوشی سرور بازی میباشد ، و ممکن است برای همه ، این بن ها صورت نگیرد! دوستان این مطلب هم به پایان رسید ، هر گونه پیشنهادی در رابطه با این مطلب و بنده داشتید ، در قسمت نظرات ، برای ما دیدگاه بگذارید, ...ادامه مطلب