لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 07/04/22 في كل الموقع
-
webpack في الاصل هو مجمع ملفات او بشكل ادق مجمع وحدات module bundler تقوم بتجميع عدد من ملفات الجافاسكربت، الـ HTML والcss لتجعلها في ملف واحد، وبهذا المنطق تتيح الكثير من الميزات الأخرى على سبيل: امكانية تقسيم الشيفرات وتجزئتها. استخدام المحملات لتحميل وتفسير انواع معينة من الملفات مثل sass. فصل بيئة التطوير عن بيئة الانتاج. وغيرها الكثير.. عيب هاته الطريقة انها قد تأخذ الكثير من الوقت أثناء عملية التطوير. لنقل مثلا أنك تستخدم 2000 وحدة نمطية في تطبيق كبير لديك. الآن عملية بناء او تجميع او تحزيم هاته الوحدات قد ياخذ وقتا طويلا جدا بادئ الأمر. ثم ستكون عملية الاستماع الى التغييرات هي الأخرى بطيئة (رغم التخزين المؤقت) لأن ويب باك تقوم كل مرة بإعادة تجميع كامل الملفات واخراجها في ملف واحد كل مرة ولا تستثني الملفات الغير معدلة، هذا بجانب تشغيل كامل المحملات والوحدات الاخرى. ويتم تقديم laravel-mix كآداة توفر واجهة تطبيقات برمجية للعمل بـ webpack بشكل أكثر فعالية في تطبيقات لارافيل لذات الغرض السابق. يأتي Vite هنا لتقديم حل استثنائي لتحسين تجربة التطوير وتسريعها، فالفكرة الاساسية منه هو تحويل وتقديم جزء من شيفرة التطبيق الخاص بك عندما يطلب المتصفح ذلك وفقط. فعند بداية عملية التطوير سيقوم Vite بتقسيم وحدات جافاسكربت الخاصة بك الى فئتين: dependency modules أو وحدات التبعية، وهي الوحدات التي يتم تحميلها وطلبها من node_modules. يتم ذلك عن طريق مجمع يدعى esbuild هو مكتوب بلغة Go ويعد اسرع بـ 10 الى 100 مرة من ويب باك. application modules او وحدات التطبيق، وهي الوحدات التي تشتغل عليها او بالأحرى هي ملفات تطبيقك. ويبباك تقوم بتجميع كل ما ينتمي لكليهما واخراجهما في ملف واحد كل مرة تطلبه. يدعى هذا بـ bundler-based workflow او سير العمل القائم على التحزيم. Vite تقوم فقط بتجميع وحدات التبعية الخاصة بك، في حين ان وحدات التطبيق تقدم فقط حينما يتم طلبها او في لحظة ما تكون مستعملة من طرف صفحة ما او مكون ما. تسمي Vite هذا بـ vite ESM-based dev build أو سير العمل القائم على وحدات ES. بمعنى أنه قادر على معالجة التطوير الخاص بك بشكل أسرع كثيرا من Webpack. وقد لا تلحظ هذا مع تطبيقات عادية، ولكن ستزداد الحاجة الى تجميع اسرع مع ازدياد حاجيات التطبيق وتوسعه. وبما أنه يخدم مفهوم التوسع scalability أكثر من ويب باك فإن لارافيل ضمته إليها هذا الاسبوع فقط ليزيد من حظ وقدرة لارافيل في بناء تطبيقات بأحجام عملاقة، بجانب المحافظة على تجربة تطوير جيدة الى ممتازة. يتفائل الكثير من المطورون باستعمال لارافيل له، ويرون أنه الجيل الجديد من ادوات بناء جافاسكربت بخدمته لمفهوم الوحدات في المتصفح، وهو مفهوم لم يكن شائعا قبله. وكتجربة شخصية، عملت بـ Vite في تطبيق واجهة أمامية بـ VueJS وكانت تجربة التطوير رائعة مقارنة بالتطبيقات التي اعتمدت على ويب باك فيها. وبما أن Vite مقدم من مطوري VueJS أنفسهم فأظن أنه سيكون هنالك تقارب أكثر بين VueJS و Laravel في المستقبل.2 نقاط
-
1 نقطة
-
لدي مشكل أني أجد قيمة فارغة في أول الجدول والذي اسمه tasks حتى قبل أن أدخل أي قيمة في حقل الادخال لماذا أجد هذه القية وكيف أحذفها ؟ let btn= document.getElementById("add"); console.log(window.localStorage.key(0)); let v =window.localStorage.getItem('value'); console.log(v); let taskform = document.querySelector('.tasks'); let tasks=[v]; console.log(tasks); //حدث النقر على إضافة تاسك btn.addEventListener('click',function(e){ add(); e.preventDefault(); }); function add(){ if (document.getElementById("inb").value===""){ // التحقق من ما إذا أدخلت قيمة في الحقل أو لا }else{ // جلب القيمة المدخلة في الحقل val= document.getElementById("inb").value; // console.log(val.trim()); let len = tasks.length; //tasks[len]=val; // حقن القيمة في جدول // tasks.push(val); //console.log(tasks); console.log(len); // حفظ القيمة في التخزين المحلي window.localStorage.setItem("value",tasks); let task=tasks[len-1]; let mydiv = document.createElement('div'); let but = document.createElement('button'); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(task); taskform.append(but); taskform.append(mydiv); } } // التحقق من ما إذا كانت هناك قيمة في التخزين المحلي if(window.localStorage.getItem('value')){ // console.log(window.localStorage.getItem('value')); let arr= window.localStorage.getItem('value').split(","); //console.log(arr); for(let i=0;i<arr.length;i++){ let mydiv = document.createElement('div'); mydiv.setAttribute('id',`my-div${i}`); let but = document.createElement('button'); but.setAttribute('id',i); but.style.cssText="position: relative;background-color: #d71a0c;color: antiquewhite;border: 0cm;height: 25px;border-radius: 5px;cursor: pointer;left: -31px;top: 14px;width: 62px;" let textbut= document.createTextNode("delete"); but.appendChild(textbut); mydiv.style.cssText="background-color: white;width: 179px;height: 25px;top: -12px;position: relative; left: -108px;border: 0cm;border-radius: 4px; direction: ltr;text-indent: 5px;" mydiv.append(arr[i]); taskform.append(but); taskform.append(mydiv); } }else{ } //حدث النقر على إزالة تاسك if(v.length===0){ console.log("tasks not found"); }else{ let newarr= v.split(','); console.log(newarr); for(let i=0; i<newarr.length;i++){ i.toString(); let del=document.getElementById(`${i}`); del.addEventListener('click',function(){ let de=document.getElementById(`${i}`); console.log(newarr); // let va=newarr.splice(i,1); let spliced= newarr.splice(i,1); // console.log(va); console.log(spliced); window.localStorage.setItem("value",v); console.log(v); let myd=document.getElementById(`my-div${i}`); myd.remove(); de.remove(); }) v=newarr; } }1 نقطة
-
كيف الشرح والتوضيح والتجاوب في حال يوجد مشكله او خطا وهل احد ينصحني انني اشترك فيها1 نقطة
-
أنت تقوم بإنشاء مصفوفة فيها عنصر بقيمة v والتي تكون null أول تشغيل البرنامج، فيكون tasks فيها عنصر وحيد فارغ let tasks = [v]; console.log(tasks); => v null tasks [null] length: 1 لذلك يمكنك بناء المصفوفة الفارعة من خلال باني المصفوفات في جافاسكربت let tasks = Array(); وسيكون: v null tasks [] length: 01 نقطة
-
1 نقطة
-
قمت بعمل إستمارة form وقمت بكتابة الكود التالي للحصول على معلومات عن الملف: file = request.FILES['filename'] الآن يمكنني الحصول على اسم الملف وحجمه، ولكن لا أعرف كيف أحصل على نوع الملف MIME type، ما هي الطريقة التي يجب إستخدامها لمعرفة نوع الملف في جانغو Django؟1 نقطة
-
يمكن عمل بيئة وهمية لكل مشروع، كي تستطيع تثبيت إصدارات مختلفة من نفس المكتبة لأكثر من مشروع مختلف حيث أن كل بيئة وهمية تعتبر بيئة مستقلة. والحل يدعم بقاء تشغيل الإصدارات القديمة من المشاريع في حال كان لها بيئة افتراضية خاصة، لأن تثبيت مكتبة من جديد بإصدار X مستعملة في مشروع قديم بإصدار Y سوف يسبب توقف عمله بسبب استبدال المكتبة القديمة بالإصدارا لجديد ومشاكل من هذا النوع1 نقطة
-
هل مسار الورد بريس الموجود في دورة PHP مبنى على باقي مسارات دورة PHP ولا هو مسار مستقل بذاته ينفع اتعلمه بدون دراسة المسارات الاخري لدورة php1 نقطة
-
1 نقطة
-
شكراً لك اخي لكن هل مسار الورد بريس بالدورة كافي لاكون مطور ود بريس محترف ولا يحتاج الي دراسة اكثر تعمق بعد دراسة المسار1 نقطة
-
نعم يمكن تعلم مسار ورد بريس لوحده بدون دراسة المسارات الاخرى لدورة php ولكن يجب ان يكون لديك فكرة عن اساسيات php.1 نقطة
-
حاليًا لا يوجد مسار لذلك ضمن الدورات، يوجد العديد من مكتبات تطوير الواجهات الأمامية الأخرى مثل Alpine و Svelte و Angular وغيرها، مسار دورة جافاسكريبت يغطي أشهر مكتبة منها وهي React لتطوير تطبيقات الويب، و ReactNative لتطوير تطبيقات المنصات الأخرى كأندرويد و IOS، وذلك لحجم التقاطع الكبير بينهما بذلك كمتدرب ستتعلم أساسيات مكتبة واحدة مشهورة فقط وتستطيع باستخدامها بناء تطبيقات بطرف العميل، يمكنك معرفة الفروق بين أشهر تلك المكتبات من المقال التالي: ويمكنك تعلم Vue بنفسك بقراءة سلسلة مقالات "مقدمة إلى vuejs" التالية:1 نقطة
-
لا أعتقد أنه يوجد تابع جاهز في جافا باسم readName وإنما getName (java.lang.Class.getName()) للحصول على اسم كائن (صف، واجهة، مصفوفة،..) بحيث يتم تمثيلها كصف Class مثال لطباعة اسماء الملفات: try { // إنشاء كائن من ملف File f = new File("f:\\program"); // الحصول على اسماء الملفات الموجودة ضمن مجلّد معيّن File[] files = f.listFiles(); // طباعة اسماء الملفات for (int i = 0; i < files.length; i++) { System.out.println(files[i].getName()); } } catch (Exception e) { System.err.println(e.getMessage()); }1 نقطة
-
السلام عليكم أخي رضوان نصيحتي هي التعلم مع اي مصدر ترتاح فيه وتشعر بأنك قد استوعبت ما قيل وأنصحك بكثره (التطبيق) أما عن عدم مقدرتك لشراء الكورسات فالمصادر المجانية متاحه للتعلم منها وعند تحسن ظروفك واردت شراء كورس من (حسوب) فأفعل ذلك لإنه يستحق .. المهم أن لا تتوقف سواء دورات مدفوعه او مجانية، المهم هو السعي وبأذن الله سيكلل مجهودك بالنجاح 😊1 نقطة
-
الامتحان عبارة عن جزئين رئيسيين: محادثة صوتية مع مدرب لمدة نصف ساعة بناء مشروع التخرج يمكنك معرفة جميع معلومات الامتحان من خلال الرابط التالي: امتحان دورات أكاديمية حسوب1 نقطة
-
كل من Angular و React عبارة عن مكتبة في لغة JavaScript ويستخدم كل منهما في إنشاء واجهة المستخدم من خلال عمل تطبيقات SPA. تحتوي الأكاديمية على دورة تطوير التطبيقات باستخدام لغة JavaScript وهي الدورة الوحيدة التي يتم خلالها شرح React.js هذه الدورة هي دورة عامة يتم خلالها شرح الأساسيات البرمجية بإستخدام لغة JavaScript، ثم شرح تطوير تطبيقات الخادم Backend باستخدام بيئة Node.js وإطار العمل Express.js، ثم تنتقل لأساسيات مكتبة React.js وبناء تطبيق ملاحظات باستخدامها من نوع SPA، ثم ستتعرف على أساسيات مكتبة React Native و Expo لعمل تطبيقات الهاتف الجوال، وستبدأ في تطوير تطبيق جوال للوصل بين الأطباء والمرضى، وبناء بناء تطبيق محادثة يشبه تطبيق WhatsApp، بعد ذلك ستدرس أساسيات إنشاء تطبيقات لسطح المكتب من خلال إطار العمل Electron.js وكيفية إنشاء مشاريع من خلال إطار العمل Next.js، يمكنك معرفة المزيد من التفاصيل من خلال صفحة الدورة من هنا (دورة تطوير التطبيقات باستخدام لغة JavaScript). ولا تحتوي الأكاديمية على دورات بخصوص Angular.js ولكن توجد مقالات مجانية تشرح أساسيات Angular.js، ويمكن قراءة هذه المقالات من هنا (مقالات Angular.js)، ونفس الأمر بالنسبة لـ React.js حيث يوجد عدد أكبر من المقالات يمكن قراءتها من هنا (مقالات React.js)1 نقطة