المشاركات

عرض الرسائل ذات التصنيف لغات برمجة

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الأخير).

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

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الثاني).

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

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الأول).

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

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟ (الجزء الأخير).

صورة
استمر في التعلم والتطوير من نفسك. ربما لن تحصل على الوظيفة في الأسابيع الأولى من بحثك, أو حتي الشهور الأولى. ولكن هذا يعطيك فرصة لتعلم المزيد والتطوير من مهاراتك. أنت تمتلك الأن المهارات الأساسية لمطور الويب المبتدئ, ولآن يمكنك أن تبدأ بتعلم مهارات اضافية, فهذه المهارات ستزيد من فرص توظيفك وتصبح مرغوبا في سوق العمل. وإليك بعض المهارات لتتعلمها: تعلم احدى مكتبات لغة جافا سكريبت. تعلم احدى المكتبات يمكن أن يجعل حياتك أسهل, وأحدى أشهر هذه المكتبات هي jQuery والتي تمكنك من عمل أشياء معقدة بسهولة تامة كالتلاعب بعناصر DOM مثلا وغبرها الكثير مما ستتعلمه عندما تستخدمها. إكمال دروس HTML and CSS والتي تركناها في البداية. يمكنك إكمال الدروس المتعلقة ب applied visual design, applied accessibility, CSS grid. تعميق معرفتك باللغات البرمجية التي تستخدمها. مارسها يوميا واعرف المزيد عنها وعن كيفية عملها, وعن اسرارها وطرق تسريع العمل بها كالمكتبات واطر العمل. استمر في بناء المشاريع ووضعها في معرض أعمالك الذي بنيته. تعلم كيف تعمل الجافا سكريبت. قدرتك على استخدامها والبرمجة باست...

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟ (الجزء الثاني)

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

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟

صورة
هل فكرت من قبل أن تصبح مطور للبرمجيات ؟ هل تود تغيير مسارك المهني؟ حسنا.. هذا المقال سيعطيك خطة صلبة لتبدأ بها مسارك المهني في تطوير البرمجيات والحصول على وظيفتك الأولى. ولكن.. لماذا أصبح مطورا؟ وإذا كنت مترددا فدعني اعرض بعض الأسباب. هناك طلب ضخم على المطورين. في وقت كتابة هذه المقالة كان هناك ما يقرب من 37,739 وظيفة للمطرين في المملكة المتحدة وحوالي 145,640 في الولايات المتحدة. هذه الأرقام سوف تزداد في الولايات المتحدة حيت تشير إحصائيات مكتب العمل إلى حدوث زيادة بنسبة 17% بين عامي 2014 و 2024. مجال العمل متنوع ومثير للاهتمام. فكمطور يمكنك العمل في مجال واسع من المشاريع من تجارة إلكترونية إلى ألعاب الكمبيوتر, ومن تطبيقات الهاتف إلى الذكاء الاصطناعي. ويمكنك الانتقال بين هذه المجالات مما يعني أنك لست محبوسا في مجال واحد. العمل مرن جدا. فعملك يتمحور حول قراءة وكتابة الكود, وهذا يتطلب جهاز كمبيوتر فقط, مما يعني أنه يمكنك القيام بعملك في أي وقت ومكان, فهناك عدد متزايد من المطورين الذين يعملون عن بعد من المنزل أو أثناء سفرهم حو العالم. أ- كيف تصبح مطورا؟ لتصبح مطورا يجب أن ت...

هذه هي العادات الخمسة للمطورين الناجحين (الجزء الثاني).

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

هذه هي العادات الخمسة للمطورين الناجحين.

صورة
الصورة quotesgram.com قال لاري وال ذات مرة (وهو بالمناسبة مطور لغة بيرل) أن المطورين العظماء لديهم ثلاثة خصال: الكسل, نفاذ الصبر والغطرسة. كسالى لأنهم يحاولون دائما كتابة برامجهم بحيث تأخذ منهم أقل مجهود ممكن, وبعد ذلك يقومون بتوثيقها جيدا حتى لا يضطروا للإجابة عن أسئلة عنها في المستقبل. وقلة صبرهم تدفعهم دائما لكتابة برامج تستبق احتياجاتك. أما غطرستهم تدفعهم لكتابة كود أنيق لا بمكن للآخرين انتقاده. المطور الناجح ليس بالضرورة أعظم مطور, فالمطور الذي ينهى مهامه اليومية بنجاح لهو أكثر فاعلية بكثير من الذي يفعل ذلك أحيانا, فبالنسبة إلى صاحب العمل فإن المساحة تحت المنحنى هي التي تحسب وليس أعلى نقطة يصل لها. فالنجاح الذي تسعى له يأتي من الطريقة التي ترى بها نفسك والعالم, وتلك العادات التي تمتلكها في مواجهة مصاعب الحياة. في الحقيقة وطبقا لما قاله الباحثون في جامعة Duke أن 40% من نجاحنا أو فشلنا يعود إلى العادات التي نمتلكها. وإليك 5 عادات والتي سوف تؤدي إلى نجاحك كمطور. كن محترفا. لقد أصاب ستيف مارابولي الهدف عندما قال : "الشيء الصحيح والشيء الصعب يكونان أحيانا نفس الشيء, ...

ما هي مبادئ SOLID؟ ولما يجب أن يعرفها كل مطور؟ (الجزء الثاني)

صورة
SOLID 3. مبدأ "liskov" للاستبدال (LSP). ويعني أن الصنف الرئيسي يجب أن يكون قابل للاستبدال بالصنف المشتق منه. الهدف من هذا المبدأ هو التأكد أن الصنف المشتق يمكن أن يأخذ مكان الصنف الرئيسي بدون حدوث أي أخطاء. وإذا وجدت أن الكود يفحص نوع الصنف, فإنه بالتأكيد يخرق هذا المبدأ. لننظر إلى مثال الحيوانات ثانية: //... function AnimalLegCount(a: Array<Animal>) {     for(int i = 0; i <= a.length; i++) {         if(typeof a[i] == Lion)             log(LionLegCount(a[i]));         if(typeof a[i] == Mouse)             log(MouseLegCount(a[i]));         if(typeof a[i] == Snake)             log(SnakeLegCount(a[i]));      } } AnimalLegCount(animals); هذا الكود يخرق مبدأ LSPوكذلك مبد...

ما هي مبادئ SOLID؟ ولما يجب أن يعرفها كل مطور؟

صورة
  الصورة www.dereuromark.de البرمجة كائنية التوجه جاءت بأسلوب جديد في تطوير البرمجيات. مما يمكن المطورين من دمج البيانات ذات الخصائص المتشابهة في كائن واحد للتعامل معها بشك موحد. ولكن هذا الأسلوب في البرمجة لا يحد من الكود المربك وغير المفهوم مما يجعل الكود غير قابل للإصلاح. ولهذا فقد طورت خمسة مبادئ رئيسية من قبل "Robert C. Martin", وهذه المبادئ الخمسة جعلت من السهل إنشاء برامج سهلة القراءة والإصلاح. وهذه المبادئ الخمسة تسمى " S.O.L.I.D ". S: مبدأ المسئولية الواحدة (Single Responsibility principle). O: مبدأ المفتوح المغلق (Open-Closed principle). L: مبدأ "liskov" للاستبدال (Liskov Substitution Principle). I: مبدأ فصل الواجهات (Interface Segregation Principle). D: مبدأ انعكاس التبعية (Dependency Inversion Principle). وسوف نناقش كل مبدأ على حدا بالتفصيل. ملاحظة: كثير من الأمثلة المذكورة في هذه المقالة قد تكون غير صالحة للتطبيق في البرمجيات الفعلية, فكل شيء يعتمد على تصميمك الخاص وعلى طريقة استخدامه. أهم شيء هنا أن تفهم هذه المبادئ ...

كيف تفكر كالمبرمج (الجزء الثالث).

صورة
الصورة wordpress.com نكمل حديثنا ففى الجزء الأول و الجزء الثاني تحدثنا عن أهمية مهارة حل المشكلات لتفكر كالمبرمجين وكذلك الخطوات للوصول إلى ذلك. الممارسة... الممارسة... ثم الممارسة. لا تتوقع أن تصبح جيدا سريعا. إذا أردت أن تصبح جيدا في حل المشكلات فعليك بالممارسة, قم بحل الكثير منها, وبعد ذلك سيصبح الأمر أسهل وأسهل . إذا كيف تمارس ؟؟ حسنا... هناك عدة خيارات, مثل أن تلعب ألعاب كالشطرنج, ألعاب الفيديو, السدوكو, المونوبولي ... أو أن تقوم بحل المسائل الرياضية. في الحقيقة أن من الشائع بين الأشخاص الناجحين ممارسة "حل المشكلات المصغرة", فبيتر ثيل مثلا يلعب الشطرنج وإيلون ماسك يلعب ألعاب الفيديو. "إذا أردت أن تعرف كيف ستبدو ريادة الأعمال في خلال3 أو5 سنوات انظر إلى ما يحدث في ألعاب الأنترنت" - بيرون ريفز بالنظر إلى اليوم فإن (إيلون ماسك, ريد هوفمان ومارك زوكربيرج) وكثر غيرهم يؤكدون أن ألعاب الفيديو كانت أساسية في نجاحهم في بناء شركاتهم. هل هذا يعنى أن تلعب ألعاب الفيديو فقط ؟ لا أبدا عليك فقط أن تجد طريقة تستمتع بها وتساعدك في شحذ عقلك وتطوير مهارات حل المشكلات ل...

كيف تفكر كالمبرمج (الجزء الثاني) "خطوات حل المشكلة".

صورة
  الصورة alphacoders.com تحدثنا في الجزء الأول من هذه السلسلة عن أهمية امتلاك مهارة حل المشاكل , والآن نكمل الحديث عن خطوات حل المشكلة.  الخطوة الأولى: افهم المشكلة. افهم المشكلة جيدا, فالمشكلات صعبة لأنك لا تفهمها جيدا (لذلك فهي الخطوة الأولى). حسنا... كيف تعرف إذا أنك تفهم المشكلة؟ عندما تتمكن من شرحها بلغة بسيطة. هل حدث من قبل ووقعت في مشكلة, وعندما بدأت في شرحها لنفسك ظهر ت تلك الثغرات التي لم ترها من قبل. "إذا لم تستطع شرح شيء ما بلغة بسيطة, فأنت لا تفهمه جيدا" - ريتشارد فينمان الخطوة الثانية: خطط للحل. لا تبدأ أبدا بحل المشكلة بدون خطة (وأنت تأمل بطريقة ما أن تحلها). خطط للحل. لا شيء سيساعدك أكثر من كتابة خطوات الحل واضحة أمامك, فعليك إعطاء عقلك الوقت لتحليل المعلومات ومعالجتها. يمكن لإجابة هذا السؤال أن تساعدك في الحل:  إذا كان لديك المعطى ( س), ما هي الخطوات اللازمة للوصول للناتج (ص)؟؟ الخطوة الثالثة: قسمها إلى أجزاء (فرق تسد). ركز في هذه الخطوة جيدا, لأنها أهم خطوة , وكذلك تعتبر حجر الزاوية للوصول للحل. لا تحاول حل المشاكل في صيغتها الكبير...

كيف تفكر كالمبرمج (الجزء الاول).

صورة
الصورة awpnetwork.com إذا كنت مهتما بالبرمجة فربما رأيت هذا الاقتباس من قبل. "على الجميع أن يتعلموا البرمجة, لأنها تعلمك كيف تفكر"  -ستيف جوبز وربما تساءلت, ماذا يعنى التفكير كمبرمج؟ وكيف أفعل هذا؟ حسنا إنه بشكل أساسي يتمحور حول الطرق الفعالة لحل المشكلات . وبنهاية هذه المقالة سوف تتعلم خطوات حل المشاكل كما يفعل المبرمج ولكن... لماذا هي(مهارات حل المشكلات) مهمة؟؟ نحن جميعا عندنا مشاكل، سواء كانت صغيرة أو كبيرة، نتعامل معها أحيانا بطريقة عشوائية. إلا إذا كانت لديك طريقة لحل هذه المشكلات, والتي ربما تكون(وهذه كانت طريقتي عندما بدأت البرمجة): جرب حلا. إذا لم يعمل جرب آخر. إذا لم يعمل كرر الخطوة 2 حتى تصيب. حسنا... أحيانا تنجح هذه الطريقة, ولكنها أسواء الطرق لحل المشكلات، فهي مضيعة كبيرة للوقت. "تقريبا كل أصحاب العمل يجعلون مهارات حل المشكلات أولوية. مهارات حل المشكلات هي بالإجماع أهم مؤهل يبحث عنه أصحاب الأعمال... أكثر من إتقان لغات البرمجة, التنقيح وتصميم الأنظمة." "إن امتلاك مهارة التفكير الحسابي, والقدرة على تقسيم المشكلات الكب...