-
المساهمات
5650 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
11
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبدالباسط ابراهيم
-
ال searching في مصفوفات لغة c++ : تم تصميم خوارزميات البحث للتحقق من وجود عنصر أو استرداد عنصر من أي بنية بيانات مثل المصفوفات حيث يتم تخزينه. بناءً على نوع عملية البحث ، يتم تصنيف هذه الخوارزميات عمومًا إلى فئتين: البحث المتسلسل: في هذا ، يتم اجتياز القائمة أو المصفوفة بالتسلسل ويتم فحص كل عنصر. على سبيل المثال: Linear Search. البحث الفاصل: تم تصميم هذه الخوارزميات خصيصًا للبحث في هياكل البيانات المصنفة. يعد هذا النوع من خوارزميات البحث أكثر فاعلية من البحث الخطي حيث يستهدف بشكل متكرر مركز بنية البحث ويقسم مساحة البحث إلى النصف. على سبيل المثال: Binary Search. ال sorting في مصفوفات لغة c++ : الفرز في C ++ هو مفهوم يتم فيه إعادة ترتيب عناصر المصفوفة بترتيب منطقي. يمكن أن يكون هذا الترتيب من الأدنى إلى الأعلى أو من الأعلى إلى الأدنى. يساعد فرز المصفوفة غير المصنفة في حل العديد من المشكلات مثل البحث عن الحد الأدنى أو الحد الأقصى للعنصر ، إلخ. يسهل ترتيب الأشياء بطريقة مرتبة التحليل والبحث عن عنصر معين بين مجموعة العناصر. أنواع تقنيات ال sorting هناك أنواع مختلفة من تقنيات ال sorting في C ++. Bubble sort Selection sort Insertion sort Quick sort للمزيد من التفاصيل يمكنك قراءة المقالات التالية البحث الخطي
-
في كل الأحوال يجب عليك العمل حيث أن لإكتساب خبرات أكثر في مجال البرمجة تحتاج للعمل على مواقع حقيقية حيث تفيد في تنظيم الوقت لوجود فترة زمنية محددة لتنفيذ المشروع وأيضاً ستتعلم العمل تحت ضغط بناء profile قوي من خلال بناء هذه المواقع التعرف بشكل أفضل على سوق العمل والعديد من المميزات الأخرى التي ستفيدك مع ميزة العمر القليل حالياََ لذلك الأفضل في جميع الأحوال هو العمل على مواقع العمل الحر ولكن مع ال 14 سنة ستقوم بعمل حساب ولكن باسم أخوك أو أ] شخص قريب لك ذلك هو الحل الوحيد بالنسبة لك ولكن لا تهمل أيضاً تعلم التقنيات والتطورات في مجالك
- 2 اجابة
-
- 1
-
-
يجب إتمام أربعة مسارات على الأقل من الدورة التي تتقدم للإمتحان الخاص بها لذلك يجب عليك إتمام أربعة مسارات من دورة علوم الحاسوب للتقدم لإمتحان دورة علوم الحاسوب يمكنك قراءة الشروط للتقدم للإمتحان من خلال هذا الرابط إذا كانت هناك أي مشكلة يمكنك التحدث مع الدعم الفني من خلال هذا الرابط
- 1 جواب
-
- 1
-
-
كما وضح محمد في التعليق السابق فإن هذا الموقع المرفق يتم بناؤه عن طريق ال Front-End الbackend ويجب عليك معرفة كيفية تطوير مواقع الويب أولاً وكيف يتم بناء المواقع ثم التعرف على ما هو ال Front-End و ال الbackend يمكنك قراءة المزيد من التفاصيل من خلال إجابات هذا السؤال بالنسبة للموقع المرفق فتم بناؤه من خلال التقنيات الخاصة بال Front-End html , css, javascript ,jquery والعديد من التقنيات الإضافية ويتم شرح هذه التقنيات وأكثر من خلال دورة تطوير واجهات المستخدم بالأكاديمية و من خلال التقنيات الخاصة بال backend PHP, SQL والعديد من التقنيات الأخرى ولكن هذه التقنيات هي الأساسية ويتم شرح هذه التقنيات وأكثر من خلال دورة تطوير تطبيقات الويب باستخدام لغة PHP بالأكاديمية لاحظ أنه يمكنك بناء الموقع بتقنيات مختلفة عن ال PHP و SQL ولكن الموقع المرفق تم بناؤه بهذه التقنيات
-
كما وضح عدنان في التعليق السابق فإن هذه المشكلة (بالنسبة لي لا أعتبرها مشكلة) تكون في البداية فقط. سأوضح لك لماذا طريقة الشرح هذه جيدة من خلال عدة نقاط توفير للوقت من خلال نسخ الأكواد ثم شرحها بدلاً من كتابتها في الفيديو وبالتالي سيكون وقت الفيديو طويل و بالطبع ليس كتابة الكود كاملاً إنما الأشياء البسيطة التي تم شرحها سابقاً حيث أن قبل مسار بناء الموقع الشخصي ستجد أنه يوجد مسارات كاملة لشرح هذه الأكواد بعد فترة من التعلم والتطبيق ستشعر بالملل من كتابة المدرب للكود خلال الفيديو عند وجود كود لم تفهمه ستجبرك هذه الطريقة من البحث عن هذه المعلومة أو السؤال عنها في التعليقات على تذكر هذه المعلومة بشكل أكبر كما أنه سيتم إضافة معلومات أخرى عند البحث عما تريده
- 4 اجابة
-
- 1
-
-
مزايا استخدام Filegroups عندما تكون لديك كائنات قاعدة البيانات (tables, views) التي يتم الوصول إليها بكثرة : إذا كان لديك Filegroups متعددة وكانت البيانات منتشرة عبر القرص ، فيمكن لـ SQL Server الاستفادة من الخيوط المتوازية ، وهذا يعزز أداء قاعدة البيانات الخاصة بك. قاعدة البيانات الخاصة بك تعمل بشكل ضعيف أثناء تجهيز قاعدة البيانات أو تحديثها ؛ يمكن أن تعمل Multiple threads بشكل متزامن لاسترداد البيانات الموزعة في Filegroups مختلفة إذا وجدت تلفًا في كائنات مرتبطة ب Filegroups معينة في قاعدة بيانات ، فيمكنك استعادة ال Filegroups هذه فقط لاستعادة البيانات بسرعة كبيرة. أما الفرق بين (Primary Filegroup - Secondary/User-defined filegroups - Memory-optimized filegroup - FILESTREAM filegroup) كالتالي Primary Filegroup: هي مجموعة ملفات افتراضية. عندما نقوم بإنشاء قاعدة بيانات SQL جديدة ، يتم إنشاء ال Primary filegroupتلقائيًا. Secondary/User-defined filegroups: يتم إنشاؤها من قبل مستخدم. تُستخدم لإدارة بيانات قاعدة البيانات. إذا كنت تريد الاحتفاظ بالجداول التي يتم الوصول إليها بشكل كبير في أقراص أسرع ، فيمكنك إنشاء مجموعة ملفات ثانوية وجدول فيها. Memory-optimized filegroup: تستخدم لتخزين جداول OLTP في الذاكرة ومتغيرات الجدول و لإنشاء جدول مُحسَّن للذاكرة في قاعدة بيانات SQL ، يجب علينا إنشاء Memory-optimized filegroup FILESTREAM filegroup: يتم إنشاؤها لاستضافة بيانات FILESTREAM و FILETABLES.
- 3 اجابة
-
- 1
-
-
يمكنك الوصول للدورات التي قمت بالإشتراك بها من خلال حساب واحد فقط سواء على نفس الجهاز أو غيره إنما تكون الدورة متاحة لحساب واحد فقط وإذا كان لديك أسئلة أخرى فالأفضل التحدث مع الدعم الفني وسيتم التواصل معك لأفضل حل من خلال هذا الرابط
-
يمكنك تنفيذ ذلك من خلال العديد من البرامج والمواقع المختلفة قم فقط بالبحث عن "white and black picture into binary code" وسيظهر لك العديد من النتائج مثل برنامج ال MATLAB أما بالنسبة لتنفيذ ذلك من خلال لغات البرمجة فيمكنك تنفيذ ذلك عن طريق لغة java مثلاً عن طريق الدوال BufferedImage ImageIO.read() كما في المثال التالي BufferedImage image = ImageIO.read(new File("/some.jpg")); byte[][] pixels = new byte[image.getWidth()][]; for (int x = 0; x < image.getWidth(); x++) { pixels[x] = new byte[image.getHeight()]; for (int y = 0; y < image.getHeight(); y++) { pixels[x][y] = (byte) (image.getRGB(x, y) == 0xFFFFFFFF ? 0 : 1); } }
- 1 جواب
-
- 1
-
-
حتى تصل لك فكرة المتغير ال global ومع الكلمة global أيضاً تابع شرح الأمثلة التالية في Python ، يُعرف المتغير المعلن خارج الدالة أو في النطاق ال global باسم المتغير ال global . هذا يعني أنه يمكن الوصول إلى المتغير ال global داخل أو خارج الدالة كما في المثال التالي #global تعريف متغير message = 'Hello' def greet(): # declare local variable print('Local', message) greet() print('Global', message) #الناتج #Local Hello #Global Hello لكن إذا حاولنا تعديل المتغير ال global من داخل دالة سيظهر لنا خطأ لذلك نحتاج الكلمة global كما في المثال التالي # global variable c = 1 def add(): # use of global keyword global c # increment c by 2 c = c + 2 print(c) add() # Output: 3
- 3 اجابة
-
- 1
-
-
بشكل افتراضي تنتهي وظيفة طباعة () Python بسطر جديد. تأتي الدالة print () في Python مع المعامل "end". بشكل افتراضي ، قيمة هذا المعامل هي "\ n" ، أي حرف السطر الجديد. ولكن يمكنك تغييرها للقيمة التي تريدها مثال على ذلك print("Python", end='@') print("hsoubAcademy") الناتج سيكون كالتالي Python@GeeksforGeeks كما أن الدالة print بها العديد من المعاملات الأخرى كما في الكود التالي print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) يمكنك قراءة التفاصيل من خلال موسوعة حسوب الدالة print
-
قم بتحديد just me وذلك لا يعني عدم مقدرة المدربين من الوصول للمشروع الخاص بك إنما عند تحديد just me ستكون أنت الوحيد المتحكم في مستودع المشروع الخاص بك حيث تستطيع التعديل عليه أو تنفيذ أي عمليات على المستودع من خلال ال github من خلالك فقط ولكن يمكن لأي أحد الوصول للمستودع ولكن لا يمكنه تنفيذ أي خطوة أو التعديل على المستودع إلا من خلال طلب الإذن منك لذلك لست بحاجة لجعل How many team members will be working with you أكثر من مستخدم حالياً في هذه الدورات ربما لاحقاً عند العمل في شركة ويكون هناك أكثر من مبرمج يعمل على المشروع وقتها يمكنك إضافة العدد الذي تريده
-
كما وضح أسامة في التعليق السابق الفرق بين المبرمج وبين المطور فإن الإثنين لهما وظائف ومهام مختلفة عن بعضهما ولتوضيح ذلك الفرق أكثر نحتاج لتوضيح المهام العملية عند إنشاء مشروع ما وهي كالتالي ماذا يفعل المطور ؟ يقوم بالتواصل مع المستخدم لفهم احتياجاته. كيف يمكن لأجهزة الكمبيوتر أن تساعد المستخدم في تحقيق الهدف المعلن أو حل المشكلة المذكورة؟ هذا هو السؤال الذي سوف تبتكر حلاً له. في شركة أكبر ، قد يقوم المطور بتفويض معظم أو كل كتابة تعليمات الكمبيوتر (البرمجة) إلى واحد أو أكثر من مبرمجي الكمبيوتر. في هذه الحالة ، ستعمل بشكل أساسي كمدير للمشروع. في شركة أصغر ، يمكنك تصور حل والقيام ببعض البرمجة لجعل الكمبيوتر ينفذ الحل. بصفتك مطورًا ، ستقوم بتوجيه مشروع الكمبيوتر طوال دورته بالكامل: التعرف على احتياجات المستخدم ، ووضع خطة لجعل الكمبيوتر يلبي تلك الاحتياجات ، وتفويض مهام البرمجة ضمن تلك الخطة إلى مبرمج واحد أو أكثر ، والتحقق من أن النظام بأكمله يعمل. على طول الطريق ، قد تكتب وتختبر الكود كمجموعة فرعية من إدارة مشروع الكمبيوتر بالكامل ، خاصة في شركة أصغر ، لكن وظيفتك الأساسية ستكون توجيه المشروع. ماذا يفعل المبرمج ؟ المبرمج هو فرد ماهر تقنيًا يأخذ "مخططات" المطور ويوجه الكمبيوتر لتنفيذ جانب واحد أو أكثر منها. التعليمات التي يكتبها المبرمج بلغة الكمبيوتر تسمى "التعليمات البرمجية". أنظمة الكمبيوتر المختلفة "تفهم" اللغات المختلفة ، لذا بصفتك مبرمجًا ، ستحتاج إلى إتقان اللغة (اللغات) اللازمة لكل وظيفة. بعد التكويد، يقوم المبرمج باختبار الكود بعناية للتأكد من قيام الكمبيوتر بما يتوقع القيام به في هذا المجال المحدد. بصفته فنيًا ماهرًا يكتب تعليمات لأجهزة الكمبيوتر بلغات البرمجة، لا يحتاج المبرمج إلى تحديد ما سيفعله الكمبيوتر. بدلاً من ذلك ، كمبرمج ، سوف تكتشف كيفية جعل الكمبيوتر يقوم بما هو مطلوب. البرمجة مثل الترجمة. يتضمن اختبارًا للتأكد من فعالية الترجمة: الكمبيوتر الذي يقرأ التعليمات المترجمة إلى لغته يفعل ما تطلبه التعليمات. بصفتك مبرمجًا ، من غير المحتمل أن يُتوقع منك إدارة المشروع بالكامل ، كما يفعل المطور ، على الرغم من أنه قد يكون هناك بعض التداخل بين الوظيفتين في بعض الأحيان. سوف تركز بشكل أساسي على كتابة واختبار تعليمات الكمبيوتر المشفرة.
- 2 اجابة
-
- 1
-
-
نعم يجب دفع المبلغ كاملاً ولكن يمكنك التواصل مع الدعم الفني ربما يوجد خصم أو يمكن التواصل لحل مناسب لك من خلال الرابط التالي بعد الإشتراك ستظهر لك الدورة في أكاديمية مباشرة وسيتم التواصل معك أما بالنسبة المحددة ال 6 أشهر فهي
- 1 جواب
-
- 1
-
-
يمكنك استخدام أدوات إدارة قواعد بيانات من نوع postgresql مثل الأدوات التالية pgAdmin : هي أداة واجهة المستخدم الرسومية الفعلية لـ PostgreSQL ، والأداة الأولى التي يستخدمها أي شخص لـ PostgreSQL. وهو يدعم جميع عمليات وميزات PostgreSQL . DBeaver : هي أداة واجهة مستخدم رسومية رئيسية متعددة المنصات لـ PostgreSQL . DBeaver ليست أداة واجهة مستخدم رسومية أصلية لـ PostgreSQL ، لأنها تدعم جميع قواعد البيانات الشائعة مثل MySQL و MariaDB و Sybase و SQLite و Oracle و SQL Server و DB2 و MS Access و Firebird و Teradata و Apache Hive و Phoenix و Presto و Derby - أي قاعدة بيانات بها برنامج تشغيل JDBC (أكثر من 80 قاعدة بيانات!). أعتقد أن firebirdmaestro ليست لهذا النوع من قواعد البيانات إنما يوجد بديل لها وهو PostgreSQL Maestro
- 2 اجابة
-
- 1
-
-
بالطبع لغات scripting languages نمط عملها مختلف عن Programming Languages مثل ال سي شارب وغيرها وبالطبع كل لغة برمجة لها طريقة كتابة مختلفة عن الأخرى ولكن تبقى المفاهيم والأساس ثابت مع الإختلاف البسيط ولكن طريقة عمل scripting languages تختلف عن Programming Languages كالتالي كل scripting languages هي في الأساس Programming Languages. الاختلاف النظري الوحيد هو أن scripting languages لا تتضمن خطوة التجميع compilation - بل يتم تفسيرها بدلاً من ذلك. على سبيل المثال ، نحتاج أولاً إلى تجميع برنامج سي قبل تشغيله. من ناحية أخرى ، لا نحتاج إلى ترجمة لغة برمجة مثل PHP أو JavaScript. هناك طرق مختلفة تختلف فيها كلتا اللغتين. كود Programming Languages عند تجميعه ، ينشئ ملفات قابلة للتنفيذ في رمز ثنائي ، وتسمى أيضًا ملفات .exe ، والتي تشغل الذاكرة ، بينما لا تنشئ لغات البرمجة النصية ملفات .exe قابلة للتنفيذ. غالبًا ما يتم دعم تصميم واجهة المستخدم والتصميم الرسومي جزئيًا بواسطة Programming Languages ، بينما يتم تسهيل تصميم واجهة المستخدم وأنواع البيانات والتصميم الرسومي بشكل كبير عن طريق scripting languages تم تصميم Programming Languages لتسهيل تطوير البرامج الكاملة ، بينما تُستخدم scripting languages لمساعدة لغات البرمجة وجعل الترميز أسهل وأسرع. تُستخدم scripting languages عمومًا لمشاريع مفتوحة المصدر وتطوير الويب. Programming Languages قابلة للتنفيذ ذاتيًا بينما تتطلب scripting languages مضيفًا. يتم ضغط Programming Languages في حزم صغيرة لا تحتاج إلى أن يتم تفسيرها بواسطة لغة أو تطبيق آخر ، بينما تتم كتابة scripting languages بلغة واحدة ويتم ترجمتها في برنامج آخر. على سبيل المثال ، يجب تضمين JavaScript في HTML ، والذي يتم تفسيره بعد ذلك بواسطة مستعرض الويب. يمكنك قراءة الإجابات على هذا السؤال للمزيد من المعلومات
-
كما في التعليقات السابقة فإن هذا الإختيار يرجع لك من حيث إمكانيات الجهاز الذي تعمل عليه : يحتاج مجال تطبيقات الجوال لإمكانيات عالية نسبياً أما تطوير الويب فيمكنك العمل من خلال أقل الإمكانيات الطلب على أي المجالين أكثر حسب مواقع العمل الحر مجال تطوير الويب أكثر طلباً حسب موقع مستقل المتوفر أكثر في بلدك يمكنك البحث عن الشركات الموجودة في بلدك لتعرف الفرص المتوفره عندك المجال الذي تميل له والعديد من العوامل الأخرى كما أن يوجد تالتطبيقات الهجينة، وتسمح لك بتطوير تطبيقات تعمل على منصتي أندرويد وآيفون مباشرة، عبر تقنيات الويب العادية مثل: CSS و HTML وجافا سكريبت. من أشهر منصات تطوير التطبيقات الهجينة أيونيك (ionic). reactNative والعديد من المنصات الأخرى لذلك في الأخير يرجع هذا الإختيار لك إذا أردت التخصص فقط في تطبيقات الجوال حاول التخصص في تطبيقات الأندرويد أو ال IOS أما إذا أردت تعلم تطوير الويب فيمكنك بعدها تعلم برمجة تطبيقات الجوال من خلال منصات تطوير التطبيقات الهجينة
-
إليك نظرة على بعض أهم مزايا OOP 1. بناء التطبيق ك modules لتسهيل استكشاف الأخطاء وإصلاحها عند العمل باستخدام لغات البرمجة الموجهة للكائنات 2. إعادة استخدام الكود عن طريق ال inheritance 3. المرونة من خلال تعدد الأشكال بالاستناد إلى هذا المثال ، فأنت الآن بحاجة إلى عدد قليل من برامج التشغيل أو الوظائف ، مثل "driveCar" و "driveRaceCar" و "DriveLimousine". تشترك RaceCarDrivers في بعض السمات مع LimousineDrivers ، ولكن أشياء أخرى ، مثل RaceHelmets و BeverageSponsorships ، فريدة من نوعها. هذا هو المكان الذي يلعب فيه تعدد أشكال البرمجة الشيئية. نظرًا لأنه يمكن لوظيفة واحدة أن تتغير لتتكيف مع أي فئة توجد بها ، يمكنك إنشاء وظيفة واحدة في فئة السيارة الأصلية تسمى "drive" - وليس "driveCar" أو "driveRaceCar" ، ولكن فقط "drive". ستعمل هذه الوظيفة مع RaceCarDriver و LimousineDriver وما إلى ذلك. 4. حل المشكلة الفعال يتجنب العديد من الأشخاص تعلم OOP لأن منحنى التعلم يبدو أكثر حدة من ذلك في البرمجة من أعلى إلى أسفل. لكن خذ الوقت الكافي لإتقان OOP وستجد أنه النهج الأسهل والأكثر بديهية لتطوير المشاريع الكبيرة. تدور البرمجة الموجهة للكائنات في النهاية حول حل مشكلة كبيرة وتقسيمها إلى أجزاء قابلة للحل. لكل مشكلة صغيرة ، تكتب صفًا يقوم بما تحتاجه. وبعد ذلك - أفضل ما في الأمر - يمكنك إعادة استخدام هذه الفئات ، مما يجعل حل المشكلة التالية أسرع. هذا لا يعني أن OOP هي الطريقة الوحيدة لكتابة البرامج. ولكن هناك سبب يجعل لغات مثل C ++ و C # و Java هي خيارات الانتقال لتطوير البرامج الجادة. ولكن عند استخدام nodejs فلا نحتاج لاستخدام ال OOP إلا قليلاً حيث أن ال nodejs توفر لنا أنك لست بحاجة إلى ال inheritance . يمكنك ، على سبيل المثال ، اختيار الكتابة بأسلوب functional والاعتماد على ال composition تركيب بدلاً من ذلك. مع Node.JS ، لديك أيضًا modules كطريقة أساسية لتفكيك التعليمات البرمجية الخاصة بك. يمكن لل modules أن تكون مفردة وهمية أو مكتبات وظيفية أو فصول أو حتى مجرد تقديم قيمة محسوبة لذلك يعتبر في ال Node.JS استخدام ال OOP قليل (يرجع من طبيعة اللغة javascript ) إلا إذا كان المشروع يتطلب ذلك
- 4 اجابة
-
- 1
-
-
نعم يمكن عمل ذلك بالطبع من خلال عدة طرق لكن أفضلهم هو استخدام ال مشروع PHP Desktop يمكنك قراءة التوثيق من خلال هذا الرابط يمكنك أن تجد العديد من المقالات أو الفيديوهات من خلال البحث عن "php desktop app" وستظهر لك مقالات كثيره ولكن الأفضل هو استخدام ال مشروع PHP Desktop من الرابط السابق تعد PHP مفيدة لل backend ولكنها تفتقد الكثير مما قد تحتاجه لتطبيق سطح المكتب.
- 2 اجابة
-
- 1
-
-
كما في التعليقات السابقة يمكنك إضافة العديد من المميزات مثل الإكمال التلقائي من خلال الإضافة "PHP IntelliSense" وهي بالطبع من أقوى الإضافات لل php لكن يمكنك تطوير هذا الموضوع لأبعد من ذلك فيمكنك استخدام الإضافات التالية DocBlocker : تستخدم لإضافة block comment بسهولة كما أنه يوجد تعليقات جاهزة للعديد من الدوال PHP Debug PHP Getter & Setter : تضيف هذه الإضافة وظائف "get and set" بسرعة إلى شفرتك. الأمر بسيط مثل النقر بزر الماوس الأيمن على المتغير الذي تريد الحصول عليه وتحديده . PHP Files Extension : بعد التثبيت ، ستتمكن من الوصول إلى ثلاث وظائف إنشاء لنوع ملف مهيأ مسبقًا ، وهي class, interface و trait. بعد اختيار أيٍّ من هذه الأنواع كنوع ملف الإنشاء ، كل ما عليك فعله هو تسميته ، وسيتم إنشاء الملف ، ويتم تجهيزه بالكود ، وجاهز للعمل! Tabnine: هو مساعد الذكاء الاصطناعي سيساعدك على البرمجة بشكل أسرع. ، يعمل هذا المكون الإضافي ، المدفوع بالتعلم الآلي ، مع الأنماط الحالية لمشاريعك. في الإكمال التلقائي للشفرة التنبؤية
-
يمكنك إضافة الدوال في ال class ثم إستدعائها كم في المثال التالي class WorkbookExtended(): def __init__(self, file_path): self.workbook = load_workbook(file_path) def locate_value(self, value, range): ws = self.workbook.active cells_with_value = [cell.coordinate for row in ws[range] for cell in row if cell.value == value] return cells_with_value wbe = WorkbookExtended("test.xlsx") wbe.locate_value("foo", "A2:B10") تم إضافة الدالة locate_value في الكلاس ثم قام بعد ذلك بغستدعائها من خلال ال wbe إذا كنت تقصد ذلك فيمكنك البحث عن ال Extending openpyxl workbook class للمزيد من المعلومات
- 3 اجابة
-
- 1
-
-
يمكنك القراءة أو الكتابة على هذا الملف الذي تم إستدعائه من خلال الدوال التالية سواء في الكلا س أو خارج الكلاس الوصول لل sheets من خلال الدالة get_sheet_names() wb.get_sheet_names() ['Sheet1', 'Sheet2', 'Sheet3'] الوصول للخلايا من خلايا sheet.cell(row=2, column=4) <Cell Sheet1.D2> sheet.cell(row=2, column=4).value 'Pencil' يمكنك استخدام loop for x in range (1,9): print(x,sheet.cell(row=x,column=4).value) يوجد العديد من الدوال الأخرى يمكنك الوصول لها من خلال التوثيق الرسمي لهذه المكتبة من هنا
- 3 اجابة
-
- 1
-
-
يمكن أن تحدث هذه المشكلة نتيجة العديد من المشكلات لذلك يجب عليك تجربة هذه الخطوات للوصول للحل ذاكرة التخزين المؤقت للمتصفح التالفة. قد تحدث المشكلة بسبب ذاكرة التخزين المؤقت لمتصفح الويب التالفة. حاول مسح ذاكرة التخزين المؤقت. إعدادات المتصفح التي تم تكوينها بشكل خاطئ. قد تحدث المشكلة إذا تم تكوين بعض إعدادات المتصفح بشكل خاطئ. حاول التراجع عن التغييرات أو إعادة تعيين متصفح الويب إلى إعداداته الافتراضية. التداخل من خادم وكيل أو VPN. حاول تعطيل الخادم الوكيل أو قطع اتصال VPN الخاص بك وحاول تسجيل الدخول. قم بإلغاء إضافات ال AD blocker قم بإيقاف تشغيل Hardware Acceleration من خلال إعدادات google chrome
-
في الدالة التي تقوم بقراءة الخلايا يمكنك إضافة ال if condition للتحقق إذا كانت هناك خلايا فارغة مثال على ذلك ws=wb.active names=ws['C'] for x in names: if x.value is None: break print(x.value) أما بالنسبة للسؤال الثاني فيمكنك عمل unmerge ثم إضافة القيم التي تحتاجها ثم عمل merge للخلية مجدداً عن طريق الكود التالي from openpyxl.workbook import Workbook wb = Workbook() ws = wb.active ws.merge_cells('A2:D2') ws.unmerge_cells('A2:D2') # or equivalently ws.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4) ws.unmerge_cells(start_row=2, start_column=1, end_row=4, end_column=4) يمكنك قراءة التوثيق الخاص بالمكتبة من هذا الرابط للمزيد من المعلومات
- 3 اجابة
-
- 1
-
-
البرمجة التنافسية مهمة للمبرمج تزيد من قدراتك على حل المشكلات ستساعدك البرمجة التنافسية على حل مشكلات وخوارزميات البرمجة الواقعية الصعبة وتصميمها وتنفيذها في المستقبل. تصبح أسرع. نظرًا لأن المبرمجين المتنافسين يحتاجون إلى حل 5-6 مشاكل في غضون ساعتين أو نحو ذلك ، فإنهم عادة ما يكونون مرتاحين للمواعيد النهائية الصغيرة. تصبح أكثر انضباطًا وتركيزًا. في المنافسة ، يجب أن تحل المشاكل في المواقف العصيبة. تعلمك المشاركة في البرمجة التنافسية كيفية التركيز بشكل أكبر على المهمة وعدم إكمالها بسرعة فحسب ، بل بدقة. هذه المهارات مفيدة للغاية لأي وظيفة ، وليس فقط في البرمجة . تتعلم العمل في فريق. تساعدك مسابقات الفريق مثل ACM ICPC على تعلم كيفية العمل معًا بشكل فعال ، حيث يجب عليك العمل مع الآخرين في فريقك لإكمال نفس المهمة. تتعلم كيفية تقييم نقاط القوة والضعف لدى أعضاء فريقك وتقسيم المسؤوليات بشكل فعال بين بعضهم البعض. هذه مهارة مهمة للغاية حيث ستحتاج في الوظيفة إلى العمل ضمن فريق في معظم الأوقات. فرص أفضل في أعلى الشركات متعددة الجنسيات. يتمتع المبرمجون التنافسيون الجيدون بميزة في وضع أنفسهم في الشركات التي تعتبر أكثر نخبة ويصعب الوصول إليها أكثر من غيرها. المشاركة في مسابقة البرمجة شيء يجب أن تبرزه في سيرتك الذاتية. ستكون مقابلات البرمجة الخاصة بك أسهل. بالطبع لا يكون تعلم البرمجة التنافسية على حساب المجال البرمجي الذي تدرسه إنما هي تقوي المهارات التي تحتاجها أو المهارات التي تجعل منك مبرمج محترف
-
المشكلة في الكود وهي ليست مشكلة بالفعل حيث أنه السلوك الطبيعى لل javascript حيث أن ال submit يجب أن يتم عمل reload للصفحة وذلك الطبيعي ولمنع هذا السلوك يمكنكنا إضافة الدالة preventDefault كما في التعليق السابق ويمكننا أيضاً إضافة هذه الدالة لل button بشكل أبسط كالتالي <button type="submit" onclick="event.preventDefault(); redirect()">Submit</button> ويمكن استبدال هذه الدالة بال return: false لل form ولكن يفضل استخدام ال preventDefault وإذا كنت تريد دعم المتصفحات القديمة ليعمل الموقع بشكل سليم على جميع المتصفحات يمكننا إضافة هذا الكود في الكود الموجود في التعليق السابق نستبدل e.preventDefault(); ب if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; }