ابحث في هذه المدونة

الأحد، 26 يونيو، 2011

نظام إدارة المحتوى

نظام إدارة المحتوى (بالإنجليزية: Content Management System أو CMS‏) هو مجموعة الإجراءات المتبعة لإدارة سير العمل في بيئة تعاونية. هذه الإجراءات إما أن تكون يدوية أو مبنية على الحاسوب، وتكون مصممة لأداء الوظائف التالية:
  • السماح لعدد كبير من المستخدمين للمساهمة ومشاركة البينات المخزنة
  • التحكم في الوصول للبيانات، بناءً على أدوار المستخدمين
  • المساعدة في التخزين والاسترجاع السهل للبيانات
  • تقليل الإدخال المتكرر للبيانات
  • تسهيل كتابة التقارير
  • تسهيل الاتصال بين المستخدمين
البيانات في نظام إدارة المحتوى قد تكون أي شيء تقريباً: وثائق، أفلام، صور، أرقام هواتف، بيانات علمية، وهكذا. تستخدم نظم إدارة المحتوى عادةً في التحكم في الوثائق وترتيبها والتحكم بالمراجعات الموجودة منها؛ فنظام إدارة المحتوى يزيد رقم الإصدار (بالإنجليزية: version‏) مع كل تعديل يطرأ على الملف. فالتحكم بالمراجعات هو أحد المميزات الرئيسية لنظام إدارة المحتوى.

نظم إدارة محتوى الويبمقال تفصيلي :نظام إدارة محتوى الويب

نظام إدارة محتوى الويب (بالإنجليزية: Web content management system أو WCM‏) هو نظام إدارة محتوى مصمم لتيسير نشر محتوى الويب (بالإنجليزية: web content‏) إلى المواقع والأجهزة المحمولة. والسماح، على وجه الخصوص، لمؤلفي المحتوى غير المتخصصين بإرسال المحتوى بدون أن يتطلب ذلك معرفة مسبقة بلغة رقم النص الفائق (بالإنجليزية: HTML‏) أو رفع الملفات. فيتميز نظام إدارة محتوى الويب عن برمجيات بناء المواقع (بالإنجليزية: Website Builders‏) مثل مايكروسوفت فرونت بيج أو أدوبي دريمويفر بعدم الحاجة لخبرة أو معرفة تقنية أو حتى تدريب لتطوير وإدارة محتوى الصفحات الإلكترونية. فهو يسهل التحكم، المراقبة، التعديل، والتطوير على الصفحات الإلكترونية، من قبل مستخدم أو عدة مستخدمين بصلاحيات محددة [1].
هناك عدة نماذج لإدارة محتوى الويب، منها: المدونات، المنتديات، والبوابات. تستخدم المدونات نظماً مبسطة لإدارة المحتوى موجهة للاستخدام الشخصي، كما يمثل ويكي نموذجا آخر لنظم إدارة المحتوى.
بازدياد تعقيد وترابط المحتوى وكذلك حجمه والسرعة التي يتطلبها النشر الرقمي، أصبح استعمال أنظمة إدارة المعلومات في مواقع الإنترنت مما لا غنى عنه.

نظام إدارة مكون المحتوى

في نظام إدارة مكون المحتوى (بالإنجليزية: Component content management system‏) يكون تخزين وإدارة المحتوى على مستوى أجزاء الوثيقة (المكونات) وذلك من أجل قدرة أعلى على إعادة استخدام تلك المكونات.
الوظائف الأساسية في نظام إدارة مكون المحتوى هي:

أنظمة إدارة المحتوى


نظم إدارة محتوى عربية

نظم إدارة محتوى غير عربية



ويكيبيديا

    الثلاثاء، 21 يونيو، 2011

    لمن يريد ان يكون مبرمجا


    ربما قرأت العشرات من المقالات حول هذا العنوان ولهذه اللحظة لاتزال متوترا حول "موضوع البرمجة" .
    حسنا انك شخص هاوي تريد تعلم البرمجة, متحير حول نقطة البداية, نوع اللغة التي ستبدأ بها....
    لنتطرق اولا الى فوائد كونك مبرمجا قبل كل شيء فلعل هذا سيكون حافزا لدخولك هذا العالم الواسع.
    مافائدة البرمجة؟
    بغض النظر عن اللغة التي ستتعلمها او الطريقة او المكان او الغاية.. – بشكل عام – هناك عدة فوائد لكونك مبرمج:
    1-  اضافة لكون البرمجه تقوي مهارات الرياضيات لديك فهي تعتبر عامل مهم لترقيتك في وظيفتك ان كنت تعمل في اختصاص يهتم بتكنولوجيا المعلومات او البرامجيات على حد سواء, حيث يمكنك خوض الامتحانات المخصصة للغة التي تتقنها وحصولك على الشهادة من الشركة الام يعتبر رصيدا وظيفيا جيدا.
    2-  ان لم تكن موظف وبغض النظر عن عملك فان المبرمجين يمكنهم العمل من خلال الويب بما يسمى Freelancing حيث هناك مواقع كثيره يمكن للمبرمجين الاشتراك بها وتقديم خدماتهم بمقابل مادي.
    3-  نظرا لتوسع الويب بشكل خاص وتطور منصات العمل البرمجي وتعدد البرامجيات وتخصصها ادى الى زيادة الطلب على المبرمجين من مختلف المستويات حيث يعمل المبرمجون في الشركات بنظام الساعات حيث تخصص لكل ساعة عمل مبلغ معين, لذا فأن مستقبل البرمجة مستقبل واعد جدا.
    4-  لست ملزما بالارتباط بشركة او جهة ما لتقدم خدماتك فيمكنك تطوير برامج خاصة بك وعرضها على الزبائن بشكل فردي او من خلال مجموعات.
    5-  كما يمكنك التباهي امام اصدقائك بكونك تعلم لغة لايعلمها اغلب سكان الارض! (ان كان هذا يشعرك بتحسن)

    ماذا سافعل بالضبط؟
    ان اختيارك البرمجة تحديدا لايقتضي بكتابة الاكواد فقط. عندما تتعلم مبادئ البرمجة للغة ما ستتعلم انشاء هيكلية البرامج التي ستقوم ببرمجتها, لو فرضنا ان البرنامج يتكون من جزئين معنويين (الواجهة , والهيكل) ولنفرض ان الواجهة هي كل ماتراه من نصوص ورسوم وقوائم في برنامج ما والهيكل هو الجزء البرمجي المخفي الذي يعمل خلف الواجهة لتنفيذ الايعازات التي تقوم بفعلها.
    كمبرمج سينصب اهتمامك بالجزء الهيكلي, لكن من خلال تعلمك لايمكن توفير مبرمج متفرغ ليصمم لك البرامج "الواجهة" اذن لابد لك من انشاءها بنفسك حيث الهيكل والواجهة جزيئن لايتجزءان احدهما يكمل الاخر, فعند تعلمك لغة C++  مثلا فأنك تتعلم تصميم وبرمجة البرامج لكن ستتركز الدروس على الناحية البرمجية اكثر من التصميمية.
    اعتقد في هذه النقطه قد تكونت لديك فكرة شامله...

    ما اللغة الي يجب ان أبدأ بها؟

    ان لغات البرمجة تختلف كبصمات الابهام لدى البشر وأن تشابهت في بعض الصفات, فلكل لغة اسم وطريقة للكتابة وخصائص معينه وفوائد تختلف عن اللغة الاخرى مثلا لغة البرمجة PHP  لغة سهل بسيطة وانسيابيه تستعمل لبرمجة صفحات الويب الديناميكية وتطبيقات الويب وتتميز بسهولتها وكونها مصدر مفتوح بخلاف ذلك فأن لغة C#  مثلا قد تكون معقده قليلا لكنها لغة متينه وقوية وذات استعمالات واسعه ويمكن انشاء البرامج المكتبية من خلال هذه اللغة ولايمكن انشاء صفحات الويب... وهكذا
    لذا.. إن كنت محب لتطبيقات الويب والمواقع الديناميكية مثل موقع الفيس بوك او تويتر فلعلك تبدا بلغة مخصصة لبرمجة صفحات الويب مثل PHP  او Coldfusion  او ASP  او Perl أو غيرها من اللغات.
    يمكنك العثور على تفاصيل كل لغة والفرق بينها على الرابط http://www.objs.com/survey/lang.htm


    اما اذا كانت البرامج المكتبيه او الالعاب تلفت انتباهك فيمكنك البدء بتعلم لغة برمجة البرامج مثل C++  أو C أو Java أو Visual basic أو غيرها
    يمكنك العثور على تفاصيل اكثر حول لغات البرمجة والفرق بينها والافضل منها على
    لك حرية اختيار اللغة التي تبدأ بها لكن كأختيار عالمي يفضل الناس لغة PHP للويب لسهولتها ولغة C++  للبرامج
    قبل ان تبدأ:
    1-  البرمجة تحتاج الى شخص صبور, اعتقد هذه الكلمة المناسبة تماما, فالعديد من الاشخاص تركوا البرمجة واصبحت لهم ككابوس, البرمجة كائن منطقي ان كانت طريقتك صحيحه وخاليه من الاخطاء يصمت وان كنت ترتكب الاخطاء يصيح في وجهك لذا تحل بالصبر فكأي مبرمج مبتدء سوف ترتكب الاخطاء ولن يعمل برنامج من اول مره وستصاب بالملل, حاول مرة ومرة ثانية وثالثة الى ان يعمل البرنامج بنجاح حينها تشعر بالابتهاج.
    2-  طبق الدروس التي تتعلمها بالتوالي, كل درس جديد تتعلمه قم بتطبيقه بالحاسوب اكثر من مره لان الاكواد البرمجية هيه باللغة الانجليزية وتكون عادة اختصارات ورموز سهلة النسيان مارس التطبيقات العملية في اوانها ولا تحاول تعلم اكثر من درس في الوقت المخصص لدرس واحد.
    3-  عادة تكون هنالك اسئلة في نهاية كل فصل ( ان لم تكن هناك فحاول الحصول على اسئلة حول الموضوع من الانترنت) هذه الاسئله تضمن فهمك للمادة بشكل جيد في حال استطاعتك حلها جميعها وان كان هناك اترباك في نقطة ما قم بالعوده للموضوع المخصص وحاول فهم الخطأ.
    4-  كما قلت ان البرمجة سهلة النسيان لذا حتى في حال انتهاءك من تعلم لغة ما استمر بالممارسه التطبيقية وحاول تعلم التقنيات الجديدة ومتابعة تحديثات اللغة التي تصدر من موقع اللغة نفسها .
    5-  ان تعلمك لغة ما يسهل لك الطريق بشكل كبير لتعلم لغة اخرى فاللغات متشابهه الى حد ما بطريقة كتابتها وخواصها.
    6-  ان لغة Java  هي ليست لغة JavaScript كما هو Ham ليس hamster

    السبت، 18 يونيو، 2011

    الحوسبة السحابية

    الحوسبة السحابية (cloud computing) هي أحد اساليب الحوسبة، يتم فيها تقديم الموارد الحاسوبية كخدمات، ويتاح للمستخدمين الوصول إليها عبر شبكة الإنترنت (”السحابة“)، دون الحاجة إلى امتلاك المعرفة، الخبرة، أو حتى التحكم بالبنى التحتية التي تدعم هذه الخدمات. يمكن النظر إلى الحوسبة السحابية على أنها مفهوم عام يشمل البرمجيات كخدمة (Software as a Service)، الويب 2.0، وغيرها من التوجهات الحديثة في عالم التقنية التي تشترك في فكرة الاعتماد على شبكة الإنترنت لتلبية الاحتياجات الحوسبية للمستخدمين.
    نشرت مجلة Technology Review مؤخرا مقالا يتحدث عن أدوات الحوسبة السحابية مفتوحة المصدر. سنستعرض في هذه التدوينة الحاجة إلى مثل هذه الأدوات، ومالذي بإمكانها تقديمه. (حقوق الصورة: Seven Morris)

    الحاجة إلى أدوات حوسبة سحابية مفتوحة المصدر

    منصات الحوسبة السحابية التجارية مثل Amazon EC2، Microsoft Azure Services Platform، وGoogle App Engine تعطي العديد من الشركات مرونة الوصول إلى الموارد الحاسوبية اللازمة، وتساهم في تقليل تكاليف البنية التحتية للشركات الناشئة، لكن الاعتماد عليها لا يخلو من الشوائب. فكثير من المستخدمين يثيرون مواضيع مثل الخصوصية، الأمن، والموثوقية عندما يدور الحديث عن “السحابة“. لذلك، هناك اهتمام متزايد بأدوات الحوسبة السحابية مفتوحة المصدر، التي تمكن الشركات من بناء وتخصيص “سُحُبهم” الحوسبية لتعمل بجانب الحلول التجارية الأقوى.

    مشاريع الحوسبة السحابية مفتوحة المصدر

    هناك عدة مشاريع تهدف إلى تطوير أدوات مفتوحة المصدر للحوسبة السحابية، من أبرزها:
    1. Eucalyptus: بنية تحتية برمجية مفتوحة المصدر لتنفيذ الحوسبة السحابية. واجهة Eucalyptus متوافقة مع واجهة EC2، كما أن تجربة الاستخدام متشابهة، لكن الفرق هو أن Eucalyptus يتيح للمستخدمين تشغيل برامجهم باستخدام مواردهم الخاصة، ويوفر نظرة تفصيلية داخل ما يمكن أن يكون “الصندوق الأسود” لخدمات الحوسبة السحابية التجارية.
    2. Globus Nimbus: مشروع من جامعة شيكاغو، عبارة عن مجموعة أدوات مفتوحة المصدر تتيح تحويل العناقيد الحاسوبية (clusters) إلى “سحابة” تقدم البنية التحتية كخدمة (Infrastructure-as-a-Service).
    3. هناك شركات مثل Enomaly و10gen تقوم بتطوير أدوات مفتوحة المصدر للحوسبة السحابية.

    مالذي بإمكان هذه الأدوات فعله؟

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

    مستقبل الحوسبة السحابية مفتوحة المصدر

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

    http://www.techabc.net