هندسة التطبيقات: اكتب كمطور وفكر كمهندس معماري - دورة تدريبية 80000 فرك. من Slurm، تدريب 3 أشهر، التاريخ 22 يناير 2024.
Miscellanea / / November 29, 2023
تعلم كيفية كتابة مشاريع نظيفة وقابلة للإدارة، وإنشاء أنظمة قابلة للصيانة، وتنظيم التعليمات البرمجية.
سنرتكب جميع الأخطاء المحتملة أثناء المهام العملية مجانًا، حتى تتمكن لاحقًا من تجنبها في عملك وتوفير الملايين.
في الماضي، تم إنشاء العديد من التطبيقات بدون تصميم. بدا الأمر مناسبًا: لا توجد تكاليف تخطيط، ونماذج أولية سريعة.
ولكن مع مرور الوقت، تحولت التطبيقات المعقدة إلى طراد لا يمكن السيطرة عليه، يندفع بأقصى سرعة نحو جبل الجليد.
عندها أصبحت الهندسة المعمارية سترة نجاة حقيقية. يعد التطبيق ذو البنية المصممة جيدًا أسهل في التوسع والتغيير والاختبار والتصحيح والفهم.
هندسة التطبيقات هي فن. فن تصميم وإنشاء أنظمة واسعة النطاق.
سوف تتعلم كيفية إنشاء مخططات UML، ورمز إعادة البناء، ورسم الحدود المعمارية، وتحليل الأنظمة. سيقوم كل مشارك بإكمال مشروع الدورة التدريبية: تصميم نظام معلومات ووصفه بالكامل كما يحدث في أنشطة الإنتاج الحقيقية.
جلسة تمهيدية مع المتحدثين
22 يناير الساعة 19:00
الوحدة الأولى: مقدمة في هندسة التطبيقات
22 يناير
دعونا نتعرف على أساليب ونماذج هندسة التطبيقات
- الموضوع الأول. تكمن المشكلة في أهمية تصميم البرامج بشكل صحيح. لماذا هناك حاجة إلى الهندسة المعمارية، وماذا يحدث عندما لا يفكر الناس في ذلك.
- الموضوع الثاني. العزلة كوسيلة للسيطرة على التعقيد. كود السباغيتي. نمطية. اقتران. الربط الثابت، الربط الديناميكي. المكونات وتفاعلاتها. مكون ككيان مستقل. تصميم المكونات المترابطة بشكل فضفاض. اختبار المكونات. MVC كمثال للنمط المعياري. أسباب التغييرات، والعزل بناء على أسباب التغييرات.
الوحدة الثانية: لغة النمذجة الموحدة
29 يناير
دعونا نتقن لغة العرض الرسومية: ستتمكن من القراءة والتصميم باستخدام هذه اللغة. دعونا نتعلم كيفية استخدام الرسوم البيانية لتصور الهندسة المعمارية والاتصالات.
- الموضوع الأول. المكونات الرئيسية، ما الذي يمكن التعبير عنه، ما هو مطلوب منهم.
- الموضوع الثاني. الرسوم البيانية للفصل والنشاط والتسلسل وحالة الاستخدام.
- الموضوع الثالث. عيوب UML. الموديل C4. أدوات
الوحدة الثالثة: مبادئ OOP
12 فبراير
سوف نتعلم التحليل على مستوى عالٍ: ستعرف كيفية حل المشكلة واستخدام أي نموذج.
- الموضوع الأول. مراجعة نماذج البرمجة.
- الموضوع الثاني. مبادئ OOP. OOP كوسيلة للهندسة المعمارية. الطبقات والأساليب. نهج الكائن كوسيلة للعزل. واجهات وفئات مجردة. مشاكل الميراث.
- الموضوع الثالث. مبادئ OOP: (صلب، جاف).
جلسة AMA مع المتحدثين
الوحدة الرابعة: أنماط التصميم
26 فبراير
سوف نتعلم تصميم الأنظمة باستخدام الأنماط: سوف تفهم مزايا الأنماط وقيودها، وستكون قادرًا على التعرف على الأنماط المطبقة في الأنظمة
- الموضوع الأول. ما هي الأنماط ولماذا هي مطلوبة؟ أنواعهم.
- الموضوع الثاني. الأنماط التوليدية والهيكلية.
- الموضوع الثالث. الأنماط السلوكية.
- الموضوع الرابع. الأنماط المضادة.
الوحدة الخامسة: العمارة النظيفة
11 مارس
سوف نتعلم التصميم وفقًا لمعايير الهندسة المعمارية البحتة، وإيجاد الانحرافات عن الهندسة المعمارية البحتة واقتراح خيارات لحل النظام. سوف نتعلم كيفية تطبيق تخطيط الكود وتصميم ورسم الحدود المعمارية لتبسيط المزيد من التغييرات وصيانة الكود.
- الموضوع الأول. اقتران والتماسك.
- الموضوع الثاني. الحدود المعمارية.
- الموضوع الثالث. العمارة النظيفة.
الوحدة السادسة: المناهج المعمارية المختلفة
25 مارس
سوف نتعلم كيفية اختيار نهج لحل مشاكل الإنتاج المخصصة، وشرح المزايا أو الحلول التي يقدمها الآخرون/حلولنا. سنتمكن من إيجاد الحلول المناسبة للمهام الموكلة إلينا، مع الأخذ في الاعتبار الوضع الحالي
- الموضوع الأول. المتطلبات، مجال الموضوع. تحليل. المتطلبات الوظيفية/غير الوظيفية.
- الموضوع الثاني. الأساليب المعمارية. البصل، متعدد المستويات، موجه نحو الخدمة، الخدمات الصغيرة، يحركها الحدث.
- الموضوع الثالث. بنية التطبيق. MVC، MVP، MVVM، MV*.
جلسة AMA مع المتحدثين
الوحدة السابعة: العمارة في كل مكان
1 أبريل
سوف نتعلم كيفية تطبيق المعرفة حول الهندسة المعمارية على مستويات مختلفة من الحجم (ليس فقط تخطيط الفئات والوحدات، ولكن أيضًا الأنظمة بأكملها)
- الموضوع الأول. أنواع المهندسين المعماريين ومهامهم.
- الموضوع الثاني. بنيات على مستويات مختلفة (مضمنة، تطبيقية، نظام موزع، خدمة سحابية أصلية).
الوحدة الثامنة: التلخيص
8 أبريل
دعونا نتعلم كيفية اختيار أداة لمهمة محددة بسهولة
- الموضوع الأول. مراجعة الأدوات والتقنيات الرئيسية ومكانها في الهندسة المعمارية ومبادئ الاختيار.
- تخزين البيانات: S3، Ceph، Posgres، MongoDB، Clickhouse، Neo4J، Cassandra، KeyValue.
- قوائم الانتظار: AMQP، Rabbit، Kafka، MQTT.
- اللغات: بايثون، جافا، GO، C++، جافا سكريبت/تايبسكريبت.
- الواجهة: وحدة التحكم، التطبيقات الأصلية، الويب: React، Vue، Angular، Jquery، hybrid، chatbots.
- أدوات البنية التحتية: docker، k8s، terraform، ansible.