الاختيار بين التقنيات

18
اﻻﺧﺗﯾﺎر ﺑﯾن اﻟﺗﻘﻧﯾﺎت ﻣﻊ أﻣﺛﻠﺔ ﻋﻣﻠﯾﺔ

Upload: muayyad-alsadi

Post on 15-Jun-2015

239 views

Category:

Documents


3 download

DESCRIPTION

هل أنت في حيرة بين تقنيات منافسة؟ كيف تقرر؟ أي إطار عمل؟ كذا أم كذا

TRANSCRIPT

Page 1: الاختيار بين التقنيات

االختیار بین التقنیاتمع أمثلة عملیة

Page 2: الاختيار بين التقنيات

االختیار بین التقنیات - مثال عمليكثیرا ما نقع في حیرة بین تقنیات مختلفة نرید منھا تأدیة نفس

الغرض. وغالبا ما یؤدي السؤال إلى حرب بین محبي كل تقنیة دون االنتھاء إلى قرار أو نتیجة. في ھذه الشرائح البسیطة سأبین لك ماذا

تسأل وكیف تختار. ولنأخذ ھذا المثال العملي بعیدا عن الحاسوب. أنا أرید سكین كي أدھن زبدة الفستق على الخبز بل لنقل أني شركة

طیران وأرید سكینا لیدھن الركاب بھا الزبدة على الخبز. فما ھي أفضل سكین؟

Page 3: الاختيار بين التقنيات

butcher knife سكین الجزار

السكین التي ینصح بھا 5 من كل 6 ●جزارین في أسترالیا.

مقبض خشبي فاخر●تصمیم عصري سھل التحكم●نصل حاد وثقیل●مكان للتعلیق●33 طبقة من الفوالذ عالي الكربون●فوالذ مكفول ال یصدأ وال یتآكل ویدوم ●

طویالنصل محضر بالقطع الماسي والقطع ●

باللیزر

Page 4: الاختيار بين التقنيات

chef knife سكین الطھاة

السكین التي ینصح بھا 90% من الطھاة ●العالمیین.

مقبض من البالستیك المضاد للحرارة في ●صورة خشب صناعي

تصمیم عصري سھل التحكم●نصل حاد وثقیل (أقل وزن من سابقتھا)●ال یوجد مكان للتعلیق.●فوالذ 18/10 ذي لمعة ممیزة●فوالذ دمشقي بتقنیة النانو نمط من 67 ●

طبقة یتشكل طبیعیا على الجانبین یجعل منھا تحفة فنیة.

علبة فاخرة تلیق بالمطبخ والفنادق الفخمة.●نصل عریض یمكن استعمالھا في تقشیر ●

الثوم من خالل الضربة الجانبیة

Page 5: الاختيار بين التقنيات

الخیار الصحیح: السكین البالستیكیة

ال ینصح بھا الطھاة وال الجزارین وال غیرھم.●سھلة الكسر وغیر مكفولة وال تدوم وتستخدم لمرة واحدة●تأتي في كیس دون علبة●لیس لھا تصمیم فاخر وال تعطي قیمة جمالیة●نصلھا البالستیكي غیر حاد وخفیف●تصنع بأرخص التقنیات وأقلھا جودة●

Page 6: الاختيار بين التقنيات

ھناك دراسات تشیر بأن أغلب البیانات لیست بیانات عالئقیة وبالتالي من الخطأ استعمال RDBM/SQL. كذلك الكثیر من

المواقع ال تحتاج مزایا ACID فیھا. تعاني Sqlite مثال من مشكلة القفل العام على كامل قاعدة البیانات في حین توفر منافساتھا قفل

على مستوى الصف. التدعم MongoDB مزایا ACID. بایثون تعاني من قفل المسفر العام GIL وھي لغة تفسیریة بطیئة.

ما عالقة السكین بالتقنیات؟

Page 7: الاختيار بين التقنيات

ما عالقة السكین بالتقنیات؟ التقنیة الفالنیة توفر كذا وتفتقر إلى كذا. السؤال ھنا ماذا یعني لك

والحتیاجاتك افتقارھا إلى ھذا الشيء أو وجود تلك المیزة فیھا.كم شخص لدیھ نفس احتیاجاتك استخدم ھذه التقنیة ونجحت معھ.

اختبارات قیاس األداء ال تقیس أداء تلك التقنیة في بیئة تشبھ البیئة الخاصة بك لذا فھي خارج السیاق. أنت ال ترید أن تعد حتى 1000

وتجمع تلك االرقام.

Page 8: الاختيار بين التقنيات

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

میزة سأضیفھا ھناك.

األقل أكثر

Page 9: الاختيار بين التقنيات

السكین السویسریة

تجمع الوظائف التالیة:سكین●مفك●مقص●زرادیة●فتاحة علب●مبرد أظافر●مفك +●

Page 10: الاختيار بين التقنيات

المفك العادي

یجمع الوظائف التالي:مفك●إزمیل وفتاحة علب●عتلة●

Page 11: الاختيار بين التقنيات

السكین السویسریة تحتوي العدید من الوظائف من خالل تجمیع أشیاء ال یوجد بینھا قاسم مشترك. وحتى تكون خفیفة ومحمولة فإن

ھذه األشیاء صغیرة وخفیفة وربما ھشة.السكین السویسریة فعلیا ال تجمع وظائف مختلفة في جھاز واحد بل

ھي تجمع أجھزة مختلفة كل منھا لھا وظیفة واحدة.

مقارنة بین المفك والسكین السویسریة

Page 12: الاختيار بين التقنيات

في المقابل المفك یجمع تلك الوظائف من خالل وجود عوامل مشتركة بینھا فكونھ یستخدم كإزمیل یعني أنھ یحتاج طرف مسطح عریض یمكن الطرق علیھ وطرف حاد یمكنھ حفر الخشب أو فتح

العلب. وكونھ یستخدم كعتلھ یعني أن لھ ذراع طویل ولھ زاویة یمكن االتكاء علیھا.

مقارنة بین المفك والسكین السویسریة

Page 13: الاختيار بين التقنيات

ماذا لو احتجت إلى برغي بقیاسات وأبعاد غیر عیاریة؟ النصیحة

األولى ال تصل إلى ھذه الحالة وال تضع نفسك في ھذا الموقف. ال

یوجد قیمة إضافیة من كون األبعاد مختلفة عن األبعاد القیاسیة. لكن

المتاعب التي سیجلبھا كثیرة.

متى تبني شيء خاص بك؟

Page 14: الاختيار بين التقنيات

إن كنت تعمل على صنع شيء ما ركز على القیمة المضافة التي یمكنك تقدیمھا وما یجعل منتجك ممیزا وابتعد عن إضاعة وقتك في

تصمیم براغي غیر عیاریة. حتى لو كان ھناك قیمة سیضیفھا البرغي الخاص بك لكن تلك القیمة مھما كانت جیدة فھي ھامشیة.

ھناك الكثیر من المشاریع تقوم باألشیاء المملة (مثل JQuery في جافاسكربت) لكنھا إطار فارغ تضع احتیاجاتك الخاصة داخلھ.

متى تبني شيء خاص بك؟

Page 15: الاختيار بين التقنيات

لكن إن وضعت نفسك في ھذا المأزق؟ القص باللیزر؟ قوالب السكب؟ الطباعة ثالثیة األبعاد؟

ال! قد یكون الحل مجرد علكة تسد بھا ذلك الشيء. الكثیر من المشاكل المعقدة حلھا أبسط

مما تتخیل.

متى تبني شيء خاص بك؟

Page 16: الاختيار بين التقنيات

متى تبني شيء خاص بك؟

إذا كان الشيء یجب أن ال یتحرك لكنھ یفعل استعمل ھذاإن كان الشيء یجب أن یتحرك لكنھ ال یتحرك استعمل ھذا

أي مشكلة تحل بأحدھذین

Page 17: الاختيار بين التقنيات

بعض أطر العمل تتكون من مكونات متصلة بعضھا ببعض وبعضھا اآلخر تتكون من مكونات مستقلة واإلطار ما ھو

إال شبكة اتصال بینھا. األولى تعطیك حل متكامل لكنھ مثل ربطة كبیرة من الحبال تظل تلتف حولك وتعرقل عملك.

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

واآلخر مثل أقطاب متنافرة تقضي أغلب وقتك تحاول التوفیق بینھا.

مكونات مترابطة أم مستقلة؟

Page 18: الاختيار بين التقنيات

الحل لھذه المعضلة ھو أن تكون المكونات ال تعلم عن بعضھا إال بالقدر الذي یلزمھا كي تعمل. كل شيء یلزمنا

إلكمال اللغز ھو الحواف الخارجیة المداخل والمخارج وال یھم ماذا یوجد في الوسط. إن كان حل اللغز ال یعتمد على ما ھو داخل القطعة كان حلھا أسھل. عندھا كلما كانت ھذه الحواف الداخلة والخارجة أقل ما یمكن كلما كان حل اللغز أسھل. إن كان ھناك مفتاح واحد وطلبت من شخص ما أن

یضغطھ فال مجال للخطأ لكن إن كان ھناك 4 مفاتیح وأقول لھ الثاني ثم الثاني من الیمین ثم أي یمین فیھم؟

مبدأ المعرفة الدنیا