d مدونة الفريق – الصفحة 30 – مدونة فريق شركة المطورون بلس

Blog

  • توتر برمجيا

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

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

    Code

    Imports x = Twitterizer.Framework

    (المزيد…)

  • نحو Web.Config نظيف ومرتب ( جديد في دوت نت 4.0 )

    إن أكثر ما يزعج في الويب كونفيج، هو وجود العديد من الوسوم الغير مستخدمة يوميا لنا كمطوري مواقع مثل وسوم دعم الأجاكس AJAX ، Dynamic Data ، وهذه الوسوم وجدت لتجعل الإصدارات السابقة تدعم الإضافات الغير مدعومة بها من الأساس.

    ولكن الآن في الإصدار الرابع من الدوت نت ، عندما تفتح ويب كوفيج فإنك ستجده جميل ومرتب ولا يحتوي على الوسوم الزائدة التي كنا نراها دائما، ولعلك تتساءل أين ذهبت هذه الوسوم ، وعلى الرغم من اختفائها إلا أن الموقع يعمل ويدعم الأجاكس بدون مشاكل.
    هذه ميزة جديدة في الإصدار الرابع حيث بإمكانك الحصول على ويب كونفيج مرتب وجميل ومدعوم بهذه الوسوم ( والتي لا يتوجب أن تراها لأنك لن تعدل عليها ) بسهولة ويسر كالتالي:
    لاحظ أن الويب كونفيج قد خصص إصدار المنصة في الوسم compilation كالتالي

    Code

    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>

    ونجده قد أضاف أيضا

    Code

    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>

     مع العلم أن هذا الوسم جديد في الخادم IIS7 ، وهذه صورة نهائية للويب كونفيج

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

  • أداة ListView في ASP.NET 3.5

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

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

    وهنا السؤال: كيف يمكننا التحكم بشكل العرض للبيانات في
    أداة ال GridView؟؟

    طريقة العرض للبيانات في أداة ال GridView محدودة فلا يمكنك عرض البيانات بالشكل
    وبالتنسيق الذي تريده، فمثلا أردت عرض المخرجات النهائية على شكل div أو أردت عرضها
    بأي طريقة مخرجات بعيدة عن الجدول وصفوفه. عندها أداة GridView لن تسعفك.
    مشكلة أخرى
    ستواجهك 
    لو احتجت أن تعرض البيانات بأكثر من عمود واحد وأيضا بعرضها بأكثر من صفحة واحدة ..ماذا ستستخدم ؟؟
    لن تستطيع استخدام أداة ال GridView لأمر كهذا لأنها لا تدعم عرض البيانات بأكثر من عمود واحد، ولن تستطيع استخدام أداة ال DataList لأنها لا تدعم عرض البيانات في أكثر من صفحة.
    إذا: ما هو الحل؟؟
    شركة مايكروسوفت لا تغفل أبدا عن منتجاتها وتسعى دائما لتقديم الأفضل، فقد أضافت
    أداة جديدة مع منصة العمل 3.5 وهي أداة ال ListView والتي جمعت مميزات GridView و
    DataList و Repeater، بل وتميزت بأمور أخرى أفضل، فأنت تستطيع عرض البيانات بالشكل
    الذي تريده وأيضا بالتنسيق الذي تريده باستخدام CSS، بعكس الأدوات الأخرى فأنت لا
    تستطيع استخدام CSS معها بكل حرية في بناء هيكل الجدول.

    ولنستعرض الفروقات بينها وبين جميع أدوات عرض البيانات :
     

    الأداة عرض البيانات في عدة صفحات
    Pagining
    عرض البيانات على شكل مجموعات
    Grouping
    الشكل المرن التعديل والحذف
    Editing/Deleting
    الإضافة
    Inserting
    الترتيب
    Sorting
    ListView
    GridView
    DataList
    Repeater
    DetailsView    
    FormView

    ولا يعني الرمز X أن الميزة لا تدعمها الأداة بشكل نهائي بل يمكن التحايل على الأمر
    ولكن في أداة ال ListView فإن الأمور مدعومة بشكل أساسي.

    ولن تتضح الأمور إلا بمثال يبرز المميزات الرائعة التي تتميز بها هذه الأداة:

    في مثالنا سنعمل على قاعدة بيانات تحتوي على جدول باسم country يحتوي على
    ثلاث حقول هي ( رقم الدولة ، اسم الدولة ، العاصمة )
     أداة ال ListView تحتوي على عدة قوالب كل له وظيفته الخاصة وهذه القوالب هي :
    * LayoutTemplate : وهي تختص بالعنصر الأساسي الذي يعرف محتوى ال ListView مثل عنصر
    table أو div أو span التي تحيط بالمحتوى المعرف بداخل القالب ItemTemplate أو
    القالب GroupTemplate بمعنى آخر هي خلفية البيانات؟
    * ItemTemplate : وهي تتحكم بالمحتوى الذي سيعرض العناصر الفرعية  وهي عبارة
    عن عرض البيانات المرتبطة بال ListView على شكل متكرر
    * ItemSeparatorTemplate :  تستخدم لوضع فواصل بين العناصر
    * GroupTemplate : وهي تختص بترتيب العناصر على شكل مجموعات
    * GroupSeparatorTemplate : تستخدم لوضع فواصل بين المجموعات
    * EmptyItemTemplate : تستخدم لعرض نص أو غيره في حال عدم وجود قيمة لإحدى عناصر ال
    ListView
    * EmptyDataTemplate : تستخدم لعرض نص أو غيره في حال عدم وجود بيانات في ال
    ListView
    * SelectedItemTemplate : تستخدم لعملية اختيار أحد العناصر المعروضة في ال
    ListView
    * AlternatingItemTemplate :
    تستخدم لعرض عنصر بعد كل ItemTemplate
    * EditItemTemplate : تستخدم لعملية التعديل
    * InsertItemTemplate : تستخدم لعملية الإضافة

    والهيكل العام لهذه القوالب في ال ListView تعرض بالشكل التالي :

    الآن نعود إلى مثالنا :
    يتم إضافة أداة ال ListView وتخصيص مصدر البيانات لها من خلال الخاصية DataSourceID
    وأهم قالبين من قوالب ال ListView هما
    LayoutTemplate
    ItemTemplate
    ويجب تخصيص العنصر placeHolder في ال ListView إما في ال LayoutTemplate أو ال
    GroupTemplate ويتم ذلك بإعطاء القيمة itemPlaceholder لخاصية ID التابعة للأداة
    ويجب أيضا إعطاء القيمة server للخاصية runat التابعة لل placeholder  ـ حيث
    سيتم استبدال محتوى أداة placeHolder في الهيكل العام ( الخلفية ) بمحتوى العنصر ItemTemplate

    code

    <asp:ListView ID="ListView1" DataSourceID="SqlDataSource1" runat="server">
        <LayoutTemplate>
            <table border="1" width="300"
    cellpadding="5">
                <tr id="Tr1"
    runat="server" style="background-color: #CCCCCC;">
                   
    <th id="Th1" runat="server" align="left">رقم</th>
                   
    <th id="Th2" runat="server" align="left">الدولة</th>

                   
    <th id="Th3" runat="server" align="left">العاصمة</th>

                </tr>
               

                <tr id="
    itemPlaceholder" runat="server"></tr>

            </table>
        </LayoutTemplate>
        <ItemTemplate>
            <tr id="Tr2" runat="server">
                <td align="left">
    <asp:Label ID="CountryID" runat="server"><%#Eval("CountryID")%></asp:Label>
    </td>
                <td align="left">
    <asp:Label ID="CountryName" runat="server"><%#Eval("CountryName")%></asp:Label>
    </td>
                <td align="left">
    <asp:Label ID="CapitalCity" runat="server"><%#Eval("CapitalCity")%></asp:Label>
    </td>
            </tr>
        </ItemTemplate>
    </asp:ListView>

    والقيمة itemPlaceholder هو الاسم الافتراضي للأداة placeholder ولكن تستطيع تغييره
    بإعطاء الخاصية itemPlaceHolderID التابعة لأداة ال ListView الاسم الذي تريده
    بالشكل التالي :

    Code

    <asp:ListView ID="ListView1" DataSourceID="SqlDataSource1"
    ItemPlaceholderID="Placeholder1" runat="server">
        <LayoutTemplate>
            <table border="1" width="300"
    cellpadding="5">
                <tr id="Tr1"
    runat="server" style="background-color: #CCCCCC;">
                   
    <th id="Th1" runat="server" align="left">رقم</th>
                   
    <th id="Th2" runat="server" align="left">الدولة</th>
                   
    <th id="Th3" runat="server" align="left">العاصمة</th>
                </tr>
                <tr
    id="Placeholder1" runat="server"></tr>
            </table>
        </LayoutTemplate>
    </asp:ListView>

    قمنا هنا بتعريف الهيكل العام لل ListView في وسم LayoutTemplate وهو جدول يحتوي
    على صفين وثلاث أعمدة ، والصف الأول يحتوي على أسماء الأعمدة والصف الثاني هو الصف
    الذي سيتكرر مع كل صف تم جلبه من نتيجة مصدر البيانات

    وستكون النتيجة بالشكل التالي:

     

    وللتفريق بين الصفوف المتتابعة يتم استخدام وسم AlternatingItemTemplate
    فمحتوى هذا الوسم هو نفس محتوى وسم ItemTemplate ولكن بتلوين الصف بلون مخالف فيتم إضافة
    الوسوم التالية إلى الأداة :

    Code

    <AlternatingItemTemplate>
        <tr id="Tr3" runat="server" style="background-color: #FFFFCC;">
            <td align="left"> <asp:Label ID="Label1"
    runat="server"><%# Eval("CountryID")%></asp:Label> </td>

            <td align="left"> <asp:Label
    ID="CountryName" runat="server"><%#Eval("CountryName")%></asp:Label> </td>

            <td align="left"> <asp:Label
    ID="CapitalCity" runat="server"><%#Eval("CapitalCity")%></asp:Label> </td>

        </tr>

    </AlternatingItemTemplate>

    فتصبح النتيجة بالشكل التالي :

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

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

  • مخزن أمازون

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

    amazon store
    amazon store
    amazon store
    amazon store
    amazon store
    amazon store
    amazon store
    amazon store
    amazon store
    amazon store

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

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

    (المزيد…)

  • مزودات بيانات ADO.NET

    كما نعلم ، توفر مايكروسوفت العديد من مزودات  ( موفرات ) البيانات في
    بيئة الدوت نت ADO.NET Data Providers ، وهذا يسمح لك باستخدام أي قاعدة بيانات
    تقريبا في بيئة الدوت نت

    هذا الرابط

    http://msdn.microsoft.com/en-us/data/dd363565.aspx

    يوفر لك قائمة بالمزودات المتوفر للدوت نت ، مثلا إذا كنت تستخدم قاعدة بيانات
    MYSQL وتريد التعامل معها بالدوت نت ، يمكنك تحميل المزود والتعامل مع القاعدة

    وإذا كنت تستخدم قاعدة بيانات والمزود غير متوفر ، يمكنك بناء مزود خاص بك عبر
    اتباع الشرح من هذا الرابط
    http://blogs.msdn.com/b/adonet/archive/tags/sample+provider/

  • إضافة دعم ملفات HTML5 في مشروعك مثل svg

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

    افتح ملف الويب كونفيج، وفي وسم
    <system.webServer>
    أضف فيه التالي
     <staticContent>
          <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
          <mimeMap fileExtension=".m4v" mimeType="video/m4v" />
          <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
          <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
          <mimeMap fileExtension=".webm" mimeType="video/webm" />

          <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
          <mimeMap fileExtension=".spx" mimeType="audio/ogg" />

          <mimeMap fileExtension=".svg" mimeType="images/svg+xml" />
          <mimeMap fileExtension=".svgz" mimeType="images/svg+xml" />

          <remove fileExtension=".eot" />
          <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
          <mimeMap fileExtension=".otf" mimeType="font/otf" />
          <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
        </staticContent>

  • مراجعة فيلم Lucy

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

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

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

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

    تقوم بعدها لوسي بالبحث عبر الإنترنت عن شخص خبير في العقل البشري، فتتصل بالدكتور سامويل نورمان ( مورجان فريمان ) وتخبره بقصتها وبقدراتها ( والتي ما زالت تتطور كل لحظة ) ، فينصحها بنقل معرفتها هذه إلى غيرها، وهذه هي مهمتها.
    تتصل لوسي الشرطة وتخبرهم عن الأشخاص الاخرين ليلقوا القبض عليهم، وفعلا تقبض الشرطة على ثلاثة منهم
    حسب نظرية العالم نورمان، لأن البيئة المحيطة بلوسي غير مناسبة، يبدأ جسمدها عملية التغيير لتصبح خالدة بعد ذلك، وأمامها خيار سريع بأن يموت جسدها، فتستخدم كمية المخدرات التي كانت بحوزتها، لبناء جسدها الخالد وتقويته، وتنجح بذلك فتجد نفسها أنها كنت في غيبوبة وتم نقلها للمستشفى، وبأنها أمست تستخدم 50% من قدراتها الكلية.
    تخرج من المستشفى فتجد الشرطي المسؤول عن جلب أكياس المخدرات من المهربين الآخرين، وتطلب أن تأخذهم بنفسها لأن العصابة ستقوم بأخذهم بكل الطرق الممكنة ، وتأخذ المخدرات منهم في النهاية.
    تتوجه إلى الدكتور نورمان، والذي يكون قد جهز فريقا لمعاينة لوسي، فتخبره ببعض المعلومات الخاطئة والتي بني عليها العلم، وتخبره بأنه يجب أن يقوم بحقنها بباقي الدواء ( المخدر) وأنها ستتواصل معه … إلخ
    تبدأ العملية فتتطور لوسي بشكل مخيف، وتصل إلأى نسبة 80%، تقوم باستهلاك كل المادة من حولها، لبناء حاسوب خارق لنقل المعرفة إلى البشرية، وهي الرسالة الأسمى التي يجب أن تقوم بتوصيلها ، فتصل بعد ذلك إلى نسبة 99%، وتقوم بالتحكم بالزمن فتعود بالماضي لتعلمه إلى لحظة ولاده الكون، لتخبر البشر بكل هذه المعرفة، وتضعها في ذلك الحاسوب، والتي تضعها في USB Flash وتسلمها للدكتور نورمان، وتمسي لوسي كما في فيلم التفوق Transenense في كل مكان حولنا.
    وتنتهي القصة

    تعليقات:
    سكارليت جوهانسون مناسبة لدور هذا الفيلم، فهي جميلة، قوية، جذابة، ووجود مورجان فريمان بدور العالم، أمر أكثر من رائع، فهو يليق به – أو تعودنا عليه – دور الرجل الحكيم.

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

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

    نات نات ، تقييمي لفيلم هو 6 من 10 ، وأنصح بمشاهدته إذا فاتتك الأفلام السابقة مثل Limitless ، و Transedence