d عام – الصفحة 5 – مدونة الفريق

التصنيف: عام

  • إيمان … شك … إيمان

    حقيقة ترددت كثيرا في الكتابة عن هذا الموضوع، لأسباب كثيرة منها – لا الحصر – أن مئات بل الآلاف سبقوني في الكتابة عن هذا الموضوع وتناولوه من كل الجوانب، ثانيا أن هذا الموضوع يحتاج لكتب طويلة فجوانبه كثيرة ويصعب حصرها في مقالات بسيطة، ثالثا هذا الموضوع معقد لدى البعض وله تبعيات جذرية، لدرجة أن البعض غير حياته كليا بعد البحث فيه.

    في كل الأحوال لا مانع من الكتابة فيه، ولكن سأقوم بفصله في أجزاء لكي تسهل على القارئ الصورة

    الأجزاء بشكل مبدئي

    0- الإيمان والشك واللادين

    1- نظرة عامة عن الإيمان ونظرية التطور.

    2- المدخل الفيزيائي

    3- المدخل الحيوي

    4- المدخل الفلسفي

     

    سأحاول قدر المستطاع أن أجعلها مقالات صغيرة مركزة.

    حسنا ندخل صلب الموضوع، موضوع الالحاد نسمع فيه من فترة إلى فترة، ونسمع أن صديقا مقربا فجأة ترك الدين شيئا فشيئا إلى أن اتجه إلى اللادينية شيئا فشيئا، ولربما الإلحاد في النهاية.

    لدي تعقيبين في هذا المقال عما حدث لهم، وهما:

    أ- لا ألومهم

    ب- خطوة في الاتجاه الصحيح

    لا تخرج أكمل ولا تستهجن ، نناقش كل واحدة منهما.

    أ- لا ألومهم

    جلست مع دكتوري لعلم الأحياء الدقيقة Microbiology في كلية الصيدلة بالمصادفة قبل عام، وهو حاصل على دكتوراة في علم الهندسة الوراثية ودردشت معه إلى أن وصلنا لموضوع العلم والدين، فقال لي حتى القرآن يناقض العلم، فاستغربت هذا أشد الاستغراب ثم استجمعت أجزاء تفكيري وقلت له لماذا هذا بكل هدوء، فقال لي لأنه يحتوي على أخطاء كثيرة، قلت له هات بعضها – بكل ثقة كما كل المؤمنين – فأخبرني أن القرآن يقول أن الأرض مسطحة، وهذه الأرض هي مركز الكون والشمس تدور حولها، والأرض ثابتة ولا تتحرك، والقمر يقول عنه القرآن هكذا، وكذلك يقول عن الجبال … إلخ، فقلت له أين يقول القرآن هذا، فأخبرني في آية كذا وكذا وكذا، فقلت له، وكيف فهمت أن هذه الآية تعنى ما قلته لي، قال لي أنا قرأت تفاسير أغلب علماء المسلمين، وجميعهم يقول هذا، حتى المعاصرين منهم، فسكت لأني – للأسف – قرأت نفس تفاسيرهم وكانت تفاسيرهم صادمة.

    قلت له تفسيرهم ليس صحيح، ولنا لقاء آخر نتناقش، دعنا نتحدث عن آخر إنجازاتك العلمية.

    حسنا هذا الدكتور أو هذا المثقف أو هذا العالم، يرى ناسا ويرى الأدلة العلمية والمصورة والإنجازات العلمية، وإكتشاف ناسا لسبعة كواكب تبعد عنا 40 سنة ضوئية تشابه الكرة الأرضية، ويرى الدليل بعينه، ثم يأتي شخص يقول له أن القرآن يقول أن الأرض مركز الكون والقرآن والعلماء يقولون هذا، ويجلب الآية له – لا أريد ذكر أي آية هنا – ويناقشه ويقول له قال العلامة كذا وكذا.

    الآن هذا الشخص أمامه 3 خيارات في حالته وهي:

    1- أن يقول أن التفسير خطأ ، لا محالة.

    2- أن يقول أن القرآن غير صحيح بالكامل وبه خطأ أو أخطاء، وهذا يعني أنه ليس كلام الله، لأن حرف واحد خطأ يعني بطلان الصواب المطلق.

    3- أن يقول أن عقلي لا أريد أن أشغله حتى لا أدخل النار وسأصدق كلام المفسرين مباشرة، وسأوقف عمل عقلي وتفكيري، وتبا لكل العلوم.

     

    نناقش كل واحدة منها، أنا وأنت نقول بالخيار الأول مباشرة، هذا خطأ تفسيري، لكن ليس كل الناس تفكر نفس التفكير، ولربما البعض قالها أول مرة، وثاني مرة وثالث مرة، ثم تكرر نفس الموقف مرارا وتكرار، وتكرر ونفس التفسير الخطأ – وبالمناسبة التفاسير الخطأ التي تتعارض مع العلم والعقل كثيرة – فما كان منه إلا أن تخلى عن هذا الخيار.

     

    الخيار الثاني ما يقوله الكثير من المتعلمين أو المثقفين والقارئين النهمين، وهو للأسف مرة أخرى أحد أسبابه تفاسير القرآن الخطأ من قبل عالم لا يعلم شيء عن الفيزياء والكيمياء والفضاء وغيره، فقط يعرف في علم أو علمين كحد أقصى، وبالكاد نجح في الثانوية.

    أكيد هنالك أسباب أخرى لا أحبذ ذكرها هنا، لكن التفسير الخطأ هو سبب كل المشاكل، لأنك به تكون نسفت القرآن، وبالتالي نسفت أساس الدين، فلم يبقى حجر في البنيان، أرجو النظر لهذا الفيديو للأسف.

     

    الخيار الثالث المطروح أمامه هو التغاضي.

    لدي في كفة حقيقة علمية واضحة أمامي، ألمسها وأراها، ولدي في كفة أخرى آية قرآنية بتفاسير واحدة، فأنا أرجح في هذه الحالة عدم التفكير وأغيب عقلي وما أراه وأقول ترجح كفة الدين، وتبا للعقل، وهذا يقودنا إلى المهلكة، حيث كان عليك عمل عكس هذا، يجب عليك إعمال عقلك وهو ما أناقشه في النقطة ب

    ب- خطوة في الاتجاه الصحيح

    حينما تعمل عكس الخطوة الثالثة وترجح كفة عقلك على كفة التفسير وتقول أنا أكفر بهذا، فأنت اهتديت والحمد لله، حسنا لا تستغرب، أنت سرت في أولى خطوات التوحيد.

    كل الأديان السماوية تقول بالتوحيد – نعم كل الأديان السماوية – وكلها مبنية على جملة

    ” لا إله إلا الله ”

    لنقسم الجملة

    الجملة تقول

    لا إله

    ثم

    إلا الله

    تبدأ جملة التوحيد بكفر

    نعم تبدأ بكفر

    الكفر بكل الآلهة الموجودة في الوجود

    ثم التسليم أنه يوجد فقط إله واحد هو الله

    الكفر بالآلهة التي تقول لك لا تفكر، سلم بالمجهول، عقلك هذا الذي خلقه الله لكي يفكر، وكرمك به وجعلك خليفته في الأرض، لا يجب عليه التفكير، بل يجب عليه أن يتعطل، وأن تركنه جانبا، وعليه التسليم مباشرة بما يقوله الإله الآخر، والإله الآخر له أشكال متعددة لا تنتهي، بعض أشكالها قد يكون الشيخ المفسر، إمام المسجد، رئيس القبيلة، أمك أو أبيك، صديقك أو أخيك، العادات والتقاليد …. إلخ.

    هذه الآلهة تقول له سلم بما أقول، ولا تشغل عقلك، حسنا ما الدليل على كلامي

    أعطوني آية واحدة تقول لك لا تشغل عقلك ؟

    فكر وابحث وتذكر ؟

    وصدقني لن تجد

    لأن كل آيات القرآن تقول لك فكر، كل أيات التوبيخ تتكلم عن أن الكفار لا يفكرون، كل الذم لهم لأنهم لا يعملون عقولهم.

    { لَآيَاتٍ لِقَوْمٍ يَعْقِلُون } [ البقرة 164]

    { وَلَوْ كَانُوا لَا يَعْقِلُونَ } (42) يونس

    { لَآيَاتٍ لِقَوْمٍ يَعْقِلُونَ } (4) الرعد

    { إِنَّ فِي ذَلِكَ لَآيَاتٍ لِقَوْمٍ يَعْقِلُونَ } (12) النحل

    { لِقَوْمٍ يَعْقِلُونَ } (67) النحل

    { لِقَوْمٍ يَعْقِلُونَ } (35) العنكبوت

    { لِقَوْمٍ يَعْقِلُونَ } (24) الروم

    { أَفَلَا يَعْقِلُونَ } (68) يس

    هذه الآية مدهشة

    { وَاخْتِلَافِ اللَّيْلِ وَالنَّهَارِ وَمَا أَنْزَلَ اللَّهُ مِنَ السَّمَاءِ مِنْ رِزْقٍ فَأَحْيَا بِهِ الْأَرْضَ بَعْدَ مَوْتِهَا وَتَصْرِيفِ الرِّيَاحِ آيَاتٌ لِقَوْمٍ يَعْقِلُونَ } (5) الجاثية

    تتكلم عن أن اختلاف الليل والنهار – في زماننا اكتشافات ناسا والفضاء والفلك – والسماء والأرض والرياح آيات من الله يجب عليك أن تتفكر بها لكي تعقل، يجب أن تبحث فيها بعمق لكي تعقل هذا الإله الذي خلقها، وأدعك للبحث في جوجل عن هذه الآية لترى ما هي الآية التي قبلها، ما هي الآية المعجزة التي تدل على وجود الله أيضا، أين يجب أن تعمل عقلك قبل أن تعمله في علوم الفضاء والكون Cosmology.

    انظر من هم شر الدواب عند الله

    { إِنَّ شَرَّ الدَّوَابِّ عِنْدَ اللَّهِ الصُّمُّ الْبُكْمُ الَّذِينَ لَا يَعْقِلُونَ } (22) الانفال

    هم الصم البكم، الذين يغيبون عقلهم والمنطق والحكمة والحقائق، يغلقون آذانهم ويعمون أبصارهم عن الحقائق ويسلمون بدون تفكير.

    حسنا أشعر أن المقال صار أشبه بخطبة الجمعة، لنعود لنتابع، لنرى أن من أعمل عقله قد بدأ أولى خطوات التوحيد، أولى الخطوات التي يطلبها الله منا، يريدك الله أن تعمل عقلك ، تتفكر، تتأمل، تشطح، تحلل، تكتشف، تتحقق، أي شيء يشغل عقلك هو الصواب عند الله.

    لو كان الله يريد عباد له لا يفكرون لخلق الناس كلهم مؤمنين، لكن الله يريد لهذا العقل أن يهتدي بنفسه، نقطة هنا أخرى يجب أن أقولها، طالما الله يريد لهذا العقل أن يفكر ويتوصل إلى الله بنفسه، فلا يجب عليك أن تغصب عقل أحد على الإيمان – والآيات بهذا أيضا كثيرة – حتى وإن مال للخطأ عليك بالنقاش والنقاش فقط، التخويف بالنار، أو بالعقاب أو بالأذى سواء في الدنيا أو الآخرة لا يرضي هذا الإله، كيف لا وهو قد أعطى هذا المخلوق حرية التفكير للوصول إليه وأنت تريده أن ينافق خوفا أو إرضاء لك وهو في قرارته غير مقتنع، تريده أن يعبد هذا الملك خوفا لا محبة.

    أعلم أني استطردت كثيرا هنا، ولكن مهم هذا لكي ننظر لمن أعمل عقله نظرة صحيحة ونشجعه ونحيه، ونعتقد أنه خطى أول خطوات الإيمان، علينا أن نسير معه في رحلته، لا أن ننبذه، هو قبل سبقك يا صديقي.

    أنا أؤمن أيضا أن من فكر وفكر وأعمل عقله كل الإعمال ولم يتكبر أو يجحد بالحقائق، وقد توفي على حالته في رحلته سيرحمه الله، حينما يقف أمام الله، سيقول لله، لقد أعملت عقلي يا رب وشغلته ليل نهار لكي أصل إلى الحقيقة، هذا عقلي الذي منحتني إياه توصل إلى هذه الفكرة صدقا ولم أجحد بأي فكرة مثلت أمامي وقلبتها بهذا العقل الذي منحتني إياه، وهذا أقصى ما توصلت إليه.

    الشك بداية اليقين

    أغلب العرب ولدوا مسلمين فهم يسلمون بوجود هذا الإله، لكن الإيمان الحقيقي بالله يتخلله هذه الرحلة، رحلة الشك الذي ينتهي بالإيمان، ونحن أولى بهذا الشك من إبراهيم 🙂 .

    هذا الإله العظيم يريد عباد حقيقيين، يقدرونه ويعلمون قدره وقدرته وعظمته، لا عبيد مغلوبين على أمرهم، يسيرون مكبلين بالأفكار الخطأ، والله حاشاه أن يكون مثل ملك ظالم يحب أن يرى العبيد حوله يتقربون إليه خوفا من سوطه، لا محبة في رحمته وإندهاشا بعظمته.

    خطوة الإيمان الحقيقي تبدأ بالتجريد من كل شيء، التفكير في هذا الكون، والسير في هذه الرحلة: هل هذا الكون أتى بالصدفة، أم هنالك كما يقول البعض هنالك من أوجده.

    لنفكر ونحلل، ونستكشف، ونتحقق ونتأكد، ثم إذا توصلنا إلى استحالة أن يكون قد أتى بالصدفة، فيجب البحث عن هذه القوة العظيمة التي صممته وبنته. لنرى هل هنالك قوة عظيمة أعلنت عن نفسها، سنرى أن هنالك قوة اسمها الله، وقد أعلنت عن نفسها عن طريق شيء اسمه الأنبياء، نبحث عنهم ونفهم المطلوب منا وماذا تريده هذه القوة العظمى، حتى نحقق الهدف الأساسي لها من تصميم وبناء هذا الكون.

    لا أطيل لعلك تجد ما وجدت ستجد أن الهدف الأساسي لوجودك هو إعمار الأرض، وهذا الإعمار لا يتم إلا عبر المنحة الكبرى، الشيء الأعظم الذي صممه وبناء هذا الصانع المتقن، الشيء الأسمى في الوجود الدال عليه، الشيء هذا يا سادة هو العقل

    فأرجوك استخدمه !.

  • أفضل محرر نص غني لموقعك

    إن محرر النصوص الغني WYSIWYG editor لأداة ضرورية في مواقعك، حيث يطلبها أصحاب المواقع باستمرار، وتوجد العشرات من هذه المحرات، ومتوافرة بكثرة في المواقع المختصة، منها ما هو مجاني ومنها ما هو مدفوع، منها ما هو مفتوح المصدر ومنها ما هو مغلق المصدر، والسؤال هنا: من أفضلها؟.
    لقد جربت الكثير من المحررات، وإن أفضل محرر رأيته وأعجبني هو محرر مجاني ومفتوح وصدر حديثا،  ألا وهو محرر مايكروسوفت الموجود في مكتبة AjaxControlToolKit.

    (المزيد…)

  • توتر برمجيا

    موقع Twitter لم يعد أحد يدخل الويب  ولا يعرف هذا الموقع ، بالرغم من عدك اتضاح فكرته لدى الجميع أو الهدف منه ، او أن الموقع يبدو غير مفيد ، إلا أنه يتطلب احيانا منا الربط معاه لأسباب عديدة ، ولذلك تطرقت لطريقة الربط مع تويتر

    طريقة الربط سهلة جدا ، قم بتحميل هذه المكتبة من هذا الرابط،  وتستطيع تحميل اشيفرة المصدرية من هذا الرابط
    ضع ملفات المكتبة في مجلد Bin في مشروعك
    قم باستدعاء فضاء الأسماء في الصفحة التي تريدها ، وأنا استدعيته بالطريقة التالي

    Code

    Imports x = Twitterizer.Framework

    (المزيد…)

  • برمجة صفحة RSS خاصة لموقعك

    إن تطور الويب جلب لنا العديد من التقنيات والأفكار البسيطة في فكرتها وفي مضمونها ، ولكنها ذات فائدة كبيرة من حيث توفير الوقت والجهد ومن هذه الخدمات خدمة ال RSS ، ولهذا فإنك كمطور مواقع ويب ، عليك أن تعرف على الأقل كيف تبني صفحة RSS بسيطة.

    قبل بدء بناء الصفحة يجب أن نعلم المتصفح أن موقعنا به خدمة ال RSS  حتى يتفعل تلقائيا رابط أو أيقونة ال RSS ، وأفضل طريقة لذلك هو إضافة الوسوم الدليلة في صفحات الموقع كالتالي

    <link rel=”alternate” type=”application/rss+xml” title=”Developers (RSS 2.0)” href=”RSS.aspx” />

    السطر بالأعلى بسيط حيث حددنا اسم الخدمة وكذلك رابط الصفحة ونتائج محتوى الصفحة ، وتستطيع أن تغير رابط الصفحة مثلا بدلا من RSS.aspx  أن تضيف الصفحة التي ترغب بها

    الآن أتى الجد وكتابة شيفرة الصفحة الرئيسية للخدمة

     

    في حدث بدء تحميل الصفحة نحدد مخرجات الصفحة الحالية كالتالي

    Response.Clear()

    ‘ Response.ContentType = “text/xml” يجوز هذا السطر أو السطر الذي يليه

    Response.ContentType = “application/rss+xml;”

     

     

    ثم بعدها نبدأ بعملية كتابة وسوم ال XML وهنا أتوقع أنك تعاملت مع ملفات XML  مسبقا وكتبت بها ، ولكن إن لم تكن كذلك فإن الشيفرة سهلة وفقط عليك تغيير الوسيطات كما ترغب

    مع العلم أن  هذه الحقول أو الوسوم ليست من عندي وإنما هي أساسية لكل خدمة RSS

    Dim xlw As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)

    xlw.WriteStartDocument()

    xlw.WriteStartElement(“rss”)

    xlw.WriteAttributeString(“version”, “2.0”)

    xlw.WriteStartElement(“channel”)

    xlw.WriteElementString(“title”, “مقالات مطورو دوت نت “)

    xlw.WriteElementString(“link”, “http://developers.ps/Defaulte.aspx”)

    xlw.WriteElementString(“description”, “The latest headlines and articles from the world of ASP.NET,Microsoft() ‘s Web development platform.”)

    xlw.WriteElementString(“copyright”, “(c) 2009, Developers . All rights reserved.”)

    xlw.WriteElementString(“ttl”, “5”)

     

    الان تبقالان تبقى خدمة جلب البيانات وكتابتها ، ويمكن فعل ذلك بالقراءة عبر قاعدة بيانات أو ملف XML  أو حتى من مستند نصي ، المهم أن تقوم بتعبئة البيانات على نفس النمط الذي سأستخدمه ، وأنا سأقوم بفعل ذلك باستخدام جدول من قاعدة بيانات ، وهو جدول المقالات

    Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings(“connstr”).ConnectionString)

    Dim cmd As SqlCommand = conn.CreateCommand

    & cmd.CommandText = “select top 10 ID,Title,des,dob from Articles  order by id desc”

     

    conn.Open()

    Dim objReader As SqlDataReader = cmd.ExecuteReader()

    While objReader.Read()

    xlw.WriteStartElement(“item”)

    xlw.WriteElementString(“title”, objReader.GetString(1))

    xlw.WriteElementString(“description”, objReader.GetString(2))

    xlw.WriteElementString(“link”, “http://developers.ps/News.aspx?id=” & objReader.GetInt32(0).ToString())

    xlw.WriteElementString(“pubDate”, objReader.GetDateTime(3).ToString(“R”))

    xlw.WriteEndElement()

    End While

    ثم سأقوم بإغلاق الوسوم والمسارات الحالية

    objReader.Close()

    xlw.WriteEndElement()

    xlw.WriteEndElement()

    xlw.WriteEndDocument()

    xlw.Flush()

    xlw.Close()

    Response.End()

    End Using

     

    الآن أصبح لديك خدمة RSS  في موقعك بكل سهولة ويسر ومرفق أيضا صفحة جاهزة لمن لم يحالفه الحظ في نفس الشيفرة من هذا المقال.

    رابط تحميل الشيفرة

    (المزيد…)

  • بيئة عمل ASP.NET

    بيئة عمل ASP.NET

    من المهم أن تعرف كيف يمكنك التعامل مع بيئة عمل لإنشاء المواقع بكل سهولة ويسر، وأفضل
    بيئة لهذا الغرض هي Microsoft Visual Studio ، والتي تقول مايكروسوفت عنها أنها أقوى
    بيئة تطوير في العالم.

    توفر مايكروسوفت عدة نسخ منها منها ما هو مجاني مثل الويب ديفيلوبر ، أو ما هو مدفوع
    مثل الفيجوال ستوديو بكافة اصداراته.

    (المزيد…)

  • تشفير كلمة المرور في ASP.NET Membership

    المواقع المحترمة – ليست شرط أن تكون كبيرة – تحترم خصوصية مستخدميها ، ومن أكثر مظاهر احترام خصوصة المستخدم هي تشفير كلمة مروره وتشفير البيانات الخاصة الحساسة. وسأحاول أن استعرض هذا الأمر والمشكلة التي تواجه من يريد تشفير كلمة مروره في ASP.NET.

    عندما تقوم بتشفير كلمة المرور في الموقع الذي تبرمجه ، تعطي للمستخدم نوع من الثقة من عدة نواحي منها أن مدير الموقع لن يقوم أبدأ بمعرفة كلمة مروره – والتي تكون غالبا موحدة في كل المواقع – ، أو أن المدير لن يستخدم عضويته ، أو حتى أن الموقع لو تم اختراقه ، فلن يعرف المخترق البيانات الحساسة بالمستخدم وخصوصا كلمة المرور.

    عند تشفير كلمة المرور وتخزينها في قاعدة البيانات فإن المستخدم لا يمكنه عمل استرجاع كلمة المرور ، بل يمكنه طلب تغيير كلمة المرور إلى كلمة جديدة بدون معرفة الكلمة السابقة . (المزيد…)

  • كل ما يتعلق بنشر موقعك على الإنترنت

    إن عملية نشر الموقع بشكل صحيح على الإنترنت لأمر لا يقل أهمية وصعوبة في بعض الأحيان عن عملية برمجة الموقع نفسه، وسأحاول هنا طرح عملية رفع الموقع من بدايتها لنهايتها بقدر ما استطعت.

    قبل رفع الموقع على الإنترنت ، تحتاج  لضبط عدة أمور في الموقع ، فمثلا يجب عليك لكي تنشر الموقع ألا يكون يحتوي على أخطاء برمجية لأنك لن تستطيع إخراجه في الصيغة المطلوبة، أيضا هنالك أمور يجب التأكد منها مثلا:
    1- مراجعة الموقع مرة أخرى كاملا ، وذلك بسبب ظهور أخطاء بسبب التعديل والتجربة ، ويفضل أن يقوم شخص غير مبرمج الموقع نفسه بمراجعته.
    2- تعطيل <compilation debug=”true” من الويب كونفج وذلك لكسب المزيد من السرعة.
    3- ضبط ترميز الصفحات ككل أو من الويب كوتفيج.
    4- إذا كنت مهتم بمحركات البحث وأرشفة موقعك، يمكنك ضبط بعض الخصائص في الموقع ، والتي سيتم التطرق لها في موضوع منفصل لاحقا.

     

    الاستضافة :
    إن اختيار شركة الاستضافة المناسبة له العديد من الفوائد عليك عزيزي المبرمج ، وذلك لتنوع الاستضافات واختلاف مزاياها ، ولكن بشكل عام ابحث عن :
    1- الشركة التي تقدم أخر نسخة من التحديثات والبرمجيات فمثلا ابحث عن الشركة التي تدعم آخر نسخة من إصدار التشغيل وندوز ، وآخر نسخة من محرك قواعد البيانات ، وآخر نسخة من منصة العمل دوت نت .
    2- الشركة التي تعطيك لوحة تحكم سهلة وكاملة وسيأتي التطرق لبعض هذه اللوحات..
    3- الشركة التي تعطيك الخدمات والصلاحيات العديدة على استضافتك ، مثلا أداة رفع قواعد البيانات والتحكم بها أون لاين ، لا يتطلب الأمر أن تراسل الدعم الفني دائما ليقوموا لك بما تريد.
    4- الشركة التي توفر دعم فني متواصل وسريع.
    5- الشركة التي توفر لك قواعد بيانات أكبر مساحة وأكثر عددا ، فبعض الشركات تعطيك حدود في مساحة القاعدة وقد تعطيك قاعدة بيانات سكول سيرفر واحدة فقط.

    لوحات الاستضافة :
    تتنوع لوحات تحكم الاستضافة وتتمايز فيما بينها وبعد تجربة طويلة ومريرة سأعرض أشهر اللوحات الموجودة في الإنترنت، حيث إذا عرضت عليك عدة شركات فاختر الشركة ذات اللوحة الأفضل

    لوحة تحكم بليسك Plesk:
    مما لا شك فيه أن لوحة تحكم بليسك هي أشهر لوحة تحكم والأكثر انتشارا على الإنترنت ، وهذه اللوحة صراحة رائعة وكاملة المزايا والخدمات ، إلا أنني أكرهها ولا يمكن أن أحبها لسبب أنها بطيئة جدا في التعامل ،.

    لوحة تحكم هيلم Helm :
    هي ثاني أشهر لوحة انتشارا وهي رائعة وتتميز عن لوحة تحكم بليسك بأنها سريعة ، وأبسط في الاستخدام.

    لوحة تحكم WebHost4Lifet4Life
    هذه اللوحة سريعة جدا وكاملة المزايا إلا أنه يعيبها التعقيد والذي للآن أتغلب عند استخدانها من حين لآخر.

    لوحة تحكم discountasp
    وهي أفضل لوحة وأسرعها وأكثرها مزايا وأكثرها سهولة ، وهي قليلة الانتاشر لسبب أنها غالية على شركات الاستضافة نفسها ، وتحتوي هذه اللوحة على ميزة رائعة ، وهي أنها تحتوي على دوال معينة تستطيع ربطها ببرمجتك ، فمثلا تستطيع إنشاء بريد رسمي باسم الموقع من خلال هذه الدوال.

    هنالك العديد من اللوحات التي استخدمتها والتي تتميز كل واحدة منها ولم اذكرها لانها خاصة بشركات معينة بحد ذاتها وليست لوحات يمكن شراءها وتركيبها، ولكن اللوحات التي فوق هي الأكثر انتشارا

    نشر الموقع:
    هنالك بعض الاستضافات تسمح لك برفع موقعك بالكود الخاص به ، وهي قليلة ونادرة وستواجهك العديد من العقبات، أما باقي الاستضافات فتسمح لك فقط برفع الموقع بعد نشره  وهذا له فوائد عديدة أهمها سرعة الموقع وأمانه.. مع العلم أن أول مرة سيعمل الموقع بها سيطلب وقت أطول نسبيا لكي تفتح الصفحات.

    وسأتطرق هنا للموقع التقليدي Web Site وليس Web Application ولأنه وببساطة من يستخدم ال Web Application عليه أن يكون متمرساً.
    لكي يعمل الموقع بعد رفعه يجب عليك -قبل هذا- أن تقوم باعداد النشر وذلك عبر الذهاب لقائمة Build  ثم  Publish Web Site

    ستظهر الخيارات التالية:
    asp.net publish site
    عليك أولا ان تحدد مجلد لتقوم بنشر الملفات بداخله ومن ثم اختيار أحد الخيارين في الصندوق الأحمر او يمكنك الاستمرار بدونهما.
    – الخيار الأول Allow this precompiled site to be updatable
    عند عدم اختيار هذا الخيار أو أي خيار آخر ومتابعة عملية النشر ستجد أن الملفات الخاصة بالكود البرمجي قد اختفت -أقصد في مجلد النشر- وبقيت الصفحات العادية بدون صفحات ال MasterPage  وال UserControl ورغم هذا يمكنك التعديل على تصميم الصفحات المنشورة وقتما تشاء، مع العلم أن الكود كله ذهب إلى مجلد Bin  في ملفات DLL ويمكنك التأكد من هذا الأمر ، حيث ستجد ملفات غريبة بأسماء طويلة .
    ولكن إذا قمت باختيار هذا الخيار ستجد بالإضافة لما سبق من الملفات  أن صفحات ال MasterPages,UserControls ما زالوا موجودين ويمكنك التعديل على تصميمها أيضا .

    – الخيار الثاني : Use fixed naming and single file assemblies
    هذا الخيار مفيد إذا كنت ترفع وتعدل في الموقع كثيرا حيث ستجد أن الملفات في مجلد Bin عند كل عملية نشر ستكون بنفس الاسم تقريبا ، مع العلم أنه لا يمكنك التعديل على ملفات التصميم ، وبعد تجربة طويلة اتضح لي أن اختيار هذا الخيار لوحده فقط هو أفضل الخيار من ناحية عدم ظهور أخطاء عن الفتح لأول مرة ، رغم مشكلة أنك تحتاج لرفع الموقع حتى عند إجراء أبسط تعديل على تصميم صفحة.

    رفع الموقع:
    يمكنك رفع الموقع عبر نفس الفيجوال ستوديو بواسطة أداة Copy Wb Site  أو عبر تحميل ملحقات مميزة للخادم IIS 7 ولكنني أستخدم دائما برنامج  FTP  تقليدي ، وذلك لسرعة الرفع عبره.
    عند رفع الموقع أول مرة يتوجب عليك رفع كافة الملفات ولكن عند الرفع مرة أخرى فلا يتوجب رفع ملفات الصور أو الملفات العادية كالملفات المضغوطة ، بل يتوجب عليك إذا اخترت الخيار الثاني فقط أن ترفع مجلد Bin  لوحده ، بل حتى تستطيع رفع المجلد بدون رفع المكتبات كملفات اداة الأجاكس مثلا، حيث ستوفر بعض الحمل وتختصر الوقت وذلك عندما تحتاج لترفع مرارا وتكرار بشكل يومي.

    ضبط الاستضافة:
    المشكلة الأكبر تكمن في هذه النقطة حيث تختلف شركات الاستضافة في اعداداتها ولكن بشكل أساسي تأكد من إصدار منصة العمل على الاستضافة ، وأيضا تأكد من قاعدة البيانات
    فإذا كانت لديك قاعدة بيانات SQL SERVER  اكسبريس وكانت الاستضافة تدعمها فلا مشكلة ، ولكن إذا كانت الاستضافة لا تدعمها أن أن قاعدتك تركب على سيرفر وليست اكسبريس ، يتوجب عليك تغيير جملة الاتصال ConnectionSring  ويتوجب عليك إَضافة اسم مستخدم وكلمة مرور لها عند رفعها ( الأمر بسيط ) ويتطلب أيضا أن تدخل اسم السيرفر المرفوع عليه قاعدة البيانات .

    في كل الأحوال إن واجهتك مشكلة في رفع الموقع عزيزي القارئ يمكنك مراسلتي وبإذن الله وفضله سأحلها لك مهما كانت. كانت.

    بالتوفيق للجميع

    (المزيد…)

  • حذف الفراغات الموجودة بين عناصر القائمة في أداة Menu

    كثيرا ما نقوم بتحويل عناصر القائمة الخاصة بالموقع إلى صور بدلا من النصوص فهي تجعل القائمة تبدو أجمل، ولكن هذا
    الجمال سيتلاشى بسبب الفراغات التي ستظهر بين الصور، فتظهر القائمة بشكل سيء لأنها تظهر عبارة عن صور مفككة غير مترابطة وتفقد بذلك معنى القائمة التي يجب أن تبدو عليها.
    والحل السريع لهذا الأمر هو وضع خلفية للقائمة وتتم بالطريقة التالية
    عمل style يحتوي على الخلفية ووضعه بين head tag

    
    <style type="text/css">
    .menuItem
    {
    background-image : url(http://www.gc.ca/images/lfblt.gif);
    padding:2px 5px;
    }
    </style>
    

    (المزيد…)

  • تحديث ثغرة التشفير في asp.net

    صدر اليوم تحديث الثغرة التي سببها فك تشفير الكوكيز في ال Membership وهي ما كانت تعتبر خطيرة إذا لم يتم تغيير التشغير

    التحديث لا يتطلب تغييرات في الكود ، وينزل على أنظمة الوندوز أغلبها ، أيضا بالنسبة للمستخدمين العاديين فلا بأس بتحميله ، الهدف من التحميل هو سيرفرات الاستضافة

    (المزيد…)

  • أدوات التحقق ( Validation Controls )

    من المميزات الرائعة التي قدمتها ASP.NET لمطوري المواقع
    هي أدوات التحقق

    لذلك دعنا نرى ما هي هذه الأدوات وما هي الفائدة منها ؟

    الكثير منا يقوم على سبيل المثال بالتسجيل في المنتديات وتكون البيانات المدخلة تتبع
    شروط معينة فعند إدخال البيانات يتم التحقق منها  ويتم ظهور رسالة
    تفيد بوجوب تغيير حقل معين في حال عدم تطابقه لشرط معين كمطابقة كلمة السر في مربع
    النص الأول مع تأكيده في مربع النص الثاني

    فالتحقق هي قواعد يتم تطبيقها على البيانات المدخلة من قبل المستخدم

     

    وقد قدمت لنا ال ASP.NET خمس أنواع
    من أدوات التحقق التي تتميز كل منها بوظيفة معينة تختلف عن غيرها والتي وفرت الوقت
    الكثير لمطوري المواقع فباستخدامها لا تحتاج إلى كتابة سطر برمجي واحد بعكس لغات الويب
    الأخرى المختلفة التي تطلب برمجة عمليات التحقق باختلاف أنواعها ووظائفها

    x
    وسنقوم باستعراض كل نوع على حدة بشكل مفصل وأول
    نوع فيها هو:

    • RequiredFieldValidator

    وهذه الأداة مهمتها التأكد من أن المستخدم قام بإدخال قيمة في المكان المراد أو لا

    ولتوضيح ذلك سنعطي مثالا

    وهو بعمل جدول من سطرين وعمودين ووضع مربع نص وزر وأداة التحقق RequiredFieldValidator
    بالشكل التالي مع إعطاء اسم الأداة التي سيتم إجراء التحقق عليه لخاصية
    ControlToValidate التابعة لأداة التحقق والتي ستكون هنا
    TextBox1 وأيضا إدخال النص الذي تريده في خاصية ErrorMessage
    وهي رسالة الخطأ التي تظهر للمستخدم في حال لم يدخل قيمة في مربع النص مع ترك خاصية
    Text فارغة  :

    بعد ذلك قم بتنفيذ الصفحة وتجربة الحالتين : الأولى بإدخال قيمة في مربع النص والضغط
    على الزر وفي هذه الحالة لن تظهر رسالة الخطأ والثانية بترك مربع النص فارغ والضغط
    على الزر وفي هذه الحالة تظهر رسالة الخطأ تعلمك بوجوب إدخال قيمة معينة

    وأريد أن أقوم بالتنبيه على أمر مهم ألا وهو التأكد من أن خاصية CausesValidation
    التابعة للزر تأخذ القيمة True وذلك لإنجاز عملية التحقق عند
    الضغط على الزر

    • النوع الثاني من أدوات التحقق وهو:
      CompareValidator

    وهذه الأداة مهمتها المقارنة بين قيمتين إما من خلال المقارنة بين قيمة مدخلة في
    مربع نص وقيمة مدخلة في مربع نص آخر أو بمقارنة قيمة مدخلة في مربع نص مع قيمة ثابتة

    وأيضا سنعطي مثالا كسابقتها لتوضيح الفكرة وطريقة استخدامها

    وهنا سنقوم بتوضيح الفكرة الأولى وهي بمقارنة قيمة مدخلة في مربع النص الأول مع قيمة
    مدخلة في مربع النص الثاني

    وسيكون ذلك بعمل جدول من 3 سطور وعمودين وإضافة مربعين نص وزر وأداة التحقق
    CompareValidator بالشكل التالي :

    ويلزمنا الاهتمام بالخصائص التالية التابعة لأداة التحقق :

    ControlToValidate: وتحتوي اسم الأداة التي سيتم التحقق من البيانات
    المدخلة به

    ControlToCompare: وتحتوي اسم الأداة التي سيتم مقارنته مع الأداة الآخر
    والذي تم تحديده في الخاصية السابقة

    ErrorMessage: وتحتوي على رسالة الخطأ التي ستظهر للمستخدم في حال اختل
    شرط التحقق

    Operator: وهي لتحديد العملية التي على أساسها سيتم التحقق بين القيمتين
    إما بالتساوي أو غيرها

    Type: وهي لتحديد نوع البيانات المدخلة التي سيتم التحقق منها إما أعداد
    صحيحة أو نص أو غيرها

    ولتوضيح الفكرة الثانية وهي بمقارنة قيمة مدخلة في مربع نص مع قيمة ثابتة وذلك بإضافة
    مربع نص واحد وزر وأداة التحقق وسنهتم بنفس خصائص أداة التحقق التي تم ذكرها عند توضيح
    الفكرة الأولى مع فارق بسيط وهو أننا هنا لن نهتم بالخاصية ControlToCompare
    ولكن اهتمامنا سينصب على الخاصية ValueToCompare والتي من خلالها
    سيتم إدخال القيمة الثابتة بناء على نوع البيانات الذي قمت بتحديده في الخاصية
    Type

    بعدها قم بالتجربة والتنفيذ ورؤية النتائج بنفسك

    • النوع الثالث من أدوات التحقق هو :
      RangeValidator

    وهذه الأداة مهمتها التحقق من أن القيمة المدخلة واقعة تحت مدى معين

    لنعطي مثالا لتوضيح الفكرة : سنقوم بإضافة مربع نص وزر وأداة التحقق بالشكل التالي

    والاهتمام بالخصائص التالية لها وهي :

    ControlToValidate و ErrorMessage و
    Type: وتم شرحها سابقا ويلزمنا هنا أيضا خاصية
    MaximumValue وهي لتحديد القيمة القصوى التي لا يمكن أن يتعداها المستخدم
    عند إدخال قيمة معينة في مربع النص وخاصية MinimumValue وهي
    لتحديد القيمة الدنيا التي يجب أن يلتزم المستخدم بالبدء منها عند تحديده للقيمة المدخلة
    في مربع النص

    • النوع الرابع من أدوات التحقق هو:
      RegularExpressionValidator

    وهذه الأداة مهمتها التأكد من صحة صياغة أو شكل القيمة المدخلة يعني على سبيل المثال
    مربع النص الخاص بالبريد الإلكتروني ، فنحن نعلم أن البريد الإلكتروني يتبع صيغة ثابتة
    في الكتابة لا يمكن تغييرها ولمنع المستخدم من كتابة أي نص عشوائي في خانة البريد الإلكتروني
    والتزامه بالصيغة المعروفة له يتم استخدام أداة التحقق هذه ولتوضيح ذلك ، سنضع مربع
    نص وزر وأداة التحقق وتحديد الصيغة الثابتة التي سيتم التحقق من خلالها من الخاصية
    ValidationExpression بالإضافة إلى خاصية ControlToValidate
    و ErrorMessage والتي تم شرحها في أدوات التحقق السابقة

    • النوع الخامس والأخير من أدوات التحقق هو:
      CustomValidator

    لنفترض أننا نريد التحقق من أن القيمة المدخلة تقبل القسمة على العدد 5
    ، هنا لا نستطيع استخدام أيا من أدوات التحقق السابقة لأن لا أحد منها
    يقدم هذه الخدمة ، لذلك لغة ال ASP.Net أضافت
    هذه الأداة لإتاحة الفرصة أمام مطور المواقع بالتحقق من خلال الأمر الذي يريده والتي
    لا توفرها أيا من أدوات التحقق الأخرى ولكن يتطلب هنا استخدام
    Jscript أو VBScript
    لكتابة الدالة التي من خلالها سيتم التحقق ولنطبق مثالا لتوضيح الفكرة:

    في البداية أضف مربع نص وزر وأداة التحقق إلى صفحة الويب وبعدها في صفحة السورس أضف
    الكود التالي بين بداية ونهاية head tag


    <script
    language=JavaScript>


    function validateNumber(oSrc, args) {


    args.IsValid = (args.Value % 5 == 0);


    }


    </script>

    وبعدها نعطي اسم الدالة لخاصية ClientValidationFunction
    التابعة لأداة التحقق وبعدها تستطيع تنفيذ الأمر

    • وإذا كنت قد جربت جميع الأمثلة السابقة على
      نفس صفحة الويب ، فلابد أنك لاحظت أمرا غريبا ألا وهو في حال عدم إدخال قيمة معينة
      للأداة الخاص يإحدى أدوات التحقق الأربعة والتي تبدأ من الأداة الثانية فإن رسالة الخطأ
      الخاصة بأداة RequiredFieldValidator ستظهر والسبب أن تلك الأدوات
      لا تعمل مع القيم الفارغة فهي لا تعتبرها قيما ولحل هذا الأمر وجد ما يسمى
      بال validationGroup
      وهي تعني وضع كل عدة كونترولز مع بعضها في مجموعة ويكون بإعطاء نفس اسم المجموعة للخاصية
      validationGroup لكل الأداةز التي ستتبع تلك المجموعة
    • وأيضا لإظهار جميع رسائل الخطأ الموجودة في
      الصفحة في مكان واحد يتم استخدام الأداة validationSummery ويتم
      اعطاء قيمة لخاصية التكست التابعة للكونترولز التي سيجرى عليها عملية التحقق ولتكن
      * وبعدها قم بالتنفيذ بالشكل التالي :

    ويمكنك أيضا إظهار رسائل الخطأ في صندوق حوار وذلك بإعطاء الخاصية showSummery
    القيمة False بينما يتم إعطاء الخاصية showMessageBox
    القيمة True بالشكل التالي:

    بعد استعراض أدوات التحقق، هل رأيت مدى سهولة استخدامها والوقت الذي توفره، أرأيت
    البراعة التي تمتلكها شركة مايكروسوفت في توفير كل ما يريح مطورو المواقع فهي لا تنسى
    أي أمر يعد مهما في تطوير المواقع.

    (المزيد…)