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

Wael Aljamal

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

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

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

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

    218

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

  1. إجابة Wael Aljamal سؤال في ترتيب المصفوفة في جافاسكريبت كانت الإجابة المقبولة   
    الشكل المبسط لشيفرة تبديل قيمة عنصرين في جافاسكربت بالشكل التالي:
    let a = 1; let b = 2; [a, b] = [b, a]; // [a, b] = [2, 1] // النتيجة a; // => 2 b; // => 1 هي بسيطة فقط عليك تعويض القيم، بالنسبة لدليل المصفوفة i - j فهو ثابت لا تتغير قيمته
    في الشيفرة لديك:
    let array = [1, 2, 3, 4, 5]; [array[i], array[j]] = [array[j], array[i]]; لنستبدل أول قيمتين:
    let array = [1, 2, 3, 4, 5]; let i = 0; let j = 1; [array[i], array[j]] = [array[j], array[i]]; => [array[0], array[1]] = [array[1], array[0]]; => [array[0], array[1]] = [2, 1]; => array[0] => 2 array[1] => 1 وهكذا يتم تبديل القيمتين بين عنصرين في مصفوفة.
    دليل العنصر ثابت إنما قيمة العنصر ذو الدليل X هي التي تتغير.
    بالنسبة للشيفرة بشكل عام تقوم بخلط عناصر المصفوفة من خلال تبديل العنصر i مع عنصر آخر ذو دليل عشوائي j
  2. إجابة Wael Aljamal سؤال في بطئ فتح فوتوشوب كانت الإجابة المقبولة   
    سنحاول القيام بهذه الخطوات:
    1. اولا نقوم بالذهاب الى edit ثم Preferences ثم General

    2. ثم نقوم باختيار interface و نفوم باختيار None في الثلاث خيارات

    3. نقوم باختيار File handling ثم نقوم باختيار Never Save في Image Previews

    4. في Memory Usage تقوم باختيار 70% من الرامات التي لديك و في History & cache نقوم بالضغط على Tall and Thin و في History States نختار 10 و Cache Levels 2 و في Cache Tile Size 128k 

    5. في Graphics Processor Setting نقو باختيار Advanced Settings و في Drawing Mode نختار Basic

    6. نقوم باختيار Type ثم Front Preview Size و نقوم باختيار None

     
     
    أرجو التأكد من أن أداء الجهاز على أفضل أداء High Performance 
    ربما المعالج لديك من الفئة U فيكون أدائه أفضل عند وصل الكهرباء.
    بشكل عام، يفضل تحديث القرص الصلب وشراء SSD لأنه أسرع بكثير من القرص الحالي (على الأغلب HDD)
  3. إجابة Wael Aljamal سؤال في ما هو الفرق بين vs code  و الاندرويد ستوديو مع برمجة لفلاتر  كانت الإجابة المقبولة   
    إن android studio هو البيئة المتكاملة لبرمجة تطبيقات الأندرويد و فلاتر و توفر للمبرمج جميع الأدوات الضرورية من تحمل المكتبات لتشغيل و تهيئة المحاكي و اقتراح التحديثات في Gradle و الكثير من الميزات.
    لكن أندرويد ستديو يستهلك الكثير من موارد الجهاز، فيميل المطورين لاستخدام vs code بعد تثبيت الإضافات الخاصة ب flutter + Dart وتقريبا توفران معظم الأدوات المساعدة لكن ليس مثل أندرويد استديو.
    أي السبب الرئيسي برأيي هو استخدام  vs code ذاكرة أقل.
  4. إجابة Wael Aljamal سؤال في استخدام سلسلة من القيم لاختيار مجموعة سطور من اطار بيانات فيpandas في البايثون كانت الإجابة المقبولة   
    يمكننا استخدام الطريقة isin كالتالي:
    df[df['A'].isin([3, 6])] وسيكون الناتج حسب مثالك:
    Out[3]: A B 1 6 2 2 3 3 ولجلب المجموعة المتممة نستخدم التعبير ~ :
    df[~df['A'].isin([3, 6])] ___^__ Out[4]: A B 0 5 1 3 4 5 أي أننا نستدعى isin على ال dataFrame ونمرر لها قائمة بالأدلة المطلوب عرضها.
  5. إجابة Wael Aljamal سؤال في تغيير ترتيب الأعمدة ضمن إطار بيانات pandas في البايثون كانت الإجابة المقبولة   
    يمكن من خلال:
    نقوم بعمل reindex لأسماء الأعمدة عن طريق اسناد columns لقائمة:
    df = df.reindex(columns=['mean',0,1,2,3,4]) أو نقوم بحشو حقل لدليل معين مثل جلب الحقل mean ووضعه كأول حقل
    df.insert(0, 'mean', df.mean(1)) أو تمرير مصفوفة الأعمدة لل data Frame:
    df = df[['mean', 4,3,2,1]]  
  6. إجابة Wael Aljamal سؤال في كيف يمكن ان أحصل على قيمة ال ASCII لمحرف كانت الإجابة المقبولة   
    يمكن استعمال الدالة ord لإعادة القيمة الرقمية لمحرف ما:
    c = 'p' print("The ASCII value of '" + c + "' is", ord(c)) والخرج سيكون:
    The ASCII value of 'p' is 112 أي 112.
    للقيام بالعكس (قيمة رقمية لمحرف نستخدم chr:
    مثال شامل:
    >>> ord('a') 97 >>> chr(97) 'a' للتحويل بين محرفين >>> chr(ord('a') + 3) 'd' >>>  
  7. إجابة Wael Aljamal سؤال في أين يتم عمل التطبيق وكتابة لغة البرمجة كانت الإجابة المقبولة   
    يتم كتابة التطبيقات والأكواد على برامج تشبه محررات النصوص، تدعى محررات الأكواد، مثل المفكرة ولكن لها مزايا إضافية و مخصصة للتعرف على لغات البرمجة و إضافة التلوين للكلمات (لتصبح أسعل في القراءة) و اقتراح الدوال و التعليمات و منها يوفر ميزة تشغيل البرنامج.
    أفضل محرر نصوص حاليا متعدد الأغراض مقدم من شركة مايكروسوفت باسم visual studio code واختصارا vs code يمكن تحميله من الرابط التالي: هنا.
    طريقة كتابة لغة البرمجة يختلف باختلاف لغة البرمجة نفسها فيوجد العديد منها ولكل منها طريقة مختلفة مع وجود بعض التشابه بينها.
    للبدء، أقترح عليك تصفح بعد الفيديوهات التعليمية لأخذ بعض الأفكار لكيفية كتابة البرامج وخطوة بخطوة ستتعلم و تبدأ التطور.
    يمكنك قراءة هذه المقالة: تعلم البرمجة
    كما توفر أكاديمية حسوب بعض الكتب يمكنك تحميلها من هنا أنصح بكتاب بايثون
  8. إجابة Wael Aljamal سؤال في كيف ممكن اختار من سلسلة عنصر عشوائي ضمن البايثون كانت الإجابة المقبولة   
    يمكن من خلال استخدام المكتبة random و الدالة choice
    import random foo = ['a', 'b', 'c', 'd', 'e'] print(random.choice(foo)) أو يمكننا يدويا من حساب قيمة عشوائية بحدود طول القائمة و من ثم قراءة العنصر ذو الدليل الموافق:
    import random foo = ['a', 'b', 'c', 'd', 'e'] index = int(random.random() * len(foo)) 0.2 * 5 ==> 1 print foo[index] # b  
  9. إجابة Wael Aljamal سؤال في تمرين عن المصفوفات JavaScript حساب أكبر مجموع جزئي متتالي في مصفوفة كانت الإجابة المقبولة   
    لا داعِ لتشكيل جميع المصفوفات الفرعية و تخزينها في متغير لأن هذا يأخذ ذاكرة بدون داعِ يمكننا تحديد المصفوفات الجزئية بحلقتين i, j و المرور على هذه العناصر وحساب المجموع الجزئي فيها ومقارنته مع المتغير العام. القيمة البدائية للمتغير الذي سنخزن فيه النتيجة يجب ألا تكون 0، لأنه في حالة كانت جميع العناصر سالبة سيكون جواب المسألة خطأ لأنه سيعرض 0 بدل القيمة السالبة الأكبر ضمن عناصر المصفوفة. لذلك إن شيفرة المدرب محمد آيت لعراك أفضل ولكن يجب تعديلها قليلا في جزئية القيمة الابتدائية لمتغير الجواب ليجلب أكبر قيمة عنصر في المصفوفة (وبهذه الحالة سيخزن مؤقتا قيمة أكبر عدد سالب في حال كانت جميع العناصر في المصفوفة سالبة) وهذا لن يؤثر في حال كان هنالك حل آخر أكبر بدون هذه الحالة الخاصة.
    function getMaxSubSum(arr) { let maxSum = Math.max(...arr); // إذا لم نأخذ أي عناصر ، فسيتم إرجاع أكبر عدد سالب for (let i = 0; i < arr.length; i++) { let sumFixedStart = 0; // عند حساب المجموع لمصفوفة جزئية نبدأ ب 0 وهذا سليم for (let j = i; j < arr.length; j++) { sumFixedStart += arr[j]; maxSum = Math.max(maxSum, sumFixedStart); } } return maxSum; } يمكنك تجريب المثال التالي:
    console.log( getMaxSubSum([-1, -2, -9]) ); وسيعطي جواب -1 (أكبر قيمة سالبة)
    يمكن تسريع الخوارزمية باستخدام البرمجية الديناميكية و المجموع المتراكم ولكن لن يفرق الأداء في حال كانت عناصر المصفوفة عددها صغير نسبيا..
  10. إجابة Wael Aljamal سؤال في كيف يمكن ان اقرأ تعداد العناصر في سلسلة ضمن البايثون كانت الإجابة المقبولة   
    لقراءة تكرار عنصر وحيد يمكن استخدام الدالة count على القائمة:
    x=[12,23,1,12,32,23,45,1] x.count(1) # 2 لنقوم بعد جميع تكرارات العناصر يمكننا استخدام Counter من المكتبة collections حيث يثوم ببناء قاموس حيث المفتاح هو العدد و القيمة هي التكرار:
    from collections import Counter z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red'] Counter(z) # Counter({'blue': 3, 'red': 2, 'yellow': 1}) أو باستخدام القاموس مباشرة:
    dict((i, a.count(i)) for i in a) def occurDict(items): d = {} for i in items: if i in d: d[i] = d[i]+1 else: d[i] = 1 return d والمثال الأخير يعبر عن دالة تقوم ببناء قاموس لعد تكرارات القيم من قائمة.
  11. إجابة Wael Aljamal سؤال في تضمين دالة substr داخل كود php كانت الإجابة المقبولة   
    أعتقد أنها هكذا:
    <?php while($row = mysqli_fetch_array($result)) { $output .= substr(''.$row['message'].'', 0, 35) . '\n'; // </br> اذا كنت توجه الخرج لصفحة html بدل \n } echo $output; ?> يتم تجميع خرج البرنامج في المتغير output ثم نقوم بطباعة الناتج.
    يمكن حذف 'n\' فقد استخدمتها لطباعة سطر جديد. _ <br/> في HTML
    لماذا تضعها ضمن اقتباس فردي؟  ' ' لا داعٍ لذلك
  12. إجابة Wael Aljamal سؤال في تطبيق هاتف بإستخدام تقنيات الويب كانت الإجابة المقبولة   
    أرى أنك لم تذكر لغة جافاسكربت فهي ضرورية لعمل تطبيق الهاتف حيث أن معظم أطر العمل التي تعتمد على تقنيات الويب تستخدم جافاسكربت بشكل أساسي.
    هذا أن PHP لا تعمل إلا على المخدمات web server ولا يوجد إطار عمل أو أي مكتبات مخصصة لشئ آخر.
    إن PHP مع LARAVEL كافية لعمل مواقع متنوعة مهما كان حجم الموقع فهمي تربط بين قاعدة البيانات و المخدم و العرض على المتصفح فقط.
    إن أردت تشغيل الموقع على الهواتف يمكنك تضمين WebView في تطبيق Android أو Flutter وهو يعمل عمل المتصفح، أي أن فكرة أن يعمل نفس المشروع على الهاتف الجوال هو شيئ غير ممكن.
    التقنية التي تسمح لتطبيق ويب بالعمل على الهاتف (باستخدام جافاسكربت كلغة برمجة للتطبيق) هي:
    Apache Cordova and PhoneGap (تعتمد على HTML - CSS للبنية والتنسيق وجافا للبرمجة وإدارة التطبيق مثل المواقع) ويمكنك معها استخدام جيكويري و بوتستراب وغيرهم
    Ionic شبيهة ب cordova ولكن تعمل بطريقة مختلفة من ناحية تصميم التقنية نفسها.
    يوجد غيرها لكن كل منها تعمل بلغة برمجة مختلفة مثل #C ل Xamarin ..
    أما باستخدام جافاسكربت فالأفضل هي React Native.
    الملخص: حتى الآن لايوجد طريقة لاستخدام PHP لبرمجة تطبيق هاتف، إنما نستطيع استعراض الموقع ضمن متصفح مدمج في تطبيق باستخدام WebView. 
  13. إجابة Wael Aljamal سؤال في كيفيه حفظ الكلاس OOP كانت الإجابة المقبولة   
    أرجو توضيح السؤال أكثر، حفظ الكلاس؟
    يمكنك كتابة java class في ملف ذو لاحقة java.
    يوجد شرط بأن يكون اسم الملف من نفس اسم الصنف.
    public class Main { public static void main(String[] args) { System.out.println("Hello World"); } } الشيفرة السابقة تمثل صنف اسمه Main بلغة جافا، فيه الدالة الرئيسية main والتي يتم استدعائها عند دء البرنامج.
    وتحوي الدالة main تعليمة الطباعة التي ستطبع عبارة الترحيب في console البرنامج التنفيذي.
    لتنفيذ الشيفرة السابقة، ننتقل لمسار الملف ثم نقوم بترجمته عن طريق javac ثم تنفيذه باستخدام تعليمة java

  14. إجابة Wael Aljamal سؤال في استدعاء دالة لحساب المتوسط الحسابي - جافا كانت الإجابة المقبولة   
    أن جعل الدالة average ساكنة static يحل المشكلة.الحل موجود هنا و يعمل يمكنك التأكد (( الحل ))
    يوجد حل آخر وهو بناء غرض من الصنف Mycalcolator ومن ثم استدعاء الدوال:
    public class MyCalculator { public float average() { int input1 = 10; int input2 = 20; int input3 = 30; int input4 = 40; int input5 = 50; float avg =(input1 + input2 + input3 + input4 + input5)/5; return avg; } public static void main(String[] args) { MyCalculator calc = new MyCalculator(); float res = calc.average(); System.out.println(res); } } السبب أن الدوال الساكنة لا تتطلب بناء غرض من الصنف كي تعمل، إنما الدوال العادية يتم تطبيقها من قبل غرض Object من هذا الصنف لذلك يجب بناء غرض قبل الاستدعاء.
    ((الحل الثاني))
  15. إجابة Wael Aljamal سؤال في لماذا لا يتم تحديث صفحة React عند التعديل على ملف index.js؟ كانت الإجابة المقبولة   
    ربما تكمن المشكلة في إصدار react-scripts الرابع حيث ظهر المشكلة، يمكنك استعمال الإصدار الثالث
    تعديل الإصدار في packages.json الأعدادت
     "react-scripts": "3.4.4"  حذف node_modules + package-lock.json ثم إعادة التثبيت 
    npm i .....
    في ريأكت 17 تم تعديل Hot refresh إلى Fast refresh عدل ملف env. :
    FAST_REFRESH=false  
  16. إجابة Wael Aljamal سؤال في تغير اسم button في flutter stepper كانت الإجابة المقبولة   
    يمكن ذلك من خلال الدالتين:
    onStepContinue  onStepCancel نحتاج لتعريف controlsBuilder callback والذي يأخذ بدوره الدالتين السابقتين و من ثم يمكننا تغيير الاسم:
    هذا مثال عن  stepper:
    Stepper( controlsBuilder: (BuildContext context, {VoidCallback onStepContinue, VoidCallback onStepCancel}) { return Row( children: <Widget>[ TextButton( onPressed: onStepContinue, child: const Text('NEXT'), ), TextButton( onPressed: onStepCancel, child: const Text('EXIT'), ), ], ); }, steps: const <Step>[ Step( title: Text('A'), content: SizedBox( width: 100.0, height: 100.0, ), ), Step( title: Text('B'), content: SizedBox( width: 100.0, height: 100.0, ), ), ], );  
  17. إجابة Wael Aljamal سؤال في بايثون حذف مجموعة المفاتيح المعرفة داخل قائمة من القاموس كانت الإجابة المقبولة   
    نقوم بالمرور على المفاتيح التي نريد حذفها ونستخدم del key لحذف المفتاح من القاموس.
    mydict = {'one': 1, 'two': 2, 'three': 3, 'four': 4} print(mydict) keytoremove = ['one' , 'two'] for k in keytoremove: del mydict[k] print(mydict) ناتج أول طباعة:
    {'one': 1, 'two': 2, 'three': 3, 'four': 4} الثانية:
    {'three': 3, 'four': 4} عليك تعديل البرنامج ليعمل كما تريدين بعد تأكدك من فهم الفكرة.
  18. إجابة Wael Aljamal سؤال في ما هو نوع الخط المستخدم كانت الإجابة المقبولة   
    أعتقد أن اسم الخط هو 
    Halloween Fright RegularbyBrithos Type أو
    Evil Laughter RegularbyHanoded  
  19. إجابة Wael Aljamal سؤال في تسريع موقع الكتروني لمدونة كانت الإجابة المقبولة   
    يوجد العديد من الأسباب التي من الممكن أن تؤدي لبطئ في عمل موقع ووردبريس.
    بعض الإضافات المثبتة غير كفوئة و تستهلك موارد كثيرة. تضارب عمل بعض الإضافات و تسبب بطيئ التحميل تثبيت إضافات لا داعِ لها سرعة الانترنت في المخدم server لديك قوة المعاجة للمخدم والاستضافة ضغط و تقليل حجم الصور استخدام خدمات CDN  
    عادة تحتاج لتوظيف مبرمج ليقوم لك بالتعديلات، يمكنك ذلك من خلال موقع مستقل.
  20. إجابة Wael Aljamal سؤال في توثيق الهوية كانت الإجابة المقبولة   
    لتأكيد هويتك يُشترط أن يكون سنك 18 فما فوق و يحق للموقع في أي وقت طلب وثائق شخصية تُثبت كالهوية أو جواز السفر للتحقق من هوية المُستخدم.

    يُمكنك الإطلاع على شروط الإستخدام من: هنا.
    كما إن احتجت الإستفسار عن شيء ما يُمكنك التواصل مع مركز المساعدة من هنا و فتح تذكرة لإستفسارك و سيُجيبك فريق الدعم الفني في أقرب وقت.
    بالتوفيق.
  21. إجابة Wael Aljamal سؤال في عرض رسالة تخبر أن الاستعلام لا يعيد أي بيانات كانت الإجابة المقبولة   
    يمكننا استخدام : mysql_num_rows والتي تعيد عدد أسطر النتيجة و نتأكد فيما أنها أكبر من 0 مثلا و نعتمد على هذا الشرط
    $result = mysql_query("SELECT * FROM .."); $num_rows = mysql_num_rows($result); if ($num_rows > 0) { // do something } else { // do something else }  
  22. إجابة Wael Aljamal سؤال في your sdk location consist non-asci charecters لدي خطأ في أندرويد استديو كانت الإجابة المقبولة   
    المشكلة في مسار التثبيت حيث يحوي على أحرف عربية non-ascii charecters أرجو نقل المجلد بشكل كامل (مجلد android)
    ووضعه بشكل مباشر في القرص C ليصبح:
    c:\android\sdk  
    أي المشكلة في اسم المستخدم في المسار و بنقل المجلد يمكنك تحديد مسار SDK و ستحل المشكلة
    ربما عليك إعادة ضبط المسار في متغيرات البيئة edit system environment variables لاحقا
  23. إجابة Wael Aljamal سؤال في خطأ في استدعاء دالة معرفة ضمن مستمع الأحداث Event Listener كانت الإجابة المقبولة   
    يوجد اختلاف في اسم الدالة changeCounter في مستمع الأحداث addEventListener الحرف C مكتوب بشكل صغير أرجو تعديله
  24. إجابة Wael Aljamal سؤال في الصورة لا تفتح فى صفحة html كانت الإجابة المقبولة   
    أعتقد أنك تحاول فتح ملف pag.html مختلف عن الذي موجود في الجهة اليمنى.
    لاحظ أن رابط المتصفح يفتح ملف pag.html على سطح المكتب أما الملف المقصود الذي يحوي الصورة بجانبه موجود ضمن New folder وهو موقع مختلف؟
  25. إجابة Wael Aljamal سؤال في الخطوط العربية كانت الإجابة المقبولة   
    يوجد إضافة adobe font manager تستخدم لهذا الغرض ..
    لتثبيت إضافات أخرى يمكن البحث عن Font Management Tools
    كما يوجد اضافة باسم Font Hero تستخدم كمدير للخطوط organizer/manage plugin for Photoshop يمكنك البحث عنها و تثبيتها
    ستكون بالشكل التالي:

    يمكن عمل Template يحوي الخطوط التي تستخدمينها و عند الحاجة لأي خط يمكنك الوصول لهم.
    - يمكن عمل tool preset لتستخدم كمكتبة للخطوط :
    نحدد الخط من قائمة window نختار Tool preset نضغط على أيونة new tool preset في الجزء السفلي من القائمة الظاهرة 
×
×
  • أضف...