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

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

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

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

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

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

    11

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

  1. يمكنك استخدام مكتبة معالجة الصور المعروفة باسم OpenCV ومكتبة التعرف الضوئي على الحروف المعروفة باسم Tesseract. قبل البدء، يجب عليك تثبيت هذين المكتبتين في بيئتك الافتراضية باستخدام أداة إدارة الحزم مثل pip. يمكنك تثبيتهما باستخدام الأوامر التالية: pip install opencv-python pip install pytesseract بعد تثبيت المكتبتين، يمكنك استخدام الكود التالي لاستخراج النص من الصورة: import cv2 import pytesseract # تحميل الصورة image = cv2.imread('path/to/image.jpg') # تحويل الصورة إلى اللون الرمادي gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # تطبيق تعديلات على الصورة لتحسين التعرف على الحروف gray = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1] gray = cv2.medianBlur(gray, 3) # استخراج النص من الصورة باستخدام Tesseract text = pytesseract.image_to_string(gray, lang='eng') # طباعة النص المستخرج print(text)
  2. نعم هناك فرق بين القائمة (list) والمصفوفة (array) في لغة برمجة Python. القائمة (list) هي ترتيب مرن من العناصر، حيث يمكن أن تحتوي على أي نوع من البيانات مثل الأعداد والسلاسل والقوائم الأخرى وحتى الكائنات. يمكن إضافة وحذف العناصر من القائمة وتعديلها بسهولة. على سبيل المثال: my_list = [1, 2, 3, "four", [5, 6]] أما بالنسبة ل المصفوفة (array) هي هيكل بيانات متجانس يحتوي على عناصر من نفس النوع. تستخدم المصفوفات عادة للعمليات الرياضية والعلمية ومعالجة البيانات الكبيرة. لإنشاء مصفوفة في Python ، يمكنك استخدام مكتبة NumPy التي توفر دعمًا قويًا للمصفوفات. على سبيل المثال: import numpy as np my_array = np.array([1, 2, 3, 4, 5]) المصفوفات في NumPy توفر عمليات فعالة للتعامل مع البيانات الرقمية وتنفيذ العمليات الرياضية بسرعة. كما توفر أيضًا وظائف مفيدة للتلاعب بالمصفوفات وتحويلها. لذا، إذا كنت تحتاج إلى هيكل بيانات مرن ومتنوع، فإن القائمة (list) هي الخيار المناسب. أما إذا كنت تعمل على العمليات الرياضية أو معالجة البيانات الكبيرة، فإن المصفوفة (array) في NumPy هي الخيار المناسب.
  3. لا تحتاج إلى استخدام هذه المكتبات في معظم تطبيقات الويب. إذا كنت تقوم بإنشاء موقع ويب بسيط، مثل موقع شخصي أو مدونة وما إلى ذلك. المكتبات مثل NumPy وSciPy وPandas وMatplotlib ضرورية فقط إذا كان تطبيق الويب يشمل الحوسبة العلمية أو علم البيانات أو التعلم الآلي. حتى عندما يكون هناك حاجة لهذه المكتبات، قد يتم التعامل مع هذا الجانب من تطبيق الويب بواسطة فريق منفصل، وفريق تطوير الويب يحتاج فقط إلى معرفة كيفية دمجها في تطبيق الويب.
  4. هناك أسماء أخرى لتخصص أمن المعلومات في بريطانيا، منها: أمن الشبكات (Network Security) الهندسة الأمنية (Security Engineering) وهذا يرجع إلى أن تخصص أمن المعلومات يشمل العديد من المجالات الفرعية، مثل أمن الشبكات، والأمن السيبراني، والهندسة الأمنية، والتحليل الجنائي الرقمي، وغيرها. ولكن من خلال الرابط التالي يوجد العديد من الكليا التي توفر تخصص Cybersecurity https://studyinfocentre.com/blog/uk/institute/top-cyber-security-universities-in-uk
  5. بالإضافة للمجالات التي قدمها مصطفى في التعليق السابق يوجد أيضاً مجالات أخرى يمكنك تعلمها من خلال لغة python فهذه اللغة تعتبر موجودة في جميع المجالات Automation (الأتمتة) باستخدام Python و الأتمتة هي عملية تحويل المهام التي يمكن تنفيذها بشكل تكراري أو روتيني إلى عمليات آلية وتلقائية باستخدام البرمجة. في مجال تطوير البرمجيات باستخدام Python وهو مجال في طلب متزايد
  6. كما أخبرك مصطفى في التعليق السابق يمكنك استخدام `Intersection Observer`. اليك مثال بسيط يظهر كيفية استخدام `Intersection Observer` لتحقيق هذا السلوك: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Scroll Activation</title> <style> /* يمكنك تخصيص أسلوب التنشيط حسب احتياجاتك */ .active-tab { background-color: #4CAF50; color: white; } </style> </head> <body> <div id="content"> <!-- محتوى الصفحة هنا --> </div> <script> // استهداف العنصر الذي تريد تنشيطه const targetElement = document.getElementById('content'); const tabElement = document.getElementById('your-tab-id'); // استبدل بالهوية الفعلية لعلامة التبويب الخاصة بك // إعداد Intersection Observer const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { // عندما يكون العنصر مرئيًا tabElement.classList.add('active-tab'); } else { // عندما يكون العنصر غير مرئي tabElement.classList.remove('active-tab'); } }); }); // تمرير العنصر المستهدف إلى Intersection Observer observer.observe(targetElement); </script> </body> </html> يمكنك تعديل الكود السابق ليتناسب مع المشروع لديك
  7. أولاً إذا كنت مبتدئًا تمامًا، فمن المهم أن تبدأ بتعلم أساسيات الكمبيوتر. فهم المكونات المادية والكمبيوتر، وكيفية استخدام نظام التشغيل، وكيفية استخدام البرامج الأساسية مثل متصفح الويب ومعالج النصوص. ثانياً وهي أهم خطوة بعد ذلك دراسة المفاهيم الأساسية لعلوم الحاسوب كما وضح ذلك عمار في التعليق السابق . وأخيراً تحتاج للتخصص في مجال برمجي محدد يمكنك الإطلاع على الإجابات التالية للمزيد من التفاصيل حيث الشرح السابق مختصر بدلاً من التكرار
  8. يجب أولاً معرفة إذا كان هناك برامج تستخدم نفس المنفذ من خلال الأمر التالي افتح سطر الأوامر (Command Prompt) كمسؤول. netstat -ano | find "YOUR_PORT_NUMBER" مع كتابة رقم المنفذ مكان YOUR_PORT_NUMBER وستظهر البرامج التي تستخدم نفس المنفذ ويمكنكي بعدها إغلاقه
  9. كما أخبرك مصطفى سبب أن العملة المطلوبة للإشتراك في الدورة هي الدولار فهنا تكون المشكلة حيث أن من خلال حساب paypal (الحسابات المصرية) لا يمكنك الدفع أيضاً (الحسابات المصرية) كما أنه تم إيقاف معظم البطاقات للدفع بالخارج ما عدا بعض البطاقات مثل easy pay ولكن هذه البطاقات لها حد معين أعتقد أنه أقل من ال 150$ لذلك الحل هو استخدام بطاقة إئتمانية وسيتم الإشتراك بدون مشكلة وكما أخبرك مصطفى يمكنك الإتفاق مع وسيط وأيضاً يمكن أن يكون هناك حل أفضل من خلال التحدث مع الدعم الفني للأكاديمية من خلال هذا الرابط
  10. يقوم Django بالتحقق من رمز CSRF من خلال Middleware يدعى CsrfViewMiddleware. هذا الوسيط يقوم بإضافة حقل CSRFToken إلى جميع الطلبات التي تتطلب المصادقة. يحتوي هذا الحقل على رمز عشوائي يولده Django. عند وصول الطلب إلى الخادم، يقوم Django أولاً بتحقق من عنوان URL للطلب. إذا كان عنوان URL غير مدرج في قائمة الاستثناءات، فسيتحقق Django من رمز CSRF. يقوم Django بالتحقق من رمز CSRF عن طريق مقارنة الرمز الموجود في الطلب بالرمز الموجود في ملف تعريف المستخدم. إذا كان الرمزان متطابقين، فسيتم قبول الطلب. إذا كان الرمزان غير متطابقين، فسيتم رفض الطلب. بالنسبة لسؤالك الثاني، نعم، يمكن للمبرمج إعطاء أوامر معينة للخادم باستخدام إطار عمل Django. يمكن للمبرمج القيام بذلك عن طريق استخدام Middleware أو Decorators أو Views. على سبيل المثال، يمكن للمبرمج استخدام Middleware لإضافة ميزات أمنية إضافية إلى التطبيق. يمكن للمبرمج استخدام Decorators لإضافة سلوك معين إلى Views.
  11. شرح المشكلة غير واضح ولكن حسب ما فهمت فهناك عدة أسباب محتملة لهذه المشكلة : قد يكون هناك مشكلة مع تنصيب WAMP أو إعداداته. يمكنك محاولة إعادة تنصيبه. قد تكون هناك تداخلات مع برامج أخرى تستخدم نفس المنفذ. تأكد من إيقافها. بالنسبة لمشكلة منفذ PHP، يمكن تغييره يدويًا عبر ملف الإعدادات: افتحي ملف config في المسار: c:\wamp64\bin\php\php5.6.40\php.ini وغيري قيمة listen.port=5000 تظهر النافذة عن طريق الضغط بالزر الأيمن للفأرة على الأيقونة
  12. لا تحتاج إلى معرفة HTML و CSS و JavaScript لتدريب نماذج تعلم الآلة أو بمعنى آخر ليس هناك علاقة بين تعلم HTML و CSS و JavaScript وتعلم مجال تعلم الآلة. يمكنك القيام بذلك باستخدام مجموعة متنوعة من الأدوات والإطارات العمل التي تسمح لك بتدريب النماذج دون الحاجة إلى معرفة كيفية إنشاء واجهات مستخدم أو تطبيقات ويب. ومع ذلك، إذا كنت ترغب في إنشاء تطبيق تعلم آلة تفاعلي يتم عرضه على الويب، فستحتاج إلى معرفة HTML و CSS و JavaScript. هذه اللغات مطلوبة لإنشاء الواجهة الأمامية للتطبيق، والتي تتضمن عناصر مثل الأزرار والصور والنصوص. بالإضافة إلى ذلك، يمكن استخدام JavaScript لإضافة ميزات إضافية إلى تطبيق تعلم الآلة، مثل تفاعل المستخدم أو الرسوم المتحركة. مثال على ذلك إنشاء تطبيق ويب للتعرف على الكلام سيحتاج هذا التطبيق إلى واجهة مستخدم تفاعلية تسمح للمستخدم بتسجيل الصوت. يمكن إنشاء هذه الواجهة الأمامية باستخدام HTML و CSS و JavaScript.
  13. مرحباً بالنسبة لشرح الجملة والمقصود بها. هو كالتالي عند التعامل مع Promises، يمكننا استخدام null في تعبير .then(null, errorHandlingFunction) للدلالة على أننا لا نرغب في التعامل مع الحالة الناجحة (النجاح) للPromise، ونريد التركيز فقط على التعامل مع الأخطاء. يعني استخدام null كوسيط (الوسيط الأول) هنا أننا لا نهتم بالتعامل مع الحالات النجاحة، ونريد مباشرة التوجه إلى وظيفة التعامل مع الأخطاء. وبالنسبة للإقتراح سيتم توصيله إلى الإدارة شكراً لك. بالتوفيق
  14. وعليكم السلام ورحمه الله الملف .git غالباً يكون مختفي ولا يظهر كما تظهر بقية الملفات والرسالة التي تظهر لك تؤكد أنه تم إنشاء المستودع وبالتالي الملف يجب أن يكون موجود ولجعل الملف يظهر كبقية الملفات يمكنك إتباع الشرح في المقالة التالية بالتفصيل https://academy.hsoub.com/apps/operating-systems/windows/الملفات-والمجلدات-في-ويندوز-10-r433/ بالتوفيق
  15. ليست البرمجة بالسهولة التي يتوقعها الكثير من الأشخاص ولكنها أيضاً ليست صعبة . يمكن لأي شخص يمتلك القدرات والمهارات اللازمة تعلم البرمجة والنجاح فيها.فمثلاً إذا كان الشخص لديه قدرات جيدة في التفكير المنطقي والتحليلي، بالإضافة إلى مهارات حل المشكلات، فسوف يجد البرمجة سهلة. والأهم من ذلك إذا كان الشخص مهتمًا بالتكنولوجيا وحل المشكلات، فسوف يجد البرمجة ممتعة وسهلة التعلم. لذلك لا يجب البحث عن المجال الأكثر سهولة حيث أنه من الطبيعي أن تكون المنافسة به عالية لذلك يفضل تعلم المجال الذي تفضله مع توافر فرص العمل لهذا المجال مثل المجالات التي تم ذكرها في التعليقات السابقة بالنسبة للدخل، يعتمد ذلك أيضًا على عدة عوامل، بما في ذلك المستوى التعليمي، والخبرة، والموقع الجغرافي ويفضل قبل أن تتعلم أي شيء آخر، احرص على تعلم أساسيات بجدية حيث تسهل عليك تعلم أي مجال من مجالات البرمجة لاحقاً
  16. في React يتم تتبع حالة المكونات باستمرار. الحالة هي ببساطة البيانات التي قد تتغير خلال تفاعل المستخدم مع التطبيق وهذا هو مبدأ عمل هذه الإطارات . في مكون React، يمكنك استخدام الـ"state" لتخزين وتتبع قيم متغيرة. في المثال الذي قدمته: const [loading, setLoading] = useState(false); const [userAnswer, setUserAnswer] = useState(""); loading هو متغير يشير إلى ما إذا كان التطبيق يقوم بشيء (مثل جلب البيانات)، ويمكن استخدامه لعرض رمز تحميل. userAnswer هو متغير يخزن إجابة المستخدم. useState هو هوك (Hook) في React يمكنك استخدامه لإضافة حالة إلى مكونات الوظيفة (functional components). يتم استخدام القيمة الأولية (مثل false في useState(false)) كقيمة افتراضية للحالة. عندما تقوم بالاستدعاء setLoading(true)، يقوم React بتحديث القيمة المخزنة في loading إلى true. وهكذا، يمكنك تتبع وتحديث حالة المكون بسهولة.
  17. الذكاء الاصطناعي مجال واسع ، ولا يمكن لدورة واحدة أن تحترف أو تتعلم هذا المجال لذلك هناك العديد من الموارد والأدوات المتاحة عبر الإنترنت التي يمكن استخدامها لتعلم الذكاء الاصطناعي من خلال أكاديمية حسوب: لا توجد دورات مختصة فقط بالذكاء الاصطناعي في الأكاديمية وإنما يمكنك الإستفادة من هذه الدورات لتعلم الذكاء الاصطناعي فمثلاً ستحتاج لدورة علوم الحاسوب لتعلم الأساسيات ودورة مثل تطوير التطبيقات بواسطة python أيضاً ستفيدك في هذا المجال دورات أخرى يوجد الكثير من المصادر سواء المجانية أو المدفوعة مثل Coursera: يوفر Coursera مجموعة واسعة من الدورات المجانية (بعد التقدم للدعم المالي)حول الذكاء الاصطناعي وتعلم الآلة، بما في ذلك دورات من جامعات مثل Stanford وPrinceton وUniversity of Toronto. Udacity: يوفر Udacity دورات متخصصة بالذكاء الاصطناعي وتعلم الآلة، بما في ذلك دورات مدفوعة ومجانية. وبدلاً من التكرار يمكنك قراءة الإجابات التالية حيث تم ذكر أفضل الدورات لتعلم الذكاء الاصطناعي
  18. حاول تعطيل قاعدة react-hooks/exhaustive-deps لجميع الملفات في مشروعك أو لملفات معينة. عن طريق إنشاء ملف .eslintrc.json في الجذر الرئيسي لمشروعك ثم إضافة الكود التالي { "overrides": [ { "files": ["**/*.js"], "rules": { "react-hooks/exhaustive-deps": "off" } } ] }
  19. ببساطة هذا السلوط حدث بسبب الإرتفاع أو الحجم الخاص بال nav لذلك يمكننا بدلاً من استخدام الارتفاع 100% لل content نستخدم ال calc بحيث نخصم الإرتفاع الخاص بال nav مثال على ذلك .content { height: calc(100% - 100px); /*هو 100 nav نفترض أن إرتفاع ال */ } وبالطبع يجب إضافة التنسيق *{ box-sizing: border-box } كما أخبرك مصطفى في التعليق السابق
  20. كما أخبرك مصطفى في التعليق السابق يوجد الكثير من الجامعات التي تقوم بتقديم العديد من البرامج التعليمية في البرمجة مثل جامعة هارفارد و MIT على موقع coursera لذلك يعتبر هذه المصادر من الأفضل ويتم تقديم الشهادة إذا قم بإجتياز الكورس بنجاح كما يوجد جامعة online بالفعل وهي جامعة University of the People: وهي جامعة أمريكية معتمدة عبر الإنترنت. تقدم الجامعة درجات علمية للبكالوريوس والماجستير في مجموعة متنوعة من التخصصات، بما في ذلك البرمجة.
  21. MySQL هو نظام إدارة قواعد بيانات مفتوح المصدر، مما يعني أنه يمكن تنزيله واستخدامه مجانًا. يمكنك استخدام خدمة استضافة ويب تقدم MySQL كجزء من خطتها. إذا كنت تستخدم خدمة استضافة ويب، فسيتم استضافة قاعدة البيانات الخاصة بك على خادم الشركة التي تقدم الخدمة. ستمنحك الشركة عادةً وصولاً إلى قاعدة البيانات الخاصة بك عبر واجهة ويب أو برنامج إدارة قواعد البيانات. بالنسبة ل ما هي أفضل المواقع المجانية التي تقوم بهذه المهمة؟ هناك العديد من المواقع المجانية التي تقدم استضافة MySQL، وبعضها أكثر ملاءمة للتطبيقات الصغيرة وبعضها أكثر ملاءمة للتطبيقات الكبيرة. فيما يلي بعض المواقع المجانية الشائعة التي تقدم استضافة MySQL: 000Webhost Hostinger Freehostia Byethost PHPAcademy وبالنسبة ل هل جميع قواعد البيانات يتم تنظيمها بلغة SQL؟ لا، ليس كل قواعد البيانات يتم تنظيمها بلغة SQL. هناك أنواع أخرى من أنظمة إدارة قواعد البيانات، مثل NoSQL، والتي تستخدم لغات مختلفة لتنظيم البيانات. ومع ذلك، فإن SQL هي اللغة الأكثر شيوعًا المستخدمة لتنظيم قواعد البيانات. إذا كنت تستخدم MySQL، فسيتم استخدام SQL لتنظيم قاعدة البيانات الخاصة بك. SQL هي لغة بسيطة نسبيًا يمكن تعلمها بسهولة. هناك العديد من الموارد المتاحة عبر الإنترنت لمساعدتك على تعلم SQL.
  22. حسب ما فهمت من سؤالك فإن هناك العديد من الطرق لربط الواجهة الأمامية (Frontend) بالواجهة الخلفية (Backend) في تطبيقات الويب: أولاً REST APIs حيث تستخدم منهجية REST لبناء واجهات برمجة التطبيقات (APIs) التي تتواصل معها الواجهة الأمامية عبر طلبات HTTP مثل GET, POST وغيرها. وأيضاً يمكنك استخدام GraphQL وهي لغة استعلامات للبيانات تسمح للواجهة الأمامية باستعلام البيانات من الواجهة الخلفية بطريقة أكثر كفاءة. WebSocket أيضاً تمكنك من إنشاء قنوات اتصال بين الواجهتين تتيح الاتصال المباشر ونقل البيانات في الاتجاهين. Server-Sent Events تسمح للواجهة الخلفية بإرسال البيانات للأمامية دون الحاجة لطلب مستمر من الأمامية. ترسل البيانات بصيغة JSON أو XML عبر طلبات HTTP عادية. بشكل عام الأكثر استخداما هي REST APIs أو GraphQL حسب حاجة المشروع. المصطلحات السابقة ربما لم تتعرف عليها لذلك قم بالإطلاع على المصادر في التعليقات السابقة ثم بعد ذلك قم بالبحث عن المصطلحات السابقة وستجد أن هذا الموضوع أصبح واضحاً
  23. تعتمد اختيارك بين استخدام Microsoft Access أو Microsoft Excel لتصميم برنامج الأرشفة الإلكترونية على الاحتياجات الخاصة بالمشروع والمتطلبات الفنية والوظيفية. فيما يلي بعض المعايير التي يجب أن تؤخذ في اعتبارك عند اتخاذ هذا القرار: فلو كانت كمية البيانات كبيرة ومعقدة، فإن Access قد تكون خيارًا أفضل. تمتاز Access بإمكانيات قوية في إدارة قواعد البيانات وتحقيق العلاقات بين الجداول.كما أنه إذا كنت بحاجة إلى إنشاء علاقات معقدة بين الجداول وتحقيق التكامل بين البيانات، فإن Access يمكن أن يكون أكثر فعالية. ولكن إذا كانت الحاجة لتحليل بياناتك وإجراء حسابات معقدة، Excel قد يكون الخيار الأفضل، حيث تتميز بإمكانيات تحليل البيانات والوظائف الإحصائية. Excel تكون عادةً أكثر سهولة في الاستخدام والتعلم. إذا كان المشروع صغيرًا ولا يتطلب مستوى عاليًا من التعقيد، فقد يكون Excel الخيار الأمثل. في النهاية، قد تكون الحالة المثلى هي استخدام كل من Access و Excel بشكل متكامل، حيث يمكن استخدام Excel لتحليل البيانات وإنشاء تقارير، بينما يمكن استخدام Access لإدارة قواعد البيانات والتعامل مع البيانات بشكل هيكلي.
  24. يمكنك التقديم من خلال الدخول على الصفحة الخاصة بالكورس كما في الروابط السابق وستجد بجوار كلمة enroll كلمة "Financial aid available " قم بالضغط عليها وستقوم بتسجيل الدخول مع الإجابة على عدة أسئلة فقط بالطبع أفضل من لا شئ وترجمة اليوتيوب (أقصد الخاصة باليويتيوب ) ليست الأفضل ولكن يمكنك الإعتماد عليها إذا لم تستطع إيجاد حل ولكن ربما تكون الترجمة مرفقة أي أن الترجمة من قبل القناة
  25. بالنسبة لآخر كورس في القائمة وبقية الكورسات يمكنك التقديم على الدعم المادي Financial aid وغالباً يتم الموافقة عليه ويمكنك المتابعة في الكورس الذي يصبح متاح لك أما بالنسبة للسؤال " الكورسات الموجود علي اليوتيوب مفيده ؟" ربما يوجد كورسات جيده ولكن بالنسبه للكورسات المقترحة من قبل مصطفى في التعليق السابق فهي ممتازة مقارنة بالنسبة لليوتيوب فهي من جامعات مرموقة وإذا لم تستطع الحصول على أحد هذه الكورسات فاليوتيوب به أيضاً كورسات جيدة
×
×
  • أضف...