الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لماذا ننحت بالصخر , وقد وصلوا إلى القمر؟ ( يوميات مبرمج ) ...

مغلق
بدأه أبو همام في 3 مايو 2007 · 17 رد · 1,932 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

الحمد لله والصلاة والسلام على محمد رسول الله و على آله وصحبه أجمعين ....

قبل أن أبدأ لدي رجاء حار : أرجو ممن لديهم أي تعليق أن يكون تعليقهم ضمن النقاش , وليس على صاحب النقاش .

ألاحظ من خلال حوار الزملاء والأمثلة والمشاريع التي يقدموها أن 99.99% منها لا زالت تعتمد على تقنيات بدائية في البرمجة. كيف عرفت ذلك ؟

هنا فقط يأتي لب الموضوع ...

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

نحن نعرف أن برمجة قواعد البيانات بدأت بمسارات و تقنيات كثيرة منها : DAO , ADO وغيرها ... إلى أن انتهت بـ ADO.Net التي ظهرت مع جيل الـ .Net

حيث تطورت بتطوره من 1.0 – 1.1 - - - إلى أن وصلنا إلى 2.0ADO.Net . ونحن الآن على مشارف إصدارة جديدة والله أعلم , حيث أن الإصدار الجديد من الـ .Net Framework وهو الإصدار .Net Framework 3 قد ظهرت بوادره ; أي أننا على مشارف Visual Studio جديد ! ( شو ها الحكي .. !؟ اي والله يا أخي هذا الذي صار ... ).

والمعنى ... خلصنا ......

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

أيهما أفضل , لغة الـ Assembly أم لغة Visual Basic .Net 2005 !!؟

يا إلهي ... بالله عليكم : هل هذه قضية نتقاتل عليها , ونتنافس في إثباتها أو نفيها ؟ ( والعالم , انظروا أين وصلوا ... )

ما علينا .. لنبدأ بالموضوع .... ( يا حبيبي , بعد بدو يبدأ أخونا !! )

إخوتي الكرام :

المشكلة و ما فيها هي أن الكثير من بيننا ( والداعي واحد منهم ) عند العمل على برمجة قواعد البيانات , فإنهم يلجؤون إلى أكثر الطرق بدائية ( المعذرة لهذه الكلمة ) كيف ذلك ؟

أعود و أقول كان هناك شيء يسمى بــ ADO.Net 1.0 , حيث كنا نكتب أسطر الشيفرة ( مع أنها قليلة مقارنة بما قبلها ) كنا نكتبها يدوياً ... يعني :

• شيفرة لفتح الاتصال بقاعدة البيانات و جلب البيانات منها .

• شيفرة للتعديل على البيانات و حفظها ( و شوف مشاكل كود الإرجاع إذا ما ضبطت الـ Update Command ) .

• شيفرة لربط الأدوات مع جداول البيانات .

• و غيره الكثير .... ( أكتب ولا تقول آخ ) .

وصلنا إلى عصر الـ ADO.Net 2.0 ... ( يا لطيف ... ) . لكن الشباب بعد مـــــــــــــــا خلصت كتابة كودات ...................

أرجو أن تكون الفكرة قد بدأت تتضح ... يعني يا أحباب : صار هناك شيء و أشياء تسمى Typed Objects , IntelliSense … . ما معنى ذلك ؟ معنى ذلك أنه عوضاً عن كتابة أطنان من الشيفرة لأداء غرض معين ( طبعاً إذا نجح التنفيذ بعد ها التعب .. ) , أصبح يوجد لدينا مكتبات و أدوات جاهزة ضمن الـ Visual Studio لتقوم بذلك عوضاً عنا ...

بالمختصر المفيد ... ( أيوه هيك بدياك ... خليك مفيد .. ) :

بدل أن تقوم أنت بنفسك يا أخي الكريم بكتابة سطر وراء سطر ( والعمر بيجري ... ) لكي تفتح قاعدة البيانات و تقرأ منها ثم تعيد إليها ثم .. ثم ... الخ , " لا "

لا تتعب نفسك و تريح الـ Visual Studio , بل اجعله يعمل كل شيء عنك إذا استطعت ...

<<< ها , قام أبو العبقرية " جدو مبرمج " يرد علينا و يقول : يا خي هيك بتخرب الشباب علينا , و صارلنا بنعلم فيهم سنين كيف يحركوا أصابعهم على الكيبورد ويكتبوا كود ... ! >>>

لكن ياجدي العزيز : لماذا Microsoft قامت بتطوير الـ Visual Studio و أدواته ؟ ألم تقل هي بنفسها أن ذلك كله لكي تريح المبرمجين و تسرع عملهم و إنتاجهم ؟

<<< لا لا لا , هذا حكي فاضي ... انت مبين عليك من دعاة التطور و الوزردة ( من wizard ) ... مو هيك ؟؟!! >>>

أقول : يا شباب , لا تردوا على ها الجد العجوز ! لأنه سنبقى ( مكانك راوح ... ) . دعونا ننطلق مع أولئك في نفس المضمار و لنرى ماذا سيحدث .

هناك مشاركة للزميل ( Qnifo2006 ) والتي يقول في عنوانها " شو مشكلة الـ ADO .... " , وهي بالفعل في صلب هذا الموضوع , وأنا معه مئة بالمئة ...

البرمجة باستخدام Typed Objects والتقنيات الجديدة ياشباب ستوفر علينا الوقت و الجهد و ( شيب الراس ) الكثير الكثير .........

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

إذا وجد المشرفون الأفاضل في هذا الكلام أي معنى أو فائدة ترجى , أرجو أن يباشروا بإعداد أنفسهم لكي يتفضلوا و يوجهونا لأقرب الطرق وصولاً ,

و أن يعرضوا ما لديهم من خبرات لكي يفهم الجميع حقيقة الأمور وحقيقة هذا الموضوع ....

يعني : بدل أن يصمم أحدنا برنامجاً في أشهر لياليها غبراء ... سوف ينتهي منه في أقل من شهر عسل ! ( هذه أحاديث Microsoft )

الكلام قد يطول أكثر ... ( دخيلك بكفي ... ) . فأرجو من المهتمين المبادرة والإسراع لكي نلحق بالركب و نصل إلى نهاية الدرب ...

كما أرجو عدم نقل هذا الموضوع من قسم VB.Net لأني قصدت وضعه هنا لكي يستفيد أهل الـ VB.Net بجميع اختصاصاتهم على حد سواء . ( لكن إغلاق الموضوع سيحضر لي الجلطة )

أدعو الله الكريم رب العرش العظيم أن يوفقنا جميعاً لما يحب و يرضى في الدنيا و الآخرة ... والسلام عليكم .

تم تعديل هذه المشاركة بواسطة أبو همام في 3 مايو 2007 في 22:36

#2

السلام عليكم ورحمة الله وبركاته

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

وشكرا

#3

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

الويزارد وجد لمساعدة المبرمج ولتخفيف العناء عنه ولكن الإخوة هنا يحبون أن يضيعوا الوقت

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

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 4 مايو 2007 في 10:57

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#4

السلام عليكم ورحمة الله وبركاته :

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

حياك الله أخي ( عبد الكريم ) وجزيت خيراً على التفاعل ......

يا أخي : من قال لك أني أتقن تقنيات جديدة ؟... ( لكنها سمعة طيبة ... ) . بالله لم أقل شيئاً كهذا في تلك المقالة .

الذي قلته ( بالمعنى ... ) أننا وصلنا إلى عصر المحراث الآلي , ولا زلنا ننكش الأرض بأظافرنا . ( قال شو : خبرة عمر .. )

لنحصر الحديث بموضوع ( برمجة قواعد البيانات ) و لنتكلم بشكل واضح :

نحن نعرف أن كائن الـ DataSet هو الكائن الرئيسي و الأساسي في برامج قواعد البيانات الحديثة ( حسب Microsoft ) , وهذا الكائن هو عبارة عن

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

وكما جرت العادة عند بناء البرنامج , نقوم بتعريف الـ DataSet بعد أن نجهز كائن الاتصال ( ConnectionString ) إلى قاعدة البيانات . ثم نعرف كائن DataAdapter ليقوم بالمرور عبر الـ ConnectionString إلى قاعدة البيانات لكي يحضر لنا مجموعة من السجلات من إحدى الجداول الموجودة هناك ( طبعاً حسب شروط معينة وضعناها كــ عبارة SQL وقمنا بتلقينها أو تحميلها في كائن الـ Command التابع لذلك الـ DataAdapter)

وبعد أن نأمر الـ Command بالتنفيذ ( والله يعينه إذا كنت معطيه أوامر SQL خاطئة ) , يعود الـ DataAdapter ( سعيداً .. ) ومحملاً بالبيانات الناتجة إلى الـ DataSet ليملأ جدولاً معيناً فيها .

( هنا انتهت أول رحلة ) . الرحلة التالية ستكون مع معالجة تلك البيانات و الخوض في غمار ربطها بالأدوات وإظهارها .

الرحلة الثالثة ستكون مع إعادة البيانات التي عالجناها إلى بيتها الأم في قاعدة البيانات الحقيقية . ( وينك يا DataAdapter ) , نقوم بتجهيز Command آخر (UpdateCommand) ونعلمه كيف يحدّث الجدول هناك في قاعدة البيانات عندما يصل إليها راكباً على ظهرالـ DataAdapter ( ويا ويلو كمان إذا ما قام بالتحديث المطلوب ... لأنك معطيه Parameters ناقصة ) .

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

<<< طيب يا خي هيك علمونا أجدادنا القدماء ... شو في غير ها الحل , نورنا ؟ >>>

يا أحبابي و زملائي الكرام : ألم تلاحظوا في إصدار Visual Studio 2005 ( وقد سأل عن ذلك أحد الزملاء مستغرباً , حيث نزله مؤخراً ) بأن شريط الأدوات ( ToolBox ) وخاصة قسم الـ (Data) منه , أنهم قاموا بإزالة كل تلك الكائنات تقريباً التي كانت موجودة في 2003 و 2002 ؟

أقصد منها ( Connection , DataAdapter , DataCommand طبعاً حسب أنواعها SQL أو Oracle أو OLEDb ) . لماذا فعلوا ذلك ؟

( مع أننا يمكن أن نستدعيها من الخارج كــ Components جديدة ) , وتركوا لنا بضعة كائنات مثل ( DataSet, BindingSource ) ...

(" شو ها البخل يا خي ... ؟ طيب شلون بدي أشتغل بالبرنامج بدون هديك الشغلات القديمة ؟ ")

يا أحباب القلب : تلك الكائنات لم يقل أحد أنها انقرضت , بل هي موجودة في كل برنامج معاصر وحديث , ولا يوجد أي غنى عنها . لكن كيف ذلك ؟

سأنهي هذه الجزئية الآن لأنها طالت كثيراً , لكن قبل ذلك سأوجه إلى شيء ما سيكون محور حديثنا معكم إن شاء الله بعد رؤية الاستجابة الطيبة منكم .

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

لكن هناك شيء بسيط يشعل في قلبي الحرقة , وهو أن المشرفين الأفاضل يجلسون متفرجين عليّ دون مساعدتي بتوصيل وشرح هذه الأفكار للجميع من

مبتدين و خبراء على حد سواء ( فالخبير لم يولد خبيراً , إنما قرأ شيئاً فعمل به ثم صار به خبيراً , وإذا لم يقرأه ويعمل به فهو بالتأكيد جاهل به ) .

فدعوتي هي للقراءة والبحث والممارسة الجادة , وأنصح بمكتبة الـ MSDN لأنها مصدر سيجيب على معظم أسلتك البرمجية . سأضع في المرفقات شيئاً من تلك المكتبة يتحدث عن صلب موضوعنا , أرجو قراءته و فهمه , ثم نعود بإذن الله للتحدث عنه في مقال قادم ( يا حبيبي ... مقال !! ).

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

أكرر رجائي الماضي : أرجو ممن لديهم أي تعليق أن يكون تعليقهم ضمن النقاش , وليس على صاحب النقاش .

وفقنا الله جميعاً لما يحب ويرضى ورفع درجاتنا في الدنيا و الآخرة .... والسلام عليكم .

Typed_DataSet.rar

#5

السلام عليكم ورحمة الله وبركاته

كلام جميل ولكن المشكلة اللتي تكمن بالويزاردات انها تعطيك شي ثابت . على سبيل المثال لو كانت تريد استخدام الداتا ست في اكثر من استعلام او الاتصال باكثر من جدول .....

وكنت كما كان اكثر الشباب في البداية استخدم ايام ال VB6 الادوات DATA و ADO بشكل جاهز ويزارد ولكن سرعان ما اكتشفت انني لا استطيع استخدامها في البرامج الكبيرة والمتغيره .

لكن هناك اجزاء في البرنامج مثلا تعرف انها ثابته فيمكن استخدام الويزارد .

عندما انتقلت الى الـ .NET في بداياته كدت ان اجن لانني اتبعت الويزارد فلم اعرف اي ذهبت البيانات ولا كيف اعدلها وجلست قرابة 3 شهور احاول ان اتعلم الطرق الكثيرة في الاتصال ..

( اعتقد انه ليس استخدام الكود هو المشكلة بل الطريقة اللتي يبنى بها الكود والمفروض ان يكون لدينا ويزارد يجهز لك الكود اي بمعنى انه يسألك عن البيانات ثم يعطيك الكود كما لو انك كتبته لتقوم بلصقه ثم تعدله حسب رغبتك - فاذا كانت هذه الميزه موجوده فاعتقد ستجعلك تفهم اكثر وانت تعمل - ليس ان تسحب الادوات وتضعها على الفورم فقط ليعمل التطبيق دون ان ترى ماذا حدث)

اخوك

Mansur

#6
MANSUR كتب:
السلام عليكم ورحمة الله وبركاته

كلام جميل ولكن المشكلة اللتي تكمن بالويزاردات انها تعطيك شي ثابت . على سبيل المثال لو كانت تريد استخدام الداتا ست في اكثر من استعلام او الاتصال باكثر من جدول .....

وكنت كما كان اكثر الشباب في البداية استخدم ايام ال VB6 الادوات DATA و ADO بشكل جاهز ويزارد ولكن سرعان ما اكتشفت انني لا استطيع استخدامها في البرامج الكبيرة والمتغيره

عندما انتقلت الى الـ .NET في بداياته كدت ان اجن لانني اتبعت الويزارد فلم اعرف اي ذهبت البيانات ولا كيف اعدلها وجلست قرابة 3 شهور احاول ان اتعلم الطرق الكثيرة في الاتصال

هذا لأنك بالأساس لم تكن تلم بكيفية عمل الأشياء وبعد أن تتعرف جيدا على طريقة عملها سيمكنك تغيير الاتصالات كما تريد انطلاقا من كود الويزارد

لايعني استخدام الويزارد لتوفير الوقت والجهد عدم الإلمام بطريقة عمل الأشياء حتى أستطيع تطويع ماهو موجود وثابت إلى ما أريد بالإضافة إلى أنك لاتستطيع أن تعمم مشاكل VB6 على الدوت نيت وبشكل خاص عندما نتحدث عن قواعد البيانات

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 4 مايو 2007 في 20:00

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#7

موضوع رائع وهام جدا ..

وانا معك يا استاذ أبوهمام في كل ما تقوله ،، ولكن مع تحفظ بسيط ..

وهو أن استخدام الوزرد فعلا يخفف المعاناة واليقلل والوقت والجهد ،، ولكن أرجو أن لا يكون ذلك في سبيل طمس المفاهيم والخلفية التي يعمل عليها الوزرد ،،

وشخصيا أنا أرحت نفسي منذ بداية استخدامي للدوت نت وعملت كلاس خاص لعمل كل ماهو متعلق بقاعدة البيانات ،، وهو فعال 100% وربما يحتاج الى تعديلات من نسخة الى أخرى . وفي بعض الاحيان ( من كثرة استعمال هذا الكلاس ) انسى الخلفية التي يعمل عليها..

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

أنا لا أعارض استخدام الأدوات الحديثة انما أعارض الاعتماد عليها كليا ..

تم تعديل هذه المشاركة بواسطة Scoool في 5 مايو 2007 في 15:05

#8

صحيح مالي مبرمج ولكن احب الغوض في مثل هذه النقاش (انا شبكتجي)

انا كع فكرة ان نعمل على فكرة الوزردة بس مع مراعاة الفهم لها

يعني مو بس نوزرد و نفهم ابل ما نوزرد

طبعاُ وات بدنا نفهم هيك شغلة فلح تكون لمرة واحد مو دائمة يعني مو كل مرة و هاد الموضوع بساعد على التطوير اكثر فاكثر و يعطي افكار كتير حلوة

و للعلم من المفترض علينا ان نقوم بالعمل على النسخ البيتا لانو في تقديمك للأخطاء بتعطيك خبرة بالدرجة الاولى و بتزيد نقاطك شوي شوي عسا ولعلا لانك تصير معتمد لهم في مجال معين

طبعاً هاد الكلام ينطبق على كافة المنتجات و ليس على microsoft فقط.

و الله يعطيك العافية

تم تعديل هذه المشاركة بواسطة aminoo في 5 مايو 2007 في 16:27

تجارب وخبرات

#9

أود أشكر المشاركين وصاحب الموضوع اولا على هذه المقالة الطيبة ،،،

أولا موضوع الويزرد يوفر الجهد ولو كنت ملم بالتحليل من البداية.. فسيسهل عليك العمل كلام طيب.

لكن افترض انك احتجت تطويرات مستقبلية لقاعدة البيانات او انك تريد تطويعها لامر ما او نقلت جدول او اضفت حقل مكان حقل..

أرجو من المدافعين عن الوزاردات الاجــــابة عن هذا السؤال.

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

الا يكفيك تسميات المتغيرات بالويزارد احيانا لاتكون ذات معنى او مغزى...

والله انا باتعب بالكود كثير بس لاني مش ملاقي طريقة افضل واكثر احترافا.. لحد الان.. ربما بالمستقبل.

#10

كما قال الإخوان السابقون..

الويزارد لا يعني تخلف أو عدم إلمام..

و لكن الذي سبب هذه الفكرة عن الويزارد عدة أشياء من وجهة نظري..

أولها الكثير من كتب التعليم.. تجد في الكتاب شرح مفصل و من الصفر إلى الاحتراف و لكن كله بالويزارد.. تعال على التطبيق العملي و شوف؟

تجده لن يستطيع كتلبة حرف واحد.. و هذا الشيء أنا عايشته بنفسي في بدايات الـ .NET

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

خذ مثلا: في موضوع ربط قاعدة بيانات بشبكة..

اعتدنا التالي:

نعرف الاتصال

نعرف مجموعة البيانات

نعرف محول البيانات

نعرف جملة الاتثال

نملاء مجموعة البيانات

نربط الشبكة مع القاعدة

في وضع استخدام المعالج كل ما نحتاجه هو عنصر اتصال بيانات

نشغل المعالج و نمشي معه

و نربط الشبكة بعنصر الاتصال..

و خلص!!

و إذا فرضا احتدنا إلى تغيير سلسلة الاتصال فقط نغيرها بسطر كود واحد و نحدث الشبكة و السلام,,

ما في لا إعادة كتابة كود و لا كلام فاضي زيادة!!

و هنا شيء مهم:

الويزارد يعتمد على مستخدمه..

يعني يكون قوي و جامد إذا كان مستخدمه فاهم..

و يكون تخلف و شي مالو داعي إذا كان مستخدمه ما يعرف إش معنى كلمة Dim - لا أحد يصدق بس مزح مشان نرطب الجو :D :D -

و طبعا اللي على راسه باد سكتور يحسسه :D على قولت آخر أمثال القرن 21

lxcs.png

syria-flag_small.jpg

#11

السلام عليكم ورحمة الله وبركاته

====================

يجب أن نبدأ من حيث انتهى الاخرون

#12
activeman كتب:
أود أشكر المشاركين وصاحب الموضوع اولا على هذه المقالة الطيبة ،،،

أولا موضوع الويزرد يوفر الجهد ولو كنت ملم بالتحليل من البداية.. فسيسهل عليك العمل كلام طيب.

لكن افترض انك احتجت تطويرات مستقبلية لقاعدة البيانات او انك تريد تطويعها لامر ما او نقلت جدول او اضفت حقل مكان حقل..

أرجو من المدافعين عن الوزاردات الاجــــابة عن هذا السؤال.

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

الا يكفيك تسميات المتغيرات بالويزارد احيانا لاتكون ذات معنى او مغزى...

والله انا باتعب بالكود كثير بس لاني مش ملاقي طريقة افضل واكثر احترافا.. لحد الان.. ربما بالمستقبل.

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

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#13

السلام عليكم ورحمة الله و بركاته :

حياكم الله يا أحباب : أود في هذه الجزئية أن أرد على بعض الزملاء الكرام ....

أولاً : الزملاء محمد سامر أبو سلو , SalehRam , aminoo , Scoool , shdelpiero ...

هذا هو المطلوب بالفعل يا أحبة , يعني أن نفهم طريقة العمل ثم ننفذ ذلك العمل بالطريقة التي تفي بالغرض مع أقل المجهود ...

ثانياً : الزملاء : activeman , MANSUR ..........

لنفرض يا أصدقاء أنني اضطررت أن أعدل في قاعدة البيانات ( تعديل مواصفات , إضافة حقول أو حذفها ... ) , (( شو ها المشكلة العظيمة ؟ )

يكفي أن أقوم بعمل ( ReBuild ) للبرنامج و كل شيء يصبح جاهزاً إن شاء الله .

ولنفرض أن الأمور ساءت أكثر فأكثر ... بالنسبة لي , أفضل أن أعيد تكوين الاتصال بقاعدة البيانات الجديدة باستخدام الـ " Wizard " ( معليش لا تضحك .. ) أفضل بكثير من أن أكتب كل تلك الأكواد والتصاريح ( وهات تذكر شو اسم ها الكائن أو هذاك .. )

أنت لو تعرف ماذا يكتب الـ Wizard من وراء الكواليس , لكنت شعرت أن عدد الأكواد التي تكتبها بنفسك قليل جداً ...! ( اي والله .. )

لأن هذا الـ Wizard ( المسكين .. ) يكتب لنا مئات الأسطر لكي يصرح عن بعض الكائنات بحيث لا يترك أي مجال للمترجم البرمجي لكي يفتح فمه .

لكن في النهاية , دوري ودورك لم ينته عند ذلك . فهناك مهام كثيرة يجب عليك وحدك إدارتها و توجيهها من موقعك كمبرمج .

سأتابع الحديث في المرة القادمة إن شاء الله عن مثال برمجي يوضح هذه الدوامة التي يحوم فيها الكثير دون داع . والسلام عليكم

#14

و في شي آخر نسيته.. و هو:

لا ننسى أن المعالج ما كان إلا كلاس أو برنامج كله مثل البرامج التي نقوم بكتابتها..

يعني مو صعب على أي أحد يسوي شي خاص به فقط.. يقوم بأداء أغلب العمليات الطويلة..

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

فعلى سبيل المثال أنا مثل أخي Scoool عملتلي كلاس مشان العمليات على قواعد البيانات.. و قابلة للتعديل

صحيح أنها صغيرة و تافهة و ما تتعدى 100 سطر بس الأقل من 100 سطر هي وفرت على آلاف السطور من تعريف المتغيرات و الحوسة في تذكر أسماء العناصر و تعال دور على الصيغة الصح إلخ... فاصبح الشي الذي يخلص بـ 3 أيام أخلصه في يوم واحد بسبب اختصار الوقت و الفعالية في الأداء..

فكيف باستخدام المعالجات؟

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

و لكن يوجد طرق أخرى للتعديل عليه..

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

تم تعديل هذه المشاركة بواسطة SalehRam في 6 مايو 2007 في 10:47

lxcs.png

syria-flag_small.jpg

#15

أعتقد طال الموضوع واحنا متفقين ..

و مشرفنا الرائع محمد سامر يعطيه العافية حلها من النهاية في قوله :

اقتباس
استخدام الويزارد لايعني عدم الالمام بكيفية كتابة الكود وعندما تلم بكيفية كتابة الكود تستطيع تحليل كيفية عمل الكود المولد من قبل الويزارد وبالتالي تعديله كما تريد

واذا حضر الماء بطل التيمم

#16
اقتباس
هذا لأنك بالأساس لم تكن تلم بكيفية عمل الأشياء وبعد أن تتعرف جيدا على طريقة عملها سيمكنك تغيير الاتصالات كما تريد انطلاقا من كود الويزارد

لايعني استخدام الويزارد لتوفير الوقت والجهد عدم الإلمام بطريقة عمل الأشياء حتى أستطيع تطويع ماهو موجود وثابت إلى ما أريد بالإضافة إلى أنك لاتستطيع أن تعمم مشاكل VB6 على الدوت نيت وبشكل خاص عندما نتحدث عن قواعد البيانات

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

أوافقكم الرأي بهذه النقطة

انا لا حظت أن مثلا الا تصال عن طريق dataSource عبارة عن كلاس class ملم بكل شيء .. حينما قمت بتنزيل vs.net2005 على جهازي تجاهلته لاني وجدت فيه عدة مشاكل ..... ولكني حينما قرأت عنه وتعاملت به ...كذا مرة وجدته أفضل من ال Class الذي أستخدمه انا بكثير ....

وقيل "لإكتساب المعرفة على المرء أن يدرس , ولإكتساب الحكمة عليه أن يلاحظ "

تم تعديل هذه المشاركة بواسطة فلسطيننا في 6 مايو 2007 في 17:25

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#17

السلام عليكم ورحمة الله وبركاته :

أولاً : أشكر جميع من اطلعوا على الموضوع وشاركوا ... حياكم الله جميعاً .

ثانياً : أرى أنني أتكلم مع نفسي ومع بعض المشرفين والزملاء الأعزاء فقط ! .. مع أننا نتكلم العربية , ونريد الفائدة والمساعدة للجميع .

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

أنا أستغرب يا جماعة أننا نملك آخر ما توصل إليه الغرب , لكننا نوظفه بأسلوب العصور الوسطى ( المعذرة ... هذا الواقع ).

ثالثاً : من ردود الإخوة الأفاضل , أرى أن مغزى و مسار القصة قد تحول باتجاه آخر . فصار الموضوع والنقاش يدور حول مشاكل الـ Wizard وفوائده ... (( ومثل ما قال " جدو مبرمج " في بداية الموضوع , يبدو أنني صرت من دعاة " الوزردة " ... )

الحكاية وما فيها يا أصدقائي الأحبة أنني رأيت ( ورأى بعض الزملاء والمشرفين ..) أن كثيراً جداً من الذين يعملون في مجال البرمجة ( وبالذات برمجة قواعد البيانات ) أنهم مازالوا يعتمدون على أفكار وأساليب الإصدار الأول من VS.Net في الوقت الذي يعملون فيه على VS_2005 , وقد ذكرت ما يجري من إرهاق و جهد شديدين يقوم به الكثير لكي ينفذوا أمراً بسيطاً , وهذا الأمر قد رأى أصحاب القرار في Microsoft أنهم يمكن أن يريحونا منه لكي نتفرغ لأشياء أكبر .... ( لكن الشباب أصروا _ إلحاحاً_ على إكمال النحت وتعب البال ... ) .

سأدخل في التفاصيل , مع أنها يمكن أن تعتبر درساً تعليمياً , والذي يخاف من حجم الموضوع من بدايته ربما لن يصل إلى هذا الدرس ...!

<<< هات شو في عندك يا أبو العصور الحديثة ... نورنا ..>>>

يا أحبتي الكرام : كلكم تعرفون كائن الـ DataSet ( طبعاً ... صاحب و حبيب الملايين ) . هل يعرف أحد صورة هذا الكائن اللطيف و مما يتكون ..؟

<<< يا خي بتكون من جداول و توابعها , بس صورتو ما تشرفنا و شفناها ...!! >>>

طيب جميل جداً , سأريك إياه وهو يضم بين ذراعيه تلك الجداول ومعها شباب الـ DataAdaptes , كل جدول معه DataAdapter جميل ...

نفذ هذه الخطوات لكي تريح نفسك :

1. في بداية مشروعك البرمجي , ومن قائمة ( Data ) اختر ( Add New Data Source )

2. أكمل خطوات الـ Wizard حسب المراحل المرفقة في صور ... ( لا تنس تحميل الصور )

3. بعد الختام ستحصل على شيء يسمى Typed DataSet

<<< اي وين صورة الـ DataSet يا بطل زمانك , ما ني شايف شي ... >>>

صبرك يا أخي الكريم :

أنت إلى هنا لم تكتب الـ ConnectionString أو DataAdapters أو Commands أو DataSet .. صح ؟ ولن تحتاج إلى ذلك أبداً ..!!

بعد تلك الخطوات سوف ترى في نافذة المشروع ملف يحمل الامتداد ( .XSD ) . نقرتين عليه لو سمحت .... ( ماذا ترى ..؟ )

سوف ترى مخططاً أو رسماً أو صورة جميلة تشبه هذه الصورة ...

post-106212-1178486283_thumb.jpg

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

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

لأنك سوف تجدها قد ظهرت أمامك ( شبيك لبيك ... ) عندما تضع تلك النقطة العجيبة أمام تلك الكائنات التي رأيتها في الصورة يعني هكذا ...

post-106212-1178486793_thumb.jpg

(( غريب .. موهيك ..؟ )) . يا أخي ما أحد غريب إلا الشيطان ... ( نعوذ بالله منه ... )

كل هذه الخطوات لم تكلفك سوى كتابة اسم كائن ومن خلفه ( نقطة ) فقط ... ( وخلي الـ Wizard يحرك حالو شوي ... مو غلط )

نكتفي بهذا القدر . إذا رأى أحد من ذلك كله أي فائدة أو أي فرق عن الأساليب المتبعة عند الكثير , سنتابع الكلام مع أنه لم يبقى شيء يستحق التكلم عنه .

نرجو دعاءكم ... و ندعو الله أن يوفقنا و إياكم إلى كل خير و بركة في الدنيا و الآخرة ... والسلام عليكم .

Typed_DataSet_Pic.rar

تم تعديل هذه المشاركة بواسطة أبو همام في 7 مايو 2007 في 00:44

#18

السلام عليكم

هذا الذي ينبغي ان يقال لا أكثر ,,

الموضوع تم التطرق له أكثر من مرة

وهذا احد هذه المواضيع السلام عليكم.

في المثال يتضح المقال

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…