
مقدمه در دنیای برنامه نویسی زبان'>زبانها، فریمورکها و ابزارهای متفاوتی وجود دارند که هر کدام از آنها، در موارد خاصی از توسعه وب مورد استفاده قرار میگیرند. اما برنامه نویسان باید با شناخت هدف و کاربری خود از توسعه وب، زبان برنامه نویسی متناسب با حوزه کاری خود را انتخاب نمایند. یکی از زبانهای ساده و پرکاربرد، go یا golang نام دارد که یک ابزار سمت سرور محسوب میشود. این زبان، به جهت رفع پیچیدگیهای خوانش پایگاههای کد در گوگل، به وجود آمد. بسیاری از برنامههای مبتنی بر ابر از زبان برنامه نویسی go پشتیبانی میکنند و این موضوع، یکی از دلایلی است که این زبان امروزه در زمینههای زیادی از جمله هوش مصنوعی و علم داده، کاربرد زیادی دارد. این زبان، یکی از متمایزترین و مفیدترین ابزارها در زمینه رایانش ابری (...
ادامه مطلب
مقدمه فایربیس (Firebase) یکی از رایجترین و پراستفادهترین بسترهای توسعه برنامههای تحت وب و موبایل میباشد که توسط شرکت گوگل ارائه شده است. این پلتفرم با همراهی ابزارها و سرویسهای ابری کاربردی، شامل پایگاه داده، موتور تحلیل، پیامرسانی و ذخیرهسازی ابری و خدمات دیگر میشود. فایربیس به توسعهدهندگان این امکان را میدهد تا برنامههای پویا و مقیاسپذیر را بدون احتیاج به مهارت و دانش گسترده، در حوزه زیرساخت و سرور طراحی کنند. در ادامه این مطلب، به صورت به شرح تخصصی به ساختار و کاربردهای Firebase میپردازیم. فایربیس چیست؟ فایربیس در سال ۲۰۱۱ میلادی توسط جیمز تامپسون و اندرو لی از شرکت گوگل طراحی شد. Firebase یکی از برترین ابزارهای توسعه اپلیکیشن موبایل گوگل است که به برنامه نویسان کمک میکند تا اپلیکیشنها...
ادامه مطلب
مقدمهبا پیشرفت تکنولوژی و عرضه و تقاضای روزافزون موارد مرتبط با آن، اموری مانند توسعه نرمافزارها هر روز آسانتر میشود. قویتر شدن پردازندهها موجب این شد که برنامههای چندسکویی بسیار راحت اجرار شوند. بدین ترتیب تنها با فراگیری یک زبان برنامه نویسی سطح بالا، میتوان برنامههای خلاقانهای طراحی کرد. یکی از بهروزترین فریمورکهای ساختهشده برای توسعه نرمافزارهای دسکتاپ، فریمورک Native PHP است. استفاده از آن برای برنامه نویسان یک مزیت بزرگ خواهد بود؛ چرا که تنها با فراگیری زبانهای CSS، HTML، PHP و Javascript، قادر خواهند بود نرمافزارهای دسکتاپ را توسعه دهند. البته باید دید که این فریمورک کاربردی، در مقابل رقیبان خود همچون فریمورک فلاتر تا چه حد میتواند بازی را به نفع خود تغییر دهد. در ادامه به بررسی ساختا...
ادامه مطلب
مقدمه بارها شنیدهایم که میگویند، عصر، عصر تکنولوژی است. این روزها به دلیل گسترش روزافزون اینترنت، خیلی از مردم به یادگیری مباحث برنامه نویسی روی میآورند. از آنجایی که زبانهای بیشماری در برنامه نویسی وجود دارند، افراد برای یادگیری آنها از انتخابهای زیادی برخوردار میباشند. در صورتی که به تازگی وارد دنیای برنامه نویسی شدهاید، حتما نام زبان برنامه نویسی جاوا اسکریپت به گوشتان خورده است. اما آیا تا به حال نام زبان تایپ اسکریپت را شنیدید؟ این زبان به عنوان یک راه حل برای محدودیتهای جاوا اسکریپت توسعه یافته تا معایب و کاستیهای آن را پوشش دهد. در این مطلب، در رابطه با چیستی زبان تایپ اسکریپت و کاربردها و مزایای آن، اطلاعاتی را در اختیار شما میگذاریم. زبان برنامه نویسی تایپ اسکریپت (Typesc...
ادامه مطلب
مقدمه:اگر شما یک برنامه نویس ماهر باشید جالب است بدانید که میتوانید با مهارت خود، کسب درآمد دلاری داشته باشید. شما میتوانید از طریق راههای گوناگون از جمله گرفتن پروژه از سایتهای فریلنسری، توسعه و فروش نرمافزارها، آموزش برنامه نویسی و… درآمد بسیار زیادی را تجربه کنید. در ادامه این مقاله بهترین راههای کسب درآمد دلاری از طریق برنامه نویسی را به شما آموزش خواهیم داد. بهترین زبانهای برنامه نویسی برای کسب درآمد دلاری انتخاب زبان مناسب، یکی از رایجترین دغدغههای برنامه نویسان است. زبانهای برنامه نویسی بسیار متنوع و گسترده هستند و با استفاده از اغلب آنها میتوانید درآمد مناسبی داشته باشید؛ اما در این قسمت از مقاله، زبانهایی معرفی شدهاند که بیشترین تقاضای بیلالمللی را دارند. PHP: این زبان یکی از ...
ادامه مطلب
از لحاظ تاریخی، Blazor به همراه دو حالت اصلی است: - Blazor Server، که در آن یک اتصال SignalR، بین مرورگر کاربر و سرور، برقرار شده و سرور حالات مختلف این جلسهی کاری را مدیریت میکند. آغاز این حالت، بسیار سریع است؛ اما وجود اتصال دائم SignalR در آن ضروری است. نیاز به وجود این اتصال دائم، با تعداد بالای کاربر میتواند کارآیی سرور را تحت تاثیر قرار دهد. - Blazor WASM: در این حالت کل برنامهی Blazor، درون مرورگر کاربر اجرا میشود و برای اینکار الزاما نیازی به سرور ندارد؛ اما آغاز اولیهی آن به علت نیاز به بارگذاری کل برنامه درون مرورگر کاربر، اندکی کند است. اتصال این روش با سرور، از طریق روشهای متداول کار با Web API صورت میگیرد و نیازی به اتصال دائم SignalR را ندارد. دات نت 8، دو تغییر اساسی را...
ادامه مطلب
در قسمت قبل مشاهده کردیم که چگونه میتوان کل برنامه را به صورت سراسری، تعاملی کرد تا بتوان توسط آن، Blazor Server سنتی را شبیه سازی نمود؛ اما ... آیا واقعا نیاز است چنین کاری را انجام دهیم؟! چون در این صورت از قابلیتهای جدید SSR به همراه Blazor 8x محروم میشویم. اگر کل قابلیتهای تعاملی مورد نیاز ما در حد یک فرم و ارسال اطلاعات آن به سمت سرور است، میتوان در Blazor 8x هنوز هم در همان حالت SSR قرار گرفت و از فرمهای جدید تعاملی آن استفاده کرد تا برای پردازش چنین مواردی، نیازی به برقراری اتصال دائم SignalR نباشد. جزئیات نحوهی کار با اینگونه فرمها را در ادامه بررسی میکنیم. امکان تعریف HTML Forms استاندارد در Blazor 8x فرمهای استاندارد HTML، پیش از ظهور جاوااسکریپت و SPAها وجود داشتند (...
ادامه مطلب
Auto Render Mode، آخرین حالت رندری است که به Blazor 8x اضافه شدهاست. اگر از Blazor Server استفاده کنیم، به یک آغاز سریع در برنامه خواهیم رسید، به همراه مقداری تاخیر جزئی، برای به روز رسانی UI؛ از این جهت که تعاملات صورت گرفته باید از طریق اتصال وبسوکت SignalR به سرور ارسال شده و منتظر نتیجهی نهایی، برای اعمال آن به صفحه شد و یا باید به مقیاس پذیری این اتصالات همزمان با تعداد کاربران بالا هم اندیشید. اگر از Blazor WASM استفاده کنیم، آغاز آن، اندکی کند خواهد بود تا فایلهای فریمورک و برنامه، به درون مرورگر کاربر منتقل شوند. اما پس از آن همهچیز بسیار سریع است؛ از این جهت که تعاملات با DOM، توسط مرورگر و در همان سمت کاربر مدیریت میشود. اما ... چقدر خوب میشد که امکان ترکیب هردوی اینها با هم در...
ادامه مطلب
مقدمه اگر شخص با سابقهای در دنیای فناوری اطلاعات و سیستمهای کامپیوتری باشید، زمانیکه کلمهی CodeBehind را میبینید یا میشونید، اولین نکتهای که به ذهن شما خطور میکند، صفحات Web-Form مایکروسافت در ASP.NET Standard است که دارای پسوند aspx هستند و بخش طراحی وب را از بخش کدهای سمت سرور جدا میکنند. مایکروسافت در گذشته اصرار زیادی به CodeBehind داشت (هرچند در حال حاضر، مایکروسافت الگوی MVC را پیشنهاد میکند). در JSP نیز امکان برنامه نویسی و طراحی وب با صفحات JSP با الگوی CodeBehind امکان پذیر بود؛ اما Web-Form مایکروسافت به صورت پیش فرض، مبتنی بر CodeBehind بود. البته باید این نکته را در نظر گرفت که CodeBehind یک الگوی برنامه نویسی هست و ربطی به Web-Form مایکروسافت یا JSP در جاوا ندارد و همچن...
ادامه مطلب
تابحال مطالب زیادی را در مورد تمیزکردن ورودیهای کاربران، توسط ابزارهای Anti-XSS مطالعه کردهاید: - «ایجاد یک ActionFilter جهت تمیز کردن اطلاعات ورودی در ASP.NET Core» هدف تمام آنها این است که اگر اطلاعاتی از کاربر دریافت شد، پس از تمیز شدن، مشکلی با نمایش آنها نداشته باشیم و به محض نمایش یک صفحه، قطعه کد جاوااسکریپتی موجود در ورودی اولیهی کاربر، در پشت صحنه به صورت خودکار اجرا نشود. اما ... هرچقدر هم سعی کنیم، به مواردی خواهیم رسید که ممکن است توسط این «تمیز کنندههای ورودی» پوشش داده نشوند و دست آخر، قابلیت اجرایی داشته باشند. در این حالت به مفهوم دیگری میرسیم به نام Content security policy headers و یا به اختصار CSP که اساسا اجرای هر نوع اسکری...
ادامه مطلب
یکی از امکاناتی که Visual Studio 2022 به ما میدهد، یک REST CLIENT توکار است که با آن میتوانیم بدون Swagger، Post Man یا ابزارهای مشابه، Apiهای خود را تست کنیم. برای استفاده از آن، ابتدا یک پروژهی Api را داخل ویژوال استودیو با تنظیمات پیشفرض آن ایجاد میکنیم که شامل یک Controller به نام WeatherForecast است. سپس یک پوشه را درون آن با نامی دلخواه ایجاد میکنیم و داخل آن، یک فایل جدید را با پسوند http میسازیم. سپس این فایل http را باز میکنیم. اگر شروع به تایپ کردن کنیم، میتوانیم ببینیم که intellisense به ما http methodهای مختلف را نشان میدهد و میتوانیم از آنها استفاده کنیم. برای مثال یک درخواست Get را ایجاد میکنم: GET https://localhost:7092/WeatherForecast حال پروژه را اجرا میکنیم ...
ادامه مطلب
ASP.NET MVC از روش بکارگیری binding providerها برای تدارک زیرساخت model binding استفاده میکند که در این روش، دادههای پارامترهای یک action method از طریق هدرها، کوئری استرینگها، بدنهی درخواست و غیره تهیه میشوند. در حالت پیشفرض اگر این پارامترها از نوعهای سادهای مانند اعداد و یا DateTime تشکیل شده باشند و یا به همراه یک TypeConverter باشند که امکان تبدیل این رشته را به آن نوع خاص بدهد، به صورت خودکار bind خواهند شد و هر نوع دیگری، به صورت یک نوع پیچیده درنظر گرفته میشود. نوع پیچیده یعنی bind برای مثال اطلاعات بدنهی درخواست به تک تک خواص آن نوع. برای نمونه در کنترلر زیر: [Route("[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summ...
ادامه مطلب
در C# 11، افزونهای به switch expressionها اضافه شدهاست که امکان بررسی توالی مقادیر آرایهها و مجموعهها را نیز میدهد که به آن list expressions هم میگویند. List Pattes امکان بررسی شکل یک لیست و یا آرایه را ممکن میکنند. برای مثال اگر نیاز است بررسی کنیم که آیا مجموعهای با یک مقدار خاص، شروع میشود، پایان مییابد و یا حاوی آن است، List Pattes مفید واقع خواهند شد. در اینجا List Pattes، با [] مشخص میشوند و در بین []ها، توالی مقادیری را که قرار است با اعضای مجموعهی مشخص شده، انطباق داده شوند، مشخص میکنیم. این افزونه به همراه ویژگی slice patte نیز هست که امکان انطباق با صفر و یا چند المان یک مجموعه را میسر میکند. در این حالت از دو نقطه برای نمایش آن در بین []ها استفاده میشود. برای مثال الگوی زیر: [1,...
ادامه مطلب
PowerShell یک ابزار task automation است که همزمان یک command-line shell، زبان اسکریپتی و یک فریمورک configuration management نیز میباشد. برخلاف دیگر shellها که مبتنی بر رشته هستند، ورودی و خروجی آن اشیاء داتنتی است و از آنجائیکه مبتنی بر CLR میباشد، امکان نوشتن توابع، کلاسها و ماژولها را به ما میدهد. همچنین به صورت توکار امکان کار با فرمتهایی از قبیل CSV, XML, JSON را در اختیارمان قرار میدهد. بخاطر extensible بودن، تعداد زیادی ماژول و افزونه برای نصب وجود دارند که کار با انواع تکنولوژیها را میسر میسازند: Azure Windows Exchange SQL AWS VMWare Google Cloud PowerShell در ابتدا در سال 2006 برای ویندوز XP به همراه 130 کامند ارائه شد. نسخههای بعدی آن نیز به ترتیب 2.0, 3.0, 4.0, 5.0 و د...
ادامه مطلب
در C# 11 ارائهی شدهی به همراه NET 7.0.، واژهی کلیدی جدید file، جهت تعریف نوعهای محدود به یک فایل «File Scoped Types» ارائه شدهاست. این واژهی کلیدی را میتوان به تعریف هر نوع دلخواهی مانند class, interface, record, struct, enum, delegate اضافه کرد (منهای خواص، فیلدها و رخدادها؛ البته تا C# 11)، تا آن نوع، دیگر در سایر کلاسهای فایلهای برنامه، قابل دسترسی نباشد و سطح دید استفادهی از آن، تنها محدود به فایل جاری محل قرار گیری آن شود. به این ترتیب میتوان در یک فضای نام مشخص، چندین کلاس همنام را تعریف کرد؛ کاری که در نگارشهای پیشین #C، میسر نبود. بدیهی دیگر نمیتوان یک چنین نوعهایی را با سطوح دسترسی متداول inteal و یا public، تعریف و ترکیب کرد. یک مثال: نمونهای از نحوهی تعریف و استفادهی از ...
ادامه مطلب
Raw String Literals، روشی ساده جهت تعریف یک قطعهی متنی، بدون نیاز به escapeهای فراوان و یا تعریف ""های متعدد است؛ برای مثال نوشتن رشتههای تشکیل شدهی از محتوای XML و یا JSON. به این صورت تعریف رشتههای پیچیده، سادهتر شده و قابلیت نگهداری آنها، بهبود خواهد یافت. Raw String Literal با حداقل سه عدد " متوالی، شروع شده و با حداقل سه عدد " متوالی، خاتمه پیدا میکنند: string name = "Vahid", country = "Iran"; string jsonString = $$""" { "Name": {{name}}, "Country": {{country}} } """; Console.WriteLine(jsonString); بدون وجود این قابلیت، معادل واقعی رشتهی فوق را باید به صورت زیر تشکیل داد: "{ "Name": Vahid, "Country": Iran}" و یا امکان درج سادهتر عبارات XML، بدون نی...
ادامه مطلب
واژهی کلیدی جدید required در C# 11.0، همانند خواص init-only که پیشتر معرفی شدند، با هدف آغاز و نمونه سازی دقیقتر و سادهتر اشیایی است که برای اینکار، به تعاریف ویژهی سازندهی کلاسها وابسته نیستند. امکان نمونه سازی بدون قید و شرط کلاسها تعریف کلاس Article1 را به صورت زیر درنظر بگیرید: public class Article1 { public string Title { get; set; } public string? Subtitle { get; set; } public string Author { get; set; } public DateTime Published { get; set; } } ساختار پروژههای دات نت 7 نیز به صورت پیشفرض به صورت زیر است: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net7.0</TargetFram...
ادامه مطلب
پخش زنده مراسم معرفی تاون هال 12 + دانلود ویدیو کامل - بدوگیم - مرجع کلش اف کلنز - کلش رویال خانهعمومیپخش زنده مراسم معرفی تاون هال 12 + دانلود ویدیو کامل ?> ...
ادامه مطلب
دوستان عزیز ، امروز میخواهیم دک جاینت اسپارکی 2 ، مناسب برای آرنا 8 به بالا را برای شما در وبسایت بدوگیم به صورت اختصاصی نگارش کنیم ! با ادامه مطلب همراه باشید …شما میتوانید قسمت اول دک جاینت اسپارکی را ، از اینجا مشاهده نمایید !شما میتوانید اخبار و دک های جدید و به روز را ازقسمت کلش رویال سایتوکانال تلگرامی رویالدنبال نمایید ! giant-sparky-deck-2-1کارت ها و نیروهای موجود در این دک را میتوانید به همراه میانگین اکسیر مورد نیاز را در تصویر بالا مشاهده بفرمایید ؛ اما من توضیحاتی باید درباره کارکرد و عملکرد کارت هادر این دکبه شما بدهم :Elixir Collector :سازنده اکسیر یا اکسیر کالکتور ، هم که کاملا مشخص است که وظیفه ای دارد و نیازی به توضیح نیست !Fire Ball :توپ آتشین یا فایر بال ، اگر به خوبی استف...
ادامه مطلب
دوستان عزیز ، امروز میخواهیمدک جاینت میرور ، مناسب برای آرنا 10 به بالا را برای شما در وبسایت بدوگیم به صورت اختصاصی نگارش کنیم ! با ادامه مطلب همراه باشید …شما میتوانید قسمت اول دک جاینت اسپارکی را ،از اینجامشاهده نمایید !شما میتوانید اخبار و دک های جدید و به روز را ازقسمت کلش رویال سایتوکانال تلگرامی رویالدنبال نمایید ! giant-mirror-deck-1کارت ها و نیروهای موجود در این دک را میتوانید به همراه میانگین اکسیر مورد نیاز را در تصویر بالا مشاهده بفرمایید ؛ اما من توضیحاتی باید درباره کارکرد و عملکرد کارت هادر این دکبه شما بدهم :Elixir Collector :سازنده اکسیر یا اکسیر کالکتور ، هم که کاملا مشخص است که وظیفه ای دارد و نیازی به توضیح نیست !Heal :اسپل سلامتی یا هیل ، طلسمی ست که میتواند جان از دست ر...
ادامه مطلب