فكر برمجي
398 subscribers
233 photos
2 videos
67 files
158 links
#فكر_برمجي
Think_Programmatically
قناة تقنية متخصصة في البرمجة وتطوير المهارات. نوفر شروحات مبسطة، موارد مفيدة، وأفكار ملهمة لتحويل شغفك بالتقنية إلى إبداع.
Download Telegram
ندخل الآن في الفرق المهم بين Thread و Task/async-await في C#،

لأنه فعلاً في التطبيقات العملية، المبرمجين يستخدموا Task والـ async/await أكثر من الـ Thread التقليدي.


🔹 أولاً: Thread

الـ Thread هو الوحدة الأساسية للتنفيذ.

لما تعمل:

Thread t = new Thread(MethodName);
t.Start();

فأنت تنشئ خيط (Thread) جديد ينفذ دالة MethodName.


العيب:

التحكم فيها معقد
(إيقاف، استئناف، المزامنة).

لو عندك عدد كبير من الخيوط → استهلاك عالي للذاكرة والمعالج.

• كيف نعالج هذه الاستهلاك ؟


🔹 ثانياً: Task

الـ Task عبارة عن مجرد واجهة عالية المستوى لإدارة الـ Threads بشكل أسهل.

يعني بدل ما تدير الـ Thread يدويًا، الـ Task يقوم بالتحكم.

يستخدم ThreadPool (مجموعة Threads مُدارة من CLR) →
أفضل أداء وأقل استهلاك.


مثال:

using System;
using System.Threading.Tasks;

class Program
{
static void Main()
{
Task t = Task.Run(() =>
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine("Task thread: " + i);
}
});

t.Wait();
// ننتظر انتهاء المهمة
Console.WriteLine("Main thread finished.");
}
}

🔸 هنا Task.Run ينفذ الكود في Thread آخر بشكل تلقائي.

الميزة:
سهل الاستخدام
إدارة أوتوماتيكية.


🔹 ثالثاً: async / await

async/await
ليست بحد ذاتها تقنية جديدة للتنفيذ، بل طريقة برمجية ذكية للتعامل مع الـ Tasks.

تسمح لك بكتابة كود "متوازي" كأنه تسلسلي.


مثال:

using System;
using System.Threading.Tasks;

class Program
{
static async Task Main()
{
Console.WriteLine("Start");

await DoWorkAsync();
// ينتظر المهمة بدون تعليق البرنامج

Console.WriteLine("End");
}

static async Task DoWorkAsync()
{
await Task.Delay(2000);
// يحاكي عمل يستغرق 2 ثانية
Console.WriteLine("Work Completed!");
}
}

🔸 عند التشغيل:

1. يطبع "Start".


2. يشغل DoWorkAsync (تأخير 2 ثانية) بدون ما يوقف البرنامج.


3. بعد انتهاء المهمة →
يطبع "Work Completed!".


4. وأخيرًا "End".



الميزة:

البرنامج يظل سريع ومتجاوب (خاصة في التطبيقات الرسومية والويب).

الكود واضح وسهل القراءة مقارنة باستخدام Threads يدويًا.


🔑 الخلاصة

Thread:
منخفض المستوى، تستخدمه عند الحاجة للسيطرة الكاملة (نادرًا).

Task:
أسهل وأذكى، يدير الخيوط عبر ThreadPool.

async/await:
أسلوب كتابة مريح للتعامل مع المهام (Tasks) خاصة في العمليات الطويلة
(I/O, API, Database).
مشروع_تطوير_نظام_محاسبي_مدعوم_بتقنيات_ذكية.pdf
4.2 MB
مشروع تطوير نظام محاسبي

إشراف م / مالك المصنف

فريق IBEX Code

الاسكيما بشكل واضح :
https://dbdiagram.io/d/685c977ff413ba3508e96016
4
📝 طلب المشاركة في استبيان مشروع تخرج

الأخوة والأخوات الكرام،
السلام عليكم ورحمة الله وبركاته،

نــرجـو مــنـكـم الــتكـرم بـــالـمسـاهـمــة فــي إنــجــاح مـــشـروع تــخــرجـنـا فــريـق Demo soft مــن خــلال الإجــابـة عــلى هـذا الاســتبـيـان، والــذي يــهدف إلى جـمع بــيـانـات تــساعـدنا عــلى بـنـاء مـشـروع يـــسـاهـم فــي تـوفـير الــوصول الـسريع لـلـمــنـتـجـات والــتخفيضات فــي مـحافظـة إب، وذلــك بــالــتعــاون مــع جـامعـــة إب.

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

🔗 رابـــــــــط الاســــتـبـيــان:
https://forms.gle/BY6bhdLmgJQpchCR8

شاكرين ومقدرين تعاونكم ووقوفكم معنا. 🌷
3
محتوى عربي ممتع جداً
في البرمجة
يستحق المتابعة
وخاصة مطوري الويب
https://youtube.com/@tarmeez?si=krOVSw8mfOZlVsT2
ما الفرق بين Junior & Senior ? 🤔

👨‍💻 مهام الـ Junior Developer

عادة يكون في بداية مشواره، فيُكلف بمهام محدودة وواضحة لتقوية خبرته:

تنفيذ أجزاء صغيرة من الكود (Modules/Features بسيطة).

إصلاح الأخطاء (bugs) السهلة والواضحة.

كتابة Unit Tests بسيطة للأكواد.

تنفيذ مهام تحت إشراف مباشر من مبرمج أقدم.

التعامل مع قاعدة البيانات عبر استعلامات بسيطة أو CRUD Operations.

مراجعة التعليمات البرمجية الخاصة به فقط (Code Review من الآخرين).

الالتزام بالـ Standards وأسلوب الفريق بدون تعديل أو اقتراحات كبيرة.

المشاركة في Daily Meetings (Stand-ups) لعرض ما أنجزه وما يواجهه.

توثيق الكود والوظائف الصغيرة.



🧑‍💼 مهام الـ Senior Developer

خبرته تخليه يشيل مسؤولية أكبر في التحليل، التصميم، والإشراف:

تحليل المتطلبات وتحويلها إلى تصميم برمجي واضح (System Design).

كتابة الأكواد المعقدة التي تحتاج خبرة عميقة.

مراجعة كود الفريق (Code Review) وتصحيح الأخطاء وتحسين الجودة.

توزيع المهام على الجونيور والميد ليفيل ومتابعة تقدمهم.

تصميم بنية المشروع (Architecture) والتأكد من القابلية للتوسع.

حل المشاكل المعقدة (Debugging, Performance Optimization).

ضمان الجودة والأداء عبر Testing, CI/CD, Monitoring.

إرشاد وتوجيه الجونيور (Mentorship).

التواصل مع أصحاب المصلحة (Clients, Managers) لشرح الحلول.

اتخاذ القرارات التقنية حول اختيار الأدوات، الأطر، والتقنيات.



🔑 الخلاصة:

الـ جونيور يتعلم، ينفذ مهام بسيطة، ويُركز على التطبيق العملي.

الـ سينيور يقود، يصمم، يوزع المهام، ويتحمل مسؤولية نجاح المشروع وجودة الكود.
جاهزين تنصدموا؟
في هذا الفيديو بتشوفوا عالم المستقبل قدام أعينكم:
🤖 روبوتات تتحرك وتتكلم زي البشر
🏙️ مدن ذكية كأنها من أفلام الخيال
🚗 سيارات خارقة تجمع السرعة والتكنولوجيا

الصين قاعدة توري العالم إن المستقبل صار حاضر… لا يفوتكم الفيديو 🔥

https://youtu.be/0S0LvVmn_xU?si=a5m3S6r3a4xg_49H
المقدمة:
رقم (١)
📱 “تخيل نفسك تعمل تطبيقك المفضل، مثل إنستجرام أو فيسبوك… حيث تنزل مقطع Reels جديد.
صالح شاف المقطع.
محمد ضغط إعجاب.
هدى كتبت تعليق.
وفي نفس الوقت، قاسم رفع قصة جديدة… داود شافها، محسن أعجب بها، وبعد شوية قاسم قرر يحذفها أو يغيّر مين يشوفها.

كل هذه الأشياء البسيطة اللي نسويها يوميًا في السوشيال ميديا… وراها نظام ضخم يشتغل في الخلفية:
• يتأكد من حسابك.
• يسجل المنشور.
• يحفظ التفاعلات.
• يرسل إشعارات.
• ويتحكم في من يشوف ومتى يختفي المحتوى.

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

بهذا الشكل 👆
أنا شدّيت انتباهكم بالقصة الواقعية، وبعدها ننقلكم للفكرة التقنية بسلاسة

#خليك_فضولي
👍3
الفكرة من أولها
1. الأساس: المستخدم (User)
أي شبكة اجتماعية تبدأ بوجود مستخدمين.
• كل مستخدم عنده حساب (اسم، صورة، بريد إلكتروني، كلمة مرور…).
• كل مستخدم يقدر ينشر محتوى ويتفاعل مع محتوى غيره.


2. المحتوى الأساسي: المنشورات (Posts / Reels / Stories)
• المستخدمين ينشروا أشياء (منشور نصي، صورة، فيديو، Reels، قصة مؤقتة).
• هذا المحتوى يظهر للآخرين بحسب الصلاحيات.


3. التفاعل (Interactions)
أي محتوى ينشره المستخدم لازم يكون فيه تفاعل:
إعجاب (Like)
تعليق (Comment)
مشاهدة (View)
• مشاركة أو حفظ (Optional).


4. الإشعارات (Notifications)
كل تفاعل يولّد إشعار لصاحب المحتوى:
• إذا أحد علّق على منشورك → يجيك إشعار.
• إذا أحد أعجب أو شاهد قصتك → يجيك إشعار.
• إذا أحد حذف أو عدّل → ينعكس عندك التغيير.


5. القصص (Stories)
القصص تختلف عن المنشورات:
• عمرها محدود (24 ساعة مثلًا).
• يقدر صاحب القصة يحدد من يشاهدها (كل الناس، الأصدقاء فقط، قائمة مخصصة).
• يقدر يحذفها أو يعدل صلاحياتها.


6. السيناريوهات اللي طرحتها (Use Cases من الحياة الواقعية):
• علي نشر Reels.
• صالح شاهد Reels علي.
• محمد أعجب بـ Reels علي.
• هدى علقت على Reels علي.
• قاسم نشر قصة جديدة.
• داود شاهد قصة قاسم.
• محسن أعجب بالقصة.
• قاسم حذف القصة.
• قاسم عدل صلاحيات الرؤية.

👉 هذه أمثلة على تفاعلات المستخدمين اللي لازم ندعمها بالمنظومة.


7. الاحتياجات (Requirements):
• نظام إدارة مستخدمين (Users).
• نظام نشر محتوى (Posts + Stories).
• نظام تفاعلات (Interactions: Like, Comment, View).
• نظام إشعارات (Notifications).
• نظام صلاحيات (Access Control للقصص والمنشورات).

😇 الفكرة باختصار

منصة اجتماعية مصغّرة:
• كل مستخدم ينشر محتوى
(منشورات/قصص).
• الآخرين يتفاعلون
(مشاهدة، إعجاب، تعليق).
• كل تفاعل يولد إشعار.
• المستخدم يقدر يتحكم بمحتواه
(تعديل/حذف/صلاحيات)

#خليك_فضولي
👍3
ما رأيكم نسوي تحليل لمشاريع بهذا الإسلوب ونتناقش حوله حيث نعالج مرض أسمه الإستعجال وكتابة الكود ؟ 😁
Anonymous Poll
86%
موافق وأناقش
14%
مطلع فقط
0%
رافض الفكرة
رقم (٢)
📒 “تخيل إنك فاتح تطبيق المفكرة…

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

سارة رتبت مهامها اليومية في شكل قائمة To-Do.

علي كتب خاطرة قصيرة وهو في الكافيه.

ريم أضافت ملاحظة صوتية بدل الكتابة.

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


كل هذه الأشياء اللي نشوفها بسيطة… وراها نظام يشتغل في الخلفية:

يستقبل مدخلات المستخدم (نص، صورة، صوت).

يخزنها بشكل منظم في قاعدة بيانات.

يسمح بالتعديل والحذف والبحث.

يوفر مزامنة مع السحابة لو حابب يفتحها من جهاز ثاني.


😇 اليوم بنفكر زي مهندس النظام: كيف نحلل هذه الأحداث؟ كيف نصممها؟ وكيف نحولها إلى نموذج يمكن تطبيقه؟
يعني: كيف نبني العالم خلف الكواليس لتطبيق مفكرة ذكي وسهل؟”
1
الفكرة من أولها:

1. الأساس: المستخدمون (Users)

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

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




2. المحتوى الأساسي: الملاحظات (Notes)

مدخلات المستخدم:
• نص (Text).
• صورة (Image Attachment).
• صوت (Voice Note).

مخرجات النظام:
• ملاحظة محفوظة.
• إمكانية التعديل أو الحذف.
• عرضها في قائمة أو بحث عنها.




3. المعالجة (Processing)

تخزين الملاحظات في قاعدة بيانات (SQLite أو Firebase).

تصنيفها حسب:
• التاريخ.
• العناوين.
• الوسوم (Tags).

مزامنة مع السحابة (Cloud Sync).




4. التفاعل (Interactions)

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




5. الإشعارات (Notifications) (اختياري)

تذكير بالملاحظات أو المهام.

تنبيه عند إنشاء ملاحظة صوتية طويلة.




6. الأمان (Security & Privacy)

حماية الملاحظات بباسورد أو بصمة.

تخزين مشفر في قاعدة البيانات.



7. السيناريوهات (Use Cases من الواقع):

أحمد كتب ملاحظة لفكرة مشروع.

سارة رتبت مهام يومها في قائمة.

علي كتب خاطرة قصيرة.

ريم سجلت ملاحظة صوتية.

محمد رجع لملاحظاته القديمة عبر البحث.



8. الاحتياجات (Requirements):

نظام إدخال النصوص (Text Input).

نظام إدخال الصور (Image Attachment).

نظام تسجيل الصوت (Voice Notes).

قاعدة بيانات لتخزين الملاحظات.

نظام بحث داخلي.

نظام إشعارات للتذكير.

نظام أمان (Password / Fingerprint).




😇 الفكرة باختصار:
تطبيق مفكرة شامل:

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

النظام يخزن وينظم الملاحظات.

النتيجة تظهر في واجهة بسيطة.

المستخدم يقدر يعدل، يحذف، يبحث، أو يشارك.

النظام يحافظ على خصوصية الملاحظات.


#خليك_فضولي
@Think_Programmatically
1
� “تخيل إنك فاتح تطبيق متجر إلكتروني…
• أحمد بحث عن هاتف جديد واطلع على مواصفاته.
• سارة أضافت حقيبة للسلة ودفعت عبر بطاقة البنك.
• علي تابع حالة الطلب ولقى أن الشحن في الطريق.
• ريم قرأت تقييمات العملاء قبل ما تقرر تشتري المنتج.
• محمد قرر يرجع المنتج واستبداله.

كل هذه الأشياء اللي نشوفها بسيطة… وراها نظام متكامل يشتغل في الخلفية:
• يعرض المنتجات مع الصور والتفاصيل.
• يدير السلة ويحسب الأسعار والخصومات.
• يتكامل مع بوابات الدفع الآمنة.
• يتابع حالة الطلب والشحن.
• يسجل كل تفاعل ويعطي إشعارات للمستخدم.

😇 اليوم بنفكر زي مهندس النظام: كيف نحلل هذه الأحداث؟ كيف نصممها؟ وكيف نحولها إلى نموذج يمكن تطبيقه؟
يعني: كيف نبني العالم خلف الكواليس لمتجر إلكتروني ذكي وسلس؟
2
الفكرة من أولها:

1. الأساس: المستخدمون (Users)
• أي شخص يستخدم التطبيق (ضيف أو مسجل).
• يقدر يتصفح المنتجات، يضيف للسلة، يشتري، ويتابع الطلبات.


2. المحتوى الأساسي: المنتجات (Products)
مدخلات المستخدم:
• البحث عن منتج.
• اختيار المنتج وإضافته للسلة.
مخرجات النظام:
• عرض معلومات المنتج (صور، سعر، مواصفات).
• عرض السلة وحساب السعر الإجمالي والخصومات.
• تأكيد الطلب بعد الدفع.


3. المعالجة (Processing)
• إدارة المنتجات والمخزون (Inventory Management).
• حساب الأسعار، الضرائب، الخصومات (Pricing Engine).
• معالجة الدفع (Payment Gateway Integration).
• متابعة الطلبات (Order Tracking).
• إرسال إشعارات لكل مرحلة (Order Confirmed, Shipped, Delivered).


4. التفاعل (Interactions)
• المستخدم يقدر:
• يضيف المنتجات للسلة.
• يزيل أو يعدل المنتجات في السلة.
• يكتب تقييمات أو يقرأ تقييمات الآخرين.
• يدفع باستخدام طرق متعددة (بطاقة، محفظة إلكترونية).
• يتابع حالة الطلب والشحن.


5. الإشعارات (Notifications)
• إشعار عند إضافة منتج جديد.
• إشعار عند تأكيد الطلب.
• إشعار عند شحن أو وصول المنتج.
• إشعار بعروض أو خصومات جديدة.


6. الأمان (Security & Privacy)
• حماية بيانات المستخدم ومعلومات الدفع.
• تشفير المعاملات المالية.
• إدارة الجلسات (Session Management) ومنع الاختراقات.



7. السيناريوهات (Use Cases من الواقع):
• أحمد بحث عن هاتف واطلع على التفاصيل.
• سارة أضافت حقيبة للسلة ودفعت بنجاح.
• علي تابع حالة الطلب حتى وصل للعنوان.
• ريم قرأت تقييمات العملاء قبل الشراء.
• محمد استبدل المنتج بعد استلامه.


8. الاحتياجات (Requirements):
• نظام إدارة المستخدمين (Users Management).
• قاعدة بيانات للمنتجات (Products Database).
• نظام إدارة السلة والطلبات (Cart & Order Management).
• بوابة دفع آمنة (Payment Gateway).
• نظام إشعارات (Notifications).
• نظام أمان وخصوصية (Security & Privacy)

😇 الفكرة باختصار:
تطبيق متجر إلكتروني متكامل:
• المستخدم يتصفح المنتجات ويضيف للسلة.
• النظام يحسب الأسعار والخصومات ويعالج الدفع.
• يرسل إشعارات لكل مرحلة من الطلب.
• يتيح متابعة الشحن واستبدال المنتجات.
• يحافظ على أمان البيانات وخصوصية المستخدم.

#خليك_فضولي
1
� “تخيل إنك فاتح تطبيق الاتصال…
• أحمد بدأ مكالمة فيديو مع زملائه في الفريق.
• سارة أرسلت رسالة نصية لتأكيد موعد الاجتماع.
• علي أرسل ملف PDF عبر الدردشة أثناء المكالمة.
• ريم فعلت الكاميرا والصوت وتحدثت مباشرة مع الجميع.
• محمد قرر يخرج من الاجتماع، والنظام حدث الحالة مباشرة لكل الأعضاء.

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

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

1. الأساس: المستخدمون (Users)
• أي شخص يفتح التطبيق (ضيف أو مسجل).
• يقدر يرسل رسالة، يشارك ملف، أو يشارك صوت/فيديو.


2. المحتوى الأساسي: المحادثات والاتصال (Communication)
مدخلات المستخدم:
• رسائل نصية (Text Chat).
• مكالمات صوتية (Voice Call).
• مكالمات فيديو (Video Call).
• مشاركة ملفات (File Sharing).
مخرجات النظام:
• وصول الرسائل لكل المشاركين.
• بث الصوت والصورة للجميع.
• إشعارات عند وصول رسالة أو انضمام شخص.


3. المعالجة (Processing)
• إدارة الجلسات (Session Management).
• تحويل الصوت والفيديو إلى بيانات رقمية وضغطها (Encoding/Decoding).
• إرسال البيانات عبر الشبكة (Real-Time Transport Protocol – RTP / WebRTC).
• مزامنة الصوت والفيديو مع الدردشة النصية.


4. التفاعل (Interactions)
• المستخدم يقدر:
• يرسل رسائل نصية أو ملفات.
• يبدأ مكالمة صوتية أو فيديو.
• يشارك الشاشة.
• يغلق/يفتح الكاميرا أو الميكروفون.
• يترك الاجتماع أو ينضم إليه.


5. الإشعارات (Notifications)
• تنبيه عند وصول رسالة جديدة.
• تنبيه عند انضمام شخص جديد للمكالمة.
• إشعار عند انتهاء الاجتماع أو تسجيل المكالمة.


6. الأمان (Security & Privacy)
• تشفير المكالمات والرسائل (End-to-End Encryption).
• التحكم بالصلاحيات (من يستطيع الكلام أو مشاركة الشاشة).
• حفظ البيانات حسب السياسات (Logs, Recordings).


7. السيناريوهات (Use Cases من الواقع):
• أحمد بدأ مكالمة فيديو.
• سارة أرسلت رسالة نصية لتأكيد موعد الاجتماع.
• علي أرسل ملف PDF أثناء المكالمة.
• ريم تحدثت مع الجميع عبر الكاميرا والميكروفون.
• محمد غادر الاجتماع وتم تحديث الحالة لكل المشاركين.


8. الاحتياجات (Requirements):
• نظام إدارة المستخدمين (Users Management).
• نظام دردشة نصية (Text Chat System).
• نظام مكالمات صوتية/فيديو (Voice/Video Call Engine).
• بروتوكول النقل في الوقت الحقيقي (RTP/WebRTC).
• نظام إشعارات (Notifications).
• نظام أمان وخصوصية (End-to-End Encryption, Access Control).


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

#خليك_فضولي
1
خلينا نرتب رحلة التعلم للبرمجة على شكل مستويات متدرجة
(من المبتدئ إلى المحترف)،

ونوضح ما هي التقنيات والأدوات التي تحتاجها في كل مستوى، ومتى تنتقل للمستوى الأعلى.
ويمكنك من خلال ذلك
معرفة أين انت ؟


🔹 المستوى الأول: الأساسيات (Beginner)

📌 الهدف: فهم أساسيات البرمجة والمنطق البرمجي.

ما تتعلمه:

المنطق البرمجي: المتغيرات، الجمل الشرطية (if/else)، الحلقات (for/while).

الرياضيات البسيطة في البرمجة: العمليات الحسابية والمنطقية.

هياكل البيانات الأساسية: المصفوفات (Arrays)، القوائم (Lists).

لغة برمجة أساسية: اختر واحدة كبداية (Python – C# – Java – JavaScript _++C).


متى تنتقل؟
عندما تستطيع كتابة برامج بسيطة مثل: آلة حاسبة، إدارة قائمة طلاب، أو لعبة صغيرة (tic-tac-toe).


🔹 المستوى الثاني: بناء التطبيقات الصغيرة (Junior Developer)

📌 الهدف: ربط الأساسيات ببرمجة تطبيقات حقيقية.

ما تتعلمه:

البرمجة الكائنية (OOP): الفئات (classes)، الكائنات (objects)، الوراثة (inheritance)، التغليف (encapsulation).

التحكم في الإصدارات (Git & GitHub): لتتبع الكود والعمل الجماعي.

المكتبات والأُطر (Libraries & Frameworks): تعلم استخدام مكتبات جاهزة بدل كتابة كل شيء من الصفر.

برمجة تطبيقات بسيطة: تطبيق سطح مكتب (C# Forms, JavaFX) أو تطبيق ويب بسيط (HTML, CSS, JavaScript).


متى تنتقل؟
عندما تستطيع بناء تطبيق CRUD (إضافة – قراءة – تعديل – حذف بيانات) بواجهة مستخدم.


🔹 المستوى الثالث: التطبيقات المتوسطة (Intermediate Developer)

📌 الهدف: احتراف تطوير التطبيقات وربطها بالبيانات.

ما تتعلمه:

قواعد البيانات (SQL – MySQL – PostgreSQL – MongoDB).

تصميم واجهات متقدمة: (React, Angular, Vue أو Flutter إذا تريد موبايل).

مفاهيم متقدمة في OOP: الواجهات (Interfaces)، التعددية (Polymorphism)، المندوبين (Delegates).

برمجة الخادم (Backend):

بايثون (Django/Flask)

جافا (Spring)

C# (.NET)

JavaScript (Node.js).


استهلاك APIs والتعامل مع JSON.


متى تنتقل؟
عندما تستطيع بناء تطبيق كامل (مثلاً: متجر إلكتروني صغير فيه مستخدمين، منتجات، تسجيل دخول، قاعدة بيانات).


🔹 المستوى الرابع: المشاريع الكبيرة (Advanced Developer)

📌 الهدف: تطوير أنظمة متكاملة مع التركيز على الجودة والأمان.

ما تتعلمه:

بنية الأنظمة (System Architecture): Client-Server, MVC, Microservices.

مفاهيم متقدمة:

التعامل مع الـ Design Patterns (Singleton, Factory, Observer…).

إدارة الجلسات (Sessions) والكويكز (Cookies).

الأمان (Authentication & Authorization).


التعامل مع RESTful APIs & GraphQL.

نشر التطبيقات (Deployment): Docker, CI/CD, Cloud (AWS, Azure).

اختبار البرمجيات (Testing & Debugging).


متى تنتقل؟
عندما تستطيع بناء نظام كبير (مثل نظام إدارة بنكي أو منصة تعليمية) وتشغيله على الإنترنت مع مستخدمين حقيقيين.




🔹 المستوى الخامس: الاحتراف والتخصص (Expert / Specialist)

📌 الهدف:
التخصص في مجال أو أكثر ويفضل إتقان مجال وعمل الكثير من المشاريع فيه.

المجالات:

الذكاء الاصطناعي وعلوم البيانات (Python, TensorFlow, PyTorch).

أمن المعلومات والاختراق الأخلاقي (Kali Linux, Metasploit, Burp Suite).

تطوير تطبيقات الموبايل
تطوير تطبيقات الويب
تطوير تطبيقات سطح المكتب

تطوير الألعاب
(Unity, Unreal Engine).

الأنظمة الموزعة والـ Cloud.

إنترنت الأشياء (IoT).


متى تصل هنا؟
عندما تكون لديك خبرة قوية في بناء مشاريع متكاملة وتريد التخصص أو الإبداع في مجال محدد.



الخلاصة:

ابدأ بالأساسيات (المستوى 1).

طبّق مشاريع صغيرة
(المستوى 2).

تعلم قواعد البيانات والويب/الموبايل (المستوى 3).

ابني أنظمة معمارية كاملة (المستوى 4).

تفرع لمجال تخصصك
(المستوى 5).
مجموعة أوامر تستخدم بكثرة
تفيد مطوري التطبيقات Flutter 🍃
2
بقلم المهندس : أسامة العيزري
💛
1
🚀💻
الحمد لله، ظهرت أسمائنا ضمن قائمة المطورين الأكثر نشاطًا في اليمن على منصة GitHub
committers.top 🎉
طارق العمري
أيمن قمحان
عمرو الرعوي

https://committers.top/yemen.html

هذا الإنجاز يعكس جزء من جهدنا المستمر في المساهمة بالبرمجة ومشاريع GitHub سواءً كانت مشاريع جامعية أو شخصية.
وجودنا في هذه القائمة يزيدنا دافعًا للاستمرار، ومشاركة المعرفة، وتطوير مشاريع تخدم مجتمعاتنا ،وأيضًا تعزيز حضور اليمنيين في عالم البرمجة 🌍🇾🇪

الطريق ما زال طويل، لكن الخطوة الأولى دائمًا هي الأهم.