-
المساهمات
14490 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
384
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
الواجهة ستتكون من عدّة مكونات رئيسية وهم: الصفحة الرئيسية ستحتوي على التالي: عرض معلومات أساسية عن الموظف، مثل اسمه وصورة شخصية ورقم الموظف. قائمة بوظائف النظام الرئيسية، مثل "إدخال البيانات" و "التقارير" و "الاستعلامات". صفحة إدخال البيانات: تحتوي على نموذج لإدخال البيانات الأساسية للموظف، مثل المؤهل العلمي ومكان العمل الحالي. تسمح بتحميل صورة شخصية للموظف. صفحة الإجازات: تعرض رصيد الاجازات المتاح للموظف. تسمح بطلب إجازة جديدة، مع تحديد نوع الإجازة وتاريخ البدء والانتهاء. صفحة التقارير: تعرض تقارير الكفاءة للموظف. تسمح بتوليد تقارير جديدة حسب معايير محددة. وطالما أنك تريد تصميم الواجهة باستخدام Bootstrap فسيكون الأمر كالتالي: سنستخدم نظام شبكة Bootstrap لتنظيم محتوى الصفحات وتقسيمه بشكل متجاوب. مكونات Bootstrap مثل "الأزرار" و "النماذج" و "الجداول" لإنشاء عناصر واجهة المستخدم. سنعتمد CSS مخصصًا لتعديل مظهر واجهة المستخدم حسب احتياجاتنا. وفي لارافل عليك معالجة طلبات المستخدم وإنشاء استجابات ديناميكية، وقواعد بيانات للوصول إلى بيانات الموظفين وتعديلها وميزات Laravel للتحقق من صحة البيانات وتأمين النظام. ابحث عن hr dashboard ui وستجد نتائج مثل التالي:
-
في السطر 194 من الكود.، يتم تعيين الخاصية android:layout_width إلى -2. وفي Android XML، لا يُسمح باستخدام القيمة "-2" مباشرةً لـ android:layout_width أو android:layout_height، وعليك استخدام إحدى القيم التالية بدلاً من ذلك: wrap_content: سيستحوذ العنصر على أكبر عرض ممكن داخل الوالد. fill_parent: سيأخذ العنصر نفس عرض الوالد. match_parent: سيأخذ العنصر نفس عرض الوالد. dimension: سيأخذ العنصر عرضًا محددًا بوحدات dp أو px. مثلاً كالتالي: <LinearLayout android:layout_width="100dp" android:layout_height="50dp"> </LinearLayout> أو: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> </LinearLayout>
-
المقصود أن Manifest version 2 قد أصبح قديمًا وسيتم إيقاف دعمه في عام 2024، كما سيتم حظر ملفات تعريف الارتباط الخاصة بجهات خارجية. ستحتاج إلى تحديث ملف manifest.json ليتوافق مع متطلبات جوجل كروم الجديدة، كالتالي: غيّر manifest_version من 2 إلى 3 في ملف manifest.json. تعديل الإضافة للتعامل مع حظر جوجل كروم لملفات تعريف الارتباط الخاصة بجهات خارجية، وتستطيع القيام بذلك بعدة طرق، مثل: استخدام واجهة برمجة التطبيقات Permissions API الجديدة لطلب إذن المستخدم لتنفيذ مهام تتطلب ملفات تعريف الارتباط. استخدام تخزين التخزين المحلي بدلاً من ملفات تعريف الارتباط لبعض البيانات. تعديل وظائف الإضافة لتجنب الاعتماد على ملفات تعريف الارتباط. وتأكد من أن الإضافة تتوافق مع سياسات محتوى الأمان الجديدة في جوجل كروم. https://developer.chrome.com/docs/extensions/develop/migrate
-
ذلك مذكور بالفعل من ضمن وصف الدورة، لذا عملية المتابعة بعد التخرج تتم من خلال مركز المساعدة أرجو التحدث إليهم وإخبارهم بما قمت بتحقيقه حتى الآن وما تريده في الخطوة القادمة لك لتوجيهك وتوضيح الأمر لك. وللعلم دورة علوم الحاسوب دورة تأسيسية أكثر منها دورة للتخصص في مجال برمجي وتعلم تقنيات ومكتبات وخلافه، بل الغرض منها تأهيلك لدخول عالم البرمجة وإختيار المجال البرمجي المناسب لك للتخصص به والعمل به في سوق العمل.
-
عليك إضافة وظيفة callback التي تتم عند انتهاء العداد وهي onExpiry في مكتبة jQuery Countdown التي تستخدمها. لكن أولاً، قم بإضافة معرف فريد لكل زر تسليم في ملف show.blade.php: <td> <div class="counter wow animate__animated animate__fadeInDown"> <div class="defaultCountdown" data-date="{{ $homework->deadline }}"> </div> </div> </td> <td> <div class="delivery"> <a href="{{ route('download-file', $homework->id) }}" class="btn btn-sm btn-secondary" id="delivery-button-{{ $homework->id }}"> <i class="fa fa-upload"></i> تسليم </a> </div> </td> ثم، قم بإضافة الوظيفة onExpiry إلى العداد: <script> $(function () { $('.defaultCountdown').each(function (i) { const time = new Date($(this).data('date')); $(this).countdown({ until: time, format: 'odHMS', onExpiry: function() { const id = $(this).parent().parent().find('.delivery a').attr('id'); $('#' + id).hide(); } }); }) }); </script>
-
تفقد استخدام المعالج هل هناك مشكلة به أثناء التشغيل؟ فتلك المشكلة غالبًا من استهلاك مرتفع للمعالج. وما هي نسخة Visual studio التي تستعملها؟ هل هي 2022؟ حاول إذن استخدام نسخة 2019. https://visualstudio.microsoft.com/vs/older-downloads/ وإن استمرت المشكلة، يمكنك استخدام Vscode بدلاً من Visual studio فهو أخف ولا يستهلك موارد الحاسوب.
-
ما سبب تلك المساحة، هل قمت بعدم تضمين ملف node_modules من خلال ملف .gitignore حيث لا يتم رفعه إلى مستودع GitHub، فبه الحزم المثبتة بالمشروع، لذا عند تحميل شخص آخر لمشروعك يقوم بتحميلها من خلال ملف package.json من خلال أمر npm install
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
ستجد في وصف الدورة التالي: وصول مدى الحياة لمحتويات الدورة تحديثات مستمرة على الدورة تحصل عليها مجانًا بالمستقبل نصائح مخصّصة لك وإرشاد بعد الدورة ضمان استرداد استثمارك خلال 6 أشهر شهادة معتمدة من أكاديمية حسوب لذا تلك من ضمن بنود الدورة التي اشتركت على أساسها، وستجد تفصيل هنا بخصوص ذلك:
-
عند رفع مشروع بايثون على استضافة، هناك أمر لبناءالمشروع Build Command يتم تنفيذه وهو: pip install -r requirements.txt ومن خلاله يتم تثبيت جميع الحزم للازمة للمشروع من خلال ملف requirements.txt، ولا تقوم برفعها مع المشروع بل يتم تثبيتها على الاستضافة. ستجد توضيح مُفصل هنا:
- 2 اجابة
-
- 1
-
-
لأنك تستخدم قاعدة بيانات SQLite عليك تفعيل الإضافات التالية في ملف php.ini: extension=pdo_sqlite extension=sqlite3 ستجد بجانبهم فاصلة ; منقوطة قم بحذفها لتفعيل الإضافة ثم قم بالضغط على CTRL + S للحفظ. وإذا كنت لا تستخدم SQLite في لارافل 11، فقم بتعديل المتغيرات التالية في ملف .env: SESSION_DRIVER=database SESSION_LIFETIME=120 SESSION_ENCRYPT=false SESSION_PATH=/ SESSION_DOMAIN=null إلى: SESSION_DRIVER=cookie SESSION_LIFETIME=120 SESSION_ENCRYPT=false SESSION_PATH=/ SESSION_DOMAIN=null
- 2 اجابة
-
- 1
-
-
هل المقصود هو إنشاء list بها underscoresبطول يمثل طول الكلمة؟ سيكون الكود كالتالي: import random word = ["good", "bada"] chosen_word = random.choice(word) array = ["_" for _ in chosen_word] print(array) حيث أنّ "_" يمثل العنصر الذي سيتم إضافته مرارًا وتكرارًا إلى قائمة array من خلال for _ in. والرمز "_" بعد for هو متغير حامل لعلامة مكان لا يحمل أي قيمة فعلية ونستخدمه ببساطة للتكرار على التسلسل المقدم بعد ذلك، وتستطيعي استخدام i لا مشكلة.
- 2 اجابة
-
- 1
-
-
ما تقصده هو أدوات Low code أو No Code، وتلك الأدوات ستظل موجودة دائمًا، فليس جميع المشاريع بحاجة إلى برمجة من الصفر وتخصيص المشروع بناءًا على احتياجاته. فهناك مشاريع بسيطة بحاجة إلى أدوات جاهزة، لذا تلك المنصات موجهة لذلك، وهي مفيدة أيضًا لتنفيذ نماذج تجريبية Demos أو تصاميم أولية بشكل سريع لفكرة مشروع معين تريد تفنيذها لتجربتها أو عرضها على الفريق الذي تعمل معه أو العميل. عليك الإهتمام بتعلم الأساسيات بشكل جيد أثناء البرمجة وهي HTML, CSS, JS وعدم الإهتمام بشكل كبير بالتقنيات وبتلك المنصات، فهي متغيرة وليست ثابتة ومجرد أداة مساعدة. وستجد تفصيل أكثر هنا:
- 3 اجابة
-
- 1
-
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
ستجد توضيح شامل هنا والمكتبات المتاحة أيضًا، لكن لا حاجة لذلك فالأمر متوفر من خلال لارافل، لكن المكتبات تجعل الأمر أسهل وكود أقل بالنسبة لك.
- 8 اجابة
-
- 1
-
-
نعتمد على وظيفة only() داخل طلب HTTP للحصول على مجموعة محددة من بيانات الإدخال من الطلب. وتستقبل only() قائمة بأسماء الحقول كوسائط، وتُرجع only() مصفوفة جديدة تحتوي فقط على البيانات المحددة في تلك الحقول. وذلك لتنظيف بيانات الإدخال قبل معالجتها أو لتحديد البيانات التي يجب تخزينها في قاعدة البيانات أو لتمرير بيانات محددة إلى وظائف أو تطبيقات أخرى. $request = Illuminate\Http\Request::createFromGlobals(); $name = $request->only('name')['name']; $data = $request->only(['name', 'email']); وفي Laravel، يتم توفير مثيل Request تلقائيًا لكل وحدة تحكم، ويتيح لك الوصول بسهولة إلى بيانات الطلب، بما في ذلك $request->all() للحصول على جميع بيانات النموذج في الطلب. و $request->input('name') للحصول على قيمة حقل محدد أو $request->only(['name', 'email']) للحصول على قيم متعددة الحقول. واستخدم only() لتنظيف بيانات الإدخال قبل معالجتها مع تحديد فقط البيانات التي تحتاجها فعلاً، وتجنب استخدامها للحصول على جميع بيانات النموذج، حيث يؤدي ذلك إلى مشاكل بالأداء.
- 5 اجابة
-
- 1
-
-
تستطيع بسهولة التحقق من وجود المستخدم في قاعدة البيانات أثناء عملية المصادقة باستخدام طريقة attempt في فئة Auth مع تمرير اسم المستخدم وكلمة المرور. أولاً التحقق من وجود المستخدم كالتالي: use Illuminate\Support\Facades\Auth; $username = request('username'); $password = request('password'); $user = Auth::attempt([ 'username' => $username, 'password' => $password, ]); ثم التحقق من صحة عملية تسجيل الدخول: if ($user) { return redirect()->intended('home'); } else { return back()->withErrors([ 'username' => 'اسم المستخدم أو كلمة المرور غير صحيحة', ]); } وفي حال لم يتم العثور على المستخدم في قاعدة البيانات، بإمكانك عرض رابط لتسجيل حساب جديد: return back()->withErrors([ 'username' => 'اسم المستخدم أو كلمة المرور غير صحيحة', ])->with('register_link', route('register')); وللعلم، هناك مكتبات متاحة في Laravel تسهل عملية التحقق من وجود المستخدم في قاعدة البيانات أثناء عملية المصادقة، ومنها Laravel Sanctum وLaravel Jetstream وLaravel Fortify وlaravel/breeze. والأسهل استخدام laravel/breeze فهي مكتبة بسيطة، ولميزات مصادقة أكثر تعقيدًا، اعتمد على Laravel Jetstream أو Laravel Fortify.
-
تلك العملية تسمى RAG، والتي تعني تحويل النصول إلى أجزاء Chunks ثم تحويل ذلك إلى صيغ رقمية Vectors حيث تخزن في قاعدة البيانات مع الجزء النصي ثم يتم عمل بحث دلالي semantic search. والفكرة هو استخراج أجزاء من النصوص المتشابهة عند كتابة شيء ما، أي يتم مقارنة ما تم كتابته مع النص الموجود في الملف كما لو أنك بحثت في جوجل، ثم بعد ذلك ترسل للـ Model الخاص بـ LLM ليفهمها ويضمنها في الـ Context، أي أنّ الفهم لم يتم عن طريق الـ LLM لكامل النصوص الموجودة في قاعدة البيانات إنما فقط لما اختاره البحث الدلالي. وهناك إمكانية لحل تلك المشكلة نسبيًا وتحسين الـ RAG من خلال استخدام مكتبة إو إطار عمل مثل DSPY.
- 6 اجابة
-
- 1
-
-
صحيح، جافاسكريبت هي اللغة المسؤولة عن تطوير الواجهة الأمامية والحصول على أذونات من المستخدم لاستخدام موارد الجهاز، بينما PHP عملها يقتصر على الواجهة الخلفية (السيرفر) لذا لا تتعامل مع المستخدم مباشرًة، وللعلم PHP قادرة على عرض HTML في الواجهة الأمامية لأن بها templating engine حيث تكتب بداخل كود PHP كود HTML لعرضه في المتصفح.
-
عليك استخدام integer بدلاً من int فذلك هو الاسم لنوع بيانات "رقم صحيح" ستجد تفصيل هنا: https://laravel.com/docs/11.x/migrations#creating-columns
- 1 جواب
-
- 1
-
-
على استضافة vercel يوجد إمكانية إنشاء قاعدة بيانات وذلك غالب الحال في أغلب الاستضافات. أو تستيطع استخدام منصة supabase لقاعدة البيانات وذلك أفضل.
-
أولاً يجب أن تختار استضافة تدعم اللغة البرمجية للمشروع، وأغلب الاستضافات التي تدعم جافاسكريبت تدعم PHP أيضًا. بخصوص الاستضافات ستجد تفصيل هنا: لذا تستطيع معرفة اللغات وبيئات التطوير المدعومة، من خلال البحث على جوجل عن : "hosting name" supported language استبدل "hosting name" باسم الاستضافة. عامًة كمطور جافاسكريبت، استخدم vercel. وابحث على اليوتيوب عن how to deploy next.js project on vercel وغير next.js باسم التقنية التي تستخدمها.