دانلود نرم افزار و برنامه

متن مرتبط با «حل مشکل ریپورت در تلگرام» در سایت دانلود نرم افزار و برنامه نوشته شده است

ترفندهای خانه داری از میوه آرایی تا روش های درمان خانگی

  • میوه‌آرایی و درمان‌های خانگی بخشی از یک سبد از ترفندهای خانه‌داری هستند که از قدیمی‌ترین روش‌هایی است که ما از آن‌ها برای زیبایی، سلامتی و افزایش کیفیت زندگی خود استفاده می‌کنیم. ترفندهای خانه‌داری برای آرایش و زیبایی با میوه‌ها: ۱. آرایش و تزیین با میوه‌ها آرایش میوه‌ها برای میز و میز ناهار: استفاده از میوه‌های تازه برای تزیین میز غذا یا میز ناهار باعث جلب توجه و جذابیت بیشتر می‌شود. میوه آرایی تخصص بانوان هنرمند است. ۲. ماسک‌های طبیعی ماسک‌های صورت با میوه: میوه‌هایی مانند انگور، خیار، آووکادو و موز می‌توانند به عنوان ماسک‌های صورت طبیعی برای نرمی پوست یا درمان […] نوشته ترفندهای خانه داری از میوه آرایی تا روش های درمان خانگی اولین بار در آکادمی اکسیر. پدیدار شد. , ...ادامه مطلب

  • تمرین و تکنیک های برای بهتر شدن درمهارت هایی مثل رانندگی و بازیگری

  • بازیگری و رانندگی هر دو حرفه‌ای هستند که نیازمند تمرین، تسلط بر تکنیک‌ها و پیشرفت مداوم هستند. اینجا به تمرینات و تکنیک‌هایی که می‌توانند در بهبود بازیگری و رانندگی کمک کنند، می‌پردازم: بهتر شدن در بازیگری: تمرین و تکنیک بازیگری: کلاس‌ بازیگری در تهران: شرکت در کلاس‌های بازیگری در شهرهای بزرگی مثل تهران توسط مربیان حرفه‌ای می‌تواند به شما کمک کند تا نحوه عملکرد در صحنه و جلوه گذاری را بهبود بخشید. تحقیق و مطالعه: آشنایی با نقش، متن و فراهم آوردن زمینه‌های مختلف جهت بهتر اجرا کردن نقش از مهم‌ترین قسمت‌های بازیگری است. تمرینات فیزیکی: تمرینات استقامتی: حفظ استقامت بدنی […] نوشته تمرین و تکنیک های برای بهتر شدن درمهارت هایی مثل رانندگی و بازیگری اولین بار در آکادمی اکسیر. پدیدار شد. , ...ادامه مطلب

  • معرفی روش‌های کسب درآمد دلاری از برنامه نویسی

  • مقدمه:اگر شما یک برنامه نویس ماهر باشید جالب است بدانید که می‌توانید با مهارت خود، کسب درآمد دلاری داشته باشید. شما می‌توانید از طریق راه‌های گوناگون از جمله گرفتن پروژه‌ از سایت‌های فریلنسری، توسعه و فروش نر‌م‌افزارها، آموزش برنامه نویسی و… درآمد بسیار زیادی را تجربه کنید. در ادامه‌ این مقاله بهترین راه‌های کسب درآمد دلاری از طریق برنامه نویسی را به شما آموزش خواهیم داد.  بهترین زبان‌های برنامه نویسی برای کسب درآمد دلاری انتخاب زبان مناسب، یکی از رایج‌ترین دغدغه‌های برنامه نویسان است. زبان‌های برنامه نویسی بسیار متنوع و گسترده هستند و با استفاده از اغلب آنها میتوانید درآمد مناسبی داشته باشید؛ اما در این قسمت از مقاله، زبان‌هایی معرفی شده‌اند که بیشترین تقاضای بیل‌المللی را دارند. PHP: این زبان یکی از ابزارهای اصلی و پرکاربرد در توسعه‌ی وب است. زبان PHP برای توسعه اپلیکیشن‌ها و وبسایت‌های وب به کار میرود. پایتون: پایتون یک زبان قدرتمند و همه‌منظوره است که در حوزه‌های مختلف توسعه وب، هوش مصنوعی، تحلیل داده و اتوماسیون به کار می‌رود. این زبان برنامه نویسی، قواعد دستوری قابل فهم و ساده‌ای دارد که باعث میشود برنامه نویسان با سرعت بیشتر برنامه‌های خود را ایجاد کنند و توسعه دهند. جاوا: یک زبان بسیار قوی و پراستفاده‌است که جهت توسعه‌ نرم‌افزار‌های قابل حمل، وب و سرور به کار میرود. زبان برنامه نویسی جاوا می‌تواند روی سیستم‌عامل‌های گوناگون و ماشین‌های مجازی جاوا اجرا شود. جاوا اسکریپت: جاوا اسکریپت یکی از زبان‌های پرکاربرد و متن‌باز است که معمولا برای افزودن عملکرد‌های تعاملی به صفحات وب استفاده می‌شود. این زبان در مرورگرهای وب نیز قابل اجرا است. زبان C: از ویژگی‌های این زبان، ع, ...ادامه مطلب

  • ‫بررسی تغییرات Blazor 8x - قسمت چهاردهم - امکان استفاده از کامپوننت‌های Blazor در برنامه‌های ASP.NET Core 8x

  • 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 - قسمت دوم - بررسی حالت رندر سمت سرور

  • در قسمت قبل، حالت‌های مختلف رندر کامپوننت‌ها را در 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 8x - قسمت نهم - معرفی حالت رندر تعاملی خودکار

  • 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 8x - قسمت دهم - مدیریت حالت کاربران در روش‌های مختلف رندر

  • رفتار 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؛ فریم ورک جدید در ASP.NET Core

  • مقدمه اگر شخص با سابقه‌ای در دنیای فناوری اطلاعات و سیستم‌های کامپیوتری باشید، زمانیکه کلمه‌ی 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 آن (درک از باب چرایی وجود ساختار). نکته هایی قبل از خواندن مقاله: لطفا توجه داشته باشید که, ...ادامه مطلب

  • ‫دریافت خروجی Curl از HttpClient در دات‌نت (NET.)

  • در این مقاله قصد دارم راجع‌به یک 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. جا, ...ادامه مطلب

  • ‫انتخاب نوع داده‌ی مناسب مخصوص ذخیره سازی مقادیر پولی در SQL Server

  • درحال حاضر، باتوجه به خرده نداشتن مقادیر پولی در ایران، عموما از نوع‌های 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

  • یکی از نکات جالب رندر کامپوننت‌ها در 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 = , ...ادامه مطلب

  • ‫دقت نوع داده‌ی decimal در SQL Server و EF Core

  • از نوع داده‌ا‌ی decimal در SQL Server، بیشتر برای انجام کارهای تجاری و ذخیره‌ی قیمت‌ها و مبالغ استفاده می‌شود؛ جائیکه اعداد و ارقام خیلی سریع بزرگ می‌شوند و گاهی از اوقات ممکن است به همراه اعشار هم باشد. اما ... کار با آن‌ها در SQL Server نیازمند نکات ویژه‌ای است که اگر ندید گرفته شوند، محاسبات نادرستی را سبب خواهند شد! مفهوم تعریف نوع decimal پیش‌فرض در SQL Server فرض کنید از EF پیش از EF Core استفاده می‌کنید که به صورت پیش‌فرض، نوع System.Decimal را در مدل‌های شما به همان decimal در SQL Server نگاشت می‌کند. فکر می‌کنید در این حالت خروجی کوئری‌های زیر چه چیزی خواهد بود؟ select '0.4400' as Expected , cast(0.4400 as decimal) as Actual select '1.3200' as Expected, cast(1.3200 as decimal) as Actual select '1.7600' as Expected, cast(1.7600 as decimal) as Actual select '65.0000' as Expected, cast(65.0000 as decimal) as Actual select '99.50' as Expected, cast(99.50 as decimal) as Actual این خروجی را در تصویر ذیل مشاهده می‌کنید. در اینجا خصوصا به مورد صفر دقت کنید:  علت اینجا است که از دیدگاه SQL Server، نوع decimal پیش‌فرض، دقیقا به معنای decimal(18,0) است که به آرگومان اول آن، precision و به آرگومان دوم آن، scale می‌گویند. یعنی حداکثر چه تعداد رقم دسیمال، پیش از ممیز و چه تعداد عدد دسیمال، پس از ممیز قرار است در این نوع داده ذخیره شوند. بنابراین باتوجه به اینکه در حالت پیش‌فرض، مقدار scale و یا همان تعداد ارقام مجاز پس از ممیز، صفر است، عدد ارائه شده، به نزدیک‌ترین عدد صحیح ممکن، گرد خواهد شد. به همین جهت برای رفع این مشکل، باید دقیقا مشخص کرد , ...ادامه مطلب

  • ‫کار با بانک‌های اطلاعاتی فاکس‌پرو و OleDB در دات نت 7

  • فرض کنید قصد خواندن اطلاعات یک بانک اطلاعاتی قدیمی فاکس‌پرو را با آخرین نگارش دات نت دارید. اگر سعی کنید از روش‌های و مطالب موجود استفاده کنید، هیچکدام جواب نخواهند داد! در این مطلب تغییرات صورت گرفته را بررسی می‌کنیم. نیاز به درایور OleDB مخصوص بانک‌های اطلاعاتی قدیمی برای کار با بانک‌های اطلاعاتی قدیمی از طریق ADO.NET، نیاز است بتوان به نحوی با آن‌ها ارتباط برقرار کرد و اینکار از طریق استاندارد OleDB که صرفا مختص به ویندوز است، قابل انجام است. برای مثال برای کار با فاکس‌پرو نیز در ابتدا باید درایور OleDB آن‌را نصب کرد که ... هیچکدام از لینک‌های قدیمی مایکروسافت در این زمینه دیگر وجود خارجی ندارند! آخرین نگارش مرتبط را می‌توانید در این آدرس و ذیل نام VFPOLEDBSetup.msi دریافت کنید (نگارش 9 را نصب می‌کند). نیاز به دریافت بسته‌ی System.Data.OleDb در اولین قدم جهت کار با درایور OleDB نصب شده، باید یک اتصال را توسط نمونه سازی شیء OleDbConnection ایجاد کرد که ... این شیء هم شناسایی نمی‌شود. به همین جهت باید بسته‌ی نیوگت مرتبط با آن‌را به صورت جداگانه‌ای دریافت و نصب کرد: <ItemGroup> <PackageReference Include="System.Data.OleDb" Version="7.0.0"/> </ItemGroup> برنامه‌ی مبتنی بر درایور OleDB فاکس‌پرو اجرا نمی‌شود! اولین سعی در برقراری ارتباط با درایور OleDB نصب شده، با خطای زیر خاتمه می‌یابد: The 'VFPOLEDB' provider is not registered on the local machine. مشکل اینجا است که درایور ارائه شده، 32 بیتی است و ما سعی داریم آن‌را در یک محیط 64 بیتی اجرا کنیم. به همین جهت خطای فوق ظاهر می‌شود. برای رفع آن باید PlatformTarget را به x8, ...ادامه مطلب

  • جدیدترین مطالب منتشر شده

    گزیده مطالب

    تبلیغات

    برچسب ها