اذهب إلى المحتوى

سمير عبود

الأعضاء
  • المساهمات

    3489
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    34

كل منشورات العضو سمير عبود

  1. و عليكم السلام يمكن أيضا التحقق من الصورة و هي على هيئة base64 حتى لغات البرمجة توفر أدوات من خلالها تستطيع التحقق من الصورة بشكل كامل أي المحتوى و ليس فقط اللاحقة فإن كانت تحتوي على برمجيات خبيثة يتم رفضها
  2. مرحبا أولا: حتى نستطيع مساعدتك بشكل جيد عليك رفع الكود كامل إما عن طريق ملف مضغوط أو كتابته في محرر الأكواد هنا حتى نطلع عليه بشكل كامل ثانيا: من خلال مشاهدتي للكود الخاص بك من خلال الصور لاحظت انك كاتب الوسم link داخل الوسم aside والمفروض الوسم link المكان المخصص له داخل وسم head بهذا الشكل : <head> // .... <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> </head> ثالثا: من خلال مشاهدتي للأكواد في الصورة لاحظت وجود كلاس css خاص ب aside ولم تستعمله في أكواد ال html أتحدث عن هذا الجزء من css .aside{ /* ....... */ } المفروض إستعمال هذا الكلاس داخل وسم aside بهذا الشكل حتى يتم تطبيق التنسيق الخاص به // ..... // ..... <aside class="aside"> // content here </aside> بهذا الشكل يتم تطبيق الكلاس على وسم ال aside و يكون على جنب أو يمكنك إبقاء أكواد ال html كما هي و تغيير ال css بهذا الشكل : /* لاحظ أننا استعملنا الوسم وليس الكلاس */ aside { /* stylesheet properties here */ /* .......... .......... */ } ملاحظة: حتى نستطيع مساعدتك بشكل جيد يجب أن نكون على اطلاع كامل بالكود فمن الصور لا نلاحظ الأخطاء بالتوفيق
  3. و عليكم السلام أولا الحماية هو علم قائم بحد ذاته و لا يمكن حصره في مقال واحد أو إثنين لذلك على المبرمج أن يكون دائم الإطلاع على مستجدات الثغرات و كيفية الحماية منها أنصحك بقراءة بعض المقالات عن هذا العلم بخصوص سؤالك و هو كيفية منع المستخدم من رفع برمجيات خبيثة بدل صورة ببساطة هذا يندرج تحت التحقق من البيانات أو data validation و الأكيد و الجدير بالذكر أن أي لغة برمجية تتيح و توفر لك أدوات من خلالها تستطيع التأكد أن ما رفعه المستخدم عبارة عن صورة بالفعل ليس التحقق من اللاحقة فقط ( jpg , png , .... ) بل التحقق من الملف كامل هل هو صورة أم لا فإن كان صورة تقوم بحفظه و إستخدامه في موقعك إن كان لا تخبر المستخدم أن ما قام برفعه ليس صورة أنا لا أستعمل اللغات التي ذكرتها لكن بإمكانك الإستعانة ب Google بكتابة : Image validation in python و سيقترح عليك كيفية التحقق بالتوفيق
  4. مرحبا يمكنك تغيير الخلفية الى صورة بإستخدام هذه الأكواد أولا تقوم بكتابة كود html الذي سيحتوي على canvas بهذا الشكل <canvas id="c"></canvas> و بعدها تستخدم جافاسكربت بهذا الشكل var c = document.getElementById("c"); var ctx = c.getContext("2d"); //making the canvas full screen c.height = window.innerHeight; c.width = window.innerWidth; var background = new Image(); background.src = "https://img.freepik.com/free-photo/3d-grunge-room-interior-with-spotlight-smoky-atmosphere-background_1048-11333.jpg"; background.onload = function(){ ctx.drawImage(background,0,0, window.innerWidth,window.innerHeight); } يمكنك مشاهدة النتيجة من خلال هذا الرابط
  5. مرحبا يمكنك تغيير الخلفية الى صورة بإستخدام هذه الأكواد var background = new Image(); // هنا ستقوم بوضع مسار الصورة التي تريدها background.src = "https://img.freepik.com/free-photo/3d-grunge-room-interior-with-spotlight-smoky-atmosphere-background_1048-11333.jpg"; background.onload = function(){ ctx.drawImage(background,0,0, window.innerWidth,window.innerHeight); }
  6. مرحبا يمكنك استعمال bootstrap modal لعمل نافذة منبثقة عند تحميل الصفحة تحتاج إلى تضمين bootstrap و jQuery بهذا الشكل <div id="myModal" class="modal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Modal title</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <img class="img-fluid" src="https://via.placeholder.com/460x300 C/O https://placeholder.com/" alt="placehold image"/> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> و بعدها يمكنك استخدام javascript بهذا الشكل $(window).on('load',function(){ $('#myModal').modal('show'); }); يمكنك مشاهدة النتيجة من خلال هذا الرابط
  7. مرحبا إذا كان سؤالك هل أحتاج فقط لغة جافا لبرمجة تطبيقات أندرويد نتيف أو native أجيبك نعم جافا تغنيك عن تعلم لغة أخرى لبرمجة تطبيقات نتيف للأندرويد يشترط فقط معرفة بسيطة بلغة XML التي ليست لغة برمجة لكن هل فقط جافا من يمكنها بناء تطبيقات نتيف للأندرويد ؟ الجواب لا فلغة كوتلن تفعل المثل طيب سؤال آخر ماذا لو أردت بناء تطبيق لل iOS أيضا ؟ أجيبك في هذه الحالة يجب تعلم لغة جديدة مثل swift أو objective-c تسألني مرة أخرى لكن في هذه الحالة سأضطر لتعلم لغتين ؟ أجيبك نعم و من هنا جاءت فكرة المنصات الكروس بلاتفورم أي منصة أو تقنية تتيح لك بناء او تحرير تطبيقين للأندرويد و ال iOS بكود مصدري واحد و من بينها إطار react native و flutter و غيرهما و هذه التقنيات لها نقاط قوة كما لها نقاط ضعف و تعتبر التطبيقات التي سيتم بناؤها على هذه المنصات هجينة أو hybrid طيب سؤال آخر ماذا عن مطورين الويب الذين لديهم معرفة بلغات الويب ك html و CSS و JS هل سيضطرون لتعلم لغات جديدة ؟ أجيبك لا بإمكانهم الإعتماد على منصات و تقنيات مثل Cordova و ionic سابقا لبناء تطبيقات جوال Ionic تم تطويرها الآن و أصبحت تعتمد على angular و typescript كما بإمكانهم تعلم لغات جديدة إن أرادو ذلك .
  8. مرحبا معاذ الدورات في أكاديمية حسوب مدفوعة بإمكانك مشاهدة الدورات الموجودة من خلال هذه الصفحة كما يمكنك الدخول لصفحة كل دورة بالضغط عليها لتعرّفك بالدورة أكثر و إلى من موجهة و كل ما يتعلق بها بخصوص الشهادات تستطيع الحصول على الشهادة عند إكمالك لمحتوى الدورة و إجتيازك للإمتحان النهائي
  9. مرحبا يمكنك الإعتماد على هذه المقالة من Microsoft لربط جهازك مع virtual machine على Microsoft Azure من خلال هذا الرابط كما يمكنك مشاهدة هذا الفيديو لكيفية الربط من خلال هذا الرابط
  10. مرحبا نعم بإمكانك التعديل و إضافة ميزات جديدة وأكواد لموقع ووردبريس شرط أن يكون الكود البرمجي الخاص بالموقع أو القالب معك بالتوفيق
  11. مرحبا يمكن عمل البرنامج بهذا الشكل بإستعمال المصفوفة الثنائية أو المصفوفة ذات بعدين public class Main { public static void main(String[] args) { // هنا قمنا بتعريف مصفوفة ثنائية أو ذات بعدين و أسندنا لها القيم int [][] array2d = { {1, 0, 0, 0, 0}, {2, 1, 0, 0, 0}, {3, 1, 1, 0, 0}, {4, 2, 1, 1, 0}, {5, 2, 1, 1, 1} }; // وهنا قمنا بعملة حلقتين من نوع فور لعرض عناصر المصفوفة بالشكل المربع for (int i = 0; i < array2d.length; i++) { for (int j = 0; j < array2d[i].length; j++) System.out.print(array2d[i][j] + " "); System.out.println("\n"); } } } يمكن تصفح نتيجة البرنامج من خلال هذا الرابط كما يمكن عمل البرنامج بهذا الشكل أيضا public class Main { public static void main(String[] args) { int x = 5 , i, j; for (i = 1; i <= x; i++) { for(j = 1; j <= i; j++) { if (j == 1) System.out.print(i + " "); else if (i >= 4 && j == 2) System.out.print("2 "); else System.out.print("1 "); } for(j = i + 1; j <= x; j++) { System.out.print(0 + " "); } System.out.println('\n'); } } } و يمكنك تجربة الأكواد من خلال هذا الرابط بالتوفيق
  12. نعم هناك مواقع تبنت هذه الأفكار تتيح لك بناء تطبيقات عن طريق الموقع الخاص بهم لكن عن طريق آليات تم عملها من طرفهم لكن لن تكون الخدمة بالمجان وأظن لن تملك السورس كود الخاص بتطبيقك مثلها مثل المواقع التي تتيح لك بناء موقعك أونلاين ك Wix وغيرها و هذه المنصات تم عملها للأشخاص الذين يهتمون بالنتيجة فقط و لايهمهم الكود و اللغات المستعملة
  13. مرحبا التطبيقات أنواع هناك تطبيقات موبايل ستعمل على الهاتف تطبيقات ويب ستعمل على الويب كالمواقع تطبيقات ديسكتوب أو سطح مكتب تعمل على الكمبيوتر تطبيقات للموبايل تنقسم إلى قسمين تطبيقات نتيف أو native هذه التطبيقات يتم بناؤها بإستعمال اللغات الأصلية الخام على سبيل المثال أندرويد ( جافا أو كوتلن ) و iOS ( سويفت أو Objective-C ) و هذه اللغات تستطيع التواصل مباشرة مع الهاردوير و محسسات الهاتف . تطبيقات هجينة أو Hybrid يتم بناؤها إعتمادا على منصات مثل كوردوفا بإستعمال لغات الويب أو ionic وغيرها و يتم فيها إستعمال جسر للوصول إلى محسسات الهاتف كالميكرفون و GPS و غيرها ...فيكون أداؤها ضعيف مقارنة بالتطبيقات النتيف لكن ما يميزها هو أنك ستقوم بكتابة الأكواد مرة واحدة للمنصتين بعكس التطبيقات ال native بالنسبة لتطبيقات الويب ستعمل من خلال سيرفر و يتم عملها من خلال المتصفح لا أدري إن كان هذا سؤالك إن كان لا الرجاء توضيح ماذا تقصد
  14. مرحبا هذا كود البرنامج بدون إستعمال virtual pure // Example program #include <iostream> using namespace std; class Base { private: const string name; private: const int age; public: Base(string name_val, int age_val) : name(name_val), age(age_val) {} string get_name() { return this->name; } int get_age() { return this->age; } // نستعمل الكلمة virtual لجعل الدالة virtual pure string get_info() { return "The name is " + this->name + " and the age is " + std::to_string(this->age) + "."; } }; class Derived : public Base { private: string type; public: Derived(string name, int age, string type) : Base(name, age) { this->type = type; } string get_type() { return this->type; } string get_info() { return "The name is: " + this->get_name() + ", the age is: " + std::to_string(this->get_age()) + " and the Type is: " + this->type; } }; int main() { // هنا قمنا بإنشاء instance من الكلاس Base Base b1("Samir Abboud", 24); // هنا قمنا بإنشاء instance من الكلاس Derived Derived d1("Manar", 29, "manager"); // هنا سنقوم باستعمال دوال الكلاس Base cout << "_____ Base Methods _____"; cout << "\nName: " << b1.get_name(); cout << "\nAge: " << b1.get_age(); cout << "\nBase Info: " << b1.get_info(); // هنا سنقوم باستعمال دوال الكلاس Derived cout << "\n_____ Derived Methods _____"; cout << "\nName: " << d1.get_name(); cout << "\nAge: " << d1.get_age(); cout << "\nType: " << d1.get_type(); cout << "\nDerived Info: " << d1.get_info(); // هنا قمنا بإنشاء pointer من الكلاس Base وقمنا بإسناد object من الكلاس Derived Base* b2 = new Derived("Mohamed", 33, "HR"); cout << "\n_____ Second Question _____"; cout << "\nInfo: " << b2->get_info(); return 0; } ويمكنك تجربة الأكواد من هنا و هذا كود البرنامج بإستعمال virtual pure // Example program #include <iostream> using namespace std; class Base { private: const string name; private: const int age; public: Base(string name_val, int age_val) : name(name_val), age(age_val) {} string get_name() { return this->name; } int get_age() { return this->age; } // نستعمل الكلمة virtual لجعل الدالة virtual pure virtual string get_info() { return "The name is " + this->name + " and the age is " + std::to_string(this->age) + "."; } }; class Derived : public Base { private: string type; public: Derived(string name, int age, string type) : Base(name, age) { this->type = type; } string get_type() { return this->type; } string get_info() { return "The name is: " + this->get_name() + ", the age is: " + std::to_string(this->get_age()) + " and the Type is: " + this->type; } }; int main() { // هنا قمنا بإنشاء instance من الكلاس Base Base b1("Samir Abboud", 24); // هنا قمنا بإنشاء instance من الكلاس Derived Derived d1("Manar", 29, "manager"); // هنا سنقوم باستعمال دوال الكلاس Base cout << "_____ Base Methods _____"; cout << "\nName: " << b1.get_name(); cout << "\nAge: " << b1.get_age(); cout << "\nBase Info: " << b1.get_info(); // هنا سنقوم باستعمال دوال الكلاس Derived cout << "\n_____ Derived Methods _____"; cout << "\nName: " << d1.get_name(); cout << "\nAge: " << d1.get_age(); cout << "\nType: " << d1.get_type(); cout << "\nDerived Info: " << d1.get_info(); // هنا قمنا بإنشاء pointer من الكلاس Base وقمنا بإسناد object من الكلاس Derived Base* b2 = new Derived("Mohamed", 33, "HR"); cout << "\n_____ Second Question _____"; cout << "\nInfo: " << b2->get_info(); return 0; } و يمكنك تجربة الأكواد من هنا نفس الكود فقط في تعريف الدالة get_info هناك فرق بالتوفيق
  15. مرحبا يمكن عمل البرنامج بهذا الشكل // هنا قمنا بتضمين حزمة الجافا المسؤولة على المدخلات import java.util.Scanner; public class Main { public static void main(String[] args) { // هنا قمنا بإنشاء كائن من الكلاس scanner Scanner scanner = new Scanner(System.in); // هنا قمنا بإنشاء متغير من نوع int و سنستقبل فيه العدد المدخل int input; // هنا قمنا بعرض رسالة توحي بإدخال رقم من الكيبورد System.out.println("أدخل سعر المنتج !"); // هنا قمنا بعمل حلقة while لتكرار العملية مادام الرقم المدخل موجب while ((input = scanner.nextInt()) > 0) { // هنا قمنا بعرض السعر بعد الخصم و قمنا بعمل فورمات حتى يأخذ فقط رقمين بعد الفاصلة System.out.format("السعر بعد الخصم = %.2f\n", input * 0.8); System.out.println("أدخل منتج آخر !"); } // هنا قمنا بعرض رسالة توحي بإدخال رقم سالب System.out.println("لقد قمت بإخال رقم سالب"); } } يمكنك تجربة البرنامج من هنا ملاحظة: في إدخال الأرقام نحن بإنتظار رقم صحيح أي أنه ان تم ادخال رقم عشري أو نص أو غيره سيتم الخروج من البرنامج و يعطيك إيرور يمكن تلافي هذا المشكل مستقبلا بالتعمق أكثر في اللغة بالتوفيق
  16. مرحبا البرنامج يشمل كيفية جعل الدالة virtual pure و ذلك بإضافة الكلمة virtual في تعريف الدالة في الكلاس الأب فإن كنت تريد جعل الدالة عادية فقط ستحذف الكلمة virtual من تعريف الدالة و في هذه الحالة سيتم إستعمال الدالة الموجودة في الكلاس الأب أما في حالة عندما تكون الدالة virtual يتم إستعمال الدالة الموجودة في الكلاس الإبن أي Derived
  17. مرحبا يمكن عمل البرنامج بلغة جافا بهذا الشكل حيث قمنا أولا بتعريف المصفوفة من نوع int و قمنا بملئها مبدئيا بالعلامات قمنا بإنشاء ثلاث دوال الاولى لحساب المعدل او avg الثانية لمعرفة ال max أعلى علامة و الثالثة لمعرفة ال min أقل علامة import java.util.Arrays; public class Main { public static void main(String[] args) { // هنا قمنا بتعريف مصفوفة وقمنا بملئها مبدئيا بالقيم int[] mark = {98, 77, 57, 45, 75, 67, 81, 48, 62, 88}; System.out.format("AVG = %.2f", avg(mark)); System.out.println("\nMAX = " + max(mark)); System.out.println("MIN = " + min(mark)); } private static double avg(int array[]) { int sum = Arrays.stream(array).sum(); double avg = sum / array.length; return avg; } private static int max(int array[]) { Arrays.sort(array); return array[array.length - 1]; } private static int min(int array[]) { Arrays.sort(array); return array[0]; } } بإمكانك تصفح نتيجة البرنامج من هنا
  18. مرحبا أظن أن كتب التقنية العربية قليلة في العالم العربي راجع لعدة أسباب أهمها : أغلبية المهتمين بالتقنية غير مهتمين بالكتب و يفضلون مقاطع الفيديو بحكم أن مقاطع الفيديو تسهل على المتعلم التركيز و التطبيق و رؤية النتائج أغلبية المهتمين بالتقنية مبتدئين أو متوسطين الخبرة فليس لديهم وقت لكتابة كتاب مع وجود إحتمال أن هذا الكتاب لن يلقى رواج و إحتمال آخر لعدم إكمال الكتاب بحكم أن المجال في تطور و كل يوم تقنية جديدة أغلبية المهتمين بالتقنية يبحثون عن دخل فهل تنتظر من شخص يبحث عن دخل أن يشتري كتاب في حين أنه يستطيع أن يحصل على ما يريد بقراءة مقال على الانترنت أو مشاهدة فيديو يشرح ذلك قراءة كتاب في التقنية باللغة العربية أو الإنجليزية صعب نوعاً ما و حتى تأخذ المعلومة ستبذل جهد كبير
  19. مرحبا هذا السؤال تكملة للسؤال السابق فالحل سيعتمد على البرنامج السابق يمكن عمل البرنامج بهذا الشكل // Example program #include <iostream> using namespace std; class Base { private: const string name; private: const int age; public: Base(string name_val, int age_val) : name(name_val), age(age_val) {} string get_name() { return this->name; } int get_age() { return this->age; } // نستعمل الكلمة virtual لجعل الدالة virtual pure virtual string get_info() { return "The name is " + this->name + " and the age is " + std::to_string(this->age) + "."; } }; class Derived : public Base { private: string type; public: Derived(string name, int age, string type) : Base(name, age) { this->type = type; } string get_type() { return this->type; } string get_info() { return "The name is: " + this->get_name() + ", the age is: " + std::to_string(this->get_age()) + " and the Type is: " + this->type; } }; int main() { // هنا قمنا بإنشاء instance من الكلاس Base Base b1("Samir Abboud", 24); // هنا قمنا بإنشاء instance من الكلاس Derived Derived d1("Manar", 29, "manager"); // هنا سنقوم باستعمال دوال الكلاس Base cout << "_____ Base Methods _____"; cout << "\nName: " << b1.get_name(); cout << "\nAge: " << b1.get_age(); cout << "\nBase Info: " << b1.get_info(); // هنا سنقوم باستعمال دوال الكلاس Derived cout << "\n_____ Derived Methods _____"; cout << "\nName: " << d1.get_name(); cout << "\nAge: " << d1.get_age(); cout << "\nType: " << d1.get_type(); cout << "\nDerived Info: " << d1.get_info(); // هنا قمنا بإنشاء pointer من الكلاس Base وقمنا بإسناد object من الكلاس Derived Base* b2 = new Derived("Mohamed", 33, "HR"); cout << "\n_____ Second Question _____"; cout << "\nInfo: " << b2->get_info(); return 0; } إذا كانت الدالة pure virtual سيتم إستعمال الدالة الموجودة في الكلاس الإبن أما إن كان العكس فسيستعمل الدالة الموجودة في الكلاس الأب الكلاس Base يعتبر أب للكلاس Derived لجعل الدالة pure virtual يتم استعمال الكلمة او ال keyword التالية : ( virtual ) و تضاف الى تعريف الدالة في الكلاس الأب مثال على ذلك لاحظ شكل الدالة get_info في الكلاس Base : // نستعمل الكلمة virtual لجعل الدالة virtual pure virtual string get_info() { return "The name is " + this->name + " and the age is " + std::to_string(this->age) + "."; } يمكنك تصفح أكواد التطبيق و تجربته أونلاين من هنا
  20. مرحبا سأعطيك رأيي بهذا الخصوص فسواء قمت بعمل المشروع على شكل موقع أو على شكل تطبيق هاتف ستحتاج إستضافة و دومين لأنه في كلتا الحالتين ستحتاج إلى لوحة تحكم تدير بها المشروع ( تطبيق هاتف أو تطبيق ويب ) بالنسبة لخدمة البريد الإلكتروني يتم حجزها مع الإستضافة . غالبا الشركات التي تقدم خدمة الإستضافة او ال hosting تقدم دومين مجاني و حتى لو دفعت مقابل الدومين سيكون مبلغ قليل ليس مرتفع إذا كان المشروع عبارة عن تطبيق هاتف ستحتاج لبرمجة واجهة برمجية أو API للربط مع تطبيق الأندرويد أو ال iOS و حتى ترفع تطبيقك على المتجرين تحتاج الى فتح حساب مطور و سيكون بمقابل بالنسبة للإستضافة و الدومين يمكن إعتبار الإستضافة كالبيت الذي تسكن به و الدومين هو عنوان هذا البيت أي من خلاله يمكن الوصول لموقعك بالتوفيق
  21. يمكن عمل البرنامج بهذا الشكل البسيط public class Main { public static void main(String[] args) { int i = 1; int j = 1; while(i <= 10) { System.out.println("Multiplication table of number: " + i); j = 1; while(j <= 10) { System.out.println(i + " X " + j + " = " + (i*j)); j++; } i++; } } } يمكنك الاطلاع على نتيجة البرنامج من هنا يمكنك عمل نفس البرنامج باستعمل حلقة for أو حلقة do while بالتوفيق
  22. مرحبا لغة جافا متشعبة كثيرا يمكنك إستعمالها لبناء console application و يمكنك أيضا إستخدامها في برمجة GUI أي Graphical User Interface باستخدام مكتبة swing أو عن طريق JavaFX يمكنك أيضا ربط التطبيق بإستخدام قاعدة بيانات بحيث تستطيع حفظ و تعديل و قراءة و حذف البيانات مثلا يمكنك بناء برنامج للمخازن و العملاء و الموردين و المنتجات و ما إلى ذلك يمكنك أيضا إستعمال لغة جافا لبناء مواقع و تطبيقات ويب عن طريق أطر العمل الخاصة بها و أشهرها Spring boot جافا أيضا يتم إستعمالها لبرمجة تطبيقات الأندرويد عبر منصة أندرويد ستوديو تدخل جافا أيضا في الشبكات و البرمجيات المدمجة كما تلاحظ فهي متعددة الإستخدام و المجالات فقط حدد المجال الذي تريد تعلمه و ابحث عنه في اليوتيوب (إن كنت تريد شيء مجاني) أو بإمكانك الحصول على دورة مدفوعة من Udemy نصيحتي لك لا تنتظر من شخص أن يعلمك كل شيء ضع فكرة أو برنامج في رأسك و حاول أن تقوم بتنفيذها و أبدأ أولا بفكرة بسيطة ثم قم بتوسيعها على سبيل المثال أنت الآن تعلمت أساسيات لغة جافا لنقل أنك فكرت في الفكرة التالية : بناء برنامج بسيط عند تشغيله يعرضلك نافذة عبارة عن نافذة لتسجيل الدخول أنت الآن تملك فقط أساسيات لغة جافا قم بعمل Java console application تقوم بالتالي : تطلب من المستخدم : اسم المستخدم عندما يقوم المستخدم بإدخاله تقوم بحفظه في متغير ثم تطلب منه كلمة السر و تقوم بحفظها في متغير جديد بعدها تقوم بالبحث عن المدخلات في جدول users يحتوي على بيانات مستخدمين قمت بتعريفها مسبقا إن وجدت المدخلات ضمن الجدول تعرضله رسالة أنه تم تسجيل الدخول إذا وجدت العكس تعرضله رسالة أخرى و لتكن أن البيانات التي أدخلتها غير موجودة ... لاحظ أن هذا البرنامج بسيط و لن تحتاج فيه غير أساسيات لغة الجافا و سيتم تنفيذه عبر الكونسول لكنه سيرسخ لك المعلومات و الأساسيات التي تعلمتها 2. بعدها تعلم مكتبة swing أو JavaFX ستمكنك من بناء نوافذ و إضافة أزرار الى النافذة و عدد من الأدوات الخاصة بالتفاعل مع ال user بعد تعلمها قم بتوسيع الفكرة أعلاه و قم ببناء واجهة لتسجيل الدخول 3. أنت الآن فقط تستعمل جداول لغة جافا قم بتعلم قواعد البيانات و كيفية دمجها مع البرامج و عند تعلمها قم بتوسيع الفكرة أعلاه لربط الواجهة بقاعدة بيانات و هكذا أنت في كل مرة تزيد من معلوماتك و تكتسب خبرة بتطبيقها أنا فقط أعطيتك مثال عن فكرة بسيطة بإمكانك تصور فكرة غيرها مناسبة لك لكن حاول أن تكون الفكرة في بادئ الأمر بسيطة حتى تستطيع تنفيذها و بالتوفيق
  23. مرحباً بك، البرنامج المطلوب يتمحور حول البرمجة الكائنية التوجه او ( OOP Object-oriented programming) بلغة سي بلس بلس و يشمل على مفهوم الكلاس و الوراثة (inheritance) إضافة الى إعادة التعريف أو ما يسمى بال overriding الكلاس الأساسي إسمه Base و يحتوي على حقلين ثابتين أحدهما من النوع string و الآخر من نوع integer و يكون الوصول إليهما من النوع الخاص (private) إضافة إلى دالتين getters لجلب قيمة هاتين الحقلين و دالة ثالثة لطباعة القيم و أيضا دالة ال constructor أما الجزء الثاني فينص على كتابة كلاس إسمه Derived يرث الكلاس الأول و يحتوي على حقل من نوع string و يكون الوصول إليه من النوع الخاص (private) إضافة إلى دالة getter لجلب قيمته و يقوم بإعادة تعريف الدالة get_info و أيضا يحتوي على دالة ال constructor و هذا مثال بسيط للتطبيق // Example program #include <iostream> using namespace std; class Base { private: const string name; private: const int age; public: Base(string name_val, int age_val) : name(name_val), age(age_val) {} string get_name() { return this->name; } int get_age() { return this->age; } string get_info() { return "The name is " + this->name + " and the age is " + std::to_string(this->age) + "."; } }; class Derived : public Base { private: string type; public: Derived(string name, int age, string type) : Base(name, age) { this->type = type; } string get_type() { return this->type; } string get_info() { return "The name is: " + this->get_name() + "\nThe age is: " + std::to_string(this->get_age()) + "\nThe Type is: " + this->type; } }; int main() { Base b1("Samir Abboud", 24); cout << "Base Info: " << b1.get_info(); Derived d1("Manar", 29, "manager"); cout << "\nDerived Info: \n" << d1.get_info(); return 0; } يمكنك أيضا تصفح أكواد التطبيق و تجربته أونلاين من هنا كما يمكنك كتابة أكواد c++ و مشاركتها أونلاين من هنا بالتوفيق
  24. مرحبا لإنشاء قاعدة بيانات MySQL يجب عليك أولا تثبيتها على جهازك و هناك طريقتين إما تنزيل ملف التثبيت من الموقع الخاص بال MySQL أو تثبيت حزمة أو برنامج XAMPP الذي يأتي معه Apache server و MySQL بالإضافة إلى لغة PHP و ال Perl يمكنك مشاهدة هذا الفيديو التوضيحي لكيفية التنصيب من هنا بعد التنصيب بإمكانك إنشاء قاعدة بيانات بسهولة و تستطيع الإنشاء إما عن طريق cmd أو عن طريق ال phpmyadmin بالتوفيق
  25. مرحبا أولا وجب تعريف قاعدة البيانات بشكل بسيط جدًا يمكن تعريف قاعدة البيانات على أنها طريقة منظمة لتخزين مجموعة من المعلومات معًا ، وبالتالي فإن مصطلح قاعدة البيانات يشير إلى كيفية وضع المعلومة أو عدة معلومات في صورة مرتبة منسقة يسهل التعامل معها بعدذلك . ثانياً ماهي SQL يرمز المصطلح SQL إلى الكلمات Structured Query Language وهى عبارة عن لغة تستخدم في معالجة البيانات المخزنة في نظم إدارة قواعد البيانات العلائقية أو فيما يعرف ب RDBMS أو Relational Database Management System . يمكن أن تُستخدم SQL لكي تعمل مع أنظمة إدارة قواعد بيانات مختلفة مثل MySQL ، mSQL ، PostgresSQL و غيرها من الأنظمة ك Oracle ... لذلك ف MySQL يعتبر كغيره من أنظمة إدارة قواعد البيانات العلائقية و هذا النوع من قواعد البيانات يستعمل الجداول لتخزين البيانات و هذه الجداول تكون مربوطة مع بعضها البعض بصورة معينة لهذا سميت بهذا الإسم و ببساطة شديدة يمكن أن نقول أن قاعدة البيانات هي الجداول التي تحوي البيانات لغة SQL هي الطريقة التي نخاطب بها هذه الجداول أما MySQL و غيره من الأنظمة التي ذكرناها هو المدير الذي يشرف على هذه الجداول و يقوم بتنفيذ الإستعلامات بالتوفيق
×
×
  • أضف...