لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 04/09/22 في كل الموقع
-
من فضلكم ماذ تعنى رسالة الخطأ التالية 431 Request Header Fields Too Large وما هى الحالات التى تسبب هذا الخطأ2 نقاط
-
الإصدار 1.0.0
24738 تنزيل
تسبق كل عملية تنفيذية عملية تصميمية تخطيطية مثل عملية تخطيط أي بناء ودراسته وتحليله ورسمه على المخططات قبل البدء ببنائه وتنفيذه على الأرض وكذلك الحال مع قواعد البيانات فقبل تنفيذها برمجيًا، يكون هنالك مرحلة تصميمية يجري فيها تصميم قواعد البيانات وتخطيط جداولها والأعمدة التي تحتويها وأنواع البيانات فيها والروابط الرابطة بينها والقيود المقيدة لها وهكذا، فلعملية التصميم تلك أهمية كبيرة لأي قاعدة بيانات، ولا يكاد يخلو أي نظام برمجي يتعامل مع البيانات من قاعدة بيانات لذا لابد من إجراء تصميم متين مناسب لقاعدة البيانات التي سيُبنى عليها النظام. يعد موضوع تصميم قواعد البيانات مادة أساسية تدرَّس في السنوات الأولى من تخصص علوم الحاسوب والتخصصات المتعلقة بهندسة الحاسوب والبرمجيات في الجامعة ولابد من تعلم الموضوع ودراسته قبل البدء بتعلم كيفية تنفيذ قاعدة بيانات برمجيًا، فلا يمكن بناء قاعدة بيانات قوية متينة الارتباطات سليمة القيود موحَّدة عديمة التكرارات دون دراسة موضوع التصميم نظريًا وإتقانه عمليًا وذلك بتصميم قواعد بيانات نموذجية والإطلاع على تصميمات أخرى لقواعد بيانات صممها مهندسون أكفَّاء. يشرح هذا الكتاب عملية تصميم قاعدة بيانات شرحًا موجزًا غير مخل، إذ يبدأ أولًا بتغطية كل المفاهيم المتعلقة بقواعد البيانات بدءًا من فكرة قاعدة البيانات بالأصل واختلافها عن أي نظام تخزين بيانات، وحتى العملية التصميمية وعمليات نمذجة البيانات وتمثيلها وعمليات الربط بين جداول البيانات وما يقوم عليها ثم يبني بعدها على ذلك كله شارحًا عملية تصميم قواعد البيانات وتطويرها حتى رسم مخطط ER النهائي لجداول قاعدة البيانات، وهو مخطط نموذج الكيان والعلاقة الواصف لقاعدة البيانات وجداولها وكل تفصيلة فيها، ثم يشرح بعدها كيفية تنفيذ المخطط الناتج عبر لغة SQL ولا يغيب عنه التطرق إلى أنظمة إدارة قواعد البيانات DBMS مع ذكر أشهرها. هذا الكتاب مترجم عن كتاب Database Design - 2nd Edition "تصميم قاعدة بيانات - الإصدار الثاني" لصاحبيه إيدرين وات Adrienne Watt ونيلسون إنج Nelson Eng وهو مبني في الأصل على عدة مصادر ركيزتها كتاب Database Design للمؤلف الأول إيدرين وات، فالمصادر المبني عليها كل فصل مدرجة في نهايته ويمكنك الرجوع إلى الكتاب الأجنبي الأصل إن أردت الإطلاع عليها، كما أن هذا الكتاب الأجنبي يُعتمد في بعض الجامعات لتدريس مادة تصميم قواعد البيانات في فصول قسم علوم الحاسوب وتصميم البرمجيات. انتبه إلى أن هذا الكتاب لا يركز على عملية تنفيذ قواعد البيانات وبرمجتها بل يركز على عملية تصميم قاعدة بيانات وكيفية نمذجتها وإن كان يتطرق إلى لغة SQL سريعًا شارحًا باقتضاب كيفية إنشاء قاعدة بيانات والعمليات الأساسية للتعديل عليها، أما إذا أردت الاستزادة والتعمق في هذا الموضوع، فننصحك بالرجوع إلى كتاب ملاحظات للعاملين بلغة SQL وكتاب الدليل العملي إلى قواعد بيانات PostgreSQL وتوثيق لغة SQL من موسوعة حسوب. هذا الكتاب مرخص بموجب رخصة المشاع الإبداعي Creative Commons «نسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0». يمكنك قراءة فصول الكتاب على شكل مقالات مجموعة ضمن وسم «تصميم قواعد البيانات» وتجد روابطها تاليًا: تحليل نظام الملفات لإدارة البيانات وتخزينها واختلافه عن نظام قاعدة البيانات المفاهيم الأساسية في قواعد البيانات وتصميمها خصائص قواعد البيانات والمزايا التي تقدمها نمذجة البيانات وأنواعها في عملية تصميم قواعد البيانات مفاهيم نموذج البيانات العلائقية RDM الأساسية المهمة في تصميم قواعد البيانات نموذج الكيان والعلاقة ER لتمثيل البيانات وتخزينها في قاعدة البيانات قواعد السلامة وقيودها لضمان سلامة البيانات في قواعد البيانات نمذجة الكيان العلاقي ER عند تصميم قواعد البيانات الاعتماديات الوظيفية المستخدمة في تصميم قواعد البيانات فهم عملية التوحيد Normalization المستخدمة عند تصميم قاعدة البيانات عملية تطوير قواعد البيانات Database Development نظرة سريعة على لغة الاستعلامات الهيكلية SQL لغة معالجة البيانات DML الخاصة بلغة SQL أمثلة عملية عن كيفية تصميم قواعد البيانات1 نقطة -
لدي إستمارة Form وتحتوي على عدد من حقول checkbox: <input type="checkbox" name="agree_terms"> agree on terms <br /> <input type="checkbox" name="agree_mail"> get latest news on your email عندما يتم إرسال النموذج إلى الخادم server كيف أتحقق ما إذا كانت هذه الحقول تم تحديدها بالفعل أم لا؟1 نقطة
-
قد تحدث هذه المشكلة أيضًا في React إن كنت تستعمل proxy في ملف package.json بالشكل التالي: { // ... "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" }, // ... "proxy": "http://localhost:3000" } إن كان الخادم Server يعمل على منفذ آخر غير 3000 وإن لم يكن يعمل من الأساس، فسوف يظهر لك الخطأ: 431 Request Header Fields Too Large وذلك لأن React لم يتكمن من معالجة الطلب بنفسه أو تحويله إلى أي خادم. حاول أيضًا حذف كل الملفات المؤقتة من المتصفح من خلال الضغط على Ctrl + Shift + Del وقم بحذف كل الملفات المؤقتة وأعد المحاولة.1 نقطة
-
مرحبا ابراهيم، يُشير الخطأ 431 إلى أن الخادم يرفُض معالجة الطلب ﻷن ترويسة ال HTTP الخاصة بالطلب طويلة جدًا وهذا يرجع إلى أمرين: إما أن الحجم الإجمالي لعناصر الترويسة كبيرًا جدًا. أو عندما يكون حقل من عناصر الترويسة ذا حجم كبيرًا جدًا يمكن إعادة تقديم الطلب بعد تقليل حجم الترويسة. الحالات التى تسبب هذا الخطأ: عنوان URL المرجعي (Referer URL) طويل جدًا. يوجد عدد كبير جدًا من ملفات تعريف الارتباط (Cookies) المُرسلة في الطلب.1 نقطة
-
let price = null ; console.log(`the price is ${price || 200 }`); <------ console.log(`the price is ${price ?? 200 }`); <------ ما الفرق بين الكودين1 نقطة
-
ما هي إضافة LearnPress؟ في الوورد بريس اظن حسب ما قرأت انها خاصة بالاساتدة وعمل دروس وتمارين وتنقيط لاكن لم اعرف كيف احصل على قوالب تتماشى مع التعليم ممكن حد يشرحلي لو سمحتو1 نقطة
-
اقصد هل توجد اضافة خاصة لرفع الدروس التعليمية اقصد منهاج مدرسي لا انا استاد بدي اقدم دروس الفزياء واعمل اختبارات للتلاميد1 نقطة
-
اخي هل تناسبني كأستاد اضع محاضرات وتمارين واتفاعل مع الطلاب؟ نظام التنقيط يعني بدي منصة على شكل موقع مدرسي خاص بمادة الفزياء كأستاد دروس تمارين تصحيح علامات الطلاب التفاعل معهم ام لا تحتوي ما اريد؟ مثل ماتقدمه هده المنصة https://fosul.net/teacher/ elmnhag-edu.com مثل ده ممكن؟1 نقطة
-
يمكنك فعل ذلك من خلال تمرير مصفوفة مترابطة أو ما تعرف ب Arrays Associative كالتالي {{ route('admin.page', ['username'=>'emad','id'=>12]) }} المفاتيح الخاصة بالمصفوفة هي اسماء المتغيرات , وقيم المفاتيح هي قيم المتغيرات1 نقطة
-
ببساطة يجب عليك تمرير المتغيرات عبر تعريفها بالإسم بالشكل التالي:- {{ route('admin.page', ['username'=>'emad', 'id'=>12]) }} عدم تعريفك لأسماء الباراميترز سيُظهر لك خطأ في الصفحة ، لكن بهذه الطريقة من المفترض أن يعمل الكود الخاص بك بشكل سليم تمامًا. يمكنك الإطلاع على توثيق التالي لمعرفة المزيد من التفاصيل Routing - Laravel 9.x1 نقطة
-
الرموز المستخدمة في base64 هي: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= كل هذه الرموز يمكن إستخدامها في عناوين URL بدون مشكلة ماعدا آخر ثلاثة رموز (+/=) حيث أن لكل واحدٍ منهم له معنى مختلف في عناوين URL، لذلك عليك أن تستبدلهم بعد عملية التشفير برموز أخرى مثل (._-) على سبيل المثال، ويمكنك أن تستخدم base64 في عناوين URL بدون مشكلة من خلال إستخدام الدالة urlencode مع base64_encode على النحو التالي: <?php $str = 'Hello, world'; $encoded = urlencode( base64_encode( $str ) ); echo $encoded; // SGVsbG8sIHdvcmxk ولفك تشفير النص تستطيع إستخدام الدالة base64_decode مع urldecode على النحو التالي: <?php $encoded_str = 'SGVsbG8sIHdvcmxk'; $decoded = base64_decode( urldecode( $encoded_str ) ); echo $decoded; // Hello, world1 نقطة
-
ليس من الآمن فعل ذلك , بل يجب ان تقوم بعمل اعادة ترميز لعنوان url لأنه من الممكن أن تحتوي سلاسل base64 على الأحرف "+" و "=" و "/" والتي يمكن أن تغير معنى البيانات حيث تبدو كمجلد فرعي أو مسار آخر , يمكنك الاستعانة بالدالتين التاليتين كدوال مساعدة لك function base64_url_encode($input) { return strtr(base64_encode($input), '+/=', '._-'); } function base64_url_decode($input) { return base64_decode(strtr($input, '._-', '+/=')); }1 نقطة
-
ينبغي أولا فهم ما الذي تقوم به الدوال المولدة generators قبل التطرق لـ yield نفسها، فالأولى تقتضي استعمال الأخيرة. تعد المولدات في PHP تقدم طريقة أسرع وأسهل لإستخدام المكررات Iterators، فبدل السياق التالي لإضافة 100 الى كل عنصر من مصفوفة عددية: function myFunct($items) { $result = []; foreach ($items as $item) { $result[] = $item + 100; } return $result; } يتم كتابة صيغة المولد كـ: function myFunct($items) { foreach ($items as $item) { yield $item + 100; } } ففي الأولى: يتم انشاء مصفوفة جديدة. نقوم تباعا باستعمال تكرارة foreach بالإضافة الى المصفوفة الجديدة كل عنصر من عناصر المصفوفة القديمة مضافا اليه 100. وفي الأخير نقوم بإعادة المصفوفة الجديدة كخرج. أما في الثانية: فنحن نقوم مباشرة بإضافة الـ 100 الى كل عنصر من عناصر المصفوفة القديمة. وكل هذا يكون دون الحاجة حتى الى اعادة خرج أو اعادة تعيين مصفوفة جديدة لإعادتها كخرج لاحقا. و yield هنا هي أساس عمل هاته الدالة المولدة، فهي تعمل بشكل مشابه لـ return سوى أن هاته الأخيرة توقف تنفيذ الشيفرة. و yield تواصل تنفيذها الى القيمة التي ما بعدها. بمعنى: لو استقبلت الدالة المولدة المصفوفة [1,2] فهي لن تعيد 1 وتوقف تنفيذ الشيفرة عند اول تكرارة، بل ستقوم بإعادة تعيين 1 بالقيمة المسندة الى yield وتواصل العملية الى 2 وهكذا. بجانب فرق السرعة والضغط على الخادم الذي يكون في صالح المولدات لما يكون الأمر متعلق بالمكررات، يختلف العائد في كل من الأولى والثانية قليلا. فعند استدعاء الدالة المولِّدة للمرة الأولى تعيد الدالة كائنًا من الصنف Generator.ولو قمت بتفحص عائد الدالة المولدة سترى ذلك: function myFunct($items) { foreach ($items as $item) { yield $item + 100; } } print_r(myFunct([0 ,1 , 2])); الخرج: Generator Object ( ) في حين ان خرج الدالة العادية الأولى سيكون عاديا: [100 ,101 , 102] هذا الكائن المعاد يطبق واجهة المكرر Iterator يمكن الوصول الى قيمها التي تعرف كخصائص كالتالي: function myFunc($items) { foreach ($items as $item) { yield $item + 100; } } foreach(myFunc([1,2,3]) as $i){ echo $i.'/'; } // => 101/102/103/ قد تحتاج الاستزادة بالتعرف على المولدات في PHP و PHP Object Iteration.1 نقطة