-
المساهمات
14490 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
384
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
ذلك ممكن بالطبع، لكن أرجو السؤال أسفل فيديو الدرس الذي تريد تمارين عليه وسيتم توفيرها لك، أو اذكر أنك تريد تمارين على المسار بالكامل مثلاً.
-
لن يظهر خطأ إلا في حال لم تقم بتثبيت المكتبة، حيث لن يتم التمكن من الاستيراد بشكل صحيح فالمكتبة غير مثبتة، في حال قمت بتثبيتها فربما قمت بذلك في بيئة إفتراضية فعليك تفعليها ليعمل الاستيراد.
- 4 اجابة
-
- 1
-
-
هناك مشكلة بالإتصال بالخادم عليك تفقد ذلك حيث لا يتم الإتصال، تأكد من العنوان أيضًا. عليك إرفاق مجلد المشروع إن لم تتمكن من تفقد المشكلة من قبل الخادم
-
لديك واجهة رسومية في الاستضافة تستطيع من خلالها استيراد قاعدة البيانات بدون الحاجة إلى SSH، أي توجه إلى أداة إدارة قاعدة البيانات مثل phpMyAdmin وابحث عن خيار Import ثم اختر ملف .sql من على حاسوبك. في كلتا الحالتين ستحتاج إلى رفع قاعدة البيانات إلى الاستضافة، فمن خلال SSH ستحتاج إلى رفعها إلى مجلد public_html من أجل أن تتمكن من استيرادها من خلال الأمر التالي في مسار مجلد public_html: mysql -u database_username -p database_name < file.sql عليك استبدال database_username باسم المستخدم لقاعدة البيانات في الاستضافة وأيضًا استبدال database_name باسم قاعدة البيانات للملف والذي يجب أن يكون بنفس الاسم لقاعدة بيانات موجودة بالفعل على الاستضافة أي قمت بإنشائها أنت.
-
ستحتاج إلى تعلم Laravel وستجد أن الأمر بسيط بعد ذلك، ويوجد لوحات تحكم Dashboard جاهزة لإطار لارافل، لو قمت بذلك من خلال PHP فستستغرق الكثير من الوقت وأيضًا الكود لن يكون منظم مثل إطار لارافل. ستجد على اليوتيوب دورات خاصة بلارافل، وأيضًا في الأكاديمية هنا يوجد دورة PHP بها إطار لارافل.
-
ما الذي يظهر لك عند تنفيذ الأوامر التالية: node --version npm --version وما هي الاستضافة التي تعمل عليها؟
-
عليك أولاً إنشاء نموذج البحث: <form action="search.php" method="get"> <input type="text" name="q" placeholder="Search..."> <button type="submit">Search</button> </form> ثم إنشاء ملف search.php لمعالجة تلك العملية كالتالي في جدولي users و products مثلاً: <?php $db_host = ''; $db_username = ''; $db_password = ''; $db_name = ''; //عليك الإتصال بقاعدة البيانات من خلال البيانات السابقة $conn = new mysqli($db_host, $db_username, $db_password, $db_name); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $q = $_GET['q']; $sql = "SELECT * FROM users WHERE name LIKE '%$q%' OR email LIKE '%$q%'"; $sql .= " UNION ALL "; $sql .= "SELECT p.* FROM products p INNER JOIN users u ON p.user_id = u.id WHERE p.name LIKE '%$q%' OR p.description LIKE '%$q%'"; $result = $conn->query($sql); while($row = $result->fetch_assoc()) { if ($row['table_name'] == 'users') { echo "User: " . $row['name'] . " (" . $row['email'] . ")" . "<br>"; } else { echo "Product: " . $row['name'] . " - " . $row['description'] . "<br>"; } } } else { echo "No results found"; } $conn->close(); ?> نحصل على قيمة حقل البحث من خلال $_GET['q'] ثم استخدامها للبحث في الجداول، ولاحظ أن q هي اسم الحقل الخاص بالبحث لأننا سمينا الحقل q في سمة name في كود HTML.
- 3 اجابة
-
- 1
-
-
ستحتاجين إلى أداة ioncube_decoder لعكس عملية التشفير، ولكن على مسؤوليتك قومي بتجربة الأدوات التالية: https://github.com/ruzgarsel/ioncube_decoder https://github.com/tahaghafuri/ioncube_decoder
-
نقطة الاستعادة أو restore point لا تقوم باستعادة الملفات الشخصية المحذوفة، بل ملفات النظام نفسه. أي سيتعين عليك استخدام برنامج لاستعادة الملفات وتتضاءل احتمالية الاستعادة في حال تم إضافة بيانات جديدة في نفس القرص بعد الحذف، حيث يتم كتابة تلك البيانات على البيانات التي تم حذفها أي تستبدلها. برنامج Recuva لا بأس به.
- 5 اجابة
-
- 1
-
-
بخصوص الحملة يجب الإهتمام بمحتواها حتى لا يتم الإبلاغ عنها على أنها Spam، أيضًا معظم مُزودي خدمة الاستضافة يضعون حدودًا صارمة لعدد رسائل البريد الإلكتروني التي يمكنك إرسالها في الساعة/اليوم لمنع إساءة استخدام الخادم. وغالبًا سيؤدي إرسال عدد كبير من رسائل البريد الإلكتروني من خادم الويب لديك إلى إدراجه في القائمة السوداء وتمييزه كـ Spam، مما يؤثر سلبًا على إمكانية وصول رسائل البريد الإلكتروني الأخرى من موقعك إلى صناديق البريد الوارد. أيضًا يتطلب إرسال ذلك العدد الكبير من رسائل البريد الإلكتروني موارد كبيرة من الخادم، وسيؤثر على أداء موقعك، حيث سيستغرق إرسال 500 ألف رسالة بريد إلكتروني وقتًا طويلاً جدًا باستخدام سكربت على موقعك. في حال كان البريد لديك جديد أو الدومين، فعليك بتخصيص 30 إيميل يوميًا فقط للإرسال ثم بعد شهر قم بزيادة ذلك الرقم إلى 50 والشهر الذي يليه إلى 100 وهكذا لحين وصول 6 أشهر، ثم تستطيع زيادة الرقم إلى 1000 يوميًا، أيضًا عليك التقيد بالحد المسموح به من قبل مزود خدمة البريد لديك. بالطبع الأمر يختلف لو لديك قائمة من المشتركين في نشرة بريدية مثلاً، فتستطيع الإرسال للجميع بدون مشكلة وبغض النظر عن العدد، فبالأعلى أتحدث عن cold emails. ستحتاج إلى استخدام مكتبة PHPMailer لو أردت الإرسال من خلال الكود، أو لديك منصة مثل brevo تتيح لك 300 إيميل يوميًا بشكل مجاني من خلال واجهة المنصة أو sender توفر عدد أكبر.
-
الأمر لا يتطلب مواصفات مرتفعة، ستحتاج إلى 100 ميجابايت لتحميل 10 آلاف سجل و 500 ميجابايت لتحميل 30 ألف سجل. لذا لتجنب أية مشاكل محتملة، فبدلاً من تحميل جميع البيانات دفعة واحدة، قم بتقسيمها إلى دفعات أصغر (مثلاً 1000 صف لكل دفعة) وتحميل كل دفعة على حدة، حيث سنستخدم عبارة LIMIT في استعلام SQL لجلب 1000 صف في كل مرة وسنحتاج أيضًا إلى معرفة عدد المرات التي يجب أن نكرر فيها الاستعلام، لذلك سنقوم أولاً بحساب عدد الصفوف الكلي. $Re = $_POST['Re']; $countSql = "SELECT COUNT(*) as total FROM iP WHERE Re = '$Re'"; $countResult = $conn->query($countSql); $totalRows = $countResult->fetch_assoc()['total']; $batchSize = 1000; $numBatches = ceil($totalRows / $batchSize); ونستخدم حلقة for للتكرار على عدد الدفعات المحسوبة، في كل تكرار، سنقوم بتعديل استعلام SQL لجلب الدفعة الحالية فقط. for ($i = 0; $i < $numBatches; $i++) { $offset = $i * $batchSize; $sql = "SELECT * FROM iP WHERE Re = '$Re' LIMIT $offset, $batchSize"; $result = $conn->query($sql); }
- 4 اجابة
-
- 1
-
-
بالطبع المنصة موجودة منذ زمن وذات موثوقية وليس بها أمر مشبوه، ما تقوم به هو التسويق للمنتجات التي لديهم ثم يتم شحنها وتحصل على عمولة.
-
في الوضع العادي لا نضع علامات إقتباس لأسماء الخطواط إن كان مثل cairo أو cairo-bold مثلاً، لكن لو يوجد "مسافات، أرقام أو رموز أخرى غير الهايفن - " فنقوم بوضع اسم الخط بين علامتي إقتباس لكي يتم ترجمة اسمه بشكل صحيح وتمريره كنص واحد "cairo bold" فلو لم نضع علامتي الإقتباس لن يتم التعرف على الخط وسيتم إعتماد الخط الذي يليه في font-family أو الخط الإفتراضي في المتصفح.
- 4 اجابة
-
- 1
-
-
طالما قمت بإنهاء 4 مسارات على الأقل، ورفعت المشاريع العملية تستطيع التقدم للإختبار، عليك التحدث لمركز المساعدة لكن عليك ذكر أنك في حاجة للإختبار في أقرب وقت أي إرسال نفس الرسالة وسيتم الرد عليك بخصوص ذلك، لكن غالبًا الأمر ليس ممكن، للسبب التالي: ستحتاج إلى الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.
- 2 اجابة
-
- 1
-
-
ستجدي أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
لا أنصحك بالعمل على بيئة Xampp فهي بيئة قديمة، الأفضل استخدام لاراجون فهو أسهل وأحدث، ستتواجهك أخطاء مختلفة عن العمل من خلال Xampp مثل مشكلة المنفذ أو مشاكل في تشغيل MySQL. منفذ 80 من المفترض أنه لا يتم حجزه من قبل أي برنامج إلا خوادم الويب مثل Apache في Xampp، فهو مخصص من قبل النظام لبروتوكول HTTP بشكل إفتراضي. بخصوص أفضل محرر لمشاريع PHP فهو PhpStorm بلا شك، لكنه مدفوع وليس مجاني بقيمة 99 لسنة كاملة في السنة الأولى وتنخفض التكلفة بعد ذلك، أما Vscode فهو مجاني تمامًا.
-
ستجدي أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
- 2 اجابة
-
- 1
-
-
ليس عليك ذلك في المشاريع البسيطة، الفكرة هي أن تثبيت الحزم بشكل عام global أي متاحة لجميع المشاريع يسبب مشاكل بسبب تعارض بين إصدارات الحزم والتوافقية بينها. فتجد أنه تحدث مشاكل ولا تعلم ما السبب، لذلك نقوم بإنشاء بيئة إفتراضية لكل مشروع لعزله والتحكم به وحصر المشاكل ومعرفة إصدار الحزم التي نعمل عليها، ففي مشروع ما قد تريد تثبيت إصدار معين من حزمة ما بينما في مشروع آخر قد تريد تثبيت إصدار مختلف. لذا للمشاريع البسيطة قم بإنشاء مجلد بيئة إفتراضية واحد خاص بها واعمل من خلالها، أما المشاريع الكاملة خصص لها بيئة إفتراضة منفردة خاصة بها.
-
الدورة التي اشتركت بها متاحة لك عند الضغط على تبويب دوراتي. الدورات الأخرى التي تراها هي الدورات المتاحة بالأكاديمية، ومتاح لك دراسة المسار الأول من جميع تلك الدورات في حال احتجت ذلك مثل أساسيات الويب مثلاً. أما طريقة متابعة دورة علوم الحاسوب، فالمسارات الخاصة بتلك الدورة مرتبة بشكل ممنهج ومتدرج، لذا نقوم بمتابعة الدورة من البداية إلى النهاية بالترتيب.
-
من الجيد أنك تتساءل عن ذلك، فهناك مبدأ "ما لا يمكن قياسه لا يمكن إدارته" أي عليك إدارة وقتك وتحديد جدول من أجل الإنضباط لفترة زمنية 6 أشهر وهي الحد الأدنى لتعلم مسار برمجي، وخلال ذلك مراقبة تقدمك ومجهودك. فلو تركت الأمر إعتباطًا ستجد نفسك تجاوزت السنة ولم تحقق ما تريده. ستحتاج إلى 3 أشهر على الأقل وقد تصل إلى 6 أشهر، والأمر المهم هو تحديد الوقت اليومي للدراسة والتطبيق، وليس من الضروري أن تنهي عددًا محددًا من الفيديوهات يوميًا، بل من الأفضل تخصيص عدد معين من الساعات يوميًا للدراسة بتركيز وتطبيق المفاهيم التي تعلمتها، ولا تعتمد على ذاكرتك فقط بل قم بكتابة الكود بنفسك لتثبيت المعرفة. ولا تنس أن الاستيعاب والتطبيق يتطلبان وقتًا إضافيًا. قد تحتاج إلى مراجعة المحتوى والبحث عن تفاصيل إضافية لفهمه بشكل كامل. وتحديد وقت للانتهاء من الدورة يساعدك على الالتزام وتقييم تقدمك. إذا تركت الأمر بدون جدولة، فقد تستغرق وقتًا طويلاً لإكمال الدورة بسبب الانشغالات الأخرى. وعندما ترى فيديو بمدة 30 دقيقة، فإن الوقت الفعلي الذي ستحتاجه لاستيعاب محتواه وتطبيقه يكون أكثر بكثير من ذلك، وليس كل النصائح والمعلومات تقدم بشكل سهل وقابل للفهم فورًا، فقد تحتاج إلى وقت إضافي لفهم المفاهيم وتطبيقها في البرمجة. يُنصح باحتساب وقت إضافي للمراجعة والتطبيق العملي، وحتى البحث عن توضيحات إضافية إن لزم الأمر. وإذا كنت مبتدئًا في البرمجة، فقد تحتاج إلى وقت إضافي لفهم المفاهيم الأساسية. الدورة بايثون التي تحتوي على 67 ساعة ليست الوقت النهائي لاكتساب المعرفة الكاملة، وبشكل منطقي، قد تحتاج إلى 4 إلى 5 أضعاف وقت الدورة لتتمكن من استيعاب المعلومات وتطبيقها بشكل جيد. أي في حال قمت بالدراسة لمدة 6 ساعات يوميًا، فستحتاج إلى حوالي 55 يومًا لإكمال الدورة التي تحتوي على 335 ساعة، مما يعني حوالي شهرين وبعض الأيام. إن الدراسة اليومية المنتظمة تساعدك على البقاء على المسار الصحيح والاستفادة القصوى من الدورة. أخيرًا، لا تنسى أن التطبيق العملي هو المفتاح الأساسي. قم بتنفيذ المفاهيم التي تعلمتها بنفسك وحاول تغيير الكود لتفهمه بشكل أفضل، واستمر في التطوير وكن صبورًا، فعالم البرمجة مليء بالتحديات والمكافآت.
-
أنت لست بحاجة إلى أية إضافات بخصوص HTML , CSS, JS إلا الإضافات التي تزيد الإنتاجية مثل قراءة الكلاسات وعمل autocomplete لها أثناء الكتابة، أو تنسيق الكود عند حفظه وخلافه، فمحرر VSCODE يدعم تلك اللغات بشكل إفتراضي الإضافات التي ستحتاجها هي التالي: Auto Rename Tag تقوم بإعادة تسمية عنصر النهاية والبداية عند تعديلك لاسم أحدهما. Autoprefixer تقوم بإضافة الـ prefixes لكود CSS تلقائيًا فور تشغيلها أي عليك تشغيلها عند نشر المشروع على استضافة. Color Highlight تقوم بعرض ألوان الأكواد في المحرر بدلاً من الوقوف على اللون CSS-in-JS تكملة تلقائية لأكواد css في ملفات جافاسكريبت HTML to CSS autocompletion عرض اقتراحات لأسماء كلاسات HTML عند كتابتها في ملف css Prettier لتنسيق الكود Live server أو Live Preview بالنسبة لـ PHP، ستحتاج: PHP Intelephense PHP Namespace Resolver إضافات عامة: Error Lens لعرض الأخطاء والتنبيهات بجانب أسطر الكود والتي قد لا تنتبه إليها Code Spell Checker للإشارة للأخطاء الإملائية في الكود
-
الفكرة من التطبيق العملي هو التعلم وتوظيف وتثبيت ما تعلمته، فبدون الممارسة بشكل عملي والتعلم من الأخطاء فلا فائدة من الأمور النظرية أو مشاهدة الشروحات. بالطبع عليك التعلم بشكل ممنهج من خلال خريطة تعلم، فبدون هدف واضح، ستجد نفسك تائهًا في بحر من البيانات والخوارزميات دون وجهة محددة. لذا عليك تحديد هدف مشروع تعلم الآلة من خلال: حدد مشكلة واضحة، ما هي المشكلة التي تحاول حلها باستخدام تعلم الآلة؟ ما هي البيانات المتاحة لديك؟ وهل هي كافية وذات جودة عالية؟ ما هي خوارزمية تعلم الآلة الأنسب لحل مشكلتك؟ كيف ستقيس أداء نموذج تعلم الآلة الذي قمت ببنائه؟ مثلاً بخصوص التنبؤ باحتمالية الإصابة بأمراض القلب، عليك بناء نموذج يتنبأ باحتمالية إصابة شخص ما بأمراض القلب حسب بياناته الصحية مثل العمر، الجنس، التاريخ العائلي، ضغط الدم، مستوى الكوليسترول، وغيرها. أو بناء نموذج يصنف نوع مرض القلب الذي يعاني منه المريض من خلال بياناته الصحية ونتائج الفحوصات. أو بناء نموذج يتنبأ بمدى نجاح خطة علاجية معينة لمرض القلب بناءًا على بيانات المريض وتفاصيل العلاج. أيضًا هناك أهداف وصفية بدلاً من تنبؤية، مثل تحديد العوامل المؤثرة وبناء نموذج يحدد أهم العوامل التي تؤثر على الإصابة بأمراض القلب أو تطورها. أو تصنيف المرضى من خلال بناء نموذج يصنف المرضى إلى مجموعات متشابهة بواسطة بياناتهم الصحية واحتمالية إصابتهم بأمراض القلب.
- 4 اجابة
-
- 1
-
-
طريقة تنفيذ ذلك راجعة إليك، يمكنك المشاهدة والتطبيق مع الشرح أو مشاهدة جزء كبير نسبيًا من الدرس ثم التوقف والتطبيق مثلاً لو درس 3 دقائق تقوم بمشاهدته ثم تتوقف وتقوم بتطبيق ما جاء بالدرس، أو إنهاء المشروع بالتطبيق مع الشرح ثم إعادة تنفيذه مرة أخرى بمفردك، في المرة الأولى التزم بما يتم بالشرح، ثم بعد ذلك تستطيع التعديل كما تريد وكتابة المنطق الخاص بك. الغالبية يتكاسل عن تلك الخطوة، فلا يعني إنهائك للمشروع أنك متفهم لكيفية تنفيذه مرة أخرى بمفردك، فهناك أمور ستتفاجيء أنك لست متفهم لها بشكل كافي عند إعادة تنفيذها بمفردك وأيضًا التمرن على كيفية إعداد وتهيئة المشاريع من البداية. والمراجعة أمر هام للغاية أثناء التعلم حيث لا يتم الاستيعاب بشكل كامل من المرة الأولى بطبيعة الحال، والممارسة في البرمجة هي أفضل وسيلة للتعلم وليس المشاهدة. في حال كان المشروع بسيط من الأفضل لو قمت بالبحث عن مشاريع أخرى للتمرين على اليوتيوب لزيادة الاستيعاب والتعرض لأمور جديدة. ستجد تفصيل هنا:
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.