ASP.NET MVC;
أسهل مكتبة لتطبيق مفهوم Membership على مواقع ASP.NET MVC
أغلب مواقع الانترنت بحاجة إلى ميزة الـ Membership لكي تسمح للمستخدمين والمدراء بالولوج إلى الموقع والإستفادة من مزاياه أو إدارته.
عانيت لفترة طويلة من صعوبة وتعقيد إضافة الـ ASP.NET Identity على مشاريع الـ ASP.NET MVC فهي بحاجة إلى تنصيب عدد من المكتبات، إنشاء عدة كلاسات، تعديل في الـ DbContext والـ Startup ناهيك عن عدد من الأخطاء التي تظهر غالباً بسبب التوافقية.
مكتبتي AuthPackage هي عبارة عن مكتبة تجمع كل العمليات والمكتبات اللازمة لإضافة الـ ASP.NET Identity، فهي تحوي على الـ Entity Framework, Owin, Asp,net Identity ، تسمح حالياً للمطور بإنشاء مستخدم جديد، تسجيل دخول، وتسجيل خروج.
وأرغب لاحقاً بإضافة مزايا، كتعديل كلمة المرور، الدخول باستخدام فايس بوك، غووغل، مايكروسوفت، تويتر، إمكانية إضافة حقول جديدة إلى جدول المستخدم وغيرها..
Show Examples 1, 2, 3 | Hide Examples 1, 2, 3
تنصيب المكتبة:
بعد الدخول إلى Package Manager Console في الـ Visual Studio قم بإضافة التعليمة التالية:
Install-Package AuthPackage
Slide Down ||
Slide Up
10 أسباب تجعل من صناعة مواقع الويب عمل مناسب إلى جانب الدراسة الجامعية
In Web DevelopmentJuly 21, 2017763 Views
في الكثير من الأحيان، يضطر طالب الجامعة إلى إيجاد وظيفة وعمل ثانوي إلى جانب دراسته، كي يستطيع تحمل المصروف وبعض التكاليف الدراسية.. الخيارات المتاحة قد لاتكون مناسبة غالباً، سواء من ناحية الجهد المطلوب، الارهاق الناتج عن ذلك، المردود المالي والوقت.
صناعة مواقع الويب، قد تكون أحد الخيارات الأنسب للعمل بشكل ثانوي إلى جانب الدراسة، الأسباب عديدة وسأذكر منها:
1. بعض تقنيات صناعة المواقع سهلة التعلم والتطبيق
لبناء مواقع الويب أنت بحاجة لتعلم سلسلة من التقنيات، سواء في التصميم، التطوير أو البرمجة، ومهارات عديدة جداً كالبحث، حل المشاكل، التعامل مع محركات البحث والاستضافة والكثير الكثير…
لكن ومع ذلك، يوجد بعض التقنيات سهلة التعلم، وبإمكانها تزويدك بالأدوات الكافية لبناء مواقع الويب، أشهرها هي بناء مواقع الويب باستخدام أنظمة إدارة المحتوى CMS، وهي عبارة عن برمجية تتيح لك صناعة الموقع بشكل مرئي بدون كتابة أكواد، أشهر هذه الأنظمة هو WordPress.
إن 28% من مواقع الويب الموجودة على الانترنت تمت صناعتها باستخدام ورد بريس، نحن نتكلم عن أكثر من 25 مليون موقع نشط !! وهو رقم هائل ولا يوجد منافس قريب من هذا الرقم. تملك ورد بريس سوق هائل من الإضافات البرمجية، والثيمات، بحيث بإمكانك شراء ماتريده من التصاميم والإضافات لتصنع الموقع الذي تريده أو يريده العميل، فيمكنك مثلاً صناعة:
مدونة – موقع شخصي – موقع لخدمات شركة ما – سوق الكتروني – شبكة اجتماعية صغيرة – منصة اسئلة واجوبة – موقع توظيف ….الخ من المزايا التي بإمكانك فعلها باستخدام الإضافات البرمجية المتاحة.
بإمكانك استعراض الخطوات الأولى لتعلم ورد بريس هنا.
Note: 2. كل ماتريد تعلمه وأكثر موجود أونلاين
على الويب مصادر لاتعد للدروس والمعلومات المتنوعة عن كيفية صناعة مواقع الويب، سواء باستخدام أنظمة CMS أو تعلم بنائها بشكل احترافي من الصفر، سأذكر منها:
W3SCHOOLS
Code Academy
Edx
Mozilla .org
Udemy
Coursera
WpBeginner
والعديد من المواقع والمدونات المتنوعة، وهنا أنصح بالاعتماد على المصادر الأجنبية، أو العربية التي تستخدم مصطلحات انكليزية، حتى تضمن إمكانية الاستمرارية مستقبلاً في متابعة تحديثات التقنيات.
3. بإمكانك العمل بشكل مستقل وليس بالضرورة كموظف
هل تعلم أن 35% من القوى العاملة في الولايات المتحدة الأميركية هي قوى عاملة مستقلة؟ والأرقام في نمو مستمر، هنالك عدد كبير من مزايا العمل المستقل، لن اتطرق لها هنا، لكن سأذكر أهم مافي الموضوع بأنك ستكون رب العمل، وسيكون عليك عاتق بناء السمعة وخدمة العملاء الجيدة والجودة في الخدمات، وهي أمور بجهد مدروس وعزم يمكن تحقيقها، والعملية ممتعة بشكل أو بآخر ففي النهاية أنت تبني عملك بنفسك.
هذه مقالة عن مزايا العمل المستقل.
وهذه مقالة عن 10 منصات عربية لإيجاد فرص العمل المستقل. ، وبإمكانك بشكل أكيد بعد أن تجرب مع عدة عملاء وعدة مواقع، ضم أسمك لقائمة المستقلين في فسيلة تِك.
4. يمكن صناعة مواقع الويب من المنزل
بما أن ماتحتاجه لصناعة المواقع هو كومبيوتر واتصال انترنت وشغف كبير، فبالتالي يمكن القيام بالموضوع من المنزل! تخيل كم الوقت الذي ستوفره بدلاً من الذهاب بشكل روتيني إلى العمل، والانشغال عن الجامعة والتقصير في الدروس!! يمكنك ببساطة العمل من المنزل، وبالوقت الذي تريده.
طبعاً مع مراعاة أن إدارة الوقت ليست بالموضوع البسيط، وبحاجة تدريب وتجريب.
10. هذه المهنة آمنة في ظل الظروف الاقتصادية الصعبة للبلاد
عند الظروف القاسية اقتصادياً، كالعقوبات، انخفاض قيمة العملة المحلية، عدم وجود فرص عمل كافية، والحروب.. كل هذه الظروف يمكن التغاضي عنها نسبياً عند العمل مع زبائن من دول أخرى عن طريق الانترنت ومن منزلك ..
وفي النهاية، كل عمل بحاجة لتعب في البداية، سواء في التأسيس المعرفي أو بناء الثقة مع الزبائن، والقاعدة الذهبية في العمل الثانوي هو إدارة الأولويات وخلق التوازن، لأن الخطأ في ترتيب الأولويات سيؤدي إلى مشاكل في التحصيل الدراسي أو مشاكل في بناء ثقة مع الزبائن أو في كليهما.
هل قمت بتجربة صناعة مواقع ويب باستخدام WordPress؟ وهل لديك وصفة للبدء بهذه التقنية ؟ شاركنا تجربتك في التعليقات أسفل المقالة.
.
استخدام المكتبة:قم بإنشاء instance منها، حيث يتطلب تمرير HttpContext كـ parameter .1
AuthUser(HttpContext):
Slide Down ||
Slide Up
2. اضف الـ ConnectionString إلى الـ Web.config.
//add this code to
3. استمتع 🙂
SignIn(string email, string password)
SignOut()
Register(string email,string password)
:
Slide Down ||
Slide Up
خطواتك الأولى لتصبح مطور ويب، مقترحات للتعلم بشكل ذاتي – الجزء الأول
In Web DevelopmentOctober 2, 20162598 Views
اتلقى بشكل دائم طلبات استفسار عن الخطوات الأولى في طريق تعلم تطوير الويب (Web Development)، وأحياناً يتطور الأمر ليصبح طلب إقامة كورس خاص في الموضوع. اعتقد جازماً بأن تعلم تطوير الويب عن طريق “التلقين” هو أمر لافائدة منه، وسيؤدي في النهاية إلى تكوين مطور ويب (Web Developer) ضعيف، تقليدي غير قادر على الإبتكار ومواكبة التقنيات الحديثة. البرمجة بحاجة إلى صبر ومرونة عالية في التعلم بشكل ذاتي والبحث بإصرار لإيجاد حلول للمشاكل وهو أمر صعب الحصول عليه في حال كانت بداية رحلة التعلم عن طريق التلقين وليس التعلم الذاتي.
الخطوة الأولى
لتصبح مطور ويب! عليك في البداية التعرف عليه، اقترح هنا أن تقوم ببحث على الانترنت والإجابة على الأسئلة التالية:
ماهو الويب؟
ماهو الانترنت؟
هل أصبح بإمكانك تخيل الفرق بين الويب والانترنت!؟ هل تستطيع توضيح الفرق بمثال محاكي له؟
:
Slide Down ||
Slide Up
عندما تقوم بتشغيل مشروع ASP.NET MVC بدون تحديد أي منطق توجيه للـ URL فإنه بشكل افتراضي سيقوم بالتوجيه إلى المتحكم المسمى Home وإلى الـ Action Method التي تسمى Index بداخله, وهذا بالضبط مايعنيه الكود السابق.
إن أول جزء من العنوان URL يحدد المتحكم المطلوب استدعائه، وبذلك الرابط Welcome/ يقصد به أننا نريد استدعاء المتحكم WelcomeController, بينما الجزء الثاني من الرابط يحدد الـ Action Method التي نريد استدعائها بداخل المتحكم المطلوب، أي Welcome/Index/ سيجلب لنا مابداخل الـ Method المسماة Index بداخل WelcomeContorller. ونلاحظ أننا قبل قليل كتبنا Welcome/ وحصلناعلى نتيجة الـ Method المسماة Index بدون أن نكتبها في الرابط بعد اسم المتحكم، وذلك بسبب كونها Method Action افتراضي معرف مسبقاً بمنطق التوجيه.
يتكون الجزء الثالث من الرابط URL من Parameters سأقوم بإيضاح هذا الجزء بعد قليل.
قم بالذهاب داخل المستعرض إلى العنوان: Welcome/Greeting/ نلاحظ بذلك اننا استدعينا الـ Action Method المسماة Greeting وعادت نتيجتها بالفعل. كما شاهدنا فإن منطق التوجيه الافتراضي هو [Controller]/[ActionName]/[Parameter]/ وفي حالتنا هنا فإن المتحكم هو Welcome، والـ Action هو Greeting بينما الـ Parameter فهي فارغة ولم نكتب بها شيئ..
الخطوة الثانية
في هذه الخطوة عليك استيعاب مكونات موقع الويب (Website) وكيف يعمل بأبهى صوره، اقترح هنا أن تقوم بالتعرف على منصة WordPress، ترتكز هذه المنصة على تبسيط بناء المواقع واختصار عمليات بنائها وجعلها مرئية بشكل يسهل لغير المبرمجين التعامل معها وبناء مواقعهم بسهولة. اقترح السير وفق الخطوات التالية:
ماهو الـ Content Management System – CMS ؟
هل بإمكانك وضع تعريف بسيط وواضح لمنصة WordPress ؟
باسترجاع مفهوم الـ web الذي قمت بالبحث عنه سابقاً! مالفرق بين حاسوب client وحاسوب server؟
لتحويل حاسوبك الشخصي إلى server عليك تنصيب برمجيات معينة تتوافق مع لغة البرمجة التي بنيت عليها wordpress وانا اقترح هنا تنصيب سيرفر wamp، كيفية تنصيب wamp.
في هذه الخطوة عليك تحميل ملفات المنصة على حاسوبك الشخصي: منصة WordPress لإدارة المحتوى.
عليك البحث عن كيفية تشغيل wordpress على سيرفر wamp، وتشغيلها بشكل ناجح.
بعد تشغيل المنصة بنجاح، ينبغي البحث عن المفاهيم: Themes, Plugins في wordpress
حتى تنتهي من هذه الخطوة بنجاح، عليك أن تحدد موضوع تحبه وتبدأ بصناعة موقع ويب له باستخدام wordpress، ابحث عن theme مجاني مناسب، وابدأ العمل، وعندما تنتهي منه تكون قد حققت الهدف من هذه الخطوة، واستعرضت مكونات موقع الويب بشكل جيد.
سأكون سعيد جداً وممنون في حال شاركتني إنجازك، إما بتعليق بصورة الموقع على هذه التدوينة، أو بإرسال بريد إلكتروني بإنجازك على waleedchayeb2@gmail.com:
Slide Down ||
Slide Up
ASP.NET MVC تمكنك من استخدام عدة متحكمات Controllers وعدة Action Methods بداخل كل متحكم، بحيث نستطيع الوصول إليها عن طريق الـ URL. تستخدم ASP.NET MVC منطق توجيه URL Routing Logic افتراضي هو:
/[Controller]/[ActionName]/[Parameters]
بإمكانك وضع صيغة التوجيه أو منطق التوجيه في ملف RouteConfig.cs داخل مجلد App_Start.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
الخطوة الثالثة
ستتبع الخطوات القادمة بتدوينة لاحقة.
تغذية راجعة
قمت لفترة 5 أشهر باختبار منهجية التدريب هذه على أكثر من 20 متدرب (من خلال حسابي على فيس بوك، ومن خلال برنامج مشاركة المعرفة في فسيلة تِك)، نسبة جيدة من هؤلاء المتدربين يعملون حالياً على مشاريع ويب فعلية وبشكل جدي،ولذلك فأنا مهتم جداً بتطوير الآليات والأفكار، في حال كانت لديك مقترحات للتطوير يرجى التعليق على هذه التدوينة.:
Slide Down ||
Slide Up
إضافة متحكمات Controllers لموقع ASP.NET MVC
MVC هي اختصار لـ Model-View-Controller. وهي نمط بناء لتطبيقات الويب بطريقة هندسية جيدة، قابلة للاختبار وسهلة التعديل. إنّ التطبيقات التي تعمل على نمط MVC تعتمد على:
Models: وهو كلاسات Classes تمثل البيانات التي سيستخدمها الموقع.
Views: قوالب يستخدمها موقعك لتوليد واجهات HTML
Controllers: كلاسات Classes للتعامل مع الطلبات Requests القادمة من المستعرضات Browsers، جلب البيانات من الـ Model، وتحديد القوالب التي ستشكل الاستجابة التي سيقوم بها موقعك.
خلال التدوينات القادمة سنتمكن من فهم المبادئ الثلاثة السابقة وتطبيقها في مشاريع برمجية خاصة بكم.
سنبدأ الآن بإنشاء متحكم Controller لمشروعنا السابق ArabicArchive، في نافذة Solution Explorer اضغط بالزر اليمين على مجلد Controllers ومن ثم انقر على Add وبعدها Controller.
نستبدل محتوى ملف المتحكم الجديد بالكود التالي:
namespace ArabicArchive.Controllers
{
public class WelcomeController : Controller
{
//
// GET: /Welcome/
public string Index()
{
return "This is my default action...";
}
//
// GET: /Welcome/Greeting/
public string Greeting()
{
return "This is the Greeting action method...";
}
}
}
Toggle Display |
Slide Down |
Slide Up
في هذه المرة طابق أحد المتغيرات المتغير المعرف في منطق التوجيه الافتراضي، وهو المتغير ID ولذلك لم نقم بكتابتها كمتغير بل كتبناها حسب صيغة منطق التوجيه.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
بإمكاننا تعديل منطق التوجيه الافتراضي إذا أردنا بالشكل الذي نريده، وكمثال سأقوم بتعديل التوجيه عند استدعاء المتحكم Welcome لتصبح الصيغة كالتالي:
[Controller]/[ActionName]/[name]/[id]/
لتعديل ذلك قم بفتح الملف RouteConfig الموجود بداخل المجلد App_Start وأضف إليه التالي:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Welcome",
url: "{controller}/{action}/{name}/{id}"
);
}
}
Note:في العديد من تطبيقات ASP.NET MVC لن تكون بحاجة لتعديل منطق التوجيه، حيث يوجد هناك طرق أخرى تمرير البيانات للـ Action Methods سنقوم باستعراضها لاحقاً في تدوينات مستقبلية.
في هذه التدوينة قمنا باستعراض المبدأ C والمبدء V من الـ MVC ، كمثال كنا نعيد html بشكل مباشر، لكن في التدوينة القادمة سنتعرف على المبدأ الثالث الذي سيساعدنا على عرض النتائج وإعادتها بشكل احترفي أكثر.
تغذية راجعة
اتمنى عدم التردد في الاستفسار عن أي مفهوم تم ذكره في هذا التدوينة، وأرجو تجربة إضافة المتحكمات بشكل فعلي وعدم الاكتفاء بالقراءة لتحقيق أكبر فائدة ممكنة، وكالعادة سأكون سعيد إن شاركتموني تجربتكم وتصويباتكم في حال وجود أخطاء كتابية.
هذه المقالة مستندة إلى سلسلة دروس مايكروسوفت الرسمية للـ ASP.NET MVC، وذلك لترتيب الدروس المناسب واعتقادي بسلاستها وأهمية نقلها إلى العربية بأسلوب مناسب وتجربة تتوافق مع الأدوات المتاحة لنا والمتوفرة في منطقتنا.
.
Show Jason DIV
Show Jason and Kelly DIVs
Target Page
Target Page
Aucun commentaire:
Enregistrer un commentaire