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

سمير عبود

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

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

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

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

    34

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

  1. في الإصدارات من 5.5 فما فوق يُمكن إستخدام التوجيه php و تعريف المتغيرات فيه أو إجراء تعلميمات php بداخله بهذا الشكل: @php $i = 1 @endphp او: @php ($i = 1) أما في الإصدارات الأقدم يُمكنك عمل التالي: {{-- */$i=0;/* --}} أو بإستخدام توجيه if بالشكل التالي: @if ($variable = 'any data') @endif ثم عند الإستخدام: {{ $variable }}
  2. في الإصدارات الحديثة من 5.5 فما فوق أصبح بالإمكان عمل التالي: Abc::selectSub(function($q) { $q->select('*')->groupBy('col1'); }, 'a')->count('a.*'); أو: Abc::selectSub(Abc::select('*')->groupBy('col1'), 'a')->count('a.*');
  3. Locale عبارة عن كلاس أول حرف منه يكتب كبير و ليس locale
  4. لا يوجد مشكلة في الكود الذي أرفقته فهو يعمل لدي: رُبما الماسح في جهازك يستخدم نمط آخر للأعداد العُشرية، لذلك حاول إستبدال: Scanner s = new Scanner(System.in); بهذا: Scanner s = new Scanner(System.in).useLocale(Locale.US); و لا تنسى تضمين الحزمة Locale في البداية: import java.util.Locale;
  5. إذا كان هذا هو كل الكود فينقصك إغلاق المعقوفات الخاصة بكل من الميثود و الكلاس: import java.util.Scanner; public class abdullha { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("Enter the nis vale: "); double nis = s.nextDouble(); System.out.println("Enter the exchange rate:"); double job = s.nextDouble(); System.out.println("the vale is: "+ (nis/job)); } // <- غير موجودة } // <- غير موجودة
  6. أعتقد أن سبب المُشكلة أنك تقوم بتشفير كلمة المرور مرتين الأولى في المُتحكم RegisterController و الثانية في الMutator او المُعدل: setPasswordAttribute و لحل المُشكل يُمكنك الإستغناء عن الMutator و إستعمال فقط التشفير في المُتحكم RegisterController : <?php protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']), ]); } // أو protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); } أما إن أردت إستخدام المُعدِل setPasswordAttribute فيُمكنك ذلك لكن يجب عدم تشفير كلمة المرور في المُتحكم RegisterController بهذا الشكل: 'password' => $data['password'], بدل: 'password' => Hash::make($data['password']), ثم في المُعدل: public function setPasswordAttribute($value) { $this->attributes['password'] = bcrypt($value); } و بهذا الشكل سيتم تشفير كلمة المرور من جهة واحدة. ملاحظة: تستخدم Laravel التشفير bcrypt إفتراضياً و تدعم الأنواع التالية: bcrypt, argon, argon2id لذلك إن لم تُغير في الإعدادات يُمكنك إستخدام الدالة المُساعدة bcrypt أما إن قمت بتغيير الإعدادات فيجب إستعمال الكلاس Hash.
  7. تحتاج إلى التعديل على ملف الإعدادات env. لكن أولا قم بتنفيذ الأمر: docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_container_ID> سيقوم الأمر بإرجاع عنوان IP لل mysql container ستقوم بنسخه ووضعه في ملف env. DB_HOST=<ip_address_returned> بعد ذلك قم بتنفيذ امر التهجير: sail artisan migrate
  8. يوجد الكثير من المصادر الممتازة و المجانية على شبكة الإنترنت التي من خلالها يمكنك تعلم البرمجة خطوة بخطوة، لكن قبل البدأ في التعلم عليك إلقاء نظرة على المجالات المُتاحة و سوق العمل و تختار المجال المُناسب لك و الذي يتوافق مع سوق العمل المُستهدف من طرفك. كبداية يُمكنك الإطلاع على هذا المقال المُقدم من أكاديمية حسوب الذي سيكون لك كخطوة أولية للتعرف على البرمجة و مجالاتها: بعد إختيار المجال المناسب لك يُمكنك البدأ في تعلم التقنيات اللازمة لإحتراف ذلك المجال و تطوير مُستواك فيه.
  9. يُمكنك الإطلاع على هذا الدليل المقدم من شركة حسوب: دليل العمل عن بعد فهو يشرح مُعظم الأمور التي تُطبقها شركة حسوب في تطبيق آلية العمل عن بعد و تحقيق أكبر إستفادة من هذا النظام لكل من الشركة و الموظفين.
  10. لا يُمكن ملاحظة الخطأ من صورة، قم بنسخ الكود وضعه في تعليق بهذا الشكل: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("enter val1:"); double val1 = sc.nextDouble(); System.out.println("enter val2:"); double val2 = sc.nextDouble(); System.out.println(val1/val2); } }
  11. يُمكنك تجربة المثال الخاص بك من هنا فهو يعمل: رابط تجريبي
  12. أعتقد أنك تقوم بإدخال القيمة بهذا الشكل 5,6 مثلاً لكن يجب إدخال القيمة بهذا الشكل 5.6 أي نُقطة بدل فاصلة
  13. حتى نعلم سبب المُشكلة يجب الإطلاع على الكود الذي كتبته
  14. أقصد شيفرات البرنامج حتى نعلم سبب المُشكلة
  15. المشكلة أن الإصدار 5.0 من pusher كان به خلل وتم إصلاحه في الإصدارات التالية . لحل المُشكلة يجب عليك تعديل ملف composer.json الخاص بك: من: "pusher/pusher-php-server": "5.0" إلى: "pusher/pusher-php-server": "^5.0" بعد ذلك قم بتنفيذ الأمر: composer update للمزيد من التفاصيل يُمكنك الإطلاع على الخلل في github: إضغط هنا
  16. هل يُمكنك مشاركة الكود الخاص بك حتى نستطيع مساعدتك
  17. في مشروعك كل شيء يعمل بقيت لديك مُشكلة واحدة و هي أنه يوجد ملف إسمه application.css موجود في المسار app/assets/stylesheets يجب حذفه وقد قام المُدرب في الدرس بحذفه في الدقيقة 2:10 هذا الملف يمنع تطبيق التنسيقات التي رفعناها إذا قمت بحذفه ستجد كل شيئ يعمل بشكل جيد. أرجو إخباري بالنتيجة.
  18. هل تستعمل المشروع الذي أرفقته لك ام تستعمل المشروع الخاص بك الذي عدلت عليه، أعتقد أنك نسيت خطوة من الخطوات أو لم تعملها بشكل جيد، هل قمت بنقل ملفات stylesheets المُرفقة و وضعتها في المجلد الذي أخبرتك عنه ؟ أيضاً هل قمت بحذف ملف application.css؟
  19. إستعمل الملف الذي الذي أرفقته لك فهو يعمل لدي بشكل جيد غير فقط نسخة روبي في ملف Gemfile ثم bundle install بخصوص الخطأ الذي أدرجته فقد ظهر لي لكن الحل الخاص به هو هذا: يوجد لديك ملفين بنفس الإسم أحدهما registrations_controller.rb و الثاني هو registrations.controller.rb تأكد أنك تُعدل على هذا الملف registrations_controller.rb و بعد ذلك قم بتسجيل مُستخدم جديد و ليس تسجيل دخول لأن المُستخدمين الأقدم تم تسجيلهم و الخطأ موجود. لذلك قم بتسجيل مُستخدم جديد و لن يظهر معك الخطأ. أطلعني على النتيجة.
  20. يُسمى الترقيم و يعني جلب البيانات على شكل صفحات في كل صفحة 15 سجل و ذلك حتى لا نجلب كل البيانات دفعة واحدة و عند عرض البيانات إذا تصفحنا: domain.com/posts سيتم عرض أول 15 سجل أما إذا تصفحنا: domain.com/posts?page=2 فسيتم عرض الصفحة الثانية من السجلات. للحصول على معلومات أكثر يُمكن القراءة عن الموضوع: ترقيم الصفحات Pagination في Laravel
  21. يُمكنك إستخدام Carbon باللغة العربية عن طريق إضافة السطر التالي لمُزود الخدمة AppServiceProvider في الدالة boot: Carbon::setLocale('ar'); و لا تنسى إستدعاء الكلاس فوق: use Carbon\Carbon; أما لجلب السجلات من الأحدث إلى الأقدم عن طريق Eloquent يُمكنك إستخدام نفس الدوال المُتاحة لباني الإستعلامات فهي متاحة أيضاً ل Eloquent بنفس الأسماء مثلاً $posts = Post::latest()->get(); // أو $posts = Post::latest()->paginate(15);
  22. مرحباً عبد القادر، أنت الآن في أواخر الدروس لذلك حاول تعلم مهارة حل المشاكل لأنك ستقضي معظم وقتك في حل مشاكل و أخطاء تواجهك في المُستقبل. بخصوص المشاكل التي تحدث لك فهي بسبب الملف GemFile لذلك أنصحك بإعادة الخطوات المشروحة في الدرس لكن بالطريقة التالية لتصل إلى النتيجة المرغوبة. قم بتحميل هذا الملف الخاص بالمشروع قبل أن تُطبق هذا الدرس: لأنني أجريت الخطوات عليه. بعد ذلك إفتح ملف Gemfile الخاص به و حاول إضافة ال Gems الغير موجودة فيه و التي استخدمها المدرب في الدرس و قد لاحظت أنهما إثنين فقط: gem 'bootstrap-sass' gem 'coffee-rails', '~> 4.2' فقط قم بإضافتهما لملف Gemfile الخاص بك و لا تقم بنسخ الملف من الملفات المرفقة مع الدرس. بعد ذلك إنسخ مُجلد images المُرفق مع الدرس في مُجلد app/assets ثم إنسخ ملفات css من الملفات المُرفقة إلى مُجلد app/assets/stylesheets و قم بحذف ملف application.css كما فعل المُدرب في الدرس. إفتح ملف application.js الموجود في app/assets/javascripts و قم بالتعديل عليه ليُصبح بالشكل التالي: //= require rails-ujs //= require bootstrap-sprockets //= require turbolinks //= require_tree . $( document ).on('turbolinks:load', function() { $("#menu-toggle").click(function(e) { e.preventDefault(); $("#wrapper").toggleClass("toggled"); }); }) بعد ذلك قم بنسخ ملفات locales المُرفقة و ضعها في المسار: config/locales و هما ملفين فقط. بعد ذلك قم بنسخ ما بداخل مُجلد views المُرفق و ضعه في المسار app/views كما فعل المُدرب في الدرس. الآن يوجد لديك خطأ في ملف registrations_controller.rb في كتابة الخاصية description فقد كتبتها descrption أرجو تصحيحها في التابعين account_update_params و sign_up_params ليُصبح المُتحكم بهذا الشكل: class RegistrationsController < Devise::RegistrationsController private def account_update_params params.require(:user).permit(:first_name, :last_name, :description, :email, :country, :language, :gender, :birth_date, :password, :password_confirmation, :current_password) end def sign_up_params params.require(:user).permit(:first_name, :last_name, :description, :email, :password, :password_confirmation) end end الآن قد جهزت كل شيء تذهب إلى الطرفية أو سطر الأوامر و تُنفذ الأمر: bundle install ثم تقوم بتشغيل المشروع: rails s و ستجد أن كل شيء يعمل بشكل جيد. أرجو تنفيذ الخطوات بعناية، و إذا لم تصل إلى النتيجة فاعلم أنك نسيت او تخطيت خطوة ما، و هذا مجلد مشروعك إذا احتجت له: Hsoub_IO.zip إذا اردت تشغيله تحتاج إلى تعديل Gemfile: ruby '2.7.1' إلى الإصدار الخاص بك ثم bundle install. بالتوفيق.
  23. مرحباً عبد القادر، لاحظ ان رسالة الخطأ تُخبرك أنه لا يُمكنك تحديد الحزمة مرتين و كل مرة تُحدد إصدار مُختلف للحزمة في ملف Gemfile و هذه الحزمة هي sass-rails وهي موجودة في السطر رقم 15 و السطر رقم 26 أرجو حذف أحد السطر 15 ثم قم بحفظ الملف و أعد تنفيذ الأمر bundle install ثم أطلعنا على النتيجة، تحياتي لك.
  24. لنفترض أنك جلبت مجموعة من البيانات و قمت بتمريرها لصفحة العرض و لنقل أن المُتغير الذي مررته هو courses بالتالي في صفحة العرض ستقوم بعمل حلقة لعرض هذه البيانات بالشكل التالي مثلاً <ul class="nav flex-column"> @foreach($courses as $course) <li class="nav-item"> <a class="nav-link " href="">{{$course->title}}</a> </li> @endforeach </ul> الآن تريد تغيير طريقة العرض على حسب الid تستخدم التوجيه if الخاص ب blade بهذا الشكل: <ul class="nav flex-column"> @foreach($courses as $course) @if($course->id % 2 == 0) <li class="nav-item"> <a class="nav-link " href="">{{$course->title}}</a> </li> @else <li class="nav-item"> <a class="nav-link text-danger" href="">{{$course->title}}</a> </li> @endif @endforeach </ul> حيث إذا تحقق الشرط تقوم بعرض البيانات بشكل في بلوك if و إذا لم يتحقق تضع الشكل الآخر في جزء else.
  25. تستطيع ان تبدأ التعلم متى ما أردت ذلك، لكن كبداية تحتاج إلى الإطلاع على مجالات البرمجة الموجودة و إختيار المجال الأنسب لك و الذي تُفضله و تبدأ رحلة تعلمك. يُمكنك الإطلاع على هذا المقال المُقدم من أكاديمية حسوب: بعد إختيار المجال الذي تريده، تستطيع أن تبدأ في تعلم التقنيات المُناسبة لذلك المجال.
×
×
  • أضف...