وبلاگ توسعه نرم افزار رادکام

اخبار، مطالب و رویدادهای مرتبط با توسعه نرم افزار رادکام

GraphQL یک زبان پرس و جو برای APIها و یک Runtime به منظور اجرای پرس و جو برروی داده های موجود است. در این مقاله مقدمه ای بر نحوه پیاده سازی GraphQL از طریق WebApi شرح داده می شود.

GraphQL

GraphQL


برنامه نویسی

GraphQL ،GraphQL در WebApi


اگر یک توسعه‌دهنده ASP.NET Web Forms هستید، حتماً تابه‌حال شده که لازم باشد کنترل‌هایی را در یک Repeater قرار داده و تکرار کنید. همچنین به‌احتمال بالایی لازم بوده که برای ایجاد یک دکمه با آیکون، داخل یک HyperLink کنترل دیگری مثل یک Label را قرار داده و مثلاً به آن کلاس glyphicon بدهید. متأسفانه Repeater با کنترل‌های تودرتو آن‌طور که انتظار داریم رفتار نمی‌کند. در مقاله امروز رادکام، یک وضعیت به‌خصوص از این ترکیب را باهم بررسی می‌کنیم.

برنامه نویسی

repeater, asp.net webforms


 جعل درخواست Cross-site (که همچنین با عناوین XSRF و CSRF نیز شناخته می شوند) حمله ایست که به برنامه هایی که روی وب سرور ها میزبانی می شوند انجام می شود، یعنی در اصل این حملات به برنامه های تحت وب انجام می گیرند، که به موجب آن، یک برنامه وب مخرب می تواند بین تعاملی که بین مرورگر مشتری(کاربر) و یک برنامه وب که به آن مرورگر اعتماد دارد، وجود دارد، تاثیر بگذارد. این حملات به این دلیل امکان پذیر هستند که مرورگر های وب برخی توکن های اعتبار سنجی را به صورت اتوماتیک به سمت هر درخواست آمده به وب سایت ارسال می کنند. این شکل از سوء استفاده همچنین با نام های حمله تک-کلیک (حمله one-click) یا Session Riding نیز خوانده می شود، به دلیل اینکه این حمله از session اعتبار سنجی شده قبلی کاربر برای اهداف خود استفاده می کند.


برنامه نویسی

CSRF ، XSRF ، Cross-Site Request Forgery ، Antiforgery ، AntiForgeryToken


از نسخه .NET Framework 4.7.2 به بعد امکان تنظیم ویژگی sameSite روی کوکی (Cookie) فراهم شده است. تا قبل از این بروزرسانی مقدار هدر کوکی sameSite تنظیم نمی شده است که در حقیقت معادل SameSiteMode.None می باشد ولی از ورژن ذکر شده به بعد مقدار پیش فرض هدر کوکی sameSite وقتی مقداری برای آن تنظیم نشود، به صورت پیش فرض مقدار SameSiteMode.Lax درنظر گرفته می شود.

این تغییر مقدار پیش فرض باعث شده است تا ارسال اطلاعات از سایتهای دیگر (مثلا درگاههای پرداخت اینترنتی بانکها) به سایت مبدا با مشکل مواجه شود.


برنامه نویسی

ASP .Net, Cookie SameSite, SessionState, درگاه پرداخت اینترنتی


 Observer Pattern Diagram

الگوی Observer

الگوی Observer یکی از الگوهای رفتاری می باشد. همان طور که از نام این الگو مشخص است، در این الگو برخی اشیا عملکرد شی خاصی را مشاهده یا رصد می کنند و هر گونه تغییر در وضعیت شی مورد نظر بر روی اشیا ناظر تاثیر گذار خواهد بود. به این ترتیب وابستگی بین اشیا ناظر و شی هدف وجود دارد و نیاز است که همه اشیا ناظر از هر گونه تغییر حالت شی هدف اطلاع پیدا کنند. یکی از راه حل هایی که برای این سناریو وجود دارد استفاده از حلقه For می باشد. اما این راه حل هزینه بر بوده و کارایی را کاهش می دهد. لذا در چنین مواردی استفاده از الگوی Observer بسیار کمک کننده خواهد بود. این الگوی طراحی بسیار کاربردی می باشد و یکی از مهمترین بخش های معماری MVC محسوب می شود.


برنامه نویسی

الگو طراحی نرم افزار ، Design Pattern ، Observer


Memento Pattern Diagram

الگوی Memento

الگوی Memento یکی از الگوهای رفتاری می باشد. این الگو برای ذخیره وضعیت اشیا و بازگشت به وضعیت قبلی یا بعدی به کار برده می شود. بنابراین می توان برای پیاده سازی Undo و Redo از این الگو استفاده نمود. برای مثال در بازی های کامپیوتری گاهی ممکن است تا مرحله ای پیش رفته و بخواهیم که وضعیت موجود تا آن مرحله را ذخیره کنیم تا در مراجعه بعدی نیازی به شروع از ابتدا نداشته باشیم، در برخی محاسبات و تراکنش های سنگین نیز به دلیل زمان بر و هزینه زیاد ممکن است نیاز به ذخیره تا مرحله خاصی وجود داشته باشد. در این موارد می توان از الگوی Memento استفاده نمود. ذخیره اطلاعات توسط این الگو بسته به نیاز می تواند در حافظه اصلی و یا حافظه های جانبی مثل فایل و... انجام شود و به همین دلیل می تواند هزینه بر باشد. نام دیگر این الگو Token می باشد و به دلیل ذخیره و نگهداری وضعیت ها به Memento به معنی یادداشت یا یادگاری نامگذاری شده است.


برنامه نویسی

الگو طراحی نرم افزار ، Design Pattern ، Memento


چگونه توسط WebAssembly کدهای Native در مرورگر اجرا می شود؟ چرا این کار را انجام می دهیم؟ و این کار در آینده توسعه وب چه معنایی دارد؟

در این مقاله تلاش می کنیم به این سوالات پاسخ دهیم.وب اسمبلی


برنامه نویسی

WebAssembly، وب اسمبلی، LLVM، Emscripten


الگوی طراحی Decorator در رده الگوهای طراحی Structural قرار دارد. رسالت الگوی Decorator این است که راهی برای اتصال و تخصیص یک وضعیت یا رفتار جدید به یک شیء به صورت پویا فراهم کند. خود شیء در جریان این اتصال نیست، یعنی خود شیء نمی داند که رفتار و یا وضعیت جدیدی به آن متصل و اضافه شده است، به همین دلیل این الگو در سامانه های در حال توسعه کاربرد بنیادین دارد. یک نقطه کلیدی پیاده سازی در الگوی Decorator این است که دکوراتورها هر دو کلاس اصلی را به ارث می برند و  همچنین شامل نمونه ای از آن هستند.

برنامه نویسی

الگوی طراحی Decorator


در صحبت‌های روزمره زیاد شنیده‌ایم که شخصی را «وسواسی» توصیف کنند و عموماً این نوع از وسواس به تأکید غیرعادی فرد بر تمیزی اشاره دارد. جالب است بدانید که وسواس به تمیزی، صرفاً یکی از نمودهای وسواس فکری است و حالت‌های بسیار متنوعی را شامل می‌شود.
حالا یک برنامه نویس که به این اختلال دچار است، چه ویژگی هایی دارد؟

برنامه نویسی | عمومی


امروز در وبلاگ رادکام، طی دو پست به بررسی تفاوت های MVC Core و MVC عادی میپردازیم. تفاوت های بخش دوم شامل موارد زیر هستند:
  1. پشتیبانی داخلی از Dependency injection در Asp.net core
  2. User secrets در aps net core
  3. مقایسه razor pages با mvc

پست های کامپیوتری | برنامه نویسی

صفحه ۱ از ۳ ۲ ۳