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

Talaat Magdy

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

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

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

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

    1

آخر يوم ربح فيه Talaat Magdy هو أغسطس 6 2018

Talaat Magdy حاصل على أكثر محتوى إعجابًا!

1 متابع

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات Talaat Magdy

عضو نشيط

عضو نشيط (3/3)

54

السمعة بالموقع

7

إجابات الأسئلة

  1. أسهل و أسرع طريقة هي استخدم https://videosdk.live/ توفير مكالمة فيديو مضمنة في SDK تم إنشاؤه مسبقًا وإضافة مكالمات فيديو على موقع الويب والتطبيق الخاص بك باستخدام بضعة أسطر من التعليمات البرمجية ولا شيء يمكن أن يكون أبسط من تجربة دردشة الفيديو الأفضل مع 10 أسطر فقط من التعليمات البرمجية. يتيح إجراء مكالمات الفيديو المضمنة الفرصة لدمج SDK للاتصال في الوقت الفعلي دون كتابة تعليمات برمجية صريحة. وهو يدعم جميع أطر جافا سكريبت الحديثة مثل React JS, Vue, and Angular including Vanilla JS. 10000 دقيقة مجانية كل شهر كود منخفض تمامًا وبدون خادم. Video API مع تدفقات الصوت والفيديو والبيانات في الوقت الحقيقي أكثر من 5000 مشارك يدعمون دعم الدردشة مع الوسائط الغنية. مشاركة الشاشة بجودة HD و Full HD. تشغيل الفيديو في الوقت الحقيقي في الاجتماع قم بتوصيله بوسائل التواصل الاجتماعي مثل Facebook و Youtube وغيرها (دعم RTMP خارج). مفتاح مكبر الصوت الذكي سجل اجتماعاتك على السحابة دعم داخلي للسبورة البيضاء والاستطلاع والأسئلة والأجوبة. تخصيص واجهة المستخدم حسب احتياجاتك. الخطوات دخول إلي https://app.videosdk.live/ وتسجيل فيه ثم نضغط علي Generate an API key and Secret 3.قم باستيراد البرنامج النصي في صفحة html الخاصة بك <script src="https://sdk.videosdk.live/rtc-js-prebuilt/0.1.21/rtc-js-prebuilt.js"></script> أو يمكنك استخدام Npm package: rtc-js-prebuilt 4.قم بتضمين كود جافا سكريبت الذي تم إنشاؤه مسبقًا لمكالمات الفيديو في صفحة HTML الخاصة بك <script> var script = document.createElement("script"); script.type = "text/javascript"; script.addEventListener("load", function (event) { const meeting = new VideoSDKMeeting(); const config = { name: "John Doe", apiKey: "<API KEY>", // generated in Setup meetingId: "milkyway", // enter your meeting id containerId: null, redirectOnLeave: "https://www.videosdk.live/", micEnabled: true, webcamEnabled: true, participantCanToggleSelfWebcam: true, participantCanToggleSelfMic: true, chatEnabled: true, screenShareEnabled: true, pollEnabled: true, whiteBoardEnabled: true, raiseHandEnabled: true, recordingEnabled: true, recordingWebhookUrl: "https://www.videosdk.live/callback", participantCanToggleRecording: true, brandingEnabled: true, brandLogoURL: "https://picsum.photos/200", brandName: "Awesome startup", poweredBy: true, participantCanLeave: true, // if false, leave button won't be visible // Live stream meeting to youtube livestream: { autoStart: true, outputs: [ // { // url: "rtmp://x.rtmp.youtube.com/live2", // streamKey: "<STREAM KEY FROM YOUTUBE>", // }, ], }, whiteboardEnabled: true, permissions: { askToJoin: false, // Ask joined participants for entry in meeting toggleParticipantMic: true, // Can toggle other participant's mic toggleParticipantWebcam: true, // Can toggle other participant's webcam drawOnWhiteboard: true, toggleWhiteboard: true, }, joinScreen: { visible: true, // Show the join screen ? title: "Daily scrum", // Meeting title meetingUrl: window.location.href, // Meeting joining url }, }; meeting.init(config); }); script.src = "https://sdk.videosdk.live/rtc-js-prebuilt/0.1.21/rtc-js-prebuilt.js"; document.getElementsByTagName("head")[0].appendChild(script); </script> 5. قم بتغير هذا السطر apiKey: "<API-KEY>" الي API KEY الخاص بك يمكنك قراءة المزيد في الموقع الرسمي .
  2. أي شئ لا يعتمد على القراءة أو مشاهدة فقط لابد من الممارسة أكتر واكتر . فمثلا ممكن تاخد بعض notes لكي تقوم بالمراجعة السريعة . أيضا لابد أن تفهم لا يجب عليك تذكر كل شئ يجيب عليك فهم اشياء اكتر من حفظها . بعد مجموعة من الفيديوهات تقوم بعمل مشروع صغير لتذكر ما تم تدريسها هكذا كل فترة . لا تستعجل النتيجة الفورية عليك باستمرار و القدوم نحو الدروس الجديدة مع أخذ notes وقراءتها عند الحاجه اليها . عليك التوقف والاعادة مرة أخرى إذا لم تستطيع فهم الفيديو أو شرحه . مثلا تبدأ بمشاهدة الفيديوهات ثم التطبيق عليها في نفس الوقت ثم في آخر الأسبوع تقوم بعمل مشروع صغير للأشياء التي فهمتها و شاهدتها
  3. ممكن أن تقوم بمشاركة الكود الخاص بك لمساعدتك بطريقة فاعله ؟
  4. هل تقوم بإستخدام flask gunicorn ام شئ اخر ؟ هل يمكنك كتابة اﻷمر بالكامل المسئول عن تشتغل الخادم
  5. لنفترض ان لديك ملف file.py وتريد معرفته يمكنك عن طريق تحويل اسم ملف الي string و تقسيم اسم الي جزئين مثلا 1 --> file 2 --> py 1- يمكنك بكل سهوله فعل ذلك عن طريق file_name = "file.py" file_name = filename.split(".") extension = file_name[-1] # py print(extension) # py 2- أو عن طريق استخدام os.path.splitext --> تساعدك في تقسيم الاسم إلي جزئين هي مخصصه لتعامل مع file import os filename, file_extension = os.path.splitext('/path/to/somefile.ext') print(filename) # '/path/to/somefile' print(file_extension) # '.ext' في تعامل مع File أفضل استخدام os.path.splitext وليس split الخاصه ب string بعد اﻷمثله لماذا أفضل استخدام splittext "png".split(".")[-1] 'png' # But file doesn't have an extension - هنا لايوجد أي extension هذا شئ غير صحيح أفضل استخدام splitext لانها تعتمد علي os module 3- حلول أخري استخدام - pathlib - re
  6. لدينا العديد من طرق باستخدام loop و بدون استخدام اي method test_list = [1, 3, 5, 6, 3, 5, 6, 1] print ("The original list is : " + str(test_list)) res = [] for i in test_list: if i not in res: # list غير موجود داخل item لو res.append(i) # printing list after removal print ("The list after removing duplicates : " + str(res)) Output : The original list is : [1, 3, 5, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 3, 5, 6] هذه طريقة سهله و يمكن تنفيذ بدون معرفة مسبقة باستخدام set الفرق اﻷساسي بين list و set هو أن set لا تقبل أشياء مكرره # initializing list test_list = [1, 5, 3, 6, 3, 5, 6, 1] print ("The original list is : " + str(test_list)) # using set() # to remove duplicated # from list test_list = list(set(test_list)) print ("The list after removing duplicates : " + str(test_list)) Output : The original list is : [1, 5, 3, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 3, 5, 6] مع python 3 جاءت بما يسمي list comprehension test_list = [1, 3, 5, 6, 3, 5, 6, 1] print ("The original list is : " + str(test_list)) # using list comprehension res = [] [res.append(x) for x in test_list if x not in res] # printing list after removal print ("The list after removing duplicates : " + str(res)) Output : The original list is : [1, 3, 5, 6, 3, 5, 6, 1] The list after removing duplicates : [1, 3, 5, 6] أذا قمت بالملاحظه ستجد أنه نفس طريقة الاول لكن بكود أفضل و أقل يمكنن أيضا استخدام Using collections.OrderedDict.fromkeys
  7. لابد من تسطيب مكتبة json أولا gem install json ثم كتابة الكود require 'json' file = File.read('./file-name-to-be-read.json')# قراءة file data_hash = JSON.parse(file) # Hash تحويل إلي # نفترض أن هذا شكل file # { # "author":"Isaac Asimov", # "url":"https://isaacbooks.com", # "books": # { # "1":"Fantastic Voyage", # "2":"The Robots of Dawn", # "3": "Pebble In The Sky" # } # } puts data_hash['author'] # => author
  8. مرحبا يوجد العديد فى Youtube مثلا شرح unity تطبيق لعبة من البداية ممكن تقوم بعمل بحث بسيط https://www.youtube.com/results?search_query=c%23+unity+شرح
  9. مرحبا يمكنك فعل ذلك بالعديد من الطرق مثلا باستخدام الدالة sort names = ['Ali', 'ahmad', 'Mohammad', 'malik'] names.sort() print(names) هذا الكود صحيح ولكن لان يوجود حروف capital و small تكون اﻷولية للحروف capital . لان ترتيب A هو 065 أما a 097 يمكنك زيارة هذا رابط لمعرفة ذلك http://sticksandstones.kstrom.com/appen.html باستخدام الدالة sort ولكن جعل حروف أما capital أو small names = ['Ali', 'ahmad', 'Mohammad', 'malik'] names.sort(key= str.lower) print(names) # ['ahmad', 'Ali', 'malik', 'Mohammad'] names.sort(key= str.upper) print(names) # ['ahmad', 'Ali', 'malik', 'Mohammad'] sort باستخدام lambda و lower أو upper names = ['Ali', 'ahmad', 'Mohammad', 'malik'] names.sort(key=lambda y: y.lower()) print(names) # ['ahmad', 'Ali', 'malik', 'Mohammad'] names = ['Ali', 'ahmad', 'Mohammad', 'malik'] names.sort(key=lambda y: y.upper()) print(names) # ['ahmad', 'Ali', 'malik', 'Mohammad'] sorted عن طريق lower أو upper names = ['Ali', 'ahmad', 'Mohammad', 'malik'] sorted_list = sorted(names, key=lambda s: s.lower()) print(sorted_list) # ['ahmad', 'Ali', 'malik', 'Mohammad'] sorted_list = sorted(names, key=lambda s: s.upper()) print(sorted_list) # ['ahmad', 'Ali', 'malik', 'Mohammad'] sorted باستخدام casefold يمكنك معرفة المزيد من هنا https://docs.python.org/3/library/stdtypes.html#str.casefold names = ['Ali', 'ahmad', 'Mohammad', 'malik'] sorted_list = sorted(names, key=str.casefold) print(sorted_list) # ['ahmad', 'Ali', 'malik', 'Mohammad']
  10. مرحبا @عبدالقادر بامدحج مشكلة في ملفات قديمة بعد الشئ . أفضل أن تقوم بقراءة ملفات اضافات اشياء جديدة فقط خطوه بخطوه سوف يتاح لك تعلم الكثير . مثلا لا تريد استبدال كل ملف GEMFILE تريد إضافة Bootstrap فقط وهكذا
  11. مرحبا @عبدالقادر بامدحج هذه مشكله في درس الحالي يمكنك محاولة مره اخري ويمكنك ارسال المشروع قبل تنفيذ هذه الخطوات اذا لم تستطيع حل مشكلة . أريد مشروع قديم قبل تنفيذ هذا الدرس إذ١ لم تسطيع تنفيذ هذه الخطوات
  12. مرحبا @عبدالقادر بامدحج هل هي مشكله بعد تحديث الإصدار أم كانت موجوده قبل ذلك أو لم تلاحظها قبل ذلك ؟
  13. مرحبا @عبدالقادر بامدحج يمكن حل مشكلة عن طريق تغير الإصدار gem 'bootstrap-sass', '~> 3.2.0.0' ثم bundle install
  14. مرحبا @عبدالقادر بامدحج هذا مشكله في هذا اﻷصدار من rails و تم تصحليه في أصدار السابقة يمكنك حل هذه المشكلة عن طريق تغير الإصدار الخاص ب rails gem 'rails', '~> 5.2.4' ثم تنفيذ اﻷمر bundle update rails
  15. مرحبا @عبدالقادر بامدحج يمكنك أضافة هذا سطر داخل config/application.rb إذا لم يحتوي علي هذه سطر require "active_storage/engine" ثم bin/rails activestorage:install أن لم تعمل معك يمكنك إضافة مشروع الخاص بك
×
×
  • أضف...