Banner 468

الجمعة، 11 نوفمبر 2011

كمطور:عشرة أسباب تجعلني أفضل التقنية المفتوحة المصدر

0 التعليقات
 

المقالة منشورة علىوادي التقنية واحببت أن أشارككم بها:

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

1-استخدام التقنيات الحرة المفتوحة المصدر = مبرمج افضل .

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

.
2-التقنيات الحرة وجدت بواسطة مبرمجينمحبي لـلتقنية و ليس رجال الأعمال .

الكثير من التقنيات غير الحرة تعمل و تدارمن قبل رجال الأعمال ، و بطبيعة الحال همهم الأساسي هو الربح ، و هذه بالتأكيد ليسشيئا معيبا ، إلا أن الكثير من قرارات “البيزنس” تؤثر بشكل أو بآخر على الهدفالرئيسي المرجو من التقنية ، وهذه من أهم أسباب قيام حركة البرمجيات الحرة فيالعالم .
3-تستطيع ملائمة الأداة لمهماتمعينة Optimize It

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

جميع المؤشرات تؤكد أن المستقبل هوللـتطبيقات التي تعمل من خلال شبكة الإنترنت و المتصفحات ، من خلال ما يسمىبالحوسبة السحابية Cloud Computing و البرنامج كخدمة Software AsService وغيرها من المصطلحاتالتي بدأت تسيطر على سوق التكنولوجيا .
الإحصائيات تشير إلى أن أكثر من 70 بالمئةمن مخدمات الويب تعمل على نظام تشغيل اللينكس الحر المفتوح المصدر ، لذلك استخدامكلهذه التقنيات و عمل عليها يعطيك فرصة أكبر لفهم كيف يعمل مخدمك، و العمل على نفسالبيئة يكسب تطبيقك القوة بشكل أكبر مما لو كنت تعمل على نظام مختلف .
5-تقنية مفتوحة المصدر = تقنية أمن .

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

في مثال ليس ببعيد ، اشترت شركة أوراكلشركة صن ، و من بين ما حصلت عليه أوراكل من خلال الصفقة هو نظام إدارة قواعدالبيانات الشهير MySQL، بهذه خطوة أصبح العديد من الأشخاص قلقين على مستقبل أعمالهمالقائمة على MySQL ، لحسن الحظ الـ MySQL نظام حر مفتوح المصدر ،وبناء على ذلك قام مؤسس MySQL بعمل تفرع للبرنامج و مواصلة تطوير على آخر إصدارة من MySql تحت اسم MariaDB و بذلك استمرت MySQL بشكل أوبآخر.
7-إحلال التقنية الحرة المفتوحة المصدر ، مكانتلك الغير مفتوحة المصدر هي مسألة وقت .

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

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

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

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



كاتب المقالة أحمد شكر، مصمم و مطور مواقعإنترنت و مهتم بتقنيات الويب و البرمجة بشكل عام، نشرت المقالة أول مرة في مدونته،ونشرت هنا بإذن شخصي منه، فله الشكر
تابع القراءة...
الجمعة، 4 نوفمبر 2011

كلمات قالها ستيف

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

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

تابع القراءة...

قم بالتصويت الآن.......هل تريد أن ينمع الحجاب في نيوزلندا

0 التعليقات
 
انشر بأقصى سرعه

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

وقد تمكنا سابقاً من كسر ذلك وبعد توفيق الله يمكننا أن نجعل التصويت لصالح أخواتنا المسلمات
فصوتوا أولا ثم أنشروا هذه الرسالة في المنتديات ولكل من تعرفوا وذلك لنصرة المسلمين
يقول التصويت : هل توافق على منع النقاب في نيوزيلاند؟
وأرجو من الجميع التصويت بـ
NOـ من خلال الرابط التالى

http://nz.news.yahoo.com/polls/popup/-/poll_id/55492?mid=50

صوت أنت أولا ثم انشر الموضوع ولا تستهين بذلك.. التصويت اعلى الصفحه من اليسار

إضغط no ثم submit

ملاحضه هامه:
الفرق ٦ الاف صوت

انشرها بقدر حبك لدينك

تابع القراءة...
الأربعاء، 26 أكتوبر 2011

خارطة طريق لتعلم لغة++c

0 التعليقات
 

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

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


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

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

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

أول نصيحـة لك أسوقها إليك في تعلم البرمجـة هـو أن تحاول قدرالإمكان تعلم البرمجـة بواسطـة اللغـة الإنجليزيـة وليس بواسطـة اللغـة العربية ... قد ترى الأمر مستحيلاًوأنه يحتاج إلى دورات مكثفـة في تعلم اللغـة الإنجليزية قبل أن تنتهي من قراءة أولكتاب برمجي إنجليزي لك ، لا أقول أن الأمر سهل .. ولكنـه يحتاج فقط إلى العـزيمـةأن تستمر .... اختر أحد الكتب المنتشرة في الإنترنت (وأنا أفضل هذا الكتاب الذيكان له الفضل بعـد الله في وضعي على الطريق الصحيح لإتقان لغـة السي بلس بلس وهـو Waite Group's Object-Oriented Programmingin C++ ) وقم بإنزاله على جهـازك وابدأ في القراءة منـه .. ابدأفي قراءة أول صفحـة لا تتوقف انطلق حتى تنتهي منها .. إن كان لديك المزيد من الوقتاقرأها مرة ثانية وإلا فلا ... عـد إلى بداية الصفحـة .. ابدأ في محاولة فهـم كلفقرة على حـدة .. إن وصلت إلى إحدى الكلمات التي لا تعرف معـناها ترجمها بواسطـةإحدى برامج الترجمـة .. إن كان ما أقوله يعـني أنك ستترجم كل كلمـة فهذا ما أقصده.. إذا انتهيت من الفقرة الأولى حاول أن تتذكر ما كان يهـدف إليه المؤلف .. انتقلإلى الفقرة الثانية وحاول أن تنهيها وهـكذا حتى تنتهي من هذه الصفحـة ... إن جزعتواشتكيت ومللت فدع الأمر إلى اليوم التالي .. ولكن لا تتوقف أبداً .... إن كنتقضيت اليوم الأول في محاولة ترجمـة وفهـم فقرة واحدة فقط ... فلن يأتي الأسبوعالتالي إلا وأنت قد أنهيت صفحـة واحدة في كل يوم .. ولن يأتي الشهر القادم إلاوسيصبح بإمكانك أن تفهـم 60% مما يقوله المؤلف دون أن تترجم أي كلمـة وقد تصلقراءتك إلى صفحتين في الساعـة (وهذا أمر جيد في شهر واحد) وصدقني لن تمر ثلاثةأشهر إلا وستكون تقرأ الكتاب وكأنه باللغـة العربية وليس بالإنجليزيـة مع فهـم قديصل إلى 70% مما يكتبه المؤلف .... أمر آخر مهـم وهـو أنه لا بد عليك التفكير وأنتتقرأ أن تفكر باللغـة الإنجليزية وليس باللغـة العربية .. حاول قدر المستطاع ألاتفكر بالترجمـة العربية لكل كلمـة إنجليزية بل حاول فهـم الكلام بداهـة كما تفهـمهعـندما تقرأ كتاباً باللغـة العربية....

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

المصفوفات Arrays والدوال Functions والتركيبات Structures والسلاسل Strings وبالطبع بنى التحكم Control Flow أمور قد تعرفها وقد لا تعرفها .. ولكن من الضروري أنتعرف كيفية استخدامها ... قد تتفاخر بهذه المواضيع وأنك تعلمها وقد كتبت بها أمثلةقبلاً .. ولكن كل هذه المواضيع عبارة عـن أدوات في يد المبرمج عليك أن تعرف كيفتستخدمها ومتى .. إذا لم تعرف ذلك فقد تكون أداة خطيرة تدمر برنامجك وتجعل منهأضحوكـة.. مثلاً قد يكون من الأفضل أن تعـمل البرنامج بواسطـة إحدى بنى التحكم وقديكون من الكارثـة أن تعـمله بواسطـة طريقة العـودية ... أيضاً هـناك قواعـدوأساسيات للبرمجـة الهيكلية يجب عليك أن تعرفها أو على الأقل تعرف الأهـدافالعامـة لأي طريقـة برمجـة؛ من ضمن هذه الأهـداف إمكانية إعادة الاستخدامواستقلالية العـنصر البرمجي ( سواء دالة أو فئة أو غير ذلك) عـن التأثيراتالخارجيـة...

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

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

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

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

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

قم بكتابة برنامج شبيه بالآلة الحاسبة التي يستخدمها الطلاب ، تستطيعقبول العـمليات الأساسية (+ و – و / و *) بالإضافة إلى الأقواس .. وأيضاً معمراعاة أسبقية العـمليات الحسابية .. هذا المثال ليس سهلاً كما تظن..ولوقمت بحله بواسطـة لغة السي (وليس بالسي بلس بلس) فإنه ينتظرك مستقبل رهيب فيالبرمجة.

على العـموم سأكتب هـنا أهـم التعليمات والفوائد والخطوات التيستعينك على إتقانك هاتين اللغتين:
1) حاول دائماً تعلم هاتين اللغتين بواسطـة اللغـةالإنجليزية وليس العربية.
2) من الأفضل أن تتعلم لغـة السي أولاً ثم تنتقل إلى لغـةالسي بلس بلس ثانياً ... تعلمك للغـة السي سيعلمك إتقان البرمجـة الهيكلية ثم بعـدذلك بإمكانك الانتقال إلى لغة السي بلس بلس حتى تتقن فلسفة البرمجـة الشيئيـة.
3) تعلم الخوارزميات ؛ وقبل أن تبدأ في كتابة أي برنامج مهـما كان بسيطاً حاول أن تصممخوارزمية البرنامج أو على الأقل تكتبه بواسطـة الـ Pseudocode ...قد تستغرب من هذا الإجراء خاصـة عـند المشاكل البسيطـة ... لكنبهذه الطريقة ستتقـن كيفية التصميم وصنع الخوارزميات وستتعلم الكثير من أسسوأساليب الخوارزميات ... وبالتالي فلن تتعب كثيراً مثلي حينما تقوم بتصميم برنامجذو مشاكل معقدة للغاية.
4) إذ كنت مقسماً برنامجك إلى عـدة دوال .. فمن الضروري أنتعتبر هذه الدوال عبارة عـن صناديق سوداء لها بيانات داخلة وبيانات خارجـة وتقوم بإجراء عـملياتفقط ... ركز أثناء تعلمك للدوال على قواعـد مجالات الرؤية Rule Of Scope وعلى صفوف التخزين أيضاً Storage Classes وحاولتطبيقها عـملياً أثناء كتابتك للبرامج ... حينما تقوم بصنع أي دالة ركز دائماً علىأن تحقق الأهـداف العامـة للبرمجـة ، وهي مثلاً: القدرة على إعادة الاستخدام .. وهي إمكانية أن تعيد استخدام الدالة في برامج أخرى ،وأيضاً الاستقلاليةعـن التأثيرات الخارجية ، وهي أن الدالة لا تتأثر بما يحدث خارجها .. كل هذا يعـني أنهعليك الابتعاد قدر الإمكان عـن استخدام المتغيرات العامـة.
5) إذا كنت مقسماً برنامج إلى عـدة كائنـات... فمن الضروري تمثيلالحياة الواقعية في برنامجك .. هذا ما تسعى البرمجـة الشيئية الوصولإليه وعليك عـدم مخالفة هذا الهـدف .. من إحدى أهـم قواعـد البرمجـة الشيئيـة ..أن كلشيء في البرنامج يجب أن يكون كائن .. أيضاً البرنامج هـو يعتبر الحياة الواقعية ، حيث تقومالكائنـات التي يتكون منها برنامج بالتفاعل مع بعضها البعض بواسطـة إرسالالرسائل ..التفاعل مع بعضها البعض لا يعـني أبداً أن يقوم الكائن (أ) مثلاًبتغيير طبيعـة الكائن (ب) .. هذا يعـني تقليل التزاوج بين الكائنـات أو تقليل الـ coupling بينها ... قد تستغرب سبب التقليل من هذا التزاوج ،السبب في ذلك حتى يكون الكائن مستقلاً وليس تابعاً لأحد الكائنـات.
6) من أعقد الموضوعات في لغـة السي والسي بلس بلس موضوع المؤشرات ...أفضل طريقة حتى تفهـم موضوع المؤشرات هـو أن تعتبرها مثل صناديقالبريد حتى تفهـمها ... حتى فهـمها منك لا يعـني أنها ستكون طريقة آمنـة بل تعتبرهي من أعقد المواضيع ويكفيك أصلاً أن هذه التقنية ليست موجودة في غير هاتيناللغتين.
7) حاول أن تتعلم أيضاً الـ Data Structure .. وقبل ذلك أتقن المؤشرات والمرجعيات.
8
) إذا فشلت مثلاً في صنع برنامج ... فلا تيأس أبداً ..حاول أن تعيد أفكارك .. وأن تتعامل مع البرمجـة وكأنها عـملية بناء أو تركيب لدوالوكائنـات هي موجودة أصلاً.
9) من أجمل المواضيع في البرمجـة الشيئيـة وعـند تعاملك معالكائنـات هـو موضع أنماط التصميم البرمجية Design Patterns ...حاول أن تتقن هذا الموضوع وأن تعرف كل كبيرة وصغيرة فهـو أولاًممتع وثانياً صغير حيث يصل عدد الأنماط إلى 23 نمطاً وثالثاً هـو خلاصةخبرة أفضل المبرمجين في العالم.10) قد تريد الانتقال إلى دوال الـ API وإلىالبرمجـة تحت الويندوز .. على العـموم أود أن أقول لك أن موضوع دوال الـ API هـوموضوع بسيط وسهل للغاية .. كنت في السابق أخشاه بسبب اعتقادي لصعوبته وطول الكـودالواحد ... الموضوع بسيط ولا يحتاج منك أصلاً إلا لفهـم وصدقني لن يمضي يومان إلاوأنت تكتب تلك الأكـواد الطويلة دون الرجـوع إلى أي كتاب.
11) لا تتوقف أبداً عـند هاتين اللغتين لغتي السي والسي بلسبلس حاول أن تتعلم لغات أخرى ... وستدرك أن تلك اللغات تملك الكثير بالرغـم منضعفها أمام لغتي السي والسي بلس بلس ... تعلم مثلاً السي شارب أو الجافا أو حتىالفيجوال بيسك .. إذا كان الأمر عائداً لي ... فباعتقادي أن الفيجوال بيسك عبارةعـن طفلة صغيرة وأن الجافا والسي شارب عبارة عـن شابات في عـمر الزهـور وأن السيبلس بلس عبارة عـن فتاة في عـمر الثلاثين وأن السي عبارة عـن عـجوز ... السي لغـةصعبة للغاية ولا تمد المبرمج بأي مساعـدة إطلاقاً .. لغات مثل الجافا والسي شاربتمدك بالمساعـدة ولكنها تخل بالبرنامج وبالرغـم من ذلك فهي مطلوبة .. أما لغـةالسي بلس بلس فهي لغـة عاقلة تستطيع أنت بنفسك صنع المساعـدة وتسهيل البرمجـة عليكولن تطلبها من اللغـة نفسها ولذلك فأنا احترم مثل هذه اللغـة. 
منقول من منتديات الفريق العربي للبرمجة.
تابع القراءة...
الجمعة، 14 أكتوبر 2011

دورة c#

0 التعليقات
 
بصراحة كنت أعتزم أن أقدم دورة مكتوبة في لغة البرمجة #c و هذه الدورة عبارة عن عشرين درساً لكنني وجدت على شبكة الانترنت ما هو أفضل من هذه الدروة
دورة بالفيديو عن هذه اللغة و ذلك من خلال الرابط
http://www.videolearn.mawj.net/index.php?option=com_hwdvideoshare&task=viewcategory&Itemid=106&cat_id=28&lang=enتحوي هذه الدروة على أكثر من خمسين درس فيديو تجعلك أن تصل لدرجة الاحتراف في هذه اللغة
لكني لن أقف مكتوف أيدي لا أفعل شيئاً
متابعيني الأعزاء كل شخص لم يفهم شيء في هذه اللغة يمكنه أن يراسلني بما لم يفهمه و أنا سأشرح له
Man.mhd@gmail.com
تابع القراءة...
الأحد، 9 أكتوبر 2011

آسف على الانقطاع

0 التعليقات
 

آسف على الانقطاع عن التدوين لكنني في صدد إطلاق مجموعة من دروس c# و أعمل على تجهيزها حالياً لا أريد أن أكثر عليكم و في نفس الوقت لا أريد أن أخسر قراء مدونتي انتظروني فإني أقترب من إطلاق هذه الدروس
تابع القراءة...
الجمعة، 9 سبتمبر 2011

محتوى الموقع هو ملكه

0 التعليقات
 

ملك الموقع هو محتواه لكن ليكون ملك هذا الموقع هو المحتوى يجب  أن يكون المحتوى جيد و هنا يأتي السؤال ما هو المحتوى الجيد؟
المحتوى الجيد له ثلاث صفات رئيسية:
أ- يعطي القارئ معلومات مفيدة مقدمة بشكل وثيق مترابط.
ب- ترفع من ترتيب الموقع لدى محركات البحث.
جـ- تجلب الكثير من الروابط الداخلية من مواقع أخرى.

 
لاحظ أن القراء يأتون في المرتبة الأولى و من هذه الكلمات يجب على موقعك أن يوصل معلومات جيدة و ذات قيمة للزوار و يجب أن يقغل ذلك بطريقة مترابطة و سهلة .
*إن المواقع التي تختص بموضوع معين يكون لديها الكثير من المعلومات و لذلك أنت و موقعك ستكون منافِس لمواقع أخرى و منافَس من مواقع أخرى أيضاً و يجب عليك أن تسبقهم كلهم كيف؟ سأقول لك يجب عليك أن تضيف إلى موقعك مقابلات مع الخبراء و تضع مواضيع ذات قيمة و تقدم أطروحات جيدة و تكتب مقالاتك بشكل جيد و إن لم تكن تستطيع فعل ذلك فيجب عليك أن تستعين بشخص يستطيع كل ذلك أو بعضه لن تحصل عليه بشكل مجاني و لكنك ستساهم في رفع رتبة موقعك.
*بالرغم من أن محركات البحث ليست من زورا موقعك الدائمين لكنها ما زالت تؤثر في ترتيب موقعك لذلك احرص دائما على تجديد محتوى موقعك لكي يجد فيه محرك البحث في كل زيارة شي جديد فيرفع رتبته بدل من أن يجده ثابتاً جامداً خالياً من الجديد و في هذه الحالة إما أنه سيبقي على رتبة موقعك نفسها أو أنه سيخفضها.
*في بدايات الSEO كانت بضعة كلمات دلالية و رسوم Meta تكفي لأن تجعل موقعك يحتل مراتب عليا و من هذا المنطلق أقول لك عندما تستدعي مصمم و مبرمج ليصنع لك موقعك تأكد من تقنياته و اجعله يعرض عليك بعض من أعماله.
*في عام 2011 غيرت Google خوارزمية البحث لديها و خفّضت أهمية الكلمات و الجمل الدلالية بعدما كانت ذات أهمية كبيرة و  اعتمدت على وسائل أخرى في تقييم الموقع و حساب ترتيبه. هذا التحديث أدى إلى إعادة ترتيب المواقع كلها بدءاً من المواقع الكبيرة الرئيسية مثل yahoo و Amazon انتهاء بالمدونات الشخصية للهواة و هذا التحديث أدى إلى رفع مراتب مواقع أعلى مما كانت و إلى تخفيض من مراتب مواقع أخرى لأنها كانت تعتمد بشكل رئيسي على الكلمات الدلالية.
لكن يجب أن تعلم أن الكلمات الدلالية لم تفقد أهميتها بعد لكنها لم تعد المحدد الرئيسي لمراتب المواقع لدى محركات البحث.
*بما أن الكلمات الدلالية فقدت بعض  من أهميتها فإن أهمية الروابط الداخلية زادت لذلك إن كان موقعك لديه الكثير من الروابط الداخلية فإنه سيصبح ذا أهمية لدى محركات البحث و سيعتبره مهم لدى الزوار و يعرضه في قمة نتائج البحث.
كيف تجعل موقعك يحقق مواصفات الSEO و يكون مهماً لمحركات البحث و للزوار ؟
*لم تعد تقنية الـSEO تعتمد على الكلمات الدلالية بشكل تام إن محركات البحث الجديدة تقوم بفحص الصفحة بشكل سريع و هكذا يفعل زورا موقعك للوهلة الأولى .
جاكوب نيلسون باحث و خبير فيما يسمى بالآلة الإنسان(محركات البحث هي مثال عن الآلة الإنسان) يقول:
((ثمانون بالمئة من متصفحي الانترنت يقومون بقراءة سريعة للموقع و لا يقرؤوه كله سطراً سطراً
إنهم يقضون الثواني الأولى يقررون فيما إذا كان هذا الموقع يستحق أن يقضوا جزءاً من وقتهم يقراءته))
و أنا أقول لك من هذه الفكرة ينطلق مبرمجو  محركات البحث و يقومون بصناعة محركات البحث تعتمد على الفكرة السابقة((الفحص السريع للموقع)).
*إن ما يثير اهتمام الزوار هو نفسه الذي يثير اهتمام محركات البحث إن الزاوية اليسرى العلوية من كل موقع هي الزاوية الأكثر أهمية من كل موقع لأن كل محركات البحث تعتبر أنه في تلك الزاوية يتواجد شعار الموقع و إلى تلك الزاوية تتوجه أنظار الزوار لذلك يفضل أن تضع تحت شعار الموقع اسم الموقع لأن ذلك سيجعل محرك البحث تفهرس موقعك بشكل فوري.
*إن النص العريض (bold) يثير انتباه الناس و كذلك محركات البحث لكن يجب عليك أن تستخدم هذه الميزة بتعقل لأنك إن أكثرت من النصوص العريضة فستظهر بالنسبة لمحركات البحث كإعلانات و هذا سيخفض ترتيب الموقع ببساطة اكتب مواضيع للزوار و ستلحق بك محركات البحث.
قاتلو الموقع هم :مضاعفة المحتوى و الرسائل المزعجة و الصور عديمة الارتباط بالموضوع :

 
بعد سلسلة الدروس هذه أصبح لديك فكرة عما تطلبه هذه التقنية و لكن يجب عليك أن تعرف ما ترفضه هذه التقنية.
*إن تكرار المحتوى يغرق الموقع بالمشاكل و يدمره حتى نقل المواضيع من مواقع أخرى و من مواقع الأخبار الرسمية و إضافة عليها بضعة فقرات من عندك سيدمر الموقع لأن الزوار ليس لدبهم أي حافز ليزوروا موقع يقدم لهم نفس الأخبار التي تقدمها مواقع أخرى عالمية و ما يبعد الزوار سيبعد محركات البحث
سأعطيك مثال من الواقع:
ظهرت منذ فترة لغة برمجة منشئ المواقع أنا لم أكتب عنها في مدونتي ببساطة لأن المستخدم عندما سيبحث عنها عنوان ما في محرك البحث و ستظهر له مجموعة من النتائج و أنا متأكد أن سيوجد مئات النتائج تتحدث عن نفس الموضوع  و ستوضع قبل مدونتي في صفحات النتائج.
يمكنك ببساطة أن تأخذ الفكرة العامة و تبني عليها موضوع جديد مختلف كلياً عما ينشر في الصفحات الأخرى هذا سيأخذ منك الكثير من الوقت لكنه سيمدك بزيارات عالية و سيعتمد الزوار على تحليلاتك للخبر لا على عرضك للخبر.
في النهاية كما قلنا من قبل لا تضع الرسائل المزعجة و لا تضع صور عديمة الارتباط بالموضوع و لا تكثر من الإعلانات.
و في نهاية مقالتي هذه أهنئكم لأن سلسلة الدروس هذه انتهت لكن من قرأ شعار مدونتي بشكل صحيح سيعلم أن هذه المدونة مختصة بالبرمجة و المصادر المفتوحة و هنا سيتبادر السؤال ما دخل تقنية SEO و هي تقنية تختص بإشهار المواقع و محركات البحث بالبرمجة و المصادر المفتوحة؟
و من الكلمتين الأخيرتين في السؤال يأتي جوابي:أن تضع بشكل مجاني مجموعة من الدروس لعمل ما مكلف كثيراً بصيغته المأجورة في المحتوى العربي الذي لا يحوي الكثير من المعلومات عن هذه التقنية ستشكل هذه الدروس مصدر مفتوح و ستكون مساهمة أيضاً في مشروع إغناء و في النهاية أنا أقول لكم:
أن المصادر المفتوحة لا تُعنى فقط بالبرامج و البرمجيات و إنما بكل ما هو مدفوع الأجر يعرض بشكل مجاني للعامة.
رسالتي لكم في هذه الدنيا يجب أن تعلموها المصادر المفتوحة
تابع القراءة...

Ads 468x60px