قناة تعلم لغة سي شارب برمجة تصميم واجهات سي بلس بلس جافا سكربت تطبيقات شروحات بي دي اف
1.11K subscribers
1 photo
3 files
14 links
لستات دعم القنوات بالمتابعين ونشر الاعلانات
t.me/alhamzys
تطبيقات وبرامج @apken
°°
"وديني دِينُ عِزٍّ لستُ أدري

         ‏أذِلّةُ قومِنا مِنْ أَينَ جاؤُوا؟!"
@alhamzy_jihad
Download Telegram
#include <iostream>

using namespace std;
int main(){
cout<<"\tبرنامج لطباعة اكبر عدد بين 5 ارقام \n";
int x[5]={50,70,80,100,40};
int a=0;
for(int i=0;i<=5;i++)
{
if(a<x[i])
a=x[i];
}
cout<<a<<endl;

return 0;
}
اكتب برنامج يسمح للمستخدم بادخال رقم الطالب ليقوم بطباعه اسمه والقسم والمستوى  بحيث سيتم تخزين قيم لثلاثة طلاب فقط وفي حال ادخل المستخدم رقم طالب غير موجود يعطيه رساله ليس موجود
#include <iostream>
using namespace std;
int main(){
int n;
cout <<"**________ادخل رقم الطالب _**\n";
cin>>n;
if(n==123){
cout<<"your name is yahya. \n your department is :information system. \n your level is first";
}
else if(n==124){
cout<<"your name is harth. \n your department is :information system. \n your level is second";

}
else if(n==112){
cout<<"your name is jeehad. \n your department is :information system. \n your level is third.";

}

else {
cout<<"sorry this student not here.";
}





return 0;
}
قناة تعلم لغة سي شارب برمجة تصميم واجهات سي بلس بلس جافا سكربت تطبيقات شروحات بي دي اف
اكتب برنامج يسمح للمستخدم بادخال رقم الطالب ليقوم بطباعه اسمه والقسم والمستوى  بحيث سيتم تخزين قيم لثلاثة طلاب فقط وفي حال ادخل المستخدم رقم طالب غير موجود يعطيه رساله ليس موجود
#include <iostream>
using namespace std;
int main(){
int a;
cout <<"Enter the number student ";
cin >>a ;
switch (a) {

case 223 :cout<<"student name : jihad \n depatment : informations system \n level :first "<<endl;

break ;
case 224 : cout <<"student name :yheya \n depatment: informations system \n level : three"<<endl ;
break ;
case 225 : cout <<" student name : Ali \n depatment: informations system \n level : two ";
break ;
default :cout <<"ererr \n plase Enter numbers 223 224 or 225 only ";
}}
‏وأنت تدرس وتجتهد وتبحث عن الكمال في الدرجات والمعدل لا تفرط في جلد ذاتك ولومها والاكثار من كلمة (لو)، فعلت ما في وسعك وبذلت كل طاقتك لا لوم عليك بعدها، لا تقارن نفسك بغيرك ولا تلتفت لمن يحطمك، افرح بما حققته مهما كان، مافائدة أن تتخرج ونفسيتك مدمّرة روحك متعبة وشغفك منطفئ 💜
#‏قلق_الامتحانات .. 🌕

شائع جدا ولا يعتبر تشخيصا نفسيا،
لكنه يدرج ضمن اضطرابات القلق بشكل عام.

القلق عاطفة طبيعية ولكن عندما يصبح مفرطاً يؤثر سلبيا على ادائنا .

لذلك هنا بعض النصائح في السلسلة التالية

1⃣القلق المفرط 🌕

يتظاهر بكونه مفيداً لنا ويبدأ بتعبئة بلونات افكارنا بالهواء عبر "كلمة" ماذا لو؟

- ماذا لو كان الاختبار صعبا، ماذا لو لم افهم السؤال؟ ماذا لو كان المحاضر شديداً في وضع الاسئلة؟ ماذا لو رسبت؟

2⃣- عندما تمتلئ بلونة الأفكار بأفكار التضخيمية،
نحس بكونها حقيقة وهي ليست كذلك،

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

3⃣ #الحل: 🌕

- قم بالتركيز على ما يمكنك القيام به في الوقت المتبقي
- كلما راودتك افكار القلق التضخيمية،
التقطها كونها مجرد تضخيم قد يؤثر سلباً على ادائك
- أي فكرة تهويلية اصنع لها "فريزر ذهني"
تجمدها به دون الغوص في تفاصيلها، وسجلها في ملاحظات الهاتف تحت عنوان :
افكار القلق التضخيمية

4⃣- تذكر أن القلق يتغذى على التجنب وعدم المواجهة، 🌕

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

5⃣- افكار القلق التضخيمية تجعلك تغوص في اعماق المنهج 🌕

وهذا مرهق واحيانا غير واقعي نظراً لمحدودية الوقت، لذلك قم بجدولة المواضيع حسب الأولوية

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


6⃣- عند عدم اجابتك لسؤال ما، احذر من تضخيم قلقك لذلك..🌕

فينسيك ٩٠٪ مما أجبته صحيحا ويذكرك فقط ب١٠٪ الفائتة لأن ذلك سيؤثر سلبا على ثقتك بنفسك ويجعلك تغذيه بتجنب المذاكرة أو الغوص في موضوع على حساب مواضيع أخرى

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

8⃣- تذكر أن الوضع الحالي استثنائي وأنه لا يعكس مدى قدراتك،🌕

فلا تقم بصبغ نظرتك عن نفسك عبر هذا الوضع الاستثنائي
- نقص السكر في الدم، يؤدي لسرعة الانفعال وعدم ضبط النفس ومن ذلك القلق،
لذلك تأكد من تأخير سحورك ما استطعت ليكون مستوى السكر مستقرّا لديك
- تذكر بأن في آخر النفق نور..
كورس كامل عن أساسيات لغة ++C
سعر الكورس على يوديمي : 129.9$
لغة الكورس : العربية
تفاصيل أكثر عن الكورس

ملاحظة
مجانن ومقسم إلى ملفين 👇👇👇👇
أفضل 22 كتاب في علوم الحاسوب في كل العصور 📚

تم جمع هذه القائمة بواسطة اكثر من 14 من علماء الحاسوب والمحررين بدعم منظمة
BookAuthority

1. Everything You Need to Ace Computer Science and Coding in One Big Fat Notebook.

2. Security in Computer and Information Sciences.

3. Introduction to Artificial Intelligence.

4. Computer Science Principles.

5. Mathematics in Computing.

6. Cambridge IGCSE Computer Science by Dave Watson.

7. The Theory of Quantum Information.

8. A Programmer's Guide to Computer Science.

9. The Beauty of Mathematics in Computer Science.

10. Fundamental Proof Methods in Computer Science.

11.
Multiple-Choice & Free-Response Questions in Preparation for the AP Computer Science Examination.

12. Programming with Scala: Language Exploration.

13. Distributed Computing Pearls .

14. Turing's Imitation Game: Conversations with the Unknown.

15. The Handbook of Data Structures and Applications.

16. Recent Advances in Learning Automata.

17. Data Compression: Methods and Theory.

18. Crafting a Compiler (Benjamin/Cummings Series in Computer Science)

19. Computer Science Illuminated.

20. Tools and Algorithms for the Construction and Analysis of Systems.

21. Algorithms.

22. Computational Thinking for the Modern Problem Solver.
من أجل تحسين نفسك كمبرمج ، تحتاج إلى
➣ برمج بشكل يومي👨‍💻
➣ إنشاء مشاريع خاصه بك🗃️
➣ قراءة الكتب والملخصات 📚
➣ تنمية بعض الفضول 🤯
➣ كن نشيطا في المجتمع 👥
➣ كن إيجابيا💪
➣ خذ فترات راحة قصيرة🥳
➣ قم بإعادة كتابه اسكربتاتك ♻️
➣ قسّم مشكلتك
➣ لا تتعجل🏇
#ما_هو_الروت_في_انظمة_الاندرويد
الروت حرفيا يعني الجذر لكن ليس المقصود هنا المعنى الحرفي إنما جذور الملفات
وهو تطبيق يتم وضعه في إمتداد الملفات الداخلية لكي تتمكن من استخدامه لإعطائك الحق في التحكم في الملفات الداخلية للنظام
لكن طريقة وضعه ليست تركيب ملف بصيغة apk إنما يحتاج طريقة معينه لكل جهاز

#لماذا_أتحكم_في_الملفات_الداخلية
1- يمكن حذف برامج داخلية من خلال الذهاب لإمتداد التطبيقات الأساسية وحذف ما تريد بشرط أن لا يكون برنامج يؤثر على تشغيل النظام نفسه مثل الهاتف واللانشر وغيرها
2- يمكن تعديل الملفات الداخلية مثل تعديل الخط الأصلي أو تعريب النظام في الأجهزة القديمة مثلا
3- التحكم بجهازك وكانك شخص حر يستطيع فعل اي شيئ يريده ( لكن بحذر ..فأي خطوة خاطئة قد تضر بالجهاز )
4- يمكن أن تغش في الألعاب مثل زيادة الأرقام والمراحل
5- يمكن أن تغير قيم مغلقة في الريجستري
وتفيد في تغيير حجم الكاش ميموري مثلا
6- يمكن ان تهكر الالعاب والتطبيقات بواسطة برنامج خاص يحتاج للروت
7- يمكن القيام بعمليات النسخ الاحتياطي الكاملة مع معلومات التطبيقات و إسترجاعها لاحقًا او تجميد التطبيقات كما في برنامج تيتانيوم باك اب.
8- يمكن تركيب رومات مخصصة ( اي رومات معدلة )، وتركيب الريكفري مختلف عن ريكفري اندرويد الاصلي مثل CWM بميزات اوسع.
والكثير من الفوائد التي لايمكن عدها !

#ما_عيوب_الروت
اول شيئ يمكن ان يدور في فكر اي شخص قبل القيام بعملية الروت هو خسارة جهازه،لانه الشخص الذي يريد عمل روت يجب ان يدرك مالذي يفعله او ان يكون مستخدم متقدم على الاقل ؛ فقد يتعرض الجهاز للتلف او العطب نتيجة تنفيذ تعليمات خاطئة اثناء القيام بعملية الروت وهذا ما قد يحصل ويجب توخي الحذر، و فقدان التحديثات القادمة لنسخة الاندرويد عبر الهواء OTA او عبر البرامج المرفقة والمساعدة لعمليات التحديث والترقية حيث ان في حال قمت بعمل روت ولم يصلك التحديث عليك التحديث بشكل يدوي ..
أقوى طريقة لمراجعة دروسك في أقل وقت وبذكاء" "طريقة (SQ3R)


منذ عام 1930، قَدمت جامعة اوهايو طريقة مثالية
للمذاكرة أسمها SQ3R لكن الكثير من الطلاب حالياً لا يعلمون عن هذه الطريقة أي شيء رغم أهميتها.

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

🔁 إليكم طريقة (SQ3R) بخطوات سهلة مفهومة :

أسم الطريق (SQ3R) مشتق من الكلمات التالية
Survey,Question,Read,Recite,Review.
أي:

1- إستعرض Survey
2- أسأل Question
3- اقرأ Read
4- أجب Recite
5- أعد القراءة Review

1- الخطوة الأولى: إستعرض Survey

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

2- الخطوة الثانية : أسأل Question

حول الأسماء والعناوين الكبرى إلى أسئلة.
مثال 1، عنوان فرعي (تعريف الاحتباس الحراري )
قم بتحويله لسؤال كالتالي : (ماهو تعريف الاحتباس الحراري ؟)
مثال 2 : فصل بعنوان (خصائص الاحتباس الحراري ) قم بتحويله لسؤال كالتالي(ما هي خصائص الاحتباس الحراري؟)
فالسر في هذه الخطوة يكمن في أنه يجب أن تحول العناوين الكبرى إلى أسئلة مع أنفسك، لأنها ستترسخ في ذاكرتك سريعاً.

3- الخطوة الثالثة : اقرأ Read

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

4- الخطوة الرابعة : أجب Recite

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

5- الخطوة الخامسة : أعد القراءة Review

اقرأ مرة أخرى فقط أجوبة الاسئلة التي لم تتمكن من تذكر أجوبتها بشكل جيد.

الطريقة هذه تختصر عنك الكثير من الوقت وتتيح لك المزيد من الفهم والتركيز فقد تم القيام بدراسة موسعة سنة 2001 على مجموعتين لمعرفة فعالية "sq3r" وتبين في النهاية أن المجموعة الأولى التي اعتمدت على طريقة "SQ3R" استطاعت أن تفهم وتستوعب أسرع 4 مرات من المجموعة الثانية التي لم تستخدم هذه الطريقة.

ودمتم موفقين في حياتكم
#How_to_be_Academy

البرمجيات الحرة

يحتاج جميع مستخدمي الحواسيب و الجوالات إلى ما يسمى بالبرامج وذلك للقيام بالمهام المتعددة والمتنوعة وتتكون هذه البرامج من مجموعة من التعليمات والأوامر التي تنجز هذه المهام.
ومن أحد أنواع البرمجيات هي البرمجيات الحرة و التي تهدف إلى أن يكون المستخدم هو المتحكم بالبرنامج وليس العكس كما في البرمجيات الأخرى التي يكون فيها البرنامج هو المتحكم بالمستخدم.
تتكون البرمجيات الحرة “FREE SOFTWARE” من أربعة أشياء وشروط أساسية معتمدة عليها ولو فقدت أحد هذه الشروط لم يتم وضع البرنامج تحت تصنيف و نوع “البرمجيات الحرة”.
• أن يكون البرنامج مفتوح المصدر:
بمعنى أن الأوامر و التعليمات والكود البرمجي للبرنامج مفتوح للجميع و يمكن الوصول له ومراجعته و تحليله واستكشاف الأخطاء والثغرات .
• حرية التشغيل:
وتعني أن المستخدم يملك الحرية في وقت تشغيل البرنامج وكيفية التشغيل وتحديد الهدف من تشغيله وكذلك السماح أو عدم السماح بتحديث البرنامج و وقت ذلك و الحرية في أعطائه الصلاحيات في استخدام الكاميرا و المايك و التخزين و الوصول و كل شيء.
فكمثال على ذلك في نظام التشغيل ويندوز : يقوم النظام بالوصول إلى الإنترنت و الكشف عن وجود تحديثات أم لا فإذا وجد تحديثات يقوم بتحميلها تلقائياً و تثبيتها و في النهاية يقوم بإعلام المستخدم عن قيامه بتحديث كذا و كذا و في أجهزة الماكنتوش و أنظمتها يقوم النظام بتحميل التحديثات كذلك تلقائياً و تثبيتها بدون أي إذن أو علم للمستخدم
وهنا يخطر على بال أحدنا سؤال:
هذه الأمور جيدة و لا تشغل المستخدم و يقوم البرنامج أو النظام بتحميل و تثبيت التحديثات تلقائيا بدون عناء فلم الحرية في التشغيل؟!
الجواب:
كشفت إحدى تسريبات “سنودن” عام 2013 عن قيام نظام التشغيل مايكروسوفت – المغلق المصدر – عن قيامه بإرسال تحديث محدد لجهاز واحد فقط بناء على طلب من وكالة “الأمن القومي الأمريكي” و يقوم النظام بتحميل وتثبيت التحديث بشكل تلقائي و بذلك يكون معلومات وبيانات المستخدم جميعها و معلومات اتصاله وموقعه وجميع ما يحتوي تحت مراقبة شركة “مايكروسوفت” و وكالة “الاستخبارات الأمريكية”.
فهنا يكمن الخطر في قيام البرنامج أو النظام بتثبيت ما يشاء و متى شاء و كيف يشاء، فلا بد أن يكون المستخدم حر في تحميل التحديث الذي يريده و فحصه من الفيروسات و الملفات الضارة.
وكذلك في نظام الأندرويد يشترط البرنامج عند تثبيته بإعطائه الإذن و الصلاحيات للوصول إلى كثير من الأمور مثل جهات الاتصال و الكاميرا الأمامية و الخلفية و المايك و الموقع الجغرافي و الوصول للملفات و التخزين… إلخ.
ولن يتم تثبيته إلا بالسماح بهذه الأذونات و الخطر يكمن في إعطائه هذه الصلاحيات في استخدامه لها في غير محلها فمن الممكن أن يقوم البرنامج بفتح الكاميرا أو المايك و التسجيل و الوصول لجهات الاتصال و الموقع الجغرافي … إلخ.
• حرية النسخ للبرنامج و توزيعه.
• حرية التعديل على الكود البرمجي للبرنامج للحصول على ما يهم المستخدم و تصليح الأخطاء وسد الثغرات وإعادة توزيع البرنامج المعدل و نشره بدون قيود.
فبهذه الشروط يكون البرنامج حر و ضمن البرمجيات الحرة و الأهم من ذلك يكون آمن للاستخدام.
أما عن ميزات البرمجيات الحرة فمنها :
• الاستفادة من خبرات الآخرين:
فبدلاً من إنشاء برنامج من الصفر يمكن لأي شخص أو شركة البدء من حيث انتهى الآخرون و كذلك المشاركة في تصحيح الأخطاء و اكتشاف الثغرات و تحسين و تطوير البرامج.
• برامج بدون أو أقل كلفة:
• فبدل من استخدام الأنظمة التجارية و البرامج التجارية المكلفة كنظام ويندوز و برامج شركة ADOBE ونظام الماكنتوش و برامجه و برامج مكافحة الفيروسات المكلفة يكون بالمقابل برامج مجانية أو أقل تكلفة بفارق كبير.
و أكثر ما يهمنا هي حماية المستخدم من التجسس و السرقة لذلك كن حريصاً على استخدام البرامج المفتوحة المصدر و الحرة.
#شارك_القناة_لتعم_الفائده_الجميع
عملية الاختراق
هناك بعض المراحل المهمة اثناء عمل اختبار اختراق علي شركة او مؤسسة و هي [+] informaion gathering [+] وهي جمع المعلومات الكافية عن الضحية لكن informaion gathering تنقسم الي قسمين
informaions gathering passive
وتعني جمع المعلومات عن الضحية بطريقة غير مباشرة دون الاحتكاك باالضحية بشكل مباشر مثل Search Agent علي طبيعت الحال وهي استخدام محركات البحث في اخراج المعلومات المؤرشفه علي محركات البحث مثل البحث عن backup او File password او Subdomain وغيرهم من الاشياء الكثير التي تستطيع اخراجها من محركات البحث واكثر المواقع و Tools المستخدمة في هذا هي
1- Website Recon
2- Whois Enumeration
3- Google Hacking
4- Netcraft
5- Recon-ng
6- Open Source code
7- Shodan
8- OSINT Framework
9- Maltego Framework
هذا فقط عملية جمع المعلومات عن الهدف دوان الاحتكاك بهي لكن يمكنك جمع المعلومات بلاحتكاك بالاضحية بشكل مباشر وهي
Active informaions gathering
وهي عملية الاحتكاك بالاضحية بشكل مباشر بغرض جمع المعلومات سواء كان علي Network الخاصة باشركة او المؤسسة وهي عن طريق ارسال و استقبال حزم لغرض جمع المعلومات مثل استخدام tool تقوم بعمل port scanning علي network الخاصة بهم و البحث عن Service الموجودة في network او عمل Scan بشكل مباشر علي WEB Applications الخاص باشركة
[+]#فريق_programmer_tech [+]
حكمة اليوم:
أسوء ٱختراعين .. المسدس و الفيسبوك 👌
الأول ساوى بين الشجاع و الجبان👌
و الثاني ساوى بين المثقف و الحمار ....!!🤷
#معلومة_طبية ⭕️
هناك أربع هرمونات مسؤولة عن تحديد مستوى سعادة الإنسان ، و هي :
1- Endorphins 👌🏻
2- Dopamine 👌🏻
3- Serotonin 👌🏻
4- Oxytocin 👌🏻
#أولاً : Endorphin
عندما نذهب للنادي الرياضي أو نمارس الرياضة فإن الجسم يفرز هذا الهرمون كي يتغلب على إحساس الألم التي تسببه التمرينات و هذا هو سبب الإحساس بالمتعة عند ممارسة الرياضة، كما أن الضحك طريقة جيدة لإفراز الإندروفين.
نحن نحتاج على الأقل 30 دقيقة يومياً مشاهدة أشياء مضحكة و مسلية أو ممارسة الرياضة كي نحصل على جرعتنا اليومية من الإندروفين.

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

هذا ما يوضح لماذا ربّات المنزل في أغلب الأحيان يكنَّ غير سعيدات (لأنو نادراً ليحصلوا على التقدير والعرفان المناسبين لكمية المجهودات اللي بيبذلوها كل يوم )

#ثالثاً : Serotonin
يأتي عندما نفيد الآخرين ، أي عندما نتخطى أنفسنا و نكون قادرين على العطاء للطبيعة أو للمجتمع، حتى ولو كانت مشاركة معلومة مفيدة مع الغير أو كتابة بوست مفيد على الإنترنت أو إجابة شخص على سؤال ما ، جميع ما ذكر يجعل الجسم يفرز السيروتونين و بالتالي تسبب الإحساس بالسعادة .
#رابعاً : Oxytocin
يتم إفرازه عند التقرب من الأشخاص ، عند المصافحة ، عند الحضن .. و لهذا السبب يجب علينا حضن طفل صغير مزاجه مضطرب كي يزداد لديه هذا الهرمون و يشعر بالسعادة من جديد .

ملخص لما سبق :
ببساطة علينا :
⭐️أن نمارس الرياضة كل يوم من أجل #الأندروفين.
⭐️أن نحقق إنجازات ولو صغيرة كل يوم من أجل #الدوبامين.
⭐️أن نكون نافعين لغيرنا من أجل #السيروتونين.
⭐️أن نحضن الأولاد أو الأصدقاء و الأهل من أجل #الأوكسيتوسين.
مع تمنياتي لكم بالصحة والسعادة الدائمة 💙💙
#منقول #Shaimaa

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

مهم ليكم تعرفوا الفرق نتفق ياجماعة كده كده في النهاية كلها نقدر نصمم منها مشاريع robotics معاها الذكاء الاصطناعي Al وانترنت الاشياء Iot تحت مسمى واحد اسمو (Alot) مابتختلف اللوحتين بس الاختلاف في الوظائف كل واحد منها لكن نقدر نعمل كل منها مشاريع روبرتية .. نشوف وظيفة كل منها
الاردوينو :
1- لوحة متحكمة مصممة بالمايكرونترولير ATMEGA32 التي تنتجها شركة Atmel (الآن تُسمى Microchip).

2- بصورة عامة جميع بوردات الأردوينو تمت برمجتها بلغتي الـ C والـ C+عن طريق برنامج خاص يُسمى (Arduino IDE).

3 - سهلة لاستخدام المشاريع وهي مفتوحه المصدر الأردوينو قامت بتبسيط الخطوات السابقة لأنها جمعتها في برنامج واحد فقط وبورد واحد فقط، الاردوينو مابيحتاج نظام تشغيل بس يحتاج ملف HEX علشان تشتغل، مع الأردوينو تقدر تستخدم مايُعرف بدروع الأردوينو (Arduino Shield) لإضافة مميزات أخرى مثل درايفر الموتور، بورد الإيثرنت، قارئ ذواكر SD، بورد الواي فاي، شاشة لمس … إلخ، حيث يتم توصيل هذه الدروع مع الأرجل (pins) الموجودة بجوانب البورد.

4- الأردوينو مناسبة للتطبيقات التي تعتمد على حساسات و LED وموتورات، وهذا لايعني أن الراسبيري باي لاتصلح لمثل هذه التطبيقات ولكن تعتبر الحالة السائدة.
تشفيرة CAESAR CIPHER

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


قانون قيصر في التشفير

القانون الخاص بالتشفير في هذا يكون :

cipher_text = (P+K) mod 26


شرح القانون

مفتاح التشفير يكون key+5


ABCDEFGHIJKLMNOPQRSTUVWXYZ012345678910111213141516171819202122232425


الموضوع سهل, ركز معي القانون يقول أن cipher text +key و هنا نقصد المفتاح على mod26 وهذا عدد احرف اللغة الأنجليزية, دعونا نأخذ مثال بسيط لفهم هذا الامر بشكل أفضل.



مثال

اريد تشفير كلمة KAISSAR لنأخذ حرف حرف نأتي الآن للحرف الأول من كلمة KAISSAR وهو K الرقم الذي يقابل ذلك الحرف KEY+ 10 أي ان 10+5=15, الآن نأتي الى الخطوة الثانية.


الحرف المقابل للعدد 15 هو P اذاً تم تشفير الحرف الأول نأتي إلى الحرف الثاني في كلمة KAISSAR وهو A نفس الأمر الرقم المقابل للحرف A +5 اذا سيكون 0+5 =5 والحرف المقابل للرقم 5 هو F تم تشفير الحرف الثاني.


نأتي الى الحرف الثالث من الكلمة وهو I الرقم المقابل لذلك الحرف هو 8, اذاً 8 + 5 =13 الحرف المقابل لهذا العدد هو N ,تم تشفير الحرف الثالث حتى تصبح الكلمة المشفرة لدينا إلى الآن PFN .


الآن نأتي إلى الحرف الرابع و الخامس وهما S S, ما هو الرقم المقابل لذلك الحروف؟ هو الرقم 18 اذاً سيكون 18 + 5 = 23, الآن نأتي إلى الحرف المقابل للـ 23 هو X حتى تصبح الكلمة الى الآن PFNXX.


الآن نأتي إلى الحرف السادس وهو A و الرقم المقابل له هو 0 اذاً 0+5=5 الحرف المقابل لذلك العدد هو F حتى تصبح PFMXXF نأتي الآن إلى الحرف الأخير وهو R و الرقم المقابل له 17+5=22 الحرف المقابل للعدد هو W حتى يصبح التشفير في النهاية PFNXXFW.


ملاحظة :

ممكن أن يكون المفتاح 5- وفي تلك الحالة سيتغير القانون ويكون

cipher_text = (P-K) mod 26


يعني بدل الجمع اثناء التشفير سيكون طرح, مثال على ذلك اول حرف من كلمة kaissar


10-5=5 والحرف المقابل لذلك العدد هو F كذلك الأمر الى النهاية لبقية الأحرف.


قانون قيصر في فك التشفير

في عمليات فك التشفير يختلف القانون حسب ترتيب المفتاح اذا كان المفتاح بالسالب سيكون فك التشفير موجب, اما اذا كان موجب سيكون التشفير بالسالب, في المثال السابق كان التشفير هو مفتاح 5 يعني موجب وفي تلك الحالة سيكون التشفير سالب وكان التشفير للكلمة هو KAISSAR.


مثال

في المثال السابق كان التشفير لكلمة PFNXXFW, هيا بنا لنفك هذا التشفير وسيتغير القانون اثناء التشفير ليكون CAESAR TEXT P-K


نأتي الآن نأخذ اول حرف من الكلمة المشفرة وهو P.

الرقم المقابل لذلك الحرف هو 15 اذاً سنقوم بتطبيق القانون 15-5=10 الخطوة الثانية, الرقم المقابل للعدد 10 هو K نأخذ الحرف الثاني هو F, الرقم المقابل لذلك الحرف هو 5 اذاً سيكون 5-5=0 الحرف المقابل لذلك العدد هو A حتى يصبح فك التشفير الى الآن KA.


نأتي الى الحرف الثالث وهو N و الرقم المقابل للحرف هو 13 ونطبق القانون 13-5=8 الحرف المقابل لذلك العدد هو I حتى يصبح فك التشفير الى الآن KAI الآن نأتي إلى الحرف الرابع و الخامس وهو X X الرقم المقابل للحروف هو 23 اذاً التطبيق سيكون 23-5=18.


الحرف المقابل لذلك العدد هو S حتى يصبح فك التشفير الى الآن KAISS نأتي إلى الحرف السادس وهو F الرقم المقابل لذلك الحرف هو 5 تطبيق القانون 5-5=0 الحرف المقابل لذلك العدد هو A يصبح فك التشفير الى الان KAISSA.


نأتي الى الحرف الأخير وهو W الرقم المقابل لذلك الحرف هو 22 تطبيق القانون 22-5=17 الحرف المقابل لذلك العدد هو R و هكذا يكون انتهى فك التشفير ويكون الناتج بعد الفك KAISSAR .


لكن ملحوظة اذا كان مفتاح التشفير موجب يجب ان يتم تطبيق ذلك القانون اثناء التشفير,

caesar_text=(p-k)


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

caesar_text=(p+k)
"خريطة الإبحار فى عالم لغة ++C" ... دى صورة جمعتها النهارده الهدف منها ان يبقى معاك مجموعة متميزة من المصادر الى تساعدك على الإنطلاق فى عالم لغة الـ ++C وصولا الى الإحتراف باذن الله ... ودى قصة الـ ++C كبداية .... فى الواقع رغم نجاح لغة السى الرهيب فى برمجة النظم الا إن إستخدامها فى التطبيقات المتنوعة و البرامج و النظم الكبيرة اظهر مشاكل اللغة و فتح الباب لامكانية تطوير "العديد من لغات البرمجة" الى ممكن تكون افضل من الـ C فى المجالات دى سواء على مستوى البساطة او الأمان أو الإنتاجية ... أو خليط من أكثر من عامل ... وطبعا كان ده على حساب "الأداء" وأحيانا "الإمكانيات" ... لكن الكثير من المشاريع بتحتاج الى أداء عالى ... هنا ظهرت فلسفة استخدام اكثر من لغة فى المشروع بحيث يتم عمل المشروع بلغة سهلة ويتم استخدام السى فى الأجزاء التى تتطلب أداء عالى ... لكن طبعا فكرة إستخدام أكثر من لغة بتهدد عامل البساطة او بتتطلب فريق عمل بمواصفات متنوعة أو تطوير مكتبات لفترة بعدين استخدامها ... لكن ده اختيار احترافى متاح للدراسة وقت تصميم المشاريع ... كمان مع زيادة سرعة الاجهزة بدأ عامل الأداء مايبقاش خطير فى الكثير من المشاريع ... لكن قبل ما ده يحصل كان على التوازى فى فكر أخر ... وهو ان يكون فى لغة جديدة عبارة عن تطوير واضافة الى لغة الـ C بدل ما نبدأ من الصفر ونعمل لغة مختلفة تماما ... ده يختصر الطريق فى التعلم ويوفر التوافق مع المشاريع الموجودة ... اللغة دى كانت الـ ++C وكان اسمها فى الاصل C with Classes هدفها اضافة الـ Object Oriented الى لغة C لتحقيق مستوى اعلى من الـ Abstraction مع الحفاظ على الـ Performance ... دى كانت البداية ومع الوقت اللغة بقت أكبر من كده واضيف ليها الكثير من الامكانيات و اصبحت اللغة تعتمد بشكل عام على أربعة أركان أساسية
* لغة C كجزء من لغة ++C
* الـ Object-Oriented
* الـ Template and Generic Programming
* الـ Standard Library بما فيها الـ Standard Template Library اى STL
زمان كان اغلب المبرمجين المقبلين على ++C هما فى الاصل مبرمجين C ... وبالتالى كان معاهم 50% من اللغة "فى بدايتها" او دلوقتى "25% من اللغة" بعد تطورها الكبير ... لكن النهارده الوضع اصبح مختلف ... كثير جدا من مبرمجين ++C انتقلوا ليها من لغات زى السى شارب والجافا او Python و Ruby ... يعنى اللغات الشائعة حاليا ودى كلها Object Oriented وبالتالى القفزة المتعلقة بنمط البرمجة اصبحت غير موجودة ... وبيبقى الشىء الاساسى المطلوب هو ادراك روح اللغة بحيث المبرمج لما يكتب كود بالـ ++C يبقى فعلا مكتوب بالشكل الصحيح "افضل اسلوب" وانما مش محاكاة لكود بيتكتب بلغة تانية ... وده طبعا بجانب جزء الـ Memory Management والـ Templates والـ Standard Library.
أنا هنا جمعتلك مجموعة من الكتب انا شايف انها "خليط جيد" بيبدأ من "تحت الصفر" لو انت محتاج لده وصولا حتى الاحتراف ان شاء الله
(1) كتاب : Beginning Programming with C++ For Dummies
ده بيبدأ من تحت الصفر ويقدملك اللغة بشكل بسيط واساسيات البرمجة ... نادر انك تلاقى حد ينصحك بالنوعية دى من الكتب ... بس ده فعلا النوع الى انت محتاجة لو انت جاى على عالم البرمجة جديد ... بتحتاج كتاب للمبتدىء ... مش شرط يكون مشهور وانما تعرف تفهم منه ويبسطلك الامور.
الرابط : http://www.amazon.com/Beginning-Programming-C-…/…/0470617977
(2) كتاب : Sams Teach Yourself C++ in 24 Hours
ده كتاب للمبتدىء ممكن تعتبره الخطوة التانية او تبدأ بيه لو عندك معرفة بالمبادىء
الرابط : http://www.amazon.com/Sams-Teach-Yourself-Hour…/…/0672333317
(3) كتاب : The C++ Programming Language, 4th Edition
ده بقى مرجع عن اللغة من تأليف مبتكرها Bjarne Stroustrup
الرابط : http://www.amazon.com/The-Programming-La…/…/ref=pd_sim_14_4…
السؤال دلوقتى هل بعد كتب البداية ثم الحصول على مرجع انا محتاج كتب تانى ؟ الاجابة فى نوعية من الكتب بيبقى فيها "الخبرة" يعنى "دى المشكلة" و "ده حلها" او "دى النصيحة" و "دى أهميتها" الكتب دى بتوفر عليك سنين من التعلم او شهور من المعاناة مع اخطاء المشاريع والكتب التالية من النوعية دى
(4) كتاب : Effective C++: 55 Specific Ways to Improve Your Programs and Designs
الرابط : http://www.amazon.com/Effective-Specific-Impro…/…/0321334876
(5) كتاب : Code Complete: A Practical Handbook of Software Construction
الرابط : http://www.amazon.com/Code-Complete-Practical-…/…/0735619670
(6) كتاب : Thinking in C++: Introduction to Standard C++,
الرابط : http://www.amazon.com/Thinking-Introduction-St…/…/0139798099
كمان مهم يبقى معاك كتاب عن الخوارزميات توسع بيه معرفتك
(7) كتاب : Computer Algorithms C++
الرابط : http://www.amazon.com/Computer-Algorithms-C-El…/…/07167831
نصائح لتعلم البرمجة


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

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

• أعرف نفسك جيدًا ونقاط قوتك وضعفك. كلنا لديه نقاط قوة وضعف، ولكن المفلح من عمل على ترميم وتحسين نقاط ضعفه في المجال الذي يرغب بتعلمه.

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

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

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

• نظم وقتك بورقة وقلم، حدد بداية كل أسبوع خطةً لسائره والتزم بتنفيذها. أخبر أصدقائك أن لديك إلتزام وأمور مهمة عليك إنجازها. خصص وقتًا للاستراحة بالطبع ولا تنسَ نصيبك منها. في نهاية كل أسبوع، وازن مدى الإنجاز الذي حققته ومدى تطبيق الخطة التي وضعها وحاول أن تصل النسبة إلى 100%. أنصحك بقراءة ومتابعة استراتيجيات تنظيم الوقت ورفع الإنتاجية.

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

• لا تنسَ أن تكافئ نفسك في كل مرة تنهي فيها كتابًا أو تكمل العمل على مشروع.

• لا تنسَ حظك من الاستراحة، لأن طريق البرمجة قد يكون له بداية ولكن النهاية بعيدة ومتعبة -مثله مثل أي مجال آخر-.
ماهو Framework و Library والفرق بينهم

لا شك ان مصطلح المكتبات و Freamworks اصبحت تتردد بين المبرمجين الجدد والمخضرمين فماذا تعني ومالفرق بينهم؟

Library
===========
هي عبارة عن مجموعة من الاكواد والملفات كتبها مبرمجين اخرين لتنفيذ مهمة معينة, لنفرض أنك بحاجة للتعامل مع الأرقام فبدلاً من كتابة هذه الوظائف ستقوم بالبحث عن مكتبة بها هذه الوظائف التي تريدها وتقوم بإستخدام هذه المكتبة, أو تقوم أنت بإنشاء مكتبتك الخاصة بالخصائص التي تريدها وتحتفظ بها لتعاود إستخدامها, ويمكن لك أن تنشرها لإعادة إستخدامها من قِبل الأخرين الذين يبحثون عن نفس تلك الخصائص الموجودة في مكتبتك.
=================================================
اطار العمل Framework
=====
ال framework او اطار العمل هو بشكل بسيط عبارة عن بيئة مجهزة مسبقا ببعض الادوات والتقنيات والمكتبات التي قام ببناءها مبرمجون اخرون واختبروها وبنوها بحيث يمكن لاي شخص ان يستخدمها بسهولة لتساعدك وتسهل عليك امورك البرمجية, فهي تجعل المبرمج يبدء من حيث انتهى الاخرون، فعلى سبيل المثال ان احتجت في مشروعك ان تتعامل مع قواعد البيانات فبدلاً ان تقوم ببناء خوارزميات للتعامل مع هذا الامر، تستطيع استخدام اطار عمل ليساعدك على ذلك.

فمثلا لو تحدثنا عن لغة PHP وبعض الـ Freamworks المتوفرة لها فسنجد (Laravel, CodeIgniter,CakePHP ) على سبيل المثال لا الحصر, هذه الـ Freamworks ماهي الا مجموعة من ملفات بي اتش بي المعدة مسبقا التي تسمح لك انشاء برنامجك باسلوب (MVC : model – view- controller) وبالتالي هي وفرت عليك ان تنشئ نظاما من الصفر وايضا وزودتك بالتقنيات الاساسية التي تسمح لك باستخدامها لتطوير برنامجك, اذا الفريم ورك او الاطار ليس برنامجا جاهزا. انه بيئة يمكن استخدام ما توفره من ادوات لانتاج برنامج.

مثال اخر, الـ Twitter Boostrap هو إطار عمل مخصص للمصممين ومتعلق بتطوير تصميم الويب حيث يوفر لك هذا الإطار مجموعة من مكتبات Jquery ومجموعة من ملفات Css الجاهزه لتستطيع أستخدامها بشكل مباشر في تطوير تصميم تطبيقك على الإنترنت وبذلك يوفر الوقت والجهد والتكلفة عليك كمطور لهذا التطبيق.

========================

Framework vs Libary

- بكل بساطة, المكتبة وجدت لتساعدك في تنفيذ مهمة واحدة بينما اطار العمل, هو عبارة عن مجموعة من المكتبات مجتمعة معاً لتنفيذ بعض المهام.
- ان كنت تستخدم مكتبة معينه في مشروع واردت ابدالها بمكتبة اخرى, تستطيع ذلك بكل سهولة بينما اطار العمل لاتستطيع استبداله باخر والسبب لانك ستقوم بكتابة المشروع من جديد على الـ Framework الجديد.
- المكتبة تعتبر اداة بينما الـ Framework يعتبر طريقة للبرمجة.
- المكتبات تعمل او تثبت من خلال الـ Framework.