AGC Academy

12/02/2026

خلينا نتكلم بواقعية شوية
كل يوم تقريبًا بنتسأل من المتدربين
هو أنا ليه أدرس Data Structures وتصميم أنظمة طالما في AI بيكتب كود وبيعمل أبلكيشن كامل؟

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

في شركة توزيع عندها مندوبي مبيعات
الـ AI يعمل نظام فواتير
يسجل البيع ويخصم من الرصيد
والتقارير تطلع
بعد شوية تحتاج تعرف رصيد كل مندوب لحظيًا
تمنع البيع فوق حد ائتماني او تسجل أي تعديل حصل على الفاتورة

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

الـ AI يكتب كود يسجل قيود يومية ويحسب الرصيد والنتيجة تبان مظبوطة لكن لما تحتاج تقارير شهرية
ومقارنات سنوية
وإقفال فترة مالية
ومنع التعديل بعد الاعتماد
تكتشف إن التصميم من الأول ما كانش عامل حساب دورة حياة البيانات
إزاي تتفتح
وإزاي تتقفل
وإزاي تتحفظ بدون ما تتلعب
في نظام موارد بشرية
الـ AI يبني نموذج موظف
اسم
مرتب
قسم
لكن الواقع فيه ترقيات
انتقالات
جزاءات
عقود مؤقتة
وسجل تاريخي لازم يفضل موجود
لو التصميم ما بيدعمش التاريخ والتتبع
هتبدأ حلول مؤقتة ثم جداول إضافية ثم تعقيد مش مبرر

مثلا في أنظمة نقاط البيع
الـ AI يعمل شاشة بيع
تضيف منتج
تحسب السعر
تطبع فاتورة
لكن أول ما يبقى في أكتر من كاشير
واتصال الإنترنت يقطع
ويبقى في مزامنة بين فروع
وتحديث أسعار مركزي
المشكلة ما تبقاش في الطباعة
تبقى في إدارة الحالات
وتناسق البيانات
وضمان إن الأرقام مظبوطة في كل فرع

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

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

أول ما المشروع يكبر وأول ما الضغط يزيد
وأول ما التعديلات تبدأ
هتكتشف إنك استخدمته غلط

والغلط الأكبر إنك مش تستخدمه باحترافية لانه لا يمكن الاستغناء عنه حاليا

ربنا يوفقنا كلنا يارب

15/02/2025

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

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

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

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

البوست ده علشان المتدربين اللي بيزعلوا اننا مش بنسمح لهم الانتقال من مستوي الي مستوي الا بعد تسليم المشروع وشرحه فيديو

البرنامج المتكامل للتدريب على هندسة صناعة البرمجيات الدفعة ٢٠٢٥🌟 إيه هو البرنامج التدريبي وإيه قوته؟- البرنامج التدريبي ...
22/01/2025

البرنامج المتكامل للتدريب على هندسة صناعة البرمجيات
الدفعة ٢٠٢٥

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

✅ ما معني جاهز لسوق العمل؟
يعني تقدر تصنع أي تطبيق من تطبيقات السوق، ودي مسئوليتنا معاك.

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

💡 والأهم إن التدريب مبني بالكامل على مشاريع حقيقية من قلب سوق العمل!

لغات البرمجة والتكنولوجي التي سيتم التدريب باستخدامها في الصورة المرفقة.

📋 تعالى بقي نشوف خطة التدريب:

1️⃣ في البداية، هتتعلم أساسيات البرمجة على إيد مدربين محترفين بخبرة أكتر من 20 سنة.
- ضمان بداية قوية.
- سهولة ومتعة من أول يوم تدريب.

2️⃣ على مدار التدريب:
- هتتعلم مش بس نظري، لكن كمان هتشتغل على عدد كبير من المشاريع الحقيقية اللي تغطي جوانب البرمجة المختلفة.
- الهدف؟ تطبيق اللي اتعلمته واكتساب خبرة عملية فعلية.

3️⃣ أساليب البرمجة المتقدمة:
- تطوير تطبيقات متكاملة:
(تطبيقات سطح المكتب - تطبيقات الويب - تطبيقات الموبايل).
- تجهيزك بشكل كامل لمتطلبات سوق العمل.

📚 إيه هي المراحل التدريبية؟
المراحل مصممة علشان تضمن تطورك تدريجيًا وبوضوح وكل مرحلة تنقسم لعدد من الكورات كل كور يحتوي علي عدد من الموضوعات وشرط للانتقال من كور الي التالي هو تسليم مشروع الكور الحالي :

1- Development Fundamentals:
البداية مع أساسيات البرمجة لفهم القواعد اللي كل حاجة بتتبني عليها.

2- Database Management:
إدارة قواعد البيانات باستخدام أدوات زي SQL Server وOracle وMySQL.

3- Desktop Development:
تطوير تطبيقات سطح المكتب مع مشاريع عملية.

4- Web Development (Full Stack):
تطوير تطبيقات الويب بالكامل (Front-End وBack-End).

5- Mobile Development:
تطوير تطبيقات موبايل متكاملة.

6- Empowerment Techniques:
تقنيات برمجة متقدمة لتجهيزك لأي تحدي تقني.

🛠️ نظام المشاريع التدريبية:
نظام المشاريع عندنا بيضمن إنك تكتسب خبرة عملية حقيقية.

هتشتغل على تصميم وتطوير أنظمة متقدمة زي:
ERP Systems (أنظمة إدارة متكاملة).
- أنظمة الحسابات.
- إدارة المخازن.
- شؤون العاملين.
- نقاط البيع.
- إدارة المبيعات والمشاريع.
- أنظمة المستشفيات والمتاجر الإلكترونية.

🎓 نظام المحاضرات والدعم الفني:

1️⃣ محاضرات الفيديو العملية:
- مسجلة بخبرة مبرمجين محترفين.
- محدثة دوريًا بشكل دائم.
- تشمل تطبيقات ومشاريع عملية.

2️⃣ محاضرات الفيديو المباشرة (لايف):

- دعم مباشر مع المشرفين بشكل فردي (خاص).
- مفيش حد أقصى لعدد المحاضرات الخاصة.
- تحديد لقاء مخصوص مباشر ردا على كل سؤال مع المتدرب.

3️⃣ محاضرات الفيديو الخاصة:

- إجابات فيديو مسجلة لكل أسئلتك خلال 24 ساعة.
- مكتبة شاملة للأسئلة والفيديوهات.

4️⃣ مناقشة وتسليم المشاريع:

التدريب العملي أساسي، وتسليم المشروع شرط للانتقال للمستوى التالي.

5️⃣ نظام التذاكر (Ticket System):

- متابعة مستواك ومشاريعك بسهولة.
- نشر أعمالك على منصات التواصل.

🔥 نقطة مهمة جدًا:
- المشاريع شرط أساسي للانتقال بين المستويات.
- ليه؟ علشان التطبيق العملي هو اللي بيضمن إنك فاهم ومؤهل فعليًا.
بعد كل مستوى، هتسلم مشروعك وتناقشه مع المشرفين علشان تبدأ المستوى الجديد.

🎯 الهدف الأساسي:
إعدادك لسوق العمل بشكل قوي، بخبرة عملية حقيقية، مش مجرد تدريب نظري.

مدة التدريب الرسمية: ١٢ شهر.

*نظام العضوية بعد انتهاء المدة الرسمية للتدريب*

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

💬 لو محتاج تعرف أكتر عن البرنامج أو عندك أي استفسار، كلمنا دلوقتي واحنا هنوضحلك كل حاجة! 😊

21/11/2024

🎉 المتدربة إسراء أحمد – خطوة جديدة نحو القمة

اهنئ المتدربة إسراء أحمد
على اجتيازها مستوي مهم بتقديم بحثها المميز في مستوى Core AGC402 SQL Server.
هذا البحث يُعد شرط اساسي للانتقال إلى المستوى التالي ضمن البرنامج التدريبي SEIE.

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

🌟 كل التوفيق لكي في المستويات القادمة، ونحن واثقون أن القادم يحمل المزيد من الإبداع والإنجازات. استمري في تألقك!

19/11/2024
19/11/2024

"نظام تسليم مشاريع التدريب للمتدربين في اكاديمية AGC"

علشان عندنا التدريب مش مجرد دراسة نظرية، ده نظام متكامل قائم على تنفيذ مشاريع بيزنس تطبيقية وذلك على كل مستوى تدريبي (Core Level).
وده لأننا مؤمنين إنك مش هتكتسب خبرة حقيقية زي اللي في سوق العمل من غير ما تطبق عملي وتنفذ مشاريع واقعية خلال فترة التدريب.

شروط الانتقال بين المستويات:

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

كل مشروع لازم يكون من شغلك الفردي بالكامل، مش شغل جماعي، علشان نضمن إنك اتعلمت فعلاً واكتسبت المهارات المطلوبة.

هدفنا إنك تخرج من التدريب مش بس دارس، لكن عندك خبرة عملية جاهزة تدخل بيها سوق العمل بثقة.

مثال توضيحي لمتدرب يقوم بتسليم مشروع للانتقال للمستوى التالي :

https://www.facebook.com/share/v/1P51xh5952/

ليه بندرس في التراك بتاعنا JSON واهميتها :تنويه : هذه البوست محتاج خلفية سابقة و تم محاولة التوضيح بشكل مبسط جيسون هي وا...
19/11/2024

ليه بندرس في التراك بتاعنا JSON واهميتها :
تنويه :
هذه البوست محتاج خلفية سابقة و تم محاولة التوضيح بشكل مبسط

جيسون هي واحدة من الأدوات البرمجية المهمة جدًا منقدرش حرفيا نستغني عنها ، هنعرف معناها، أهميتها، ونوضح استخداماتها في مشاريع حقيقية، مع شرح دورها في إرسال البيانات واستقبالها بين التطبيقات والسيرفر، حتي ثم نقوم بحفظها مثلا في قواعد بيانات مثل :
SQL Server أو MySQL ....
وايضا هامة جدا في استخدامات ال API ولكن دي ليها شرح لوحدها مش هنتكلم عنها الآن.

1. يعني إيه JSON؟
JSON (JavaScript Object Notation)

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

إزاي JSON بتشتغل؟

البيانات في JSON بتتكون من أزواج:

اولا المفتاح (Key): بيوضح نوع البيانات
(زي اسم المنتج أو السعر).

ثانيا القيمة (Value): هي البيانات نفسها
(زي "Pizza" أو 100).

مثال بسيط:
لو تطبيق موبايل يطلب بيانات منتج معين من السيرفر، السيرفر بيرسل البيانات بالشكل التالي:

{
"name": "Pizza",
"price": 100,
"size": "Large"
}

المفتاح "name" يوضح أن البيانات تخص اسم المنتج.
القيمة "Pizza" هي اسم المنتج.

2. مثال عملي: إدارة طلبات مطعم "ElTagen":
هنفترض ان في مطعم "ElTagen" طالب منك نظام حديث لإدارة الطلبات. النظام بيشتغل على:

تطبيق Desktop:
لإدارة قوائم الطعام ومتابعة الطلبات.

تطبيق Web:
لتمكين العملاء من طلب الأكل أونلاين.

تطبيق Mobile:
للسماح للعملاء بطلب الأكل ومتابعة حالة الطلب.

السيرفر وقاعدة البيانات:
اي نظام زي ده طبعا هيكون في جزء اساسي وهو السيرفر وقاعدة البيانات.

تعالي نحلل مثال عملي للتوضيح :
هنفترض السيرفر: اسمه ElTagen-Server، وهو المسؤول عن استقبال البيانات من التطبيقات وحفظها في قاعدة البياناو واستدعاء البيانات وإرسالها إلي التطبيقات.

هفترض قاعدة البيانات: اسمها TagenDB، وهي مبنية باستخدام MySQL أو SQL Server، وتحتوي على الجداول التالية:

جدول Menu:
(Name - Price - Size )

وجدول Orders:

(OrderID - CustomerName - Items - TotalPrice
- Status)

تعالي بقي نشوف المثال علي استخدام JSON:

حالة 1 إرسال قائمة الطعام من السيرفر إلى التطبيقات:

عند إضافة صنف جديد من تطبيق نوعه Application Desktop:

1. يتم إرسال البيانات المحدثة بصيغة JSON إلى قاعدة البيانات المستخدمة وحفظها في الجدول المخصص لذلك.

2. يتم حفظ البيانات المحدثة في جدول Menu داخل قاعدة البيانات.

حالة 2 إرسال طلب جديد من الموبايل إلى السيرفر:

عند تسجيل طلب جديد من تطبيق Mobile:

1. يتم إرسال بيانات الطلب إلى السيرفر بصيغة JSON.

2. يتم حفظ الطلب في جدول Orders داخل قاعدة البيانات.

3. وهنا نستطيع إرسال البيانات إلى تطبيق Desktop لمتابعة الطلب وتطبيق Web لعرض حالة الطلب للعميل.

حالة 3: تحديث حالة الطلب من الويب:

عند تغيير حالة الطلب من تطبيق Web:
1. يتم إرسال البيانات المحدثة بصيغة JSON لكل التطبيقات (Desktop, Mobile) من قاعدة البيانات.

2. يتم تحديث الحالة في جدول Orders داخل قاعدة البيانات.

كل التحليل البسيط السابق البيانات اللي بتروح وتيجي بين التطبيقات اي كان نوعها بتكون منظمه معمول لها فورمات بصيغة JSON بنفس الفورمات اللي شوفناه في بداية المثال السابق.

4. يبقي هنا نقدر نقول ليه بندرس JSON:

أولًا لأنها ضرورية في معظم تطبيقات البيزنيس :
جيسون تُستخدم في معظم التطبيقات لنقل البيانات بين الأنظمة المختلفة مثل Desktop, Web, Mobile.

ثانيًا: لتسهيل التكامل بين الأنظمة :
تُساعد في تبادل البيانات بشكل سلس وسريع بين التطبيقات والسيرفرات.

ثالثًا: لاكتساب خبرة عملية في جميع تطبيقات سوق العمل:
إتقان JSON يمنحك ميزة كبيرة في بناء أنظمة متكاملة وفعالة.

5. إزاي هنتعلم JSON في البرنامج التدريبي؟

طبعا هنبدأ من الأساسيات وحتي احترافها:
هنشرح كيفية إرسال البيانات بين التطبيقات والسيرفر و
ربط JSON مع قواعد البيانات مثل MySQL وSQL Server و قراءة البيانات وتحديثها بشكل احترافي.

مشاريع تطبيقية واقعية:
وبكده هنقدر نطبق JSON في جميع برامج البيزنس وعلى سبيل المثال وليس الحصر:

1. أنظمة إدارة المطاعم.
2. أنظمة المخازن.
3. أنظمة إدارة المدارس.
4. أنظمة الفواتير الإلكترونية.
5. أنظمة إدارة المبيعات.

6. الخلاصة :

JSON أداة أساسية لإرسال وتنظيم البيانات بين الأنظمة المختلفة.

هنستخدمها في مشاريع حقيقية خلال البرنامج التدريبي، عشان نربط التطبيقات بقواعد بيانات مثل MySQL وSQL Server.

طبعا في الدروس هنشرح كل ما سبق بشكل تفصيلي ورسومات توضيحيه

والله الموفق والمستعان










ليه في التراك بتاعنا هندرس UX و UI وأهميتهم : هنتكلم بطريقة سهله ومبسطه عن مرحلة مهمة جدًا في الكورس بتاعنا، وهي مرحلة ا...
18/11/2024

ليه في التراك بتاعنا هندرس UX و UI وأهميتهم :

هنتكلم بطريقة سهله ومبسطه عن مرحلة مهمة جدًا في الكورس بتاعنا، وهي مرحلة الـ UX والـ UI:

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

Desktop Development
Web Development
Mobile Development

خلينا نقسم الموضوع ده في نقاط بسيطة وواضحة:

أولًا: إيه هي الـ UX (User Experience)؟

التعريف: الـ UX بتتكلم عن تجربة المستخدم مع البرنامج أو الموقع اللي بتطوره.
يعني بنفكر إزاي نخلّي الشخص اللي بيستخدم البرنامج يكون مرتاح ومبسوط وهو بيتعامل معاه.

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

ثانيًا: إيه هي الـ UI (User Interface)؟

التعريف: الـ UI بتتكلم عن واجهة المستخدم، يعني الشكل اللي بتشوفه قدامك لما تفتح البرنامج.
بنتكلم عن الألوان، الخطوط، الأيقونات، الأزرار، وكل حاجة ليها علاقة بالشكل اللي بيظهر على الشاشة.

مثال: لما تفتح تطبيق زي Facebook، تلاقي الألوان متناسقة، الأزرار واضحة، والخطوط مريحة للعين.

ده دور الـ UI Designer إنه يخلي كل حاجة واضحة وجميلة.

ثالثًا: ليه بندرس الـ UX والـ UI مع بعض؟

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

السبب التاني:
في سوق العمل النهارده، مفيش شركة محترمة مش بتدور على حد فاهم في الـ UX والـ UI.
ده بقى جزء أساسي من أي مشروع برمجي.

السبب التالت:
لما تتعلم الـ UX والـ UI، بتبقى قادر تعمل برامج ومواقع أكثر احترافية، وده هيخلّيك مميز في سوق العمل.

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

Figma:

ده واحد من أشهر البرامج لتصميم الـ UI والـ UX.
هيساعدك تصمم واجهات بشكل احترافي، وكمان تقدر تعمل نماذج تفاعلية عشان تجرب تجربة المستخدم.

Adobe XD:

برنامج تاني قوي في تصميم واجهات المستخدم.
سهل الاستخدام وفيه أدوات كتير تقدر تعمل بيها تصميمات جذابة.

Canva (للتصميمات السريعة):

لو عايز تصمم حاجة بسرعة أو تعمل عناصر جرافيكية بسيطة، تقدر تستخدم Canva.

InVision:

ده برنامج بنستخدمه عشان نعرض التصميمات للعميل ونشوف الـ feedback بتاعه.

بيساعدك تعمل نماذج أولية تفاعلية وتقدر توريها لأي حد.

خامسًا: إزاي هنشتغل على الـ UX والـ UI في المرحلة دي من التراك بتاعنا؟

هنبدأ بشرح الأساسيات:
زي يعني إيه UX، وإزاي بتأثر على نجاح أي مشروع.

هنعمل تطبيقات عملية علي مشاريعنا:
هنتعلم إزاي نصمم واجهات مستخدم حقيقية باستخدام الأدوات اللي اتكلمنا عنها زي Figma.

هتشتغل على مشاريع حقيقية: هنطبق فبها كل اللي اتعلمناه في الـ UX والـ UI.

الخلاصة:

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

الـ UX والـ UI مش مجرد مرحلة في الكورس، دي مهارات لو أتقنتها هتفتح لك أبواب كتير في سوق العمل.

يارب نكون وضحنا الفرق بينهم بطريقة سهله

والله الموفق والمستعان



















18/11/2024

ما معنى كود ASCII (أسكي) وأهميته في عالم الكمبيوتر؟

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

هنشرح هنا بالتفصيل معنى كود ASCII، وأهميته، وكمان هنتكلم عن حاجة تانية اسمها Scan Code، وهما حاجتين كل مبرمج لازم يكون فاهمهم كويس.

ما هو كود ASCII؟

1. تعريف كود ASCII:

كود ASCII هو اختصار لجملة American Standard Code for Information Interchange، وده معناه "الكود الأمريكي القياسي لتبادل المعلومات".

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

2. إزاي الكمبيوتر بيفهم كود ASCII؟

لما تكتب حرف على الكيبورد، الكمبيوتر بيحول الحرف لكود رقمي. يعني حرف "A" بيتحول للرقم 65، وحرف "a" بيتحول للرقم 97.

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

لماذا تم تطوير كود ASCII؟

1. المشكلة قبل ASCII:

قبل ظهور ASCII، ما كانش فيه نظام موحد بين الكمبيوترات. كل شركة كانت بتستخدم نظام مختلف، وده كان بيصعب تبادل المعلومات.

2. الحل باستخدام ASCII:

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

إزاي كود ASCII بيشتغل؟

1. الأكواد الأساسية:

بعض الأمثلة على أكواد ASCII:

65 = A

97 = a

48 = 0
32 = (مسافة)

2. استخدامه في البرمجة:

في لغات البرمجة زي Python، تقدر تستخدم دوال زي ord() و chr() لتحويل الحروف لأكواد ASCII والعكس.

print(ord('A')) # هيطبع: 65
print(chr(65)) # هيطبع: A

ما هو Scan Code؟

1. تعريف Scan Code:

Scan Code هو كود بيتولد لما تضغط على زر في الكيبورد. ده مختلف عن ASCII لأنه بيعبر عن المفتاح اللي ضغطت عليه مش الحرف النهائي.

2. إزاي بيشتغل Scan Code؟

لما تضغط على زر، الكيبورد بيبعت للكمبيوتر كود مميز (Scan Code)، والكمبيوتر بعد كده بيترجم الكود ده لكود ASCII عشان يعرض الحرف أو الرمز.

3. أهمية الفرق بين Scan Code و ASCII:

Scan Code بيمثل الزر اللي ضغطت عليه، أما ASCII بيمثل الحرف النهائي اللي بيتعرض على الشاشة.

أهمية فهم كود ASCII و Scan Code للمبرمجين

1. فهم أساسيات الكمبيوتر:

معرفة كود ASCII هتساعدك تفهم إزاي الكمبيوتر بيتعامل مع النصوص والبيانات.

2. تطوير البرمجيات:

لما تكتب برامج بتتعامل مع المدخلات من الكيبورد، لازم تكون فاهم الفرق بين ASCII و Scan Code عشان تقدر تستقبل البيانات بشكل صحيح.

3. أمثلة عملية:

لو بتبرمج لعبة، هتستخدم الـ Scan Codes عشان تستقبل المدخلات من الكيبورد وتنفذ الأوامر.

ملخص سريع

كود ASCII هو نظام بيحول الحروف والأرقام لكود رقمي عشان الكمبيوتر يقدر يتعامل معاها.

Scan Code هو الكود اللي الكيبورد بيبعته لما تضغط على أي زر.

فهمك لكود ASCII و Scan Code هيساعدك في كتابة برامج أكثر احترافية والتعامل مع النصوص والمدخلات بشكل مظبوط.

للمزيد من الشرح التفصيلي، تابع الفيديو المرفق






















تحليل وعرض صفحات الويب في المتصفح: فهم آلية عمل DOM و CSSOM و Render Tree :طبعا في الكورس هنلاقي الشرح ده بشكل تفصيليخلو...
16/11/2024

تحليل وعرض صفحات الويب في المتصفح: فهم آلية عمل DOM و CSSOM و Render Tree :

طبعا في الكورس هنلاقي الشرح ده بشكل تفصيلي

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

الخطوة 1: المتصفح بيبدأ التحميل:

1. إدخال عنوان URL: المستخدم بيكتب عنوان الموقع (URL) في شريط المتصفح، زي www.agcacademy.net.

2. إرسال طلب HTTP: المتصفح بيبعت طلب HTTP إلى الخادم اللي بيستضيف الموقع للحصول على الملفات (HTML، CSS، JavaScript).

3. استجابة الخادم: الخادم بيرد على الطلب ويرسل ملفات الموقع إلى المتصفح.

الخطوة 2: تحليل ملف HTML (HTML Parsing):

1. تحميل ملف HTML: المتصفح يستلم ملف الـ HTML ويبدأ في قراءة الكود من البداية للنهاية.

2. بناء شجرة DOM:

المتصفح بيحول كود الـ HTML إلى شجرة DOM، يعني كل عنصر HTML (زي أو ) بيتحول لعقدة (Node).

شجرة الـ DOM بتتكون بالتوازي مع تحميل المتصفح لباقي الموارد زي الصور وملفات CSS.

مثال عملي:




مرحباً بكم!
هذا موقع تجريبي.



شجرة DOM الناتجة:

Document
└── html
└── body
├── h1: "مرحباً بكم!"
└── p: "هذا موقع تجريبي"

الخطوة 3: تحميل ملفات CSS وبناء CSSOM:

1. تحميل ملفات CSS: المتصفح بيحمّل أي ملفات CSS خارجية أو أكواد CSS مضمنة في الصفحة.

2. تحليل ملف CSS (CSS Parsing):

المتصفح بيحوّل أكواد الـ CSS إلى شجرة CSSOM (CSS Object Model).

شجرة الـ CSSOM بتحدد الأنماط اللي هتتطبق على عناصر الـ DOM.

مثال على CSS:

body {
background-color: ;
}
h1 {
color: blue;
font-size: 24px;
}

شجرة CSSOM الناتجة:

Stylesheet
├── body { background-color: ; }
└── h1 { color: blue; font-size: 24px; }

الخطوة 4: بناء Render Tree (شجرة العرض):

1. دمج DOM و CSSOM: المتصفح بياخد شجرة الـ DOM وشجرة الـ CSSOM ويدمجهم علشان يكوّن Render Tree.

2. استبعاد العناصر المخفية:

أي عنصر عليه display: none مش بيتضمن في الـ Render Tree.

3. إنتاج شجرة العرض النهائية: الـ Render Tree بتحتوي على العناصر المرئية فقط مع الأنماط المحسوبة.

مثال عملي:


أهلاً بيكم!
النص ده مخفي
رابط


Render Tree الناتجة:

Render Tree
└── body
├── h1: "أهلاً بيكم!" (color: blue, font-size: 24px)
└── a (href=" #"): "رابط"

الخطوة 5: Layout (التخطيط):

1. حساب التخطيط:

المتصفح بيحدد المواقع والأحجام لكل عنصر في الصفحة بناءً على الـ Render Tree.

بيتم حساب التخطيط لكل عنصر بناءً على المساحة المتاحة في الشاشة.

2. معالجة التداخل (Reflow):

لو حصل تعديل على الصفحة باستخدام JavaScript، المتصفح بيضطر يعيد حساب التخطيط (Reflow).

الخطوة 6: Painting (الرسم):

1. رسم العناصر:

المتصفح بيبدأ في رسم (Painting) العناصر على الشاشة بناءً على الأنماط المحسوبة.

بيرسم الخلفيات، الحدود، النصوص، الصور، إلخ.

2. الترتيب:

العناصر بتترسم من الخلف للأمام، يعني الخلفيات الأول، وبعدين النصوص والحدود فوقها.

الخطوة 7: Compositing (التجميع النهائي):

1. تجميع الطبقات:

المتصفح بيجمع كل الطبقات اللي رسمها في خطوة الـ Painting وبيظهرها على الشاشة كصفحة نهائية.

2. تحديث مستمر:

لو حصل تغيير ديناميكي على الصفحة (زي تحريك عنصر)، المتصفح بيعيد خطوة الـ Compositing بس من غير ما يعيد كل المراحل اللي فاتت.

أهمية الـ Design Patterns في هندسة البرمجيات ولماذا ندرسها؟لما تبدأ تتعلم البرمجة، غالبًا بتتعلم الأساسيات زي كتابة الأك...
12/11/2024

أهمية الـ Design Patterns في هندسة البرمجيات ولماذا ندرسها؟

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

هنا بتيجي أهمية الـ Design Patterns.

يعني إيه Design Pattern؟

ببساطة، الـ Design Pattern هو حل جاهز لمشكلة متكررة بتقابل المبرمجين أثناء تطوير البرمجيات.

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

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

نفس الفكرة بتطبق في البرمجة.

طيب، ليه بندرس الـ Design Patterns؟

1. تنظيم الكود وتقليل التعقيد:
لما بتستخدم الـ Design Patterns، الكود بتاعك بيكون منظم أكتر، مما بيخلي الصيانة والتطوير أسهل بكتير.

2. إعادة الاستخدام:
بدل ما تكتب نفس الكود كل مرة من الصفر، ممكن تستخدم الـ Design Patterns لتسهيل عملية إعادة استخدام الأكواد الجاهزة.

3. سهولة الفهم والتواصل:
لما بتشتغل في فريق، هيكون من السهل على أعضاء الفريق يفهموا الكود بتاعك لو كان مبني على أنماط معروفة ومتفق عليها.

4. الاستعداد للمشاريع الكبيرة:
الشركات الكبيرة بتعتمد على الـ Design Patterns في بناء الأنظمة، يعني لو اتعلمتها كويس، هتبقى جاهز أكتر لسوق العمل وهتكون فرصتك أحسن في الحصول على وظائف محترمة.

أمثلة على الـ Design Patterns الشائعة :

خليني أوضح لك بعض الأنماط الأساسية اللي لازم تتعرف عليها في الكورس بتاعنا:

1. Singleton Pattern:
بيستخدم لما تحتاج إنك تضمن وجود نسخة واحدة فقط من كائن معين في البرنامج. زي مثلاً لو عندك اتصال بقاعدة بيانات، مش عايز تفتح أكتر من اتصال.

2. Factory Pattern:
ده بيساعدك في إنشاء الكائنات بدون ما تحدد النوع بشكل مباشر في الكود، وده بيخلي الكود أكتر مرونة.

3. Observer Pattern:
بيستخدم لما عندك كائنات عايزة تعرف أي تغيير بيحصل في كائن معين. زي إشعارات البريد الإلكتروني أو الـ Notifications.

إزاي الـ Design Patterns هتفيدك في المستقبل؟

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

الـ Design Patterns هتساعدك تكون جاهز لحل المشاكل دي بشكل محترف وسريع، وهتخليك تظهر بشكل أفضل قدام زملائك ومديرينك في العمل.

في النهاية، الهدف من دراستها في الكورس إننا نساعدك تتحول من مجرد "كاتب أكواد" إلى "مهندس برمجيات" قادر على تصميم أنظمة متكاملة واحترافية.

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

نتمني نكون وضحت ليك ليه بندرس الـ Design Patterns وليه هي خطوة مهمة في مشوارك البرمجي!
والله الموفق

اهمية اضافة برمجة Arduino و Raspberry Pi في المرحلة الاخيرة من التراك كورس البرمجة لدينا واهميتة في تطبيقات البيزنيس Bus...
11/11/2024

اهمية اضافة برمجة Arduino و Raspberry Pi في المرحلة الاخيرة من التراك كورس البرمجة لدينا واهميتة في تطبيقات البيزنيس Business Application

اولا يجب التنويه ان الهدف من التراك هو تخريج مبرمج لدية القدرة علي انتاج برمجيات تطبيقات سوق العمل البيزنس ابلكيشن علي جميع المنصات
Desktop Development
Web development
Mobile Development
واخيرا مرحلة
Embedded systems
وهنا نتحدث عن هذه المرحلة وننوه ان في هذه المرحلة هتكون عملت مشاريع وتطبيقات كتيره جدا وقمت بتسليمها علي جميع المنصات المذكورة وهنا نقوم بتطوير هذه المشاريع باضافة هذه التكنولوجيا علي تطبيقاتنا وسوف نستعرض الان امثله علي هذه التطبيقات التي يمكنك تنفيذها
مع العلم اننا هنتعامل مع المتدرب علي ان ليس له اي خلفية عن الEmbedded Systems

ثانيا ايه بقي الموضوع ده:

إيه هو الـ Arduino؟

الـ Arduino ده عبارة عن لوحة إلكترونية صغيرة، بتشتغل بروسيسور صغير يتحكم في أي حاجة توصله بيها. يعني لو عايز تتحكم في حساسات، موتور، LED، أو حتى جهاز أكبر، الـ Arduino بيكون هو العقل اللي بيشغل كل ده.

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

إيه هو الـ Raspberry Pi؟

أما الـ Raspberry Pi فهو جهاز تاني، لكن مختلف شوية. تخيل عندك كمبيوتر صغير في حجم كف إيدك، ده هو الـ Raspberry Pi.

بيشتغل إزاي؟
الجهاز ده بيشغل نظام تشغيل زي الكمبيوتر العادي (زي Windows أو Linux). يعني تقدر توصله بشاشة، كيبورد وماوس، وتفتح عليه برامج وتكتب كود زي ما بتعمل على اللاب توب.

هنعرف برده هنستخدمه في تطبيقاتنا ازاي.

طيب، إيه الفرق بين الاثنين؟
1. Arduino:

كويس للمشاريع اللي عايزة تحكم مباشر وسريع (زي التحكم في إضاءة، حساسات، محركات).
سهل الاستخدام ومش محتاج نظام تشغيل.

2. Raspberry Pi:

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

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

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

1. حساس الوزن (Load Cell) :

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

بنستخدمه في إيه؟: بنستخدمه في إدارة المخازن. يعني كل ما حد يسحب منتج أو يضيفه، الحساس بيبعت البيانات لـ Arduino، ومنها لـ Raspberry Pi اللي بيبعتها لقعدة البيانات عندنا في برنامج الـ C #. وبكده تقدر تعرف كل حاجة لحظيًا من غير ما حد يعد يدوي.

2. جهاز تحديد المواقع (GPS Module - NEO-6M):

إيه وظيفته؟: ده زي اللي في الموبايل بتاعك، بيحدد الموقع عن طريق الأقمار الصناعية.

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

3. موديول الاتصال GSM (SIM900) :

إيه وظيفته؟: ده زي الشريحة بتاعة الموبايل، بيقدر يبعث رسائل ويستخدم الإنترنت.

بنستخدمه في إيه؟: بنوصله مع الـ GPS عشان يبعت بيانات الموقع من الشاحنات لقاعدة البيانات بتاعتنا، وكمان ممكن يبعت رسالة لو حصل مشكلة.

4. حساس البصمة (Fingerprint Sensor - R307) :

إيه وظيفته؟: ده اللي بيقرأ بصمة صباعك، زي اللي موجود في الموبايلات القديمة.

بنستخدمه في إيه؟: بنستخدمه في تسجيل حضور الموظفين. الموظف يحط صباعه، والبيانات تتسجل تلقائيًا في قعدة البيانات عن طريق برنامج C #. يعني خلاص مش هنحتاج نكتب في الورق.

5. قارئ كروت RFID (RC522) :

إيه وظيفته؟: ده بيقرأ الكروت اللي فيها شريحة إلكترونية، زي الكارت بتاع المواصلات.

بنستخدمه في إيه؟: ممكن نستخدمه بدل حساس البصمة، سواء في تسجيل الحضور أو حتى في تتبع المنتجات اللي داخلة وخارجة من المخزن.

6. حساس الاهتزاز (Vibration Sensor - SW-420) :

إيه وظيفته؟: بيشوف لو فيه اهتزاز أو حركة غير طبيعية.

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

7. حساس الحرارة والرطوبة (DHT22) :

إيه وظيفته؟: بيقيس درجة الحرارة والرطوبة في المكان.

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

8. ماسح QR Code (KY-034) :

إيه وظيفته؟: ده بيقرأ الأكواد السريعة اللي بتشوفها على المنتجات.

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

9. حساس التيار (ACS712) :

إيه وظيفته؟: ده بيقيس استهلاك الكهرباء.

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

10. حساس الضوء (LDR) :

إيه وظيفته؟: بيشوف مستوى الإضاءة في المكان.

بنستخدمه في إيه؟: في التحكم في الإضاءة. يعني لو الإضاءة الطبيعية كافية، الإضاءة الصناعية تطفي تلقائي عشان نوفر في الكهرباء.

والله الموفق

Address

Cairo

Alerts

Be the first to know and let us send you an email when AGC Academy posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Business

Send a message to AGC Academy:

Share