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

عبدالباسط ابراهيم

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

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

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

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

    11

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

  1. كما شرح عبدالمجيد في التعليق السابق أنه يوجد Port مستخدم ولذلك يمكنك الكشف إذا كان port ما مستخدم أم لا ومن ثم إغلاقه عن طريق استخدام lsof lsof -i :<port no> سيعطيك الأمر السابق ال process id ثم يمكنك إيقاف العملية kill -9 <process id>
  2. من خلال ترجمة الخطأ يبدو أنك نسيت إضافة الدالة serializeUser و deserializeUser كالتالي assport.serializeUser(function(user, done) { done(null, user.id); }); passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); كما يظهر في التوثيق الخاص بالمكتبة من هنا
  3. توجد العديد من المكتبات الجتهزة لعمل المطلوب وربما تجد لكل مكتبة مميزات عن غيرها وكما في التعليقات السابقة يمكنك البحث لتجد المكتبة المناسبة لكل وإضافة يمكنك استخدام المكتبة skimage بسهولة كالتالي from skimage.io import imsave imsave('Path_to_your_folder/File_name.jpg',your_array) أو يمكنك استخدام حل آخر بدون استدعاء أي مكتبة كالتالي def saveAsPNG(array, filename): import struct if any([len(row) != len(array[0]) for row in array]): raise ValueError, "المصفوفة يجب أن تحتوي عناصر من نفس الحجم" flat = []; map(flat.extend, reversed(array)) buf = b''.join([struct.pack('>I', ((0xffFFff & i32)<<8)|(i32>>24) ) for i32 in flat]) data = write_png(buf, len(array[0]), len(array)) f = open(filename, 'wb') f.write(data) f.close() ويمكنك استخدام هذه الدالة كالتالي saveAsPNG([[0xffFF0000, 0xffFFFF00], [0xff00aa77, 0xff333333]], 'test_image.png')
  4. يمكنك التحكم في تحويل الأرقام العشرية ل integer سواء لأقرب رقم الرقم الأكبر أو الأصغر من خلال الدوال >>> x = np.array([[1.0,2.3],[1.3,2.9]]) >>> z = np.ceil(x)#لأكبر رقم >>> t = np.floor(x)# لأصغر رقم >>> a = np.rint(x)# لأقرب رقم يمكنك أيضاً استخدام الدالة _np.int كالتالي >>> x = np.array([[1.0, 2.3], [1.3, 2.9]]) >>> np.int_(x) array([[1, 2], [1, 2]])
  5. عند إنشاء DataFrame من مصفوفة تحتاج لتحديد ال data و ال index و ال columns كالتالي pd.DataFrame(data=data[1:,1:], # القيم index=data[1:,0], # العمود الأول columns=data[0,1:]) # الصف الأول ولكن ستلاحظ أن المصفوفة تحتوي على بيانات من نوع string ونوع integer لذلك تقوم numpy بتوحيد الأنواع ل string ونحن لا نريد ذلك وسنحول الأرقام ل integer مرة أخرى كالتالي بدلاً من data[1:,1:] نستخدم np.int_(data[1:,1:])
  6. يمكنك قراءة ملفات ال html وإرسالها ببساطة كالتالي app.get('/', (req, res) => { fs.readFile(__dirname + '/public/index.html', 'utf8', (err, text) => { res.send(text); }); });
  7. كما في التعليق السابق فإنه عند استخدام الكود app.use كالتالي app.use(express.static(__dirname + '/styles')); فإنه يمكنك الوصول للملفات في مجدل styles مباشرة http://localhost:5000/main.css بينما إذا حددت path معين ك styles app.use("/styles", express.static(__dirname + '/styles')); فيجب عليك الوصول للمجلد styles كالتالي http://localhost:5000/styles/main.css لاحظ الفرق بين استخدام الطريقتين حيث أن عند استدعاء مثلاً ملفات التنسيق عند استخدام الطريقة الأولى نستدعي الملف مباشرة من اسمه كالتالي <link href="file_name.css" rel="stylesheet"> عند استخدام الطريقة الثانية نستدعي الملف من اسمه ولكن قبله المسار الذي حددناه كالتالي <link href="styles/file_name.css" rel="stylesheet">
  8. إذا كان هناك مصفوفة ثنائية البعد مثلاً أو أكثر يجب استخدام دالة لتحويلها ل مصفوفة أحادية البعد وكما في التعليقات السابقة تم استخدام الدالة flatten ولكن يمكننا استخدام الدالة ravel حيث تعتبر اسرع من الدالة flatten وترجع reference من المصفوفة الأصلية لذلك سيكون الحل كالتالي import numpy lst = [[1,2,3], [4,5,6]] newArray = numpy.array(lst) newArray.ravel().tolist()
  9. بالطبع يمكنك من خلال ال File System API كما في التعليق السابق وتم استخدام ال writeFile وتوجد طريقة أخرى وهي createWriteStream بحيث يمكنك الكتابة عدة مرات في الملف وإنهاء ال stream بعد الإنتها كالتالي var fs = require('fs'); var stream = fs.createWriteStream("file.txt"); stream.once('open', function(fd) { stream.write(" first row\n"); stream.write(" second row\n"); stream.end(); });
  10. كما قال وائل في التعليق السابق فإنه يختلف الأمر من بنك إلى آخر ومن دولة لدولة لذلك يجب عليك معرفة الشروط الموجودة في بلدك وبالطبع يختلف على حسب البطاقة هناك عدة انواع منها ال debt card والتي تحتاج حساب بنكي لربطه بالبطاقة ويسحب مباشرة من الحساب الموجود ال credit card ونفس النظام تحتاج لحساب بنكي ويجب أن تكون موظف حكومي مع وجود بعض الضمانات الأخرى ال prepaid card وهي البطاقة مسبوقة الدفع ولا تحتاج لحساب بنكي إنما يتم السحب من المبلغ الموجود في البطاقة فقط والبطاقة التي يمكنك التقدم لها تحت عمر ال 18 هي ال prepaid card فقط الشروط والمعلومات السابقة في مصر ربما تختلف من دولة لأخرى
  11. لا توجد دالة خاصة بتنفيذ ما تريده إنما يمكنك تنقيذ ذلك من خلال بعض الدوال و إذا كنت تريد استخدام ال loop يمكنك استخدام الحل التالي def find_nearest(array, value): n = [abs(i-value) for i in array] idx = n.index(min(n)) return array[idx]
  12. إذا كان ال endpoint او ال url تم معالجته لحذف جميع ال items نعم يمكنك تنفيذ المطلوب من خلال الأمر التالي axios.delete('https://url/resource/deleteAll') أو يمكنك استخدام postبدون مشكلة axios.post('https://url/resource/deleteAll')
  13. يمكنك استخدام الدالة nonzero كالتالي >>> t = array([1, 1, 1, 2, 2, 3, 8, 3, 8, 8]) >>> nonzero(t == 8) #لاحظ الشرط الموجود هنا (array([6, 8, 9]),)#للرقم 8 indexes ستجد هنا وجود جميع ال >>> nonzero(t == 8)[0][0] #index للوصول لأول 6 كما يمكنك استخدام حل بسيط مثل تحويل المصفوفة ل list ثم التحقق من العنصر l = [1,2,3,4,5] # Python list a = numpy.array(l) # NumPy إنشاء مصفوفة i = a.tolist().index(2) #ثم البحث عن الرقم 2 list تحويل المصفوفة ل print i
  14. توجد العديد من الطرق التي يمكنك من خلالها تنفيذ المطلوب مثل الدوال في التعليقات السابقة أو يمكنك من خلال الدالة numpy.unique كالتالي a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4]) unique, counts = numpy.unique(a, return_counts=True) dict(zip(unique, counts)) #يحتوي على العنصر وعدد مرات التكرار dict لإنشاء # {0: 7, 1: 4, 2: 1, 3: 2, 4: 1} أو يمكنك استخدام الدالة collections.Counter import collections, numpy #collections لا تنسى استدعاء ال a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4]) collections.Counter(a) # Counter({0: 7, 1: 4, 3: 2, 2: 1, 4: 1})
  15. يمكنك استخدام savetxt وستعمل بشكل سليم ولكن إذا كان هناك بعض المصفوفات بالنمط int32 ربما لن يتم حفظ المصفوفة في الملف بشكل صحيح والنمط السابق بل ربما يتم تغيير النمط ولن تكون قابلة للقراءة لذلك نحتاج لاستخدام المعامل fmt كالتالي np.savetxt('values.csv', narr, fmt="%d", delimiter=",") #integer تعني أن يكون من نوع %d لاحظ ال وإذا كانت المصفوفة كبيرة نوعاً ما يمكنك استخدام الصيغة gz وهي تجعل الملف مضغوط عن طريق تغيير صيغة الملف فقط كالتالي #بدلاً من np.savetxt('values.csv', narr, fmt="%d", delimiter=",") #استخدم np.savetxt('values.gz', narr, fmt="%d", delimiter=",")
  16. كما ترى أنه يمكنك من خلال set_printoptions تغيير إعدادات الطباعة لذلك ستبقى كذلك دائماً ولكن إذا كنت تريد طباعة مصفوفة في مكان واحد مثلاً أي لا تريد تغيير الإعدادات وجعلها دائمة تريدها مؤقتة يمكنك استخدام ال context manager بواسطة with كالتالي with numpy.printoptions(threshold=numpy.inf): #with لاحظ استخدام print(arr) كما يمكنك استخدام الطريقة التالية arr = numpy.arange(10000).reshape(250,40) #المصفوفة المطلوب طباعتها for row in arr: print row
  17. تأكد من أن ال media في العرض الأقل من 767 لها القيمة flex حيث إن لم تكن كذلك مثل block لن تعمل لذلك حتى نتأكد من ذلك قم بتنسيقها كالتالي section.features .feature .media { display: flex; flex-wrap: wrap;/* حتى تنزل العناصر تحت بعضها */ } وإن لم تعمل قم بطرح هذا السؤال في الدرس الخاص به في الدورة
  18. يعتمد ذلك على الكود الموجود عندك في ال html وال css حيث توجد عدة طرق مثل إذا كنت تستخدم ال flexbox يمكنك استخدام ال order كالتالي ستبقى ال media تأخذ التنسيق flex لذلك قم بحذف التنسيق في السطر 448 ثم قم بإضافة التنسيق لجعل العناصر تنزل تحت بعضها من خلال ال flex-basis مثل section.features .feature .media .media-body { flex-basis: 100%; } بعد ذلك تقوم بتحديد ال order لل media-body كالتالي section.features .feature .media .media-body { order: 2; }
  19. يمكنك التواصل مع مركز المساعدة من هنا حتى تستطيع معرفة إذا كان يمكنك استبدال دورة مكان أخرى وأعتقد أنه يمكنك ذلك ولمعرفة الشروط المطلوبة لذلك
  20. يحدث ذلك بسبب أن ال ul عنصر block لذلك يأخذ المساحة كاملة فلا تنفع معه الخاصية text-align: center لذلك الحل سيكون كالتالي سيكون لدينا ul <ul> <li>some text</li> <li>some text</li> <li>some text</li> <li>some text</li> </ul> استخدام ال position ul{ position: absolute; top: 50%; left: 50%; transform : translate(-50%, -50%) } استخدام ال flexbox وأنا أفضل هذا الحل ul{ display: flex; align-items: center; justify-content: center; height: 100vh; flex-direction: column; } عناصر ال li ستكون أسفل بعضها لذلك يمكنك التغيير في التنسيق حسب ما تريد قم بقراءة هذه المقالة عن ال flexbox حيث يوفر لك العديد من المميزات التي تحتاجها
  21. حتى تستطيع إضافة ال cookies يجب عليك أن يكون الطلب أو ال request مرفق بالخاصية withCredentials بالقيمة true ويمكنك تنفيذ ذلك سواء ب jQuery xhrFields: {withCredentials: true} الدالة fetch credentials: 'include' Axios axios.get('some api url', {withCredentials: true}); يمكنك من خلال إعدادات axios وضع ال with credentials ل true بدلاً من وضعها لكل طلب كالتالي axios.defaults.withCredentials = true
  22. إذا كنت مطور واجهات مواقع فالأفضل لك والأسهل تعلم ال react native وال react و react js نفس الشئ ويجب عليك تعلمه بشكل جيد حتى تستطيع العمل ب react native
  23. يعتبر التقنيتين cross platform أي تستطيع بناء تطبيق ويعمل على عدة منصات من خلال كود واحد فقط وتحتاج لتعلم react native ل فالأساس يجب عليك تعلم react وأيضاً ستحتاج ل html و css وبعض الأدوات التي ستحتاجها عند تطوير التطبيقات وبالنسبة ل flutter ستحتاج لتعلم لغة البرمجة Dart ولمعرفة المميزات لكل تقنية قم بقراءة الإجابات على هذا السؤال أما بالنسبة للمطلوب أكثر في الوطن العربي فكلاهما مطلوبان ربما يكون الطلب على flutter أكثر ولكن لكلهما يوجد فرص عمل كثيرة ويمكنك فتح مواقع التوظيف أو منصات العمل الحر وبالحث عن الوظائف الموجودة لكل تقنية
  24. أولاً هناك نوعين من قواعد البيانات قواعد بيانات Relational databases قواعد بيانات non-Relational databases ولكل نوع مميزات مختلفة وتحتاج لاستخدام قاعدة البيانات التي تخدم مشروعك من خلال معرفة مميزات وسلبيات كل نوع فمثلاً قواعد البيانات الغير علاقية تتمدد بسهولة عند زيادة البيانات وسهلة التعامل وتوفر لك العديد من الدوال التي تسهل من التعديل على البيانات ويمكنك قراءة المزيد من هذه المقالة ثانياً لا تختلف قاعدة البيانات سواء كنت تستخدمها لتطوير التطبيقات أو المواقع حيث يمكنك تطوير API ليصبح كود ال backend واحد سواء للموقع أو التطبيق ثالثاً تعتبر ال mysql نظام إدارة بيانات أو برنامج يستخدم قواعد البيانات Relational databases ويعتبر من أفضل قواعد البيانات الموجودة حالياً ومن أكثرهم استخداماً لذلك قم بتعلمها بدون مشاكل
  25. يمكنك استخدام المعاملات المنطقية التي توفرها numpy وفي حالتك تريد تنفيذ عدة شروط فيمكنك استخدام المعامل numpy.logical_and ليصبح الكود كالتالي np.where(np.logical_and(np.greater_equal(dists,r),np.greater_equal(dists,r + dr))) لاحظ أننا استخدمنا المعامل greater_equal يمكننا قراءة المزيد من المعلومات حول المعاملات المنطقية من هنا
×
×
  • أضف...