الصورة ألحان أفينيا ديهالتيرت. بعنوان

كيف يمكنك الخروج من noobville وتجاوز دروس المبتدئين كمطور؟

دليل لرفع المهارات من مسار علم النفس

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

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

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

لذلك ، دون مزيد من اللغط ، أقدم دليلًا لمهارات تطوير الويب لديك.

الثالوث التقني

أنا في كثير من الأحيان أحب أن أسمي الواجهة الأمامية المكدس الثالوث الفني. يتكون من HTML و CSS و JavaScript.

لنبدأ مع CSS

لا يوجد شيء خيالي تحتاج فعلاً إلى تعلمه في HTML ولكن يمكن أن يصبح CSS معقدًا بعض الشيء بمرور الوقت.

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

لكن الأمر ليس كذلك - لا سيما بمجرد وصولها إلى حجم معين.

كيف تتحسن:

انظر إلى بنية CSS المعيارية. هناك أيضًا مفهوم موجود منذ فترة يدعى Object Oriented CSS. نعم. إنه شيء ويمكن أن يساعد في حفظ قاعدة الشفرة الخاصة بك من الجنون على المدى الطويل.

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

ماذا جوجل:

OOCSS ، BEM ، SMACSS ، SCSS

نحتاج أيضًا إلى إجراء محادثة حول JavaScript

يلتقط الكثير من الناس فكرة الثالوث التي لا يتعين عليهم تعلمها بشكل صحيح. إنه يعمل ، لماذا الفوضى معه؟

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

إنه شيء واحد لاستخدام JavaScript. من الأفضل التحدث بلغة JavaScript.

كيف تتحسن:

تعلم كيف تعمل النماذج الأولية. إنها ميزة أساسية في JavaScript والتي غالبًا ما يغفل عنها المبتدئين نظرًا لوجود اعتقاد خاطئ بأنها ليست ضرورية.

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

ماذا جوجل:

نماذج JavaScript ، تماسك كود JavaScript ، مسؤولية واحدة ، تعبيرات JavaScript العادية ، OOP JavaScript ، FP JavaScript ، JavaScript الإجرائي ، برمجة خوارزمية JavaScript

القائمة المرجعية للنماذج

نماذج البرمجة الأكثر شعبية هي OOP (كائن المنحى) و FP (البرمجة الوظيفية). ومع ذلك ، فهي ليست النظريتين فقط وطريقة هيكلة التعليمات البرمجية الموجودة.

تتبع عن كثب هو البرمجة الإجرائية والإعلانية وضرورية.

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

بمجرد فهم نماذج البرمجة ، لن تشاهد الكود بعد ذلك. هناك شعور معين بالتنوير يأتي مع الوعي بهذه المعرفة.

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

كيف تتحسن:

ابدأ بـ OOP لأن جافا سكريبت يعتمد على نماذج أولية وهي نموذج برمجة موجه للكائنات. بمجرد الحصول على تعليق من ذلك ، ابدأ في البحث في FP لأنه يسير على ما يرام مع النماذج الأولية.

في الواقع ، أتقن مفهوم النماذج الأولية لأنه الأساس الأساسي لإنشاء تعليمات برمجية نظيفة في JavaScript. يمكن أيضًا نقل كل من منهجيات التفكير إلى أطر عمل ومكتبات مثل Angular و React و Vue.

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

ماذا جوجل:

وظائف OOP الزاوية ، النماذج الأولية في العمل ، أنماط OOP و FP ، مبادئ SOLID مع OOP و FP

اتفاقيات الاتفاقيات

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

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

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

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

كيف تتحسن:

واحدة من أسهل الطرق لالتقاط اصطلاحات التنسيق الرئيسية هي استخدام IDE الذي يدعم التنسيق التلقائي. في Visual Studio Code ، هناك امتداد يسمى Prettier - Code formatter بواسطة Esben Petersen يقوم تلقائيًا بتنسيق التعليمات البرمجية الخاصة بك بطريقة قياسية عندما تضغط على الحفظ.

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

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

ماذا جوجل:

اصطلاح كود JavaScript ، اصطلاحات التسمية في JavaScript ، اصطلاحات تسمية الزاوي / التفاعل / Vue ، الزاوي / رد الفعل / Vue / كل ما تستخدمه في مقدمة اصطلاحات بنية مجلد جافا سكريبت ، كيفية تثبيت امتدادات رمز VS

مبادئ التصميم الرقمي المرئي

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

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

كيف تتحسن:

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

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

ماذا جوجل:

مبادئ التصميم المرئي ، تصميم المواد ، awwwards ، مجلة Smashing ، تصميم السوائل ، التصميم التكيفي ، التصميم الأول للهاتف المحمول

تحتاج إلى تعلم جيت

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

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

كيف تتحسن:

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

يمكنك التدريب عن طريق إنشاء حساب GitHub ، إذا لم يكن لديك حساب بالفعل. العب باستخدام الأوامر وتعلم كيفية توصيله بحسابك عبر وحدة التحكم. يمكنك ، من الناحية النظرية ، استخدام عميل GitHub الذي سيعطيك إصدارًا بصريًا ولكنه يهزم الغرض من تعلم كيفية استخدام git. تعلم أوامر الطرفي يمكن أن يكون مفيدًا أيضًا ويسرع في سير عملك في بعض الحالات.

ماذا جوجل:

git ، أوامر سير العمل git ، تعلم git

اختبار وحدة 101

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

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

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

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

كيف تتحسن:

هناك العديد من أطر اختبار الوحدات والمكتبات المتاحة مثل Jasmine و Mocha و Jest. هناك فرصة كبيرة لأنك ستستخدم نوعًا من الأطر مثل Angular أو مكتبة مثل React لبناء جانب JavaScript من الشفرة. ستحتاج إلى البحث عن إطار الاختبار أو المكتبة المستخدمة في الارتباط بها.

ماذا جوجل:

مبادئ اختبار الوحدة ، ما هو اختبار الوحدة ليس (للمساعدة في رفض المفاهيم الخاطئة الشائعة) ، الياسمين ، المخاوي ، الفك ، الاختلافات بين أطر اختبار الوحدة والمكتبات ، أنماط اختبار الوحدة

كامل التراص نفسك مع عقدة وقاعدة بيانات

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

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

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

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

كيف تتحسن:

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

نظرًا لأن Node.js موجود في JavaScript ، فإن الحياة أسهل بكثير مما كانت عليه قبل عقد من الزمن حيث ستحتاج إلى تعلم لغة أخرى مثل Java أو C ++ لإنشاء شيء من هذا القبيل.

ماذا جوجل:

Node.js CRUD ، اتصال العقدة بقاعدة البيانات ، أنماط واجهة برمجة تطبيقات العقدة ، MongoDB ، تصميم الخلية وبنيتها

إمكانيات البنية التحتية

AWS و Google Cloud و Azure و Heroku هي جميع المساحات المحتملة التي يمكنك استكشافها عندما يتعلق الأمر بالبنية التحتية. يمكنك إنشاء تطبيق من شيء إلى آخر من شيء إلى آخر - إنه شيء آخر أن تتمكن من وضعه في مكان ما وإتاحته للجمهور.

عندما يتعلق الأمر بـ AWS ، فإن الاستفادة من S3 للاستضافة الثابتة لن يكلفك سوى سنتات. تجدر الإشارة إلى أن AWS هي أكبر لاعب في الحلول السحابية وتقدم أكثر من 90 خدمة ، تغطي كل ما يمكنك تخيله.

تتبع Gloogle Cloud and Azure نفس المفهوم ، حيث تقدم خدمات مكافئة بأسعار تنافسية.

يشبه Heroku مربعًا يمكنك وضع أي شيء تريده فيه - والذي يمكن أن يكون حلاً متعدد الاستخدامات إذا كنت تريد وضع تطبيقك على الويب.

كيف تتحسن:

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

باستخدام Heroku سوف تحصل على دراية Docker وأدوات سطر الأوامر. سيساعدك استخدام AWS على الاستفادة من حلولهم الأساسية لحلول الويب. الأمر نفسه ينطبق على Google Cloud و Azure.

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

ماذا جوجل:

AWS / Azure / Google Cloud على الشبكة / النشر ، Heroku و Docker ، نشر Docker ، خط أنابيب التسليم المستمر لـ AWS / Azure / Google Cloud / Heroku

الكلمات الأخيرة

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

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

دعونا نبقى على اتصال والانضمام إلى قائمة الرسائل الإخبارية الأسبوعية الرائعة على الويب. شكرا لقراءتك

Aphinya