4
فبراير

PHP ترقص الـHipHop !

قبل يومين أعلن فريق تطوير الفيس بوك أنه توصل لطريقة من شأنها زيادة سرعة تطبيقات الـPHP بنسبة 50% !

خبر مفرح جداً .. أعتبره نقلة رائعة في تاريخ الـPHP

يقول فريق الفيس بوك أنه واجهة مشكلة في بطء تنفيذ الـPHP في تطبيق كبير جداً كالفيس بوك .. عدد مستخدميه يزداد بشكل فظيع

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

بعدها شرعوا في إيجاد طريقة جديدة لتسريع تنفيذ الأكواد .. وبعد 8 أشهر من المحاولات توصل أحد المهندسين للطريقة المثالية .. أخبر بها فريق التطوير وعملوا على تنفيذها لمدة 10 أشهر إلى أن انتهوا منها بشكل كامل واطلقوا عليها اسم HipHop

بعد ذلك طبقوها على 90% من سيرفرات الفيس بوك مباشرة ولاحظوا الفرق الكبير في وقت وسرعة الموقع .. وبعد 6 أشهر من الاختبارات والتحسينات .. قرروا طرحها للجميع حتى يستفيدوا منها

فكرة الـHipHop بإختصار .. هو عبارة عن محوّل يقوم بتحويل كود الـPHP إلى كود ++C ثم إلى لغة الآلة.

الـHipHop حالياً غير متاح حتى كتابة هذه التدوينة لكنه سيتوفر قريباً إن شاء الله .. سأكتب عنه حالما ينزل.

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

شكراً فيس بوك :)

للمزيد :

4/2/2010   |   2 تعليقات »
 
13
أبريل

نصائح لبرمجة نظيفة

  • استخدم أسلوب واضح ومنطقي في تسمية الكائنات (objects) والدوال (functions) والفئات (classes) والمتغيرات (variables).
  • علّق على الكود (code) سطر بسطر (أو اشرح كيف تنفذ العملية ككل بوضوح)
  • نسّق الكود باستخدام المسافات البادئة داخل الجمل الشرطية وغيرها بشكل يسهّل قراءتها.
  • نظّم الملفات في مجلدات بشكل منطقي ليسهل فهم اسم المجلد وملفاته.
  • اجعل الكود كوحدة برمجية (module) قابلة لإعادة الاستخدام قدر الإمكان, على سبيل المثال استخدم الدوال إذا كنت ترى أن بعض العمليات يتكرر استخدامها في عدة أماكن.

المصدر: http://alfawaed.net/summary/77

13/4/2009   |   1 تعليق »
 
13
أبريل

نصائح لتطوير مهاراتك البرمجية

  • اكتب برنامجاً
    • إذا كنت تحاول تعلم لغة برمجة جديدة, واحدة من أفضل الطرق التي تحسن من مهارتك في هذه اللغة هي البداية في كتابة برنامج.
    • تسطيع أن تتعلم التركيب النحوي (syntax) والنظريات البرمجية والدروس وغيرها لكن عليك أن تُحرك يديك لتطبيق ما تعلمته.
  • اقرأ برامج غيرك
    • قد تظن أن هذه النصيحة مناقضة للنصيحة السابقة! لكن في الحقيقة أن قراءة برامج غيرك هي مهمة بقدر أهمية كتابة برامجك.
    • لكن يجب أن تقرأ لشخص معروف بأنه مبرمج ممتاز, لأنك لو اخترت قراءة برامج شخص مبتدئ فسوف تتعلم مبادئ برمجية سيئة وفي العموم لن تستفيد منها.
    • قراءة برامج مبرمجين آخرين هي ليست مهمة سهلة لكنها مفيدة جداً. لنفترض أنه ليس لديك أي فكرة عن المعامل الشرطي (؟:) في لغة C. قراءتك في مستندات اللغة عنها قد يفيدك قليلاً لكن في الحقيقة عندما تشاهد طريقة استخدامها في أحد البرامج سوف تستفيد أكثر. أيضاً قراءة برامج غيرك تعلمكالخوارزميات (algorithms) وهياكل البرامج (structures) التي لم تكن تعرفها من قبل!.
  • اعمل مع مبرمجين آخرين
    • عندما تعمل مع مجموعة كبيرة من المبرمجين سوف تكتشف مواضع النقص في قدراتك البرمجية.
    • عندما تعمل مع مبرمج أفضل منك سوف تدرك سريعاً أن هناك أشياء لا تستطيع عملها, لأننا نحن كمبرمجين نعتقد أننا جيدين لكن عندما نكتشف عدم مقدرتنا على عمل شئ, نسرع في تعلمه.
    • الكثير من المبرمجين يعتقدون أن كل ما يعملونه هو أفضل من أي شخص آخر, وهذا في الحقيقة خطأ.
    • أيضاً العمل مع مجموعة مبرمجين يصقل مهاراتك البرمجية. فإذا كنت قد كتبت خوارزمية مائتا مرة, فهناك دائماً احتمالية بأن يقوم شخص بجعل هذه الخوارزمية أفضل كفاءة ً.
  • كلمة أخيرة: أحد بروفسورات علوم الحاسب قال مرة: “لا تتوقف أبداً في تعلم هذا المجال”. فإذا كنت ممن يطورون مهاراتهم البرمجية دائماً سوف تصبح من أفضل المبرمجين.

المصدر: http://alfawaed.net/summary/53

13/4/2009   |   1 تعليق »
 
13
أبريل

مبادئ البساطة في البرمجة

  • فكر ببساطة: دائماً هناك حل بسيط لكل مشكلة. فقط افهم المشكلة جيداً. إذا لم تجد حلاً بسيطاً لا تفعل شيئاً!
  • ابني أساساً صحيحاً: قدر المستطاع صمم مشروعك بطريقة تمكنك في حال عدم انتهائك منه, من إضافة مميزات وخصائص جديدة دون التأثير على أساس المشروع.
  • اختبر عند الحاجة: صحيح أن اختبار أداء البرنامج من الأمور الهامة لكن لا تفرط في ذلك. اختبار كل شئ بأدق تفاصيله يضيع عليك الكثير من الوقت.
  • كن دقيقاً في التسمية: اختر أسماءاً واضحة ومعبّرة وفي نفس الوقت بسيطة.
  • اكتب التعليقات بطريقة بسيطة: هناك طرق كثيرة لكتابة التعليقات. يفضل عدم الإكثار من التعليقات على سطور البرنامج, وبدلاً من ذلك أكتب شرحاً كاملاً يوضح “ماذا , لماذا , كيف” تقوم الفئة (Class) أو الدالة (Function) بوظيفتها. التعليقات الواضحة تشرح للآخرين ما يقوم به البرنامج بكل بساطة.
  • استعر ثم بسّط: كلنا يبحث في الانترنت عن شيفرات (Code) يحتاجها في برنامجه, لكن كن حذراً في ذلك قد تعمل الشيفرة التي وجدتها ولكن قد تكون السبب في مشكلة كبيرة بعد ذلك, لذلك استعر ما تريد لكن حاول فهمها وتبسيطها قدر المستطاع.
  • ليست المسألة بعدد سطور البرنامج: هناك خلط بين البساطة وعدد سطور البرنامج. ليس معنى البساطة أن تقوم بكتابة سطور أقل, ولكن حذف أي شئ يعقّد عملية كتابة وصيانة البرنامج.
  • لا تكابر: اعرف حدودك. لا تخف من طلب المساعدة في إيجاد حل لمشكلتك. اذا استمريت في الطريق الخطأ بسبب غرورك سوف تجد برنامجك في النهاية قد غرق في الفوضى.
  • لا تثق في غريزة البساطة لديك: لست أنت من يحكم على البساطة. من يقيّم برنامجك هو من يستطيع التمييز.
  • تعلم الكثير عن الكثير: لإيجاد حل بسيط لأي مشكلة أنت بحاجة إلى التنويع. إمكانية النظر إلى المشكلة من أكثر من زاوية هي طريقة رائعة لحل المشكلات لكنك بحاجة إلى هذه الزوايا لكي تستخدمها. اقرأ كتباً وجرّب تقنيات ولغات مختلفة وكل ما يفيدك في إيجاد طرق عديدة لحل المشكلات.

المصدر: http://alfawaed.net/summary/4

 
18
ديسمبر

ما الذي يجعل عندك القدرة لكي تبرمج ?

  • معرفة التركيب النحوي (syntax) لا تجعل منك مبرمجاً: عملت مع مجموعة من المبرمجين في بعض المشاريع للأسف ليست لديهم أدنى فكرة في مبادئ البرمجة, وأرغب في إعادة كتابة برامجهم. أحدهم كان من أوائل من حصلوا على شهادة معترفة في لغة جافا (Java), ببساطة لم يكن يعرف أي مفهوم في كيفية بناء برنامج متكامل!
  • البرمجة تتطلب القدرة على التركيز على مفاهيم مجردة: باستخدام مجموعة من اللغات والأدوات لإنشاء شئ من لاشئ لجعل الكمبيوتر يقوم بشئ مفيد!
  • يجب أن تكون قادراً على تخيل الحل لمشكلة لا تسطيع أن تراها أو تلمسها!
  • المبرمجين ليسوا عباقرة, ولكن هناك عبقرية مبرمجين, وهم من يستطيعوا أن ينتجوا أكثر من غيرهم
  • معظم الناس ينظرون إلى البرمجة أنها شئ سحري! ومنهم من يعتقد أن المبرمج يجب أن يكون أذكى من غيره, لكن في الحقيقة هي ليست هذه ولا تلك. دائماً ما أقول: “أنا أخبر الكمبيوتر بما عليه فعله وهو يفعله”

المصدر: http://alfawaed.net/summary/3

18/12/2008   |   6 تعليقات »