d خليل سليم – الصفحة 20 – مدونة الفريق

الكاتب: خليل سليم

  • حل تعارض Office 2013 مع Visual Studio 2012

    عند تنصيب الأوفيس 2013 نسخة المراجعة ، مع وجود الفيجوال ستوديو 2012 ، تظهر هذه الرسالة

    The procedure entry point _Atomic_fetch_sub_4 could not be located in the dynamic link library C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

    ولحل هذه المشكلة عليك تحميل هذا الباتش

    July 2012 Update for Visual Studio 2012 RC

  • مقدمة إلى قواعد بيانات NoSQL

    مقدمة إلى قواعد بيانات NoSQL

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

    صحيح أن مبدأ قاعدة NoSQL ليس بالجديد، إلا أن التطوير الحاصل في هذه القاعدة، يعتبر أمر جديد، إذا السؤال هنا، ما هي قاعدة بيانات NoSQL ؟

    في البداية ، نتعرف على أنواع قواعد البياناتبيانات

    حيث يوجد عدة أنواع هيكلية لقواعد البيانات ، تعلمون الشبكية والهرمية والعلائقية، والكائنية … إلخ

    لا يخفى عليكم النوع المشهور ، وهي قواعد البيانات العلائقية Relational Database ، وهي القواعد المشهورة ( والتي نعرفها ) أوراكل Oracle  ، سكول سيرفر SQL Server ، أكسيس، MySQL … إلخ

    الكثير من الكلام حول هذه القواعد، ولكن ما يهمنا أمرين: الأول أن هذه القواعد تخزن البيانات على شكل جداول – كما يعلم الجميع -، والأمر الثاني، أن هذه الجداول مرتبطة بعلاقات بينها

    هنالك نوع OOP Database وهي من اسمها قاعدة معتمدة على الكائنات في بنيتها، وهنالك نوع من قواعد البيانات يسمى Document Oriented Database  أو Document Store أو قواعد NoSQL

    هذه القواعد يتم تخزين البيانات فيها على هيئة ملفات مرمزة Encoded  بصيغ معروفة مثل XML أو JSON ، أو حتى ملفات كالوورد أو الأكروبات PDF، المقصد هي في النهاية ملفات كالملفات النصية، تحتلف عن ملفات القواعد العلائقية

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

    {

    الكتاب: " خديعة التطور"

    الكاتب: "هارون يحيى"

    بتاريخ:" طبيعي ما احفظ التاريخ"

    دور _لنشر: [  الاسم: " مكتبة المنارة"،

    الاسم : " مكتبة النهضة "،

    الاسم : " مكتبة الاسكندرية"   ]

    }

    وهذا يمثل حقل واحد، وهو أقرب لصيغة JSON أو XML ، وهنالك
    عدة خوارزميات متبعة في هذه القواعد، وتختلف اختلاف كبير في طريقة تخزين واسترداد البيانات، فهنالك مثلا أنواع يتم فيها استرداد البيانات عن طريق اسم فريد بكل حقل، وهو مشابه أيضا لمبدأ المفتاح والقيمة Key-Value .

    ما الذي يميز قواعد NoSQL على القواعد العلائقية ؟

    قواعد البيانات العلائقة تحتاج للعديد من الموارد ، وتحتاج لخبرة عالية لإدارتها، وخبرة في تصميمها وتنصيبها وضبط إعداداتها، بينما قواعد بيانات NoSQL مصممة لتحتاج أقل إدارة، وأقل صيانة

    أيضا هنالك صعوبات في التعامل مع ملفات القاعدة كتقسيم الملفات Clustering ونقل البيانات، والمقصود هنا أن قواعد البيانات العلائقية لا تتعامل بكفاءة مع الكميات الضخمة من البيانات ، مثلا كموقع الفيسبوك، حيث كمية البيانات المخزنة ضخمة جدا، وكمية العمليات على القاعدة ضخمة جدا، وأساسا لم يتم تصميم قواعد البيانات العلائقية لتحميل هذا الكم الهائل من البيانات والعمليات عليها،

    إذا قواعد بيانات NoSQL تستخدم في حالة كان هنالك بيانات، وكمية هذه البيانات والعمليات عليها ضخمة، وغير مهم وجود العلاقات بينها، والمهم هنا استرداد هذه البيانات الضخمة بكفاءة عالية.

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

    نكمل إن شاء الله المرة القادمة في قاعدة بيانات MongoDB، حيث الحديث اليوم عام عن قواعد بيانات NoSQL ، والمرة القادمة سنختار قاعدة للحديث عنها

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

  • مشكلة عدم تعارف هواتف اللوميا على الويندوز 8

    واجهتني مشكلة منذ يومين وهي عدم تعارف هاتف اللوميا 925 Nokia Lumia  على الويندوز 8 Windows ، والحمد لله حلت بعد عناء.

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

    ولكن ما واجهني مشكلة أخرى ليست منها وبعد عناء كان الحل كالتالي:
    نسخة الويندوز المنصبة على الجهاز كانت Windows 8 Enterprise N
     انتبهوا للحرف N
     هذا معناه بدون Media Features

    ويجب تنصيب هذه الحزمة لكي يتعرف على الجوال ويكون به خصائص إضافية أخرى.
    توجد عدة طرق لتنصيب الحزمة أسلها تحميلها من هذا الرابط.
    Media Feature Pack for N and KN versions of Windows 8

  • تعديلات على واجهة الموقع

    متابعينا الكرام ، قمت بتطوير واجهة الموقع باستخدام bootstrap  ، وأثناء عملي أتاني مشروع فاضطررت أن أوقف العمل  مؤقتا ، على أن أتم العمل لاحقا

    شكرا لكم على صبركم

  • مشروع Mono : شغل الدوت نت على اللينكس أو أي نظام تشغيل تحلم به

    إن أكثر ما يتمناه المبرمج دائما هو أن يعمل برنامجه على كل أنظمة التشغيل ، وعند
    الحديث عن الدوت نت ، كانت أمنيتنا أن تعمل كافة فروع الدوت نت وتقنياتها على أنظمة
    تشغيل أخرى غير نظام تشغيل Microsoft Windows ، ومع مشروع Mono™ 
    تحقق هذا الحلم.

    ما هو مشروع مونو ؟
    هو مشروع ضخم  من شركة Novell يهدف إلى تشغيل الدوت نت بهدف أول بكافة فروعها
    ومنصات أخرى غير الدوت نت بهدف ثان على كافة أنظمة التشغيل المشهورة،، وسمي بمونو
    نسبة إلى ( القرود )  حيث بالأسباني قرد معناها مونو ، وتقول الشركة أنها
    ببساطة تحب القرود!.

    هل يمكنني تشغيل برامج الدوت نت بصدق على أنظمة غير نظام تشغيل Windows ؟
    نعم يمكنك تشغيل أغلب برامجك على أنظمة تشغيل  أخرى ولكن تحتاج أولا للتأكد من
    الأمر بفحص البرنامج باستخدام أداة Mono Migration Analysis ، ولكن أغلب برامجك بالإصدار الثاني
    2.0 من منصة العمل دوت نت ستعمل بدون مشاكل والمرحلة التطويرية الآن لدعم الإصدار
    3.5 بالكامل

    ما هي أنظمة التشغيل المدعومة ؟
    هذه قائمة من موقع الشركة بالمنصات المدعومة

    Operating Systems

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

    والجميل في الأمر أن مشروع مونو يتطور باستمرار فتجد أنه قريبا سيدعم ال MVC ، ومن
    ضمن الخطط دعم الدوت نت الإصدار 4.0 في إصداره الجديد Mono 2.8 ، وهذا ما يدفعك
    لاستخدام مشروع مونو بدون أدنى تردد.

    تحميل مشروع مونو ؟
    يمكنك تحميل آخر إصدار 2.4.2.1 من مشروع مونو والعمل مباشرة على أنظمة التشغيل
    المختلفة من خلال هذه الصفحة

    http://www.go-mono.com/mono-downloads/download.html

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

    ماذا عن هذه البرامج ؟
    ليس هدفي الحديث عن توافق بعض البرامج ولكن ، بعض البرامج ضرورية لمطورو الدوت نت
    فمثلا حزمة Microsoft Office لن تعمل على منصة مونو والسبب أنها لم تكتب بالدوت نت
    ويلزمها آليات أخرى كمشروع واين the Wine Project  ، مثلا حزمة برامج
    Microsoft Expression ستعمل بالكامل لأنها مبنية بنسبة 100% بالدوت نت ، اما برنامج
    WebMatrix فلن يعمل لأنه ليس مبني بالكامل بالدوت نت.
    قامت الشركة بصنع بيئة عمل متكاملة تسمى MonoDevelop وهي شبيهة بحد ما بالفيجوال
    ستوديو حيث يمكنك كتابة شيفراتك للبرامج أو للمواقع بسهولة ويسر ومن ثم تنفيذها
    ويمكن تحميل هذه البيئة عبر هذا الرابط the MonoDevelop

    Moonlight!! ألم يكن Silverlight ?!
    صراحة الاسم أعجبني كثيرا، ويستحق صاحبه جائزة
    فالأساس هو الضوء الفضي ثم جاء الاسم القريب منه ضوء القمر حيث لهما نفس الضوء ونفس
    التلألؤ والجمال، فالموون لايت  ببساطة هو السيلفر لايت ولكن النسخة الخاصة
    باللينكس، فحتى تلاقي تقنية السيلفر لايت النجاح الكامل مثل الفلاش ، يجب عليها أن
    تعمل على كل الأنظمة والمتصحفات ، وحيث أن السيلفر لايت بإصداراته يستخدم منصة
    الدوت نت وخصوصا في الإصدار الثانية وما
    بعده ، فنحن بحاجة لكي تعمل الدوت نت على اللينكس، وكان مشروع مونو هو السبيل
    الوحيد والقائم لحل هذه المعضلة والتي كانت ستودي بحياة السيلفر لايت  ، لأن
    الفلاش يعمل على كل الأنظمة والمتصفحات، فقامت شركة نوفل بتخصيص فرع كامل باسم
    Moonlight لتضمين السيلفر لايت على اللينكس.
    ويمكنك باستخدام ال Moonlight تشغيل تطبيقات السيلفر لايت بسهولة ، بل وأيضا
    استخدام أداة التطوير SDK لتطور مشاريعك الخاصة في ظل وجودك تحت نظام التشغيل
    لينكس.
    يمكنك الشروع والتطوير في المون لايت عبر هذا الرابط http://go-mono.com/moonlight.

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

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

  • MonoDroid اصنع برامج للأندرويد بالسي شارب

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

    ماذا يلزمنا للبدء ؟

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

    يجب توافر نسخة Visual Studio 2010 Professional, Premium, or Ultimate ، طبعا لن يعمل على نسخ الاكسبريس.

    يلزمك تنصيب Java SDK ، وهي عبر هذا الرابط : http://www.oracle.com/technetwork/java/javase/downloads/index.html

    قم باختيار النسخة : Java 1.6 (Java 6) JDK وما بعد

    ومن ثم قم بتنصيب Android SDK من هذا الرابط : http://developer.android.com/sdk/index.html ، وبعد التنصيب افتح SDK Manager ، واختر النسخة التي تريد التطوير إليها ، مثلا الإصدار الثالث Honeycomb رحيق العسل ، أو مثلا الإصدار 2.3.1 ، فأنت حر.

    لكن انا ساختار تطوير برامج للجوال وليس للكموبيتر اللوحي لذلك سأختار

     ?SDK Platform Android 2.3, API 9, revision 1
    ?Android SDK Tools, revision 8
    ?Android SDK Platform-tools, revision 2

    ، الآن بقي خطوة أخيرة في تنصيب معدات الأنرويد العامة ، وهي إنشاء محاكي

    مع العلم أنه لا يجب أن تقوم بتشغيل المحاكي من هنا ، بل سيقوم الفيجوال ستوديو بتشغيله عند تنفيذ الكود.

    الآن الخطوة الأخيرة والسهلة وهي تنصيب ملحقات التطوير للفيجوال ستوديو MonoDroid for Visual Studio 2010 Plugin

    الآن افتح الجوال ستوديو ، ومن ثم قم بعمل مشروع جديد واختر مونودرويد

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

    بعد اختيار المحاكي ، انتظر دقيقة او أكثر ، ليعمل المحاكي وبرنامج أيضا.

  • ملخص مؤتمر برمجة الموبايل 12-12-2012

    تم بحمد الله مؤتمر برمجة الموبايل الذي أقيم في جامعة القدس، وسيتم إعادة نفس المؤتمر في عدة جامعات بجلسات أوسع
    المؤتمر احتوى لى 4 جلسات ولأني أعشق اللغة العربية فسأكتب باللغة العربية الفصحى والجلسات كانت كالتالي:
    1- مقدمة حول أنظمة تشغيل الجوالات
    تحدث بها زميلي يوسف عن أهم 5 أنظمة تشغيل للجوالات وفاضل بينهم ، وأي هذه الأنظمة يفضل العمل عليها لجني المال

    2- تصميم الويب التفاعلي Responsive Web design
    تحدث فيها صديقي منير بركات عن كيفية تصميم صفحات المواقع للعمل بكفاءة على أبعاد الشاشات المختلفة

    3- مقدمة حول البرمجة لنظام الويندوز فون
    تحدثت فيها المهندسة إيناس عن المبادئ والمفاهيم الأساسية لبدء التطوير للويندوز فون، ومن أين الإنطلاق

    4- مقدمة حول البرمجة للويندوز 8 والربط مع أنظمة الجوال المختلفة
    تحدث فيها ( خليل سليم ) عن تصميم ميترو للويندوز 8 وأهمية إدراك هذا المفهوم لتطوير تطبيقات فعالة ، وسبل الربط مع أنظمة الجوال المختلفة

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

    للتحميل من هنا

  • نظرة أولى على Windows 8 وتأثيره على سوق البرمجيات العربية

    أماطت مايكروسوفت اللثام عن أحدث إصداراتها لنظام التشغيل Windows 8 بعد أشهر من تكتم مخابراتي منع فيه حتى موظفي الشركة من معرفة تفاصيل مستقبل القلب النابض للشركة. يأتي هذا الإعلان في خضم منافسة شرسة من Apple و Google على سوق Client OS وإعادة تعريف تعاملنا اليومي مع الحواسب كما فعل Windows 95 من قبل. ولكن التحديات التي تواجهها مايكروسوفت في ذلك الوقت مختلفة تماما عن تحديات اليوم فالمنافسة كانت بالأساس مع IBM ومشروعهما المشترك OS/2 الذي نجحت مايكروسوفت في قتله باستخدام Windows NT و Apple بلا رؤية أو قيادة بعد طرد Steve Jobs في 1986 أما اليوم فالتحدي قادم من خليط خطير من أفكار مبدعة وقوة مالية فهل تستطيع مايكروسوفت المحافظة على سيطرتها على السوق في واقع معقد

  • Microsoft Visual Studio 2010 Service Pack 1 Beta

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

    رابط تحميل النسخة
    Microsoft Visual Studio 2010 Service Pack 1 Beta Web Installer

    ويمكن تحميل التحديث اسطوانة ISO من هذا الرابط
    Microsoft Visual Studio 2010 Service Pack 1 Beta ISO

    ما تتضمنه النسخة من تحديثات هي:
    1- تعديلات على Help Viewer ، بحيث أصبح أجمل وأسهل وأدق ، للمزيد عبر هذا المقال.

    2- تحسينات بيئة التطوير وهي تحسين دعم أدوات السيلفر لايت 4 Silverlight 4 Tools
    for Visual Studio 2010، مع تحديثات RIA Services ، إضافة دوال إلى Win7-specific
    MFC APIs to support use of Direct2D, DirectWrite, and Windows Animation
    Technologies.
    3- تحسينات Unit Testing on .NET 3.5 .
    4- IntelliTrace F5 for 64 bit and SharePoint projects
    5- تحسين في معالج السيلفر لايت
    6- إمكانية تغيير الكومبايلر في وقت التنفيذ في الفيجوال بيسك.