-
المساهمات
18935 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
448
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
الأمر بسيط، المجال مطلوب بالطبع، والشهادات لا معنى لها بدون تعلم مهارات فعلية مطلوبة في الواقع العملي، بالتالي السعي وراء الشهادات مضيعة للوقت إلا كانت شهادة معروفة ومُعتمدة كـ CEH أو CISSP والتي تحصل عليها لاحقًا لتطوير مهاراتك. لذا تفقد ما الذي يوفر لك منهج تعليمي واقعي وحديث وليس نظري وقديم. وبخصوص العمل الحر، تستطيع ذلك لا مشكلة، تفقد مواقع العمل الحر وستجد مشاريع خاصة بالأمن السيبراني.
- 3 اجابة
-
- 1
-
-
بالطبع، تستطيع وضع استفسارك هنا والصعوبة التي تواجهها وسيتم مساعدتك في أي وقت، لكن ليس خطوة خطوة سيتم إرشادك وتوضيح الأمر لك وترك باقي المهمة لك، وفي حال واجهتك مشكلة في جزئية ما تستطيع السؤال.
-
تحتاج للتدقيق لتخطي الـ captcha للتأكد من أنك لست روبوت، العملية الحسابية هي 7 - 5 وذلك يساوي 2 اكتب في الحقل رقم 2. بالنسبة لتخطيها من خلال بوت، ستحتاج إلى تدريب نموذج على تلك الإختبارات بإنشاء Dataset من تلك الإختبارات لتدريب النموذج عليها، ابحث عن fine-tuning وستجد تفصيل هنا: واعتمد على نماذج اكتشاف الكائنات المُدربة مسبقًا ومنها YOLO أو Faster R-CNN أو DETR أو EfficientDet عامًة ما ستقوم به هو توصيف كل صورة في مجموعة التدريب، بمعنى رسم مربعات محيطة Bounding Boxes حول كل رقم وكل رمز عملية حسابية تريد أن يتعرف عليها النموذج، وتحديد الصنف Label لكل مربع، وهناك أدوات توصيف متاحة منها LabelImg, CVAT, Roboflow. ثم تنفيذ الـ Fine-tuning بتدريب النموذج الذي اخترته مع الأوزان المدربة مسبقاً على مجموعة البيانات الموصوفة التي قمت بها، وسيتعلم النموذج تعديل معرفته العامة للتركيز على اكتشاف الأرقام والرموز.
-
عليك تصحيح جملة UPDATE بإزالة person_id = ?, من الجزء SET. كالتالي: $sql_update_employee = "UPDATE employees SET `type` = ?, degree = ?, degree_date = ?, status = ?, due = ?, qualification = ?, start_date = ?, res_num = ?, section_id = ?, sub_section_id = ?, specialty_id = ?, bank_id = ?, branch = ?, account_num = ? WHERE person_id = ?"; ويجب وجود عمود باسم specialty_id تفقده في قاعدة البيانات. ثم تصحيح استدعاء bind_param لجدول employees باستخدم 15 متغيرًا مطابقًا لعلامات الاستفهام الـ 15 في الاستعلام السابق مع كتابة $id للمتغير الأخير الخاص بجملة WHERE. مع استخدم الأنواع الصحيحة وهي i للأرقام الصحيحة، s للسلاسل النصية، d للأرقام العشرية، تفقد أنواع الأعمدة في قاعدة البيانات أولاً ثم عدل الاستعلام التالي: $specialty_id = $_POST['specialties_id']; $sql_update_employee = "UPDATE employees SET `type` = ?, degree = ?, degree_date = ?, status = ?, due = ?, qualification = ?, start_date = ?, res_num = ?, section_id = ?, sub_section_id = ?, specialty_id = ?, bank_id = ?, branch = ?, account_num = ? WHERE person_id = ?"; $stmt_update_employee = $con->prepare($sql_update_employee); $types = "sissssssiiiissi"; // 15 حرفًا $stmt_update_employee->bind_param( $types, $type, $degree, $degree_date, $status, $due, $qualification, $start_date, $res_num, $section_id, $sub_section_id, $specialty_id, $bank_id, $branch, $account_num, $id );
- 1 جواب
-
- 1
-
-
في رأي نسبة 60% عادلة، خاصة في البداية، لأنك تتحمل 100% من المخاطرة المالية، ورأس المال يطالب بعائد أعلى بسبب المخاطرة، ومن المفترض أن تكون 70% لو ستقوم بمهمة السفر أو التفاوض مع الموردين. في نفس الوقت نسبة 40% لشخصين يديران كل العمليات اليومية مبيعات، تسويق، مخزن ومحل مُنخفضة نسبياً في حال لا يتقاضون رواتب ثابتة منفصلة حتى لو بسيطة. وهل تم خصم تكلفة البضاعة التي استوردتها أنت تكلفة الشراء + الشحن + الجمارك وخلافه قبل حساب الأرباح؟ الصحيح أن يكون صافي الربح = إجمالي الإيرادات - تكلفة البضاعة المباعة - مصاريف التشغيل (أحمد ووسام) - أي خسائر أخرى. ويجب توضيح هل مصاريفك المتعلقة بالاستيراد (سفر، اتصالات، وقتك وجهدك في البحث والمفاوضة) محسوبة ضمن التكاليف أم أنك تتحملها شخصياً؟ ولو قررت توفير رواتب، هل تُخصم كمصاريف تشغيلية قبل حساب صافي الربح؟ لأنّ النسبة ستكون غير كافية لتحفيزهم على المدى الطويل أو لتغطية تكاليف معيشتهم، خاصًة الأرباح الأولية منخفضة في غالب الأحوال للمشاريع. من الأفضل الاتفاق على نسب متغيرة حسب حجم الأرباح، بمعنى لو صافي الربح أقل من مبلغ معين وليكن 50,000 ريال، تحصل على 70% وهم 30%. ولو تجاوز الربح مبلغ أعلى، تعود النسب إلى 60/40.
-
آلية الإختبار هي كالتالي: بعد إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github وذلك في حال كانت مشاريع برمجية، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github أو روابط المشاريع التي قمت بها طالما أنك في دورة ادارة تطوير المنتجات. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.
-
إذن افحص category-items.php بحثًا عن مسافات أو BOM، تفقده في محرر مثل VSCode، ويجب أن تكون <?php هي أول شيء في الملف تمامًا، بدون أي مسافات أو أسطر فارغة قبله. ثم في VSCode، انقر على file ثم Save with Encoding، واختر UTF-8. وللتأكد من أن المشكلة في category-items.php وليس في القالب الرئيسي، أنشئ ملفًا جديدًا باسم test.php في نفس المجلد includes، وضع فيه الكود التالي: <?php define('ARTISTS_IMAGE_PATH', get_template_directory_uri() . '/images/'); function get_category_artists($category_type) { return array( array('name' => 'فنان اختبار', 'url' => '#', 'image' => ARTISTS_IMAGE_PATH . 'test.jpg') ); } echo "تم تنفيذ الملف بنجاح"; استبدل السطر في القالب الرئيسي: require_once(get_template_directory() . '/includes/category-items.php'); بـ: require_once(get_template_directory() . '/includes/test.php');
-
عليك تغيير path/media إلى مسار مجلد media RewriteEngine On RewriteRule ^media/(.*)$ /path/media/$1 [L] RewriteRule ^(?!media/).*\.py$ - [F] Options -Indexes
-
تفقد الحزمة التالية هي نفسها لكن مُعدلة لتدعم العربية: https://packagist.org/packages/baklysystems/laravel-dompdf وفي ملف القالب عليك وضع التالي: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> وستجد هنا المستودع الخاص بالمكتبة: https://github.com/baklysystems/laravel-dompdf
- 9 اجابة
-
- 1
-
-
ذلك متاح في دورة تطوير التطبيقات باستخدام لغة JavaScript ولست بحاجة إلى دراستها بالكامل، فهناك مسارات خاصة بالمشاريع العملية وبها التالي: أساسيات React.js به مشروع للتطبيق على أساسيات React. أساسيات Node.js به مشروع بناء واجهة برمجية API لتقييم الأفلام. تطوير تطبيق جوال باستخدام React Native تطبيق دردشة يشبه WhatsApp للويب والهاتف للتطبيق على React و React Native. أساسيات TypeScript به مشروع تطبيق للتتبع المصاريف من خلال Next.js تطوير تطبيق سطح مكتب باستخدام Electron.js إنشاء تطبيق أسئلة وأجوبة باستخدام Next.js تطبيق تعلم اللغات باستخدام Next.js وتقنيات الذكاء الاصطناعي تطوير تطبيق جوال للتواصل الاجتماعي باستخدام Ionic تطبيق حجز مناسبات باستخدام GraphQL
-
بخصوص التوظيف والأمور المالية، أرجو التحدث لمركز المساعدة للاستفسار عما تريد وسيتم توضيح الأمر لك.
- 3 اجابة
-
- 1
-
-
لا تقلق الأمر ليس مشكلة من جهتك، نعتذر لك عن أي إزعاج، أحيانًا تحدث تلك المشكلة مؤخرًا من قبل المنصة الخاصة باستضافة الدروس، وجاري العمل على حلها من قبلهم، الأمر خارج عن إرادة الأكاديمية ليس تقصير من جهتنا. بعد دقائق ستجد أنّ الفيديو يعمل بشكل سليم، أرجو إعادة تحديث الصفحة.
-
NuxtErrorBoundary الغرض منه التعامل مع أخطاء العرض rendering errors أو الأخطاء التي تحدث بعد بدء العرض أو في دورات حياة معينة كـ onMounted في المتصفح، وذكرت أنّ المشكلة تحدث عند جلب البيانات من الخادم وذلك يمنع عرض الصفحة. الأفضل التعامل مع أخطاء جلب البيانات التي تحدث على الخادم أو العميل من خلال استخدام state التي توفرها أدوات جلب البيانات في Nuxt مثل useFetch أو useAsyncData، لمنع ظهور صفحة الخطأ 500. <template> <div> <NuxtErrorBoundary @error="logProductError"> <template #default> <div v-if="pending" class="loading"> جاري التحميل... </div> <div v-else-if="products.length" class="products"> <div v-for="product in products" :key="product.id"> {{ product.name }} </div> </div> <div v-else class="no-products"> لا توجد منتجات </div> </template> <template #error="{ error }"> <div class="error-container"> <p>عذراً، حدث خطأ في تحميل المنتجات</p> <button @click="handleRetry"> إعادة المحاولة </button> </div> </template> </NuxtErrorBoundary> </div> </template> <script setup> import { ref } from 'vue'; import { useFetch, clearNuxtError } from '#app'; const { data: products, pending, error, refresh } = useFetch('/api/products', { default: () => [], lazy: true, server: true, watch: true, }); function logProductError(err) { console.error('NuxtErrorBoundary caught an error:', err); } watch(error, (newError) => { if (newError) { console.error('Error fetching products:', newError); } }); async function handleRetry() { try { clearNuxtError(); await refresh(); } catch (e) { console.error('Retry failed:', e); } } onUnmounted(() => { }); </script> ولاحظ تم التعامل مع الحالات المختلفة: <div v-if="pending">جاري التحميل...</div> <div v-else-if="error">حدث خطأ</div> <div v-else-if="products.length">عرض المنتجات</div> <div v-else>لا توجد منتجات</div>
-
ذلك متوفر من خلال دورة تطوير التطبيقات باستخدام لغة JavaScript وستتعلم بها ما يلي: الأسس البرمجية السليمة للغة JavaScript الإضافات الحديثة في نسخة ES6 من اللغة تطوير تطبيقات الخادم باستخدام بيئة Node.js أساسيات مكتبة React.js وبناء تطبيق ملاحظات باستخدامها أساسيات مكتبة React Native و Expo تطوير تطبيق جوال للوصل بين الأطباء والمرضى بالاعتماد على React Native التعرف على التطبيقات التي تتطلب اتصالًا مستمرًا بين المتصفح والخادم بناء تطبيق محادثة يشبه تطبيق WhatsApp إنشاء تطبيق أسئلة وأجوبة ونقاشات مع تصيير من جهة الخادم Server-side Rendering عبر إطار العمل Next.js بناء واجهات أمامية باستخدام React.js مع مكتبة Material-UI إنشاء تطبيقات سطح مكتب باستخدام JavaScript باستخدام إطار العمل Electron.js بناء تطبيق جوال لشبكة تواصل اجتماعي باستخدام إطار العمل Ionic ومكتبة React.js وعند الإشتراك بها سيتم إتاحة المسار الأول من دورة تطوير واجهات المستخدم بشكل مجاني، وستتعلم به ما يلي: مفهوم الواجهة الأماميّة للموقع front-end وكيفية عملها. أساسيات لغات تطوير واجهات المستخدم: HTML, CSS, JavaScript, jQuery
-
حاليًا لا أرى مشكلة واضحة، المحتوى جيد لكن به مشكلة thin content بمعنى كلمات المقال أو الخبر قليلة 300 إلى 450 كلمة، لا مشكلة في ذلك لكن لو ذلك حال الموقع بالكامل فهو مؤشر غير جيد، فجوجل ترى أن المحتوى منخفض القيمة أو غير كافٍ أو غير أصلي، يجب أن تكون المقالات تقدم قيمة حقيقية وفريدة للقارئ، وفي حال مجرد إعادة صياغة لأخبار أو مواضيع منتشرة دون إضافة تحليل أو وجهة نظر خاصة لن يتم قبوله، ويلزم وجود مقالات مفصلة بما يكفي وتغطي الموضوع بعمق، بالطبع كما ذكرت ليس كامل الموقع لكن يجب وجود مثل تلك المقالات. من المفترض أن تتبع التالي: الكلمة المفتاحية الرئيسية تظهر في الفقرة الأولى من النص. كثافة الكلمة المفتاحية هي 1.3% من عدد كلمات المقال. الكلمة المفتاحية الرئيسية تظهر في عنوان فرعي واحد على الأقل. النص يحتوي على 500 كلمة وذلك زيادة قليلاً عن الحد الأدنى الموصى به وهو 300 كلمة. الربط الداخلي بين المقالات بروابط internal. الكلمة المفتاحية الرئيسية تظهر في عنوان URL لصفحة. لم يسبق لك استخدام الكلمة المفتاحية الرئيسية من قبل لمنع صفحاتك من التنافس مع بعضها البعض في نتائج البحث لنفس الكلمة، وتلك مشكلة تسمى Keyword Cannibalization. أيضًا يجب توافر زيارات يومية مقبولة ولا يوجد رقم محدد، لكن ما بين 100 إلى 500 رقم جيد.
- 1 جواب
-
- 1
-
-
يجب إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل، ثم عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة.
- 2 اجابة
-
- 1
-
-
تقصد المرفقات؟ ستجدها في درس المدخل أو المقدمة في بداية كل مسار
- 2 اجابة
-
- 1
-
-
الدورة متاحة لك مدى الحياة والتحديثات التي تتم عليها أيضًا. بخصوص مدرة الدراسة، فالأمر راجع لمجهودك ومدى تفرغك وأيضًا خبراتك السابقة في حال كان لديك دراية بالبرمجة من قبل، ستحتاج إلى 3 أشهر على الأقل وقد تصل إلى 6 أشهر وفي رأي الحد الأدنى هو 6 أشهر، والأمر المهم هو تحديد الوقت اليومي للدراسة والتطبيق، وليس من الضروري أن تنهي عددًا محددًا من الفيديوهات يوميًا، بل من الأفضل تخصيص عدد معين من الساعات يوميًا للدراسة بتركيز وتطبيق المفاهيم التي تعلمتها، ولا تعتمد على ذاكرتك فقط بل قم بكتابة الكود بنفسك لتثبيت المعرفة. ولا تنسى أن الاستيعاب والتطبيق يتطلبان وقتًا إضافيًا، وستحتاج إلى مراجعة المحتوى والبحث عن تفاصيل إضافية لفهمه بشكل كامل، بمعنى 4 إلى 5 أضعاف وقت الدورة لتتمكن من استيعاب المعلومات وتطبيقها بشكل جيد. وتحديد وقت للانتهاء من الدورة يساعدك على الالتزام وتقييم تقدمك، ولو تركت الأمر بدون جدولة، فستستغرق وقتًا طويلاً لإكمال الدورة بسبب الانشغالات الأخرى. وعندما ترى فيديو بمدة 30 دقيقة، فالوقت الفعلي الذي ستحتاجه لاستيعاب محتواه وتطبيقه يكون أكثر بكثير من ذلك، وليس كل النصائح والمعلومات تقدم بشكل سهل وقابل للفهم فورًا، فستحتاج إلى وقت إضافي لفهم المفاهيم وتطبيقها في البرمجة، بالتالي يجب احتساب وقت إضافي للمراجعة والتطبيق العملي، وحتى البحث عن توضيحات إضافية إن لزم الأمر. وفي حال كنت مبتدئًا في البرمجة، فبلا شك يوجد وقت إضافي لفهم المفاهيم الأساسية. أخيرًا، لا تنسى أن التطبيق العملي هو الأهم وليس المشاهدة النظرية، عليك التطبيق على المفاهيم التي تعلمتها بنفسك وحاول تغيير الكود لتفهمه بشكل أفضل، واستمر في التطوير وكن صبورًا.
- 3 اجابة
-
- 1
-
-
يوجد طريقة للتغلب على ذلك بحذف مساحة من قرص الـ D ثم إنشاء قرص آخر بحرف مختلف ونقل الملفات إليه لكن أرى أن مساحة D ممتلئة تقريبًا. لذا ستحتاج إلى برامج خارجية ويوجد AOMEI Partition Assistant يوفر لك ما تريده بشكل مجاني في النسخة المجانية حيث بها ميزات Create, Extend, Shrink, Move, Delete, Format, Merge, Clone Partitions.
- 3 اجابة
-
- 1
-
-
الغرض منها تحويل مجموعة كبيرة من المتغيرات Features/الأعمدة في البيانات إلى مجموعة أصغر من المتغيرات الجديدة تُسمى المكونات الرئيسية Principal Components - PCs، مع الحفاظ على أكبر قدر ممكن من المعلومات لتحقيق التباين الموجود في البيانات الأصلية. وذلك للتغلب على لعنة الأبعاد، ففي حال يتوفر عدد كبير جداً من المتغيرات مقارنة بعدد العينات وهي الصفوف، تصبح النماذج أقل كفاءة، وأكثر عرضة للـ Overfitting، وتتطلب بيانات أكثر للتدريب، هنا يظهر فائدة الـ PCA بتقليل عدد المتغيرات والتي بدورها تزيد من أداء النموذج ويصح أسرع ويتطلب ذاكرة أقل. كذلك تقليل الضوضاء بالتركيز على الأنماط الرئيسية ذات التباين الأكبر في البيانات، ويتجاهل التباينات الصغيرة التي تسبب ضوضاء. ومن الصعب تصور بيانات ذات أبعاد كثيرة أكثر من 3، وبتقليل الأبعاد إلى 2 أو 3 مكونات رئيسية فقط من خلال PCA، يسمح برسم البيانات وفهم بنيتها أو اكتشاف تجمعات Clusters أو نقاط شاذة Outliers بصرياً. بالإضافة إلى معالجة تعدد الخطية Multicollinearity واستخراج الميزات، وليس شرطًا استخدامه مع الشبكات العصبية خاصًة العميقة منها، فهي قادرة بطبيعتها على التعامل مع بيانات ذات أبعاد عالية جداً وتعلم تمثيلات معقدة للميزات بنفسها داخل طبقاتها المخفية، وعملية التعلم تتضمن غالباً نوعاً من تقليل الأبعاد أو استخلاص الميزات بشكل ضمني. يتم اللجوء إليه أحيانًا مع وجود بيانات ذات أبعاد هائلة كبعض بيانات الصور أو الجينوم، كخطوة أولية لتقليل الأبعاد قبل إدخال البيانات للشبكة العصبية لتسريع التدريب أو تقليل متطلبات الذاكرة، أو لتصور مخرجات الطبقات الداخلية للشبكة. لكن الـ PCA يعتمد على علاقات خطية، بالتالي لو العلاقات المهمة في البيانات الغير خطية بشكل كبير، فسيتم فقدان معلومات مهمة تحتاجها الشبكة العصبية لتحقيق أداء جيد، حيث تتفوق في التقاط العلاقات غير الخطية.
- 4 اجابة
-
- 1
-
-
ليس عليك التعمق بها حاليًا سنتطرق إليها لاحقًا خلال الدورة في مسار الخوارزميات وبنى المعطيات، يكفي حاليًا التطبيق على ما تعلمته من خلال تمرين أو اثنان، بعدها تنتقل لتعلم أساسيات البرمجة، وتطبيق ما تعلمته في المسار الأول على المسار الثاني، بمعنى تنفيذ Flow chart بسيط لتمرين معين مثلاً وكتابة Pseudo Code. بعد الإنتهاء من مسار أساسيات البرمجة تستطيع حل مسائل برمجية من أجل تحسين مهارة التفكير المنطقي وكتابة الخوارزميات بحل مسائل بسيطة في البداية للجمع بين التعلم النظري والتطبيق عبر التمارين مثل منصات HackerRank أو Edabit أو Codewars للمبتدئين، حيث تبدأ بالتدرج من خلال منصة سهلة نسبيًا مثل Codewars وحل الأسئلة السهلة ثم المتوسطة ثم الصعبة، ثم الإنتقال لمنصة leetcode وحل المسائل التي بها بدءًا من مستوى متوسط فما فوق. هناك تفصيل بخصوص الـ problem solving ستجده هنا:
- 3 اجابة
-
- 1
-
-
بسبب مشكلة في المسار، لاحظي أن ملف index.html لا يعمل على نفس الخادم، بالتالي عند الضغط على الزر سيتم التوجه إلى مسار مشابه للتالي: file:///C:/laragon/www/script.php وهو مسار الملف على الحاسوب وليس الخادم. الصحيح هو كتابة مسار الخادم: <button onclick="window.location.href=' http://localhost:8080/script.php'" class="button"></button>
-
المقصود أنّ الكود يجب أن ينتهي من التنفيذ بالكامل في مدة أقصاها 9 ساعات، في حال تعمل على وحدة المعالجة CPU ونفس الأمر بالنسبة لوحدة المعالجة GPU، بأي حال من الأحوال يجب أن ينتهي تنفيذ الكود في مدة أقصاها 9 ساعات عند تقديمه للتقييم النهائي في المسابقة Submission run. وذلك لضمان أن جميع المتسابقين لديهم نفس الموارد الحاسوبية المحدودة، أيضًا وضع حد زمني يمنع استهلاك الموارد بشكل مفرط ويضمن توفرها للمستخدمين الآخرين، ويسمح للمسابقة بتقييم الحلول في إطار زمني معقول. ولو استغرق الكود وقتاً أطول من 9 ساعات ليكتمل عند تشغيله بواسطة كاجل ستحصل على خطأ Timeout.
- 2 اجابة
-
- 1
-