و بالطبع لن تتقن هذا المجال في ثلاثين دقيقة فقط، و لكن ذلك سيعطيك فكرة تكفي لفهم معظم التعابير التي تواجهها و البدء بكتابة تعابيرك الخاصة، و بالإضافة إلى ذلك، سيعطيك المقال الذي نتحدث عنه معلومات أساسية عن برنامج الـRegular Expressions الرائع و الذي يسمى Expresso و هو برنامج مجاني و لكنه يحتاج إلى تسجيل مجاني أيضاً، سيعمل البرنامج لستين يوماً فقط إن لم تقم بتسجيله.
بعد أن تقوم بتحميل البرنامج، يمكنك قراءة درس الثلاثين دقيقة هذا من ملفات المساعدة التي تأتي مع البرنامج، كما يمكنك قراءة نسخة أونلاين منها من موقع CodeProject.
يتوفر على نفس الموقع مقالة أخرى تعريفية بالبرنامج.
يحوي البرنامج أيضاً على مكتبة من عشرات التعابير الجاهزة للقيام بمختلف المهام الشائعة (التأكد من عنوان IP، التأكد من عنوان بريد إلكتروني، …).
هذا الدرس رائع! و البرنامج أروع، أنصح به لكل المهتمين بالـRegex و خاصةً مع الدوت نيت (لأن هذا مجال البرنامج الأساسي).
غير مصنف
و أخيراً قمنا بطرح المقال الأخير ضمن سلسلة تعليم Silverlight في موقع المشروع، للذين لم يقرؤوا السلسلة بعد، هاهي روابط مقالات السلسلة الثلاثة و أرجو أن تستفيدوا منها :
مقدمة إلى Silverlight - الجزء الأول : يذكر هذا الجزء المعلومات الأساسية و التي عليك أن تفهمها قبل البدء ببرمجة Silverlight، مثل ماهو و ما ميزاته عن بعض التقنيات المنافسة (مثل فلاش).
مقدمة إلى Silverlight - الجزء الثاني : يشرح هذا المقال لغة الترميز XAML و يقارنها بلغة XAML التي تستخدم في WPF، ثم يذكر مما يتألف أي تطبيق Silverlight قياسي، و أخيراً يستعرض بعض الأدوات و التحميلات التي يمكنك الحصول عليها لبرمجة و تصميم تطبيقات Silverlight.
مقدمة إلى Silverlight - الجزء الثالث : هذا الجزء و هو الأخير ضمن السلسلة، يضع كل المفاهيم النظرية التي تعلمناها في الجزئين السابقين في مثال عملي بسيط باستخدام كل من Microsoft Expression Blend 2 و Microsoft Visual Studio 2008.
غير مصنف
Silverlight و كما نعرف لا يدعم إمكانيات الـ3D التي يدعمها WPF، لهذا، إن أردت بعض هذه الإمكانيات يمكنك استخدام محرك الـ3D المجاني، و المفتوح المصدر و الذي قام بإنشائه Mark Dawson باسم Kit3D، هذا المحرك الخفيف مستضاف على CodePlex و يمكن تحميل كوده من هناك أو رؤية بعض الأمثلة على عمل المحرك من صفحة المحرك في موقع Mark Dawson.
ملاحظة : تجربة الأمثلة تتطلب وجود إضافة Silverlight لمتصفحك.
غير مصنف
الكثير من مبرمجي ASP.NET و أثناء تعلمهم لـSilverlight يبدؤون بمقارنة كل سمة من سمات Silverlight بنظيرتها في ASP.NET، كيف نتعامل مع كذا، كيف نقرأ قيمة كذا، … إلخ.
هناك ناحية أساسية قرأت عنها و أردت التنبيه لها لأن الكثيرين لا ينتبهون لها رغم أهميتها، و هي سرّية الكود الذي تكتبه لتطبقات سيلفرلايت.
ما المشكلة؟
لشرح المشكلة سنتذكر الطريقة التي يتم تنفيذ تطبيقات ASP.NET بها، بشكل بسيط و مختصر، يقوم السيرفر بتنفيذ كود البرنامج و إظهار النتائج على شكل HTML يتم إرسالها إلى العميل ليقوم متصفحه بعرضها بالطريقة المطلوبة، أي أن “جميع” العمل يتم تنفيذه على السيرفر.
و أما بالنسبة لسيلفرلايت، الحال باختصار هو أن الكود و بعد أن تتم ترجمته إلى لغة MSIL يتم تخزينه على السيرفر على شكل ملفات DLL، و عندما يطلب العميل صفحة أحد تطبيقات سيلفرلايت، يتم إرسال الكود و ملفات XAML إليه لتقوم إضافة سيلفرلايت بتشغيلها على جهاز العميل نفسه.
ماذا يعني هذا؟ يعني أن أي تطبيق سيلفرلايت يمكن أن يخضع للهندسة العكسية و فك ترجمته Decompiling، مثله مثل أي تطبيق دوت نيت عادي، و هذا يعني بدوره أن “عليك” ألا تضع أي كودات لها أهمية (خورازميات خاصة بك، طرق التشفير، …) ضمن كود تطبيقات سيلفرلايت التي تكتبها.
ما الحل؟
الحل ببساطة أن تقوم بإنشاء Web Service تحوي الكود الذي تريد الإحتفاظ به لنفسك، و من ثم استدعاؤها عن طريق تطبيق سيلفرلايت. هذه الطريقة آمنة تماماً لأن العميل لن يطلع على الكود و لن يتم تنفيذ أي جزء منه على جهازه، سيكتفي بإرسال المعطيات إلى السيرفر حيث ستتم معالجتها هناك و من ثم إرسال النتيجة مرة أخرى إليه.
ما مساوئ هذه الطريقة؟
السيئة الأولى هي بطء تنفيذ عمليات البرنامج بالنسبة للعميل، فبدلاً من تنفيذ العملية على جهازه مباشرةً، سيضطر لإرسال معلومات إلى السيرفر لنفذ هناك و من ثم تعاد النتائج له، و هذا سيستغرق وقتاً أطول طبعاً.
السيئة الثانية هي الحمل الذي سنكلفه للسيرفر و الذي سيكون دوره مقتصراً على إيصال الملفات في حالة تطبيقات سيلفرلايت التي لا تستخدم Web Services.
إذن عليك أن تقوم بموازنة هاتين السيئتين لطريقة الـWeb Service مع سيئة قلة أمان الكود في تطبيقات Silverlight لتختار و بحكمة أين سيتم تنفيذ كل جزء من أجزاء برنامجك، حظاً موفقاً.
غير مصنف
يطرح هذا السؤال العديد من مبرمجي دوت نيت، فلا نجد في Visual Stduio قائمة تسمى Compile، و نجد فيه قائمة تسمى Build تقوم في معظم الأحيان بمجرد عملية Compile، لذلك يبني البعض استنتاجاتهم أن Build تعني Compile.
و في الحقيقة أن هذا الاستنتاج خاطئ، فعملية Build تختلف تماماً عن عملية Compile، هذا الاختلاف هو أن الـCompile ما هي إلا جزء من أجزاء الـBuild، الأجزاء الأخرى قد تتضمن إنشاء Installer، نشر البرنامج إلى مكان ما، القيام باختبارات مختلفة عن المشروع، إخبار الفريق بالعملية، و غيرها…
و هاهي بعض الروابط التي وجدتها مفيدة :
أفضل إضافات تطوير المواقع لـInternet Explorer : لقد تعودنا أن نرى الكثير من الإضافات لمتصفح Firefox، و لكن قلما نرى إضافات لـIE.
أكثر من 50 مصدر لطلاب علوم الكمبيوتر : و هي تتضمن كل ما يحتاجون (أدوات، مراجع، نصائح، عمل، ..) في مختلف المجالات (حماية، ذكاء صناعي، برمجة، …).
40 سبب لموت البرمجيات : و كل سبب هو عبارة عن رابط لمقال آخر مفصل.
أفضل مئة لائحة بالـCheet Sheets : و كل لائحة بدورها تتضمن عدة Cheet Sheets في مختلف مجالات البرمجة، صفحة مفيدة جداً.
درس في MySQL : درس طويل و مفيد و مفصل لمن يريد أن يتعرف على هذا النظام الشهير.
أفضل 10 مواقع لمصممي الويب المستقلين (Freelancers).
غير مصنف
ما أتحدث عنه هو موقع بسيط يدعى ConnectionStrings، يوفر -كما يوحي اسمه- العشرات من قيم الاتصال (Connection Strings) للعديد من أنظمة تخزين قواعد البيانات و صيغ ملفات المعلومات (مثلاً ملفات نصية، ملفات Excel).
يمتاز الموقع بأنه يحوي أكثر من قيمة اتصال واحدة لكل مصدر للبيانات، فمثلاً ستجد أكثر من 30 قيمة للاتصال بـSQL Server 2005، كل واحدة حسب طريقة الاتصال و إعداداته، كما ستجد كود للاتصال بكل من #C و Visual Basic.NET، و هو يوفر شرحاً لا بأس به عن كل قيمة أيضاً.
أنصحك بزيارته و الاحتفاظ به في الـBookmarks لحين تحتاج إليه!
غير مصنف
يبدو الإلمام بكل الخصائص و الإجراءات التي تلزم لبرمجة تطبيقات Silverlight 1.0 مسألة ليست بهذه السهولة، و خاصة لمن يتلمس طريقه في هذا العالم الجديد.
بشكل افتراضي، لا يوفر Visual Studio 2008 أي مساعدة مهمة للمبرمج فيما يتعلق بـIntellisense جاد، لذلك، ما سنتوقع الحصول عليه عند برمجة مشروع باستخدام الإصدار الأول من Silverlight هو Intellisense لا تزيد قوته عما يلي :

و أما مع استخدام الإضافة الرائعة Silverlight 1.0 Javascript Intellisense فسيبدو الأمر بهذه السهولة :

الإضافة السابقة هي مشروع مجاني و مفتوح المصدر، مستضاف على موقع CodePlex، و هو يوفر سهولة كبيرة جداً لبرمجة مشاريع Silverlight باستخدام Javascript، من ميزات الإضافة الكبيرة أنك تستطيع بعد استخدام المشروع التخلص من مكوناته (أي عدم تضمينها في النسخة النهائية من المشروع) قبل توزيع التطبيق للاستخدام العام، و هذا يتم عن طريق أداة مرفقة مع النسخة الكاملة من الإضافة (بحجم 2,8 ميغابايت) تقوم بتخليص كود جافاسكريبت الذي كتبته من أي تبعيات لها.
قم بـتحميل الإضافة (أنصح بشدة بالنسخة الكاملة) و من ثم قم بتحميل مقطع الفيديو التعليمي و الذي سيعطيك معلومات عن استخدام هذه الإضافة و استخدام Silverlight 1.0 بشكل عام.
لاحظ أن هناك نسخة أحدث يمكنك الوصول إليها من القائمة على يمين الصفحة السابقة لذلك احرص على تحميلها.
غير مصنف
في صفقة جديدة من صفقات تلك الشركات الكبرى، أعلنت شركة MySQL أنه تم شراؤها من قبل شركة Sun Microsystems الشهيرة.
صفقة مثيرة فعلاً، و نقطة إضافية لمصلحة Sun، تهانينا!

غير مصنف
هاقد انتهت امتحاناتي و أنهيت بعض مسؤوليات العمل و حظيت بعطلة تتجاوز الأسبوعين، تبدو هذه فرصة رائعة لأعود إلى مدونتي و لأكمل الكتابة فيها.
و أما الأخبار الجيدة فهي رائعة فعلاً، فقد أعلن Scott Guthrie في مدونته الشخصية عن طرح الـSource Code للعديد من مكتبات إطار عمل دوت نيت، مما سيسمح للمبرمجين بالاطلاع على آلية عمله و عمل Debug لتلك المكتبات، و هي:
-.NET Base Class Libraries (System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, …)
-ASP.NET (System.Web, System.Web.Extensions)
-Windows Forms (System.Windows.Forms)
-Windows Presentation Foundation (System.Windows)
-ADO.NET and XML (System.Data and System.Xml)
على نية من مايكروسوفت بطرح الـSource Code لمكتبات أخرى (مثل Workflow, WCF, LINQ, …)
و رغم ذلك ماتزال هناك محدوديتان، أولهما أن عليك أن تكون متصلاً بالإنترنت لتحميل المعلومات الضرورية من سيرفرات MSDN أثناء قيامك بالـDebug، و ثانيهما أن نسخة الكود هي للقراءة-فقط، فلا يمكنك تعديل الكود.
رغم ذلك، ماتزال تلك تجربة رائعة برؤية طريقة عمل دوت نيت، حتى أنك سترى تعليقات المبرمجين على الكود، رائع جداً!
لمعرفة كيفية الاستفادة من هذه الميزة الجديدة، قم بزيارة هذه المقالة، و بالمناسبة، إن واجهتك أية مشكلة في التعامل مع هذه الميزة يمكنك طرحها في القسم المختص في منتديات MSDN.
غير مصنف
صناعة الاتصالات الخلوية في العالم اليوم لم تكن لتكون بتقدمها الحالي لولا جهود ريتشارد فرينكيل Richard H. Frenkiel و جويل إنجيل Joel S. Engel، الموظفين السابقين في مختبرات بيل لشركة AT&T.
نشأ إنجيل في ولاية نيويورك و حصل على درجة باكالوريوس في الهندسة من جامعة المدينة في نيويورك عام 1957. تلقى بعد ذلك درجة الماجستير من معهد ماساتشوسيتس التعليمي للتكنولوجيا و من ثم درجة الدكتوراه من معهد العلوم و التكنولوجيا في بروكلين.
و أما فرينكيل، و أصله من بروكلين، فقد حصل على درجة باكالوريوس في الهندسة من جامعة توفتس في ولاية ماساتشوسيتس و من ثم أتم دراسة الماجستير في جامعة رتجيرس، ولاية نيوجيرسي سنة 1965.
في عام 1962، كانا يعملان معاً لمختبرات بيل في نيوجيرسي حيث بدأا ما يمكن اعتباره شراكة مثمرة. في ذلك الوقت، فقط بضعة مئات من الناس في المدن الكبرى كان عندهم هواتف في سياراتهم.عدد قليل فقط من المحادثات كان من الممكن إجراؤها في نفس الوقت، بسبب نقص بعدد القنوات الراديوية الشاغرة. كانت القنوات مشغولة دائماً لأن عشر أشخاص تقريباً فقط يمكنهم استخدام نظام الاتصال في وقت واحد، و على الآخرين الانتظار لوقت طويل.
طور إنجيل و فرينكيل عندما كانا يعملان في فريق يتألف من حوالي 200 مهندس في مختبرات بيل فكرة جديدة تضاعف سعة كل قناة بألف ضعف، فقد اعتمد نظامهما على تقسيم المدن إلى مناطق مغطاة صغيرة سموها الخلايا. و كان يتم تحويل اتصالات هواتف السيارات من خلية إلى أخرى أثناء حركتها. و في هذا النظام، وضع فرينكيل و إنجيل البنية الأساسية لنظام الاتصالات الخلوية و حلا المشاكل المعقدة مثل كيفية تحديد أنظمة الخلوي لمكان وسائل النقل و نقل الاتصالات إليها من خلية إلى أخرى أثناء حركتها.
قاد عمل فرينكيل و إنجيل إلى سلسلة من الاقتراحات تم تقديمها إلى وكالة الاتصالات الفدرالية FCC في السبعينيات وأصبحت تلك الإقراحات فيما بعد الأساس للأنظمة الخلوية و طورت الاتصالات المتحركة بشكل ثوري مما جعل خدمات الخلوي ملائمة و متوافرة بسهولة. قال فرينكيل أنه من الصعب عليه أن يحصل على سمعة كالتي حصل عليها لعمله على تقنية الخلوي، و أكد أنها لم تكن لتوجد لولا جهود الفريق العامل معه. قال فرينكيل : “من الصعب لأي شخص أن يبدو و كأنه مسؤول لوحده عن إنجاز أي شيء. كما أقول، مئات من الأشخاص كانوا يعملون عليها في شركتي وحدها”.
و مع ذلك، حصل فرينكيل في عام 1987 على ميدالية ألكسندر جراهام بيل لجمعية مهندسي الاتصالات و الكهرباء “لمساهماته المميزة في تنمية الاتصالات عن بعد”، مع شريكه، إنجيل. وفي عام 1994، حصل الثنائي على الميداليات الوطنية للتكنولوجيا من الرئيس كلينتون.
عملاً بالاقتراحات التي وصلت إلى FCC، تابع فرينكيل و قاد فريقاً من مهندسي مختبرات بيل الذين كتبوا المواصفات و أعادوا تحديد هيكلية نظام الخلوي، وكتبوا تقارير عن اختباراتهم إلى FCC، و ساعدوا على تخطيط الدفعة الأولى لأنظمة الخلوي لتطبيقها في أوائل الثمانينيات. بالإضافة إلى ذلك، حصل فرينكيل على براءة اختراع لمفهوم الخلية المضمنة، و التي سهلت عملية إضافة خلايا أصغر إلى النظام الخلوي كلما ازداد عدد مشتركي الخدمة. تقاعد فرينكيل من AT&T في 1993 و هو يعمل حالياً كمستشار، معلم و كاتب في نيوجيرسي.
و في نفس الوقت، تم تكريم إنجل لكونه قدّم الأبحاث الضرورية لوضع المواصفات و المعايير اللازمة لتحديد السعة الخلوية كما ينبغي لتتناسب مع القواعد الفدرالية و المتطلبات القياسية للاستخدام.
ترك إنجل مختبرات بيل في عام 1983 ليصبح نائب الرئيس للأبحاث و التطوير لـMCI، و من عام 1987 إلى 1997 عمل كنائب رئيس شركة Ameritech للتكنولوجيا و الاتصالات. و اليوم، يشغل إنجيل منصب رئيس شركة JSE للاستشارات في أرمونك، نيويورك و هي تقدم الإرشاد التقني لمزودي تجهيزات الاتصالات.
كان من نتائج جهود فرينكيل و إنجيل ما أصبح لخدمات الإتصالات من أثر كبير على المجتمع، فهناك اليوم هناك أكثر من ملياري مستخدم لتقنية الخلوي في العالم، و يتوقع أن يصل عدد المستخدمين إلى ثلاثة مليارات بحلول عام 2010.
غير مصنف