محمد صقر3

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

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

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

السُّمعة بالموقع

30 Excellent
  1. يمكن تغير قمية المتغير NODE_ENV من ملف package.json كالتالي لو نظام التشغيل ويندوز "scripts": { "start-prod": "SET NODE_ENV=production & node index.js", "start-dev": "SET NODE_ENV=development & node index.js" }, لو نظام التشغيل لينكس "scripts": { "start-prod": "NODE_ENV=production & node index.js", "start-dev": "NODE_ENV=development & node index.js" }, ثم لتشغيل في ال production npm run start-prod او في development mode npm run start-dev
  2. لأستخدم environment variables تحتاج لتسطيب dotenv package npm install dotenv --save ثم تقوم بالوصل إلي المتغيرات داخل ملف .env كالتالي // تقوم بإستدعاء dotenv package require('dotenv').config(); // ثم للحصول قيمة ال port const PORT = process.env.PORT // 3000 بفرض ان ملف .env يحتوي علي PORT // .env file conten PORT=3000
  3. لأنه دائما قيمة ال modal تاخد اول قيمه تحتاج عند الضغط علي زر المزيد تقوم بتمرير بيانات الصف اللي تم الضغط عليه مع هذا الرابط وباستخدام الجافا سكربيت او JQuery تقوم بالحصول علي القيم الخاصه بهذا الصف وتحديث قيم ال modal هل تستخدم ملفات جافاسكربت للقيم بهذه الوظيفه يمكنك إضافتها مع الكود لمعرفة الخطاء وإذا ما بتستخدم تحتاج تضيف هذا الشيء هنا تقوم بتمرير الداتا الخاصه بكل صف مع زرار المزيد //الجدول echo' <tr class="table-light" align="center"> <th scope="row">' . $row['id'] . '</th> <td >' . $row['facory'] . '</td> <td>' . $supplying_data . '</td> <td align="center"> // هنا تقوم بتمرير factory, id, supllying_data مع هذا الرابط <button class="btn btn-outline-primary m-auto mt-2 more" data-factory="<?php echo $row['facory']; ?>" data-id="<?php echo $row['id']; ?>" data-supllying="<?php echo $supplying_data; ?>" data-toggle="modal" data-target="#more">عرض المزيد</button> <!-- زر التعديل --> <a href="edit_supplier.php?id=' . $row['id'] . '" target="_blank"></a> <button type="button" class="btn btn-primary">تعديل</button> <!-- زر الحذف --> <button type="button" class="btn btn-danger">حذف</button> </td> </tr>'; } ?> ثم تقوم باستخدام JQuery لتحديث قيم العناصر في ال modal بعد اعطاء id للعناصر ال modal <th class="text-center" id="factory"> <?php echo $factory; ?> </th> supplying data <div class="dropdown" id="suplying-data"> <?php echo $supplying_data; ?> </div> $(document).on("click", ".more", function (e) { e.preventDefault(); var that = $(this); const factory = that.data('factory'); const suplying = that.data('suplying'); $("#factory").val(factory); $("#suplying-data").val(suplying); $(that.attr('href')).modal('show'); });
  4. العدد الزوجي هو العدد باقي قيسمته علي 2 يساوي صفر 6 % 2 باقي القسمه يساوي 0 وهي 6 / 2 = 3 وباقي القسمه صفر 7 % 2 باقي القسمه يساوي 1 وهي 7 / 2 = 3 وباقي القسمه 1 لان 2 * 3 = 6 مش 7 #include <iostream> using namespace std; // تعريف طول وعرض المصفوفات كثوابت #define WIDTH 3 #define HEIGHT 3 int main() { // تعريف مصفوفه بقيم مختلفه int SweetArray[WIDTH][HEIGHT] = { {1,2,3}, {4,5,6}, {7,8,9} }; // طباعة الاعداد الزوجيه cout<<"Even Numbers:\n"; for(int i = 0; i < WIDTH; i++) for(int j = 0; j < HEIGHT; j++) // العدد زوجي إذا كان باقي قيسمته علي 2 يساوي صفر // 6 % 2 = 0 زوجي // 7 % 2 = 1 فردي if(SweetArray[i][j] % 2 ==0) cout<<SweetArray[i][j]<< " "; cout<<"\n"; return 0; }
  5. اعتقد ماعملت استخدام ل namespace وفي هذه الحاله بتستخدمي std::cout مش cout علي طول او تستخدمي std namespace #include <iostream> using namespace std; لو ممكن صوره كامله للكود
  6. لجمع اكتر من martix وحسب المتوسط لابد أن يكون لهم جميعا نفس الطول و العرض هذا مثلا لجمع 5 مصفوفات 2 * 2 وحساب المتوسط في مصفوفه جديده 2 * 2 #include <iostream> using namespace std; // تعريف طول وعرض المصفوفات كثوابت #define WIDTH 2 #define HEIGHT 2 int main() { // تعريف خمس مصفوفات بقيم مختلفه int arr1[WIDTH][HEIGHT] = {{1,2}, {3,4}}; int arr2[WIDTH][HEIGHT] = {{6,3}, {4,5}}; int arr3[WIDTH][HEIGHT] = {{4,2}, {8,4}}; int arr4[WIDTH][HEIGHT] = {{10,12}, {13,14}}; int arr5[WIDTH][HEIGHT] = {{2,5}, {22,20}}; int result[WIDTH][HEIGHT] = {}; // حساب المتوسط مجموع كل عنصر علي ما يقابله في المصفوفات الاخري مقسوم بعدد المصفوفات // (arr1[0][0] + arr2[0][0] + arr3[0][0] + arr4[0][0] + arr5[0][0]) / 5 => 4 for(int i = 0; i < WIDTH; i++) for(int j = 0; j < HEIGHT; j++) result[i][j] = (arr1[i][j] + arr2[i][j] + arr3[i][j] + arr4[i][j] + arr5[i][j]) / 5; // طباعة مصفوفة النتيجه cout<<"Result: \n"; for(int i = 0; i < WIDTH; i++){ for(int j = 0; j < HEIGHT; j++) { cout<<result[i][j]<<" "; } cout<<"\n"; } return 0; } الناتج: Result: 4 4 10 9
  7. ممكن تراجعي العدد علي طول نعد عدد ال rows اللي بتحتوي الكود المعين إذا ما بنحتاج نستخدم ال codes في حاجه تانيه // نستخدم دالة ال count $query="SELECT count(code) FROM types WHERE code =:$code "; $query_res=$conn->query($query); // نستخدم دالة fetchColumn // بترجع string -> cast to int $count= (int) $query_res->fetchColumn();
  8. #include <iostream> using namespace std; // نقوم بتعريف ثوابط بطول وعرض المصفوفه #define WIDTH 5 #define HIGHT 3 int main() { // 2D Matrix نعرف المصفوفه ونعطيها ارقام عشوائيه float SweetClass[WIDTH][HIGHT] = { {1, 2, 3.0}, {6, 7, 8.20}, {11, 12, 13}, {10.2, 5, 3.2}, {12, 1.2, 5.6} }; // 1D matrix نعرف مصفوفه بقيمه فارغه float MTRX[WIDTH * HIGHT] = {}; // نقوم بدوران حول المصفوفه طول وعرض ووضع القيمه في مصفوفة النتيجه for(int i = 0; i < WIDTH; i++) for(int j = 0; j < HIGHT; j++) // نقوم بحساب مكان العنصر في مصفوفة النتيجه كالاتي i * HIGHT + j // 0 * 3 + 0 = 0; 0 * 3 + 1 = 1; 0 * 3 + 2 = 2 // 1 * 3 + 0 = 3; 1 * 3 + 1 = 4; 1 * 3 + 2 = 5 MTRX[i * HIGHT + j] = SweetClass[i][j]; // نقوم بطباعة مصفوفة النتيجه for(int i = 0; i < WIDTH * HIGHT; i++) cout<<MTRX[i]<<" "; cout<<"\n"; return 0; }
  9. يمكن أن تستخدم Laravel API Resource لإنشاء resource ويتم إنشاء ملف ExampleResource داخل مجلد app\Http\Resources php artisan make:resource ExampleResource افتح الملف وقم بعمل التعديل المطلوب <?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; class ExampleResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { return [ "id": $this->id, "name": $this->name, "age": $this->age, "type": ($this->type == 0) ? "admin" : "user" ]; } } ثم تقوم بتمرير ال object or collection ل resource // في حالة عنصر واحد return new ExampleResource(Example::findOrFail($id)); // في حالة اكتر من عنصر return ExampleResource::collection(Example::all();
  10. // تسطيب حزمة ال ui composer require laravel/ui --dev php artisan ui vue --auth // install and compile node modules dependency npm install npm run dev البديل هو تسطيب حزمة ال laravel/ui
  11. ما عندي علم إذا متوفر بالعربي أو لا بس كل الفكره أن الكتب تستغرق وقت طويل لكي يتم نشر كتاب جديد وترجمته للعربي تستغرق وقت ومع تطوير السريع للتكنولوجيا وجود كتاب بأحدث الاصدرات سيتغرق وقت يمكنك مشاهدة الدورة ثم بعد ذلك الإطلاع علي المزيد من المصادر التابعه دائما ما تحدث قبل أي أصدار جديد هنا هذا لا يغني عن قراء الكتب والتي تكون مفصله اكتر وتزيد فهمك للموضوع المراد سواء كانت كتب لارفال أو غيرها
  12. يحتوي الكود علي مجموعة أخطاء سأوضح لك وسأضع الكود الصحيح كامل بعد توضيح الأخطاء نوع الداتا اللي بترجعها الداله هو string وليس int والثاني هو لكي تسطيع الكتابه في مصفوفة ال outputArray لا يجب أن تكون const ماتحتاج ل const int arrayConvert(int inputArray[], const char outputArray[], int size) تعمل check علي عنصر في المصفوفه inputArray[i] ما علي المصفوفه ككل if ((inputArray >= 0) && (inputArray < 128)) ماتحتاج إلي for loop إذا القيمه ما صحيح ضع علامة ال . داخل ال outputArray مباشرة for (int i = 0; i< size; i++) outputArray[i] = '.'; break; هنا جملة ال return "valid" او return "invalid بتنهي الدالة ما هيوصل في تنفيذ الكود إلي جملة ال return outputArray التي تليها الأمر الثاني ماتحتاج تعمل return outputArray لأنها array وبتكون في الدالة ب passed by refrence وبالتالي عند أستدعاء الداله وإعطاءها outputArray ستقوم c++ بوضع الناتج داخل المصفوفه التي قمت بإعطاءه للداله if (validity) return "Valid"; return outputArray[]; else return "Invalid"; return outputArray[]; الكود بعد تعديل مجموعة الأخطاء #include <iostream> using namespace std; #define SIZE 5 string arrayConvert(int inputArray[], char outputArray[], int size) { bool validity = true; for (int i = 0; i< size; i++){ if ((inputArray[i] >= 0) && (inputArray[i] < 128)) outputArray[i] = (char)inputArray[i]; else{ validity = false; outputArray[i] = '.'; } } if (validity) return "Valid"; else return "Invalid"; } int main() { int inputArray[SIZE] = {109,110,200,118,230}; char outputArray[SIZE]; string result = arrayConvert(inputArray, outputArray, SIZE); cout<<"outputArray: "; for(int i = 0; i < SIZE; i++) cout<<outputArray[i]<<" "; cout<<"\nResult is " << result <<"\n"; return 0; }
  13. #include <iostream> using namespace std; // نعرف ثابت من 50عنصر #define SIZE 50 int main() { // نعرف مصفوفه للعناصر بمقدار الثابت أي 50 عنصر int arr[SIZE]; // نعرف متغيرين بقيمه افتراضيه صفر لعد عدد العناصر الأكبر من الصفر والأصغر int negativeNumbers=0, positiveNumbers = 0; // نقوم بإدخال العناصر في المصفوفه بإستخدم ال for loop for(int i = 0; i < SIZE; i++) { cin>>arr[i]; } // نقوم بالدوارن علي عناصر المصفوفه وحساب ما إذا كان العدد أكبر من الصفر أو أصغر for(int i = 0; i< SIZE; i++) { // الاعداد السالبه الأقل من الصفر // negativeNumbers = negativeNumbers + (arr[i] < 0) // إذا كان العدد أقل من الصفر تكون قيمة هذا الجزء 1 ويضيف قيمته إلي negativeNumbers // وإذا كانت صفر لن توثر علي قيمة المتغر عند جمعه // مثلا إذا قيمة arr[i] = 5 // negativeNumbers = negativeNumbers + (5 < 0) = 0 // negativeNumbers = negativeNumbers + 0 // positiveNumbers = positiveNumbers + (5 > 0) = 1 // positiveNumbers = positiveNumbers + 1 negativeNumbers += (arr[i] < 0); positiveNumbers += (arr[i] > 0); } // نطبع عدد الاعداد الموجبه والسالبه cout<<"negativeNumbers count: " << negativeNumbers <<"\n"; cout<<"positiveNumbers count: " << positiveNumbers <<"\n"; return 0; } ويمكن تنفيذ الجزء الخاص بمعرفة عدد الأعداد الأكبر والأصغر من الصفر بأستخدم if condtions for(int i = 0; i< SIZE; i++) { // إذا قمية العنصر أكبر من الصفر نزيد قمية positiveNumbers بمقدار واحد if(arr[i] > 0) positiveNumbers++; // وإذا كان قمية العنصر أقل من الصفر نزيد قمية ال negativeNumbers بمقدار واحد else if(arr[i] < 0) negativeNumbers++; }
  14. للحصول علي أكبر الأعضاء يمكنك ترتيب الأعضاء من الأكبر إلي الأصغر والحصول علي أول عضو للحصول علي أصغر الأعضاء يمكنك ترتيب الأعضاء من الأصغر إلي الأكبر والحصول علي أول عضو // أكبر الأعضاء SELECT column_name_1, column_name_2, ..., column_name_n FROM table_name WHERE condition_expression ORDER BY birth DESC; LIMIT 1 // أصغر الأعضاء SELECT column_name_1, column_name_2, ..., column_name_n FROM table_name WHERE condition_expression ORDER BY birth ASC; LIMIT 1
  15. يمكنك إضافة ال middlewares داخل constructor in controller // إضافة auth to index route only $this->middleware('auth', ['only' => ['index']]); // إضافة edit_invoice for edit invoide $this->middleware('edit_invoice', ['only' => ['edit', 'update']]);