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

Adnane Kadri

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

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

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

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

    52

كل منشورات العضو Adnane Kadri

  1. إليك خطوات عامة يمكنك اتخاذها: تعلم أساسيات البرمجة فهم الرياضيات لأنه أمر مهم في هذا المجال، خاصة في مجالات مثل الجبر الخطي والإحصاء. يساعد هذا في فهم النماذج والخوارزميات المستخدمة وإنشاءها. تأكد من أن لديك فهم جيد لأساسيات البرمجة باستخدام لغة تستخدم في الذكاء الصناعي مثل Python، حيث تستخدم العديد من المكتبات والأدوات في مجال الذكاء الاصطناعي مثل مكتبات TensorFlow و PyTorch وKeras وغيرها. تعلم الذكاء الصناعي وتعلم الآلة انخرط في المجتمعات البرمجية المرتبطة بالمجال وتفاعل معهم طور من معارفك وزد من تطبيقك العملي. يمكنك الإطلاع على تصنيف الذكاء الصناعي في دروس ومقالات الأكاديمية: https://academy.hsoub.com/programming/artificial-intelligence/
  2. حاليا، لا أظن ذلك. ولكن يمكنك التواصل مع مركز الدعم للاستفسار أكثر.
  3. افتح console التطبيق على المتصفح وانظر ما المشكلة عند الضغط على زر الطباعة. أيضا، انتبه الى ان 10 هاهنا مثال لا أكثر، ضع مكانها معرف السطر الذي تستهدفه: <button class="btn btn-success " id="download" onclick="printPage(10)>
  4. هل تظهر أي رسالة خطأ؟
  5. كفكرة، قم بإنشاء صفحة PHP جديدة بحيث تعرض هذا السطر بشكل HTML، وضف عليها التنسيقات اللازمة وفي الأخير قم بطباعتها بوساطة جافاسكربت. مثال: ننشئ صفحة PHP جديدة، نقوم فيها بالاستعلام عن البيانات المرادة، ونقوم بعرضها فيها منسقة: // print-page.php <?php // الاتصال بقاعدة البيانات $conn = new mysqli("localhost", "اسم المستخدم", "كلمة المرور", "اسم قاعدة البيانات"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // استعلام لاسترجاع البيانات $id = $_GET['id']; $sql = "SELECT * FROM اسم_الجدول WHERE id=".$id; $result = $conn->query($sql); // إضافة البيانات إلى التقرير $html = '<h1>عنوان التقرير</h1>'; $html .= '<table border="1" cellpadding="5">'; $html .= '<tr><th>عنوان العمود1</th><th>عنوان العمود2</th><th>عنوان العمود3</th></tr>'; while ($row = $result->fetch_assoc()) { $html .= '<tr>'; $html .= '<td>' . $row['اسم_العمود1'] . '</td>'; $html .= '<td>' . $row['اسم_العمود2'] . '</td>'; $html .= '<td>' . $row['اسم_العمود3'] . '</td>'; $html .= '</tr>'; } $html .= '</table>'; $html .= '<div style="text-align:center;">تاريخ الطباعة: ' . date('Y-m-d H:i:s') . '</div>'; الآن قم باضافة الزر الى الجدول الخاص بك: <button id="download" onclick="printPage(10)"> تحميل </button> وضف حدث الطباعة على النحو التالي: function printPage(id) { // استخدام XMLHttpRequest لجلب محتوى الصفحة الخارجية var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // إنشاء نافذة جديدة تحتوي على محتوى الصفحة var printWindow = window.open('', '_blank'); printWindow.document.write(xhr.responseText); // انتظر حتى يتم تحميل الصفحة بشكل كامل ثم قم بطباعتها printWindow.onload = function() { printWindow.print(); }; } }; xhr.open('GET', '/print-page.php?id=' + id, true); xhr.send(); }
  6. ان تطوير نظام كبير ومعقد باستخدام إطار عمل لارافيل أو نود يتطلب منك قدرا عاليا من التنظيم ومهارة وخبرة في الهندسة وتطوير النظم، والتي عادة ما تشمل النقاط التالية: تحديد الهدف والمتطلبات البحث والتخطيط التوثيق الجيد لحالات الاستخدام ومخططات الحالة بناء تصاميم أولية ونماذج استعمال ادوات ذات فعالية عالية لإدارة المشروع وتتبعه على مختلف مراحله مثل Trello وغيرها من Jira استخدام تقنيات الاختبار وبناء بيئة اختبارية بالاعتماد على اطر مثل PHPunit و Laravel Dusk وغيرهما التركيز في جودة الشيفرات والعمل على تحسينها تحسين استعلامات قواعد البيانات وتسريعها التركيز على استيفاء العمل لمؤشرات الجودة المختلفة مثل قابلية التوسع والصيانة وما الى ذلك تقسيم العمل لأهداف، والأهداف لمهام والمهام لمهام اصغر مراقبة الجودة واختبار سرعة التطبيق وقد لا يمكن ذلك من أول مرة إلا بعد الكثير من الجهد والوقت من قبل شخص واحد مهما بلغت خبرته، ولذلك ركز على ما هو أهم بداية: بناء نظام قابل للصيانة وسهل التوسع. وضف عليه كل مرة حتى يصل لمستوى استيعاب ملايين المستخدمين. الشركات الكبيرة تستخدم نظما ومناهج متقدمة لإدارة مشاريعها البرمجية وتطويرها، ومثلها منهج Agile واطار عمله الشهير Scrum والذي يهتم بتطوير النظم مع التركيز الكبير على قدرتها على التكيف مع التغير والتقاط التطورات. وأيضا على توزيع مختلف المهام على مختلف اعضاء الفريق وتوجيههم للانتاج بفعالية في فترات زمنية قصيرة. عادة ما يدير هاته المشاريع في هاته الشركات شخص يتم تعيينه من قبل مالك المشروع أو المدير التنفيذي للشركة يسمى الـ Scrum master أو مدير المنتج PM أو قائد الفريق Team Leader بحسب الاصطلاح او المسمى الوظيفي، والذي يحرص على التواصل الفعال مع صاحب المشروع من جهة ومع اعضاء فريقه من جهة وعلى تقييم عملهم وتوزيع المهام عليهم من جهة أخرى. وكل هذا يكون في فترات زمنية قصيرة تسمى Sprints تمتد من اسبوع حتى أربع. ويتم في آخر هاته الـ Sprints عمل تقييم لها وهكذا ..
  7. يمكنك قصد المجتمعات البرمجية الخاصة بهاته المنصات والسؤال عن ذلك. حسوب IO مثلا.
  8. يمكنك استخدام ادوات التحليل عبر الويب لاستخلاص التقنيات المعمول بها أي موقع أو منصة، مثل builtwith، بالنسبة لأكاديمية حسوب، فيرجح أنه تم استعمال اطار عمل Ruby on Rails المكتوب بلغة Ruby. أما بالنسبة لموقع مستقل وزيتون وخمسات وبعيد فهي على الأرجح مبنية بإطار عمل Laravel المكتوب بلغة PHP. ونفس الشيء بالنسبة لموقع بيكاليكا. أما عن الربط بين هاته المواقع، فهو بطبيعة الحال بوساطة الواجهات البرمجية API التي تسهل التخاطب بين التطبيق وبين أي طرف آخر، بما في ذلك تطبيقات أخرى. ولذلك نرى أن موقع حسابات حسوب يتركز عملية توثيق المستخدمين ومصادقتهم في كامل منتجات حسوب.
  9. تأكد أولا من تثبيت بوتستراب في مشروعك: npm install bootstrap ثم قم بتضمين مختلف الملفات المصدرية في ملفي app.js و app.scss أو app.css ان كنت تريد استخدام css: import * as bootstrap from 'bootstrap'; و: @import "node_modules/bootstrap/scss/bootstrap"; أو: @import "node_modules/bootstrap/dist/css/bootstrap.min.css";
  10. بشكل افتراضي لن يتم ذلك على مستوى قاعدة البيانات، ولكن يمكنك تجاوز التابع delete الخاص بـ post أو video فتقوم بحذف جميع التعليقات الفرعية قبل حذف المنشور أو الفيديو. public function delete() { if(parent::delete())){ $this->comments()->delete(); } }
  11. علاقة One Two Many Polymorphic تقتضي أن يكون العمود الممثل للمفتاح الاجنبي حاملا لقيمته لا أكثر، ولا يتطلبك تصريحه كمفتاح أجنبي يشير الى مفتاح اولي في جدول آخر. بمعنى أنه سيكون مجرد Ineteger لا أكثر ولا يفترض أن يحمل أن علاقة تعبر عنه كونه مفتاحا أجنبيا، بل سيتم الاستعلام عنه لاحقا باعتبار هاته القيمة وفقط. هيكلة الجداول لديك يجب أن تبدوا على النحو التالي: Schema::create('comments', function (Blueprint $table) { $table->id(); $table->text("comments"); $table->integer('commentable_id'); $table->string("commentable_type"); $table->timestamps(); }); ولا تنسى بطبيعة الحال تصريح التوابع اللازمة في ملفات النماذج المعنية Comment و Video و Post وسيتم الأمر بشكل تلقائي.
  12. تحتاج ترتيب الأمور قليلا، PHPMyAdmin هو نظام تحكم مكتوب بلغة PHP لإدارة قواعد البيانات MySQL في واجهة تفاعلية، وهي واحدة من أكثر النظم الإدارية شيوعا في MySQL. الآن، إدارة موقع وربطه لا تكون من على PHPMyAdmin. بل هي آداة تعنى بإدارة قواعد البيانات التي سوف يبنى عليها هذا الموقع، وذلك من حذف وتعديل وقراءة وتنفيذ استعلامات والقيام بعمليات على قواعد البيانات وما الى ذلك. سبب الارتباط بلغة PHP هو بسبب أن النظام يستخدم حصرا لإدارة قواعد MySQL والتي شائع استخدامها في PHP. هذا بجانب أن النظام أساسا مكتوب على لغة PHP. وكما أنه قد تم تسويق هذا النظام ضمن تجميعات مثل XAMPP و LAMPP و WAMPP الشائع استخدامها في تطويرر تطبيقات الويب باستخدام PHP.
  13. بالطبع توجد، يمكنك التوصل الى الكثير من المسارات التي تشرح تطوير الويب من جانب الخادم فقط والتي لا تتعرض لتطبيق العميل نهائيا. أولا، سوف تحتاج الإطلاع على مبادئ الويب وكيفية عمله ومختلف البروتوكولات وما الى ذلك. ثانيا، سوف تحتاج الاختيار من بين اللغات الناشطة في مجال الواجهة الخلفية، ثم قم بأخذ دروس فيها. لاحقا، سوف تحتاج المزيد من الدروس التطبيقية أو الاطلاع على توثيقات اللغات واطر العمل التي تعمل بها لاستيفاء هذا الغرض. بالنسبة لمصادر الفيديو على YouTube، يمكنك البحث عن دورات أو قنوات تقدم محتوى عالي الجودة حول تطوير الواجهة الخلفية باستخدام اللغة التي اخترتها، نذكر مثلا Traversy Media, The Net Ninja, Academind وغيرها الكثير. أيضا، يمكنك الاستفادة من المحتوى المكتوب المنشور على أكاديمية حسوب في قسم دروس ومقالات البرمجة.
  14. يعتمد هذا على متطلبات الموقع الذي تريد بناءه. فهل سيكون المحتوى الذي فيه ثابتا أو ديناميكيا؟ هل تعمد الى توظيف أي تكنولوجيات أو تقنيات معينة؟ هل سيكون موقعا ذي واجهتين -أمامية وخلفية-؟ هل ستعمد الى استعمال أي أدوات متقدمة؟ ولذلك، فإنك ستحتاج كأقل متطلبات كلا من: HTML CSS JAVASCRIPT بناء واجهة موقع، أو موقع الكتروني ذي محتوى ثابت. وللقيام بذلك بشكل أعلى احترافية، سوف تحتاج أيضا: محزم ويب مثل webpack sass pug إطار عمل او مكتبة على جافاسكربت مثل VueJS أو رياكت وغيرها .. أما ان كنت تنوي بناء موقع ويب شامل بواجهتيه الخلفية والأمامية، فستحتاج بجانب السابق: لغة للواجهة الخلفية مثل PHP أو Python غالبا ما تحتاج أيضا اطار عمل مثل Laravel أو Django التعامل مع قواعد البيانات بلغة SQL ونظم ادارتها مثل MySql
  15. بحسب الموقع الرسمي للمكتبة، فإنه يتطلب: اصدار 3.1 حتى 3.8 من بايثون مثبتا توزيعة 16.04 من اوبنتو فأكثر في حالة ما كنت تستخدمه اصدار 10 من ماك OS في حال كنت تستخدمه اصدار 7 من ويندوز فأكثر في حال كنت تستخدمه - مع موزعات Microsoft Visual C++ أما بالنسبة للعتاد، فستكون ذاكرة تخزينة عشوائية اضافية مطلوبة في حال ما كانت النماذج التي تعمل عليها كبيرة، نفس الشيء بالنسبة لمساحة التخزين - عدا ذلك ستكفيك متطلبات محدودة في حال ما كانت النماذج التي ستعمل عليها محدودة أو للتعلم والتدريب فقط.
  16. طيب، حاول تثبيت حزمة vite بشكل global: npm install -g create-vite نفذ الأمر npm run dev مجددا، هل نجح الأمر؟
  17. يفترض أن يكون ذلك، ولكن في حال ما لم يكن سيتعين علينا تثبيته بطبيعة الحال.
  18. يرجح ان vite غير مثبت لديك أساسا، ولذلك يتعذر الوصول إليه. تأكد من تنفيذ الأمر: npm install vite ثم أعد تنفيذ الأمر: npm run dev وفي حالة مواجهة أي مشكلة في تثبيت اعتماديات نود عن طريق تننفيذ الأمر: npm install جرب جبر التثبيت عن طريق اضافة الخيار force--: npm install --force
  19. متصفحات الويب مهيئة لفهم وتفسير HTML و CSS وجافاسكربت مباشرة دون الحاجة إلى تحويلهما إلى XML فهي لغة تمثيل للصفحات الويب والعناصر التفاعلية. العلاقة بين HTML و XML تكمن في أن كلاهما يعتمد على تركيبة مماثلة، حيث تتكون من عناصر وسموم وخصائص. ومع ذلك، يختلف الغرض الرئيسي والاستخدام بين الاثنين.فـ XML هو لغة وسوم عامة تستخدم لتمثيل البيانات بطريقة قابلة للتوسيع. يمكن استخدام XML لتمثيل بيانات هيكلية في سياقات مختلفة وليس فقط لتصميم صفحات الويب. فمتصفحات الويب تحتوي ملحقات تسمى Rendering engines او محركات التصيير والتي تهتم بتفسير الهياكل وضبط الأنساق وما نحوها .. فالأكواد يتم تحليلها باستخدام HTML Parser و CSS Parser الى قواعد عامة وتجميعات أكواد ثم يقوم ببناء شجرة DOM وضم القواعد اليها وعرض الناتج بشكل رسومي.
  20. نعم يمكن ذلك بطبيعة الحال، ولكن الفكرة غير سلسة وغير عملية أصلا. لا يقترح البتة العمل على مشروع في بيئة انتاجية. زيادة عن الميزات التي يمكن ايجادها في بيئة التطوير المحلية والتي تختصر عملية التطوير كثيرا، فبدل شهرين على بيئة انتاجية يمكنك القيام بالأمر في اسبوع على بيئة تطوير محلية، في محرر اكواد او في بيئة تطوير مدمجة مع ملحقات تسهل العملية.
  21. الأمر يتحكم فيه خطة الاستضافة التي تشترك بها. ولكن عموما، هاته الاستضافات غالبا ما تأتي مع كل شيء معد فيها بالفعل، فهي نظم على توزيعات ونظم لينكس بحيث تأتي بدعم شامل لـ PHP و Apache وملحقاتهما، ولذلك فإنك لن تحتاج تثبيت أي شيء ويمكنك البدء مباشرة. نفس الشيء بالنسبة للتطبيقات على لارافيل، سوف لن تحتاج إلا المعد مسبقا على الاستضافة لنشر تطبيقك بشكل عادي. قد يكون عليك إعداد خادم Apache واصدارات PHP وما الى ذلك في حال اخترت خطة ضمن خطط VPS عالية التخصيص. أما خطط الاستضافات المشتركة فهي معدة لمثل هاته الأشياء بالفعل. بالنسبة لتطبيقات لارافيل، فغالبا ما تمر بالمراحل التالية لرفعها ونشرها على الاستضافة: رفع ملفات التطبيق باستخدام مدير الملفات او FTP. اعداد ملف متغيرات البيئة env. وإعداد قواعد البيانات. تهجير قواعد البيانات اما بتنفيذ الأمر php artisan migrate:fresh في حال ما كان يتوفر لديك وصول ssh أو تضمين ملف قواعد البيانات في phpMyAdmin التي غالبا ما تكون متوفرة كملحقة في هاته الاستضافات. تكوين الوصلة الرمزية الخاصة بالملفات عن طريق الأمر php artisan storage:link او اي طريقة مكافئة. ربط الدومين.
  22. زيادة الى ما اشار إليه عبدالباسط، فإن أغلب المترددين على المجال لا يهتمون به بادئ الأمر الا فضولا ولا ينظرون له ضمن هدف بعيد المدى، هذا بجانب عدم اهتمامهم بتطوير مهارات كالالتزام والصبر وطول النفس. هذا بجانب أن الدافع والحافز للاستمرار قد يتأخر قليلا مما يجعل المهتمين بالمجال يفكرون في اختيار مجال آخر. عموما، يمكن تلخيص هاته الأسباب في: صعوبة البداية. كثرة المصادر التعليمية والاحساس بالتشتت. عدم امتلاك رؤية واضحة وهدف. تغير اهتمامات واهواء الناس. نقص التحفيز أو تأخره.
  23. الأمر سيان، استعن بذات الارشادات السابقة. قم بتحديد الصفين ثم قم بعمل التصفية بحسب القيم مثلما هو مشار إليه في التعليق السابق.
  24. عموما، فيما يلي بعض الخطوات التي قد يمكنك اعتمادها لتحسين آداء الموقع وزيادة قدرته على التحمل: استعن بمطور واجهات خلفية لتحسين استعلامات قواعد البيانات. تأكد من أن تكون الكاشات مفعلة بشكل فعّال، خاصة في الصفحات والموارد المكرر طلبها. وافحص إعدادات وإعادة تكوينات الكاش لضمان أنها مُهيأة بشكل صحيح. قم بضغط الصور وملفات الوسائط لتقليل حجم الصفحة واستخدم فكرة التحميل البطيئ Lazy loading للتعامل معها. استخدم Content Delivery Network (CDN) لتحسين تحميل الملفات من مواقع أقرب إلى الزوار. قم بضغط وتقليل ملفات CSS و JavaScript. قم بتحميل الملفات غير الضرورية بعد التحميل الأولي للصفحة (هي نفسها تقريبا فكرة Lazy loading). استخدم Nginx أو Apache بإعدادات محسنة. قم بتقييم حجم صفحات الموقع والتأكد من أن الصفحات لا تحتوي على موارد غير ضرورية مثل: صور غير معروضة أو ملفات غير لازمة.
  25. مرحبا نبراس، يمكنك استعمال ميزة التصفية في اسكل للقيام بهاته المهمة، لنفترض أن لديك البيانات في النطاق A1:C50. حيث أن الأعمدة A و B تحتوي على الأبنية والأقسام، والعمود C يحتوي على الأجهزة. الآن لتحديد تلك التي لا نريد ظهورها نقم بالتالي: انقر على أي خلية ضمن نطاق البيانات (مثل A1). انقر على "تصفية" في علامة التبويب "بيانات" في شريط القوائم. انقر على السهم في رأس العمود A وحدد البنية المطلوبة. انقر على السهم في رأس العمود B وحدد القسم المطلوب. انقر على السهم في رأس العمود C. اختر "تصفية بحسب القيم" وستظهر نافذة. في نافذة التصفية، قم بإزالة التحديد عن القيم التي لا تريد ظهورها (مثل "0"). انقر على "موافق". سيقوم Excel بتحديث الجدول ليعرض فقط الصفوف التي تحتوي على الأجهزة التي تم تركيبها في البنية والقسم المحددين. @نبراس يوسف
×
×
  • أضف...