Sunday, June 16, 2013

Tagged under: , ,

MySql + Python Arabic Tutorial

ما هي لغة بايثون python


بايثون هي لغة برمجة مرنة تستخدم مترجم فوري Interpreter تدعم برمجة الكائنات Object Oriented والتي يمكن استخدامها في الكثير من مجالات تطوير البرامج, كما من الممكن مكاملة هذه اللغة مع لغات وأدوات أخرى, كما إنها تأتي مع مكتبة ضخمة ومفصلة من الدوال. ومن الممكن تعلم بايثون خلال أيام معدودة. الكثير من مبرمجي بايثون يؤكدون إن هذه اللغة تعطيهم الدافع لكي يكونوا أكثر إنتاجية ويشعرون بأن اللغة تشجعهم على تطوير أدوات بجودة عالية وكتابة كود يمكن إدارته بشكل أفضل.

هذا هو تعريف لغة بايثون من موقع بايثون الرسمي نفسه, وهنالك أكثر من مجرد هذا التعريف مثل إن لغة بايثون وجميع أدواتها مجانية بالكامل ومفتوحة الشفرة المصدري Open Source وتشرف على تطويرها مؤسسة بإسم Python Software Foundation مؤلفة من مجموعة كبيرة من المبرمجين الأحرار الذين يعملون على هذه اللغة طوعاً بلا أجور. في الحقيقة أنت تستطيع أن تنظم إلى هذه المؤسسة إذا كنت تمتلك الخبرة المطلوبة ومن أي مكان في العالم.

تعمل بايثون على Windows, Linux/Unix, Max OS X, OS/2, Amiga, Palm Handhelds وحديثاً Nokia Mobile Phones مما يعني إنك تستطيع كتابة برامج بايثون وتنفيذها بإستخدام تلفون محمول من نوكيا يدعم سيمبيان Symbian مثل 6600, 7610, 6630 لا غير!

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

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


مزايا وشروط بايثون:

بايثون مجانية بالكامل لجميع الإستخدامات من ضمنها الإستخدام التجاري وإعادة البيع, أي إنك من الممكن أن تبيع منتج مكتوب بإستخدام بايثون أو منتج يستخدم مترجم بايثون Python Interpreter, من دون أن تدفع أي تكاليف للمؤسسة.

حركة الشفرة المصدرية المفتوحة Open Source Initiative صدقت على رخصة بايثون بأنها شفرة برمجية مفتوحة Open Source, وقد وضعتها في قائمتها للشفرات المصدرية المفتوحة.

ليس هنالك عوائق مشابهة للعوائق التي تضعها رخصة GPL, توزيع نسخ مبنية (binary) من بايثون سواء كانت بايثون الأصلية أو بايثون معدلة مسموح به من دون الحاجة لنشر أي من شفرتك البرمجية. كما يمكنك أيضاً كتابة إضافات برمجية Extension modules للغة بايثون وتوزيع هذه الإضافات في شكلها التنفيذي (binary) من دون الشفرة المصدرية.

ولكن مع ذلك فإن رخصة بايثون متوافقة مع GPL, حسب مؤسسة البرامج الحرة Free Software Foundation.

لا يمكنك أن تزيل حقوق الطبع الخاصة بمؤسسة برامج بايثون من الشفرة المصدرية أو البرامج التنفيذية الناتجة.



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


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

أما إذا كنت مبرمج محترف, وقد عملت سابقاً على ++C/C و Java مثلاً وقد وجدت إن عملية كتابة ثم ترجمة ثم فحص ثم إعادة الترجمة ثم إعادة كل شئ مرة أخرى كانت بطيئة جداً. أو من الممكن أنك تكتب حزمة لفحص مكتبة معينة test suite وقد وجدت إن كتابة الشفرة الفاحصة عملية معقدة وصعبة. أو من الممكن أنك قد كتبت برنامجاً واحتجت لغة خاصة لكتابة توسعات برمجية وكنت لا ترغب في تصميم وكتابة لغة برمجة من الصفر (وهي عملية قد تأخذ وقتاً طويلاً)...


...فإن بايثون هي الحل لك!

حيث إنها سهلة الإستخدام ومع ذلك فإنها لغة برمجة حقيقية توفر هيكل مناسب تماماً لكتابة برامج ضخمة ومعقدة مثلما هو مناسب لكتابة برامج صغيرة, كما إنها تعطي معلومات كاملة عن الأخطاء البرمجية التي تحدث مما يجعل من تصليح هذه الأخطاء عملية أسهل بكثير من لغة C مثلاً. وبما إنها لغة برمجة عالية المستوى جداً فإنها توفر أنواعاً متقدمة جداً من كتل البيانات مثل المصفوفات المرنة والقواميس.

كما إن بايثون اللغة نفسها قابلة للتوسيع, أي إذا كنت تعرف البرمجة بلغة C ستستطيع كتابة أي توسعة ترغب فيها لبايثون.



رغم بساطتها في العمل والتطوير إلاّ إن بايثون قد تم إستعمالاها في مجالات كثيرة جداً, بالأساس طبعاً كتابة برامج قابلة للتوزيع,ويمكن إستخدامها كنص برمجي يستخدمه برنامجك الرئيسي, كما يمكن إستخدامها للحسابات العددية, وكذلك لفحص الأنظمة,...

تجمع بايثون قدرات لغات Tcl, Perl, Java, JavaScript, VisualBasic, Scheme في حزمة واحده, وهي فوق ذلك أسهل إستخداماً وأكثر إنتاجية من جميع هذه اللغات, كما إنها تعتبر أحد لغات البرمجة القليلة التي وصفت بأنها لغة برمجة عالية المستوى جداً Very High Level Programming Language.

هنالك عدد هائل من المجالات العملية التي تم إستخدام بايثون فيها, تصوّر أن وكالة الفضاء الأمريكية NASA تستخدم لغة بايثون! إضافة إلى عدد كبير من الشركات والمؤسسات العملاقة ولجميع المجالات والإختصاصات.

تستطيع أن تجد الكثير الآلاف من توسعات بايثون البرمجية Modules في Python Package Index




ماي إس كيو إل 


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

لقد تم تصميم MySQL حول ثلاث مفاهيم رئيسية وهي السرعة و الثبات و سهولة الإستخدام ، و بالاضافة إلى ذلك أنها متاحة تحت ترخيص مفتوح المصدر GUN GPL ، مما قلدها وسام " أشهر قاعدة بيانات مفتوحة المصدر عالميا" من قبل شركتها الأم MySQL AB. ، لقد أصبحت أسماء مثل جوجل و ياهو و سيسكو و ناسا و HP من عملاء هذه القاعدة .
تاريخها


تملك MySQL تاريخا مثيرا يعود جذوره إلى عام 1979م عندما أنشئ Michael "Monty" Widenius قاعدة بيانات باسم UNIREG لشركة سويدية تدعى TcX ، ولكن هذه القاعدة لم تناسب TcX بسبب مشاكل في الأداء ، فلذا بحثت الشركة عن بديل ،و لقد حاولوا mSQL قاعدة البيانات المنافسة التي أنشئها David Hughes و لكن عندما فشلت المحاولة ؛ كان لا بد من سلوك طريق أخر ، لذا قرر Widenius إنشاء خادم قاعدة بيانات جديد ليلبي احتياجاته الخاصة و لكن بالإعتماد على الواجهة البرمجية لـ mSQL حتى يسهل نقل التطبيقات بين القاعدتين ، و لقد تم اكتمال و اطلاق هذا النظام لمجموعة صغيرة في مايو من عام 1995م تحت مسمى MySQL 1.0.
بعد شهور قليلة تم اطلاق MySQL 3.11 بشكل علني كملفات تنفيذية لنظام السولاريز ، و تلتها منصة اللينكس ( كشفرة و ملف تنفيذي ) و لقد تكفل مجتمع من المطورين المتحمسين و سياسة الترخيص الصديقة بالباقي ، و مع نمو شهرة MySQL أصبحت TcX تعرف بـ MySQL AB ، الشركة الخاصة التي تعتبر المالك الوحيد لشفرة مخدم MySQL و علامته التجارية ، و هي المسؤولة عن صيانته و الترويج له و متابعة تطويره و التطبيقات المتعلقة به ، و لقد قامت شركة صن مايكروسستم بشراء شركة MySQL AB في الآونة الأخيرة .
و يتوفر MySQL على النطاق واسع من المنصات منها اللينكس و ماكنتوش و الويندوز.
مميزات MySQL
إن تاريخ MySQL يوضح التركيز على أهم سمات نظم قواعد البيانات ألا وهما السرعة و الثبات ، مما نتج عنه نظام يبز منافسيه بدون التضحية بالإعتمادية أو سهولة الإستخدام ، و هذا يفسر حظو هذه القاعدة بولاء المطورين و المدراء و المستخدمين حول العالم ، و سوف نستعرض الآن ما يميز هذه القاعدة بشيء من التفصيل .
السرعة
في أنظمة قواعد البيانات ، تعرف السرعة بالوقت المستغرق لتنفيذ استعلام و ارجاع النتائج للمستعلم ، و هي مهمة جدا لنجاح أي نظام قاعدة بيانات ، ولقد حققت MySQL نتائج عالية في هذا المضمار بأداء أحسن من أغلب منافسيها بما فيهم الأنظمة التجارية مثل مايكروسوفت SQL Server و IBM DB2 ، إن هذا الأداء ليس مجرد صدفة ، بل نتيجة للتصميم المبدع للنظام ، فـ MySQL تستخدم بنية متعددة المهام ، و محسنات مخصصة للمهام المعقدة مثل الفهرسة و العقد ، و الإستعلامات المخبئة في الذاكرة ، كل هذا حسن من الأداء بدون الحاجة لأي برمجة مخصصة من قبل المستخدم ، و كذلك الميزة الفريدة التي تسمح باختيار محركات الحفظ مختلفة لكل جدول على حدة مما يسمح للمستخدمين بخلط و انتقاء مجموعات مختلفة من المميزات لتعطي أقصى أداء ممكن من النظام.
الإعتمادية
عندما نأتي للإعتمادية ، فإن MySQL ذات سجل ناصع في هذا المجال ، إن MySQL هو نظام قاعدة بيانات مختبر و مصدق للإستعمال في تطبيقات ذات المهام الحرجة و عالية الحمل من قبل أكبر المؤسسات في العالم بما فهن ناسا و HP و ياهو ، و الأن MySQL لها جذور عميقة في مجتمع المصادر الحرة ؛ فإن كل اصدار يختبر بواسطة المستخدمين حول العالم على مختلف أنظمة التشغيل و مختلف ظروف التشغل ليتم التأكد من أنها خالية العلل قبل المصادقة على استخدامها ، و أكثر من ذلك فإن كل اصدارة من MySQL يجب أولا أن تجتاز طقم الإختبار المعد لـ MySQL و الذي يسمى "حطمني " crash me ، و هدفه الأساسي هو محاولة جعل النظام ينهار .
الأمن
إن الأمن من الأشياء المهمة عند التعامل مع قاعدة بيانات متعددة المستخدمين ، و لقد أخذ مطوروا MySQL هذا المجال باهتمام كبير ليضمنوا أن MySQL أمنة قدر الإمكان ، تأتي MySQL بنظام معقد للتحكم بالوصول و نظام صلاحيات ليمنع المستخدمين غير المصرحين من الوصول إلى قاعدة البيانات ، هذا النظام طبق على شكل خمس طبقات من الصلاحيات بشكل هرمي ، مما يمكن مدراء MySQL من حماية الوصول إلى البيانات الحساسة ، ويمكن حد المستخدمين ليؤدوا العمليات على قواعد بيانات معينة أو حقول معينة فقط ، و تسمح MySQL أيضا بإمكانية التحكم في أنواع الإستعلامات التي يمكن للمستخدم أن يشغلها على مستوى قاعدة البيانات أو الجدول أو الحقل.
القابلية للتوسع و النقل
تستطيع MySQL أن تتعامل مع قواعد بيانات مقعدة و ضخمة بشكل كبير بدون أن تفقد الشيء الكثير من أدائها ، إن الجداول ذات حجوم تقاس بجيجا بايت و تحوى على مئات الألوف من السجلات ليست نادرة في MySQL ، و أبسط مثال على ذلك أن موقع MySQL بنفسه يستخدم قاعدة بيانات تحوي 50 مليون سجل ، وحتى عندما تمتلئ الجداول بالبيانات فيمكنك أن تنقلها من منصة إلى أخرى بدون أي مشاكل ، حيث أن MySQL متوفرة لكلا أنظمة اليونكس و غير اليونكس بما فيها اللينكس و سولاريز و FreeBSD و OS/2 و ماكنتوش و ويندوز 95 و 98 و Me و 2000 و XP و NT و غيرها ، و هي كذلك تعمل على نطاق عريض من بنى المعالجات مثل Intel x86 و ألفا و سبارك و PowerPC و IA64 .
سهولة الإستخدام
إن أغلب أنظمة قواعد البيانات التجارية تخوفك بواجهتها السطرية الملغزة و المئات من معاملات التضبيط ، و كلما زادت درجة التعقيد زادت تكلفة الإجمالية لتملك قاعدة بيانات ، فلذا أخذ فريق تطوير MySQL على عاتقه مهمة تسهيل استخدام و إدارة و تحسين أداء MySQL ، إن الواجهة الأساسية لمخدم MySQL هي واجهة سطرية بسيطة ، و يوجد عميلين رسوميين للمستخدمين الذي يفضلون الواجهات الرسومية و هما MySQL Control Center و MySQL Administrator ، و الذان طورا من قبل شركة MySQL AB لإستخدام و ادارة MySQL ، و يوجد هناك العديد من التطبيقات التي تعمل في متصفحات الإنترنت و غيرها من التطبيقات التي تسهل علمية ادارة قاعدة البيانات MySQL .
التوافق مع المعايير الموجودة
إن MySQL تدعم أغلب الخصائص المهمة الموجودة في معيار ANSI SQL-99 ، وهي تضيف المزيد من الدعم لمثل هذه المعايير مع كل اصدارة ، و توسع MySQL معاير ANSI لتضيف دوال مخصصة و أنواع من البيانات مصممة لتحسين القابلية للنقل و تعطي المستخدمين المزيد من الوظائف ، و من جهة دعم اليونكود و مجموعات المحارف فهي تقدم دعم جيدا و تحسنه مع كل اصدارة .
دعم عريض من التطبيقات
تقدم MySQL واجهة برمجية لمختلف لغات البرمجة لتمكنك من كتابة تطبيقات قواعد البيانات باللغة التي تختارها فهي تدعم PHP و جافا و سي و سي ++ و بيرل و بايثون و Tcl وغيرها لتعطي المطورين الحرية القصوى في تصميم التطبيقات التي تعمد على MySQL .
سياسة ترخيص سهل
تم ترخيص نظام قاعدة البيانات MySQL تحت رخصة GPL ، والتي تسمح للمستخدمين بحرية التنزيل و الإستخدام و تعديل شفرة المصدر لحسب احتياجتهم كل ذلك مجانا ، و لقد ساعدت هذه السياسة على زيادة شهرة MySQL و إنشاء مجتمع من المتحمسين لها حول العالم من المستخدمين و المطورين ، و يلعب هذا المجتمع دورا حيويا في جعل MySQL متقدمة على منافسيها سواء باختبار مستوى اعتماديتها و خلوها من العلل أو بتوسيع محركاتها الأساسية لتبقى مواكبة لأخرى التقنيات و التطويرات.
كذلك يوجد ترخيص أخرى يسمح للتطبيقات التجارية التي لا تتوافق مع شروط GPL ، بالعمل على قاعدة MySQL .
مستخدمون من أرض الواقع
لقدت أصبحت MySQL الخيار الأفضل لتطوير تطبيقات الويب 2 ، و هنا نستعرض بعض التطبيقات التي تعمد على MySQL :
- موقع يوتيوب المشهور
- تطبيق لمحافظة على المعلومات الفورية عن مستخدمي شبكة الهاتف لشركة نوكيا
- موقع فليكر الذي يدير الملايين من الصور و المستخدمين

 

 

 نبذة عن الكورس

اسم الدورة :- mysql+Pytion

شرح المهندس:- عبد الله عيد

المصدر:- شبكة عبدالله عيد

الكورس مكون من 14 درس

 عدد ساعات الكورس :- ساعة و 50 دقيقة

 
برجاء الضغط على PlayList للتنقل بين دروس الكورس


0 التعليقات:

Post a Comment