للمستجدين ... دليلك الأولي لفهم و التعامل مع منصة Stackoverflow

للمستجدين ... دليلك الأولي لفهم و التعامل مع منصة Stackoverflow

لا تخبرني انك لم تواجهه يوما، اتحدث عن الـ Bug اللعين، ذلك المشكل البرمجي الذي جعلك تفكر دقائق و ساعات، لتقوم بنسخ المشكل كما هو و البحث عنه في جوجل، و تنقر على أول موقع يحمل إسم Stackoverflow فتجد احدهم قد طرح المشكل من قبلك فوجد العديد من التعليقات أسفل المشكل، قمت بقراءة التعليق الأول و تجربته، و حللت المشكل الخاص بك في طرفة عين ... أليس الأمر رائعا ؟ قد تعتقد ان ذلك الموقع الذي ولجت له للتو قد ساعدك لمرة و لن يساعدك مرة أخرى، ثم واجهت عشرات او ربما المئات من المشاكل البرمجية في كل مرة، فأدمنت البحث عليها في جوجل و الولوج لأول نتيجة بحث لموقع Stackoverflow و قمت بحل كل تلك المشاكل ... او أليس بمثابة كنز ذهبي ؟ 
لكن ماذا عن تلك الحالات ؟ تلك الحالات الطارئة التي تبحث فيها عن المشكل الخاص بك و لا تجده في المركز الأول ؟ او في المراكز العشر الأولى ؟ او إطلاقا في محرك البحث ؟ فتبدأ في البحث في مواقع اخرى و تجرب أكوادها المزركشة و للأسف لا تجد الحل، فتشتاق و تحن لموقع Stackoverflow الذي ساعدك على مدار مئات المشاكل .. يا خيبة الأمل ! لكن في الحقيقة هنا يتدخل دورك انت أيضا كمبرمج للمساهمة في Stackoverflow و مساعدة أشخاص مقبلين على نفس المشكل من حل المشكل مستقبلا، لربما لا تفعل ذلك لسببين : أولا انت لا تحب المشاركة او الكتابة، انت فقط تأخذ و تقتبس، لا تشارك ليس لديك حساب في الموقع و لم تعلق يوما و لم تنشر يوما، بل في جل المواقع ربما، لربما أيضا قرأت مئات المقالات في موقعنا هذا أكوا ويب و لم تقوم بالتعليق يوما ( و الله يوجد صندوق تعليقات في الأسفل ) ، اما السبب الثاني فهو أنك لا تجيد إستخدام الموقع و ليست لديك المدارك الأساسية حوله، و هذا بالضبط ما سنحاول علاجه في هذا المقال.

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


- ما هو Stackoverflow ؟ 

موقع او منصة Stackoverflow، هي في الأصل موقع أسئلة و أجوبة او Q & A مقسم لمجموعة من الأقسام، هذه الأقسام في الموقع هي التقنيات او اللغات البرمجية إذ يوجد قسم للـ Java وقسم للـ Php و هكذا دواليك، يقوم المستخدمون في الموقع بطرح جميع أنواع إستفساراتهم و مشاكلهم في الموقع، و يتم إجابتهم إما من طرف مستخدمين آخرين عانو سابقا من نفس المشاكل، او من خلال مختصين في تلك اللغات او التقنيات، و أحيانا صانعيها أيضا، نعم فإن كنت تعتقد ان مستخدمين عاديين مثلنا فقط من يجيبون على الأسئلة فأنت مخطئ، فعلى سبيل المثال تجد ان مطوري مكتبات و إطارات الجافاسكربت متوافرين في الموقع على الدوام يراقبون أي سؤال يتم نشره في القسم الخاص بهم، اي قسم تلك المكتبة و لنقل مثلا الـ Vuejs، و فور طرح أي إستفسار او مشكل يتم معالجته من طرفهم، لكن لماذا ؟ 
نعم، لماذا يلج أصلا المختصون او مطورو تلك اللغات بالإجابة على الإستفسارات الخاصة بتقنياتهم ؟ ببساطة لأن بعض المشاكل المطروحة من طرف المستخدم العادي قد تكون Bug او ثغرات أمنية او تهديدات، و وجب تحديث تلك اللغة او التقنية من أجل سد ذلك الـ Bug و إصدار تحديث جديد لتلك التقنية او اللغة البرمجية.
لكن كثرة المستخدمين العالميين الذي يقدر بالملايير الآن للموقع، و كثرة الأسئلة المطروحة التي تساوي أضعاف أضعاف ذلك العدد، فلم يعد موقع Stackoverflow موقع أسئلة و أجوبة، بل أصبح منصة إجتماعية Social Network خصوصا بعد تضمين إمكانية كتابة المقالات، و كذا تضمين خاصية البحث عن فرص عمل من طرف الشركات وسط الموقع، فأصبح موقع Stackoverflow موقعا إجتماعيا لأكبر تجمع للمبرمجين حول العالم من أجل حل المشاكل البرمجية و التقنية لكل المبرمجين في العالم.

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

- إخوة Stackoverflow : 



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


نعم، وجب الإشارة الى هذه النقطة قبل كل شيئ، فموقع Stackoverflow ليس هو الموقع الرسمي، الموقع الرسمي هو Stackexchange، و يوفر لك موقع Stack Exchange مجموعة ضخمة من المنتديات و مواقع الـ Q & A في خدمات متعددة مثل  WebMaster Exchange المتخصص في أسئلة و أجوبة عالم السيو و إدارة المواقع، او Ask Ubuntu المتخصص في طرح أسئلة حول نظام الـ Ubuntu و الأنظمة المبنية عليه و غيرها، يمكنك الإطلاع على كل المواقع التابعة لـ Stack Exchange من هنا، لكن يعتبر موقع Stackoverflow الأشهر للموقع و الأكثر زيارة و إستخداما على الصعيد العالمي.


- صناعة حساب و بدئ إستخدام موقع Stackoverflow : 

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

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


إقرأ أيضا : للمبرمجين المبتدئين : كيف أختار اللغة البرمجة التي تناسبني ؟

- بعض المفاهيم الأولية قبل البدئ في إستخدام الموقع : 


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

قد تود فور فتح الحساب الخاص بك في موقع Stackoverflow الإطلاع على البروفايل الخاص بك، في الحقيقة يوجد العديد من الخيارات في البروفايل و سيكون من الصعب جدا و الطويل كذلك المرور عليها واحدا تلو الآخر، خصوصا ان بعضها اعتيادي مثل ادخال حسابك على الفيسبوك و تويتر و غيرها، لذلك سنصب تركيزنا أكثر على الخيارات اعلاه لأنها قد تكون مربكة للمستخدمين الجدد و وجب شرحها.
اولا الـ Answers و هي الإجابات التي تقوم بالإجابة عليها او الرد عليها في أسئلة الأشخاص الآخرين وهذا امر عادي، يمكنك العودة دائما لتلك الإجابات الخاصة بك و تعديلها او الإطلاع على أي اجابات اخرى، يستخدمها البعض جزء من الـ Follow ( تلك الـ Up التي تضعها في منشور فيسبوك من أجل العودة له في حالة وجود إجابة صحيحة ) الأمر أشبه بها في هذا الصنف.
الـ Reputation او السمعة، في موقع Stackoverflow يوجد مبدأ التنقيط او الـ Upvote، إن قمت بإضافة إجابة معينة و كانت صحيحة، يأتي مستخدمون اخرون للقيام بعملية Upvote ( النقر على السهم العلوي من أجل رفع جوابك ) تحصل على نقاط مقابل ذلك، و تحصل على نقاط أكبر ان قام صاحب السؤال بإختيار إجابتك كإجابة نهائية، تظهر تلك النقاط في الـ Reputation .
الـ Questions واضحة، هي تلك الأسئلة التي تطرحها أنت في المجتمع تستطيع العودة لها في أي وقت تريد لإطلاع على أي اجابات او تحديثات جديدة لها.
الـ Tags و هي الاقسام التي اجبت او نشطت فيها مسبقا، فإن طرحت سؤالا في مجال الـ Android فهذا يعني انك مهتم بذلك المجال او لديك خبرة فيه، و سيتم تصنيفه ضمن الأقسام او الـ Tags من أجل الوصول إليه بشكل أسرع او توفير مجال اهتماماتك.
الـ Account و يعني الحسابات الاخرى المتصلة، إن اتصلت بنفس الحساب مثلا في موقع Ask Ubuntu سيظهر لك الموقع هناك يمكنك الإنتقال إليه بطرفة عين.
اما الـ Badges و هي الشارات، فهي مجموعة من النعوت او التصنيفات التي يقدمها لك الموقع في حالة قمت ببعض الأشياء، مثلا عند طرح أول سؤال لك او الحصول على اول اجابة لك يوفر لك الموقع نعتا مخصصا لك.


إقرأ أيضا : كيف تقوم بكتابة الاكواد البرمجية و التعديل عليها بشكل حي مع أصدقائك بإحترافية ؟

- طرح سؤالك في موقع Stackoverflow : 

يمكنك بشكل فوري طرح سؤالك في موقع Stackoverflow و لست مضطرا للحصول على نقاط او اي شيئ من هذا القبيل، بل مباشرة يمكنك طرح سؤالك و سيتم نشره بشكل تلقائي أيضا في الموقع في القسم المخصص له، من أجل طرح سؤال معين في الموقع، توجه للصفحة الرئيسية ( او في الحقيقة اي صفحة في الموقع لا يهم ) ثم ستجد في الأعلى زر Ask Question، بعد النقر عليه سيأخذك الى صفحة مختصة، سيطلب منك في هذه الصفحة التأكد اولا ان السؤال الذي تريد طرحه لم يتم طرحه مسبقا، و إلا فسيكون فقط إضاعة للوقت، سواء وقتك الخاص في إنتظار الإجابة او وقت القائمين على الإجابة بالإجابة على نفس الأسئلة مرارا و تكرارا، لذلك قم اولا ببعض البحث ( ننصحك بالبحث بإستخدام جوجل رغم ذلك، في حالة لم تجد عد الى الصفحة )، ان لم تجد إجابة لسؤالك، قم بالنزول للأسف و قم بالتأشير على خيار " Thanks .... " ثم انقر على زر Proceed للمتابعة.

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

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

بعد تفصيل المشكل و وضع عنوان مناسب للإستفسار، تختار الوسوم او الأقسام التي يجب ان يتضمنها السؤال، فإن كان مشكلا فالأندرويد فجرب وضع وسوم Android, Jave مثلا، لا تقلق الموقع سيقترح عليك وسوما إحترافية.
بعدها تنقر على نشر و تلقائيا سيظهر سؤالك في الموقع و في القسم المخصص، إنتظر دقائق و ستجد إجابتك بالتأكيد . 


إقرأ أيضا : ما هو الـ NoSQL ؟ و ما الفرق بينه و بين الـ RDBMS ( نظام ادارة قواعد البيانات العلائقية )؟


- الإجابة عن الإستفسارات في الموقع : 



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

و إن اردت المشاركة أنت أيضا في صناعة بعض الحلول، فيمكنك ذلك، يمكنك التوجه الى الوسم او القسم الذي تجيده جيدا، ثم الإطلاع على الأسئلة المطروحة، لكن قبلا، إليك بعض الأمور التي يجب عليك معرفتها حول الإجابات : 
يوجد كل من التعليق او Comment ثم الإجابة او Answer، لا تحصل على أي نقاط مقابل التعليقات بينما العكس مقابل الاجوبة، الأجوبة يمكن عمل Upvote لها من طرف المستخدمين و إختيارها كإجابة صحيحة، بينما التعليقات لا، التعليقات تساعد فقط في توضيح المشكل، فمثلا إن كان صاحب السؤال لم يوضح سؤاله كفاية فيمكنك ان تطلب منه مثالا او ان يوضح وجهة نظره بشكل أكبر و ذلك من خلال التعليقات، بينما الإجابات المحتملة تقوم بنشرها على شكل Answer . 
يوجد خيارين الـ Upvote و الـ Downvote، و هما السهمين المشيرين للأعلى و الأسفل، السهم العلوي يعني إضافة نقطة لذلك الجواب و تغيير تصديره للأعلى من أجل ظهور اكبر و ذلك لأنه الجواب الصحيح ربما او الذي إشتغل معك أنت ( ان لم تكن انت صاحب السؤال ) اما الـ Downvote فهي العكس، يحق فقط لصاحب السؤال إختيار العلامة الصحيحة او الإجابة الفعالة و بذلك إختيار الجواب كإختيار نهائي يظهر في أول الأجوبة .
و أخيرا، يمكنك إضافة ما تريد في الجواب من كود برمجي و صور و روابط و لينكات و نص و غيرها، لك كامل الحرية في إضافة اي شيئ لتساعد صاحب السؤال على الإجابة . 

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


شاركه على :