SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
‫تعريف ببعض أدوات مبرمج ‪PHP‬‬
‫في عالم البرمجيات الحرة المفتوحة المصدر‬
               ‫م. خالد الشمعة‬
‫نقاط هذا العرض التقديمي‬
                            ‫مشروع ‪ PHP‬واللغة العربية‬    ‫•‬
            ‫نظام ‪ CVS‬لحفظ وإدارة الشيفرة المصدرية‬       ‫•‬
    ‫نظام ‪ PHPUnits‬لمتمتة عمليات الفحص والتختبار‬         ‫•‬
 ‫نظام ‪ PHPDocumentor‬لمتمتة عملية متوثيق الشيفرة‬         ‫•‬
                                             ‫المصدرية‬
                                      ‫تخلصة ومتوصيات‬    ‫•‬
‫مشروع ‪ PHP‬واللغة العربية‬
‫• مكتبة مفتوحئة المصئدر متتضمن مجموعئة من الوظائئف الخاصة‬
‫باللغئة العربيئة منهئا علئى سئبيل المثال ل الحصئر: البحئث بدللة‬
‫ساق الكلمة والتلخيص اللي ومتحويل ما بين التأريخين الهجري‬
‫والميلدي والترجمة اللفظية ما بين الكلمات العربية والنجليزية.‬
             ‫لللطلع على المزيد: ‪http://www.ar-php.org‬‬

  ‫• 7002-6002 البناء البرمجي والنشر على ‪phpclasses.org‬‬

          ‫• 8002 :‪PHP5، sourceforge.org‬متحسين الداء ،‬
                         ‫‪PEAR‬‬
‫شروط النضمام إلى ‪PEAR‬‬
‫• ضرورة حفظ وإدارة الشيفرة المصدرية على مخدم ‪ CVS‬متاح‬
                 ‫على شبكة الويب )‪(Sourceforge.net‬‬

‫• ضرورة إلحاق برنامج يقوم باتختبار كافة مزايا وتخدمات المكتبة‬
                              ‫بشكل آلي مؤمتمت )‪(PHPUnit‬‬

     ‫• ضرورة متوفير متوثيق معياري للشيفرة المصدرية الخاصة‬
             ‫بالمكتبة المراد إضافتها )‪(phpDocumentor‬‬
‫مخدم ‪CVS‬‬
‫ما هو نظام ‪CVS‬؟‬
‫• نظام الصئئدارات المتزامنئئة ‪ CVS‬لحفظ الشيفرة‬
‫المصئدرية هئو نظام مجانئي مفتوح المصئدر قائئم على‬
                             ‫هيكلية المخدم / الزبون.‬

‫• يستخدم هذا النظام آلية الدمج للتعديلت التي يجريها عدة‬
‫مطوريئن، بعكئس نموذج القفئل الذي يسئمح لمطور واحد‬
                   ‫فقط بإجراء التعديلت في كل مرة.‬
‫نظام ‪ CVS‬والمشاريع المفتوحة المصدر‬
‫• إن كنت مبرمجا متطمح للمساهمة يوما ما في أي مشروع‬
‫برمجئي مفتوح المصئدر، لبئد لئك مئن أئن متتقئن لطريقة‬
‫التعامئل مئع مخدم ‪ CVS‬لتكون قادرا علئى استخراج‬
‫الشيفرة المصئدرية والحصئول عليهئا، فتقوم بعئد ذلك‬
‫بإضافة متعديلمتك إليها، ومن ثم إيداع متلك التعديلت التي‬
‫أضفتهئا مجددا فئي مكنئز الشيفرة المصئدرية الصلية‬
‫للمشروع، لتصئئبح جزءئئا منئئه ومتكون بالتالئئي متاحة‬
                                              ‫للتخرين.‬
‫أين يمكن استخدام نظام ‪CVS‬؟‬
‫• مئن ناحيئة المبدأ فإئن أئي مشروع مؤلئف مئن عدة ملفات يمكنه‬
‫السئتفادة مئن تخدمات نظام ‪ CVS‬مثئل: متطويئر الئبرمجيات أو‬
                             ‫مواقع الويب أو مشاريع التوثيق.‬

       ‫• متطبق مزايا نظام ‪ CVS‬على الملفات النصية فقط مثل:‬
                                     ‫• ملفات ‪HTML‬‬
                  ‫• ملفات ‪(RTF (Rich Text Format‬‬
       ‫• ملفات الشيفرة المصدرية مثل ‪ PHP‬أو ‪ C‬أو ‪Java‬‬
                                 ‫• ملفات ‪ XML‬و ‪SQL‬‬
‫كيف يعمل نظام ‪CVS‬؟ )1(‬
                         ‫يوجد مكنز ‪ repository‬على مخدم ما.‬          ‫•‬
‫يستخرج ‪ checkout‬كل من المطورين نسخة عمل ‪working‬‬                     ‫•‬
                                    ‫‪ copy‬على أنظمتهم المحلية.‬
‫يقوم المطورون بإجراء التعديلت على نسخة العمل المحلية التي‬           ‫•‬
                                      ‫متخصهم بطريقتهم المعتادة.‬
‫عند إنتهاء العمل على التعديل الذي يقومون به، عليهم أول إجراء‬        ‫•‬
‫عمليئة متحديئث ‪ update‬لنسئخة العمئل لديهئم لتدمئج فيها متعديلت‬
‫المطورين التخرين التي متم إيداعها في المكنز تخلل فترة العمل‬
                                                     ‫على التعديل.‬
‫كيف يعمل نظام ‪CVS‬؟ )2(‬
‫• بعئد إمتمام التعديلت وإنجاز عمليئة التحديث بنجاح يقوم المطور‬
‫بإيداع ‪ commit‬التعديلت التي قام بها في المكنز ليتم دمجها في‬
                                     ‫النسخة الصلية للمشروع.‬

‫• إن قام مطورين بتعديل ذات السطر البرمجي بشكل مستقل، حينها‬
‫ستفشل عملية اليداع، ويتلقى المطور التخير الذي يحاول اليداع‬
‫ملحظئة متفيئد بحدوث حالئة متعارض ‪ ،conflict‬ويتوجئب عليه‬
‫حينهئا حئل هذا التعارض بشكئل يدوي قبئل أئن يكون قادرا على‬
                                     ‫إيداع متعديلمته من جديد.‬
‫ما هي فوائد استخدام نظام ‪CVS‬؟ )1(‬
‫• يسئمح لعدة مطوريئن بالعمئل بشكئل مسئتقل علئى ذات مجموعة‬
      ‫الملفات، ليتم لحقا دمج متعديلمتهم في المكنز المركزي.‬

‫• يسئمح لئك بتتبئع مئن قام بإجراء التعديلت، و أيئن هئي متلك‬
‫التعديلت، و متى متم إجراؤها. كما يمكنك معرفة لماذا أجريت‬
‫متلك التعديلت إن إلتزم المطورون بإضافة متعليقات مفيدة مع كل‬
                                   ‫عملية إيداع يقومون بها.‬

‫• دليئل قوي فئي المحكمئة لثبات متطويئر البرمجيئة من تخلل‬
                                ‫عرض مراحل متطويرها.‬
‫ما هي فوائد استخدام نظام ‪CVS‬؟ )2(‬
‫• يقوم هذا النظام بحفظ الملفات ضمن مكنز مركزي، مع متوفير‬
‫نسئخ احتيالطيئة موزعئة علئى أنظمئة المطوريئن المحليئة )نسخ‬
                  ‫العمل التي سبق أن استخرجوها من المكنز(.‬

‫• متمكيئن فرق العمئل المنتشرة جغرافيئا مئن العمئل على ذات‬
       ‫المشروع )كما هي حال المشاريع المفتوحة المصدر(.‬

‫• حفئظ كافئة الصئدارات بدءئا مئن متاريئخ اسئتخدام النظام، على‬
‫عكس أسلوب النسخ الحتيالطي حيث نتخلص عادة من النسخ‬
                                             ‫القديمة بعد فترة.‬
‫ما هي فوائد استخدام نظام ‪CVS‬؟ )3(‬
‫• إمكانية متوليد متقرير يوضح مراحل متطور المشروع عبر الزمن‬
                          ‫لستقراء فعالية عملية التطوير.‬

‫• متوفير إمكانية التراجع عن أي من التعديلت التي متمت تخلل أي‬
‫فترة زمنيئة بسئهولة و اسئترجاع حالئة الملفات كمئا كانئت قبل‬
                                               ‫متاريخ معين.‬

‫• القتصئاد فئي اسئتخدام عرض نطاق المتصئال الشبكئي المتوفر‬
‫ومساحة التخزين على المخدم من تخلل حفظ التعديلت نسبة‬
                                ‫إلى الصدار السابق فقط.‬
‫ما ل يقوم به نظام ‪!CVS‬‬
‫• ل يعتئئبر نظام ‪ CVS‬وسئئيلة للمتصئئال بيئئن أعضاء الفريق‬
                       ‫البرمجي، وليس بديل للعمل الجماعي.‬

‫• ل يعتبر نظام ‪ CVS‬نظاما تخاصا بتتبع التخطاء ومتابعة عملية‬
                                               ‫إصلحها.‬

‫• ل يوفئئر نظام ‪ CVS‬أئئي أدوات لفحئئص الشيفرة البرمجية‬
                                           ‫وإتختبارها.‬
‫إطار عمل ‪PHPUnit‬‬
‫لتمتة الفحص والتختبار‬
‫ضرورة عمليات الفحص والختبار‬
‫• إن كل من مارس البرمجة يعلم متماما أن الوقوع في التخطاء هو‬
                                             ‫أمر ل مفر منه.‬
‫• علئى المئبرمج المحترف أئن يخطئط مسئبقا لتفحص التخطاء‬
‫والمواظبة على اتختبار ما يكتبه من شيفرات برمجية سعيا وراء‬
‫اصطياد مبكر للتخطاء مما يعزز من فرص اكتشافها ويقلل من‬
                                              ‫كلفة إصلحها.‬
 ‫• متعتئئبر عمليات التختبار متلئئك واحدا مئئن الركان الساسية‬
‫لعمليات مراقبئة وضبئط الجودة التئي ل غنئى عنهئا فئي عالم‬
                                                  ‫الحتراف.‬
‫ما هو برنامج ‪PHPUnit‬؟‬
‫• إلطار عمئل بسئيط وسئهل السئتخدام يسئاعد المئبرمج على بناء‬
  ‫ومتنفيذ عمليات الفحص والتختبار المؤمتمتة للوحدات البرمجية.‬

‫• إن برنامج ‪ PHPUnit‬هو فرد من عائلة مكتبة ‪ ،PEAR‬فإن‬
‫لئم يكئن متوفئر علئى المخدم الذي متسئتخدمه، يمكنئك متنصيبه‬
  ‫ببسالطة من تخلل متنفيذ التعليمتين التاليتين في سطر الوامر:‬

‫‪pear channel-discover pear.phpunit.de‬‬
‫‪pear install phpunit/PHPUnit‬‬
‫‪PHPUnit‬والمشاريع المفتوحة المصدر‬
‫• إئن إلحاق شيفرات التختبارات المؤمتمتئة بأئي برمجية حرة‬
‫مفتوحة المصدر متمكن المستخدم من التحقق من صحة عمل متلك‬
‫البرمجيئة علئى منصئته ويمنحئه مزيدا مئن الثقئة بهئا كون فريق‬
‫العمل المعني بتطويرها يتبع إجراءات ضمان الجودة المتعارف‬
                                                      ‫عليها.‬

‫• إن فائدة متوفر مثل هذه التختبارات المؤمتمتة يساعد أيضا كل‬
‫مئن يحاول متعديئل أئو متطويئر برمجيئة مئا علئى التأكئد مئن أن‬
‫التغييرات التئي قام بهئا لئم متتسئبب فئي ظهور أئي تخلئل فئي بقية‬
                                                ‫أرجاء البرمجية.‬
‫كيف يعمل ‪PHPUnit‬؟ )1(‬
‫• قد متبدو عملية متصميم وبناء التختبارات المؤمتمتة مستهلكة للوقت،‬
 ‫لكن هذا النطباع تخالطئ، فبناء اتختبار جديد باستخدام إلطار عمل‬
‫‪ PHPUnit‬ل يستغرق أكثر من بضع عشرات من الدقائق، كما‬
                             ‫أن متنفيذ التختبار ذامته يتم في ثوان.‬
‫كيف يعمل‬
‫‪PHPUnit‬؟ )2(‬
‫كيف يعمل ‪PHPUnit‬؟ )3(‬
‫برنامج ‪phpDocumentor‬‬
 ‫لتوثيق الشيفرة المصدرية‬
‫ما هو برنامج ‪phpDocumentor‬؟‬
‫• يعد التوثيق المتكامل والوافي واحدا من أهم سمات الحترافية في‬
‫العمل البرمجي، لكنه من جهة أتخرى يصنف على أنه واحد من‬
‫المهام التي متصيب معظم المبرمجين بالملل كونه يستهلك الكثير‬
‫من الوقت الذي يصرف بعيدا عن محبوبتهم البرمجة، لذا وجب‬
‫على المبرمج المحترف أن يجد حل وسطا ما بين شغف البرمجة‬
                                                ‫ورصانة التوثيق.‬
‫• يهدف ‪ phpDocumentor‬إلئى مسئاعدة المئبرمجين علئى متوليد‬
‫متوثيق معياري بشكل شبه آلي إنطلقا مما يكتبونه من ملحظات‬
‫ومتعليقات بيئن ثنايئا شيفرامتهئم المصئدرية شريطئة إمتباعهئم لطريقة‬
                       ‫معينة في كتابة متلك الملحظات والتعليقات‬
(1) ‫؟‬phpDocumentor ‫كيف يعمل‬
‫كيف يعمل‬
phpDocumentor
    ((2
(3) ‫؟‬phpDocumentor ‫كيف يعمل‬
phpdoc -o HTML:Smarty:PHP -d ArPHP -t Docs

phpdoc -o CHM:default:default -d ArPHP -t Docs

phpdoc -o PDF:default:default -d ArPHP -t Docs

f Filename-

ti Title-
‫مثال عن التوثيق الناتج‬
‫خلصة وتوصيات‬
‫• إئن التعريئف بالدوات المسئاعدة فئي كئل من عمليات إدارة‬
 ‫الشيفرة المصئئدرية وأمتمتئئة التختبارات ومتوثيق الشيفرة‬
‫المصئدرية هئي مسئألة ل متقئل أهميئة عئن إمتقان لغئة البرمجة‬
                                             ‫المستخدمة ذامتها.‬
‫• إئئن الحتراف ومتطلبات العمئئل الجماعئئي والمسئئاهمة في‬
‫البرمجيات الحرة المفتوحة المصدر متتطلب مهارات ل متنحصر‬
                        ‫بمجرد صقل موهبة التحليل والبرمجة.‬
‫• لذا أرى أئن متضاف مثئل هذه الدوات إلئى السئياق المتبئع في‬
           ‫المناهج التعليمية التي متؤهل كوادرنا من المبرمجين.‬
‫شكرا لحضوركم‬
www.ar-php.org

Mais conteúdo relacionado

Destaque

How to Shop for and Get the Best Home Loan Rates in 2014
How to Shop for and Get the Best Home Loan Rates in 2014How to Shop for and Get the Best Home Loan Rates in 2014
How to Shop for and Get the Best Home Loan Rates in 2014Eric Kandell
 
The VA Hybrid Loan and the CMT Index
The VA Hybrid Loan and the CMT IndexThe VA Hybrid Loan and the CMT Index
The VA Hybrid Loan and the CMT IndexEric Kandell
 
The Rise of the Real Mom
The Rise of the Real MomThe Rise of the Real Mom
The Rise of the Real MomJody Thomas
 
Cloud Computing: the last step in IT commoditisation
Cloud Computing: the last step in IT commoditisationCloud Computing: the last step in IT commoditisation
Cloud Computing: the last step in IT commoditisationISPABelgium
 
RSpecのここがすごい!
RSpecのここがすごい!RSpecのここがすごい!
RSpecのここがすごい!mitim
 
Deloitte - Assistive Ict Workshop Presentation
Deloitte -  Assistive Ict   Workshop PresentationDeloitte -  Assistive Ict   Workshop Presentation
Deloitte - Assistive Ict Workshop Presentationsvdpeijl
 
McKersie Wealth Management
McKersie Wealth ManagementMcKersie Wealth Management
McKersie Wealth Managementjmckersie
 
Get Your Business Found on Google! (Bahasa Indonesia)
Get Your Business Found on Google! (Bahasa Indonesia)Get Your Business Found on Google! (Bahasa Indonesia)
Get Your Business Found on Google! (Bahasa Indonesia)jkairupan
 
Food Waste And Hunger
Food Waste And HungerFood Waste And Hunger
Food Waste And Hungerstudent
 
Scholars and knowledge in the 21st century
Scholars and knowledge in the 21st centuryScholars and knowledge in the 21st century
Scholars and knowledge in the 21st centuryRoxanne Missingham
 

Destaque (20)

How to Shop for and Get the Best Home Loan Rates in 2014
How to Shop for and Get the Best Home Loan Rates in 2014How to Shop for and Get the Best Home Loan Rates in 2014
How to Shop for and Get the Best Home Loan Rates in 2014
 
Energiebesparing met prestatiecontracten
Energiebesparing met prestatiecontractenEnergiebesparing met prestatiecontracten
Energiebesparing met prestatiecontracten
 
Noticias tel mayo 2011
Noticias tel mayo 2011Noticias tel mayo 2011
Noticias tel mayo 2011
 
FUSIONERA MakerFaire Taipei 2015 Masakazu Takasu ( Interactive Design from te...
FUSIONERA MakerFaire Taipei 2015 Masakazu Takasu ( Interactive Design from te...FUSIONERA MakerFaire Taipei 2015 Masakazu Takasu ( Interactive Design from te...
FUSIONERA MakerFaire Taipei 2015 Masakazu Takasu ( Interactive Design from te...
 
The VA Hybrid Loan and the CMT Index
The VA Hybrid Loan and the CMT IndexThe VA Hybrid Loan and the CMT Index
The VA Hybrid Loan and the CMT Index
 
The Rise of the Real Mom
The Rise of the Real MomThe Rise of the Real Mom
The Rise of the Real Mom
 
Cloud Computing: the last step in IT commoditisation
Cloud Computing: the last step in IT commoditisationCloud Computing: the last step in IT commoditisation
Cloud Computing: the last step in IT commoditisation
 
Terra do espaco
Terra do espacoTerra do espaco
Terra do espaco
 
Energy Performance of Buildings Directive en EPBD recast
Energy Performance of Buildings Directive en EPBD recastEnergy Performance of Buildings Directive en EPBD recast
Energy Performance of Buildings Directive en EPBD recast
 
RSpecのここがすごい!
RSpecのここがすごい!RSpecのここがすごい!
RSpecのここがすごい!
 
Deloitte - Assistive Ict Workshop Presentation
Deloitte -  Assistive Ict   Workshop PresentationDeloitte -  Assistive Ict   Workshop Presentation
Deloitte - Assistive Ict Workshop Presentation
 
Informatica client
Informatica clientInformatica client
Informatica client
 
McKersie Wealth Management
McKersie Wealth ManagementMcKersie Wealth Management
McKersie Wealth Management
 
Seatel
SeatelSeatel
Seatel
 
Get Your Business Found on Google! (Bahasa Indonesia)
Get Your Business Found on Google! (Bahasa Indonesia)Get Your Business Found on Google! (Bahasa Indonesia)
Get Your Business Found on Google! (Bahasa Indonesia)
 
Food Waste And Hunger
Food Waste And HungerFood Waste And Hunger
Food Waste And Hunger
 
Malmberg en Beeld en Geluid 070411
Malmberg en Beeld en Geluid 070411Malmberg en Beeld en Geluid 070411
Malmberg en Beeld en Geluid 070411
 
3sixtycom credentials feb2014
3sixtycom credentials feb20143sixtycom credentials feb2014
3sixtycom credentials feb2014
 
Scholars and knowledge in the 21st century
Scholars and knowledge in the 21st centuryScholars and knowledge in the 21st century
Scholars and knowledge in the 21st century
 
duurzaam gebouwbeheer met de Milieubarometer
duurzaam gebouwbeheer met de Milieubarometerduurzaam gebouwbeheer met de Milieubarometer
duurzaam gebouwbeheer met de Milieubarometer
 

Semelhante a PHP Developer Tools - Arabic

النظم مفتوحة المصدر -- محمد الزلباني
النظم مفتوحة المصدر -- محمد الزلبانيالنظم مفتوحة المصدر -- محمد الزلباني
النظم مفتوحة المصدر -- محمد الزلبانيLibrary Experts
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقوlunarhalo
 
أنظمة إدارة المحتوى
أنظمة إدارة المحتوىأنظمة إدارة المحتوى
أنظمة إدارة المحتوىEhab Saad Ahmad
 
C++python الفرق بين البايثون والسي بلس بلس
C++python الفرق بين البايثون والسي بلس بلسC++python الفرق بين البايثون والسي بلس بلس
C++python الفرق بين البايثون والسي بلس بلسAbdulaziz2019
 
أدوات مفتوحة المصدر لـ DevOps.pdf
أدوات مفتوحة المصدر لـ DevOps.pdfأدوات مفتوحة المصدر لـ DevOps.pdf
أدوات مفتوحة المصدر لـ DevOps.pdfBahaa Al Zubaidi
 
نظام كوها المتكامل لإدارة المكتبات
نظام كوها المتكامل لإدارة المكتباتنظام كوها المتكامل لإدارة المكتبات
نظام كوها المتكامل لإدارة المكتباتmohamed Elzalabany
 
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عنومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عنkhalifahezzaldeen502
 
عرض الوحدة الرابعة مقدمة في البرمجة
عرض الوحدة الرابعة مقدمة في البرمجةعرض الوحدة الرابعة مقدمة في البرمجة
عرض الوحدة الرابعة مقدمة في البرمجةwafa210
 
بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
 بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة  بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة lunarhalo
 
OTechs IT Package Training Course
OTechs IT Package Training CourseOTechs IT Package Training Course
OTechs IT Package Training CourseOsman Suliman
 
إدارة النص Amman ttالمصدري
إدارة النص Amman ttالمصدريإدارة النص Amman ttالمصدري
إدارة النص Amman ttالمصدريOmar Qadan
 
نظم التشغيل.ppt
نظم التشغيل.pptنظم التشغيل.ppt
نظم التشغيل.pptAymenAyari10
 
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحترافالبرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحترافMohamed E. Saleh
 
Software engineering final
Software engineering finalSoftware engineering final
Software engineering finalHamauniversity
 
Software engineering final
Software engineering finalSoftware engineering final
Software engineering finalHamauniversity
 
Software engineering final
Software engineering finalSoftware engineering final
Software engineering finalHamauniversity
 

Semelhante a PHP Developer Tools - Arabic (20)

النظم مفتوحة المصدر -- محمد الزلباني
النظم مفتوحة المصدر -- محمد الزلبانيالنظم مفتوحة المصدر -- محمد الزلباني
النظم مفتوحة المصدر -- محمد الزلباني
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقو
 
أنظمة إدارة المحتوى
أنظمة إدارة المحتوىأنظمة إدارة المحتوى
أنظمة إدارة المحتوى
 
C++python الفرق بين البايثون والسي بلس بلس
C++python الفرق بين البايثون والسي بلس بلسC++python الفرق بين البايثون والسي بلس بلس
C++python الفرق بين البايثون والسي بلس بلس
 
أدوات مفتوحة المصدر لـ DevOps.pdf
أدوات مفتوحة المصدر لـ DevOps.pdfأدوات مفتوحة المصدر لـ DevOps.pdf
أدوات مفتوحة المصدر لـ DevOps.pdf
 
نظام كوها المتكامل لإدارة المكتبات
نظام كوها المتكامل لإدارة المكتباتنظام كوها المتكامل لإدارة المكتبات
نظام كوها المتكامل لإدارة المكتبات
 
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عنومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
 
عرض الوحدة الرابعة مقدمة في البرمجة
عرض الوحدة الرابعة مقدمة في البرمجةعرض الوحدة الرابعة مقدمة في البرمجة
عرض الوحدة الرابعة مقدمة في البرمجة
 
بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
 بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة  بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
 
OTechs IT Package Training Course
OTechs IT Package Training CourseOTechs IT Package Training Course
OTechs IT Package Training Course
 
إدارة النص Amman ttالمصدري
إدارة النص Amman ttالمصدريإدارة النص Amman ttالمصدري
إدارة النص Amman ttالمصدري
 
cmsهام.pptx
cmsهام.pptxcmsهام.pptx
cmsهام.pptx
 
نظم التشغيل.ppt
نظم التشغيل.pptنظم التشغيل.ppt
نظم التشغيل.ppt
 
Process activities.pptx
Process activities.pptxProcess activities.pptx
Process activities.pptx
 
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحترافالبرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
 
Software engineering final
Software engineering finalSoftware engineering final
Software engineering final
 
Software engineering final
Software engineering finalSoftware engineering final
Software engineering final
 
Software engineering final
Software engineering finalSoftware engineering final
Software engineering final
 
9 networking
9 networking9 networking
9 networking
 
ch2.pptx
ch2.pptxch2.pptx
ch2.pptx
 

Mais de Khaled Al-Shamaa

Mais de Khaled Al-Shamaa (7)

PHP and Arabic Language Project
PHP and Arabic Language ProjectPHP and Arabic Language Project
PHP and Arabic Language Project
 
R Language Introduction
R Language IntroductionR Language Introduction
R Language Introduction
 
Advanced Excel, Day 5
Advanced Excel, Day 5Advanced Excel, Day 5
Advanced Excel, Day 5
 
Advanced Excel, Day 4
Advanced Excel, Day 4Advanced Excel, Day 4
Advanced Excel, Day 4
 
Advanced Excel, Day 3
Advanced Excel, Day 3Advanced Excel, Day 3
Advanced Excel, Day 3
 
Advanced Excel, Day 2
Advanced Excel, Day 2Advanced Excel, Day 2
Advanced Excel, Day 2
 
Advanced Excel, Day 1
Advanced Excel, Day 1Advanced Excel, Day 1
Advanced Excel, Day 1
 

PHP Developer Tools - Arabic

  • 1. ‫تعريف ببعض أدوات مبرمج ‪PHP‬‬ ‫في عالم البرمجيات الحرة المفتوحة المصدر‬ ‫م. خالد الشمعة‬
  • 2. ‫نقاط هذا العرض التقديمي‬ ‫مشروع ‪ PHP‬واللغة العربية‬ ‫•‬ ‫نظام ‪ CVS‬لحفظ وإدارة الشيفرة المصدرية‬ ‫•‬ ‫نظام ‪ PHPUnits‬لمتمتة عمليات الفحص والتختبار‬ ‫•‬ ‫نظام ‪ PHPDocumentor‬لمتمتة عملية متوثيق الشيفرة‬ ‫•‬ ‫المصدرية‬ ‫تخلصة ومتوصيات‬ ‫•‬
  • 3. ‫مشروع ‪ PHP‬واللغة العربية‬ ‫• مكتبة مفتوحئة المصئدر متتضمن مجموعئة من الوظائئف الخاصة‬ ‫باللغئة العربيئة منهئا علئى سئبيل المثال ل الحصئر: البحئث بدللة‬ ‫ساق الكلمة والتلخيص اللي ومتحويل ما بين التأريخين الهجري‬ ‫والميلدي والترجمة اللفظية ما بين الكلمات العربية والنجليزية.‬ ‫لللطلع على المزيد: ‪http://www.ar-php.org‬‬ ‫• 7002-6002 البناء البرمجي والنشر على ‪phpclasses.org‬‬ ‫• 8002 :‪PHP5، sourceforge.org‬متحسين الداء ،‬ ‫‪PEAR‬‬
  • 4. ‫شروط النضمام إلى ‪PEAR‬‬ ‫• ضرورة حفظ وإدارة الشيفرة المصدرية على مخدم ‪ CVS‬متاح‬ ‫على شبكة الويب )‪(Sourceforge.net‬‬ ‫• ضرورة إلحاق برنامج يقوم باتختبار كافة مزايا وتخدمات المكتبة‬ ‫بشكل آلي مؤمتمت )‪(PHPUnit‬‬ ‫• ضرورة متوفير متوثيق معياري للشيفرة المصدرية الخاصة‬ ‫بالمكتبة المراد إضافتها )‪(phpDocumentor‬‬
  • 6. ‫ما هو نظام ‪CVS‬؟‬ ‫• نظام الصئئدارات المتزامنئئة ‪ CVS‬لحفظ الشيفرة‬ ‫المصئدرية هئو نظام مجانئي مفتوح المصئدر قائئم على‬ ‫هيكلية المخدم / الزبون.‬ ‫• يستخدم هذا النظام آلية الدمج للتعديلت التي يجريها عدة‬ ‫مطوريئن، بعكئس نموذج القفئل الذي يسئمح لمطور واحد‬ ‫فقط بإجراء التعديلت في كل مرة.‬
  • 7. ‫نظام ‪ CVS‬والمشاريع المفتوحة المصدر‬ ‫• إن كنت مبرمجا متطمح للمساهمة يوما ما في أي مشروع‬ ‫برمجئي مفتوح المصئدر، لبئد لئك مئن أئن متتقئن لطريقة‬ ‫التعامئل مئع مخدم ‪ CVS‬لتكون قادرا علئى استخراج‬ ‫الشيفرة المصئدرية والحصئول عليهئا، فتقوم بعئد ذلك‬ ‫بإضافة متعديلمتك إليها، ومن ثم إيداع متلك التعديلت التي‬ ‫أضفتهئا مجددا فئي مكنئز الشيفرة المصئدرية الصلية‬ ‫للمشروع، لتصئئبح جزءئئا منئئه ومتكون بالتالئئي متاحة‬ ‫للتخرين.‬
  • 8. ‫أين يمكن استخدام نظام ‪CVS‬؟‬ ‫• مئن ناحيئة المبدأ فإئن أئي مشروع مؤلئف مئن عدة ملفات يمكنه‬ ‫السئتفادة مئن تخدمات نظام ‪ CVS‬مثئل: متطويئر الئبرمجيات أو‬ ‫مواقع الويب أو مشاريع التوثيق.‬ ‫• متطبق مزايا نظام ‪ CVS‬على الملفات النصية فقط مثل:‬ ‫• ملفات ‪HTML‬‬ ‫• ملفات ‪(RTF (Rich Text Format‬‬ ‫• ملفات الشيفرة المصدرية مثل ‪ PHP‬أو ‪ C‬أو ‪Java‬‬ ‫• ملفات ‪ XML‬و ‪SQL‬‬
  • 9. ‫كيف يعمل نظام ‪CVS‬؟ )1(‬ ‫يوجد مكنز ‪ repository‬على مخدم ما.‬ ‫•‬ ‫يستخرج ‪ checkout‬كل من المطورين نسخة عمل ‪working‬‬ ‫•‬ ‫‪ copy‬على أنظمتهم المحلية.‬ ‫يقوم المطورون بإجراء التعديلت على نسخة العمل المحلية التي‬ ‫•‬ ‫متخصهم بطريقتهم المعتادة.‬ ‫عند إنتهاء العمل على التعديل الذي يقومون به، عليهم أول إجراء‬ ‫•‬ ‫عمليئة متحديئث ‪ update‬لنسئخة العمئل لديهئم لتدمئج فيها متعديلت‬ ‫المطورين التخرين التي متم إيداعها في المكنز تخلل فترة العمل‬ ‫على التعديل.‬
  • 10. ‫كيف يعمل نظام ‪CVS‬؟ )2(‬ ‫• بعئد إمتمام التعديلت وإنجاز عمليئة التحديث بنجاح يقوم المطور‬ ‫بإيداع ‪ commit‬التعديلت التي قام بها في المكنز ليتم دمجها في‬ ‫النسخة الصلية للمشروع.‬ ‫• إن قام مطورين بتعديل ذات السطر البرمجي بشكل مستقل، حينها‬ ‫ستفشل عملية اليداع، ويتلقى المطور التخير الذي يحاول اليداع‬ ‫ملحظئة متفيئد بحدوث حالئة متعارض ‪ ،conflict‬ويتوجئب عليه‬ ‫حينهئا حئل هذا التعارض بشكئل يدوي قبئل أئن يكون قادرا على‬ ‫إيداع متعديلمته من جديد.‬
  • 11. ‫ما هي فوائد استخدام نظام ‪CVS‬؟ )1(‬ ‫• يسئمح لعدة مطوريئن بالعمئل بشكئل مسئتقل علئى ذات مجموعة‬ ‫الملفات، ليتم لحقا دمج متعديلمتهم في المكنز المركزي.‬ ‫• يسئمح لئك بتتبئع مئن قام بإجراء التعديلت، و أيئن هئي متلك‬ ‫التعديلت، و متى متم إجراؤها. كما يمكنك معرفة لماذا أجريت‬ ‫متلك التعديلت إن إلتزم المطورون بإضافة متعليقات مفيدة مع كل‬ ‫عملية إيداع يقومون بها.‬ ‫• دليئل قوي فئي المحكمئة لثبات متطويئر البرمجيئة من تخلل‬ ‫عرض مراحل متطويرها.‬
  • 12. ‫ما هي فوائد استخدام نظام ‪CVS‬؟ )2(‬ ‫• يقوم هذا النظام بحفظ الملفات ضمن مكنز مركزي، مع متوفير‬ ‫نسئخ احتيالطيئة موزعئة علئى أنظمئة المطوريئن المحليئة )نسخ‬ ‫العمل التي سبق أن استخرجوها من المكنز(.‬ ‫• متمكيئن فرق العمئل المنتشرة جغرافيئا مئن العمئل على ذات‬ ‫المشروع )كما هي حال المشاريع المفتوحة المصدر(.‬ ‫• حفئظ كافئة الصئدارات بدءئا مئن متاريئخ اسئتخدام النظام، على‬ ‫عكس أسلوب النسخ الحتيالطي حيث نتخلص عادة من النسخ‬ ‫القديمة بعد فترة.‬
  • 13. ‫ما هي فوائد استخدام نظام ‪CVS‬؟ )3(‬ ‫• إمكانية متوليد متقرير يوضح مراحل متطور المشروع عبر الزمن‬ ‫لستقراء فعالية عملية التطوير.‬ ‫• متوفير إمكانية التراجع عن أي من التعديلت التي متمت تخلل أي‬ ‫فترة زمنيئة بسئهولة و اسئترجاع حالئة الملفات كمئا كانئت قبل‬ ‫متاريخ معين.‬ ‫• القتصئاد فئي اسئتخدام عرض نطاق المتصئال الشبكئي المتوفر‬ ‫ومساحة التخزين على المخدم من تخلل حفظ التعديلت نسبة‬ ‫إلى الصدار السابق فقط.‬
  • 14. ‫ما ل يقوم به نظام ‪!CVS‬‬ ‫• ل يعتئئبر نظام ‪ CVS‬وسئئيلة للمتصئئال بيئئن أعضاء الفريق‬ ‫البرمجي، وليس بديل للعمل الجماعي.‬ ‫• ل يعتبر نظام ‪ CVS‬نظاما تخاصا بتتبع التخطاء ومتابعة عملية‬ ‫إصلحها.‬ ‫• ل يوفئئر نظام ‪ CVS‬أئئي أدوات لفحئئص الشيفرة البرمجية‬ ‫وإتختبارها.‬
  • 15. ‫إطار عمل ‪PHPUnit‬‬ ‫لتمتة الفحص والتختبار‬
  • 16. ‫ضرورة عمليات الفحص والختبار‬ ‫• إن كل من مارس البرمجة يعلم متماما أن الوقوع في التخطاء هو‬ ‫أمر ل مفر منه.‬ ‫• علئى المئبرمج المحترف أئن يخطئط مسئبقا لتفحص التخطاء‬ ‫والمواظبة على اتختبار ما يكتبه من شيفرات برمجية سعيا وراء‬ ‫اصطياد مبكر للتخطاء مما يعزز من فرص اكتشافها ويقلل من‬ ‫كلفة إصلحها.‬ ‫• متعتئئبر عمليات التختبار متلئئك واحدا مئئن الركان الساسية‬ ‫لعمليات مراقبئة وضبئط الجودة التئي ل غنئى عنهئا فئي عالم‬ ‫الحتراف.‬
  • 17. ‫ما هو برنامج ‪PHPUnit‬؟‬ ‫• إلطار عمئل بسئيط وسئهل السئتخدام يسئاعد المئبرمج على بناء‬ ‫ومتنفيذ عمليات الفحص والتختبار المؤمتمتة للوحدات البرمجية.‬ ‫• إن برنامج ‪ PHPUnit‬هو فرد من عائلة مكتبة ‪ ،PEAR‬فإن‬ ‫لئم يكئن متوفئر علئى المخدم الذي متسئتخدمه، يمكنئك متنصيبه‬ ‫ببسالطة من تخلل متنفيذ التعليمتين التاليتين في سطر الوامر:‬ ‫‪pear channel-discover pear.phpunit.de‬‬ ‫‪pear install phpunit/PHPUnit‬‬
  • 18. ‫‪PHPUnit‬والمشاريع المفتوحة المصدر‬ ‫• إئن إلحاق شيفرات التختبارات المؤمتمتئة بأئي برمجية حرة‬ ‫مفتوحة المصدر متمكن المستخدم من التحقق من صحة عمل متلك‬ ‫البرمجيئة علئى منصئته ويمنحئه مزيدا مئن الثقئة بهئا كون فريق‬ ‫العمل المعني بتطويرها يتبع إجراءات ضمان الجودة المتعارف‬ ‫عليها.‬ ‫• إن فائدة متوفر مثل هذه التختبارات المؤمتمتة يساعد أيضا كل‬ ‫مئن يحاول متعديئل أئو متطويئر برمجيئة مئا علئى التأكئد مئن أن‬ ‫التغييرات التئي قام بهئا لئم متتسئبب فئي ظهور أئي تخلئل فئي بقية‬ ‫أرجاء البرمجية.‬
  • 19. ‫كيف يعمل ‪PHPUnit‬؟ )1(‬ ‫• قد متبدو عملية متصميم وبناء التختبارات المؤمتمتة مستهلكة للوقت،‬ ‫لكن هذا النطباع تخالطئ، فبناء اتختبار جديد باستخدام إلطار عمل‬ ‫‪ PHPUnit‬ل يستغرق أكثر من بضع عشرات من الدقائق، كما‬ ‫أن متنفيذ التختبار ذامته يتم في ثوان.‬
  • 22. ‫برنامج ‪phpDocumentor‬‬ ‫لتوثيق الشيفرة المصدرية‬
  • 23. ‫ما هو برنامج ‪phpDocumentor‬؟‬ ‫• يعد التوثيق المتكامل والوافي واحدا من أهم سمات الحترافية في‬ ‫العمل البرمجي، لكنه من جهة أتخرى يصنف على أنه واحد من‬ ‫المهام التي متصيب معظم المبرمجين بالملل كونه يستهلك الكثير‬ ‫من الوقت الذي يصرف بعيدا عن محبوبتهم البرمجة، لذا وجب‬ ‫على المبرمج المحترف أن يجد حل وسطا ما بين شغف البرمجة‬ ‫ورصانة التوثيق.‬ ‫• يهدف ‪ phpDocumentor‬إلئى مسئاعدة المئبرمجين علئى متوليد‬ ‫متوثيق معياري بشكل شبه آلي إنطلقا مما يكتبونه من ملحظات‬ ‫ومتعليقات بيئن ثنايئا شيفرامتهئم المصئدرية شريطئة إمتباعهئم لطريقة‬ ‫معينة في كتابة متلك الملحظات والتعليقات‬
  • 26. (3) ‫؟‬phpDocumentor ‫كيف يعمل‬ phpdoc -o HTML:Smarty:PHP -d ArPHP -t Docs phpdoc -o CHM:default:default -d ArPHP -t Docs phpdoc -o PDF:default:default -d ArPHP -t Docs f Filename- ti Title-
  • 28. ‫خلصة وتوصيات‬ ‫• إئن التعريئف بالدوات المسئاعدة فئي كئل من عمليات إدارة‬ ‫الشيفرة المصئئدرية وأمتمتئئة التختبارات ومتوثيق الشيفرة‬ ‫المصئدرية هئي مسئألة ل متقئل أهميئة عئن إمتقان لغئة البرمجة‬ ‫المستخدمة ذامتها.‬ ‫• إئئن الحتراف ومتطلبات العمئئل الجماعئئي والمسئئاهمة في‬ ‫البرمجيات الحرة المفتوحة المصدر متتطلب مهارات ل متنحصر‬ ‫بمجرد صقل موهبة التحليل والبرمجة.‬ ‫• لذا أرى أئن متضاف مثئل هذه الدوات إلئى السئياق المتبئع في‬ ‫المناهج التعليمية التي متؤهل كوادرنا من المبرمجين.‬