فكر برمجي
398 subscribers
234 photos
2 videos
67 files
159 links
#فكر_برمجي
Think_Programmatically
قناة تقنية متخصصة في البرمجة وتطوير المهارات. نوفر شروحات مبسطة، موارد مفيدة، وأفكار ملهمة لتحويل شغفك بالتقنية إلى إبداع.
Download Telegram
ماذا استفدت من المقال :
هذه كل المصطلحات التقنية والهندسية الواردة في المقال، مرتبة ومنسقة بدون شرح:




أولاً: مفاهيم عامة في هندسة البرمجيات

Software Engineering

Syntax

Framework

Controllers

Architectural Style

Separation of Concerns

Class

Clean Code

Monolithic

Business Logic

Modular Monolith

Domain Logic

Infrastructure

Bottleneck

End to End

Refactoring

SOLID

Type System

Concurrency Basics

Runtime





ثانياً: معمارية الأنظمة

Microservices

Distributed Systems

Distributed Transactions

Eventual Consistency

ACID Properties

Independent Deployment

Scalability

In-process Call

Network Call

Network Latency

Request Timeout

Observability

Tracing

Big Ball of Mud (Distributed Big Ball of Mud)





ثالثاً: أدوات وتقنيات

Kubernetes

Docker

Docker Compose

RabbitMQ





رابعاً: مكونات التطبيقات

Project

E-commerce App

User Service

Product Service

Order Service

Payment Service

Notification Service

Inventory Service

Authentication

Authorization

Validation

Logging

Unit Tests

Integration Tests

Request

Error 500

Logs

Configs

Network




خامساً: هياكل البيانات والذاكرة

Data Structures

Memory

Array

List

Map

Set

Collection

Mutable

Immutable

Reference vs Value

Stack

Heap Memory

Memory Leaks

Performance Cost





سادساً: مفاهيم تنظيم الكود

Variables

Functions

Single Responsibility

Project Structure



يالله روح ابحث ايش معنى كل واحد واين تستخدمه في المشاريع 💔😆
1
مقال ثاني للمصري :
كتير مننا كـ Software Engineers في بدايتنا بنقع في فخ مثالي جداً ومشهور، فخ "أنا هكتب كود مفيش زيه ومفيش سطرين شبه بعض عندي".. أول ما الـ Developer يشوف سطرين كود متكررين، إيده بتاكله ويجري فوراً يطبق مبدأ الـ DRY (Don't Repeat Yourself) ويعملهم دمج في Function واحدة عشان يحس بالانتصار الهندسي.

بس الحقيقة الصادمة اللي بنكتشفها بعدين بالدموع في الـ Production، إن مش كل كود متكرر تجري تطبق عليه الـ DRY Principle بشكل أعمى.. لأن الـ Duplication أحياناً بيكون أرحم بكتير من إنك تعمل Tight Coupling بين جزئين في السيستم ملهمش أي علاقة منطقية ببعض، ولما تحتاج تعدل Requirement في حتة فيهم تلاقي التانية ضربت منك في صمت.

المقولة دي بتلخص واحدة من أهم وأعمق المشاكل اللي بيقع فيها المبرمجين في الـ Software Design، ومبنية على قاعدة ذهبية للمهندسة Sandi Metz بتقول: "Duplication is far cheaper than the wrong abstraction" بمعنى إن التكرار أرخص وأهون بكتير من الـ Wrong Abstraction.

عشان نفهم المعنى التقني ورا الكلام ده، تعالى نتكلم Engineering بجد ونقسم المشكلة دي لأجزاء عشان نستوعب الكارثة اللي بتحصل Under the hood:

١- التكرار بالصدفة (Coincidental Duplication)
مش كل كودين شكلهم متطابق يبقوا بيعملوا نفس الحاجة أو ليهم نفس الهدف في الـ Business Logic.. أحياناً الكود بيكون متطابق "بالصدفة" في اللحظة الزمنية دي بس. لو اتسرعت وعملت ليهم دمج في Shared Function، أنت كدة ربطت مسارين ملهمش علاقة ببعض لمجرد إن الـ Syntax الحالي واحد. هنا أنت معملتش DRY لمفاهيم أو Knowledge، أنت عملت DRY لسطور كود، وده فخ مرعب اسمه Temporal Coupling.

٢- كابوس الاعتمادية (Tight Coupling)
لما تجمع الكودين دول في مكان واحد لمجرد التشابه الشكلي، أنت خلقت رابط قوي جداً بينهم.. لو جزء في السيستم طلب تعديل في الـ Shared Function دي عشان يناسب Business Requirement جديد، التعديل ده هيسمع فوراً في الجزء التاني اللي بيستخدم نفس الـ Function، وممكن يبوظه بالكامل لأن الجزء التاني مكنش متوقع ولا محتاج التعديل ده أصلاً.

٣- ولادة الوحش (The Wrong Abstraction)
لما تكتشف إن الـ Function الواحدة مبقتش نافعة للطرفين بنفس الشكل، هتبدأ "ترقع".. هتبدأ تبعت Parameters زيادة، وتحط Boolean Flags زي isUser أو isAdmin، وتعمل Nested if/else conditions جوه الـ Function عشان تفصل بين الحالتين.. مع الوقت الـ Function دي هتكبر وهتتحول لـ God Function معقدة جداً بتكسر مبدأ الـ Single Responsibility Principle، وأي محاولة للـ Debugging فيها هتبقى عبارة عن Cognitive Load رهيب على دماغ أي حد بيقرأها، وهتلاقي نفسك بتعمل Shotgun Surgery مع كل تعديل بسيط.

عشان الصورة توضح بجد، خليني أحكيلك موقف حصل معايا الأسبوع اللي فات في Mentorship Session مع واحد من الشباب الشاطرين جداً معانا:

كنا بنعمل Code Review لـ Task في Project التجارة الإلكترونية بتاعه، وكان بيحسب ضريبة المبيعات.. هو لقى إن الـ Function اللي بتحسب الضريبة للمنتجات العادية، والـ Function بتاعة الخدمات، الاتنين بيضربوا السعر في 10%، فالكود متكرر بالمللي.. فقام مطبق الـ DRY وعمل Shared Function واحدة اسمها calculateTax.

السيشن اللي بعدها، اديتله Business Requirement جديد: "الضريبة على الخدمات بقت 15%، والمنتجات فضل عليها 10% بس ضفنا رسوم شحن للمنتجات اللي سعرها فوق رقم معين".

هنا الولد دخل يعدل في الـ Shared Function، وزود isService flag، وبعدين زود requiresShipping، وعمل شروط متداخلة جوه نفس الـ Function.. النتيجة؟ الكود بقى Spaghetti، ولما حب يعدل حسبة الخدمات، بقى مرعوب إنه يـ Break حسبة المنتجات.. هنا الـ Wrong Abstraction خلى الـ Maintenance بتاع الكود أصعب 100 مرة من لو كان ساب 2 Independent Functions كل واحدة بتعبر عن الـ Context بتاعها بوضوح.

في الـ Software Engineering عندنا Best Practice ممتازة اسمها Rule of Three.. لو الكود اتكرر مرتين، استنى وماتعملش حاجة وسيبه متكرر.. لو اتكرر تلات مرات بنفس الشكل ونفس المعنى، ساعتها بس ابدأ فكر تعمل Abstraction.. لأن المرة التالتة بتأكدلك إن ده Pattern حقيقي في الـ Domain مش مجرد صدفة مؤقتة.

وهنا بيجي دوري كمنتور.. لما بلاقي حد من الشباب بيعمل Pull Request وكل همه إنه يقلل عدد السطور لمجرد التقليل وإرضاء الـ IDE، بوقفه فوراً.. إحنا بنركز إننا نبني عقلية Software Engineer بيحلل الـ Context مش مجرد Coder بينفذ قواعد محفوظة.
بخليه يشوف بعينه إزاي التراجع عن الـ Wrong Abstraction وفك الـ Coupling بياخد مجهود خرافي مقارنة بدمج الكود المتكرر، وبفهمه إن الـ Readable Code المستقل أهم مليون مرة من إنك توفر كام سطر كود وتدفع تمنهم Technical Debt يخلي المشروع Unmaintainable.
الخلاصة يا قلب الهندسة.. مبدأ الـ DRY مش قرآن منزل نطبقه بشكل أعمى من غير فهم السياق. الـ Good Software Design مش سباق لتقليل أسطر الكود، هو سباق لتقليل التعقيد.. الـ Duplication الواضح الصريح أحياناً بيكون أرحم وأفضل بكتير من Wrong Abstraction بيخفي التعقيد Under the hood ويخلي أي Maintenance في المستقبل كابوس حقيقي.
---
مصادر مهمة جداً أنصحكم تقرأوها عشان تتعمقوا في الموضوع ده:
1- مقال "The Wrong Abstraction" للمهندسة العظيمة Sandi Metz (موجود على البلوج بتاعتها sandimetz.com).
2- كتاب "Clean Code" لـ Robert C. Martin (Uncle Bob) - تحديداً الفصول المتقدمة اللي بتتكلم عن الـ Cohesion والـ Coupling وإمتى نضحي بالـ DRY.
3- كتاب "Patterns of Enterprise Application Architecture" لـ Martin Fowler (تحديداً كلامه المهم عن الـ Tangential Coupling).
4- مقال ومحاضرة "Goodbye, Clean Code" لـ Dan Abramov (من تيم React) اللي بيحكي فيها عن هوسه بتقليل الكود في بداية حياته وإزاي دمره.
5- كتاب Refactoring للمؤلف Martin Fowler وتحديدا فصل الـ Code Smells وكلامه عن الـ Duplicated Code ومبدأ الـ Rule of Three.
--
Have A Nice Day 😊
أنا بالبيت يشتوني اصلح تلفونات تعريب ، فك شفرة ، ثري جي ، فورجي
او الدش او اي حاجة داخل الجوال من تحديثات وحسابات والذي ضيع حاجة او حذف يشتي استعيده والذي يشتي اخترق حسابات تواصل اجتماعي والذي يشتيني أعمل رحلة ماجلان ههههههه 🤣
المهم طحنة
هل عندكم من هذه المشاكل
او أنا فقط محبوط عمل
🤣💔
#يوميات_مهندس
🤣6
📱 فهرس تعلم صيانة وبرمجة الهواتف مبتدئ (كمبرمج وليس عتاد)




🔹 المرحلة الأولى: الأساسيات التقنية

1️⃣ مدخل إلى عالم الهواتف

مكونات الهاتف الداخلية (CPU – RAM – Storage – Modem)

الفرق بين GSM و CDMA

ما هو IMEI؟

آلية عمل الشبكات 2G / 3G / 4G / 5G

بنية نظام Android




2️⃣ أساسيات أنظمة التشغيل

نظام Android

Bootloader

Recovery

Fastboot

ADB


الفرق بين Stock ROM و Custom ROM

مفهوم Root وصلاحيات النظام



🔹 المرحلة الثانية: الصيانة البرمجية (Software Maintenance)

3️⃣ التفليش وتحديث الأنظمة

تثبيت تعريفات USB

استخدام Fastboot

تفليش عبر Odin (أجهزة سامسونج)

تفليش عبر SP Flash Tool (أجهزة MediaTek)

حل مشاكل Bootloop

إزالة FRP بطريقة قانونية




4️⃣ التعريب وتخصيص النظام

تثبيت رومات متعددة اللغات

إضافة اللغة العربية

حل مشاكل الخطوط

تثبيت Google Services للأجهزة الصينية




5️⃣ استرجاع البيانات

متى يمكن استعادة البيانات؟

الفرق بين الحذف العادي والتهيئة

أدوات استرجاع الملفات

النسخ الاحتياطي الاحترافي




🔹 المرحلة الثالثة: الشبكات والاتصال

6️⃣ مشاكل الشبكة

إصلاح No Service

ضبط APN للـ 3G و 4G

تحديث مودم الشبكة

فحص IMEI

التعامل مع مشاكل فقدان الإشارة




7️⃣ إعداد الراوتر والدش

ضبط إعدادات الراوتر

فتح البورتات

تقوية الإشارة

برمجة أجهزة الاستقبال (الدش)



🔹 المرحلة الرابعة: الحسابات والأمان

8️⃣ إدارة الحسابات

استرجاع حساب Google

مشاكل قفل الحساب

تفعيل المصادقة الثنائية

حماية الجهاز من الاختراق




🔹 المرحلة الخامسة: الاحتراف والدخل

9️⃣ الأدوات الاحترافية

Dongles

Box Tools

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

إدارة ورشة صيانة



🔟 مهارات العمل الحر

تسعير الخدمات

التعامل مع العملاء

بناء سمعة محلية

إنشاء صفحة خدمات



🔹 المرحلة السادسة (للمهندس الحقيقي 👨‍💻)

1️⃣1️⃣ الانتقال من صيانة إلى هندسة

تحليل Firmware

بناء رومات مخصصة

دراسة Reverse Engineering

أساسيات الأمن السيبراني للهاتف




🎯 النتيجة النهائية

لتتخلص من بعض المشاكل السابقة.😅
1
This media is not supported in your browser
VIEW IN TELEGRAM
دعونا من البرمجة قليل |
ولنسمع الى هذا الداعية 💔🔥
ربي ارجعون
2
جوجل تطلق Pomelli عبقري التسويق الجديد للشركات الصغيرة
أعلنت جوجل مؤخراً عن إطلاق أداة Pomelli، وهي تجربة ثورية مدعومة بالذكاء الاصطناعي (من تطوير Google DeepMind) تهدف لتحويل أي موقع إلكتروني إلى "ماكينة محتوى" تسويقي في دقائق.
تستهدف الأداة أصحاب المشاريع الصغيرة الذين لا يملكون ميزانية لتوظيف مصممين أو كتاب محتوى، حيث توفر لهم جودة احترافية بشكل مجاني (حالياً).
• تحليل "الحمض النووي" للعلامة (Business DNA): بمجرد وضع رابط موقعك، تقوم الأداة بتحليل ألوانك، خطوطك، ونبرة صوتك في الكتابة لتفهم هويتك بدقة.
• توليد أفكار حملات إعلانية: تقترح عليك زوايا تسويقية مبتكرة بناءً على نشاطك التجاري.
• صناعة محتوى جاهز للنشر: تنشئ لك منشورات لمنصات التواصل الاجتماعي (صور ونصوص) متناسقة تماماً مع هوية براندك.
• تعديل مرن: يمكنك تغيير الصور أو العناوين داخل الأداة قبل تحميلها.
الأداة في مرحلتها التجريبية العامة (Public Beta) وتدعم اللغة الإنجليزية حالياً في الولايات المتحدة، كندا، أستراليا، ونيوزيلندا (مع توقعات بتوسعها عالمياً قريباً).
Deleted Account
أنا بالبيت يشتوني اصلح تلفونات تعريب ، فك شفرة ، ثري جي ، فورجي او الدش او اي حاجة داخل الجوال من تحديثات وحسابات والذي ضيع حاجة او حذف يشتي استعيده والذي يشتي اخترق حسابات تواصل اجتماعي والذي يشتيني أعمل رحلة ماجلان ههههههه 🤣 المهم طحنة هل عندكم من هذه المشاكل…
طلع الموضوع صدق والله، يشتوني أكون مبرمج تلفونات صميل 💔🤣
كل يوم يجي لي واحد اصلح له التلفون
لا حول ولا قوة إلا بالله
يا جماعة الخير كيف افهمهم اننا درست ++C ما ليش دخل بالتلفونات
لازم نعمل دورة برمجة وصيانة جوالات
هكذا ما ينفعش كل ساعة وأنا باليوتيوب ابحث عن مشكلة
💔😅
🤣91
هذا الذي أمامك بدأ مثلك ب
Hello World 🌍
ودرس مثل تخصصك
فشدوا الهمة
وخير الكلام ما قل ودل.
💯3
تتبنى الصين حالياً نموذجاً ثورياً في التعليم العالي يهدف إلى كسر الجمود الأكاديمي، حيث أتاحت لطلاب الدكتوراه في التخصصات الهندسية والتقنية نيل الدرجة العلمية عبر تقديم ابتكارات واقعية ونماذج تقنية فعالة بدلاً من الأطروحات النظرية الطويلة. هذا التحول، المدعوم بـ قانون الدرجات العلمية لعام 2025، يسعى لتحويل الجامعات إلى محركات إنتاجية تدعم الاكتفاء الذاتي التكنولوجي، من خلال تقييم النجاح بناءً على القيمة الابتكارية والأثر الاقتصادي الملموس، وليس فقط النشر الورقي، مما يربط البحث العلمي مباشرة بمتطلبات الصناعة والأهداف الوطنية.
#101technology l #technews l #أخبار_التكنولوجيا l #china🇨🇳
👍1
هيا من الاسئلة هذي توجع القلب 💔🤣
والجواب كان قاسي طبعاً
🤣3
هذا السؤال لم يأتي من باب الصدفة !
معظم الطلاب لا يعي بحقيقة هذا الأمر مبكراً
وعندما تنصحه ما يصدقك
ولكن خلصنا دراسة والحمدلله الان نشوف نتائج الاستهتار الذي خلفناه خلال ٤ سنين
من ضياع وقت وعدم التأسيس بطريقة متسلسلة و مع الفهم النظري والتطبيق العملي خطوة خطوة
أنا عارف كان معظم شغلنا ذكاء اصطناعي
أنا عارف كنا نحل التكاليف والواجبات والمشاريع من الذكاء الاصطناعي
أفهم و أعي حجم الجريمة التي ارتكبناها في حقنا وفي مستقبلنا ولكني ما زلت معاند ،
العالم بيتقدم وأنا جالس اكتب ليش ؟
وصدقت بائعين الوهم اصحاب الكورسات السطحية تعلم برمجة في خمسة أيام، صلح مشاريع بالذكاء الاصطناعي لا وفقهم ولا طرح لهم بركة

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

وأيضاً أنا عارف كنا نحفظ ملازم الجامعة حفظ ولا نتوسع ولا نبحث من مصدر خارجي لأنه ما يجي بالاختبار
أنا عارف بأننا مقيدين لكن عادي عشان الدرجات المهم ١٠٠ وخلاص ونتتخرج بدرجات عشان أكون الأول على الدفعة والناس تفتخر بي وخلاص
يا لنا من حمقى ومغفلين وتافهين للأسف 💔 أعذروني على هذه المصطلحات لأننا نستحق

هذا التخصص يا اعزائي لا يرحم المغفلين أمثالنا
نحن معاقين فكرياً ومنطقياً ونريد أن نكون مهندسين ؟
بالله عليكم كم معلومات بالاساسيات ضيعناها
ووعدنا أنفسنا بأننا سنعود ولم نعد لها الى الان
لأننا يا عزيزي القارئ حمقى

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

الشغلة تحتاج حكمة، عمق، تشرب مفاهيم وكفائه وتطبيق عملي

الحمد لله
والله عرفنا معلومات ونحن في مستوى مبتدئ جداً كنا نبحث عن الحقيقة نريد نتعلم بصدق
كنا نعرف بالذي سنصل اليه تماماً وكأننا مهندسين ذو خبرة بعشرات السنين
كيف عرفنا يا مهندس والبقية ما عرفوا

أنت شاطر فقط
لا يا اعزائي
لقد وهب الله لنا خارطة الطريق للتأسيس في البرمجة

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

ليش خدعت نفسي هكذا ليش ؟

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

أنا ما أنصح أحد يفعل مثلنا لأنه صحيح تستفيد لكن خسارة بنفس الوقت لازم تضحي وتقرر بحكمة

فالسؤال الذي يدور هل أنت راضي عن نفسك ومستواك
مثلاً مافيش ذكاء اصطناعي هل نستطيع عمل شي ؟

مثلا مافيش انترنت اساساً جرب يوم طفي الانترنت
وغلق الكورسات والمراجع وأفتح الفيجول رأس برأس
قول لنفسك ايش اقدر أعمل أنا
ليش ضيعت اربع سنين من عمري وأنا ما اقدرش أعمل شي ، والله حرام أقسم بالله 💔😭
خسارة وقت ، ومال و خدعت نفسك ليش قول لي ؟
الاسرة راكنين عليك تخرج تشتغل تطلب الله
ليش ضيعت نفسك وقبرت طموحك هكذا ؟

أقسم بالله خسارة وندم وقهر كم الواحد يتكلم وكم يكتب
وجع قلب بس
إن شاء الله يكون هذا المنشور مؤثر وتوصل رسالتي
أنا ما اشتيش اكتب لاصبح مشهور
أنا لازم أنصح الاخوة والاخوات
لازم كل واحد يوجه الثاني ياخذ بيده يرشده يساعده
كم هذا المعروف عند الله كبير
ونسأل من الله الإخلاص والعمل على مرضاته وسلامتكم
اخوكم المهندس : طارق العمري
#يوميات_مهندس
10
يا ساتر سترك 😯
🔴 أعلنت شركة "بيربليكستي" عن إطلاق "Perplexity Computer" وهو نظام يهدف إلى إعادة تعريف مفهوم الحاسوب الشخصي في عام 2026 من خلال دمج كافة قدرات الذكاء الاصطناعي في نظام موحد

🔴 ونشرت "بيربليكستي" عبر حسابها على منصة "إكس" مشاهد توضيحية للنظام الجديد الذي يتميز بقدرته على البحث والتصميم والبرمجة وإدارة المشاريع بالكامل معتمدًا على "تعدد النماذج " حيث يقوم بتنسيق العمل بين 19 نموذجًا مختلفًا للذكاء الاصطناعي مستخدمًا نظام (Opus) لاختيار النموذج الأنسب لكل مهمة محددة وتشغيل "الوكلاء" بالتوازي لإنجاز العمل بسرعة ودقة

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

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

أولاً : الفكرة والمتطلبات :
اجتمعنا مع العميل ، من خلال النزول الميداني لجمع المتطلبات مع تجهيز اسئلة المقابلة بشكل دقيق جداً لأنها أهم مرحلة في بداية دورة حياة تطوير البرمجيات
وما فائدة أن تقوم بعمل نظام او موقع او تطبيق لا يلبي متطلبات المستخدم ؟

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

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

أخذنا المتطلبات وبدأنا التخطيط و تحليل المتطلبات من دورة حياة تطوير البرمجيات

وبحكم أننا ما زلنا طلاب ولكن بدأنا نعرف أن مشروع سوق العمل بعيد كل البعد عن تكليف او مشروع الجامعة

فبدأنا بعد جمع المتطلبات وتحليلها ب التصميم
الهوية البصرية والالوان والواجهات قواعد البيانات و المخططات وأمرونا بالسمبتيك 😁 وتعلمنا Figma

وصلنا مرحلة التنفيذ :
طبعاً التقنيات المستخدمة الذي كنا في حينها نعرفها
واجهات خلفية إطار عمل (python (Django
واجهات أمامية Html CSS JS Bootstap
قواعد البيانات Postgree SQL , sqllite

فبدأنا فيها بعدين بدأت الامور تتضح أكثر
تعرفنا على أطر العمل
مثل React والربط مع الباك اند عن طريق APIs
وكيفية توثيق المشروع الباك اند عن طريق Swagger
واستخدام postman لاختبار ال APIs
وتجهيز المشروع الإطلاق عن طريق Docker وكيفية توثيق المشروع وعمل Readme

فأثنا العمل ظهرت الكثير من المشاكل وبدأنا نعرف تقنيات جديدة وحلول تقنية داعمة واستخدام الخرائط في النظام و كيفية حماية الموقع او النظام باستخدام أفضل الممارسات البرمجية وكيفية تقسيم وهيكلة المشروع باستخدام layered architecture, ومن ضمن الممارسات اتعرفنا على SOLID وكيفية تطبيقه الذي هو Design Patterns باختصار كيف تجعل المشروع قابل للتوسع والاضافة والحذف بدون أن تسبب مشاكل

وأيضاً قلنا لازم نتعلم كيف نسوي تسجيل الدخول عن طريق جوجل و OTP للأمان والتحقق
في الجامعة كانت الحقول تقبل أي مدخلات الان لا
الحقول يجب أن تتوقع جميع أنواع مدخلات المستخدم
ونقوم بعمل Validation لها لتحسين تجربة المستخدم ما يظهر خطأ و وقف النظام

ظهرت مشاكل بالاداء فأستخدما Cashing لحل المشكلة عن طريق Redis

Work as team :
أثناء العمل كنا نعاني من مشكلة كيف نشتغل كفريق
فتعلمنا إدارة الإصدارات والتحكم Git , GitHub

Project management:
وأيضاً كنا نعاني من الأدوار والمهام والخطة الزمنية فتعلمنا Terllo وكيف ندير الوقت ، والمهام فلدينا مدير تقني ذو كفائه المتمثل بالمهندس قمحان

بالنسبة للكود فتعاملنا ب بالفروع والدمج والامور طيبة
كنا نشتغل لازم جماعي الان عادي كل شخص يشتغل من البيت ويرفع شغله في فرع Branch ويتم مراجعته pull request ودمجه merge

فأخذنا خبرة عملية كبيرة وتعلمنا من أخطانا من خلال التجارب
وأصلحنا المشاكل بأفضل الممارسات والحلول
من أين أتت هذه الممارسات ؟ Best practice
من خلال البحث والتطبيق لأنه مشروع سوق عمل مش تكليف ولا واجب جامعي

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

الان دور ال Deployment
قمناء بالبحث عن اسماء النطاق المناسب Domain name
و البحث عن الاستضافة المناسبة لحجز خادم ذو مواصفات تتحمل المشروع مع حجز معالج و رام ومساحة تخزين مع جعله قابل للتحميل الزائد load balancer فهذا تخصص عميق جداً لكن لازم تفهم منه لأنك تحتاجه جداً Cloud Computing

الان تبقى الإطلاق فقط واختبار المشروع في سوق العمل

من خلال قرأتك للمقال؟
هل ممكن تقيمنا من باب خبرتك بصدق وأمانه
ما اشتيش فلسفة رجاء، اكتب ملاحظاتك وتقييمك
وكثر الله خيرك.

المشروع يتم إطلاقه وإرفاق الرابط لكم للاختبار والتجربة وتقديم مقترحاتكم.

فريق DemoSoft | للأنظمة و الحلول التقنية والبرمجية
2