مدونة الويب 2.0 » كتب http://khaledalhourani.com/blog كنز المطور ... وضالة المتعلم Thu, 30 Jun 2011 07:40:23 +0000 en hourly 1 http://wordpress.org/?v= مراجعة كتاب 50 Tips and Tricks for MongoDB Developers http://khaledalhourani.com/blog/2011/06/20/%d9%85%d8%b1%d8%a7%d8%ac%d8%b9%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8-50-tips-and-tricks-for-mongodb-developers/ http://khaledalhourani.com/blog/2011/06/20/%d9%85%d8%b1%d8%a7%d8%ac%d8%b9%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8-50-tips-and-tricks-for-mongodb-developers/#comments Sun, 19 Jun 2011 22:23:32 +0000 خالد http://khaledalhourani.com/blog/?p=1409 مراجعة كتاب 50 نصيحة وحيلة لمطوري MongoDB (-50-Tips-and-Tricks-for-MongoDB-Developers) من تأليف كريستينا كودرو (Kristina Chodorow).

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

بداية الكتاب ليس موجهاً للمبتدئين في MongoDB فإذا كنت لاتعرف ماهي عليك بقراءة كتاب MongoDB: The Definitive Guide، الكتاب بشكل كامل هو مجموعة من النصائح المرتبة من 1 إلى 50، كريستينا هي مبرمجة مكتبة PHP و Python الخاصة بال MongoDB، خبرتها واسعة في هذا المجال والنصائح التي كتبتها هي نتاج خبرتها، لذلك أحياناً تكون النصيحة المقدمة غير مفهومة تماماً أو غير مشروحة بشكل جيد.

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

أنصح بالكتاب لمبرمجي MongoDB، حجمه خفيف، ونسخة الكندل ممتازة، والكاتبة لها خبرتها الممتازة في هذا المجال، كعادة دار نشر Oreilly تنشر الكتب التي يكتبها مبرمجين خبراء وليس مسوقين.

]]>
http://khaledalhourani.com/blog/2011/06/20/%d9%85%d8%b1%d8%a7%d8%ac%d8%b9%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8-50-tips-and-tricks-for-mongodb-developers/feed/ 3
كتب مطلوبة http://khaledalhourani.com/blog/2011/04/15/%d9%83%d8%aa%d8%a8-%d9%85%d8%b7%d9%84%d9%88%d8%a8%d8%a9/ http://khaledalhourani.com/blog/2011/04/15/%d9%83%d8%aa%d8%a8-%d9%85%d8%b7%d9%84%d9%88%d8%a8%d8%a9/#comments Fri, 15 Apr 2011 18:03:51 +0000 خالد http://khaledalhourani.com/blog/?p=1268

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

]]>
http://khaledalhourani.com/blog/2011/04/15/%d9%83%d8%aa%d8%a8-%d9%85%d8%b7%d9%84%d9%88%d8%a8%d8%a9/feed/ 6
كتاب الكود النظيف http://khaledalhourani.com/blog/2009/03/02/%d9%83%d8%aa%d8%a7%d8%a8-%d8%a7%d9%84%d9%83%d9%88%d8%af-%d8%a7%d9%84%d9%86%d8%b8%d9%8a%d9%81/ http://khaledalhourani.com/blog/2009/03/02/%d9%83%d8%aa%d8%a7%d8%a8-%d8%a7%d9%84%d9%83%d9%88%d8%af-%d8%a7%d9%84%d9%86%d8%b8%d9%8a%d9%81/#comments Sun, 01 Mar 2009 23:33:53 +0000 خالد http://dev.holooli.com/?p=782 السلام عليكم،

مشاغل الجامعة والعمل والعديد من الأمور شغلتني عن المدونة لمدة لا بأس بها، ولكن إن شاء الله سأحاول الالتزام أكثر.

قرأت كتاب Clean Code من العم بوب كما يسمي نفسه، العم بوب أو Robert C.Martin من أشهر المبرمجين على مستوى العالم ومن مؤسسي الآجايل (Agile)، لذلك كلما تجد كتاباً له فحاول أن تقرأه.

غلاف الكتاب


الكتاب أسلوبه جميل حيث يأتيك بمثال (كود أو نص مصدري) ويحاول تطبيق مبادىء “الكود النظيف” عليه فيحسنه ويتكلم عن الفرق قبل وبعد التعديلات سواء في الأداء أو سهولة الكود، أيضاً يسرد عليك العديد من القصص الواقعية التي مرت على رأس هذا المبرمج العجوز لتبقى عالقة في ذهنك.

أمثلة النص المصدري في الكتاب مكتوبة بالجافا ولكن اعتقد كل مبرمج سيفهم هذه الأمثلة فهي تشبه كثيراً الـ #C وحتى ++C.

الفائدة في الكتاب كبيرة ويجب أن يقرأه كل مبرمج، سأسرد أبرز النقاط التي شدتني:

  1. التابع دوماً يجب أن يؤدي مهمة واحدة، مثلاً تابع (دالة) لإضافة مقال جديد، ينشأ اتصال بقاعدة البيانات ويدخل المعلومات إليها ويظهر رسالة بأن المقال تم حفظه، هذا التابع يؤدي أكثر من مهمة لذلك جزء هذه المهمات على عدة توابع بحيث كل تابع يؤدي مهمة واحدة فقط، بهذه الحالة يصبح نصك المصدري أفضل للفهم بشكل كبير.
  2. اكتب للمتحولات والتوابع والأصناف (الكلاسات) أسماء مفهومة للمهمة التي تقوم بها حتى لو كان الاسم طويلاً، طبعاً حاول أن يكون قصيراً ولكن عندما يقرأ الاسم أي مبرمج يفهم ماذا يؤدي هذا المتحول أو التابع.
  3. اهتم بالتعليقات بشكل كبير ولا تكتب تعليقات سخيفة أو تعليقات تحتاج لتعليقات كي تفهمها!
  4. Unit Testing من الأهمية بدرجة كبيرة، حاول أن تختبر كل شيء كي تحصل على تطبيق خالٍ من الأخطاء وقابل للتعديل دون الخوف من حدوث أخطاء نتيجة التعديلات
  5. الصنف (الكلاس) أيضاً يجب أن يؤدي مهمة واحدة وأن تكون جميع توابعه في نفس المستوى، مثلاً صنف طباعة الرسائل يأتي في أقرب طبقة للمستخدم أما صنف التعامل مع قاعدة البيانات فيأتي في طبقة منخفضة من النظام وهكذا فكل صنف يجب أن يكون في طبقة واحدة.

كتاب لا يجب أن تتركه يفلت من بين يديك وبإذن الله ستفيد منه كثيراً ولكن يوجد لي ملاحظة على الكتاب في عالم PHP ولغات السكربتنغ، المشكلة أنه عند كتابتك (كما يشدد على ذلك العم بوب) للعديد من الأصناف وكل صنف يؤدي مهمة واحدة ستحصل على عشرات الملفات وكل ملف يسبب حمل زائد على السيرفر (request) لأن هذه الأصناف الموجودة في الملفات تترجم في كل مرة يطلب أي زائر موقعك بعكس لغات الترجمة التي تترجم التطبيق مرة واحدة، لذلك حاول كتابة الأصناف ولكن لاتكثر منها لدرجة كبيرة ولاتكثر من الملفات.

]]>
http://khaledalhourani.com/blog/2009/03/02/%d9%83%d8%aa%d8%a7%d8%a8-%d8%a7%d9%84%d9%83%d9%88%d8%af-%d8%a7%d9%84%d9%86%d8%b8%d9%8a%d9%81/feed/ 8