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

Emad Saif

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

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

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

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

    1

كل منشورات العضو Emad Saif

  1. حاولت إستخدام الخطاف useRef في مكون Component بسيط في مشروع React.js، بالشكل التالي: function MyComponent() { const contrainerRef = useRef(null); console.log(contrainerRef.current); // null return ( <div ref={contrainerRef}> <h1>Hello, World!</h1> </div> ); } عند تشغيل هذا المكون يتم طباعة null وليس العنصر نفسه. لماذا يحدث هذا الأمر؟ أليس من المفترض أن يتم طباعة العنصر نفسه في الـ console؟
  2. بدأت بتعلم الخطافات Hooks في React ووجدت أن بعضها متشابه للغاية ويؤدي نفس المهمة. أريد أن أعرف ما هو الفرق الرئيسي بين useCallback و useMemo و useEffect؟ ومتى أستعمل كلًا منهم؟
  3. لدي إستمارة بسيطة للغاية بالشكل التالي: <form action="/api/search" method="post"> <label for="query">Search For: </label> <input type="text" id="query" name="query" /> <input type="submit" value="Search" /> </form> وفي الواجهة الخلفية Backend قمت بكتابة الكود التالي بإستخدام Express.js: app.post('/api/search', function(req, res){ const { query } = req.query; console.log(query); } ولكن المشكلة أن هذا الكود لا يعمل ولا يمكنني الوصول إلى قيم الحقول المرسلة ضمن الطلب request، حاولت كذلك إستعمال req.params.query و req.query.query ولكن تكون النتيجة دائمًا عبارة عن undefined ما المشكلة هنا؟ وكيف يمكنني الوصول إلى القيم التي أدخلها المستخدم في الإستمارة؟
  4. عندما أقوم بمحاولة الكتابة في ملف أجد أنه يوجد دالتين للقيام بهذا الأمر، writeFile و writeFileSync، وكلاهما يقومان بالمهمة بدون مشكلة ويتم الكتابة في الملف بالفعل. ما الفرق بينهما؟ ومتى أستعمل كلًا منهما؟
  5. لدي صندوق box عبارة عن عنصر div وأريد التحقق مما إذا كان ظاهر على الشاشة في المتصفح، حاولت تحديده بالشكل التالي: const box = document.getElementById('box'); cconsole.log(box.style.display !== 'none') ولكن يبدو أن هذه الطريقة لا تعمل. كيف يمكنني معرفة إذا كان عنصر معين ظاهر على الشاشة أم لا بإستخدام JavaScript؟
  6. حاولت عمل مشروع React جديد وبدأت في كتابة مكون لعداد counter بسيط ولكن عندما بدأ إستعمال useState : import React, { useState } from "react"; const [count, setCount] = useState(0); export const MyComponent = (props) => { return <span>{count}</span> } ظهر لي الخطأ التالي: Hooks can only be called inside the body of a function component ما سبب هذه المشكلة؟
  7. لدي تاريخ بالشكل التالي: Sep 28 2022 9:00 PM ET وقمت بإنشائه من خلال كائن Date وتحديد السنة والشهر واليوم عبر التوابع setFullYear و setMonth و setDate ولكن لم أتمكن من تغير منطقة التوقيت time zone يدويًا هل يمكن أن أقوم بتغير منطقة الوقت time zone عبر الكائن Date؟ أعلم أنه يدعم توقيت UTC والتوقيت المحلي للمستخدم local time zone ولكن هل توجد طريقة لتحديد منطقة أخرى غيرهما يدويًا؟
  8. أريد أن أتحقق من نوع الجهاز المستعمل والتأكد إن كان يستعمل iOS أو أندرويد. كيف يمكن القيام بهذا الأمر في JavaScript؟ وهل توجد مكتبة لتسهيل هذا الأمر؟
  9. أريد أن أعرف ما الفرق بين إستخدام Canvas و عناصر SVG في إنشاء الأشكال وتحريكها. على سبيل المثال إن أردت إنشاء أشكال مختلفة (مربع، دائرة، شكل خماسي .. إلخ)، ثم تحريك هذه الأشكال بحرية في الصفحة، فيمكنني إستعمال JavaScript مع عنصر Canvas أو إستخدام عنصر SVG. ما هي أفضل طريقة لعمل هذا الأمر؟ هل أستعمل Canvas أم SVG أو أستخدم عناصر div وتعديلها باستخدام CSS؟
  10. في بايثون Python، يمكن إنهاء البرنامج بطريقتين، الأولى هي إستعمال الدالة exit والطريقة الثانية هي التابع sys.exit ما الفرق بينهما ومتى يجب أن أستخدم أحدهما وليس الآخر؟
  11. أريد أن أقوم بإرسال بعض الطلبات من خلال مكتبة requests، وأريد أن أوقف أي طلب يتم إرساله بعد وقت محدد من إرساله (في حالة لم ينتهي الطلب بالفعل)، على سبيل المثال بعد 3 ثوانٍ من بدء الطلب يتم إيقافه في حالة تأخر الخادم في الرد. بعد ذلك يجب أن أقوم بإعادة إرسال نفس الطلب مرة أخرى. هل توفر مكتبة requests وسيلة لتحديد timeout للطلب؟
  12. لدي ملف تهجير migration لجدول ذو اسم طويل نوعًا ما، وأريد أن أقوم بعمل مفتاح رئيسي primary key مكون من أكثر من عمود: Schema::create('long_table_name_is_here', function($table) { $table->integer('first_column'); $table->integer('second_column'); $table->integer('third_column'); $table->primary(['first_column', 'second_column', 'third_column']); }); المشكلة الآن أني عندما أقوم بتهجير البيانات من خلال artisan يظهر الخطأ التالي: Syntax error or access violation: 1059 Identifier name 'long_table_name_is_here_first_column_second_column_third_column' is too long للآسف لا يمكنني إختيار اسم مختلف للجدول لأنه لن يكون واضحًا أو مفهوم. هل يوجد حل لهذه المشكلة مثل تغير اسم المفتاح الرئيسي؟ أم يجب تغير أسماء الأعمدة؟
  13. أنا أعمل في مشروع باستخدام لارافيل Laravel، وعندما أواجهة مشكلة وأبحث عنها، أجد أنه في كثير من الأحيان يتم إستعمال extends@ @extends('layouts.main') وفي أحيان أخرى يتم إستعمال include@ @include('layouts.main') ما الفرق بينهما؟ وهل يمكن إستعمال كلًا منهما مكان الآخر؟
  14. أحاول الحصول على جميع أسماء الأعمدة من جدول يسمى tasks، لذلك قمت بكتابة الإستعلام التالي: DB::raw('SELECT COLUMN_NAME, DATA_TYPE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = `tasks`'); أعتقد أن أستخدام Raw SQL ليس أمرًا جيدًا، هل توجد طريقة أفضل يوفرها لارافيل Laravel للحصول على كل الأعمدة الموجودة في جدول ما؟
  15. إذا قمت بإستعمال Session لتخزين قيمة ما بالشكل التالي: Session::put('some_key', 'some_value'); dd(Session::get('some_key')); // returns "some_value" الكود السابق يعمل بشكل سليم، ولا يوجد به مشكلة ويتم طباعة some_value كما يجب أن يحدث، لكن المشكلة تحدث إذا قمت بإزالة السطر الأول وتركت السطر الثاني وقمت بتحديث الصفحة: dd(Session::get('some_key')); // returns null أليس من المفترض أن يتم طباعة القيمة "some_value" حيث تم تخزينها في الجلسة بالفعل؟ هل لاارفيل Laravel يقوم بتخزين المتغير في الجلسة session بطريقة مختلفة؟
  16. لدي متجر بسيط أعمل عليه، ومبني بإستخدام لارافيل Laravel، وأحاول أن أقوم بجلب بعض البيانات في حالة البحث عن منتج معين أو جلب كل المنتجات: if ($search_query) { $products = Product::where('name', 'LIKE', "%$search_query%"); } else { $products = Product::all() } $products = $products->orderBy('created_at', 'desc')->with('tags')->get(); المشكلة الآن أن السطر الأخير يظهر الخطأ التالي: Method orderBy does not exist. ولا أفهم كيف تكون الدالة orderBy غير موجودة! ما المشكلة هنا وكيف أقوم بإصلاحها؟
  17. لدي خطأ Exception في أحد ملفات العرض views ومع ذلك، بدلاً من عرض اسم الملف الذي تحدث فيه المشكلة يعرض لاارفيل Laravel أن الخطأ موجود في storage/framework/views/0e6ed61183c8b73fca6d69ee547b7857e58e21aa ولكن هذا الملف لم أقم بإنشائه، وبعد البحث عرفت أن لارافيل Laravel يقوم بتوليد هذه الملفات لتسريع عملية تحميل الصفحات. الآن أريد إيقاف هذه الميزة بشكل مرقت أثناء تطوير الموقع، هل توجد إعدادات للتحكم في هذا الأمر في لارافيل Laravel؟
  18. لدي بعض ملفات PHP وقمت بوضعها في المجلد public في المسار التالي: public/php/scripts/ الآن أحاول إستدعاء أحد هذه الملفات من داخل ملف blade بالشكل التالي: @php include_once('/php/scripts/helpers.php'); @endphp ولكن الكود السابق يعرض رسالة الخطأ: include_once(/php/scripts/helpers.php): failed to open stream: No such file or directory ما هي المشكلة؟ هل توجد دوال أخرى جاهزة لإستدعاء ملفات PHP في لارافيل Laravel؟
  19. أحاول أن أقوم بتعديل قيمة العمود updated_at في جدول users في كل مرة يقوم المستخدم بتسجيل الدخول، وقمت بكتابة الكود التالي: $user = Auth::user(); $user->updated_at = DB::raw('NOW()'); $user->save(); من المفترض الآن أن يتم تعديل قيمة updated_at ولكن ما يحدث هو ظهور الخطأ التالي: InvalidArgumentException A four digit year could not be found Data missing ولا يتم تعديل قيمة updated_at على الإطلاق. ما معنى هذا الخطأ؟ وما المشكلة هنا؟
  20. هل هناك طريقة لإعداد الجلسات sessions بحيث تنتهي صلاحيتها بعد وقت معين. أعتقد أن لارافيل Laravel ينهي الجلسة بعد 30 دقيقة تقريبًا وأريد زيادة هذه المدة لفترة أطول، لكن لا يمكنني العثور على أي أماكن في لارافيل Laravel لضبط مثل هذه القيمة هل يمكن عمل هذا الأمر في لارافيل Laravel؟ أم يجب أن أقوم بعمل نظام إستيثاق بالكامل من الصفر للتحكم في هذا الأمر؟
  21. قمت بعمل إستمارة Form لإضافة أحد المنتجات في متجر مبني بإستخدام لارافيل Laravel، وفي هذه الإستمارة يجب إختيار تصنيف المنتج Category من بين مجموعة من التصنيفات المخزنة في جدول categories في قاعدة البيانات. كيف يمكنني أن أتحقق أن category_id المرسل ضمن الإستمارة موجود بالفعل في جدول categories؟ هل توجد طريقة للتحقق من وجود مفتاح foreign Key في جدول مختلف وعمل validation عليه في لارافيل Laravel؟ حاليًا أقوم بالتحقق من أنه موجود ضمن الطلب request وأنه عبارة عن رقم: $validator = Validator::make($request->all(), [ // ... 'category_id' => 'required|integer', ]); هل توجد طريقة أفضل من الكود السابق؟
  22. هل أستطيع أن أبني مشروع لارافيل Laravel جديد وأستعمل أحد قواعد بيانات NoSQL مثل mongoDB على سبيل المثال بدلًا من قواعد بيانات SQL الإعتيادية؟ وكيف يتم هذا الأمر إن كان ممكنًا بما أن طريقة الإتصال بقاعدة البيانات مختلفة؟
  23. قمت بإعداد مشروعي ليستعمل mail service وهو يعمل ويرسل رسائل البريد الإلكتروني بدون مشكلة، لكني أريد في بعض الحالات أن أستعمل خدمة بريد mail service مختلفة عن المعُدة في المشروع. هل يمكن إستعمال أكثر من خدمة بريد mail service في مشروع لارافيل Laravel واحد؟ أم يجب أن أستعمل حزم خارجية لهذا الأمر؟
  24. أحاول أن أرسل رسائل إلكترونية من خلال الكود التالي: Mail::to($userEmail)->send($welcomeMessage); كيف يمكنني التحقق من أن رسالة البريد الإلكتروني تم إرسالها بنجاح ولم يحدث مشكلة؟ أستعمل لارافيل الإصدار 8
  25. قمت بتعديل قيمة default في الملف config/mail.php إلى القيمة log: 'default' => env('MAIL_MAILER', 'log'), ولكن عندما أحاول إرسال بريد إلكتروني يظهر لي الخطأ التالي: Expected response code 250 but got code '530' with message '530 5.7.1 Authentication required' أعتقد أن لارافيل Laravel مازال يستعمل smtp ولكن لم أفهم السبب. كيف أجعل لارافيل Laravel يقوم بتسجيل الرسائل في log بدلًا من إستعمال smtp؟
×
×
  • أضف...