قد يبدو الأمر غريبا و غير معقول، فأنى لك أن تتعلم تقنيات في ظرف 24 ساعة فقط ؟ هل هذا حقا ممكن ؟ هل هذا مقال Clickbait مجددا ؟ هل تم خداعي ؟
لا، في الحقيقة الأمر ليس كذلك إطلاقا، بالإبتعاد عن اللغات البرمجية التي يتطلب تعلمها أسابيع و إتقانها سنوات، يوجد تقنيات برمجية أخرى جانبية يمكنها أن تساعدك و تحسن قدراتك البرمجية على المدى البعيد و القريب، حين نتحدث عن التقنيات البرمجية فنحن لا نتحدث عن اللغات البرمجية بالتحديد، بل إلى تقنيات يستخدمها البرمجي أثناء إنجازه لمشروع برمجي، و ما أكثرها بالطبع.
في هذا المقال سنحاول إطلاعك على مجموعة تقنيات برمجية بسيطة، ذات فاعلية أكبر، ستزيد من إنتاجيتك كثيراً كثيراً، و الأهم من كل ذلك أنه يمكنك تعلمها في ظرف 24 ساعة فقط عزيزي القارئ، فمشاهدة فيديو واحد مدته ساعة او ساعتين ثم تطبيق التعليمات في بعض السويعات الأخرى سيجعلك محترفا في تلك التقنية و تجيدها في أقل من يوم واحد فقط !
ليس هذا فقط، يسمح لك الـ Git بإدارة المشروع بين مجموعة من الناس، بحيث يمكنك تقسيم المشروع الى Branches ثم إعطاء Branch لكل شخص ضمن فريق العمل، ثم تجميع الكل (Merge) في مشروع برمجي واحد، هكذا يمكن للجميع العمل على نفس المشروع في تناغم و إحترافية.
لحسن الحظ الـ Git ليس بتلك الصعوبة لتعلمه، إذ بمجموعة من أسطر الأوامر التي عليك إستيعابها و معرفة طريقة عملها كفيلة بجعلك تحترف الـ Git و معرفة أساسيات التعامل معه، و يمكنك حرفيا تعلمها في أقل من 24 ساعة صديقي.
لذلك يلجأ مطورو الويب الى الإعتماد على ما يسمى بالـ Preprocessors مثل الـ SASS او LESS او STYLUS، إذ تسمح لك هذه الأخيرة بكتابة كود CSS أكثر إحترافية و ذكاء، يمكنك إستخدام العديد من التقنيات في الـ Preprocessors التي تجعل من الـ CSS أقرب الى اللغة البرمجية، يمكنك التعامل مع الشرط و الحلقات التكرارية و حتى العمليات الرياضية ( مثلا يمكنك تحديث حجم خط محدد مثلا 15px، ثم تتلاعب به رياضيا ليكون حجم خط العناوين الكبيرة هو font + 5px ، و العناوين الصغيرة font - 5px و هكذا ).
كل أكواد الـ Preprocessors يتم ترجمتها في الأخير الى كود CSS Minified و هو ما يجعلها مستخدمة بشكل كبير.
لحسن الحظ، تعلمها ليس بتلك الصعوبة، و فيديو واحد بسيط قادر على جعلك تتقن الـ SASS مثلا، بحكم أنه يعتمد على الـ CSS بنسبة كبيرة جدا، و يكفي تعلم الـ CSS أولا قبل الولوج إليه.
في الحقيقة، مشاريع الويب دائما ما تحتاج الى ما يسمى بالـ Module Bundler، و هي مكتبة أو إطار يتيح لك إمكانية صناعة المشروع البرمجي و تخصيصه حسب الحاجة، فمثلا، إن أردت صناعة موقع يعتمد على الـ Vuejs و يستخدم الـ Sass و ربما أريد إستخدام أيضا الـ Eslint كذلك و غيرها، فيمكنك فعل ذلك بإستخدام أحد الـ Module Bundlers الشهيرة.
أشهرها حاليا قد يكون الـ Webpack، فهو يتيح لك صناعة مشروع برمجي و تخصيصه من حيث كل شيئ، سواء إستخدام Sass / Less في الـ Css، او الإعتماد على Typescript / Bible في الجافاسكربت، او حتى الإعتماد على تقنيات مثل Pug في الـ HTML، علاوة على ذلك، يتيح لك إضافة مكتبات خارجية، و تحديث المكتبات القديمة، و لا ننسى انه يقوم بإستخراج المشروع البرمجي (Production) في الأخير بتقنيات عالية ( مثل تقليص حجم الصور، تقليص الـ CSS، الجافاسكربت و غيرها).
الـ Webpack ليس الوحيد، يوجد الكثير من تقنيات الـ Module Bundlers أشهرها الـ Yarn و Gulp، اللذان بتعلمهما أيضا سيسهل عليك إدارة مشروعك البرمجي على الويب بإحترافية كاملة.
كل هذه التقنيات ليست صعبة، و تعتمد على سطر الأوامر و بعض الجافاسكربت أحيانا، و لن تحتاج إلا للقليل حتى تتعلمها يا صديقي.
الـ API هو إختصار لعبارة Application Programming Interface، و بشرح أقل تعقيداً، يقوم موقع او منصة او جهة او شخص بتوفير مجموعة من الـ Data التي يمكنك إرسالها و إستقبالها (عبر تقنيتي الـ Post و Get في الـ Restful)، لتحصل على مجموعة من البيانات على شكل Json التي يمكنك التلاعب بها لاحقا كما تريد.
الـ API ليس بذلك التعقيد حقا، كل ما تحتاج لمعرفته هو الـ Json و التي لا تحتاج إلى أي شيئ سوى معرفة طريقة كتابة و قراءة كود Json، ثم التعامل مع الـ Documentation الخاص بالـ API الذي يضع بين يديك كل خصائص الـ Get و الـ Post، و كل ما تحتاج إلى تنفيذه لاحقا هو إستخدام الـ API في جلب المعلومة على شكل Json تم فرمتتها للغة البرمجية التي تشتغل بها حاليا، و إستخدامها في مشروعك البرمجي، و كل هذا يمكن تعلمه في ظرف وجيز جداً لا يقل عن 24 ساعة، بل حتى تعلم صناعة API خاص بك لن يتطلب الكثير من الوقت، خصوصا إن كنت تستخدم برمجيات متطورة مثل Postman.
إطارات مثل Bootstrap, Material Design, Foundation, Tailwind, Bulma و غيرها من الإطارات ستكون جديرة بالإستخدام، لن تحتاج إلى الكثير من الوقت من أجل البدئ في إستخدامها فهي مرتكزة بشكل أساسي على الـ HTML و الـ CSS و الجافاسكربت فقط و هي تقنيات نجزم أنك قد إحترفتها في هذه المرحلة.
إطارات الويب سهلة الإستخدام، فور إدراجها يمكنك التلاعب بأسماء الكلاسات و إضافة بعض الأكواد HTML لتحصل على نتائج مذهلة، و إضافات جاهزة و إحترافية. فيديو واحد ربما على اليوتيوب قادر على جعلك تستوعب أي إطار ويب جاهز في أقل من 24 ساعة و البدئ في إستخدامه فورا.
الـ Gruntjs يمكن التحكم به كاملا عن طريق مجموعة من الـ Functions التي تقوم بتضمينها في ملف جافاسكربت محدد بعد إضافة الـ Gruntjs بالطبع، و هي مكتبة بسيطة و سهلة الإستخدام لكن فوائدها عظيمة على المشروع البرمجي، و يمكنك كلياً تعلمها و الإستفادة منها في أقل من 24 ساعة.
يوجد الكثير من أنواع الـ Template Engines لكن أشهرها سيبقى الـ Blade و الـ Twig، الـ Blade مستخدم كثيراً في إطارات الـ Php مثل Laravel، الـ Twig أيضا مستخدم في تقنيات الـ Php و تقنيات أخرى كذلك. و كلاهما يمكن إكتسابهما في 24 ساعة أو أقل، بل يمكنك فقط قراءة الـ Documentation في موقعهما الرسمي حتى تجيد إستخدامهما.
لا، في الحقيقة الأمر ليس كذلك إطلاقا، بالإبتعاد عن اللغات البرمجية التي يتطلب تعلمها أسابيع و إتقانها سنوات، يوجد تقنيات برمجية أخرى جانبية يمكنها أن تساعدك و تحسن قدراتك البرمجية على المدى البعيد و القريب، حين نتحدث عن التقنيات البرمجية فنحن لا نتحدث عن اللغات البرمجية بالتحديد، بل إلى تقنيات يستخدمها البرمجي أثناء إنجازه لمشروع برمجي، و ما أكثرها بالطبع.
تعلم الـ Git
الـ Git من أبرز التقنيات البرمجية التي يجب أن يجيد إستخدامها أي مبرمج في هذا العالم، إذ تساعدك الـ Git على إدارة مشروعك البرمجي في إحدى المنصات مثل Github, Gitlab او Bitbucket. لمن سيسمع بالـ Git لأول مرة فهو تقنية توفر لك خاصية الـ Version Control، أي إدارة نسخ المشروع خاصتك، على سبيل المثال إن كنت بصدد تطوير موقع ويب و قمت بصناعة Navbar يمكنك نشر مشروعك على إحدى المنصات السابقة، و في كل مرة تقوم بإنجاز مهمة بسيطة يمكنك رفع الأكواد الجديدة الى المنصة، هنا في حالة إتلاف المشروع او لخبطته او وجدت نفسك أن المشروع لم يعد شغالا، يمكنك العودة فقط الى آخر إصدار قمت بنشره و تغيير مشروعك له.لحسن الحظ الـ Git ليس بتلك الصعوبة لتعلمه، إذ بمجموعة من أسطر الأوامر التي عليك إستيعابها و معرفة طريقة عملها كفيلة بجعلك تحترف الـ Git و معرفة أساسيات التعامل معه، و يمكنك حرفيا تعلمها في أقل من 24 ساعة صديقي.
تعلم الـ SASS / LESS / STYLUS
إن كنت تستخدم الـ CSS مباشرة، فربما ستعاني من بعض المشاكل في إدارة الكود البرمجي او حتى تنفيذ بعض المهام مثل تخزين متغيرات او تحديد الشرط (if) ليتم تطبيق ستايل محدد عند تحقيق شرط معين، او حتى إنجاز حلقات تكرارية (loops)، لكن كل هذا لا يمكن إنجازه بإستخدام الـ CSS.لذلك يلجأ مطورو الويب الى الإعتماد على ما يسمى بالـ Preprocessors مثل الـ SASS او LESS او STYLUS، إذ تسمح لك هذه الأخيرة بكتابة كود CSS أكثر إحترافية و ذكاء، يمكنك إستخدام العديد من التقنيات في الـ Preprocessors التي تجعل من الـ CSS أقرب الى اللغة البرمجية، يمكنك التعامل مع الشرط و الحلقات التكرارية و حتى العمليات الرياضية ( مثلا يمكنك تحديث حجم خط محدد مثلا 15px، ثم تتلاعب به رياضيا ليكون حجم خط العناوين الكبيرة هو font + 5px ، و العناوين الصغيرة font - 5px و هكذا ).
كل أكواد الـ Preprocessors يتم ترجمتها في الأخير الى كود CSS Minified و هو ما يجعلها مستخدمة بشكل كبير.
لحسن الحظ، تعلمها ليس بتلك الصعوبة، و فيديو واحد بسيط قادر على جعلك تتقن الـ SASS مثلا، بحكم أنه يعتمد على الـ CSS بنسبة كبيرة جدا، و يكفي تعلم الـ CSS أولا قبل الولوج إليه.
تعلم الـ Webpack / Yarn / Gulp
إن أردت البدء في إستخدام أحد الـ Preprocessors السابقة مثل Sass في مشروعك البرمجي ستجد العديد من الطرق لفعل ذلك قد يكون أسهلها تنصيب الـ Ruby و التعامل مع compass فقط، لكن الأمر سيبقى دائما تجريدي بعيد عن الهيكلة الحقيقية للمشروع.في الحقيقة، مشاريع الويب دائما ما تحتاج الى ما يسمى بالـ Module Bundler، و هي مكتبة أو إطار يتيح لك إمكانية صناعة المشروع البرمجي و تخصيصه حسب الحاجة، فمثلا، إن أردت صناعة موقع يعتمد على الـ Vuejs و يستخدم الـ Sass و ربما أريد إستخدام أيضا الـ Eslint كذلك و غيرها، فيمكنك فعل ذلك بإستخدام أحد الـ Module Bundlers الشهيرة.
أشهرها حاليا قد يكون الـ Webpack، فهو يتيح لك صناعة مشروع برمجي و تخصيصه من حيث كل شيئ، سواء إستخدام Sass / Less في الـ Css، او الإعتماد على Typescript / Bible في الجافاسكربت، او حتى الإعتماد على تقنيات مثل Pug في الـ HTML، علاوة على ذلك، يتيح لك إضافة مكتبات خارجية، و تحديث المكتبات القديمة، و لا ننسى انه يقوم بإستخراج المشروع البرمجي (Production) في الأخير بتقنيات عالية ( مثل تقليص حجم الصور، تقليص الـ CSS، الجافاسكربت و غيرها).
الـ Webpack ليس الوحيد، يوجد الكثير من تقنيات الـ Module Bundlers أشهرها الـ Yarn و Gulp، اللذان بتعلمهما أيضا سيسهل عليك إدارة مشروعك البرمجي على الويب بإحترافية كاملة.
كل هذه التقنيات ليست صعبة، و تعتمد على سطر الأوامر و بعض الجافاسكربت أحيانا، و لن تحتاج إلا للقليل حتى تتعلمها يا صديقي.
تعلم الـ Restful API
لا شك أنك تسمع بالـ API الآن بشكل كبير في العالم البرمجي، فإن أردت حل أي مشكلة برمجية ربما او الحصول على مجموعة من المعطيات و البيانات فأول شيئ تطرحه في خلدك : " هل يوجد API يستطيع القيام بالأمر ؟ "، و الإجابة دائما ستكون نعم.الـ API هو إختصار لعبارة Application Programming Interface، و بشرح أقل تعقيداً، يقوم موقع او منصة او جهة او شخص بتوفير مجموعة من الـ Data التي يمكنك إرسالها و إستقبالها (عبر تقنيتي الـ Post و Get في الـ Restful)، لتحصل على مجموعة من البيانات على شكل Json التي يمكنك التلاعب بها لاحقا كما تريد.
الـ API ليس بذلك التعقيد حقا، كل ما تحتاج لمعرفته هو الـ Json و التي لا تحتاج إلى أي شيئ سوى معرفة طريقة كتابة و قراءة كود Json، ثم التعامل مع الـ Documentation الخاص بالـ API الذي يضع بين يديك كل خصائص الـ Get و الـ Post، و كل ما تحتاج إلى تنفيذه لاحقا هو إستخدام الـ API في جلب المعلومة على شكل Json تم فرمتتها للغة البرمجية التي تشتغل بها حاليا، و إستخدامها في مشروعك البرمجي، و كل هذا يمكن تعلمه في ظرف وجيز جداً لا يقل عن 24 ساعة، بل حتى تعلم صناعة API خاص بك لن يتطلب الكثير من الوقت، خصوصا إن كنت تستخدم برمجيات متطورة مثل Postman.
تعلم إطارات الويب الجاهزة، خصوصا Bootstrap
في الويب، سيكون من الصعب عليك إنجاز بعض الإقتراحات او الإضافات من الصفر، سواء لضيق الوقت او لصعوبة إنجازها بشكل عام، و سيتطلب منك في الأخير إستخدام إطار ويب متكامل يسمح لك بتنفيذ تلك الإضافات بشكل أفضل و سريع.إطارات مثل Bootstrap, Material Design, Foundation, Tailwind, Bulma و غيرها من الإطارات ستكون جديرة بالإستخدام، لن تحتاج إلى الكثير من الوقت من أجل البدئ في إستخدامها فهي مرتكزة بشكل أساسي على الـ HTML و الـ CSS و الجافاسكربت فقط و هي تقنيات نجزم أنك قد إحترفتها في هذه المرحلة.
إطارات الويب سهلة الإستخدام، فور إدراجها يمكنك التلاعب بأسماء الكلاسات و إضافة بعض الأكواد HTML لتحصل على نتائج مذهلة، و إضافات جاهزة و إحترافية. فيديو واحد ربما على اليوتيوب قادر على جعلك تستوعب أي إطار ويب جاهز في أقل من 24 ساعة و البدئ في إستخدامه فورا.
تعلم الـ Gruntjs
الـ Gruntjs هو عبارة عن مكتبة جافاسكربت ضمن إطار مكتبات الـ Task Runners، ببساطة تضمين الـ Gruntjs في مشروعك على الويب يتيح لك التحكم في مجموعة من خصائص هذا المشروع أبرزها تقليص حجم الصور، التحكم في أكواد الـ CSS و تنظيمها و تنسيقها و تقليص حجمها، نفس الأمر بالنسبة لأكواد الجافاسكربت، أيضا ترجمة أكواد مثل Scss الى Css و غيرها.الـ Gruntjs يمكن التحكم به كاملا عن طريق مجموعة من الـ Functions التي تقوم بتضمينها في ملف جافاسكربت محدد بعد إضافة الـ Gruntjs بالطبع، و هي مكتبة بسيطة و سهلة الإستخدام لكن فوائدها عظيمة على المشروع البرمجي، و يمكنك كلياً تعلمها و الإستفادة منها في أقل من 24 ساعة.
تعلم تقنيات الـ Template Engines خصوصا الـ Blade و Twig
يعتقد الكثيرون أن إستخدام الـ Template Engines لا يتم إلا إن قمت بالإعتماد على إطارات ضخمة مثل Laravel او Django او Rails و غيرها، لكن في الحقيقة يمكنك إستخدامه في أي صفحة ويب بسيطة، فالـ Template Engines يساعدك بشكل أفضل في تقسيم الصفحة و تقسيم العناصر و تسهيل صناعة صفحات الويب. يعتمد الـ Template Engines بشكل عام على صناعة Master Page يتم تكرارها في كل صفحات الموقع، مع تغيير الأقسام التي وجب تغييرها فقط، الى جانب تمرير بيانات مختلفة في القالب مثل المتغيرات و النصوص و ما الى ذلك.يوجد الكثير من أنواع الـ Template Engines لكن أشهرها سيبقى الـ Blade و الـ Twig، الـ Blade مستخدم كثيراً في إطارات الـ Php مثل Laravel، الـ Twig أيضا مستخدم في تقنيات الـ Php و تقنيات أخرى كذلك. و كلاهما يمكن إكتسابهما في 24 ساعة أو أقل، بل يمكنك فقط قراءة الـ Documentation في موقعهما الرسمي حتى تجيد إستخدامهما.
ممكن أفضل مواقع لإنشاء بورتوفوليو وشكرا
شكرا جزيلا لك مزيدا من الاستمرار و التقدم :)<br />
شكراً على مشاركة المعلومات ! مقال مفيد جداً أجابني على عدة أسئلة كانت تتكرر في بالي