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

Mustafa Suleiman

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

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

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

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

    403

كل منشورات العضو Mustafa Suleiman

  1. ما هي اللغة المطلوبة لتنفيذ لك، بايثون أم جافاسكريبت أم PHP؟ علي أي حال بايثون ممتازة في التعامل مع البيانات وخاصًة جداول Excel وأيضًا بوجود إطار عمل مثل Flask يمكنك إنشاء موقع بسيط لتنفيذ ما تريدينه. وإليك مثال بسيط على كيفية تنفيذ هذا الأمر باستخدام Flask و pandas: from flask import Flask, render_template, request import pandas as pd app = Flask(__name__) # قم بقراءة ملف Excel وتحويله إلى DataFrame df = pd.read_excel('data.xlsx') @app.route('/') def index(): return render_template('index.html') @app.route('/search', methods=['POST']) def search(): # احصل على معايير البحث من نموذج البحث على الواجهة search_term = request.form['search_term'] # قم بالبحث في البيانات results = df[df['column_name'].str.contains(search_term, case=False)] return render_template('results.html', results=results) if __name__ == '__main__': app.run(debug=True) والرجاء استبدال 'data.xlsx' بمسار ملف Excel لديك و 'column_name' بالاسم الصحيح للعمود الذي ترغبين في البحث به. ثم يمكنك إنشاء صفحات HTML (index.html و results.html) لتصميم واجهة المستخدم وعرض النتائج على الواجهة. والأمر بسيط بمجرد تعلم أساسيات بايثون وFlask كل ما عليك هو البحث عن "كورس بايثون ثم كورس FLask" على يوتيوب. أيضًا بإمكانك البحث عن استخدام مكتبة openpyxl أو pandas على اليوتيوب. وتستطيعي التعلم من المصادر التالية أيضًا:
  2. تعلم لغة HTML أمر بسيط لكن إتقانها يحتاج إلى وقت وممارسة من خلال تنفيذ مشاريع وليس فقط مشاهدة شروحات وإنشاء صفحات بسيطة. وإذا كنت ممن يفضل التعلم من خلال فيديوهات فيمكنك البحث على اليوتيوب عن كورس HTML وستجد الكثير فاختر الشرح المناسب لك وتابع الكورس إلى نهايته. وإذا كنت تفضل القراءة أو المزيد من المعلومات فتستطيع التعلم من هنا: أساسيات لغة HTML دروس HTML في أكاديمية حسوب ويوجد دورة تطوير واجهات المستخدم في أكاديمية حسوب:
  3. في الوقت الحالي لا يوجد للأسف، لكن بالطبع ذلك ممكن في المستقبل إن شاء الله، فمؤخرًا تم إصدار كتابة خاص بتعلم جافاسكريبت وكتاب آخر لتعلم لغة C. وللأسف الكتب العربية الخاصة بتعلم PHP صدرت منذ سنوات ولا أنصح بقراءتها حاليًا بسبب صدور إصدرات حديثة من PHP وخاصًة إصدار 8. أما الكتب الإنجليزية فيوجد كم وافر منها وحديث: والكتاب التالي أنصحك في حال كنت تتعلم PHP من الصفر: PHP & MySQL: Server-side Web Development by Jon Duckett أما الكتب التالية من أجل تحسين مستواك في PHP: PHP 8: Objects, Patterns and Practice Learn PHP For the Web by Matthias Front Line PHP by Spatie Object Design Style Guide by Matthias Noback Advanced Web Application Architecture by Matthias Noback
  4. المشكلة تكمن في أنك تقوم بتعيين لغة momentjs في الكود الخاص بك، ولكن Nuxt.js يعيد تعيين اللغة إلى اللغة الافتراضية، وهي الإنجليزية، عند تحميل الصفحة. عليك باستخدام مكون nuxt-community/moment-module الذي يوفر تكاملًا أكثر كفاءة مع Nuxt.js، ولإضافة المكون إلى مشروعك، قم بتنفيذ الأمر التالي في سطر الأوامر: npm i nuxt-community/moment-module ثم أضف المكون إلى قسم modules في ملف nuxt.config.js الخاص بك: module.exports = { modules: [ // ... 'nuxt-community/moment-module', ], }; بعد ذلك، تستطيع استخدام الطريقة moment.locale() لتحديد اللغة التي تريدها. وهناك طريقة أخرى عن طريق فتح ملف nuxt.config.js وابحث عن قسم i18n ثم أضف الإعداد التالي إلى القسم: i18n: { defaultLocale: 'ar', }, وسيؤدي ذلك إلى جعل اللغة الافتراضية لـ Nuxt.js هي العربية. ويمكنك أيضًا استخدام الطريقة التالية لإعادة تعيين لغة momentjs بعد تحميل الصفحة: افتح ملف main.js وابحث عن الدالة bootstrap() ثم أضف الكود التالي إليها: import moment from "moment"; import "moment/locale/ar"; async function bootstrap() { await app.ready(); moment.locale("ar"); } مما سيؤدي إلى إعادة تعيين لغة momentjs إلى العربية بعد تحميل الصفحة.
  5. بالتأكيد وإليك الطريقة: إنشاء div إضافية لكل حقل textarea. إنشاء كائن Ace Editor لكل حقل textarea داخل div الإضافية. تحديث قيمة حقل textarea عند تغيير قيمة كائن Ace Editor المقابل. <form> <label for="editor1">Editor 1</label> <div id="editor1"></div> <textarea name="editor1" style="display: none;"></textarea> <label for="editor2">Editor 2</label> <div id="editor2"></div> <textarea name="editor2" style="display: none;"></textarea> <input type="submit" value="Submit"> </form> كود jQuery: $(function () { const editor1 = ace.edit($('textarea[name="editor1"]')); const editor2 = ace.edit($('textarea[name="editor2"]')); editor1.getSession().on('change', function () { $('textarea[name="editor1"]').val(editor1.getSession().getValue()); }); editor2.getSession().on('change', function () { $('textarea[name="editor2"]').val(editor2.getSession().getValue()); }); }); يجب تحديث قيمة حقل textarea عند تغيير قيمة كائن Ace Editor المقابل قبل إرسال النموذج وذلك باستخدام وظيفة .on('change') على كائن Ace Editor.
  6. 1- في ملف الإعدادات config/app.php عليك القيام بالتالي: افتح ملف config/app.php وابحث عن المتغير locale وقم بتغيير قيمة هذا المتغير إلى en لتغيير اللغة إلى الإنجليزية. // config/app.php 'locale' => 'en', 2- بعد تغيير قيمة المتغير locale، أعد تشغيل الموقع. 3- والآن عليك تغيير اتجاه الموقع: وسواء كنت تستخدم Bootstrap أم لا، فسيحتاج الموقع إلى تغيير اتجاهه من LTR (من اليسار إلى اليمين) إلى RTL (من اليمين إلى اليسار)، ويمكنك القيام بذلك عن طريق تغيير الخاصية dir في وسم html. <!DOCTYPE html> <html lang="en" dir="rtl"> 4- إذا قمت بترجمة النصوص في موقعك إلى العربية، فستحتاج إلى إعادة ترجمة تلك النصوص إلى الإنجليزية عن طريق تعديل ملفات الترجمة في المجلد resources/lang. وهناك بعض الملاحظات: في حال كنت تعتمد على حزمة mcamara/laravel-localization لإنشاء موقع متعدد اللغات، فستحتاج إلى تغيير قيمة المتغير defaultLocale في ملف config/localization.php إلى en. وإن كنت تستخدم قالب Bootstrap، فيمكنك أيضًا استخدام حزمة rtlcss/bootstrap-rtl لتغيير اتجاه الموقع تلقائيًا. وإليك مثال على كيفية تغيير لغة موقع لارافيل من العربية إلى الإنجليزية: // config/app.php 'locale' => 'en', // resources/lang/en/auth.php 'failed' => 'The credentials you entered do not match our records.', 'password' => 'The password you entered is incorrect.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', // resources/lang/en/app.php 'welcome' => 'Welcome to our website!', بعد تغيير تلك القيم، سيتم تغيير لغة الموقع إلى الإنجليزية. وستجد هنا المزيد من الشرح"
  7. هل تستخدم وورد بريس؟ في تلك الحالة من الأفضل استخدام إضافة مثل Yoast أو All in One SEO ثم ضبط الإعدادات الخاصة بالوصف والشعار وخلافه وسيتم ذلك بكل سهولة. أما في حال كنت تعمل على تطوير موقع Static أي من خلال HTML, CSS, JS فقط، فعليك بإضافة التالي لملف HTML داخل عنصر head. <!DOCTYPE html> <html lang="ar"> <head> <title>عنوان موقعك</title> <meta name="description" content="وصف موقعك"> <link rel="icon" href="logo.png"> </head> <body> ... </body> </html> عنصر <title>: يحدد عنوان الصفحة، وسوف يظهر في نتائج البحث. عنصر <meta name="description" content="...">: يحدد وصف الصفحة، وسوف يظهر في نتائج البحث. عنصر <link rel="icon" href="...">: يحدد رابط إلى ملف الشعار الخاص بك. دروس ومقالات عن SEO
  8. تستطيع ذلك من خلال الإعتماد على مكتبة مثل openpyxl وإليك مثال: import openpyxl # افتح ملف Excel wb = openpyxl.load_workbook("C:/data/dtset.xlsx") # احصل على ورقة العمل الأولى ws = wb.active # احصل على العمود الأول col1 = ws["A"] # استخراج أول 5 أرقام من كل خلية for cell in col1: # تأكد من أن الخلية تحتوي على أرقام فقط if cell.value.isnumeric(): # استخراج أول 5 أرقام first_five = cell.value[:5] # اطبع النتيجة print(first_five) # احفظ التغييرات في ملف جديد wb.save("C:/data/new.xlsx") والكود يعمل على إنشاء ملف Excel جديد يحتوي على ثلاثة أعمدة جديدة: العمود الأول: يحتوي على أول 5 أرقام من كل خلية في العمود الأول من الملف الأصلي. العمود الثاني: يحتوي على الأرقام من 5 إلى 10 من كل خلية في العمود الأول من الملف الأصلي. العمود الثالث: يحتوي على آخر 5 أرقام من كل خلية في العمود الأول من الملف الأصلي. وإليك شرح الكود: import openpyxl: يعمل على استيراد مكتبة openpyxl، والتي ستستخدمها لفتح ومعالجة ملف Excel. wb = openpyxl.load_workbook("C:/data/dtset.xlsx"): فتح ملف Excel الموجود في المسار المحدد. ws = wb.active: الحصول على ورقة العمل النشطة في الملف المفتوح. col1 = ws["A"]: الحصول على العمود الأول في ورقة العمل النشطة. for cell in col1: إنشاء حلقة for تتكرر على كل خلية في العمود الأول. if cell.value.isnumeric():: عبارة الشرطية للتحقق مما إذا كانت الخلية تحتوي على أرقام فقط. first_five = cell.value[:5]: استخراج أول 5 أرقام من الخلية. print(first_five): طباعة النتيجة. wb.save("C:/data/new.xlsx"): حفظ التغييرات في ملف جديد.
  9. أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل، عامًة يتم شرح الإصدار 4 من بوتستراب لكونه ما زال شائع الاستخدام في الكثير من المواقع، بعد ذلك يتم شرح الإصدار 5 واستخدامه في باقي مسارات الدورة.
  10. تفقد الأكواد الخاصة بموقع ما ليس أمر جيد في حال كنت تنوي استخدامه، وبالنسبة لحقل البحث فيمكن تنفيذ مثله من خلال CSS حيث يتم تغيير التنسيق عند وجود focus على الحقل أي الضغط عليه والبحث يتم من خلال جافاسكريبت.
  11. قمت بتجربة تصفح الكود الخاص بالموقع وظهرت نفس المشكلة، وعند الضغط على الزر الخاص بتعطيل الـ breakpoints تم حل المشكلة وقمت بإعادة تحميل الصفحة وظهر الكود بشكل سليم: وأية أخطاء تظهر لك في الكونسول هي تابعة للإعلانات وتم حجبها من خلال المتصفح. حاول تجربة الأمر مرة أخرى أو من خلال متصفح آخر لآنه لا يوجد مشكلة في تفقد الكود من خلال جوجل كروم.
  12. الأمر ليس بتلك السهولة سأتحدث معك بواقعية، فإن كان لديك تصور أنه بمجرد دفع مبلغ معين ستحقق الأرباح فذلك غير صحيح. في أي مجال في العمل الحر على الإنترنت لتحصل على ربح عليك بتعلم المهارات اللازمة وبذل الوقت والجهد وأيضًا قد تحقق خسائر وستتعلم من لفعل الأمر بشكل صحيح في المرة القادمة، وتلك هي طبيعة مجال مثل الدروب شيبنج. عليك بتعلم المهارات اللازمة لمجال الدروب شيبنج أولاً قبل الحكم على أن ذلك المجال لا يناسبك، في البداية عليك بمشاهدة سلسلة "ازاي تبدأ علي موقع تاجر للمبتدئين" لكي تفهم طبيعة الأمر. بعد ذلك يوجد على الفيسبوك مجموعة باسم Gelo Dropshipping School قم بالاشتراك بها وستجد مجموعة من المنشورات المثبتة وبها دليل يوضح لك الأمر. وأيضًا عليك تعلم الـ Media Buying وبخصوص المجالات فقد تم توضيح ذلك هنا:
  13. Django REST framework (DRF) هو إطار عمل ويب مفتوح المصدر يستند إلى Django يسمح لك بإنشاء واجهات برمجة تطبيقات RESTful. وRESTful API هي واجهة برمجة تطبيقات تتبع معايير REST (Representational State Transfer)K ,تحدد REST مجموعة من المبادئ التي يجب اتباعها عند إنشاء واجهات برمجة تطبيقات ويب. يوفر DRF مجموعة من الميزات التي تجعل من السهل إنشاء واجهات برمجة تطبيقات RESTful ، بما في ذلك: Serializers: وتسهل Serializers تحويل البيانات بين نموذج Django وتنسيقات البيانات المختلفة (مثل JSON و XML). Views: توفر وظائف أساسية مثل الإنشاء والقراءة والتحديث والحذف للعناصر في نموذج Django. Routers: تسهل إدارة URL الخاصة بواجهة برمجة التطبيقات. Authentication: يوفر DRF ميزات المصادقة المختلفة ، بما في ذلك OAuth 2.0 و Basic Authentication. Filtering: ميزات تصفية البيانات لواجهتك البرمجية للتطبيق. Pagination: ميزات تقسيم الصفحات لواجهتك البرمجية للتطبيق. أما Django فهو إطار عمل ويب كامل يوفر مجموعة واسعة من الميزات، بما في ذلك إنشاء صفحات الويب وإدارة قواعد البيانات، وDRF هو إطار عمل أقل شمولاً من Django، ولكنه يركز بشكل خاص على إنشاء واجهات برمجة تطبيقات RESTful. الفرق الرئيسي بين Django و DRF هو أن Django هو إطار عمل ويب كامل ، بينما DRF هو إطار عمل متخصص في إنشاء واجهات برمجة تطبيقات RESTful. وإذا كنت ترغب في إنشاء واجهة برمجة تطبيقات RESTful ، فإن DRF هو الخيار الأفض، وإن كنت ترغب في إنشاء تطبيق ويب كامل ، فإن Django هو الخيار الأفضل. وبعض من الأسباب التي تجعلك ترغب في استخدام Django REST framework: مفتوح المصدر وقابل للتخصيص. سهل الاستخدام وسهل التعلم. لديه مجتمع كبير ونشط. لديه دعم ممتاز للوثائق. متوافق مع Django.
  14. سيتعين عليك تخصيص ذلك من خلال CSS، حيث أن الكود يتم كتابته في داخل عنصر textarea وبالتالي تستطيع تنسيق طريقة عرض النص وهو الكود من خلال CSS. مكتبة prism توفر لك تلوين الأكواد أي عمل Highlighting وليس توفير موقع لتحرير الأكواد، أي سيتعين عليك التخصيص وبناء الموقع وفقًا لما تراه مناسبًا. إذا أردت مكتبة أحدث وقابلة للتخصيص كما تريد تستطيع استخدام CodeMirror لكن إذا كنت مبتدأ في البرمجة فقد تجد صعوبة في استخدامها. وإذا أردت الأسهل فعليك استخدام Ace Editor حيث يمكنك تضمين المكتبة مباشرًة واستخدام المحرر من خلال نسخة جاهزة كالتالي: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>ACE Code Lens demo</title> <style type="text/css" media="screen"> body { overflow: hidden; } #editor { margin: 0; position: absolute; top: 0; bottom: 0; left: 0; right: 0; } </style> </head> <body> <pre id="editor"></pre> <!-- load ace --> <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.24.2/ace.js" integrity="sha512-4gOhBb0ynE9P/pWgzXZA8AaPsS49vQpZI/AlBpUDKXH+AVZjEq6usVtcbrygkQkM0ztBvCt5AyLPZpN1Fcwnvg==" crossorigin="anonymous" referrerpolicy="no-referrer" ></script> <!-- load ace code_lens extension --> <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.24.2/ext-code_lens.min.js" integrity="sha512-81QPqjkXeCVN8i0OfBEGy3Ix+IwfmHwQ7D103quJuOs18KwgO6ra7L//1ZBU1LVMelSMweA0cAQSPAhXVa9zYQ==" crossorigin="anonymous" referrerpolicy="no-referrer" ></script> <script> var editor = ace.edit('editor'); editor.session.setMode('ace/mode/html'); var commandId = 'describeCodeLens'; editor.commands.addCommand({ name: commandId, exec: function (editor, args) { // services available in `ctx` alert('CodeLens command called with arguments ' + args); }, }); editor.commands.addCommand({ name: 'clearCodeLenses', exec: function (editor, args) { editor.setOption('enableCodeLens', false); codeLens.clear(editor.session); }, }); editor.setOption('enableCodeLens', true); codeLens.registerCodeLensProvider(editor, { provideCodeLenses: function (session, callback) { var p = [ { start: { row: 0 }, command: { id: 'clearCodeLenses', title: 'Clear all code lenses', arguments: [], }, }, ]; var l = session.getLength(); for (var row = 2; row < l; row++) { var line = session.getLine(row); var endColumn = line.length; var m = /[{>]\s*$/.exec(line); if (!m) continue; p.push({ start: { row: row, column: m.index, }, command: { id: commandId, title: 'Line ' + (row + 1), arguments: ['line', row], }, }); if (m.index < 10) continue; p.push({ start: { row: row, column: m.index, }, end: { row: row, column: m.index + 1, }, command: { id: commandId, title: 'column ' + endColumn, arguments: ['column', endColumn], }, }); if (m.index < 30) continue; p.push({ start: { row: row, column: m.index, }, command: { id: commandId, title: 'Third Link', arguments: ['3', row], }, }); } callback(null, p); }, }); window.editor = editor; window.codeLens = codeLens; </script> <!-- <script src="./show_own_source.js"></script> --> </body> </html>
  15. ما المقصود بمتغيرات أكواد بايثون وما البرنامج الذي تريد تنفيذه؟
  16. يمكنك استخدام Theme يدعم الكتابة من اليمين لليسار RTL مثل Lavender Theme والذي تستطيع تحميله من الرابط التالي: https://theme.typora.io/theme/Lavender/ وبعد تحميل الثيم توجه إلى typora ثم من خلال Preference اختر Appearance ثم Open Theme Folder ثم قم بنقل الثيم في المكان الذي سيتم توجيهك إليه. الآن قم بإعادة تشغيل typora ثم اختر الثيم من خلال تبويب Themes ليتم تفعيله.
  17. أولاً ستحتاج إلى إنشاء قاعدة بيانات لموقعك على غرار YouTube، لتخزين المعلومات الخاصة بالمستخدمين والفيديوهات والمشاهدات والإعجابات والتعليقات. أيضًأ اختيار لغة البرمجة المناسبة لتطوير الواجهة الخلفية وبعض الخيارات الشائعة تشمل Python مع إطار عمل Django أو Flask، أو Node.js مع إطار عمل مثل Express.js أو لديك لغة PHP وإطار لارافل. وكمثال على الجداول الخاصة بقاعدة البيانات: إنشاء جدول للمستخدمين: يتضمن الجدول معلومات مثل اسم المستخدم وكلمة المرور والبريد الإلكتروني وتاريخ الميلاد وصورة الملف الشخصي. إنشاء جدول للفيديو: يتضمن معلومات مثل عنوان الفيديو ووصف الفيديو وتاريخ النشر وعدد المشاهدات والتعليقات والإعجابات. إنشاء جدول للتعليقات: يتضمنمعلومات مثل عنوان التعليق ونص التعليق وتاريخ النشر واسم المستخدم. إنشاء جدول للإعجابات: يتضمن معلومات مثل عنوان الفيديو واسم المستخدم. وتستطيع استخدام أي نظام إدارة قواعد بيانات (RDBMS) لإنشاء هذه الجداول وتشمل MySQL و PostgreSQL و Microsoft SQL Server. وأنت بحاجة إلى قراءة التالي لتفهم ما الذي يحدث في الواجهة الخلفية بجانب الواجهة الأمامية للموقع:
  18. يمكن تنبيه المستخدم بواسطة الإشعارات في Node.js باستخدام طرق مختلفة، منها: Websockets: هي الطريقة الأكثر شيوعًا، حيث تقوم بإنشاء اتصال دائم بين الخادم والمستخدم، مما يتيح لك إرسال الإشعارات إلى المستخدم حتى عندما لا يكون نشطًا في التطبيق. Push notifications: هي طريقة أخرى شائعة، حيث تقوم بإرسال إشعارات إلى جهاز المستخدم حتى عندما لا يكون التطبيق مفتوحًا. Server-sent events: هي طريقة أقل شيوعًا، حيث تقوم بنشر أحداث من الخادم إلى المستخدم. في حالة استخدامك لـ Node.js و MongoDB، فبإمكانك اعتماد أي من تلك الطرق الثلاث لإنشاء إشعارات للمستخدمين. وإليك مثال لاستخدام WebSockets: // Create a WebSocket server. const server = new WebSocketServer({ port: 8080 }); // Handle new connections. server.on('connection', (connection) => { // Subscribe the user to notifications. connection.send(JSON.stringify({ type: 'subscribe', })); // Listen for notifications from the server. connection.on('message', (message) => { // Display the notification to the user. console.log(message); }); }); // Start the server. server.listen(); قمت بإنشاء WebSocket server يستمع على المنفذ 8080، وعند اتصال المستخدم، نقوم بتسجيله في الإشعارات. ثم، بتلقي الإشعارات من الخادم وعرضها على المستخدم. وإليك مثال لاستخدام Push notifications: // Import the WebPush library. const WebPush = require('web-push'); // Generate VAPID keys. const vapidKeys = generateVAPIDKeys(); // Register the user for push notifications. const subscribeURL = new URL('/subscribe', window.location); subscribeURL.searchParams.set('vapidKey', vapidKeys.publicKey); subscribeURL.searchParams.set('vapidSecret', vapidKeys.privateKey); // Subscribe the user. window.fetch(subscribeURL).then((response) => { if (response.ok) { // The user has subscribed successfully. } else { // The user has not subscribed successfully. } }); // Send a push notification to the user. const notification = { title: 'New notification', body: 'This is a new notification.', }; // Send the notification. WebPush.sendNotification(vapidKeys.publicKey, notification); نقوم أولاً باستيراد مكتبة WebPush، والتي توفر وظائف لإنشاء وإرسال إشعارات الدفع، ثم إنشاء مفاتيح VAPID، والتي ستستخدمها لإرسال الإشعارات، ثم تسجيل المستخدم للإشعارات باستخدام URL خاص. أخيرًا، نقوم بإرسال إشعار إلى المستخدم. وهنا مثال آخر لاستخدام Server-sent events: // Create a server-sent event stream. const stream = new EventSource('/events'); // Handle new events. stream.on('message', (event) => { // Display the event to the user. console.log(event); }); // Start the stream. stream.start(); يتم إنشاء server-sent event stream من URL، ثم تلقي أحداث من الخادم وعرضها على المستخدم.
  19. لأنك تستخدم Powershell والأمر الخاص بالحذف مختلف هنا وهو: Remove-Item -Recurse -Force -Path ".git" أو بإمكانك استخدام الأمر التالي في أي منفذ أوامر: git rm -r -f .git
  20. من المفترض أن يعمل معك في حال قمت بإتباع الخطوات في النقاش الذي أرفقته. وعلي أي حال إليك نموذج بسيط قمت بتنفيذه من قبل لشرح النقاش المذكور: prism-js.rar
  21. الرسالة تخبرك أن المستودع مضاف بالفعل وكل ما عليك هو الرفع push. ومن الأفضل القيام بالتالي: أولاً حذف المستودع المحلي من خلال حذف مجلد .git المخفي بالأمر التالي في منفذ الأوامر CMD: rm -rf .git بعد ذلك إنشاء المستودع من جديد ورفع المشروع من خلال الأوامر التالية: git init // ثم git add . // ثم git commit -m "first commit" // ثم git branch -M main // ثم git remote add origin https://github.com/ اسم المستخدم/repoName.git // ثم git push -u origin main
  22. أنت تُفكر بالأمر بشكل غير صحيح، عليك بتحديد العائد والهدف من وراء أي شيء تقوم بفعله، هل أنت بحاجة إلى شهادة الثانوية والحصول على درجة مرتفعة لدخول جامعة ذات مستقبل جيد؟ إذن عليك التركيز في الفترة القادمة على الدراسة من أجل ذلك، وتخصيص الوقت المتبقي لدراسة البرمجة أي ستصبح عملية تعلم البرمجة أمر ثانوي في وقت فراغك. أما إن كانت تلك الشهادة والمجموع بدون عائد جيد لك أو مستقبل تراه مناسبًا، إذن عليك بتخصيص الجزء الأكبر من وقتك لتعلم البرمجة مع توفير وقت مناسب من أجل النجاح والحصول على شهادة الثانوية ودخول جامعة للحصول على شهادة جامعية فقط. حيث أنك قد أخبرت بأن العمل يمثل أمر ضروري بعد الثانوية بالنسبة لك، لذلك الظروف الشخصية لديك هي التي ستحدد مستقبلك وعليك السعي وفقًا لذلك. أما إن كان لديك الوقت والظروف المناسبة، فعليك بالتركيز على الدراسة ودخول جامعة متعلقة بالبرمجة مثلاً ثم بدء رحلة تعلم البرمجة وتستطيع بدء ذلك مبكرًا في العطل الصيفية من أجل دراسة الأساسيات. لكن نصيحتي إليك هي ألا تنقطع عن تعلم البرمجة حاول تخصيص وقت ولو يسير من أجل كتابة الكود وتنفيذ مشروع بسيط من أجل تثبيت ما تعلمته ولكي لا تنسى وتضيع مجهودك وتعود لنقطة قريبة من البداية بعد مرحلة إنقطاع كبيرة.
  23. ما فهمته هو أنك تريدين تثبيت قاعدة بيانات Oracle ورابط التحميل الخاص بها هو التالي: https://www.oracle.com/eg/database/technologies/oracle-database-software-downloads.html حيث ستجدي رابط لتحميل Oracle Database 21c XE on Windows وهاهو الرابط مباشرًة: https://download.oracle.com/otn-pub/otn_software/db-express/OracleXE213_Win64.zip وعند التحميل سيتعين عليك إنشاء حساب في أوراكل وتسجيل الدخول ثم التحميل. بعد التحميل عليك فك الضغط عن الملف وستجدي مجلد بعد الإنتهاء من فك الضغط، بداخله يوجد ملف setup.exe قومي بالضغط عليه بزر الفأرة الأيمن ثم اختاري run as administrator. ثم اختاري next ثم Next وبعد ذلك عليك إختيار use Virtual account. بعد ذلك سيظهر لك مكان التثبيت وهو c:/App وأسفله يوجد خيار باسم Global database name وبداخله يوجد اسم قاعدة البيانات الإفتراضية وهي orcl وهي الحاوية لقواعد البيانات الأخرى وبإمكانك كتابة باسورد لها إذا أردتي. وبإمكانك إنشاء قواعد بيانات بداخلها pluggable database. ثم عليك بالضغط على next ثم install وسيتم التثبيت. وإذا أردتي شرح بالفيديو عليك بالبحث عن تنصيب اوراكل داتابيز على اليوتيوب.
  24. يمكنك الوصول إلى متغيرات URL في Django باستخدام الطريقة get_queryset() في طريقة العرض. class ArticleListView(generics.ListView): queryset = Article.objects.all() def get_queryset(self): queryset = super().get_queryset() id = self.kwargs['id'] queryset = queryset.filter(id=id) return queryset سيؤدي ذلك إلى تصفية مجموعة الاستعلام لتشمل فقط المقالة ذات معرف id. أيضًا تستطيع الوصول إلى متغيرات URL مباشرةً من طريقة العرض الخاصة بك باستخدام الطريقة kwargs(). class ArticleListView(generics.ListView): queryset = Article.objects.all() def get_queryset(self): id = self.kwargs['id'] return Article.objects.filter(id=id)
  25. أولاً عليك باستيراد الملفات المطلوبة وهي: prism.js prism.css prism-live.css prism-live.js ويمكنك استيرادها من خلال الروابط التالية: <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/themes/prism-tomorrow.min.css" /> <script src=" https://cdn.jsdelivr.net/npm/prismjs@1.29.0/prism.min.js "></script> <script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/autoloader/prism-autoloader.min.js"></script> ثم استيراد ملف prism-live.js كالتالي: <script src="prism-live.js?load=css,html,javascript"></script> حيث أن prism-live.js تعتمد على prism.js وتسمح بتلوين الأكواد داخل عنصر <textarea>. وبعد ذلك عليك بحقن الأكواد من خلال جافاسكريبت في iframe وضع له id وليكن باسم code كالتالي: <iframe id="code"></iframe> وقد شرحت الأمر بالتفصيل في سؤال من قبل عن كيفية إنشاء محرر أكواد بسيط مثل CodePen هنا: موقع محرر اكواد
×
×
  • أضف...