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

لوحة المتصدرين

  1. عزام عبد الحافظ

    • نقاط

      2

    • المساهمات

      667


  2. محمد الملواني

    محمد الملواني

    الأعضاء


    • نقاط

      2

    • المساهمات

      69


  3. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      2

    • المساهمات

      6975


  4. عبد الحكيم طبة

    • نقاط

      1

    • المساهمات

      49


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 12/14/20 في كل الموقع

  1. اكتبي دالة تقبل رقم واحد و تطبع اذا كان الرقم زوجي او فردي و موجب أول سالب ممكن حل السؤال
    1 نقطة
  2. ما المقصود ب : Data Serialization deserialization في لغة بايثون و يا ريت بأمثلة
    1 نقطة
  3. مرحبا فايز، المحتوى كخدمة أو محتوى مُدار كخدمة هو نموذج موجه نحو الخدمة ، حيث يقوم مزود الخدمة بتسليم المحتوى عند الطلب إلى مستهلك الخدمة عبر خدمات الويب المرخصة بموجب الاشتراك. الامتثال كخدمة (CaaS) عبارة عن اتفاقية مستوى الخدمة السحابية (SLA) أي service level agreement التي تحدد كيف سيساعد مزود الخدمة المُدارة (MSP) أي managed service provider المؤسسة على تلبية متطلبات الامتثال التنظيمي الخاصة بها. وهو إطار عمل يمكّن الشركات من الاستعانة بمصادر خارجية للأدوار والأرقام والمهارات اللازمة لتنفيذ الامتثال والحفاظ عليه ، لتسهيل وتبسيط الالتزام بالمتطلبات التنظيمية. وهي قيام الشركة بالالتزامم بالاتفاقيات القانونية و المالية. يؤثر هذا على كيفية عمل أنظمة الأمن الفرعية وكيفية تتبع المعلومات حول تفسير الحكومة أو الولايات القانونية يمكن للمزود تقديم نوع من التشفير الذي أصبح الآن تفويضًا حكوميًا أو معاملات سجل بطرق محددة للوفاء بنص القانون بالتوفيق
    1 نقطة
  4. مرحبا، نقوم بإنشاء API لتطبيقنا، بحيث نوفر طرق خاصة بالاستعلام عن البيانات و إضافتها إنما باستخدام شيفرات برمجية بلغة مثل PHP لإدارة الطلبيات و معاجلة البيانات قبل إعادة إرسالها للعميل. بما أنه لديك خبرة في برمجة الويب، إن أي شيفرة برمجية كنت قد كتبتها فهي لا تقتصر على البيانات الخام إنما تحوي على خليط من عدة لغات برمجة سوية و تحوي على التصميم مضمن معهم. أي PHP + HTML + CSS. لكننا سنعاني من مشاكل عند محاولة ربط تطبيق الويب الخاص بنا مع أي طرفية أخرى (خدمة - موقع - تطبيق هاتف) حيث عند طلب أي ملف، سوف يرسل المخدم صفحة ويب كاملة وهذا يمثل مشكلة من حيث كيف لنا أن نفصل البيانات و نستخلصها و من ثم نعود لعرضها في جزء العرض الجديد المخصص لها. إن عمل API تقوم بفصل التصميم عن البيانات، بحيث نستطيع عرض نفس البيانات في أماكن مختلفة بتصاميم مختلفة (شكل العرض) ما يعطي سهولة في التعامل معها. ويمكننا حتى في نفس التطبيق فصل التصميم عن البيانات بعمل ملف (سكربت خاص بالاستعلام عن بيانات محددة) ونتصل به من ملف التصميم HTML. تسمح API بتوسيع التطبيق و تعديله بسهولة أكبر نسبيا من وجود جميع الشيفرات البرمجية في نفس الملف (الحشو) حيث كانت الصفحة الواحدة تحوي على خليط من عدة لغات برمجة، من استعلام قواعد البيانات إلى حشوها في عناصر HTML.. ما يعطي شيفرة برمجية غير منسقة و صعبة الفهم و التعديل و التطوير، وهذا يخالف مفاهيم و مبادئ تطوير البرمجيات. إن تعلمك لمفهوم MVC هو إضافة ممتازة أيضا يمكنك قراءة تعليقي من هنا طبعا لاتقتصر على شرح واحد يوجد العديد من التفاصيل. بالتوفيق
    1 نقطة
  5. السلام عليكم API ينقسم لشقين أساسيين Server = خادم Client = عميل لكل منهم دور لابد من إتقانه لإنك تحتاج ان تعلم كيف يعمل الخادم لكي يستطيع العميل التواصل معه مثال السيرفر def update_username if params[:new_username].present? && params[:old_username].present? User.where(username: params[:old_username]).update(username: params[:new_username]) end end العميل url: www.somesite.com?old_username=ahmed&new_username=khaled هنا في هذا المثال البسيط السيرفر يتأكد من توافر عاملين وهما اسم المستخدم القديم واسم المستخدم الجديد ليقوم بتحديث بيانات المستخدم وفي الرابط تم ارسال العاملين والقيم اسم مستخدم قديم احمد واسم مستخدم جديد خالد كان هذا ابسط مثال على API والشرح يطول إطرح اسئلتك اجيبك عليها بإذن الله
    1 نقطة
  6. لا ليست طريقة قانونية،يجب ان تكون الفيديوهات من انشاءك ليتم مراجعة قناتك والموافقة عليها من قبل ادارة يوتيوب حتى تستطيع الحصول على ربح.
    1 نقطة
  7. مرحبًا @Sami Remili, Data Serialization تعني تسلسل البيانات هو مفهوم تحويل البيانات إلى تنسيق يسمح بمشاركتها أو تخزينها بطريقة يمكن من خلالها استرداد هيكلها الأصلي. في بعض الحالات ، يكون الهدف من هذا الغرض هو تقليل حجم البيانات مما يقلل من مساحة القرص . و deserialization تعني إعادة البيانات الى وضعها الأصلي . في لغة البرمحة بايثون هنالك مكتبة تُدعى pickle يمكنك من خلالها عمل Data Serialization و deserialization . مثال: import pickle # استيراد الحزمة students = { 'Ahmad': 89, 'Ali': 72, 'Mohammad': 87 } #بيانات الطلاب serial_students = pickle.dumps(students) #students على Data Serialization نقوم بعمل dumps بإستعمال الدلة #serial_students يمكنك الآن العمل بنتيجة المشفرة التي توجد داخل print(serial_students) #اذا قمت بطباعة النتيجة ستجد نتيجة مثل هذه #b'\x80\x04\x95$\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x05Ahmad\x94KY\x8c\x03Ali\x94KH\x8c\x08Mohammad\x94KWu.' #للبيانات deserialize حتى نقوم بعمل loads نستعمل الدلة received_students = pickle.loads(serial_students) print(received_students) #{'Ahmad': 89, 'Ali': 72, 'Mohammad': 87} # النتيجة
    1 نقطة
  8. شرح جميل لكن مطول نوعا ما.. ! مشكور.
    1 نقطة
  9. #include <iostream> using namespace std; int main() { unsigned int n; // اعطاء التطبيق امكانية ادخال عدد متغير من الطلاب std::cout << "Enter number of Students: "; // طلب ادخال عدد الطلاب std::cin >> n; // استقبال عدد الطلاب double** array_result = new double*[n]; // مصفوفة احادية لدرجات الطلاب string** array_names = new string*[n];// مصفوفة احادية لاسماء الطلاب int totalres = 0; // اضافة متغير لحساب اجمالي الدرجات int largest ; // متغير للحصول على اكبر درجة int largest_st ; // رقم الطالب صاحب اكبر درج int lowest ; // متغير للحصول على اصغر درج int lowest_st ; // رقم الطالب الحاصل على اصغر درجه int nine_st = 0 ; // متغير حساب الطلبه الحاصلين على درجة 90 int faild_st = 0; // متغير حساب عدد الطلبة الراسبين for (int i = 1; i <= n; ++i) // حلقة انشاء المصفوفات على حسب عدد الطلاب { array_names[i] = new string[1]; // انشاء مصفوفة الاسماء for (int j = 0; j < 1; ++j) { string name; std::cout << "Please Enter the name of Student : " ; // تم تعديل الرساله هنا لتناسب الشاشه الخاصه بك std::getline(std::cin >> std::ws, name); // getline تم اضافتها لتفادي اخطاء الاسماء مع المسافات مثل abd el rahman std::ws لتفادي المسافات array_names[i][j] = name; } array_result[i] = new double[1];// انشاء مصفوفة الدرجات for (int j = 0; j < 1; ++j) { int element; std::cout << "Please Enter the mark of Student " << array_names[i][0] << " : "; // تم تعديل الرساله هنا لتناسب الشاشه الخاصه std::cin >> element; array_result[i][j] = element; } } // ملحوظه المصفوفه تبدا برقم 1 // تحديد قيمة اعلى درجة باول درجة في المصفوفه largest = array_result[1][0]; // تحديد الطالب صاحب النتيحه largest_st = 1; // تحديد قيمة اقل درجة باول درجة في المصفوفه lowest = array_result[1][0]; // تحديد الطالب صاحب النتيحه lowest_st = 1; std::cout << "\n" << string(60, '='); // فاصل ديكوري =========== std::cout << "\n" << string(12, ' ') << " Student " << string(24, ' ') << " Marks " ; // راس جدول النتيجه for (int i = 1; i <= n; ++i) // الحصول على اجمالي الدرجات { //20 character for name formating 20 حرف لتجميل تساوي الاسماء int emptyspace = 20 - array_names[i][0].length(); std::cout << "\n" << string(emptyspace, ' ') << array_names[i][0] << string(28, ' ') << array_result[i][0] ; totalres = totalres + array_result[i][0] ; // جمع درجات الطلاب // مقارنة بين درجات الطلاب اذا وجدت درجه اكبر يتم حفظها في القيمة الاكبر if(largest < array_result[i][0]) { // تعيين اعلى نتيجه و رقم الطالب largest = array_result[i][0]; largest_st = i; } // عكس عملية المقارنة بالاصغر if(lowest > array_result[i][0]) { // تعين اقل درجة و تعين رقم الطالب الاقل lowest = array_result[i][0]; lowest_st = i; } // حساب عدد الحاصلين على 90 if (array_result[i][0] == 90){ nine_st ++; } // حساب عدد الراسبين if (array_result[i][0] < 50){ faild_st ++; } } std::cout << "\n" << string(60, '='); // فاصل ديكوري =========== // خارج حلقة الجمع نظهر نتيجة الاجماليات std::cout << "\n Sum = " << string(40, ' ') << totalres ; // حساب متوسط النتائج يكون عباره عن مجموع الدرجات مقسوم على عدد الطلاب std::cout << "\n Average = " << string(36, ' ') << totalres / n ; std::cout << "\n Max = " << string(41, ' ') << largest << string(10 , ' ') << " By Student " << array_names[largest_st][0] ; std::cout << "\n Min = " << string(41, ' ') << lowest << string(10 , ' ') << " By Student " << array_names[lowest_st][0] ; std::cout << "\n No. of Std. Have 90 " << string(27, ' ') << nine_st ; std::cout << "\n No. of Std. Who Fails "<< string(25, ' ') << faild_st ; return 0; النتيجة : لاستخدام عدد ثابت اتبع الكود التالي #include <iostream> using namespace std; int main() { unsigned int n = 4 ; // عدد ثابت من الطلاب double** array_result = new double*[n]; // مصفوفة احادية لدرجات الطلاب string** array_names = new string*[n];// مصفوفة احادية لاسماء الطلاب int totalres = 0; // اضافة متغير لحساب اجمالي الدرجات int largest ; // متغير للحصول على اكبر درجة int largest_st ; // رقم الطالب صاحب اكبر درج int lowest ; // متغير للحصول على اصغر درج int lowest_st ; // رقم الطالب الحاصل على اصغر درجه int nine_st = 0 ; // متغير حساب الطلبه الحاصلين على درجة 90 int faild_st = 0; // متغير حساب عدد الطلبة الراسبين for (int i = 1; i <= n; ++i) // حلقة انشاء المصفوفات على حسب عدد الطلاب { array_names[i] = new string[1]; // انشاء مصفوفة الاسماء for (int j = 0; j < 1; ++j) { string name; std::cout << "Please Enter the name of Student : " ; // تم تعديل الرساله هنا لتناسب الشاشه الخاصه بك std::getline(std::cin >> std::ws, name); // getline تم اضافتها لتفادي اخطاء الاسماء مع المسافات مثل abd el rahman std::ws لتفادي المسافات array_names[i][j] = name; } array_result[i] = new double[1];// انشاء مصفوفة الدرجات for (int j = 0; j < 1; ++j) { int element; std::cout << "Please Enter the mark of Student " << array_names[i][0] << " : "; // تم تعديل الرساله هنا لتناسب الشاشه الخاصه std::cin >> element; array_result[i][j] = element; } } // ملحوظه المصفوفه تبدا برقم 1 // تحديد قيمة اعلى درجة باول درجة في المصفوفه largest = array_result[1][0]; // تحديد الطالب صاحب النتيحه largest_st = 1; // تحديد قيمة اقل درجة باول درجة في المصفوفه lowest = array_result[1][0]; // تحديد الطالب صاحب النتيحه lowest_st = 1; std::cout << "\n" << string(60, '='); // فاصل ديكوري =========== std::cout << "\n" << string(12, ' ') << " Student " << string(24, ' ') << " Marks " ; // راس جدول النتيجه for (int i = 1; i <= n; ++i) // الحصول على اجمالي الدرجات { //20 character for name formating 20 حرف لتجميل تساوي الاسماء int emptyspace = 20 - array_names[i][0].length(); std::cout << "\n" << string(emptyspace, ' ') << array_names[i][0] << string(28, ' ') << array_result[i][0] ; totalres = totalres + array_result[i][0] ; // جمع درجات الطلاب // مقارنة بين درجات الطلاب اذا وجدت درجه اكبر يتم حفظها في القيمة الاكبر if(largest < array_result[i][0]) { // تعيين اعلى نتيجه و رقم الطالب largest = array_result[i][0]; largest_st = i; } // عكس عملية المقارنة بالاصغر if(lowest > array_result[i][0]) { // تعين اقل درجة و تعين رقم الطالب الاقل lowest = array_result[i][0]; lowest_st = i; } // حساب عدد الحاصلين على 90 if (array_result[i][0] == 90){ nine_st ++; } // حساب عدد الراسبين if (array_result[i][0] < 50){ faild_st ++; } } std::cout << "\n" << string(60, '='); // فاصل ديكوري =========== // خارج حلقة الجمع نظهر نتيجة الاجماليات std::cout << "\n Sum = " << string(40, ' ') << totalres ; // حساب متوسط النتائج يكون عباره عن مجموع الدرجات مقسوم على عدد الطلاب std::cout << "\n Average = " << string(36, ' ') << totalres / n ; std::cout << "\n Max = " << string(41, ' ') << largest << string(10 , ' ') ; std::cout << "\n Min = " << string(41, ' ') << lowest << string(10 , ' ') ; std::cout << "\n No. of Std. Have 90 " << string(27, ' ') << nine_st ; std::cout << "\n No. of Std. Who Fails "<< string(25, ' ') << faild_st ; return 0; } النتيجة : Please Enter the name of Student : Mohamed Please Enter the mark of Student Mohamed : 90 Please Enter the name of Student : Ali Please Enter the mark of Student Ali : 70 Please Enter the name of Student : Fares Please Enter the mark of Student Fares : 30 Please Enter the name of Student : Mahmod Please Enter the mark of Student Mahmod : 80 ============================================================ Student Marks Mohamed 90 Ali 70 Fares 30 Mahmod 80 ============================================================ Sum = 270 Average = 67 Max = 90 Min = 30 No. of Std. Have 90 1 No. of Std. Who Fails 1
    1 نقطة
  10. وعليكم السلام ورحمة الله وبركاته , مرحبًا @مروان عماد يوسف. في الواقع محرر النصوص sublime لا يدعم اللغات التي هي RTL من اليمين الى اليسار , أي انه لا يدعم اللغة العربية , الأفضل أن تستعمل محرر النصوص Notepad++ , Brackets ولكن يبقى الأفضل في دعم اللغة العربية هو محرر النصوص visual studio code من شركة microsoft . هناك إضافة (plugin) قد تساعد قليلاً , تقوم هذه الإضافة بعرض نسخة معدلة من النص على رسالة عند تحديد النص بلغة العربية و المرور عليه : ليست بطريقة المثالية للعمل على مشروع لكنه الخيار المُتاح في sublime , لتحميل هذه الإضافة , من داخل sublime في القائمة العلوية تذهب الى preferences و من ثم الضغط على Package Control تظهر لديك هذه النافذة , قم بإحتيار Install Package لتحميل إضافة : بعد ذلك تكتُب RTL to Dialog و تضغط للتحميل .
    1 نقطة
  11. مرحبا بك @هيثم سرحان, هنالك عدة برامج تؤدي الوظيفة التي تبحث عنها وهي تغيير الصوت والتعديل على نبرته, ويمكنك إلقاء نظرة على بعض البرامج التالية: مغير الصوت - المؤثرات الصوتية: حيث أنه يوفر العديد من الأصوات منها: صوت الرجل, صوت الطفل, صوت الإمرأة وصوت الروبوت وغيرها من الأصوات ,والبرنامج باللغة العربية, التطبيق مجاني ويعمل على الأندرويد حاصل على اكثر من 91ألف تحميل وتقيمه 4.5 نجمة وهذا جيد جيد, لوجود تطبيقات لديها نفس الاسم فصورة التطبيق موجودة في الأسفل. Best Voice Changer: يحتوي على العديد من الأصوات لتغييرها كما في التطبيق السابق ولكنه يحتوي على ميزة تغيير الصوت للملفات الصوتية المسجلة مسبقاً ويسميها التطبيق المحول السحري, البرنامج يعمل على الأندرويد وهذه صورته في الأسفل. Simple Voice Changer FREE: برنامج مميز حيث أنه يمتلك العشرات من الأصوات ويمكنك التعديل على كل صوت من حيث حدته وعمقه, برنامج ليه 1.2 مليون تحميل وتقيمه 4.3 ويعمل على أجهزة أيفون.
    1 نقطة
  12. لم يسبق لي العمل كمستقل وليست لدي مشاريع قدمتها لغيري من قبل فكيف احصل على اول مشروع لي؟
    1 نقطة
×
×
  • أضف...