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

معاذ قره محمد

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

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

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

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

    2

كل منشورات العضو معاذ قره محمد

  1. في ملف ال js عدّل على السطر ال select حيث value أول حرف فيها صغير: <!-- <select onchange="actore(this.Value)"> --> <select onchange="actore(this.value)"> <!-- فقط قمنا بتصغير أول حرف --> ثانياً أنت عرّفت الطريقة actore ضمن الطريقة get بعدما استخدمتها، والواجب عليك إما أن تضعها في نفس الطريقة get لكن قبل استخدامها أو خارج الطريقة get ولا يفرق إن كان قبلها أو بعدها. لماذا قبل استخدامها ضمن الطريقة؟ لأن المترجم ينفذ التعليمات داخل الطريقة سطراً سطراً وإذا كنت قد استخدمت طريقة ضمنية actore في مثالك قبل تعريفها سيولد الخطأ actore not define لماذا إذا عرفت actore خارج الطريقة get لا يفرق إن كان قبلها أو بعدها؟ لأنه يمنحها نمط وصول عام فينشئ جميع الطرق التي عرفتها بشكل مباشر قبل تنفيذ أي كود، لهذا إن عرفت actore بعد الget أو قبلها لن يتولد أي خطأ. async function get(){ const apiLink = await fetch("https://www.breakingbadapi.com/api/characters") const data = await apiLink.json() document.querySelector(".tagrba").innerHTML+=`<h1>${data[3].name}</h1>` document.querySelector(".tagrba").innerHTML+=` <select onchange="actore(this.value)"> ${data.map (item => `<option> ${item.name}</option>` )} </select> ` } // get من الطريقة actore أخرجنا الطريقة function actore(e){ console.log(e); } get(); وصحح كتابة value ضمن ملف الhtml <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>The Breaking Bad Api</title> <script defer src="js.js"></script> <link rel="stylesheet" href="style.css"> </head> <body> <!--actoreوال value انتبه هنا صحح كتابة ال --> <!--<div class="tagrba" onchange="actor(this.Valuo)"> --> <div class="tagrba" onchange="actore(this.value)"> <h2 id="h2"> </h2> </div> </body>
  2. هذه المشكلة تتعلق باتصالك بالانترنت. إذا كنت تعمل على proxy أوقفه وأعد المحاولة. وإذا كان الانترنت عندك بطيء، حاول الاتصال بشبكة أسرع وأعد المحاولة إذا استمر ظهور الخطأ جرّب تطبيق الأمر npm init react-app teena كما أنصحك بتنزيل حزمة تطبيق الreact عندك على الحاسوب بشكل global باستخدام الأمر npm i -global create-react-app هذا الأمر سينزل الحزم الخاصة بالأمر create-react-app وسيجعله عام global يمكن تنفيذه دون اتصال بالانترنت، أي عند إنشاء تطبيق react بعد تنفيذك لهذا الأمر سيقوم بإنشائه دون أن تكون متّصلا بالانترنت. كما أن أمر الإنشاء لن يتغير سيبقى كما هو npx create-react-app teena // أو yarn create react-app teena
  3. عليك بكثرة التمرين على الحلقات التكرارية وفهم طريقة عملها. فمثلا الحلقة التكرارية for تأخذ ثلاث عبارات: أولها index رقم تعرفه لتبدأ حلقة الfor من عنده، ولا يشترط أن يكون 1 أو 0، فحسب المشكلة التي ستحلها بحلقة الfor ستبدأ العداد. وثاني عبارة هي شرط الإيقاف، أي شرط تضعه أنت بحيث توقف حلقة الfor إذا تحقق. وآخر عبارة هي الخطوة؛ أي مقدار الزيادة أو النقصان على العداد index الذي عرّفته. //for (الخطوة, شرط التوقف,العداد معرف بقيمة ابتدائية){ // وهنا أكواد لحل مشكلة ما //} مثال هذه حلقة لجمع الأعداد الزوجية من 0 إلى 10 sum = 0 for (i=0, i<10, i = i+2){ sum+=i } أما من أجل تعقّب عملية الfor فأنصحك بما يسمى أدوات التصور أو مراقبة المسار (track and Visualize) حيث هناك أدوات تنفذ لك الكود سطراً سطراً هذا سيفيدك في البداية لمعرفة عمل الحلقات.
  4. من الأفضل لإتقان ما تعلمته تطبيقه من خلال مشاريع بال html و css فقط، وهذا مفيد جدّاً لك في بداية الطريق، فهذا سيكسبك خبرة في حل مشكلات الstyle التي ستواجهها، وسرعة في أداءك لتنفيذ المشاريع القادمة، فإذا فعلت ذلك أتيت على js وأنت متقن للhtml وcss، فتصبح خبرتك فيهما تقلل عليك المشاكل التي قد تواجهها في مشاريعك مع الjs. وكخطوة قادمة بعد js أنصحك في تعلم بيئة عمل لتسهيل تصميم مواقعك مثل React أو Veu أو Angular.
  5. أهلا بك. هذا تحذير وضعه المترجم والسبب بما أنه هناك احتمالين في البرنامج إما أن تأخذ متحولين id و Uid أو فقط id فيجب أن تتأكد من عدد المتحولات التي ستدخلها في bind_param إما أن تكون اثنين أو واحد فقط. // $stmt->bind_param("ss",$id,$Uid); استبدل هذا الكود بالشرط if (isTouch) { $stmt->bind_param("ss",$id,$Uid); } else{ $stmt->bind_param("ss",$id); }
  6. يمكنك باستخدام الأمر $isTouch = isset($Uid); أن تتأكد إذا كان المتحول Uid معرفاً أم لا. ثم أضف if شرطية في حال كان معرفاً نفذ أمر جلب البيانات معه، وإذا كان غير معرفاً من دونه، أي عوضا عن الكود : $sql="SELECT * FROM books where id = ? AND Uid=? " ; اكتب الكود: if (isset($variable)) { $sql="SELECT * FROM books where id = ? AND Uid=? " ; }else { $sql="SELECT * FROM books where id = ?" ; }
  7. أنشئ الملف واكتب بداخله الثوابت: export const CONSTANT1 = "VALUE1" export const CONSTANT2 = true export const CONSTANT3 = 3 export const CONSTANT4 = ["VALUE4", "etc"] export const CONSTANT5 = {data: "VALUES", etc} // etc... غالباً أنت لم تقم بتصدير ثوابتك export، وكيف كتبت REQUEST_SENT_SUCCESSFULLY = "We got your request." ولم تعرفها ؟ يجب تعريف المتحول بكلمة const للثوابت لا تنسى ذلك.
  8. لفعل هذا يمكنك فعل التالي: أضف ال HTML: <!-- سنجعله قابلاً للسحب DIV هنا أضفنا --> <div id="mydiv"> <div id="mydivheader">Click here to move</div> <p>Move</p> <p>this</p> <p>DIV</p> </div> 2. أضف style كالتالي: #mydiv { position: absolute; z-index: 9; background-color: #f1f1f1; border: 1px solid #d3d3d3; text-align: center; } #mydivheader { padding: 10px; cursor: move; z-index: 10; background-color: #2196F3; color: #fff; } وانتبه أن المهم في هذا الstyle هو ال position: absolute فقط، وبقية الخواص عدّلها براحتك. 3. أضف أكواد javascript التالية: dragElement(document.getElementById("mydiv")); function dragElement(elmnt) { var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; if (document.getElementById(elmnt.id + "header")) { // if present, the header is where you move the DIV from: document.getElementById(elmnt.id + "header").onmousedown = dragMouseDown; } else { // otherwise, move the DIV from anywhere inside the DIV: elmnt.onmousedown = dragMouseDown; } function dragMouseDown(e) { e = e || window.event; e.preventDefault(); // get the mouse cursor position at startup: pos3 = e.clientX; pos4 = e.clientY; document.onmouseup = closeDragElement; // call a function whenever the cursor moves: document.onmousemove = elementDrag; } function elementDrag(e) { e = e || window.event; e.preventDefault(); // calculate the new cursor position: pos1 = pos3 - e.clientX; pos2 = pos4 - e.clientY; pos3 = e.clientX; pos4 = e.clientY; // set the element's new position: elmnt.style.top = (elmnt.offsetTop - pos2) + "px"; elmnt.style.left = (elmnt.offsetLeft - pos1) + "px"; } function closeDragElement() { // stop moving when mouse button is released: document.onmouseup = null; document.onmousemove = null; } }
  9. باستخدام numpy يمكنك فعل ذلك عبر ()np.where : first_col = np.where(first_col < 1, m, first_col) في هذه الmethod سيقوم بأخذ شرط كأول parameter. إذا تحقق الشرط عند عنصر سيتم استبدال قيمته بقيمة ثاني parameter والذي هو m في حالتنا.
  10. من أجل نسخة python 3.3 والأحد منها تعليمات تنزيل وإنشاء وتفعيل ال virtual environment تغيرت. لتنزيل الحزمة يمكنك استخدام pip: py -m pip install --user virtualenv ولإنشاء environment جديدة: py -m venv myproject ولتفعيل ال virtual environment: .\myproject\Scripts\activate بعد التفعيل سترى ("myproject") في موجه الأوامر. -حسب اسم مشروعك-.
  11. دالة flask.jsonify تقوم بتحويل الكائن إلى Object مع نمط التمثيل application/json أي هذه الدالة تقوم بإرجاع Object من النمط ()flask.Response، وتستعملها عند إرسال الResponse من الflask. بينما الدالة flask.dumps تقوم بتحويل الكائن إلى String يحوي ملف الJSON وهذا قد يؤدي إلى نتائج غير مقصودة أثناء التنفيذ، وفي هذه الحالة يجب أن تضيف أنت نمط التمثيل (mimetype) إلى الheader، تستعمل هذه الدالة عندما تحتاج طباعة الObject كـ String.
  12. التفريغ الصوتي هو تحويل النص المسموع إلى نص مقروء بمختلف الصيغ المتاحة وورد أو غيره، ويتم ذلك دون تحريف النص بزيادة أو نقصان. يفضَّل لهذا العمل من هو ذو مستوى جيّد في النحو والإملاء ويمتلك سرعة في الأداء. ويمكننا تقسيم التفريغ الصوتي من حيث النوع؛ إلى نوع يقوم به المفرّغ بتحويل النص المكتوب إلى نص مسموع، ونوع يقوم به المفرّغ بتحويل النص المسموع إلى مقروء. ويمكن تقسيمه بشكل آخر باعتبار موضوع النص [ديني - اجتماعي - علمي ..].
×
×
  • أضف...