-
المساهمات
6975 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
218
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Wael Aljamal
-
لديك ملف csv يحوي على أعمدة بنمط بيانات متعدد (غير محدد) هذا يؤدي أنه لكي تعمل مكتبة panda على الملف، عليها تحيليل هذه البيانات لتتوقع نمط البيانات لكل عمود غير محدد وهذا يأخذ الكثير من الذاكرة، ذلك يظهر لك الخطأ. الحل هو تمرير: low_memory=False df = pd.read_csv('data.csv', low_memory=False) أو وضع نمطافتراضي 'dtype='unicode df = pd.read_csv('data.csv', dtype='unicode') ويمكن تمرير : error_bad_lines=False, index_col=False, لتسريع الأداء
-
يمكن الوصول ل mac address الخاص بجهاز المستخدم في حال كان متصلا بنفس الشبكة، يستخدم للتميز بين الأجهزة المتصلة على نفس الشبكلة مثلا wifi داخلية أو Ethernet وهو غير متاح للشبكات الخارجية، إن كنت تريد mac address الخاص بالمخدم يمكن تنفيذ: <?php echo exec('getmac'); ?> أو <php system('getmac'); ?> أو <?php $mac = system('arp -an'); echo $mac; ?> في لارافيل: <php Route::get('/getmacshellexec',function() { $shellexec = shell_exec('getmac'); dd($shellexec); } ); Route::get('/getmacexec',function() { $shellexec = exec('getmac'); dd($shellexec); } ); يمكن استخدام الدوال: <?php function getMAcAddressExec() { return substr(exec('getmac'), 0, 17); } echo getMAcAddressExec(); function getMAcAddressShellExec() { return substr(shell_exec('getmac'), 159,20); } echo getMAcAddressShellExec(); لايمكن لجافاسكربت الوصول ل mac address الموضوع حساس و متعلق بالحماية ولن تعمل في معظم المتصفحات يمكن أن تعمل في انترنت اكسبلورر IE باستخدام ActiveXObject: function showMacAddress() { var obj = new ActiveXObject("WbemScripting.SWbemLocator"); var s = obj.ConnectServer("."); var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration"); var e = new Enumerator(properties); var output; output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">'; output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>'; while (!e.atEnd()) { e.moveNext(); var p = e.item(); if (!p) continue; output = output + '<tr bgColor="#FFFFFF">'; output = output + '<td>' + p.Caption; +'</td>'; output = output + '<td>' + p.MACAddress + '</td>'; output = output + '</tr>'; } output = output + '</table>'; document.getElementById("box").innerHTML = output; } showMacAddress(); <div id='box'></div>
- 1 جواب
-
- 1
-
بشكل عام، ربما تحدث المشكلة بسبب بطئ في اتصال الانترنت و عدم تحميل ملفات التنسيقات او الصور. حاول تحديث الصفحة بالضغط على ctrl + F5 سوياً، لعمل تحديث قسري للصفحة، و يمكنك محاولة حذف الكوكيز من خلال النقر على إشارة القفل بجانب عنوان الصفحة و حذف الكوكيز. و ربما بسبب عمل تحديثات للموقع.. حاول التصفح من متصفح آخر او الهاتف المحمول لتحديد مصدر المشكلة.
-
نلاحظ أنه لدينا سلسلة نصية، نريد تقطيعها حسب الفاصلة، ثم نحول كل عدد منها لرقم (هو حاليا نص) ثم نعيد جمع الناتج لقائمة example .split(',') // تقطيع السلسة .map((String text) => int.parse(text)) // تحويل لأعداد .toList(), // تحويل لقائمة حيث أن example هو رد السيرفر أي قيمة الحقل category
- 1 جواب
-
- 1
-
حاول حذف بيانات المتصفح المؤقتة بتحديث الصفحة ب ctrl + F5 واضغط على شعار القفل بجانب عنوان الصفحة و امسح الكوكيز
-
هل حاولت الاتصال من متصفح آخر؟ أو إغلاق المتصفح الحالي و إعادة تشغيله؟ حاول إطفاء الشبكة (مثلا الواي فاي) وأعد الاتصال أو إعادة تشغيل الحاسوب. ربما قمت بتثبيت أي إضافات للمتصفح منها خاص ب VPN أو استعملت برنامج من هذا النوع، هنالك عدة احتمالات للمشكلة..
- 4 اجابة
-
- 1
-
يوجد ملاحظتين: على الحاوية (أب العنصر) أن يكون موقعه نسبي relative و له طول محدد العنصر الهدف موقعه مطلق absolute وبعيد من الأعلى 50% ونطبق انزياح trasform Y حاوية: .container { height: 200px; position: relative; } العنصر الهدف: .vertical-center { margin: 0; position: absolute; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%); } باستخدام flexbox : نحدد الخاصيتين: justify-content - align-items للمنتصف .center { display: flex; justify-content: center; align-items: center; height: 200px; }
-
ضمن activity_main إن قمت بتغيير الزر من Button> إلى <androidx.appcompat.widget.AppCompatButton سيعمل ويأخذ لون الخلفية المتدرج.
- 1 جواب
-
- 1
-
انا عدلت الإصدار من خلال فتح ملف gradle و من هنالك عدلت الرقم، ثم مزامنه gradle ثم تشغيل التطبيق على الهاتف و فتح التطبيق.(ملف gradle هو الثاني بالترتيب موجود على اليسار) هل يظهر لديك نفس الخطأ؟ بالنسبة لي قمت بتعديل إضافي في ملف strings حيث استبدلت الشيفرة الخاصة بالفاصلة كالتالي '\ تدعى escape latter و عمل كل شيئ.. what\'s your name ونفس الفكرة في السطر التالي..
-
هل قمت بتثبيت جيكويري؟ في مجلد المشروع ننفذ: npm i jquery ثم في حالة خطأ كهذا نتبع التوثيق الرسمي: npmjs.com/package/jquery حيث يوجد بعض الخطوات التي من الممكن حل المشكلة مثل عمل: var $ = require( "jquery" ); أو import $ from "jquery"; قبل سطر استخدامها (بعد أسطر تضمين المكتبات) ممكن في webpack.config: var webpack = require("webpack"); // تضمين ويب باك ... // ثم إضافة جيكويري plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery" }) ] ** إن لم تنجح أرجو إرفاق ملف webpack.config
-
حاولت عمل التوافق مع android API 31 ولكن لم ينجح الأمر.. فقمت بتنزيل الإصدار ل 30 و نجح: compileSdkVersion 30 targetSdkVersion 30 ضمن gradle app module
-
على الأغلب قمت بدفع بعض الأكواد إلى نفس المستودع من مشروع آخر (مشروع محذوف فيه git أو حصل تغغييرات فيه) المشكلة: يوجد تعديلات على المستودع البعيد مختلفة عن الشيفرة البرمجية المحلية لديك، الحل: إما تقوم بسحب التعديلات الموجودة في المستودع عن طريق git pull ليتم تحديث الشيفرات المحلية أن تقوم بدفع التحديث بقوة force -- وهذا يؤدي لنقل التعديلات في المشروع المحلي لتصبح على المستودع git push --force origin master اختيار الحل حسب حالتك، إن كان مشروعك المحلي محدّث ويعمل بشكل سليم استخدم أمر الدفع بقوة force وإن كان لديك تعديلات على المستودع البعيد تريد حفظها تسحب التعديلات لمشروعك المحلي ليتم تحديثه ثم تعود وتدفع التعديلات.
-
ربما الأزرار تظهر لديك في الواجهة لكن أسماء الدوال التي تنفذها مختلفة.. الحل هو نسخ الشيفرات من الزر gem إلى الزر minute، تابع اسم الزر البرمجي، ولكل زر دالة setOnClickListener هذه تضيف مستمع أحداث لحدذث النقر (شيفرة برمجية تنفذ بعد النقر على الزر) انسخ محتواها وكرره في أي زر آخر. أو انقل الشيفرة البرمجية المشتركة لدالة، ثم قم باستدعاء هذه الدالة ضمن كلا من الزرين. مثلا؛ private void sharedFunction() { /* أي شيفرات برمجية مشتركة */ } ثم نضع الاستدعاء ضمن الدالة onClick في كلا الزرين (نفس مكان تكرار الشيفرة المراد تنفيذها): minute .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sharedFunction(); // استدعاء الدالة المشتكو ضمن minute }); /// ######################## gem .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sharedFunction(); // استدعاء الدالة المشتكو ضمن gem });
-
أرجو مشتركة صورة وكود الخطأ وأي تفاصيل مفيدة، فقد يعمل المشروع لدي ولا يعمل لديك لاختلاف بيئة العمل (نقص مكتبات أو ماشابه)..
- 6 اجابة
-
- 1
-
أرى أنك نشرت المشكلة للمرة الثانية، ولا يوجد أحد يعلم كيفية تطبيق هذا الأمر.. أفضل طرحك للمشروع على موقع مستقل أو خمسات للبحث عن مبرمج له خبرة فيما تريده بالضبط. يمكنك طرح مشروع ومن ثم توظيف مبرمج بعد التفاوص معه واختياره.
- 1 جواب
-
- 1
-
أرجو إرفاق صورة للخطأ، ومحتوى ملف index.js
-
هذه ليست أخطاء في الكود، إنما بسبب الإضافات extentions في محرر الأكواد vs code. حاول الدخول لمتجر الإضافات ضمن vs code و البحث عن إضافات خاصة ب react وقم بتثبيتهم، وعادةً يوجد في الاسفل جهة اليمين أيقونة تحدد نوع الملف تأكد من توافقه مع لغة البرمجة التي تعمل بها و إطار العمل أيضا. أخبرني إن بقي لديك مشكلة فيها..
- 4 اجابة
-
- 1
-
نعم يمكن ذلك في لغة JAVA حيث سيتم عمل عدة دوال بانية constructor وكل منها يستقبل وسطاء parameters مختلفة وسينتج عنهم كائنات تم تهيئتا بطرق مختلفة، مثلا ليكن لدينا صندوق Box له 3 أبعاد عرض-ارتفاع-عمق وسنقوم بعمل 3 دوال بانية مختلفة له: // صنف الصندوق class Box { // خصائصه double width, height, depth; // الباني الذي يسند قيم لجميع الخاصيات Box(double w, double h, double d) { width = w; height = h; depth = d; } // باني بدون وسطاء يسند القيمة 0 لكل الخواص Box() { width = height = depth = 0; } // باني يستقبل وسيط واحد و يسند جميع القيم له Box(double len) { width = height = depth = len; } // حساب الحجم double volume() { return width * height * depth; } } لتجريب الصنف السابق يمكن استخدام الصنف المساعد التالي: public class Test { public static void main(String args[]) { // تعريف عدة صناديق باستخدم دال البناء المختلفة Box mybox1 = new Box(10, 20, 15); Box mybox2 = new Box(); Box mycube = new Box(7); double vol; // متغيرلتخزين الحجم // أول صندوق vol = mybox1.volume(); System.out.println(" Volume of mybox1 is " + vol); // ثاني صندوق vol = mybox2.volume(); System.out.println(" Volume of mybox2 is " + vol); // ثالث صندوق vol = mycube.volume(); System.out.println(" Volume of mycube is " + vol); } } هكذا سيتم بناء 3 أغراض من الصنف الأول لها نفس الخواص ولكن باستعمال overloading للدالة البانية
- 2 اجابة
-
- 1
-
مرحبا عبد الله، أرجو محاولة تحديث الصفحة فقد يكون هذا هو السبب او الرجوع لقائمة أخرى.. وإعادة المحاولة. حاول إغلاق الصفحات أو المتصفح و أعد المحاولة، إن بقيت المشكلة أرجو وضع صورة شاشة إن ظهر لك اي مشكلة شكرا لك
-
مرحبا أحمد، قد يأخذ الأمر بعض الوقت حتى يقوم فريق العمل لتفعيل الدورة على حسابك الشخصي، رابط دوراتي من هنا: دوراتي سيتم تفعيله بأقرب وقت ممكن، إن حصل معك أي مشاكل يمكنك التواصل مع مركز مساعدة حسوب شكراً لك
- 1 جواب
-
- 1
-
حاليًا لا يوجد دورة مخصصة لـ #C ولكن تحتوي الأكاديمية على دورات متنوعة تستهدف تطوير المواقع و تطبيقات الجوال يمكنني إرشادك لدورة قريبة من التي تريد دراستها إن أردت ولكن أرجو تحديد المجال الذي ترغب بدراسته. في حالة أردت الإستفسار حول أي دورة من دورات حسوب أو كان لديك أي سؤال متعلق بهذه الأمور، يمكنك أن تستخدم مركز مساعدة حسوب