مقدمهسرعت، معیار تعیینکنندهای است که در انجام هر کاری مهم است. از مسابقه رانندگی گرفته تا امور مالی و کارهای رایانهای، در همگی سریع بودن اولویت دارد. برنامه نویسی یکی از حرفههای پرطرفدار و کاربردی است که طی سالهای اخیر، افراد زیادی به فراگیری آن روی آوردهاند. هر شخصی که در این زمینه مهارت داشته باشد، میداند که سرعت در کدنویسی حرف اول را میزند. برنامه نویسان با داشتن سرعت بیشتر، زمان انجام پروژههای خود را کاهش میدهند و خواهند توانست مسئولیتهای بیشتری را قبول کنند. سرعت در کدنویسی باعث بهینهسازی و در نتیجه، کسب درآمد بیشتر میشود. وقتی یک پروژه برنامه نویسی را قبول میکنید، در صورت داشتن سرعت بالا و مناسب، کار را به موقع تحویل خواهید داد و سابقه خوبی برای خود ثبت خواهید کرد و یا اگر در یک شرکت برنامه نویسی فعالیت دارید قطعا سرعت بالای شما در کدنویسی یک اپشن مثبت برای شما به حساب میآید. در ادامه ترفندهای طلایی برای افزایش سرعت کدنویسی را شرح خواهیم داد. روشهای تفکر سریعتر در برنامه نویسی تفکر سریع یک مهارت باارزش است که موجب ارتقای توانمدیهای شما میگردد. این موضوع، فرایندی تدریجی را در پی دارد که نیاز به تلاش مداوم دارد. بدین منظور باید ترفندهای زیر را به کار بگیرید: تمرین منظم: مثل هر مهارتی، کدنویسی هم با تمرین جای بهتر شدن دارد. انجام تمارین متعدد و به چالش کشیدن خود، کمک میکند تا در حل مسائل و برنامه نویسی بسیار بهتر از گذشته عمل کنید. خواندن کد: تجزیه و تحلیل کد نوشتهشده توسط برنامه نویسان حرفهای، نکات جدیدی را به شما میآموزد. با انجام این کار شما با رویکردها و تکنیکهای حل مسئله جدید روبهرو خواهید شد. تجزیه مسائل: بهتر است که در مواجهه با مسائل , ...ادامه مطلب
میوهآرایی و درمانهای خانگی بخشی از یک سبد از ترفندهای خانهداری هستند که از قدیمیترین روشهایی است که ما از آنها برای زیبایی، سلامتی و افزایش کیفیت زندگی خود استفاده میکنیم. ترفندهای خانهداری برای آرایش و زیبایی با میوهها: ۱. آرایش و تزیین با میوهها آرایش میوهها برای میز و میز ناهار: استفاده از میوههای تازه برای تزیین میز غذا یا میز ناهار باعث جلب توجه و جذابیت بیشتر میشود. میوه آرایی تخصص بانوان هنرمند است. ۲. ماسکهای طبیعی ماسکهای صورت با میوه: میوههایی مانند انگور، خیار، آووکادو و موز میتوانند به عنوان ماسکهای صورت طبیعی برای نرمی پوست یا درمان […] نوشته ترفندهای خانه داری از میوه آرایی تا روش های درمان خانگی اولین بار در آکادمی اکسیر. پدیدار شد. , ...ادامه مطلب
بازیگری و رانندگی هر دو حرفهای هستند که نیازمند تمرین، تسلط بر تکنیکها و پیشرفت مداوم هستند. اینجا به تمرینات و تکنیکهایی که میتوانند در بهبود بازیگری و رانندگی کمک کنند، میپردازم: بهتر شدن در بازیگری: تمرین و تکنیک بازیگری: کلاس بازیگری در تهران: شرکت در کلاسهای بازیگری در شهرهای بزرگی مثل تهران توسط مربیان حرفهای میتواند به شما کمک کند تا نحوه عملکرد در صحنه و جلوه گذاری را بهبود بخشید. تحقیق و مطالعه: آشنایی با نقش، متن و فراهم آوردن زمینههای مختلف جهت بهتر اجرا کردن نقش از مهمترین قسمتهای بازیگری است. تمرینات فیزیکی: تمرینات استقامتی: حفظ استقامت بدنی […] نوشته تمرین و تکنیک های برای بهتر شدن درمهارت هایی مثل رانندگی و بازیگری اولین بار در آکادمی اکسیر. پدیدار شد. , ...ادامه مطلب
مقدمه:اگر شما یک برنامه نویس ماهر باشید جالب است بدانید که میتوانید با مهارت خود، کسب درآمد دلاری داشته باشید. شما میتوانید از طریق راههای گوناگون از جمله گرفتن پروژه از سایتهای فریلنسری، توسعه و فروش نرمافزارها، آموزش برنامه نویسی و… درآمد بسیار زیادی را تجربه کنید. در ادامه این مقاله بهترین راههای کسب درآمد دلاری از طریق برنامه نویسی را به شما آموزش خواهیم داد. بهترین زبانهای برنامه نویسی برای کسب درآمد دلاری انتخاب زبان مناسب، یکی از رایجترین دغدغههای برنامه نویسان است. زبانهای برنامه نویسی بسیار متنوع و گسترده هستند و با استفاده از اغلب آنها میتوانید درآمد مناسبی داشته باشید؛ اما در این قسمت از مقاله، زبانهایی معرفی شدهاند که بیشترین تقاضای بیلالمللی را دارند. PHP: این زبان یکی از ابزارهای اصلی و پرکاربرد در توسعهی وب است. زبان PHP برای توسعه اپلیکیشنها و وبسایتهای وب به کار میرود. پایتون: پایتون یک زبان قدرتمند و همهمنظوره است که در حوزههای مختلف توسعه وب، هوش مصنوعی، تحلیل داده و اتوماسیون به کار میرود. این زبان برنامه نویسی، قواعد دستوری قابل فهم و سادهای دارد که باعث میشود برنامه نویسان با سرعت بیشتر برنامههای خود را ایجاد کنند و توسعه دهند. جاوا: یک زبان بسیار قوی و پراستفادهاست که جهت توسعه نرمافزارهای قابل حمل، وب و سرور به کار میرود. زبان برنامه نویسی جاوا میتواند روی سیستمعاملهای گوناگون و ماشینهای مجازی جاوا اجرا شود. جاوا اسکریپت: جاوا اسکریپت یکی از زبانهای پرکاربرد و متنباز است که معمولا برای افزودن عملکردهای تعاملی به صفحات وب استفاده میشود. این زبان در مرورگرهای وب نیز قابل اجرا است. زبان C: از ویژگیهای این زبان، ع, ...ادامه مطلب
ASP.NET Core 8x به همراه یک IResult جدید بهنام RazorComponentResult است که توسط آن میتوان در Endpointهای Minimal-API و همچنین اکشن متدهای MVC، از کامپوننتهای Blazor، خروجی گرفت. این خروجی نه فقط static یا به عبارتی SSR، بلکه حتی میتواند تعاملی هم باشد. در این مطلب، جزئیات فعالسازی و استفاده از این IResult جدید را در یک برنامهی Minimal-API بررسی میکنیم. ایجاد یک برنامهی Minimal-API جدید در دات نت 8 پروژهای را که در اینجا پیگیری میکنیم، بر اساس قالب استاندارد تولید شدهی توسط دستور dotnet new webapi تکمیل میشود. ایجاد یک صفحهی Blazor 8x به همراه مسیریابی و دریافت پارامتر در ادامه قصد داریم که یک کامپوننت جدید را به نام SsrTest.razor در پوشهی جدید ComponentsTests ایجاد کرده و برای آن مسیریابی از نوع page@ هم تعریف کنیم. یعنی نهفقط قصد داریم آنرا توسط RazorComponentResult رندر کنیم، بلکه میخواهیم اگر آدرس آنرا در مرورگر هم وارد کردیم، قابل دسترسی باشد. به همین جهت یک پوشهی جدید را به نام Components در ریشهی پروژهی Web API جاری ایجاد میکنیم، با این محتوا: برای ایده گرفتن از محتوای مورد نیاز، به «معرفی قالبهای جدید شروع پروژههای Blazor در دات نت 8» قسمت دوم این سری مراجعه کرده و برای مثال قالب سادهترین حالت ممکن را توسط دستور زیر تولید میکنیم (در یک پروژهی مجزا، خارج از پروژهی جاری): dotnet new blazor --interactivity None پس از اینکار، محتویات پوشهی Components آنرا مستقیما داخل پوشهی پروژهی Minimal-API جاری کپی میکنیم. یعنی در نهایت در این پروژهی جدید Web API، به فایلهای زیر میرسیم: - فایل Imports.razor_ ساده شده برا, ...ادامه مطلب
در قسمت قبل، حالتهای مختلف رندر کامپوننتها را در Blazor 8x معرفی کردیم. در این قسمت میخواهیم نحوهی کارکرد دو حالت InteractiveServer و StreamRendering را به همراه چند مثال بررسی کنیم. معرفی قالبهای جدید شروع پروژههای Blazor در دات نت 8 پس از نصب SDK دات نت 8، دیگر خبری از قالبهای قدیمی پروژههای blazor server و blazor wasm نیست! در اینجا در ابتدا باید مشخص کرد که سطح تعاملی برنامه در چه حدی است. در ادامه 4 روش شروع پروژههای Blazor 8x را مشاهده میکنید که توسط پرچم interactivity--، نوع رندر برنامه در آنها مشخص شدهاست: اجرای قسمتهای تعاملی برنامه بر روی سرور: dotnet new blazor --interactivity Server اجرای قسمتهای تعاملی برنامه در مرورگر، توسط فناوری وباسمبلی: dotnet new blazor --interactivity WebAssembly برای اجرای قسمتهای تعاملی برنامه، ابتدا حالت Server فعالسازی میشود تا فایلهای WebAssembly دریافت شوند، سپس فقط از WebAssembly استفاده میکند: dotnet new blazor --interactivity Auto فقط از حالت SSR یا همان static server rendering استفاده میشود (این نوع برنامهها تعاملی نیستند): dotnet new blazor --interactivity None سایر گزینهها را با اجرای دستور dotnet new blazor --help میتوانید مشاهده کنید. نکتهی مهم! در قالبهای آمادهی Blazor 8x، حالت SSR، پیشفرض است. هرچند در تمام پروژههای فوق، انتخاب حالتهای مختلف رندر را مشاهده میکنید، اما این انتخابها صرفا دو مقصود مهم را دنبال میکنند: الف) تنظیم فایل Program.cs برنامه جهت افزودن وابستگیهای مورد نیاز، به صورت خودکار. ب) ایجاد پروژهی کلاینت (علاوه بر پروژهی , ...ادامه مطلب
در قسمت قبل، در حین بررسی رفتار جزیرههای تعاملی Blazor Server، نکتهی زیر را هم دربارهی راهبری صفحات SSR مرور کردیم: « اگر دقت کنید، جابجایی بین صفحات، با استفاده از fetch انجام شده؛ یعنی با اینکه این صفحات در اصل static HTML خالص هستند، اما ... کار full reload صفحه مانند ASP.NET Web forms قدیمی انجام نمیشود (و یا حتی برنامههای MVC و Razor pages) و نمایش صفحات، Ajax ای است و با fetch استاندارد آن صورت میگیرد تا هنوز هم حس و حال SPA بودن برنامه حفظ شود. همچنین اطلاعات DOM کل صفحه را هم بهروز رسانی نمیکند؛ فقط موارد تغییر یافته در اینجا به روز رسانی خواهند شد.» در این قسمت، نکات تکمیلی این قابلیت را که به آن enhanced navigation هم گفته میشود، بررسی میکنیم. روش غیرفعال کردن راهبری بهبودیافته برای بعضی از لینکها ویژگی راهبری بهبودیافته فقط در حین هدایت بین صفحات مختلف یک برنامهی Blazor 8x SSR، فعال است. اگر در این بین، کاربری به یک صفحهی غیر بلیزری هدایت شود، راهبری بهبود یافته شکست خورده و سعی میکند حالت full document load را پیاده سازی و اجرا کند. مشکل اینجاست که در این حالت دو درخواست ارسال میشود: ابتدا حالت راهبری بهبودیافته فعال میشود و در ادامه پس از شکست این راهبری، هدایت مستقیم صورت میگیرد. برای رفع این مشکل میتوان ویژگی جدید data-enhance-nav را با مقدار false، به لینکهای خارجی مدنظر اضافه کرد تا برای این حالتها دیگر ویژگی راهبری بهبودیافته فعال نشود: <a href="/not-blazor" data-enhance-nav="false">A non-Blazor page</a> فعالسازی مدیریت بهبودیافتهی فرمهای SSR در قسمت چهارم این سری با فرمهای جدید SSR مخصو, ...ادامه مطلب
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 کامپوننت است)، شروع به دریافت ف, ...ادامه مطلب
رفتار Blazorهای پیش از داتنت 8 در مورد مدیریت حالت پیش از دات نت 8، دو حالت عمده برای توسعهی برنامههای Blazor وجود داشت: Blazor Server و Blazor WASM. در هر دو حالت، طول عمر سیستم تزریق وابستگیهای ایجاد و مدیریت شدهی توسط Blazor، معادل طول عمر برنامهاست. در برنامههای Blazor Server، طول عمر سیستم تزریق وابستگیها، توسط ASP.NET Core قرار گرفتهی بر روی سرور مدیریت شده و نمونههای ایجاد شدهی سرویسهای توسط آن، به ازای هر کاربر متفاوت است. بنابراین اگر طول عمر سرویسی در اینجا به صورت Scoped تعریف شود، این سرویس فقط یکبار در طول عمر برنامه، به ازای یک کاربر جاری برنامه، تولید و نمونه سازی میشود. در این مدل برنامهها، سرویسهایی با طول عمر Singleton، بین تمام کاربران به اشتراک گذاشته میشوند. به همین جهت است که در این نوع برنامهها، مدیریت سرویس Context مخصوص EF-Core نکات خاصی را به همراه دارد. چون اگر بر اساس سیستم پیشفرض تزریق وابستگیها و طول عمر Scoped این سرویس عمل شود، یک Context فقط یکبار بهازای یک کاربر، یکبار نمونه سازی شده و تا پایان طول عمر برنامه، بدون تغییر زنده نگه داشته میشود؛ در حالیکه عموم توسعه دهندگان EF-Core تصور میکنند سرویسهای Scoped، پس از پایان یک درخواست، پایان یافته و Dispose میشوند، اما در اینجا پایان درخواستی نداریم. یک اتصال دائم SignalR را داریم و تا زمانیکه برقرار است، یعنی برنامه زندهاست. بنابراین در برنامههای Blazor Server، سرویسهای Scoped، به ازای هر کاربر، همانند Singleton رفتار میکنند (در سراسر برنامه به ازای یک کاربر در دسترس هستند) و سرویسهایی از اساس Singleton، بین تمام کاربران به اشتراک گذاشته میشوند. در, ...ادامه مطلب
رنگ کردن مو بدون اکسیدان در خانه | با جایگزینهایی مناسب برای اکسیدان آشنا شوید تغییر رنگ موها فرایندی طولانی و هزینهبر است. به همین دلیل بسیاری از خانمها این کار را در خانه انجام میدهند. از سوی دیگر ترکیبات شیمیایی بهکاررفته در اکسیدانها، حساسیتهایی را برای برخی از بانوان ایجاد میکند. رنگ کردن مو بدون اکسیدان در خانه روش مناسبی است که خانمهای حساس به مواد شیمیایی آن را به کار میگیرند. بااینحال عدم آشنایی با روش اعمال این رنگها و ماندگاری کم رنگهای بدون اکسیدان، چالشهای پیش روی خانمها برای رنگ کردن مو در خانه هستند. بدون استفاده از اکسیدان نمیتوان از رنگهای دائمی استفاده کرد بگذارید در همین ابتدا خیالتان را راحت کنیم. نمیتوان بدون اکسیدان از رنگهای دائمی استفاده کرد. فرمولاسیون این رنگها بهگونهای است که برای ماندگاری بیشتر و باز کردن کوتیکولهای مو، باید با اکسیدان ترکیب شوند. در غیر این صورت بستر مناسب برای ورود رنگدانهها به ساقه مو فراهم نمیشود. رنگ کردن مو بدون اکسیدان فقط برای رنگآمیزی موقت موها کاربرد دارد و با شستوشو این رنگها از بین میروند. شما میتوانید برای شناخت کامل تکنیکهای رنگ مو، به صفحه آموزش رنگ مو در سایت آموزشگاه آرایشگری دوبانو مراجعه کنید. جایگزینهایی مناسب برای رنگ کردن مو بدون اکسیدان در خانه برای فرایند رنگ کردن مو در خانه بدون نیاز به اکسیدان، باید روشهای موقتی را انتخاب کرد. اکسیدان با افزایش سرعت رنگپذیری موها، به ریشه آنها نفوذ میکند. درصورتیکه برای رنگ کردن مو بدون نیاز به اکسیدان باید روشهایی را به کار گرفت که رنگ در سطح تار مو باقی بماند. به همین دلیل از برخی روشها برای این کار استفاده میکنند. در ادامه , ...ادامه مطلب
تجربه خدمات جابهجایی بار با معتبرترین باربری نسیم شهر نسیم شهر یکی از شهرستانهای حومه تهران است که تراکم بالای جمعیت در آن، تقاضا برای خدمات باربری را افزایش داده است. به همین دلیل مجموعههای باربری متعددی در این منطقه فعالیت میکنند. بسیاری از مستاجران و صاحبان کسبوکارها برای انتقال بارها از این مراکز کمک میگیرند. بااینحال انتخاب بهترین مجموعه از میان تعداد بالایی از باربریها چالشی مهم برای ساکنین این منطقه بهشمار میآید. شما میتوانید با شناخت خدمات باربری مجموعههای باربری در نسیم شهر، بهترین مرکز را انتخاب کنید. پشتیبانی ارسال بار از نسیم شهر به تمام نقاط کشور در کنار تراکم بالای جمعیت در نسیم شهر، این شهرستان میزبان تعداد زیادی از کارخانههای صنعتی و شرکتهای تجاری میباشد. همین موضوع تنوع مقاصد باربری در نسیم شهر را افزایش میدهد. مجموعههای باربری نسیم شهر با پشتیبانی از سرویسهایی فعال برای خدماتشان، به سرتاسر استانهای کشور، خدمات حمل بار را ارائه میکنند. باربریهای نسیم شهر باتکیهبر ناوگان باری مجهز و بهرهمندی از تجارب بالای رانندگان در شناخت جادههای اصلی کشور، فرایند انتقال بار از نسیم شهر به استانهای مختلف را با اطمینان کامل انجام میدهند. بر همین اساس همهروزه محمولههای فراوانی از نسیم شهر به شهرستانها، بازارچههای بزرگ، مناطق صعبالعبور و … ارسال میشود. شما میتوانید برای بهرهمندی از خدمات بهترین باربری نسیم شهر، از خدمات اتوبار بارتو فرشاد ترابر حامد استفاده کنید. خدمات معتبرترین مجموعه حمل بار نسیم شهر مهمترین عامل انتخاب بهترین باربری، خدماتی است که مجموعههای حمل بار به مشتریان عرضه میکنند. این خدمات ارتباط مستقیمی با رضایت صاحبان بار دا, ...ادامه مطلب
مقدمه اگر شخص با سابقهای در دنیای فناوری اطلاعات و سیستمهای کامپیوتری باشید، زمانیکه کلمهی CodeBehind را میبینید یا میشونید، اولین نکتهای که به ذهن شما خطور میکند، صفحات Web-Form مایکروسافت در ASP.NET Standard است که دارای پسوند aspx هستند و بخش طراحی وب را از بخش کدهای سمت سرور جدا میکنند. مایکروسافت در گذشته اصرار زیادی به CodeBehind داشت (هرچند در حال حاضر، مایکروسافت الگوی MVC را پیشنهاد میکند). در JSP نیز امکان برنامه نویسی و طراحی وب با صفحات JSP با الگوی CodeBehind امکان پذیر بود؛ اما Web-Form مایکروسافت به صورت پیش فرض، مبتنی بر CodeBehind بود. البته باید این نکته را در نظر گرفت که CodeBehind یک الگوی برنامه نویسی هست و ربطی به Web-Form مایکروسافت یا JSP در جاوا ندارد و همچنان پرکاربرد هست. در این مقاله به MVC و همین طور صفحات aspx اشاره میکنیم اما به طور کامل به CodeBehind خواهیم پرداخت؛ البته یک CodeBehind دیگر! اگر ASP.NET Core را یک اسب قدرتمند وصف کنیم که بر روی زمین با غرور و افتخار میتازد، CodeBehind تحقق رویای یک سوارکار خردسال است که بر روی آن اسب سوار میشود و اسب را به پرواز در میآورد. CodeBehind جدید است، کوچک است، ساده است، بی نشان است؛ اما بسیار قدرتمند و منعطف است. ابایی از سرشاخ شدن با ساختار ASP.NET Core ندارد و خود را الماس دات نت مینامد. CodeBehind یک انقلاب در دات نت است که از صدای یک اعتراض حاصل شده؛ اعتراض به ساختار پیچیده، خشک و غیرقابل انعطاف ASP.NET Core و وضعیت آشفته و غیرقابل درک Controller آن (درک از باب چرایی وجود ساختار). نکته هایی قبل از خواندن مقاله: لطفا توجه داشته باشید که, ...ادامه مطلب
در این مقاله قصد دارم راجعبه یک Extension در دات نت صحبت کنم که خیلی وقتها میتواند بسیار مفید و نجات بخش و همینطور در زمان کارتان تاثیر زیادی بگذارد. خیلی وقتها پیش آمده که داریم با یک سرویس بیرونی ارتباط برقرار میکنیم، اما هنگام فراخوانی کردن، با خطا مواجه میشویم و ما متوجه دلیل خطای رخ داده در آن لحظه نمیشویم. برای خود من بارها پیش آمده که Propertyهای اطلاعات ورودی برای وب سرویس را بصورت Pascal Case داده باشم، ولی سرویس بیرونی فقط بصورت Camel Case برای آن قابل قبول بودهاست و من بعد از ساعتها بررسی متوجه این موضوع میشدم و یا ممکن بود یک Property با مقدار نادرست ارسال میکردم و یا ممکن بود یک Property را اصلا ارسال نمیکردم و یا حتی اینکه یک Header را درست نمیفرستادم و کلی از این موضوعات که با آنها برخورد کردیم و با صرف زمان، مشکل را حل کردیم. این Extension کار ما را برای حل این مسائل خیلی راحت میکند. حالا چطور و چگونه ازش استفاده کنیم؟! این Extension کارش این است، وقتی HttpClient ما مقدار دهی شده و آمادهی برای ارسال درخواست به سرویس بیرونی است، میتوانیم قبل ارسال، آن را فراخوانی کنیم و یک خروجی Curl از درخواستی را که داریم میفرستیم، ببینیم. سپس خروجی Curl را در ترمینال صدا بزنیم و نتیجه را ببینیم. همینطور میتوانیم به Postman خود Import کنیم و با داکیومنتی که داده شده، بررسی کنیم و مشکل را دقیقتر بررسی کنیم. نحوه Import کردن Curl در Postman open the Postman -> click on the Import button -> select the Raw text tab -> paste the curl script here -> then press the Continue button -> at the end press the button import. جا, ...ادامه مطلب
درحال حاضر، باتوجه به خرده نداشتن مقادیر پولی در ایران، عموما از نوعهای int و bigint برای ذخیره سازی این مقادیر استفاده میشود؛ اما در آینده با احتمال حذف تعدادی از صفرها، نیاز به ثبت خردهها هم ضروری خواهد بود و در اینجا این سؤال مهم مطرح میشود که نوع دادهای مناسب برای انجام اینکار چیست؟ برای نمونه در SQL Server، نوعهای دادهای decimal، money، smallmoney و امثال آن وجود دارند که در این مطلب، تفاوتهای مهم آنها و روش صحیح انتخاب نوع دادهای مناسب مخصوص اینکار را بررسی خواهیم کرد. مشکل مهم نوع دادهای int جهت ذخیره سازی مقادیر پولی فرض کنید جدول سادهای را با دو فیلد Id و Price دارید که نوع مبلغ آنرا با توجه به عدم داشتن خرده در واحد پولی، int انتخاب کردهاید: CREATE TABLE [Test1]( [Id] [int] IDENTITY(1,1) NOT NULL, [Price] [int] NOT NULL, CONSTRAINT [PK_Test1] PRIMARY KEY CLUSTERED ( [Id] ASC )); اگر در این جدول فقط 7 رکورد زیر را ثبت کنیم: Insert into Test1 values (1000000000),(1000000000),(1000000000),(1000000000),(1000000000),(1000000000),(1000000000) به نظر شما خروجی کوئری سادهی زیر که جهت نمایش جمع مبالغ وارد شده تهیه شده، چیست؟ select sum(price) from Test1 خروجی آن فقط استثنای زیر است! Arithmetic overflow error converting expression to data type int. عنوان میکند که جمع آن از بازهی اعداد صحیح خارج شدهاست و در سیستمی که نوع مبالغ آنرا int انتخاب کردهاید، دیر یا زود به این مشکل خواهید رسید. فقط کافی است کاربران، یکسالی با آن برنامه کار کنند! برای حل این مشکل میتوان به صورت موقت، نوع دادهای را به bigint تبدیل کرد و مجددا جمع رکوردها را محاسب, ...ادامه مطلب
یکی از نکات جالب رندر کامپوننتها در Blazor، امکان فراخوانی بازگشتی آنها است؛ یعنی یک کامپوننت میتواند خودش را نیز فراخوانی کند. از همین قابلیت میتوان جهت نمایش ساختارهای درختی، مانند مدلهای خود ارجاع دهندهی EF استفاده کرد. مدل برنامه، جهت تامین دادههای خود ارجاع دهنده و درختی فرض کنید قصد داریم لیستی از کامنتهای تو در تو را مدل سازی کنیم که در آن هر کامنت، میتواند چندین کامنت تا بینهایت سطح تو در تو را داشته باشد: namespace BlazorTreeView.ViewModels; public class Comment { public IList<Comment> Comments = new List<Comment>(); public string? Text { set; get; } } برای نمونه بر اساس این مدل، منبع دادهی فرضی زیر را تهیه میکنیم: using BlazorTreeView.ViewModels; namespace BlazorTreeView.Pages; public partial class TreeView { private IReadOnlyDictionary<string, object> ChildrenHtmlAttributes { get; } = new Dictionary<string, object>(StringComparer.Ordinal) { { "style", "list-style: none;" }, }; private IList<Comment> Comments { get; } = new List<Comment> { new() { Text = "پاسخ یک", }, new() { Text = "پاسخ دو", Comments = new List<Comment> { new() { Text = "پاسخ اول به پاسخ دو", Comments = , ...ادامه مطلب