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

Mustafa Suleiman

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

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

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

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

    474

كل منشورات العضو Mustafa Suleiman

  1. أتفهم أنّ الأمور تكون غير واضحة في البداية وبحاجة إلى التوضيح من خلال المزيد من التفصيل، وفي الدورة يتم تبسيط الأمور قدر الإمكان، لذا بعض التفاصيل لا يتم ذكرها، لذا تستطيع السؤال عما تريد أسفل كل درس وسيتم توضيح الأمر لك بشكل شامل. وفي المشاريع العملية يتم التطرق إلى ما تم شرحه بالمزيد من التفصيل والأمثلة العملية. وكنصيحة لا تتخطى أي درس بدون استيعابه والتطبيق عليه، ثم الجمع ما بين عدّة دروس والتطبيق عليهم وتوظيف ما تعلمته في تطبيق واحد.
  2. بحل المشكلة من جذورها وليس الإلتفاف بتغيير إصدار node.js نفسه، فكما ذكرت لك مكتبة Webpack غير متوافقة مع الإصدار الحديث لديك وهو 20، عليك تحديث كل من webpack و webpack CLI لأحدث إصدار، وتعديل الإعدادات فيwebpack.config بما يتناسب مع الإصدار الحديث.
  3. هل السؤال خاص بدرس معين في الدورة ؟ أم أنه غير خاص بالدورات؟ في حال كان خاص بالدورات أرجو التعليق أسفل الدرس لمساعدتك بشكل أفضل. عامًة يجب إصلاح المشكلة المسؤولة عن ذلك وهي نسخة webpack لديك قديمة وغير متوافقة مع إصدار node.js الحديث، عليك تحديثها.
  4. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  5. بالطبع لا فالأمر مختلف، فأنت لا تقوم بتطوير تطبيق لسيارة من خلال لغة جافاسكريبت فهي غير مناسبة لذلك. فأنت بحاجة إلى لغة منخفضة المستوى مثل C وC++ وأحيانًا assembly، وذلك للتطبيقات الخاصة بنظام السيارة. بالطبع يتوفر نظام مثل Android Auto الذي يُتيح لك تطوير تطبيقات للسيارة من خلال لغة مثل كوتلين، لكن ستظل بحاجة إلى أساسيات C++ على الأقل.
  6. أنت بذلك لا تختصر وقت أو تحقق استفادة، لغة جافاسكريبت تم تطويرها للتلاعب بالـ DOM وهو HTML، لذا تعلم جافاسكريبت بدون تعلم HTML على الأقل يعني أنك تسير بالإتجاه الغير صحيح، فلن تتمكن من فهم الكثير من الأمور وما معناها والفائدة منها. فهي بالأساس لغة تطوير الويب، واللغات الأساسية للويب هي HTML, CSS, JS، نبدأ أولاً بتعلم بناء الهيكل من خلال HTML ثم تنسيقه وتنظيمه من خلال CSS، ثم إضافة القدرة على التفاعل من خلال جافاسكريبت. وللعلم، المسار الأول من جميع الدورات متاح لك بشكل مجاني، وبالتالي تستطيع تعلم أساسيات الويب وهي HTML, CSS, JS من خلال المسار الأول في دورة تطوير واجهات المستخدم.
  7. لتنظيم الأمر، نقوم بإنشاء مجلد كامل للدورة، ثم تقسيمه إلى مجلدات فعند البدء بكل مسار ننشيء مجلد له، وبه نضع التطبيقات العملية البسيطة التي تتكون من ملف واحد مثلاً أو ملفين وهكذا. ثم نقوم برفع ذلك المجلد بالكامل على مستودع منفرد في GitHub. أما المشاريع العملية الكاملة، مثل بناء متجر أو برنامج كامل، فنقوم بإنشاء مجلد خاص بها فقط، ونرفع ذلك المجلد في مستودع منفرد أيضًا لكل مشروع على GitHub. بعد الإنتهاء من الدورة نقوم بتسليم روابط GitHub.
  8. بشكل بسيط الشبكات العصبية في التعلم العميق Deep Learning تحتوي على العديد من الطبقات المخفية غالبًا 5 أو أكثر، مما يمكنها من تعلم تمثيلات أكثر تعقيدًا. والطبقات هي كالتالي: الطبقات العميقة: تحتوي على العديد من الطبقات المخفية (يمكن أن تكون عشرات أو حتى مئات الطبقات). الطبقات المتخصصة: مثل طبقات الالتفاف Convolutional Layers في الشبكات العصبية التلافيفية CNNs وطبقات الذاكرة Recurrent Layers في الشبكات العصبية المتكررة RNNs. العصبونات Neurons: مشابهة للعصبونات في التعلم الآلي التقليدي لكنها أكثر تعقيدًا بسبب العدد الكبير من الطبقات والوصلات. التنشيط Activation: تستخدم دوال تنشيط أكثر تعقيدًا مثل Leaky ReLU، Parametric ReLU، وSoftmax. والقدرة على تعلم الميزات من البيانات الخام بدون الحاجة إلى تصميم ميزات يدوية، وتُستخدم في تطبيقات متقدمة مثل معالجة الصور (التعرف على الصور، التعرف على الوجوه)، معالجة اللغة الطبيعية (الترجمة الآلية، تحليل المشاعر)، والتعلم المعزز (الألعاب، الروبوتات). بينما الشبكات العصبية في التعلم الآلي Machine Learning تحتوي على طبقة أو طبقتين مخفيتين فقط، وتستخدم في الغالب لنماذج أبسط، مثل التنبؤ والتصنيف في مجموعات بيانات محدودة، وتستطيع استخدامها في تطبيقات مثل التصنيف البسيط، التنبؤات الزمنية، والتعرف على الأنماط، وأداء النماذج محدودًا في المهام المعقدة. والطبقات هي: الطبقة المدخلة Input Layer: تستقبل البيانات المدخلة. الطبقات المخفية Hidden Layers: عادة تكون واحدة أو اثنتين، تتوسط بين الطبقة المدخلة والطبقة المخرجة، حيث يتم تنفيذ معظم العمليات الحسابية. الطبقة المخرجة Output Layer: تعطي نتيجة التنبؤ أو التصنيف. بينما التعلم الآلي يتطلب موارد حسابية أقل، ويمكن تشغيله على أجهزة كمبيوتر عادية، بينما التعلم العميق يتطلب موارد حسابية عالية، غالبًا ما يحتاج إلى وحدات معالجة الرسوميات أو حتى وحدات معالجة متخصصة (TPUs). ويقدم أداءً ممتازًا في المهام المعقدة بفضل قدرته على تعلم التمثيلات المعقدة من البيانات.
  9. كحماية نهائية لا يوجد، لكن تصعيب الأمر متاح بالطبع، أولا عليك استخدام نظام حماية للمحتوى DRM لمنع سرقة الفيديو عن طريق التحميل وتعصيب عملية تسجيل الشاشة. لكن ذلك لن يحميك بنسبة 100% فطالما البيانات تم إرسالها للمتصفح، يستطيع شخص ذو دراية تقنية الوصول إليها بمستويات مختلفة من الصعوبة، الفكرة هي تصعيب الأمر على الأشخاص العاديين. لكن تكلفة DRM ربما تكون غير مناسبة لك، لذا الحلول البرمجية من خلال جافاسكريبت تكون مناسبة من حيث التكلفة لكنها سهلة التجاوز من قبل شخص لديه دراية برمجية. عليك أيضًا وضع علامة مائية على فيديوهاتك لمنع توزيعها وبيعها في حال تم تنزيلها.
  10. تلك مرحلة يمر بها الجميع لا داعي للقلق، الفكرة هي ألا تقوم بالتركيز على الصورة الكاملة، بل تقوم بالتركيز على جزء جزء، بمعنى لا تتنقل بين الدروس ظنًا منك أنك انتهيت منها بل أنت بحاجة إلى استيعابها جيدًا وحفظ ما بها في البداية فقط ولا مشكلة إن نسيت بعض الأمور فيما بعد. لكن ذلك بشرط أن تقوم بالتطبيق العملي ولا أقصد التطبيق الذي تقوم به مع الشرح، فذلك تطبيق للتعلم، وعليك تنفيذ نفس الأمر أو مثله بمفردك سواء من خلال تمرين أو مشروع آخر لا مشكلة، لتوظيف ما تعلمته وتثبيته. ستجد تفصيل هنا:
  11. لا مشكلة، أسفل الدرس مباشرًة عند النزول لنهاية الصفحة ستجد صندوق تعليقات كما هنا تستطيع التعليق به وكتابة ما تريد.
  12. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  13. هناك طرق مختلفة، ومنها أن يكون العنصر الأب (الذي يحتوي على الرابط) يستخدم text-align: center كالتالي: <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body, html { height: 100%; margin: 0; display: flex; justify-content: center; align-items: center; } .container { text-align: center; } </style> </head> <body> <div class="container"> <a href="#">هذا رابط</a> </div> </body> </html> وفي حال تريد توسيط الرابط بشكل عمودي وأفقي معًا استخدم Flexbox كالتالي: <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body, html { height: 100%; margin: 0; display: flex; justify-content: center; align-items: center; } </style> </head> <body> <a href="#">هذا رابط</a> </body> </html> وستجد أمثلة أخرى هنا:
  14. قم بتجربة أحد برامج إصلاح وحدات التخزين مثل EaseUS Free Partition Manager وتجربة عمل فورمات للفلاشة إن لم ينجح الأمر فالفلاشة معطوبة.
  15. عليك أولاً تعديل قالب الصفحة الرئيسية ووضع الرابط كالتالي: <nav> <ul> <li><a href="{% url 'blog:blog_home' %}">صفحة المدونة</a></li> </ul> </nav> {% url 'blog:blog_home' %} للحصول على عنوان URL لصفحة المدونة، بالطبع تأكد من أن اسم URL يناسب اسم النمط (name) المستخدم في ملف urls.py. ثم تحتاج إلى وجود مسار URL مخصص للمدونة في ملف urls.py في تطبيق المدونة: urlpatterns = [ path('', views.blog_home, name='blog_home'), ] ثم وجود وظيفة العرض view الخاصة بصفحة المدونة في ملف views.py في تطبيق المدونة. def blog_home(request): return render(request, 'blog/blog_home.html') ولا تنسَ إنشاء قالب HTML لصفحة المدونة (blog_home.html) في مجلد القوالب الخاص بالمدونة (templates/blog).
  16. حاول تغيير منفذ USB ، فأحيانًا المنافذ الأمامية تكون معطوبة جرب الخلفية، أو مدخل usb آخر. إن لم تعمل فحاول إصلاحها من خلال أحد البرامج بعمل فورمات لها.
  17. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل
  18. مسار أساسيات بايثون لا غنى عن تعلمه بالكامل من البداية إلى النهاية، فذلك ما يترتب عليه باقي محتوى الدورة، وللعلم الأساسيات أهم من جانغو وأي تقنية أخرى، لذا الإهتمام بها والتطبيق عليها بشكل مُكثف هو ما يجعل منك مبرمج جيد ومُلم بالأساسيات المبني عليها أي تقنية أخرى قائمة على لغة بايثون. لذا الخيار يعود إليك، إما المتابعة أو الإنتقال للمسار الذي تريده، وللعلم تنفيذ التطبيقات العملية ورؤية تقدمك وتحسن المستوى سيشجعك على الاستمرار، تستطيع السؤال عن تطبيقات عملية حول مفهوم معين لتوظيف ما تعلمته.
  19. في حال تم إضافة ملفات بعد عملية الحذف، فستكون نسبة استرجاع الملفات المحذوفة ضعيفة، حيث يتم استبدال البيانات المحذوفة بالبيانات الجديدة عند النقل. من البرامج المجانية الجيدة هو Recuva. والثاني هو برنامج DMDE وهو ليس مجاني تمامًا حيث يسمح لك باسترجاع 4000 ملف لكل عملية بحث أي تستطيع تكرار العملية، وذلك البرنامج هو أفضل من Recuva لكنه ليس مجاني. تحذير: عند استرجاع الملفات عليك حفظها في مكان آخر غير المكان الذي تم حذفها منه حتى لا يتم الكتابة على الملفات المحذوفة وفقدانها للأبد، فعند نقل ملفات على الهارديسك يتم استبدال الملفات المحذوفة بالملفات الجديدة.
  20. أولاً نعتذر لك عن أية صعوبة واجهتها في الشرح، تستطيع الاستفسار عن أي شيء وسيتم مساعدتك. بخصوص سؤالك بالطبع لا، فكيف سيتم الشرح لم يصل تعلم الآلة لتلك الدرجة، الفكرة هي أنه في بعض المسارات ستحتاج إلى تعديل مستوى سرعة التشغيل مثل 1.5x لتصل للمستوى المناسب لك في الاستماع، حيث يتم مراعاة أن البعض لا يناسبه الشرح السريع، لذا الجميع يستطيع إختيار السرعة المناسبة في الشرح من خلال تقليل وزيادة سرعة تشغيل الفيديو. وبخصوص نفس الشرح في أكثر الدورة، فنعم يتم تضمين بعض المسارات من الدورات الأخرى لإثراء محتوى دورة معينة أي إعادة استخدام، فما الفائدة من شرح أساسيات بايثون مرتين؟ وبعض المدربين يقومون بشرح أكثر من مسار نعم بسبب تخصصهم في ذلك.
  21. حاليًا لا يوجد دورة خاصة بالأمن السيبراني بالأكاديمية، وكبداية ستحتاج إلى دراسة علوم الحاسوب، ويوجد بالأكاديمية دورة خاصة بذلك ستتعلم بها ما يلي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب أما بخصوص المصادر والمهارات التي تحتاجها كخريطة طريق لدخول مجال الأمن السيبراني ستجد تفصيل هنا: أما عن نظام لينكس ستجد دروس ومقالات هنا: مقالات لينكس
  22. تلك العملية تتم من جهة قاعدة البيانات، فالأمر عبارة عن تخزين بيانات ثم مقارنتها والتحقق منها والسماح أو المنع بعد ذلك حسب النتيجة. فأولاً، تحتاج إلى إنشاء جداول قاعدة البيانات لتخزين المستخدمين والسيريالات. CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL ); CREATE TABLE serials ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, serial_key VARCHAR(50) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, used TINYINT(1) DEFAULT 0 ); ثم عند شراء المستخدم للسكربت، يتم توليد السيريال وتخزينه في قاعدة البيانات. function generateSerial($userId) { $randomPart = bin2hex(random_bytes(15)); $datePart = date('Ymd'); $serial = $userId . '-' . $randomPart . '-' . $datePart; return $serial; } function storeSerial($userId, $serial) { $pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password'); $stmt = $pdo->prepare("INSERT INTO serials (user_id, serial_key) VALUES (:user_id, :serial_key)"); $stmt->execute(['user_id' => $userId, 'serial_key' => $serial]); } // افتراض أن المستخدم قد اشترى السكربت وتم تمرير معرف المستخدم $userId = 1; $serial = generateSerial($userId); storeSerial($userId, $serial); وفي صفحة التحقق من السيريال، تقوم بالبحث عن المستخدم ثم التحقق من السريال ثم تحديث حالة السيريال على أنه أصبح مستخدم ثم متابعة التثبيت، وإن لم يحدث ذلك يعني أنّ التحقق فشل ولا يتم المتابعة. function verifySerial($username, $serial) { $pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password'); $stmt = $pdo->prepare("SELECT id FROM users WHERE username = :username"); $stmt->execute(['username' => $username]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { $userId = $user['id']; $stmt = $pdo->prepare("SELECT * FROM serials WHERE user_id = :user_id AND serial_key = :serial_key AND used = 0"); $stmt->execute(['user_id' => $userId, 'serial_key' => $serial]); $serialData = $stmt->fetch(PDO::FETCH_ASSOC); if ($serialData) { $stmt = $pdo->prepare("UPDATE serials SET used = 1 WHERE id = :id"); $stmt->execute(['id' => $serialData['id']]); return true; } } return false; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $serial = $_POST['serial']; if (verifySerial($username, $serial)) { } else { unlink('install.php'); echo "بيانات خاطئة أو السيريال مستخدم سابقاً."; } } وبخصوص التحقق من أن كود الحماية لم يُزال، يمكنك استخدام تقنيات مثل Obfuscation (إخفاء الكود) أو تضمين كود التحقق في أماكن متعددة في السكربت. function checkIntegrity() { if (!file_exists('install.php')) { header('Location: رابط موقعك'); exit(); } } checkIntegrity(); حيث تقوم بتضمين الدالة السابقة في جميع الملفات المهمة للتأكد من أن ملف install.php لم يُحذف.
  23. بالطبع أنت ستعتمد على محرك البحث لتحصل على زيارات، إذن عليك أولاً ضبط الـ SEO لموقعك، من خلال تحسين جودة الموقع وتصمميه وسرعة تحميله أي تحسين تجربة المستخدم فهي العامل الأهم حاليًا. ومن ضمن تلك الأمور هو شراء دومين ولا يشترط .com تستطيع شراء دومين بأي لاحقة مختلفة وبسعر زهيد. وإذا لا تريد شراء دومين فحاول التقدم لمنصة Adsterra فهي تقبل ذلك. بعد ذلك ستحتاج إلى كتابة مقالات في موقعك لتسويقه من خلال المحتوى ويظهر على كلمات محددة في جوجل. أيضًا إنشاء روابط باك لينكس backlinks لتحسين ظهور الموقع في جوجل ومدى موثوقيته. وستحتاج 10 آلاف زائر كحد أدنى لتتمكن من التقدم لأحد مقدمي الإعلانات، مثل ezoic. لديك أيضًا Mediavine لكن يتطلب 25,000 زائر شهريًا على الأقل. ألقي نظرة على popads أيضًا.
  24. لم يتم ذكر ما نوع المشروع والبيانات الخاصة به؟ عامًة لا مشكلة في استخدام أكثر من قاعدة بيانات مع Django، تفقد التالي: https://docs.djangoproject.com/en/5.0/topics/db/multi-db/ وهو يقصد الجداول الداخلية التالية: django_content_type (content types for models) django_migrations (migration history) django_session (session data) auth_permission (permissions) auth_group (groups) بسبب ذلك، عليك تخصيص قاعدة بيانات مركزية تحتوي على الجداول التي يستخدمها Django داخليًا. ثم استخدم موجهات قواعد البيانات Database Routers لتحديد الجداول التي يجب أن تكون في قاعدة البيانات المركزية والجداول التي يمكن أن تكون في قواعد البيانات الأخرى.
  25. لم تذكر ما الداعي لفعل ذلك، حيث أنّ IIS يعمل على نظام ويندوز فقط لكونه من تطوير مايكروسوفت. عامًة، لا مشكلة في استخدام IIS بدلاً من XAMPP لتشغيل تطبيقات PHP، فكل من IIS و XAMPP خادمان ويب يمكنهما تشغيل تطبيقات PHP. لكن XAMPP هو حزمة خادم ويب مجانية ومفتوحة المصدر تحتوي على Apache و MySQL و PHP و Perl و متاحة لأنظمة Windows و macOS و Linux. والعمل على IIS ليس بالسهل وستحتاج إلى خبرة ودراية به على عكس XAMPP. وربما تحتاج إلى إجراء بعض التعديلات على كود PHP لديك في حال كنت تستخدم ميزات أو امتدادات خاصة بالخادم والتي قد لا تكون متوفرة على كلا الخادمين، بمعنى لو تستخدم وحدات أو دوال خاصة بـ Apache، فستحتاج إلى تعديل كودك لاستخدام بدائل متوافقة مع IIS. أيضًا ملفات .htaccess في Apache، ستحتاج إلى تحويلها إلى قواعد URL Rewrite في IIS.
×
×
  • أضف...