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

Kais Hasan

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

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

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

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

    24

كل منشورات العضو Kais Hasan

  1. مرحبًا، حاليًا لا توجد مكتبات كثيرة موثوقة توفر هذه الخدمة بشكل مباشر، يمكنك الإطلاع على هذه المكتبة فهي تدعم القيام بذلك مع دجانغو بشكل سهل نسبيًا و لكن عليك فهم أن الاعتماد على مكاتب غير مستعملة بشكل كبير و موثقة في عمليات الدفع هو أمر ليس جيد، بالتالي في حال كان مشروعك تعليمي فقط لا مشكلة، و إلا عليك الانتظار قليلًا حتى يتم تبني الأمر أكثر قليلًا. https://pypi.org/project/django-cryptocurrency-payment/ هناك مكتبة أخرى مشهورة أكثر و لكنها مستعملة في بايثون بشكل عام و ليست مخصصة فقط للدجانغو، بالتالي في حال أردت استعمالها عليك فهم عملية الدفع و آليتها بشكل كبير حتى يمكنك استعمال المكتبة لتحقيق ذلك. https://pypi.org/project/bitcoinlib/ تحياتي.
  2. مرحبًا، انقطاعك عن شيء ما ينسيك تفاصيله و يقلل المرونة التي كانت لديك فيه. هذا ينطبق على كل شيء بما فيها البرمجة. و لكن الانقطاع لا ينبغي أن يؤدي إلى نسيان الأفكار و طريقة التفكير اللازمة للقيام بالأمور، بالتالي سيكون من الأسهل إعادة التعلم. بناء على ذلك من الجيد أن تبدأ بالمراجعة من مصادر لا تفترض أن لغة البرمجة (التي تريد إعادة تعلمها) هي أول لغة لك، هذا يسرع عملية إعادة التعلم حيث أن هذا النوع من المصادر لا تقوم بإعادة شرح الأفكار البسيطة العامة للبرمجة مثل التعابير الشرطية و الحلقات و ما إلى هنالك، فقط تقوم بشرحها بشكل سريع فكل ما يهمك هو استعادة هذه المعلومات و ليس تعلمها من الصفر. أما فيما يخص تطوير الواجهات، فأفضل طريقة هي أن تقوم بإعادة الاطلاع على مشاريع قديمة قمت بإنشاءها، من ثم إنشاء موقع مشابه من الصفر حتى تستعيد المرونة في ذلك. تحياتي.
  3. مرحبًا، هناك مستويات مختلفة من المسائل البرمجية التي تساعدك على تطوير مهاراة ال problem solving. بالتالي كبداية كل ما ستحتاجه هو معرفة جيدة بإحدى اللغات البرمجية، و هذا يعني معرفة بأساسياتها و ليس بأطر عمل و مكتبات كبيرة فيها. بعد أن تحقق ذلك يمكنك بدء محاولات حل بعض المسائل البسيطة على المواقع المختلفة التي توفر مسائل لتطوير هذه المهارة، يمكنك البدء بمواقع تقدم مسائل بسيطة مثل HackerRank و HackerEarth. بعد أن تتقن المسائل البسيطة المبنية على كود بسيط و تفكير فقط و بدون استعمال خوارزميات يمكنك البدء بتعلم الخوارزميات و بنى المعطيات. هناك الكثير من المصادر لتعلم ذلك، أكاديمية حسوب تقدم دورة علوم الحاسب الذي تساعدك في تحقيق هذا. بعد تعلم هذه الأمور يمكنك البدء بحل المسائل المعقدة أكثر و التي تعتمد على استعمال هذه الخوارزميات بشكل ذكي، يمكنك الانتقال إلى مواقع تقدم مسائل أكثر صعوبة مثل CodeForces. كما أنه يجب عليك التحلي بالصبر و تكريس وقت كافٍ لتحقيق ذلك، فقد تستغرق أحيانًا ساعات لحل مشكلة ما. كنصيحة لطريقة الحل للمسائل بشكل عام، ابدأ بفهم المسألة بشكل دقيق، ما هو الدخل و ما هو الخرج المتوقع، و ما هي الحالات الخاصة التي يمكن أن تظهر. بعدها قم بالانتقال إلى العمل باستعمال قلم و ورقة لتدوين ملاحظات حول المسألة، و التفكير في حلول ممكنة. لا تقم بالتفكير بالكود نهائيًا في المرحلة الأولى، فحل أي مشكلة يتم بفكرة و الكود هو مجرد ترجمة لهذه الفكرة لا أكثر. بالتالي عليك التركيز على حل الفكرة و هنا تقوي مهارة ال problem solving، أما في حال قمت بالتفكير بالكود بشكل مباشر فسيكون من الصعب عليك حل المسائل المعقدة. تحياتي.
  4. مرحبًا، هي عبارة عن اختبار أصغر جزء ممكن من الكود، مثلًا اختبار تابع ما، أو خاصية جزئية ما. طبعًا تقوم باختبار جميع هذه الأجزاء الموجودة في الكود. بالطبع يتم ذلك عن طريق الكود نفسه بحيث تقوم بكتابة كود يقوم بإنشاء بيانات تستعملها في عملية اختبار الكود. تحياتي.
  5. مرحبًا، من فضلك قومي بمشاركة لقطات شاشة توضح الكود المكتوب و الخطأ الظاهر حتى يمكننا مساعدتك. تحياتي.
  6. هناك قسم للتعليقات أسفل كل درس، يمكنك وضع السؤال في التعليقات. تحياتي.
  7. و عليكم السلام، الهدف منها هو الحصول على العنصر التالي. مثلًا في حال كنت تستعمل generator. مثال على ذلك: def odd_numbers(start, end): for i in range(start, end): if i % 2 == 1: yield i odd_generator = odd_numbers(0, 100) print(next(odd_generator)) # 1 print(next(odd_generator)) # 3 بشكل عام أي غرض يدعى iterator يمكننا تطبيق هذا عليه. هذا التابع لن تحتاج إلى استعماله في البرامج العادية، بشكل عام من الممكن أن تضطر إلى استعماله في حال كنت تريد كتابة صنف خاص بك يدعم فكرة ال iterator.. و هو شيء متقدم نوعًا ما. تحياتي.
  8. و عليكم السلام، في حال كانت جميع الأعمدة لا تحوي على رأس header فيمكنك القيام بذلك بسهولة بالشكل التالي: pd.read_csv("path/to/file.csv", names=["Column_1", "Column_2", "Column_3", "Column_4"]) أما في حال كان هناك بعض الأعمدة لا تحوي على رأس و بعضها الآخر يحوي، فهذه مشكلة كبيرة في الملف ذاته، يمكنك حلها عن طريق قراءة الملف و أخذ أسماء الأعمدة كلها، و استبدال الفارغ منها، و لكن ينصح بالقيام بذلك بشكل يدوي، فالمشكلة هي في الملف نفسه و يجب إصلاحها فيه، كما أن اصلاحها فيه أسهل بكثير من كتابة كود للقيام بذلك. تحياتي.
  9. مرحبًا، من فضلك قومي بإرفاق سؤالك في التعليقات أسفل الدرس، قسم الأسئلة العامة لا يجب طرح أسئلة الدورات فيه، فهكذا لن نعرف تمامًا ما الذي ترغبين القيام به. أيضًا عند طرح سؤالك في التعليقات أسفل الدرس من فضلك أرفقي ملفات المشروع على شكل ملف مضغوط حتى يمكننا رؤية الكود كله و معرفة الخطأ. تحياتي.
  10. مرحبًا، في حال كان هذا السؤال متعلق بأحد الدروس في الدورات فمن الأفضل إضافة سؤالك في التعليقات أسفل الدرس. تحياتي.
  11. بشكل عام عدد الأعمدة لا يكون كبير، و من الأسهل القيام به بشكل يدوي بدل كتابة كود للقيام بذلك، فهو لن يعتمد على أي منطق برمجي، فقط تغيير أسماء. أي ببساطة افتح الملفات و قم بتغيير الأسماء فيها قبل قراءتها في الكود. تحياتي.
  12. و عليكم السلام، بشكل عام هذا يختلف بين مشروع و آخر. و لكن من الممكن وضع بعض الخطوات العامة كما يلي: بعد تحديد فكرة المشروع طبعًا، يمكننا اعتبار المشروع أنه حل لمشكلة، فهذه هي مشاريع ال AI مثلًا حل مشكلة التعرف على محتوى صورة. لذلك يجب البحث عن الأعمال السابقة التي قامت بمحاولة حل هذه المشكلة، هذا يشمل قراءة بعض المقالات، و في مستوى متقدم أكثر قراءة أوراق بحثية كثيرة. في المشاريع المعقدة قد تستمر هذه الخطوة لأشهر! هذه الخطوة ستحدد كل ما سنقوم به في الخطوات التالية. بعد نهاية الخطوة السابقة نكون قد أصبح لدينا فكرة عن التقنيات التي يمكن استعمالها، سواء لمعالجة البيانات أو لبناء النموذج و تدريبه. لذلك علينا تحديد البيانات التي سنقوم بالتدريب عليها، قد يكون لدينا بيانات خاصة بنا في المشروع أو في حال عدم وجودها فمن خلال الخطوة 1 سنكون اطلعنا على أشهر مجموعات البيانات و يمكننا الاختيار بينها. معالجة البيانات، و هي خطوة مهمة جدًا، فالكثير من البيانات تحتاج بعض عمليات المعالجة قبل تدريب النموذج عليها، مثل تغيير حجمها أو تحويلها إلى صور رمادية و غيرها الكثير من الأمور. بناء النموذج، و هنا أيضًا نكون نعرف ما هو النموذج فقد تم تحديده في الخطوة 1. و لكن قد يكون علينا تجريب عدد طبقات مختلف في كل مرة أو غيرها من الأمور التي يمكن تغييرها في النموذج، لذلك دائمًا نضع الخيارات التي يجب تجريبها، و نقوم بالبدء بأبسطها فهو سيكون أسرع خيار و بالتالي سنحصل على معلومات عما نحتاجه بشكل أسرع. بعد الانتهاء من الخطوة 4 يجب القيام بتدريب النموذج، هذه العملية تأخذ وقتًا طويلًا جدًا حسب حجم البيانات و النموذج و العتاد المستعمل في عملية التدريب. تقييم النموذج. طبعًا هذه العمليات تكرارية، أي بعد الانتهاء من الخطوة 6 و معرفة مدى جودة النموذج، سنضطر غالبًا إلى القيام ببعض التعديلات لحل بعض المشاكل، نعود إلى الخطوة 4 بشكل عام فأغلب التعديلات تكون على النموذج و لكن في بعض الأحيان قد نضطر إلى العودة حتى الخطوة 1 ! و لكن هذا نادر جدًا طالما أننا قمنا بإعطاء الخطوة 1 الوقت الكافي. تحياتي.
  13. مرحبًا، BeautifulSoup تقوم بجلب صفحة ويب و تسهل الوصول إلى العناصر الموجودة فيها لجلب مختلف البيانات منها. بالتالي هي فعليًا تتعامل مع نسخة ثابتة من الموقع و الهدف منها بشكل أساسي جلب البيانات. أما Selenium فيمكننا من محاكاة عملية الدخول إلى أي موقع و القيام بمختلف العمليات ضمنه، أي بشكل عام الهدف منه هو أتمتة بعض العمليات. مثلًا لنفترض هناك موقع تريد أن تسجل دخول إليه كل فترة معينة و القيام ببعض العمليات ضمنه (مثلًا شراء غرض ما). يمكن أتمتة هذا الشيء بواسطة Selenium. تحياتي.
  14. هذا يعتمد على الاستعمال نفسه. في حال كنت تريد تدريب نموذج واحد فقط على كلا الملفين فيجب دمجهما. و هذا هو الاستعمال الشائع. في حال كان لديك استعمال آخر يمكنك ذكره حتى يمكنني إعطاءك جواب دقيق. تحياتي.
  15. مرحبًا، حتى يمكنك الحصول على بيانات من عدة مصادر (هنا ملفين مثلًا) فيجب أن تكون البيانات لها نفس الخصائص في كل المصادر أو تقوم بأخذ المشترك بينها حتى تتجنب الحصول على أعمدة فارغة كثيرة. في حالتك هذه و بإطلاع سريع على الملفين يبدو أن الملفين لهما نفس الأعمدة و لكن مع اختلاف بتسمية العمود بشكل بسيط، لذلك تكون الخطوة الأولى هي تحميل كل ملف على حدى و توحيد الأسماء، مثال بسيط هناك عمود اسمه ST slope في أحد الملفات و لكن في الملف الآخر اسمه Slope of ST، بالتالي وضوحًا يجب تعديل أحدهما إلى الآخر أو تعديل كليهما إلى اسم مشترك آخر. و هذا ينطبق على بقية الأعمدة، أما في حال وجود أعمدة غير مشتركة فيجب حذفها. أمر آخر يجب القيام به هو توحيد شكل القيم و نمطها، مثلًا في أحد الملفات كان يتم وضع قيم نصية للدلالة على أن الشخص معه مرض أم لا، بينما في الملف الآخر يتم وضع 0 أو 1، بالتالي عليك تحويل القيم النصية إلى 0 و 1 أيضًا. بعد القيام بهذه العمليات و بافتراض أنك قمت بذلك باستعمال Pandas و أصبح لديك غرضين DataFrame يمثلان البيانات و لكن مع أعمدة متوافقة في الاسم و النوع، يمكنك استعمال الدالة concat لدمجهما. تحياتي.
  16. مرحبًا، مصطلح "أصعب" غير دقيق. فهناك صعوبات خاصة بكل بيانات و لا يوجد ما هو أصعب بشكل عام. مشاكل البيانات الطبية بشكل أساسي هي قلتها، فمن الصعب بشكل عام الحصول عليها بسبب الخصوصية الخاصة بالمرضى. كما أن العمل في هذا المجال حساس جدًا، فالتعامل يكون مع حياة الانسان و هو أمر يجعل من الصعب الوثوق بآلة ليس من الواضح تمامًا بعد كيف تعمل و كيف تتعلم ما تتعلمه. و لذلك بشكل عام يتم استعمال الأدوات التي يتم تطويرها في هذا المجال كمساعدة للطبيب نفسه الذي هو من يقوم بالقرارات النهائية. صعوبة أخرى هي حاجتك لوجود طبيب يعطيك بعض المعلومات عن طبيعة البيانات و ما الذي يجب التركيز عليه و ما إلى هنالك، من غير المجدي فقط تطبيق نموذج عام للصور بدون أي تعديل، ولو أنه سيعطي نتائج جيدة في كثير من الأحيان و لكن كما سبق و ذكرت يجب أن يكون هناك معرفة لما يقوم به النموذج و هذا يتطلب معرفة بالبيانات و طبيعتها لا يمكن الحصول عليها إلا من خلال وجود طبيب في فريق العمل. تحياتي.
  17. مرحبًا، نسيان التعليمات البرمجية و غيرها من التفاصيل التي يمكن البحث عنها على غوغل بسهولة كبيرة هو أمر عادي، ليس عليك حفظ هذه التفاصيل و يمكنك في كل مرة البحث عنها، مع الخبرة ستصبح بديهية لديك و قد تحفظها. أما في حال كان المقصود الأفكار فالأفكار لا تنسى، طالما أنك فهمت الفكرة لا يمكن أن تنساها، بالتالي نسيان فكرة ما غالبًا يدل على عدم فهمها بشكل كامل، و حينها يمكنك السؤال عنها في أسف الدرس الخاص بها. أي بشكل عام الأفكار لا تنسى ففهمك لأي فكرة يجعلك قادرًا على استعمالها عندما يلزم الأمر، و لكن قد يأتي موقف يجب استعمالها فيها و لا تعرف ذلك، هذا أيضُا عادي فالربط بين المواقف و الأفكار المختلفة التي لديك يحتاج إلى تدريب و خبرة. في حال كان الجواب ليس كافيًا يمكنك ذكر مثال لتوضيح ما تنساه حتى يمكنني تخصيص الجواب بشكل أفضل. تحياتي.
  18. مرحبًا، هذه ليست نفس المشكلة و إنما هي شيء له علاقة بأسماء الملفات يجب القيام به في جافا و إلا ستحدث مشاكل. كما تلاحظ في البداية يتم القيام بترجمة الملف عن طريق javac لإنشاء الصنف و الذي هو هنا Upp (لاحظ أنه أنشأ ملف إضافي اسمه Upp.class) و من ثم يتم محاولة تنفيذ الكود عن طريق java و لكن اسم الملف مختلف عن اسم الصنف الذي كتبته و هذا ما لا يجب القيام به في جافا. تحياتي.
  19. مرحبًا، لقد حللنا المشكلة، كان هناك عدة نسخ من java و هذا يبدو أنه سبب المشاكل، إزالة تثبيت كافة النسخ و إزالة تثبيت الإضافة من ثم إعادة تثبيت أحدث نسخة java و إعادة تثبيت الإضافة حل المشكلة. حاليًا دائمًا يكفي أن تقوم بتنفيذ الكود كما أظهرت لك، نقر باليمين على الملف و اختيار run code. تحياتي.
  20. any desk هو برنامج يمكنني من استعمال جهازك بشكل تفاعلي، بحيث يمكنك رؤية ما أقوم به. في حال لم يكن لديك قم بتنزيله من هنا: https://anydesk.com/en/downloads/windows بعد تنزيله سيظهر لك عنوان مؤلف من أرقام، قم بنسخه و لصقه هنا. تحياتي.
  21. من فضلك أرفق الكود الخاص بك على any desk، فهذا أسرع من التعليقات هنا. تحياتي.
  22. هذا غريب جدًا! هل يمكنك تنفيذ نفس هذه التعليمات و لكن في سطر الأوامر cmd، أي خارج vscode. كما أنني أريد لقطة شاشة لما ظهر عند تشغيل الكود باستعمال ctrl+F5. تحياتي.
  23. ماذا كان الخرج من تنفيذ الخطوات؟ لم ترفق لقطة شاشة له. كما أنه يجب تنفيذ java -version و ليس فقط java. تحياتي.
  24. يبدو أنك تقوم بتشغيل الملف بشكل خاطئ، لقد قمت بتجربة الأمر لدي و عمل بشكل صحيح. أعود للتذكير أنه يجب إغلاق ال vscode و إعادة تشغيله بعد ذلك نقوم بالضغط على ctrl+F5 ليتم تشغيل الكود. في حال لم ينجح الأمر من فضلك قم بفتح سطر الأوامر في vscode عن طريق الضغط على Terminal و اكتب java -version و أرفق لقطة شاشة للنتيجة. تحياتي.
  25. نعم، حاليًا يجب عليك إغلاق vscode من ثم إعادة تشغيله. و حاول تشغيل الكود. تحياتي.
×
×
  • أضف...