بقالي 3 سنين بكتب في الثريد ده و بطور فيه و بنزله في نفس المعاد ده من كل سنه بحيث يكون صدقه جاريه للعلم للي جاين من بعدي و اللي جالهم الكليه جديد و ميعرفوش عنها حاجه "كنت كده" بحيث اختصر عليهم طريق انا خوضته" صدقة العلم تعليمه" سمي الله و برجلك اليمين هيكون ثريد دسم
بص يا سيدي، الـ basics في البرمجة زي الطفل اللي بيتعلم الكلام. الأول بيتعلم الحروف A B C، وبعدين بيكوّن كلمات، وبعدين جمل. إنت ك مهندس برمجيات هتعمل نفس الحكاية، هتتعلم الأساسيات وبعدين تبني بيهم مشاريع "projects".
يلا نشوف الـ basics دي إيه بالظبط:
يلا نشوف الـ basics دي إيه بالظبط:
Programming Fundamental-1
دي زي الأبجدية بتاعتك بس في البرمجة. هتتعلم الـ variables (المتغيرات)، والـ data types (أنواع البيانات)، والـ if case والـ switch case ،والـ loops، والـ array (المصفوفات). هتعرف تكتب code، بس هيبقى زي الشخبطة شوية، أو زي ما بنقول "spaghetti code".
دي زي الأبجدية بتاعتك بس في البرمجة. هتتعلم الـ variables (المتغيرات)، والـ data types (أنواع البيانات)، والـ if case والـ switch case ،والـ loops، والـ array (المصفوفات). هتعرف تكتب code، بس هيبقى زي الشخبطة شوية، أو زي ما بنقول "spaghetti code".
ماشي، خليني أشرحلك موضوع الـ spaghetti code ده:
بص يا سيدي، لما نقول spaghetti code، تخيل معايا طبق مكرونة إسباجتي ملخبط. عارف المكرونة لما تبقى متلخبطة في بعضها ومش عارف أول خيط فين وآخره فين؟ بالظبط كده الـ spaghetti code.
في البرمجة، لما الكود بتاعك يبقى زي الإسباجتي، يعني:
بص يا سيدي، لما نقول spaghetti code، تخيل معايا طبق مكرونة إسباجتي ملخبط. عارف المكرونة لما تبقى متلخبطة في بعضها ومش عارف أول خيط فين وآخره فين؟ بالظبط كده الـ spaghetti code.
في البرمجة، لما الكود بتاعك يبقى زي الإسباجتي، يعني:
ملخبط وملغبط
صعب تفهم مين بيعمل إيه
لو جيت تغير حاجة، مش عارف هتأثر على إيه تاني
تخيل كده إنك بتحاول تطلع خيط واحد من طبق الإسباجتي من غير ما تلخبط الباقي. صعب صح؟ كده بالظبط لما تيجي تعدل في spaghetti code.
فـ لما نقول "الكود بتاعك spaghetti"، قصدنا إنه ملخبط ومتشابك ومش منظم.
صعب تفهم مين بيعمل إيه
لو جيت تغير حاجة، مش عارف هتأثر على إيه تاني
تخيل كده إنك بتحاول تطلع خيط واحد من طبق الإسباجتي من غير ما تلخبط الباقي. صعب صح؟ كده بالظبط لما تيجي تعدل في spaghetti code.
فـ لما نقول "الكود بتاعك spaghetti"، قصدنا إنه ملخبط ومتشابك ومش منظم.
صعب تفهمه أو تعدل فيه أو تضيف عليه.
عشان كده بنتعلم طرق نكتب كود منظم، زي الـ OOP. عشان بدل ما يبقى عندك طبق إسباجتي، يبقى عندك وجبة منظمة، كل حاجة في طبقها.
فاهمني؟ كده الـ spaghetti code مش هيعملك صداع تاني!
عشان كده بنتعلم طرق نكتب كود منظم، زي الـ OOP. عشان بدل ما يبقى عندك طبق إسباجتي، يبقى عندك وجبة منظمة، كل حاجة في طبقها.
فاهمني؟ كده الـ spaghetti code مش هيعملك صداع تاني!
OOP (Object-Oriented Programming):
بص يا معلم، الـ OOP ده الحل السحري للإسباجتي كود بتاعنا. بدل ما يبقى عندك طبق مكرونة ملخبط، هتتعلم تنظم الكود بتاعك زي مطعم محترم، كل حاجة في طبقها.
هتتعرف على 4 مبادئ أساسية:
بص يا معلم، الـ OOP ده الحل السحري للإسباجتي كود بتاعنا. بدل ما يبقى عندك طبق مكرونة ملخبط، هتتعلم تنظم الكود بتاعك زي مطعم محترم، كل حاجة في طبقها.
هتتعرف على 4 مبادئ أساسية:
Encapsulation: ده زي ما تحط كل مكونات الطبق في علبة محكمة. مش أي حد يقدر يعك في المكونات، بس يقدر ياكل الطبق.
Inheritance: تخيل إنك عامل وصفة بيتزا، وعايز تعمل بيتزا بالفراخ. مش هتبدأ من الصفر، هتاخد الوصفة الأساسية وتضيف عليها. كده بتورث الخصائص الأساسية وتضيف الجديد.
Inheritance: تخيل إنك عامل وصفة بيتزا، وعايز تعمل بيتزا بالفراخ. مش هتبدأ من الصفر، هتاخد الوصفة الأساسية وتضيف عليها. كده بتورث الخصائص الأساسية وتضيف الجديد.
Polymorphism: ده زي ما تقول "اطبخ" لطباخين مختلفين. كل واحد هيطبخ بطريقته، بس كلهم بيطبخوا. في البرمجة، ده بيخلي الكود مرن.
Abstraction: ده زي ما تطلب أكلة من المطعم. أنت مش محتاج تعرف كل خطوة في المطبخ، بس عايز النتيجة النهائية. بتخفي التفاصيل المعقدة وتظهر بس اللي محتاجينه.
Abstraction: ده زي ما تطلب أكلة من المطعم. أنت مش محتاج تعرف كل خطوة في المطبخ، بس عايز النتيجة النهائية. بتخفي التفاصيل المعقدة وتظهر بس اللي محتاجينه.
الـ OOP بيخليك تفكر في الكود زي الأشياء الحقيقية، كل حاجة ليها خصائصها وطريقة عملها. بدل ما يبقى عندك شوربة كود، هيبقى عندك مطعم منظم، كل حاجة في مكانها وسهل تضيف أصناف جديدة أو تعدل في الموجود.
كده يا باشا، الـ OOP هيخلصك من الإسباجتي كود.زي ما بيقولوا، نظام يريح دماغك!
كده يا باشا، الـ OOP هيخلصك من الإسباجتي كود.زي ما بيقولوا، نظام يريح دماغك!
3- Data Structure:
بص يا سيدي، الـ Data Structure دي زي ما تكون بتنظم مكتبة كبيرة. مش هترمي الكتب كلها على بعض، صح؟ لأ طبعاً، هتنظمها بطريقة تخليك تلاقي أي كتاب بسرعة.
في البرمجة، بنستخدم Data Structures عشان ننظم ونخزن البيانات بطريقة ذكية. فيه نوعين أساسيين:
بص يا سيدي، الـ Data Structure دي زي ما تكون بتنظم مكتبة كبيرة. مش هترمي الكتب كلها على بعض، صح؟ لأ طبعاً، هتنظمها بطريقة تخليك تلاقي أي كتاب بسرعة.
في البرمجة، بنستخدم Data Structures عشان ننظم ونخزن البيانات بطريقة ذكية. فيه نوعين أساسيين:
Linear Data Structures:
دي زي ما ترص الكتب جنب بعض على رف واحد. كل عنصر وراء التاني على خط مستقيم. من أشهر أنواعها:
Array: ده زي رف ثابت، عارف من الأول هيشيل كام كتاب بالظبط.
Stack: ده زي ما ترص الكتب فوق بعض. آخر حاجة حطيتها هي أول حاجة هتاخدها.
Queue: ده زي الطابور في الكشك.
دي زي ما ترص الكتب جنب بعض على رف واحد. كل عنصر وراء التاني على خط مستقيم. من أشهر أنواعها:
Array: ده زي رف ثابت، عارف من الأول هيشيل كام كتاب بالظبط.
Stack: ده زي ما ترص الكتب فوق بعض. آخر حاجة حطيتها هي أول حاجة هتاخدها.
Queue: ده زي الطابور في الكشك.
Non-Linear Data Structures:
دي زي ما تنظم الكتب بطريقة أكثر تعقيداً. مش مجرد خط مستقيم. من أشهرها:
Tree: ده زي شجرة العيلة. فيه جد وتحته الأب والأم، وتحتهم العيال وهكذا.
Graph: ده زي خريطة المترو. كل محطة متوصلة بكذا محطة تانية.
Hash Table: دي زي الفهرس بتاع الكتاب.
دي زي ما تنظم الكتب بطريقة أكثر تعقيداً. مش مجرد خط مستقيم. من أشهرها:
Tree: ده زي شجرة العيلة. فيه جد وتحته الأب والأم، وتحتهم العيال وهكذا.
Graph: ده زي خريطة المترو. كل محطة متوصلة بكذا محطة تانية.
Hash Table: دي زي الفهرس بتاع الكتاب.
ليه بنستخدم الحاجات دي؟
السرعة: تخيل إنك عايز تدور على كتاب في مكتبة منظمة vs مكتبة مكومة على بعضها. أكيد المنظمة أسرع.
الكفاءة: بتوفر في استهلاك الذاكرة والوقت.
سهولة التعامل: بتخلي إضافة، حذف، أو تعديل البيانات عملية سهلة وسريعة.
مثال عملي:
لو بتعمل برنامج زي Facebook،
السرعة: تخيل إنك عايز تدور على كتاب في مكتبة منظمة vs مكتبة مكومة على بعضها. أكيد المنظمة أسرع.
الكفاءة: بتوفر في استهلاك الذاكرة والوقت.
سهولة التعامل: بتخلي إضافة، حذف، أو تعديل البيانات عملية سهلة وسريعة.
مثال عملي:
لو بتعمل برنامج زي Facebook،
هتستخدم Graph عشان تمثل العلاقات بين الناس.
لو بتعمل نظام حجز في مطعم، ممكن تستخدم Queue عشان تنظم الطلبات بترتيب وصولها.
فاهمني؟ الـ Data Structures دي هي اللي بتخلي البرامج الكبيرة تشتغل بسرعة وكفاءة. من غيرها، كل حاجة هتبقى بطيئة وملخبطة زي الإسباجتي كود بتاعنا
لو بتعمل نظام حجز في مطعم، ممكن تستخدم Queue عشان تنظم الطلبات بترتيب وصولها.
فاهمني؟ الـ Data Structures دي هي اللي بتخلي البرامج الكبيرة تشتغل بسرعة وكفاءة. من غيرها، كل حاجة هتبقى بطيئة وملخبطة زي الإسباجتي كود بتاعنا
4-الخوارزميات (Algorithms):
بص يا معلم، الخوارزمية دي زي وصفة الأكل بالظبط. لو عايز تعمل كشري، مش هتحدف المكرونة والعدس في الحلة وخلاص. لأ، فيه خطوات لازم تمشي عليها:
-اسلق المكرونة
-اغلي العدس
-حمر البصل
-خلط الكل مع بعض
-حط الصلصة والدقة فوق
كده بقى عندك خوارزمية عمل الكشري.
بص يا معلم، الخوارزمية دي زي وصفة الأكل بالظبط. لو عايز تعمل كشري، مش هتحدف المكرونة والعدس في الحلة وخلاص. لأ، فيه خطوات لازم تمشي عليها:
-اسلق المكرونة
-اغلي العدس
-حمر البصل
-خلط الكل مع بعض
-حط الصلصة والدقة فوق
كده بقى عندك خوارزمية عمل الكشري.
في البرمجة، بنعمل نفس الحكاية. بنحط خطوات واضحة لحل أي مشكله
طب ليه الalgorithms مهمة؟
بتخليك تفكر منطقي وتحل المشاكل بطريقة منظمة
بتساعدك تعمل برامج سريعة وشغالة كويس
لما تيجي تشتغل في شركة كبيرة، هيسألوك عنها في الإنترفيو
طب ليه الalgorithms مهمة؟
بتخليك تفكر منطقي وتحل المشاكل بطريقة منظمة
بتساعدك تعمل برامج سريعة وشغالة كويس
لما تيجي تشتغل في شركة كبيرة، هيسألوك عنها في الإنترفيو
ربطها باللي فات:
الـ variables والـ loops اللي اتكلمنا عنهم في الـ basics، هتستخدمهم كتير في الخوارزميات
في الـ OOP، ممكن تعمل خوارزمية جوه الـ class بتاعك
الخوارزميات بتشتغل على الـ Data Structures اللي اتكلمنا عنها
الـ variables والـ loops اللي اتكلمنا عنهم في الـ basics، هتستخدمهم كتير في الخوارزميات
في الـ OOP، ممكن تعمل خوارزمية جوه الـ class بتاعك
الخوارزميات بتشتغل على الـ Data Structures اللي اتكلمنا عنها
5- قواعد البيانات (Databases):
بص يا سيدي، قواعد البيانات دي زي السوبر ماركت الضخم بتاعك. بتخزن فيها كل حاجة بطريقة منظمة عشان تلاقيها بسرعة. عندنا نوعين رئيسيين:
1-قواعد البيانات العلائقية (Relational Databases):
دي زي ما تكون بتنظم السوبر ماركت بتاعك في أرفف وممرات:
بص يا سيدي، قواعد البيانات دي زي السوبر ماركت الضخم بتاعك. بتخزن فيها كل حاجة بطريقة منظمة عشان تلاقيها بسرعة. عندنا نوعين رئيسيين:
1-قواعد البيانات العلائقية (Relational Databases):
دي زي ما تكون بتنظم السوبر ماركت بتاعك في أرفف وممرات:
كل حاجة ليها مكان محدد
الحاجات مرتبطة ببعض (زي الشامبو مع البلسم)
بتستخدم لغة اسمها SQL عشان تجيب البيانات
أمثلة: MySQL, PostgreSQL, Oracle
مميزاتها:
منظمة جداً وسهل تفهمها
كويسة للبيانات اللي ليها علاقات كتير مع بعض
ممتازة للتطبيقات المالية والبنوك
الحاجات مرتبطة ببعض (زي الشامبو مع البلسم)
بتستخدم لغة اسمها SQL عشان تجيب البيانات
أمثلة: MySQL, PostgreSQL, Oracle
مميزاتها:
منظمة جداً وسهل تفهمها
كويسة للبيانات اللي ليها علاقات كتير مع بعض
ممتازة للتطبيقات المالية والبنوك
2-قواعد البيانات الغير علائقية (NoSQL Databases):
دي زي ما تكون بتخزن الحاجات في صناديق مختلفة الأحجام:
مرنة أكتر في طريقة التخزين
مش لازم كل حاجة تبقى ليها نفس الشكل
بتتعامل مع البيانات بطرق مختلفة حسب نوعها
أمثلة: MongoDB, Cassandra, Redis
دي زي ما تكون بتخزن الحاجات في صناديق مختلفة الأحجام:
مرنة أكتر في طريقة التخزين
مش لازم كل حاجة تبقى ليها نفس الشكل
بتتعامل مع البيانات بطرق مختلفة حسب نوعها
أمثلة: MongoDB, Cassandra, Redis
مميزاتها:
سريعة جداً في التعامل مع كميات بيانات ضخمة
مرنة وسهل تغير شكل البيانات فيها
كويسة للتطبيقات اللي بتتعامل مع بيانات متغيرة كتير زي مواقع التواصل الاجتماعي
سريعة جداً في التعامل مع كميات بيانات ضخمة
مرنة وسهل تغير شكل البيانات فيها
كويسة للتطبيقات اللي بتتعامل مع بيانات متغيرة كتير زي مواقع التواصل الاجتماعي
طب نستخدم إيه و امتي؟
الاجابه علي حسب بس كل حاله وليها حاجه بس اشهر الحالات
لو شغال على تطبيق بنكي أو نظام محاسبة، يبقى الـ Relational أحسن
لو بتعمل موقع زي Facebook أو تطبيق بيتعامل مع بيانات كتير ومتغيرة، الـ NoSQL هتريحك أكتر
الاجابه علي حسب بس كل حاله وليها حاجه بس اشهر الحالات
لو شغال على تطبيق بنكي أو نظام محاسبة، يبقى الـ Relational أحسن
لو بتعمل موقع زي Facebook أو تطبيق بيتعامل مع بيانات كتير ومتغيرة، الـ NoSQL هتريحك أكتر
ملاحظة ممكن تفيدك :
كل واحد ليه استخداماته، وفي الشغل غالبا هتلاقي نفسك محتاج تفهم الاتنين. ابدأ بالـ Relational عشان تفهم الأساسيات كويس، وبعدين ابقي اتعلم الـ NoSQL لو حابب مع الوقت وانت بتتعلم التكنولوجي بقا مش في الاساسيات في الاساسيات ركز علي لـ Relational ال هي SQL
كل واحد ليه استخداماته، وفي الشغل غالبا هتلاقي نفسك محتاج تفهم الاتنين. ابدأ بالـ Relational عشان تفهم الأساسيات كويس، وبعدين ابقي اتعلم الـ NoSQL لو حابب مع الوقت وانت بتتعلم التكنولوجي بقا مش في الاساسيات في الاساسيات ركز علي لـ Relational ال هي SQL
6- Networking:
الـ Networking ده زي شبكة المواصلات في البلد. إزاي بتوصل من بيتك لبيت صاحبك؟ بتاخد طرق، وممكن تغير مواصلات، وفي الآخر بتوصل.
-الإنترنت شغال بنفس الطريقة.
خلينا نفصص الموضوع ده:
الـ Switching والـ Routing:
الـ Networking ده زي شبكة المواصلات في البلد. إزاي بتوصل من بيتك لبيت صاحبك؟ بتاخد طرق، وممكن تغير مواصلات، وفي الآخر بتوصل.
-الإنترنت شغال بنفس الطريقة.
خلينا نفصص الموضوع ده:
الـ Switching والـ Routing:
الـ Switching زي الإشارات"يفطه" في الشارع. بتوجه الرسايل لأقرب محطة.
الـ Routing زي الـ GPS. بيختار أحسن طريق للرسالة عشان توصل.
الـ Servers:
دول زي المحطات الرئيسية. بيخزنوا المعلومات وبيردوا على طلبات الناس.
الـ HTTP Request والـ Response:
الـ Routing زي الـ GPS. بيختار أحسن طريق للرسالة عشان توصل.
الـ Servers:
دول زي المحطات الرئيسية. بيخزنوا المعلومات وبيردوا على طلبات الناس.
الـ HTTP Request والـ Response:
الـ Request: لما تطلب حاجة من صاحبك على Facebook.
الـ Response: لما صاحبك يرد عليك.
طب إزاي ده مرتبط باللي اتكلمنا عنه قبل كده؟
علاقته بالـ Programming Fundamentals:
لما بتكتب كود يتصل بالإنترنت، بتستخدم المتغيرات والـ loops عشان تتعامل مع البيانات اللي جاية وراحة.
الـ Response: لما صاحبك يرد عليك.
طب إزاي ده مرتبط باللي اتكلمنا عنه قبل كده؟
علاقته بالـ Programming Fundamentals:
لما بتكتب كود يتصل بالإنترنت، بتستخدم المتغيرات والـ loops عشان تتعامل مع البيانات اللي جاية وراحة.
علاقته بالـ OOP:
ممكن تعمل class للـ connection، وclass تاني للـ request، وكده بتنظم الكود بتاعك.
علاقته بالـ Data Structures:
الـ routers بتستخدم هياكل بيانات زي الـ graphs عشان تلاقي أسرع طريق للرسايل.
علاقته بالـ Algorithms:
فيه خوارزميات خاصة بالـ routing زي الـ Dijkstra's
ممكن تعمل class للـ connection، وclass تاني للـ request، وكده بتنظم الكود بتاعك.
علاقته بالـ Data Structures:
الـ routers بتستخدم هياكل بيانات زي الـ graphs عشان تلاقي أسرع طريق للرسايل.
علاقته بالـ Algorithms:
فيه خوارزميات خاصة بالـ routing زي الـ Dijkstra's
علاقته بالـ Databases:
لما بتبعت رسالة على Facebook، بتتخزن في قاعدة بيانات على السيرفر.
مثال عملي:
تخيل إنك عامل تطبيق دردشة بسيط:
لما تكتب رسالة، ده بيعمل HTTP Request
الرسالة بتعدي على switches وrouters كتير لحد ما توصل للسيرفر
السيرفر بيخزن الرسالة في قاعدة بيانات
لما بتبعت رسالة على Facebook، بتتخزن في قاعدة بيانات على السيرفر.
مثال عملي:
تخيل إنك عامل تطبيق دردشة بسيط:
لما تكتب رسالة، ده بيعمل HTTP Request
الرسالة بتعدي على switches وrouters كتير لحد ما توصل للسيرفر
السيرفر بيخزن الرسالة في قاعدة بيانات
السيرفر بيبعت HTTP Response يقول إن الرسالة وصلت
نفس العملية بتحصل في الاتجاه التاني لما الرسالة توصل لصاحبك
ملاحظة ممكن تفيدك:
افهم الـ networking كويس. ده أساسي في أي شغل برمجة دلوقتي.
نفس العملية بتحصل في الاتجاه التاني لما الرسالة توصل لصاحبك
ملاحظة ممكن تفيدك:
افهم الـ networking كويس. ده أساسي في أي شغل برمجة دلوقتي.
7- Operating Systems:
نظام التشغيل (Operating System) ده زي المايسترو بتاع الأوركسترا. بيدير كل حاجة في الكمبيوتر وبيخلي كل الأجزاء تشتغل مع بعض بانسجام.
خلينا نفصص شوية:
إدارة الذاكرة:
بيقسم الذاكرة على البرامج اللي شغالة
بيتأكد إن كل برنامج واخد حقه من الذاكرة مش أكتر
نظام التشغيل (Operating System) ده زي المايسترو بتاع الأوركسترا. بيدير كل حاجة في الكمبيوتر وبيخلي كل الأجزاء تشتغل مع بعض بانسجام.
خلينا نفصص شوية:
إدارة الذاكرة:
بيقسم الذاكرة على البرامج اللي شغالة
بيتأكد إن كل برنامج واخد حقه من الذاكرة مش أكتر
إدارة المعالج (CPU):
بيقرر أي برنامج يشتغل إمتى وعلى أي جزء من المعالج
بيضمن إن كل البرامج تاخد فرصتها في الشغل
إدارة الملفات:
بينظم الملفات على الهارد
بيسمح للبرامج تقرا وتكتب الملفات
إدارة الأجهزة (Devices):
بيتحكم في الأجهزة زي الطابعة والماوس والكيبورد
بيقرر أي برنامج يشتغل إمتى وعلى أي جزء من المعالج
بيضمن إن كل البرامج تاخد فرصتها في الشغل
إدارة الملفات:
بينظم الملفات على الهارد
بيسمح للبرامج تقرا وتكتب الملفات
إدارة الأجهزة (Devices):
بيتحكم في الأجهزة زي الطابعة والماوس والكيبورد
طب إزاي ده مرتبط باللي اتكلمنا عنه قبل كده؟
علاقته بالـ Programming Fundamentals:
لما بتكتب برنامج، بتستخدم أوامر خاصة (System Calls) عشان تطلب خدمات من نظام التشغيل
علاقته بالـ OOP:
نظام التشغيل نفسه مبني بالـ OOP، فيه classes للـ memory management، وللـ file system، وهكذا
علاقته بالـ Programming Fundamentals:
لما بتكتب برنامج، بتستخدم أوامر خاصة (System Calls) عشان تطلب خدمات من نظام التشغيل
علاقته بالـ OOP:
نظام التشغيل نفسه مبني بالـ OOP، فيه classes للـ memory management، وللـ file system، وهكذا
علاقته بالـ Data Structures:
نظام التشغيل بيستخدم هياكل بيانات زي الـ queues عشان ينظم البرامج اللي عايزة تشتغل
علاقته بالـ Algorithms:
فيه algorithms خاصة بنظام التشغيل زي algo جدولة المعالج(CPU Scheduling)
نظام التشغيل بيستخدم هياكل بيانات زي الـ queues عشان ينظم البرامج اللي عايزة تشتغل
علاقته بالـ Algorithms:
فيه algorithms خاصة بنظام التشغيل زي algo جدولة المعالج(CPU Scheduling)
علاقته بالـ Databases:
نظام التشغيل بيتعامل مع الهارد ديسك، وده بيساعد قواعد البيانات تخزن وتجيب البيانات بسرعة
علاقته بالـ Networking:
نظام التشغيل بيوفر خدمات الشبكة للبرامج، زي الـ TCP/IP stack
مثال عملي:
تخيل إنك فاتح برنامج Word وبرنامج Chrome في نفس الوقت:
نظام التشغيل بيتعامل مع الهارد ديسك، وده بيساعد قواعد البيانات تخزن وتجيب البيانات بسرعة
علاقته بالـ Networking:
نظام التشغيل بيوفر خدمات الشبكة للبرامج، زي الـ TCP/IP stack
مثال عملي:
تخيل إنك فاتح برنامج Word وبرنامج Chrome في نفس الوقت:
نظام التشغيل بيدي لكل برنامج جزء من الذاكرة
بيقسم وقت المعالج بينهم
لما تحفظ ملف في Word، نظام التشغيل بيتعامل مع الهارد
لما تفتح صفحة في Chrome، نظام التشغيل بيساعد في الاتصال بالإنترنت
بيقسم وقت المعالج بينهم
لما تحفظ ملف في Word، نظام التشغيل بيتعامل مع الهارد
لما تفتح صفحة في Chrome، نظام التشغيل بيساعد في الاتصال بالإنترنت
ملاحظة ممكن تفيدك:
افهم أساسيات نظم التشغيل. حتى لو مش هتشتغل في البرمجة على مستوى النظام، فهم ده هيساعدك تكتب برامج أحسن وأسرع.
و بس كان لحد هنا نهاية ال جزء الاول من الثريد و بداية جزء الثاني منه و هو المصادر و هقولك مشيت ازاي مش شرط تمشي زيي انا بس هنقلك تجربتي
افهم أساسيات نظم التشغيل. حتى لو مش هتشتغل في البرمجة على مستوى النظام، فهم ده هيساعدك تكتب برامج أحسن وأسرع.
و بس كان لحد هنا نهاية ال جزء الاول من الثريد و بداية جزء الثاني منه و هو المصادر و هقولك مشيت ازاي مش شرط تمشي زيي انا بس هنقلك تجربتي
اول حاجه كنت اتعلمتها هي ال C++ و بصراحه انا شايف انها كويسه ل اي حد يبدا بيها لان بعد ما تتعلمها هتبدا ت solve problem بيها
-طب هنتعلمها منين تعاله اقولك من كورس بشمهندس اسامه الزيرو طبعا غني عن التعريف
youtube.com
-طب هنتعلمها منين تعاله اقولك من كورس بشمهندس اسامه الزيرو طبعا غني عن التعريف
youtube.com
بعدها اتعلمت OOP بالـ C#. الـ C# جامدة في الـ OOP. لو عايز تعرف ليه اخترتها، شوف التويت ده:
اتعلمت الـ C# من موقع W3Schools:
w3schools.com
وللـ OOP بالـ C#، اتعلمته من الكورس ده ITI كورس اقل ما يقال عليه عالمي :
drive.google.com
اتعلمت الـ C# من موقع W3Schools:
w3schools.com
وللـ OOP بالـ C#، اتعلمته من الكورس ده ITI كورس اقل ما يقال عليه عالمي :
drive.google.com
طب تطبق مشاريع عليها منين
ده مشروع CRUD انا اللي عامله ممكن تبص عليه
youtube.com
و دي مشروع كبير educational management system و ده الريبو بتاعه علي github
github.com
و دول 3 مشاريع علي oop كمان موجودين في Sheet بكل تفاصيلهم drive.google.com
ده مشروع CRUD انا اللي عامله ممكن تبص عليه
youtube.com
و دي مشروع كبير educational management system و ده الريبو بتاعه علي github
github.com
و دول 3 مشاريع علي oop كمان موجودين في Sheet بكل تفاصيلهم drive.google.com
youtube.com/playlist?list=…
OOP Sheet || object-oriented programming Sheet || مسائل علي البرمجة كائنية التوجه
Share your videos with friends, family, and the world
github.com/Mostafay65/Edu…
GitHub - Mostafay65/Educational-Management-System-OOP-project-
Contribute to Mostafay65/Educational-Management-System-OOP-project- development by creating an accou...
drive.google.com/drive/u/0/fold…
OOP projects - Google Drive
No files in this folder. Sign in to add files to this
بعد كده اتعلمت الـ data structure بالـ C++. ليه C++؟ عشان فيها حاجة اسمها pointers، هتفهمها كويس هنا.
استخدمت قناة MEGA CODE:
youtube.com
وكمان كورس المهندس عادل نسيم بيسهل الدنيا ف الDS جدا بس هو شارح linear DS بس:
youtube.com
استخدمت قناة MEGA CODE:
youtube.com
وكمان كورس المهندس عادل نسيم بيسهل الدنيا ف الDS جدا بس هو شارح linear DS بس:
youtube.com
للـ algorithms، كملت مع المهندس عادل نسيم:
youtube.com
و طبعا مننساش اسطورة الالجورزمات اجدعوها هندي عبدالباري
youtube.com
youtube.com
و طبعا مننساش اسطورة الالجورزمات اجدعوها هندي عبدالباري
youtube.com
و بعدها اتعلمت الـ database بـ SQL server. دي ليها جزء نظري وجزء عملي. شوف الفيديوهات دي:
بلاي ليست ITI هتحتاج تتعب عليها جامد بصراحه في الاول
youtube.com
و ده شرح NoSQL ITI - Mongo DB :
youtube.com
بلاي ليست ITI هتحتاج تتعب عليها جامد بصراحه في الاول
youtube.com
و ده شرح NoSQL ITI - Mongo DB :
youtube.com
وبعدها اتعلمت شبكات من مصادر مختلفه مش ثابته بس لو هرشحلك حد هيبقا بشمهندس مهاب علاء كويس :
youtube.com
وبعدها اتعلمت Operating Systems من كورس ال ITI :
youtube.com
youtube.com
وبعدها اتعلمت Operating Systems من كورس ال ITI :
youtube.com
نصيحة أخيرة: (solve problems) كتير وإنت بتتعلم. ده هيثبت اللي اتعلمته.
ولو وصلت لهنا انا بحبك و خليك عارف ان زكاة العلم نشره و تعليمه
أتمنى أكون فدتك ولو بحاجة بسيطة. متنساش تدعيلي!
ولو وصلت لهنا انا بحبك و خليك عارف ان زكاة العلم نشره و تعليمه
أتمنى أكون فدتك ولو بحاجة بسيطة. متنساش تدعيلي!
جاري تحميل الاقتراحات...