لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/14/21 في كل الموقع
-
معذرة اخطات في وضع async في المكان الخطا describe("Post /courses", async() => { describe("given a right inputs", () => { test("should res to be 200 status code", async() => { const res = await request(app).post("/courses").send({ name: "first course", description: "description should be more than 25. description should be more than 25. description should be more than 25. description should be more than 25. ", price: 100, }); expect(res?.statusCode).toBe(200); }); }); });2 نقاط
-
الدالة التي تستخدم await يجب أن تكون async، هل يمكنك محاولة وضع async في السطر 8 قبل تعريف anonymos function؟2 نقاط
-
أنا اشتغل على نظام windows 10 وقد ثبتت git قبل هذا الوقت وعدلته ليعمل مع حسابي القديم والان لقد فتحت حساب جديد في github واريد العمل به ايضا دون التخلي عن حسابي القديم وسؤالي هو كيفية اظافة الحساب الجديد ليكون لدي صلاحية تطبيق الاوامر عليه من حاسوبي بحثت قليلا ووجدت مصادر بالانجليزي تتحدث عن ssh key ولكن لم افهم شئ1 نقطة
-
طرحت مسبقا سؤال عن خطأ ظهر معي والخطأ كان بسبب أنني نسيت تنفيذ الأمر git add . بعد تنفيذ الأمر استطعت تنفيذ الامر commit ولكن ظهرت معي مشكلة اخرى حيث أنه يبدو ان git add . تسود المشروع كله وأنا لدي في مشروعي مجلد node_modules والمفروض ان يتم تجاهله في العمليات المتعلقة ب git ولدي ملف اخر ايضا تجاهله ولا اعرف ما السبيل لذلك .1 نقطة
-
انتقل إلى الدليل/المجلد الذي تريد دفع التغييرات منه إلى حساب GitHub المختلف. نعمل مفتاح SSH key جديد ssh-keygen -t rsa -C “your-email-address” -t stands for ‘type’ and rsa is type of encryption نمط التشفير -C is for comment تثبيت سوف يظهرتأكيد توليد الملف: Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/your_username/.ssh/id_rsa): أرجو تسمية الملف باسم مختلف عن سابقه الذي يفترض أنه موجود بنفس المسار: /c/Users/your_username/.ssh/id_rsa_IDENTIFIABLE_NAME_HERE ثم نكتب كلمة السر و نأكدها نستعرض الملف الذي قمنا بحفظه ثم ننسخ المفتاح العام منه ونضيفه لحسابنا في github سيكون بهذا الشكل في الملف نجده id_rsa_test.pub => ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEmSbc7ms4SNIf7G0e9EqdrQRTB17VFTqRtCbQ55sSc11xZP5B07UXf9+ ................a955cf1GUzsNIr60E7VuVxirrr+K2WcleqifnDEg1H/VbyJtEekh4Aav9csBwemTz3 test@test.com نتوجه ل github : GitHub account → Settings → SSH and GPG keys يوجد أوامر مساعدة لتحديد الإعدادت ننفذهم مثل git config core.sshCommand=ssh -i ~/.ssh/id_rsa_test git config -e ثم نتابع بأمور تهيئة المستودع و نحدد المستخدم: git config user.name "test" git config user.email test@test.com git init git add . git commit -m "First commit" git remote add origin git@github.com:your_username/test.git git push origin master1 نقطة
-
const express = require("express"); const { Course } = require("../model/course"); const router = express.Router(); router.get("/", async (req, res) => { const coursesList = await Course.find(); // .populate("Auther"); res.send(coursesList); }); router.post("/", async (req, res) => { let newCourse = new Course({ name: req.body.name, description: req.body.description, price: req.body.price, user: req.body.user, rating: req.body.rating, isFeatured: req.body.isFeatured, dateCreated: req.body.dateCreated, }); newCourse = await newCourse.save(); res.send(newCourse); }); router.put("/:id", async (req, res) => { let updatedCourse = await Course.findByIdAndUpdate( req.params.id, { name: req.body.name, description: req.body.description, price: req.body.price, user: req.body.user, rating: req.body.rating, isFeatured: req.body.isFeatured, dateCreated: req.body.dateCreated, }, { new: true } ); res.send(updatedCourse); }); router.delete("/:id", async (req, res) => { await Course.findByIdAndRemove(req.params.id); res.send(`The course is Deleted`); }); router.get(`/get/count`, async (req, res) => { const coursesCount = await Course.countDocuments((count) => count); if (!coursesCount) { res.status(500).json({ success: false }); } res.send({ coursesCount: coursesCount, }); }); module.exports = router; هذا هو الرواتر .. هذا app.js const express = require("express"); const mongoose = require("mongoose"); const app = express(); const authJwt = require("./helpers/jwt"); const coursesRouter = require("./router/courses"); const usersRouter = require("./router/users"); const questionsRouter = require("./router/questions"); // app.use(authJwt()); app.use(express.json()); app.use("/courses", coursesRouter); app.use("/users", usersRouter); app.disable("etag"); app.use("/questions", questionsRouter); mongoose .connect( "mongodb+srv://ahmed:a12345678@cluster0.f0bzw.mongodb.net/carnaDatabase?retryWrites=true&w=majority", { useNewUrlParser: true, useUnifiedTopology: true, dbName: "carnaDatabase", } ) .then(console.log("Connected")) .catch((err) => console.log(err)); const port = 3000; app.listen(port, () => console.log(`App listening on port ${port}`)); واخيرا هذا هو ملف ال courses.test.js const { request } = require("express"); const superTest = require("supertest"); const courses = require("../router/courses"); const app = require("../app"); describe("Post /courses", () => { describe("given a right inputs", async () => { test("should res to be 200 status code", () => { const res = request(app).post("/courses").send({ name: "first course", description: "description should be more than 25. description should be more than 25. description should be more than 25. description should be more than 25. ", price: 100, }); expect(res.statusCode).toBe(200); }); }); }); هذه اول مرة اقوم بها ب integration test والفيديو الذى علمنى كان يشرح على اساس جافا سكريبت وليس node js ولا اعلم لماذا هذا ال test لا يعمل حيث يعطينى خطأ TypeError: Cannot read property 'JSON' of null1 نقطة
-
1 نقطة
-
1 نقطة
-
أعتقد ان مسبب الخطأ هو محاولة قراءة statusCode من res و res في هذه الحالة undefined لذا استخدم async await لانتظار الطلب describe("Post /courses", async() => { describe("given a right inputs", async () => { test("should res to be 200 status code", () => { const res = await request(app).post("/courses").send({ name: "first course", description: "description should be more than 25. description should be more than 25. description should be more than 25. description should be more than 25. ", price: 100, }); expect(res?.statusCode).toBe(200); }); }); }); عدلت شيفرة ال testing قليلا باظافة async await وايضا لاحظ expect(res?.statusCode).toBe(200); علامة الاستفهام مفادها أنه اذا كان res هو null او undefined لا يقرأ من الأساس فقط لتفادي الخطأ1 نقطة
-
أجريت بعض التغييرات على ملف في مشروع وأجريت الاوامر التالية git add script.js git commit -m "commit2" والان انا مستعد لرفع التغيير ل github عبر git push origin master افهم معظم تفاصيل الامر ما عدا origin لا افهم ماذا تعني وما اهميتها في الأمر وأيضا رأيت بعض الاستخدامات كهذا الامر git push origin هل يمكن التفسير لأن الأمر اختلط عليا قليلا1 نقطة
-
يمكن القول أنها فقط عبارة عن كنية أو إسم مختصر للمستودع البعيد Remote Repo الذي تم استنساخ المشروع منه . فهو يستخدم بدلا عن عنوان الـ URL للمستودع الأصلي و بالتالي يسهل الرجوع إليه و يكون عوضا عن طباعة هذا كل مرة : git push git@github.com:USERNAME/REPOSITORY-NAME.git YOUR-BRANCH يمكن فقط تنفيذ الأمر بهذا : git push origin YOUR-BRANCH ( طبعا يكون هذا بعد تسجيل المستودع البعيد في حالة إنشاء مشروع جديد . ويكون معينا افتراضيا عن طريق الـ git عند استنساخ مستودع ما . ) طبعا يمكن إعادة تعيين هذا فهو إعداد افتراضي و ليس إلزاما , عن طريق هذا الأمر : git remote rename origin something_else كما يتم تعريفه في مشروع محلي جديد كالتالي : git remote add origin git@github.com:USERNAME/REPOSITORY-NAME.git ليس بالضرورة أن يتم تخصيص branch في حالة ما كان يوجد branch واحد على المستودع البعيد , وليكن master مثلا , يكون الأمر السابق عوضا و بدلا عن الأمر التالي : git push origin master فالأمور ببساطة هي اختصارات و اصطلاحات اعتادت عليها الأوساط البرمجية لا أكثر .1 نقطة
-
في المجلد الرئيسي للمشروع نضيف ملف باسم: .gitignore ونضع بداخله أسماء المجلدات المحلية و الملفات التي لا نريد رفعها مع المشروع: node_modules/ بنفس الطريقة نضيف أي مجلد أو ملفات.1 نقطة
-
Origin هي اختصار لرابط المستودع البعيد URL، حيث بعد ربط المستودع المحلي مع الرابط الخاص بالمستودع البعيد ليس علينا أن نتذكر ما هو الرابط و أن نعيد كتابته مرارا و تكررا في كل عملية دفع بيانات أو في أي حالة ولا داع لها. مثلا لو كان رابط المتودع هكذا، ستكون قيمة origin هي نفسه: https://user@github.com/user/hello_world.git => origin ثم يمكن استخدامها لدفع الملفات للمستودع البعيد /ويمكن تمرير اسم الفرع المرغوب git push origin [master]1 نقطة
-
يمكننا معرفة المعرف الخاص بآخر عملية إضافة في MySQL باستخدام PHP كالتالي: عن طريق غرض الاتصال، حيث يحوي حقلا فيه قيمة المعرف المطلوب: $last_id = $conn->insert_id; وكمثال كامل للحشو و الاستعلام عن المعرف إليك الشيفرة البسيطة التالية: MySQLi Object-oriented <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { $last_id = $conn->insert_id; echo "New record created successfully. Last inserted ID is: " . $last_id; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> أو إن كنت لا تستخدم البرمجة غرضية التوجه: MySQLi Procedural <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if (mysqli_query($conn, $sql)) { $last_id = mysqli_insert_id($conn); echo "New record created successfully. Last inserted ID is: " . $last_id; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?>1 نقطة
-
1 نقطة