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

لوحة المتصدرين

  1. Majd Aust

    Majd Aust

    الأعضاء


    • نقاط

      2

    • المساهمات

      4


  2. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      2

    • المساهمات

      13209


  3. محمد عاطف17

    محمد عاطف17

    الأعضاء


    • نقاط

      1

    • المساهمات

      3129


  4. Ail Ahmed

    Ail Ahmed

    الأعضاء


    • نقاط

      1

    • المساهمات

      1202


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 04/08/24 في كل الموقع

  1. لدي مشروع به جزء backend باستخدام node.js والواجهة الامامية عبارة عن مشروعين منفصلين مشروع react للتعامل مع الواجهة الخلفية وقاعدة البيانات وهو الجزء الخاص بالادمن ومشروع اخر باستخدام next.js لعرض البيانات لزوار الموقع كيف اقوم بربطهم سويا ورفعهم على استضافة hostinger vps رابط مشروع node.js: https://github.com/ahmedzehry55/wesam-backendnode رابط مشروع react.js : https://github.com/ahmedzehry55/wesam-backendreact رابط مشروع next.js https://github.com/ahmedzehry55/wesam هل يستطيع احد مساعدتي في ربطهم سويا ورفعهم على الاستضافة
    1 نقطة
  2. السلام عليكم ، كيف أعرف أنني بلغت مستوى يمكنني من تعلم إطار عمل معين لأنني حاولت من قبل التخصص في الباك إند و إطار العمل node js لكني فشلت و لم أستوعب الدروس و هذا ما جعلني أشتري دورة علوم الحاسوب
    1 نقطة
  3. أثناء تطوير نموذج ذكاء الاصطناعي لحل مشاكل معينة هل يفضل ان اكون عندي علم بتلك المشاكل علي سبيل المثال أريد تطوير نموذج حل مشاكل معينه في مجال الطب هل يفضل فهم المجال ومشاكله؟
    1 نقطة
  4. يجب أن يكون لديك دراية بالمشاكل التي تحاول حلها، ولا أقصد أن تصبح طبيب، بل فهم المشكلة واستيعابها ومن الأفضل وجود شخص مختص لإرشادك في المجال الطبي وتفقد صحة المعلومات الناتجة. لكن ذلك ليس ضروري، يمكنك تدريبه على بيانات ذات موثوقية ودقة وعرض المعلومات للمستخدمين لكن فعاليتها ودقتها لن تكون مثل التي تم الإشراف عليها من قبل مختص.
    1 نقطة
  5. السلام عليكم و رحمة الله و بركاته كنت اعمل على مشروع مع زميلي بالفريق الذي يستعمل Next Js و كنت استعمل Laravel لكن المشروع كان يعمل و سبق و رفعناه على ال Server ولكن ملف AuthController لا ينشء مستخدمين على جهاز المطور ها هو الكود خاصتي الذي لا عاد يعمل فجأة <?php namespace App\Http\Controllers; use App\Models\User; use App\Models\NormalUser; use Illuminate\Http\Request; use Illuminate\Validation\Rule; use App\Http\Requests\LoginRequest; use App\Http\Resources\UserResource; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use App\Http\Requests\RegisterRequest; use Illuminate\Auth\Events\Registered; class AuthController extends Controller { public function register(Request $request) { $incomingFields = $request->validate([ 'name' => ['required', 'min:2', 'max:10', Rule::unique('normal_users', 'name'), 'alpha'], 'lName' => ['required', 'min:2', 'max:10', Rule::unique('normal_users', 'lName'), 'alpha'], 'email' => ['required', 'email', Rule::unique('normal_users', 'email')], 'password' => ['required', 'min:10', 'max:200'], 'occupation' => ['required'], 'gender' => ['required'], 'birthday' => ['required'] ]); $incomingFields['password'] = bcrypt($incomingFields['password']); // if($request->hasFile('image')){ // $incomingFields['image'] = $request->file('image')->store('images','public'); // } $user = NormalUser::create($incomingFields); event(new Registered($user)); return redirect('http://localhost:3000/'); } // login a user method public function login(Request $request) { $incomingFields = $request->validate([ 'loginemail' => 'required', 'loginpassword' => 'required' ]); $credentials = [ 'email' => $request->loginemail, 'password' => $request->loginpassword ]; if (Auth::guard('NormalUser')->attempt($credentials)) { return redirect('http://localhost:3000/'); } else { return redirect('http://localhost:3000/signinfalse'); } } // get the authenticated user method public function user($id) { $user = User::find($id); return response()->json($user); } public function show(Request $request) { $user = NormalUser::where('email', $request->email)->first(); if ($user) { return response()->json([ 'status' => true, 'message' => 'User found successfully.', 'data' => $user ]); } else { return response()->json([ 'status' => false, 'message' => 'User not found.', ]); } } public function editUser(Request $request) { // Retrieve the authenticated user $user = NormalUser::where('email', $request->email)->first(); // Validate the incoming request $request->validate([ 'image' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]); // Check if a new image file was uploaded if ($request->hasFile('image')) { // Get the new image file $image = $request->file('image'); // Generate a unique filename for the new image $filename = uniqid() . '.' . $image->getClientOriginalExtension(); // Move the new image file to the public/storage directory $image->storeAs('public/storage', $filename); // Update the user's image field with the new filename $user->image = $filename; } // Save the updated user to the database $user->save(); // Return a response indicating success return response()->json([ 'status' => true, 'message' => 'User updated successfully.', ]); } // public function editUser(Request $request){ // } public function data(Request $request) { $user = NormalUser::where('email', $request->email)->first(); if ($user) { return response()->json($user); } else { return response()->json([ 'status' => false, 'message' => 'User not found.', ]); } } public function edit(Request $request) { $user = NormalUser::where('email', $request->email)->first(); $incomingFields = $request->about; $user->about = $incomingFields; $user->save(); } } شكرا جزيلا اخوتي
    1 نقطة
  6. <div className='dark:bg-darkbg py-10 flex justify-center items-center'> <form method='POST' action='http://127.0.0.1:8000/register' className='bg-red-500 text-bluePrime font-bold flex flex-col gap-5'> <input onChange={(e) => setName(e.target.value)} type="text" name='name' placeholder="Name" /> <input onChange={(e) => setemail(e.target.value)} type="email" name='email' placeholder="Email" /> <input onChange={(e) => setpassword(e.target.value)} type="password" name='password' placeholder="Password" /> <button type="submit" className='p-8 bg-black text-white'>Register</button> </form> </div> و الخطأ الذي يجدث هو كود 302
    1 نقطة
  7. وعليكم السلام ورحمة الله وبركاته . المشكلة تكمن فى جزء الباك اند حيث ان هذه جزء من التقيديات الخاصة بال Cors. فعندما تستخدم Fetch API على ال CORS حيث لا يكون الطلب من نفس الموقع فانه يحدث تقيد للheaders التى بمكنك قرائتها . ويمكنك فقط قراءة التالى . Cache-Control Content-Language Content-Type Expires Last-Modified Pragma ولن يمكنك قراءة اى شئ اخر من ال headers . response.headers.forEach(function(val, key) { console.log(key + ' ----- ' + val); }); واذا قمت بتنفيذ هذا الكود الذى سيطبع ال headers المرسلة من الخادم لن تجد بداخلها ال jwt لان ليس لك الصلاحية لقرائته بسبب ال cors كما وضحت سابقا. والحل هو ارسال ال jwt فى ال body الخاص بال response و قراءته من ال body فى الواجهة الامامية وليس من ال headers . ويوجد حل اخر ولكنه ليس امن ومن الافضل عدم استخدامه . قم بالذهاب الى ملف config\cors.php تاكد من ان allowed_origins تساوى * . وبداخل exposed_headers قم باضافة Set-Cookie او على حسب الاسم الذى ستضع فيه ال jwt وذلك ليمكنك من قراءته فى الواجهة الامامية. ولكن كما وضحت لك فان هذه الطريقة ليست امنه وستصيب الموقع الخاص بثغرات تمكن المهاجمين من قراءة المعلومات الخاصة بالمستخدمين. لذلك الحل الاول هو الافضل وهو ما ارشحه لك لاستخدامه
    1 نقطة
  8. بخصوص الواجهة فتستطيع بنائها بواسطة HTML, CSS, JS أو من خلال بوتستراب إذا أردت تنفيذ الأمر بشكل أسرع. وبخصوص رفع أي حجم فيديو وما شابه ستحتاج إلى تخزين سحابي إذن مثل S3 من AWS والتي توفر لك CDN أيضًا من خلال خدمة CloudFront لكي يتم الوصول للفيديو من كل الدول بشكل سريع، وستحتاج إلى استخدام مكتبة مثل FFmpeg لتقطيع الفيديو إلى أجزاء متساوية أو بناءًا على معدل البت. ثم ضغط كل جزء من أجزاء الفيديو باستخدام تنسيق ضغط فعال مثل H.264 أو VP9، ويتوفر مكتبة مثل PHP-FFmpeg أو gpac للضغط. وضغط محتوى الصفحة واستخدام تقنيات مثل caching و minification لتقليل وقت تحميل الصفحة. وبخصوص حماية المحتوى، فالحل البسيط والسهل لكن يسهل تخطيه هو بتعطيل النقر بالزر الأيمن على الفيديو لمنع المستخدمين من حفظه مباشرة. وهناك طرق أخرى أكثر تعقيدًا وفعالية ستجد تفصيل لها هنا:
    1 نقطة
  9. جرب استعمال احداث اللمس في الجوال للقيام بالأمر، أحداث مثل touchstart و touchmove و touchend. ثم باستعمال واجهة canvas في جافاسكربت قم بالاستماع الى هاته الأحداث لرسم خط في واجهة اللوحة canvas بحسب وضعية اللمس او منحاها، ثم أخيرا قم بتوليد رابط او رسم عن طريق تحويل مدخلات canvas الى مدخل URL أو صورة. مثال عملي: <!DOCTYPE html> <html> <head> <title>توقيع لأجهزة المحمول</title> <style> #canvas { border: 1px solid #000; touch-action: none; /* تعطيل التمرير باللمس */ } </style> </head> <body> <h1>توقيع لأجهزة المحمول</h1> <!-- الكانفاس الذي سنقوم بالتوقيع عليه --> <canvas id="canvas" width="400" height="200"></canvas> <!-- نموذج الإرسال لحفظ التوقيع --> <form method="post" action="save_signature.php"> <input type="hidden" id="signature" name="signature" value=""> <button type="submit">حفظ التوقيع</button> </form> <script> // التأكد من توفر الدعم للكانفاس في المتصفح if (typeof window !== 'undefined' && window.document) { var canvas = document.getElementById('canvas'); var signatureInput = document.getElementById('signature'); var ctx = canvas.getContext('2d'); var drawing = false; // تعطيل التمرير باللمس على الكانفاس canvas.addEventListener('touchstart', function(event) { drawing = true; var touch = event.changedTouches[0]; var x = touch.clientX - canvas.offsetLeft; var y = touch.clientY - canvas.offsetTop; ctx.beginPath(); ctx.moveTo(x, y); }); // رسم الخط أثناء حركة اللمس canvas.addEventListener('touchmove', function(event) { if (drawing) { var touch = event.changedTouches[0]; var x = touch.clientX - canvas.offsetLeft; var y = touch.clientY - canvas.offsetTop; ctx.lineTo(x, y); ctx.stroke(); } }); // إنهاء الرسم عند رفع اللمس وحفظ التوقيع canvas.addEventListener('touchend', function(event) { drawing = false; var dataURL = canvas.toDataURL(); signatureInput.value = dataURL; }); } </script> </body> </html> طبعا فإن هذا هو النموذج البسيط من الفكرة، يمكنك التوسع فيها أكثر. يمكنك أيضا استعمال مكتبات جاهزة للقيام بالعملية بتفاصيل وميزات أكثر، من مثل: signature pad jSignature
    1 نقطة
×
×
  • أضف...