كل ما تعرفة المبرمجة (تانيا راسكيا) كمبرمجة ويب [تخليص بسيط]
تلخيص بسيط لموضوع نشرته المبرمجة (تانيا راسكيا) -صاحبة المدونة البرمجية الرائعة- عن مسارها في تطوير الويب
نُشر لأول مرة على حسوب IO ثم على مدونتي.
كنت قد شاركت أحد الروابط للمبرمجة Tania Rascia تتحدث عن مسيرتها المهني وهذا الرابط.
طلب مني أحد الأخوة ترجمة المقال. وفي الحقيقة فترجمة هذا المقال غير مفيدة جدا؛ لأن الكاتبة تتحدث عن رحلتها في تطوير الويب وكتابتها مقالات عن ما تعلمته خلال هذا الرحلة والمقالات بالطبع كلها إنجليزية.
المهم في هذه الرحلة (لمن لا يعرف الإنجليزية) معرفة خارطة طريق لتطوير والويب وملء الفراغات في مهاراته.
سأذكر أهم المهارات التي ذكرتها الكاتبة على عجالة:
قبل البداية - ٢٠١٤
القليل من HTML و CSS
البداية ٢٠١٤ - ٢٠١٥
تعلم bootstrap
تعلم أساسيات التصميم المتجاوب بدون إطار عمل
أساسيات مكتبة jQuery
- بعض الأعمال بهذه المكتبة tabs, accordions, dropdowns, modals
عمل عدة أنواع من الانتقالات دون الاعتماد على bootstrap مثل dropdown navigation bar, off-canvas navigation, full-screen navigation
كيفية استعمال flexbox في CSS
كيف تستخدم وتهيئ نظام الماك (أو نظامك المستخدم) ليكون بيئة تطوير مناسبة
تعلم سطر الأوامر
تعلم SASS وهو عبارة عن CSS preprocessor
تعلم Grunt , مشغل مهام tusk runner للجافاسكربت
تعلم Node.js و npm
تعلم مهارات البرمجة بجافاسكربت دون jQuery
تعلم GIT
مطورة ويب صغيرة - الوورد برس ٢٠١٥ - ٢٠١٧
تعلم تهيئة حزمة LAMP) Linux Apache MySQL PHP) لتطوير php
تعلم كيف تنصب Apache والاستضافات الافتراضية virtual hosts
تعلم cron jobs في لينكس
اساسيات PHP
تطوير قالب وورد برس من الصفر
التوغل في تطوير وورد برس pagination, comments, functions, & custom posts
الحقول المخصصة custom fields في وورد برس
JSON مع php و JavaScript
تعلم آجاكس AJAX
كيفية استخدام الواجهة البرمجية لخرائط جوجل Google Maps API
كيف تنصب TLS وشهادة SSL لتحصل على HTTPS
تعلم (AWS (Amazon Web Services وما يتعلق بها من
تعلم VPC , EC2, S3
تنصيب حزمة LAMP من الصفر
نقل مواقع من استضافة لأخرى
التعامل مع النطاقات DNS وإعدادها
توليد مفاتيح عامة / خاصة
تعلم الآلات الافتراضية بواسطة Vagrant و VirtualBox
تعلم مولدة المواقع الثابتة SSG Static Site Generators باستخدام Jekyll
عمل مدونة على github
تعلم PDO وهي واجهة برمجية للتعامل مع قواعد البيانات في PHP
تعلم إمكانية الوصول Accessibility وجعل المواقع قابلة للوصول للناس ذوي الإعاقة وتعلم معايير WCAG 2.0
مشروع جانبي: إطار عمل CSS بسيط وعمل عدة مواقع بإطار العمل هذا.
مشروع جانبي: قالب لمحررات الأكواد Visual Studio Code, Brackets, Sublime Text وأدوات تطوير جوجل. وتعلم إنشاء إضافات لهذا المحررات.
العمل كاتبة تقنية لDigitalOcean
كتابة العديد من المقالات عن جافاسكربت في موقع لDigitalOcean
الوظيفة الثانية - مطورة نظم خلفية بالPHP
عمل لعبة الذاكرة memory game بجافاسكربت
عمل فحوصات الوحدات البرمجية unit test والفحوصات البرمجية الآلية
unit test
integration test
end-to-end test
كيف تربط واجهة برمجية Representational State Transfer) REST) مع جافاسكربت وكيف يمكن لREST HTTP أن تقارن بعمليات CRUD Create Read Update Delete
التخزين المحلي لجافاسكربت وتخزين الجلسات session
كيف تتعامل مع الملفات ورفع الملفات بجافاسكربت وPHP
كيف تتعامل مع SVG ، المضلعات والمسارات
تعلم SQL وأوامرها المختلفة create , insert , update , delete , alter , constrains , join , group by , order by , limit , offset
استخدام أوامر Bash
تعلم CSS Shapes ;
مشروع جانبي: تطبيق PHP بنمط MVC Model View Controller بدون مكاتب أو أطر عمل وتعلم خلال هذا المشروع:
المصادقة Authentication: التسجيل، تسجيل الخروج، إعادة تعيين كلمة السر، وجود محتوى خاص مخفي عن المستخدمين غير المسجلين
الأمن والتحقق Security and validation: تشفير كلمة السر hashing، إضافة الوسطاء binding parameters لSQL بطريقة آمنة، التأكد من فرادة المستخدمين، التأكد من خلو السخّام spam أو المحتوى الفارغ، التأكد من ملائمة أحرف أسماء المستخدمين وكلمات مرورهم.
التوجيه Routing: إعادة توجيه الروابط، إنشاء ملفات تعريف عامة للمستخدمين على المجلد الجذر root directory، إنشاء صفحات آلية بحسب طلبات GET
البرمجة كائنية التوجه Object oriented programming، مفاهيم الوراثة inheritance والكلاس المجرد abstract class والمشيّدات constructors
مدير حزم Composer، استخدام كلاسات autoloading وإعدادها كما يجب
مخطط قاعدة البيانات Database schema، كيف تهيكل قاعدة بياناتك وتربط بين الجداول مثلا (القوائم مع روابطها والمستخدمين مع تعليقاتهم)
الجلسات والكعكات Sessions and Users، كيف تتعامل معها وتدير التعامل مع المستخدمين.
الوظيفة الثالثة: مطورة واجهات ٢٠١٨ - ٢٠١٩
تعلم الهيكلية الجديدة لجافاسكربت ES6+
كيف تستخدم React
كيف تستخدم React Hooks وغيرها من مكونات React
كيف تستخدم مكتبة Semantic UI React لعمل النماذج الأولية بسرعة وفعالية
الفهم العميق لREST و REST APIs
كيفية عمل خادم Server بـ Node.js باستخدام وحدة HTTP أو إطار عمل Express
كيف تتصل بقاعدة بيانات MySQL عن طريق Node.js
تعلم مفهوم البرمجة غير المتزامنة asynchronous programming والوعود promises و async/await.
تعلم كتابة شيفرة برمجية بNode.js، عمل سكربت يوّلد JSON من ورقة عمل Google Sheets/Excel CSV لتستخدم في تطبيق برمجي.
كيف تنصب مشروعا بـWebpack مع hot reloading.
كيف تستخدم Git مع فريق واستخدام الأوامر merging, rebasing, fixing merge conflicts, stashing والعمل على الفروع branches.
معالجة الأخطاء Error handling.
مشروع جانبي: محاكي الرقاقة-٨ بNode.js وتعلم من خلاله
أنظمة العد المختلفة: الثنائي والثماني والسادس عشري
الترميز بالbit وbytes و ASCII
معاملات & | ^ >> <<
استخدام أمر fs في Node.js
وغيرها من المفاهيم القريبة من الآلة
أهمية فحص الوحدات unit test
أشياء لا أعرفها (ومن المفترض أن أتعلمها)
GraphQL
Redux/MobX
Docker نسخة أفضل من Vagrant
Electron لعمل تطبيقات سطح مكتب بجافاسكربت
React Native لعمل تطبيقات جوال بجافاسكربت
Vim محرر نصوص معقد وعالي التخصيص
Algorithms الخوارزميات
Data structures هياكل البينات
Calculating time complexity حساب تعقيد الأوامر البرمجية بحسب الوقت
Algebra, الجبر
Sockets
Networking الشبكات
CI/CD
Types أنواع البيانات
أعتذر عن أي ركاكة في التلخيص، أما بالنسبة لكثرة المصطلحات البرمجية الإنجليزية؛ لمعرفة تعلمها والبحث عنها.
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !