لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 06/26/23 في كل الموقع
-
انا بتعلم حاليا عشان ابقي nodejs backend developer واتعلمت JS وتعمقت فيها ولسة هكمل ومتعلم HTML لكن هل عشان ابقي backend لازم يبقي عندي معرفة ب CSS كمان وخصوصا إني مسترخمها جداااا لأني مش فنان أو كدة حتي مسترخم إني أتعلم الأساسيات بس ففيدوني2 نقاط
-
السلام عليكم ورحمة الله وبركاته عندي سؤال بسيط جدآ كم درس المفترض اخذه انا مشترك جديد في لغة JS وشكرالكم.2 نقاط
-
كيف اضيف بيانات في html form يحتوي على radio وcheckbox و select الى جدولين في php وماهي نوع البيانات تكون في الداتا بيس2 نقاط
-
تمرين Problem Solving Write a function which calculates the average of the numbers in a given list. Note: Empty arrays should return 0.2 نقاط
-
السلام عليكم و رحمة الله و بركاته, كل عام وانتم بخير بمناسبة عيد الأضحى, لدي استفسار بخصوص مهارة REST API, في بعض الأحيان أرى مطورين يكتبون في سيرتهم الذاتية أو في Linkedin أن لديهم مهارة REST API, ما هي هذه المهارة بحثت كثيرًا عنها وفهمت معناها, ولكن لم افهم ماذا يفعل المطور الذي يمتلك مهارة REST API ؟! هل هو الذي يطور في طرف العميل و يتعامل مع ال API أم هو الذي يطور في طرف الخادم و ينشئ ال API نفسها أو يطورها ؟ وشكرًا لكم1 نقطة
-
ايه افضل كورس موجود علي الموقع يساعدني اتعلم مجال الامن السيبراني من الصفر للاحتراف؟ وخاصة تخصص ethical hacker ؟1 نقطة
-
سلام الله عليكم , .. قمت بعمل تطبيق اندرويد , و لوحة web app , و عندي آلاف الزوار في اليوم الواحد , ما هو افضل سيرفر استطيع ربط التطبيق و اللوحة عليه ؟ و ما هي افضل الطرق + الاسعار , و تطبيق عبارة بيع و تحويل البطاقات الإلكترونية Voucher + Gift Card و جزاكم الله كل خير ,1 نقطة
-
1 نقطة
-
1 نقطة
-
أولاً عليك إنشاء دالة كالتالي: تعريف الدالة باسم calculate_average وهي تأخذ قائمة من الأرقام كمدخل. التحقق من طول القائمة باستخدام len(numbers) لمعرفة عدد العناصر في القائمة. إذا كان طول القائمة يساوي صفر، فهذا يعني أن القائمة فارغة. وفي هذه الحالة، تعود الدالة بقيمة صفر لأنه لا يمكن حساب المتوسط في قائمة فارغة. إذا كانت القائمة غير فارغة، يتم حساب مجموع جميع الأرقام في القائمة باستخدام الدالة sum(numbers) التي تقوم بجمع جميع الأعداد. ثم يتم قسم مجموع الأرقام على طول القائمة len(numbers) للحصول على المتوسط الحسابي. يتم إرجاع القيمة المحسوبة كناتج للدالة. def calculate_average(numbers): if len(numbers) == 0: return 0 else: return sum(numbers) / len(numbers) ثم استخدامها لحساب المتوسط كالتالي: my_list = [1, 2, 3, 4, 5] result = calculate_average(my_list) print(result) # الناتج: 3.0 empty_list = [] result = calculate_average(empty_list) print(result) # الناتج: 0 حيث تعمل الدالة calculate_average على التحقق مما إذا كانت القائمة المعطاة فارغة، وإذا كانت فارغة، فإنها تقوم بإرجاع القيمة صفر، وإذا لم تكن فارغة، فستوم بحساب مجموع جميع الأرقام في القائمة باستخدام دالة sum()، وتقسمها على طول القائمة للحصول على المتوسط الحسابي.1 نقطة
-
function calculateAverage(numbers) { if (numbers.length === 0) { return 0; } const sum = numbers.reduce((acc, num) => acc + num, 0); const average = sum / numbers.length; return average; } في هذه الدالة، نتحقق أولاً مما إذا كانت أرقام مصفوفة الإدخال فارغة. إذا كان الأمر كذلك ، فإننا نعيد 0 كما هو محدد في الملاحظة. بخلاف ذلك ، نستخدم طريقة الاختزال لحساب مجموع كل الأرقام في المصفوفة. ثم نقسم المجموع على طول المصفوفة للحصول على المتوسط. أخيرًا ، نعيد المتوسط. const numbers = [2, 4, 6, 8]; const average = calculateAverage(numbers); console.log(average); // Output: 5 const emptyArray = []; const emptyArrayAverage = calculateAverage(emptyArray); console.log(emptyArrayAverage); // Output: 0 يحسب المثال الأول متوسط الأرقام [2 ، 4 ، 6 ، 8] ، وهو 5. يوضح المثال الثاني حالة مصفوفة فارغة ، والتي تُرجع 0 كما هو محدد في الملاحظة.1 نقطة
-
السلام عليكم مشكلة واجهتها كثيرا ولا ادري سببها, وذلك ببساطة لأنني أجهل التقنية التي يعمل بها vite بشكل جيد و المشكلة هي مثلا عندما اعمل نشر لتطبيق laravel على النت المرة الأولى يتم العمل بشكل جيد لكن بعد التعديل و التطوير في التنسيقات و توليد ملفات جديدة بدل القديمة الآن المفروض كل ما أعمله أن أستبدل build/ بالجديد الذي تم توليده عن طريق الأمر npm run build ولكن أنا لما أستبدل الملفات مكانها المفروض كل شيء يعمل لكن لما ازور الموقع أجد أنه إستخدم هذه الروابط http://127.0.0.1:5173/@vite/client بهذا الشكل و كأنني على local علما أن هذا يظهر فقط عند التحديث شكرا1 نقطة
-
إذا كنت تواجه مشكلة في تحديث التغييرات وظهور روابط تشير إلى http://127.0.0.1:5173/@vite/client بدلاً من الروابط الصحيحة عند تصدير تطبيق Laravel الخاص بك على الويب، فقد يكون السبب في ذلك هو استخدام خادم التطوير الخاص بـ Vite على جهازك المحلي. تطبيق Vite هو أداة تطوير سريعة تستخدم عادةً مع إطار العمل Vue.js، وهي توفر خادمًا تطويريًا مدمجًا لتحميل وتشغيل التطبيقات بشكل سريع وفعال. يعتمد Vite على تقنية المتصفح (ES modules) ويستخدم روابط محلية أثناء التطوير. عند تصدير تطبيقك على الويب باستخدام Laravel، يجب أن تتأكد من عدم استخدام خادم Vite التطويري في إعدادات الإنتاج. قم بالتحقق من الإعدادات الخاصة بـ Vite في ملف vite.config.js أو vite.config.ts إذا كنت تستخدم TypeScript. تحقق من وجود أي إعداد يشير إلى localhost أو 127.0.0.1 وتأكد من تعطيله أو تعديله بشكل مناسب للاستخدام في الإنتاج. بعد ذلك، قم بإعادة تشغيل عملية بناء التطبيق الخاص بك وتأكد من استخدام الملفات الجديدة التي تم توليدها بواسطة الأمر npm run build إذا كنت لا تستخدم Vite بشكل صريح في مشروعك ولا تحتاج إلى خادم التطوير الخاص به، فيمكنك إزالة الروابط غير الصحيحة يدويًا من ملفات القالب الخاصة بالتطبيق واستبدالها بالروابط الصحيحة. من الجدير بالذكر أنه قد يكون هناك أسباب أخرى محتملة لحدوث هذه المشكلة، وتعتمد الحلول على تفاصيل تكوين تطبيق Laravel وكيفية تكامله مع Vite.1 نقطة
-
1 نقطة
-
للتعامل مع ASCII في لغة Python، يمكنك استخدام وظيفتين رئيسيتين: `ord()` و `chr()`. - `ord()` تستخدم للحصول على قيمة ASCII المرتبطة بحرف محدد. يتم استخدامها بالشكل التالي: character = 'A' ascii_value = ord(character) print(ascii_value) هذا سيعرض القيمة 65، والتي هي القيمة المرتبطة بحرف 'A' في ASCII. - `chr()` تستخدم للحصول على الحرف المقابل لقيمة ASCII المحددة. يمكن استخدامها بهذا الشكل: ascii_value = 65 character = chr(ascii_value) print(character) سيقوم الكود بطباعة الحرف 'A'، حيث تكون القيمة 65 في ASCII تمثل الحرف 'A'. يمكنك استخدام هاتين الدالتين للتعامل مع النصوص التي تستند إلى ASCII في Python والقيام بالعديد من العمليات مثل تحويل الحروف إلى قيم ASCII والعكس، والقيام بالتلاعب بقيم ASCII المرتبطة بالحروف لإجراء تحويلات ومعالجة النصوص.1 نقطة
-
لما لا تستخدم cache ذا طابع زمني (time-based cache)، بدلاً من تخزين الصورة نفسها في الذاكرة المؤقتة، أي بتخزين رابط (URL) الصورة في الذاكرة المؤقتة مع معلومات إضافية مثل وقت إضافة المنتج ورقم المستخدم الذي أضافه، وعند طلب الصفحة marketplace، قم بفحص الذاكرة المؤقتة للحصول على رابط الصورة المخزنة. وإذا تم إضافة منتج جديد، عليك بتحديث الرابط المخزن في الذاكرة المؤقتة بالرابط الجديد، مع معلومات الوقت ورقم المستخدم، وبالطبع ستحتاج إلى تحديث الذاكرة المؤقتة بشكل متزامن وآمن للتأكد من عدم حدوث تضارب في البيانات. أو استخدام استراتيجية التعتيم المستندة إلى التجزئة (Hash-based Invalidation) لتخزين صور المنتجات في الذاكرة المؤقتة. أي يجب عليك أولاً إنشاء تجزئة (Hash) لملف صورة المنتج، حيث تُستخدم تلك التجزئة كمفتاح لتخزين صورة المنتج في الذاكرة المؤقتة. وعندما يقوم مستخدم بإضافة منتج جديد، ستقوم بإنشاء تجزئة لملف صورة المنتج والتحقق مما إذا كان موجودًا في الذاكرة المؤقتة، وإذا لم يكن موجودًا، ستقوم بتخزين صورة المنتج في الذاكرة المؤقتة باستخدام التجزئة كمفتاح. وعند طلب صورة المنتج من قبل مستخدم آخر، ستقوم أولاً بالتحقق مما إذا كانت الصورة موجودة في الذاكرة المؤقتة، فإذا كانت موجودة، ستقوم بتقديم الصورة مباشرة من الذاكرة المؤقتة، وإذا لم تكن موجودة، ستقوم بجلب الصورة من الخادم وتخزينها في الذاكرة المؤقتة. وبإمكانك الاستعانة بـ CDN (شبكة توزيع المحتوى) أو وكيل عكسي (reverse proxy). وانتبه إلى أن الـ hash-based caching والـ time-based caching هما طريقتان مختلفتان. فالـ hash-based caching يستخدم التجزئة (hash) للمورد لتحديد ما إذا كان مخزنًا في الذاكرة المؤقتة، والتجزئة هي معرف فريد للمورد، وتُستخدم لضمان تقديم الإصدار الصحيح للمورد. أما الـ time-based caching يستخدم وقت آخر تعديل للمورد لتحديد ما إذا كان مخزنًا في الذاكرة المؤقتة، وإذا لم يتم تعديل المورد منذ آخر مرة تم فيها تخزينه في الذاكرة المؤقتة، يتم تقديم النسخة المخزنة في الذاكرة المؤقتة.1 نقطة
-
يمكنك التعامل مع ASCII في لغة Python بعدة طرق: استخدام الرموز الثنائية مباشرة: text = "01001000 01100101 01101100 01101100 01101111" print(text.encode().decode('ascii')) # Prints "Hello" استخدام ord() للحصول على رمز ASCII لحرف: print(ord('H')) # Prints 72 استخدام chr() للحصول على حرف من رمزه الثنائي: print(chr(72)) # Prints "H" استخدام سلسلة الترميز: text = "Hello" encoded = text.encode('ascii') # Encode string into bytes print(encoded) # b'Hello' decoded = encoded.decode('ascii') # Decode bytes into string print(decoded) # Hello التعامل مع ملفات ASCII حيث تكون البيانات مخزنة برموز ASCII: with open('file.txt', 'rb') as f: data = f.read() print(data.decode('ascii'))1 نقطة
-
هناك بعض الوظائف والأساليب المتاحة كالتالي: 1- تحويل النص إلى ASCII نستخدم دالة ord() لتحويل حرف إلى قيمته الرقمية في ASCII. char = 'A' ascii_value = ord(char) print(ascii_value) # ستقوم بطباعة القيمة 65 2- تحويل القيمة الرقمية إلى حرف ASCII دالة chr() لتحويل قيمة رقمية إلى حرف ASCII المقابل. ascii_value = 65 char = chr(ascii_value) print(char) # ستقوم بطباعة الحرف 'A' 3- الحصول على القيم ASCII للأحرف في سلسلة نصية في حال كان لديك سلسلة نصية، استخدم حلقة للحصول على القيم ASCII لكل حرف في السلسلة. مثال: string = "Hello" for char in string: ascii_value = ord(char) print(ascii_value) والكود يعمل على طباعة القيم ASCII المقابلة لكل حرف في سلسلة "Hello".1 نقطة
-
يحدث هذا في الغالب بسبب التقاط ملفات العروض كملفات مؤقتة خصوصا في بيئة انتاجية، أظنك ستحتاج كل مرة تقوم فيها بتعديل ما بمحو التخزين المؤقت لملفات العروض لكي يتم طلب vite manifest جديد عليه مسارات الملفات الجديدة. و vite manifest هو ملف جيسون يتم توليده بداخل مجلد build يصف كل مسار فرعي. نفذ الأمر التالي لذلك: php artisan view:clear1 نقطة
-
يمكن استخدام تقنية caching في تخزين الصور المستخدمة في صفحة marketplace، وذلك بتخزين الصور في cache عندما تتم تحميلها لأول مرة. وعندما يتم طلب الصورة مرة أخرى، يتم استخدام الصورة المخزنة في cache بدلاً من إرسال طلب جديد إلى السيرفر لجلب الصورة. لتفعيل caching في صفحة marketplace، يمكن إضافة header إلى الاستجابة الخاصة بالصور، والذي يحدد مدة صلاحية الصورة في cache. ولكن، في حالة marketplace التي تسمح بإضافة المنتجات في أي وقت، فإن استخدام expiration time لل cache ليس مناسبًا، بسبب أن الصور المضافة حديثًا لن تكون متاحة بشكل دائم في نفس الوقت. لذلك، يمكن استخدام تقنية caching المتصفح الخاص بالمستخدم لتخزين الصور المستخدمة في صفحة marketplace، وذلك بتحميل الصورة مرة واحدة فقط وتخزينها في cache. وعندما يتم طلب الصورة مرة أخرى، يتم استخدام الصورة المخزنة في cache بدلاً من إرسال طلب جديد إلى السيرفر لجلب الصورة. يمكن تنفيذ هذا الأمر باستخدام JavaScript، وذلك عن طريق إضافة معرف فريد للصورة، مثل رقم الدخول الفريد للمستخدم الذي قام بتحميل الصورة. وعندما يتم تحميل الصفحة مرة أخرى، يمكن استخدام هذا المعرف للبحث عن الصورة المخزنة في cache، وإضافتها إلى الصفحة. بالإضافة إلى ذلك، يمكن استخدام خدمة CDN (Content Delivery Network) لتخزين الصور، وهي خدمة تسمح بتخزين الملفات الكبيرة مثل الصور وتوفيرها من سيرفرات مختلفة حول العالم، مما يؤدي إلى تحسين سرعة تحميل الصفحة. ومن الممكن أيضًا استخدام تقنية lazy loading لتحميل الصور بشكل تدريجي بمجرد الوصول إلى الجزء المرئي من الصفحة، وبالتالي تجنب تحميل الصور الغير مرئية في الصفحة مما يوفر استخدام الـ cache بكفاءة أكبر.1 نقطة