لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/02/23 في كل الموقع
-
انا اتعلمت في ال back end : node js express mongodb واتعلمت حجات تانيه زي : dotenv, bodyparser ومكاتب تانيه المفروض اتعلم ايه دلوقتي2 نقاط
-
دلوقتي انا عملت صفحة html و css المشكلة اني كل ما اخش الصفحة و انسخ الرابط عشان اشغلها في جهاز تاني مش بيرضى مش بيجبلي رابط أساسا للدخول لي موقع فا ايه حل لمشكلة دي2 نقاط
-
إذا كان السؤال متعلق بدورة بايثون فأرجو منك طرحه أسفل فيديو الدورة، وإذا كان غير ذلك، فإليك الشرح: سأفترض أنك تستخدم SQLite كقاعدة بيانات وتستخدم Flask-WTF لإنشاء النماذج. خطوة 1: إنشاء نموذج HTML ستحتاج إلى إنشاء نموذج HTML لإدخال البريد الإلكتروني وكلمة المرور الجديدة. وهنا مثال بسيط لنموذج إعادة تعيين كلمة المرور: <!-- reset_password.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Reset Password</title> </head> <body> <h1>Reset Password</h1> <form method="POST"> {{ form.hidden_tag() }} <p> {{ form.email.label }}<br> {{ form.email(size=30) }} </p> <p> {{ form.new_password.label }}<br> {{ form.new_password(size=30) }} </p> <p> {{ form.confirm_password.label }}<br> {{ form.confirm_password(size=30) }} </p> <p>{{ form.submit() }}</p> </form> </body> </html> خطوة 2: إضافة مسار جديد إلى التطبيق Flask يجب أن تقوم بإنشاء مسار جديد لإعادة تعيين كلمة المرور، وتستطيع ذلك باستخدام الديكوريتور @app.route كما يلي: # app.py from flask import Flask, render_template, request, flash, redirect, url_for from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.validators import DataRequired, Email, EqualTo from werkzeug.security import generate_password_hash, check_password_hash import sqlite3 app = Flask(__name__) app.secret_key = 'secret' # Define a FlaskForm for password reset class PasswordResetForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) new_password = PasswordField('New Password', validators=[DataRequired()]) confirm_password = PasswordField('Confirm Password', validators=[DataRequired(), EqualTo('new_password')]) submit = SubmitField('Reset Password') @app.route('/reset_password', methods=['GET', 'POST']) def reset_password(): form = PasswordResetForm() if form.validate_on_submit(): # Check if the email address exists in the database conn = sqlite3.connect('database.db') cursor = conn.cursor() cursor.execute('SELECT * FROM users WHERE email = ?', (form.email.data,)) user = cursor.fetchone() conn.close() if user: # Update the user's password hash in the database conn = sqlite3.connect('database.db') cursor = conn.cursor() password_hash = generate_password_hash(form.new_password.data) cursor.execute('UPDATE users SET password_hash = ? WHERE email = ?', (password_hash, form.email.data)) conn.commit() conn.close() flash('Password reset successful', 'success') return redirect(url_for('login')) else: flash('Email address not found', 'error') return render_template('reset_password.html', form=form) خطوة 3: إضافة رابط HTML الخاص بإعادة تعيين كلمة المرور عليك أن تقوم بإنشاء رابط HTML الخاص بإعادة تعيين كلمة المرور وإضافته إلى واجهة المستخدم الخاصة بنا. مثال بسيط لإضافة الرابط: <!-- login.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login</title> </head> <body> <h1>Login</h1> {% with messages = get_flashed_messages() %} {% if messages %} <ul class="flashes"> {% for message in messages %} <li>{{ message }}</li> {% endfor %} </ul> {% endif %} {% endwith %} <form method="POST"> {{ form.hidden_tag() }} <p> {{ form.email.label }}<br> {{ form.email(size=30) }} </p> <p> {{ form.password.label }}<br> {{ form.password(size=30) }} </p> <p>{{ form.submit() }} <a href="{{ url_for('reset_password') }}">Forgot password?</a></p> </form> </body> </html> هنا نضيف رابطًا جديدًا باستخدام url_for('reset_password')، وهذا سيقوم بتوليد رابط URL لمسار إعادة تعيين كلمة المرور الذي قمنا بإنشائه في الخطوة 2. خطوة 4: إضافة قالب HTML لصفحة إعادة تعيين كلمة المرور نحتاج أيضًا إلى إنشاء قالب HTML جديد لصفحة إعادة تعيين كلمة المرور، ويجب أن يحتوي هذا القالب على نموذج يسمح للمستخدم بإدخال بريده الإلكتروني وكلمة المرور الجديدة. إليك مثال بسيط على كيفية إنشاء قالب HTML لصفحة إعادة تعيين كلمة المرور: <!-- reset_password.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Reset Password</title> </head> <body> <h1>Reset Password</h1> {% with messages = get_flashed_messages() %} {% if messages %} <ul class="flashes"> {% for message in messages %} <li>{{ message }}</li> {% endfor %} </ul> {% endif %} {% endwith %} <form method="POST"> {{ form.hidden_tag() }} <p> {{ form.email.label }}<br> {{ form.email(size=30) }} </p> <p> {{ form.new_password.label }}<br> {{ form.new_password(size=30) }} </p> <p>{{ form.submit() }}</p> </form> </body> </html> في الكود السابق، يتم استخدام نموذج FlaskForm الذي تم إنشاؤه في الخطوة 3 لإنشاء حقول البريد الإلكتروني وكلمة المرور الجديدة، وعند الضغط على الزر "إرسال" ، سيتم إرسال النموذج إلى مسار Flask الذي قمنا بإنشائه في الخطوة 2.2 نقاط
-
نعم أكاديمة حسوب سوف تضعك على بداية الطريق في تعلم البرمجة وخصوصاً دورة علوم الحاسوب ولكن يجب أن تجتهد على نفسك أكثر ،وأن تكون مستعدًا للاستثمار في الوقت والجهد اللازمين لتحقيق أهدافك التعليمية. يجب عليك الإجتهاد على نفسك بالممارسة والتطبيق كل ما تتعلمه وتدوينه ولا يوجد مشكلة في حال قمت باكتساب معلومة جديدة وقمت بالبحث عنها على الإنترنت. وهناك موسوعة حسوب يمكنك الإستفادة منها في إكتساب خبرة برمجية تساعدك في مرحلتك التعليمية . كمان أن أكاديمية حسوب تحتوي على الكثير من الأشياء التي يمكن الإستفادة منها :- أولاً دورات أكاديمية حسوب بحيث يتوفر في الأكاديمية سبع دورات وهي دورة إدارة تطوير المنتجات دورة علوم الحاسوب دورة تطوير واجهات المستخدم دورة تطوير التطبيقات باستخدام لغة Python دورة تطوير التطبيقات باستخدام لغة JavaScript دورة تطوير تطبيقات الويب باستخدام لغة PHP دورة تطوير تطبيقات الويب باستخدام لغة Ruby وأيضاً يمكنك الإستفادة من الدروس والمقالات التي في الكاديمية بحيث يتواجد الكثير من الأقسام البرمجة ريادة الأعمال العمل الحر التسويق والمبيعات التصميم DevOps البرامج والتطبيقات الشهادات المتخصصة وداخل هذه الأقسام يوجد كثير من الأصناف حول كل موضوع . كما يمكنك الإستفادة من الكتب الموجودة على الأدامية في المجالات التالية :- البرمجة ريادة الأعمال العمل الحر التسويق والمبيعات التصميم DevOps وقسم الأسئلة والأجوبة يوجد به الكثير من الأسئلة المفيدة التي يمكن الإطلاع عليها .2 نقاط
-
الإصدار 1.0.0
116260 تنزيل
سطع نجم لغة البرمجة بايثون في الآونة الأخيرة حتى بدأت تزاحم أقوى لغات البرمجة في الصدارة وذاك لمزايا هذه اللغة التي لا تنحصر أولها سهولة كتابة وقراءة شيفراتها حتى أصبحت الخيار الأول بين يدي المؤسسات الأكاديمية والتدريبية لتدريسها للطلاب الجدد الراغبين في الدخول إلى مجال علوم الحاسوب والبرمجة. أضف إلى ذلك أن بايثون لغةً متعدَّدة الأغراض والاستخدامات، لذا فهي دومًا الخيار الأول في شتى مجالات علوم الحاسوب الصاعدة مثل الذكاء الصنعي وتعلم الآلة وعلوم البيانات وغيرها، كما أنَّها مطلوبة بشدة في سوق العمل وتعتمدها كبرى الشركات التقنية. دورة تطوير التطبيقات باستخدام لغة Python احترف تطوير التطبيقات مع أكاديمية حسوب والتحق بسوق العمل فور انتهائك من الدورة اشترك الآن بني هذا العمل على كتاب «How to code in Python» لصاحبته ليزا تاغليفيري (Lisa Tagliaferri) وترجمه إلى العربية محمد بغات وعبد اللطيف ايمش، وحرره جميل بيلوني، ويأتي شارحًا المفاهيم البرمجية الأساسية بلغة بايثون، ونأمل في أكاديمية حسوب أن يكون إضافةً نافعةً للمكتبة العربيَّة وأن يفيد القارئ العربي في أن يكون منطلقًا للدخول إلى عالم البرمجة من أوسع أبوابه. رُبط هذا الكتاب مع توثيق لغة بايثون في موسوعة حسوب لتسهيل عملية الاطلاع على أي جزء من اللغة مباشرة وقراءة التفاصيل باللغة العربية. هذا الكتاب مرخص بموجب رخصة المشاع الإبداعي Creative Commons «نسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0». يمكنك قراءة فصول الكتاب على شكل مقالات من هذه الصفحة، «المرجع الشامل إلى تعلم لغة بايثون»، أو مباشرةً من الآتي: المقال الأول: دليل تعلم بايثون اعتبارات عملية للاختيار ما بين بايثون 2 و بايثون 3 المقال الثاني: تثبيت بايثون 3 وإعداد بيئتها البرمجية المقال الثالث: كيف تكتب أول برنامج لك المقال الرابع: كيفية استخدام سطر أوامر بايثون التفاعلي المقال الخامس: كيفية كتابة التعليقات المقال السادس: فهم أنواع البيانات المقال السابع: مدخل إلى التعامل مع السلاسل النصية المقال الثامن: كيفية تنسيق النصوص المقال التاسع: مقدمة إلى دوال التعامل مع السلاسل النصية المقال العاشر: آلية فهرسة السلاسل النصية وطريقة تقسيمها المقال الحادي عشر: كيفية التحويل بين أنواع البيانات المقال الثاني عشر: كيفية استخدام المتغيرات المقال الثالث عشر: كيفية استخدام آلية تنسيق السلاسل النصية المقال الرابع عشر: كيفية إجراء العمليات الحسابية المقال الخامس عشر: الدوال الرياضية المضمنة المقال السادس عشر: فهم العمليات المنطقية المقال السابع عشر: مدخل إلى القوائم المقال الثامن عشر: كيفية استخدام توابع القوائم المقال التاسع عشر: فهم كيفية استعمال List Comprehensions المقال العشرون: فهم نوع البيانات Tuples المقال الحادي والعشرين: فهم القواميس المقال الثاني والعشرين: كيفية استيراد الوحدات المقال الثالث والعشرين: كيفية كتابة الوحدات المقال الرابع والعشرين: كيفية كتابة التعليمات الشرطية المقال الخامس والعشرين: كيفية إنشاء حلقات تكرار while المقال السادس والعشرين: كيفية إنشاء حلقات تكرار for المقال السابع والعشرين: كيفية استخدام تعابير break وcontinue وpass عند التعامل مع حلقات التكرار المقال الثامن والعشرين: كيفية تعريف الدوال المقال التاسع والعشرين: كيفية استخدام *args و**kwargs المقال الثلاثين: كيفية إنشاء الأصناف وتعريف الكائنات المقال الحادي والثلاثين: فهم متغيرات الأصناف والنسخ المقال الثاني والثلاثين: وراثة الأصناف المقال الثالث والثلاثين: كيفية تطبيق التعددية الشكلية (Polymorphism) على الأصناف المقال الرابع والثلاثين: كيف تستخدم منقح بايثون المقال الخامس والثلاثين: كيفية تنقيح شيفرات بايثون من سطر الأوامر التفاعلي المقال السادس والثلاثين: كيف تستخدم التسجيل Logging المقال السابع والثلاثين: كيفية ترحيل شيفرة بايثون 2 إلى بايثون 31 نقطة -
مرحبا ممكن جواب لي سوأل لدي انا 3 ايام وابحث عن الجواب لاكن لم اجد شيئ كيف تم انشاء دوال الوصول الى وضائف الاجهزة في بايثون مثل الكاميرا في الهاتف او البلوتوث او دالة تجعل الهاتف في وضع الطائرة او وضائف الكمبيوتر مثل -- اقاف التشغيل -- اعادة التشغيل -- فتح المتصفح -- اغلاق البرامج في الخلفية .....وغيرها من الوضائف حتى اكون واضح أكثر كيف ابنى دوال تقوم بي هاده الاعمال حتى انشأها بي نفسي وليس الامر متعلق بي الاجهزة فقط بل حتى سكريبات مثلا دالة يمكنها الدخول الى الفايسبوك وتترك تعليق او الرد على رسالة معينة فهنا كيف انشأنا هاده الدالة التي تدهب الى المسنجر وتترك تعليق مثال : برنامج يقوم بما يلى اغلاق البرامج في الخلفبة اغلاق البرامج الغير مستخدمة اقاف تشغيل الجهاز بعد انتهاء من تصطب برنامج معين تنزيل برنامج فقط عن طريق ادخال الرابط الرابط اخد لقطة لشلشة عند النقر على المفتاح A في لوحة المفتيح وتصوير فيديو عند النقر على الفتاح K تشغيل الكاميرا و المايك في الابتوب السؤل هنا كيف تم انشاء تلك كل الدوال ( الكود الدي يدهب الى تلك الوضيفة المحددة في كل مهمة في هادا البرنامج ) فمثلا النقطة الخامسة كيف تم بناء الدالة التي تأخد لقطة لشلشة أو تعمل فيديو وكيف تم بناء دالة تصل الى احرف لوحة المفاتيح ارجو اني وضحت سوألي بما فيه الكفاية أرجو الافادة وبارك الله فيكم1 نقطة
-
سلام عليكم. ازاي فيه برامج زي برامج الmarketing بتبعت رسائل واتساب لكميات من الناس بشكل متواصل بدون أي limits وبتكون بشكل مجاني؟ هل فيه طُرق لإرسال رسائل واتساب بعيداً عن الOfficial whatsapp business API؟ كمان فيه شركات بتقدم api لإرسال رسائل الواتساب ودا معناه ان عندهم سيرفر لإرسال رسائل الواتساب بعيدا عن الapi ومنها محدود زي twillio ومنها غير محدود زي ultramsg1 نقطة
-
السلام عليكم ورحمة الله وبركاته، عساكم بخير جميعاً. من فضلك، أنا أعزم على دراسة اللغات الآتية: JavaScript, PHP/Laravel وليست لدي أي خبرة مسبقة في مجال ال back-end وكيفية التعامل مع الدوال والوظائف والمصفوفات.... الخ، هل يجب عليّ الآن دراسة علوم الحاسوب لتعلم: الخوارزميات، والتفكير المنطقي/البرمجي أم لا بأس في الدخول لتعلم لغة JavaScript مباشرة دون دراسة هذه الأمور؟ || تحياتي لكم، وليلة سعيدة.1 نقطة
-
للوصول إلى وظائف الأجهزة المختلفة في لغة بايثون، فعادة ما يتم استخدام مكتبات معينة توفر واجهات برمجية التطبيقات (APIs) لتفاعل مع تلك الوظائف. مثلاً، تستطيع استخدام مكتبة OpenCV للتفاعل مع كاميرا الهاتف، أو استخدام مكتبة pyautogui لتشغيل وظائف لوحة المفاتيح والماوس، وهكذا. وفيما يلي بعض الأمثلة على كيفية بناء بعض هذه الدوال: 1- إغلاق البرامج في الخلفية والبرامج غير المستخدمة: سنستخدم مكتبة psutil للوصول إلى معلومات حول العمليات الجارية في النظام، ثم استخدام دالة kill() لإغلاق تلك العمليات. import psutil # get all running processes for proc in psutil.process_iter(['pid', 'name']): try: # get process details as a named tuple process_info = proc.as_dict(attrs=['pid', 'name']) # check if the process is not being used if process_info['name'] not in ['process1', 'process2']: # kill the process process = psutil.Process(process_info['pid']) process.kill() except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): pass 2- إيقاف تشغيل الجهاز بعد انتهاء تثبيت برنامج معين: بإمكانك الإعتماد على دالة os.system() لتشغيل أوامر النظام الأساسية، وذلك عن طريق تمرير سلسلة نصية تحتوي على الأمر الذي يجب تشغيله. لإيقاف تشغيل الجهاز، تستطيع استخدام الأمر "shutdown /s /t 1"، والذي يغلق النظام بعد ثانية واحدة. يمكن استخدام دالة subprocess.call() لتشغيل الأمر. import subprocess # install the program subprocess.call(['python', 'setup.py', 'install']) # shutdown the system subprocess.call(['shutdown', '/s', '/t', '1']) 3- تنزيل برنامج فقط بواسطة الرابط من الممكن تنفيذ ذلك من خلال مكتبة requests لإرسال طلب HTTP GET للرابط المحدد وتنزيل الملف المرتبط به. مثلاً استخدم الكود التالي لتنزيل برنامج VLC Media Player من موقعه الرسمي باستخدام الرابط المباشر: import requests url = "https://get.videolan.org/vlc/3.0.16/win64/vlc-3.0.16-win64.exe" r = requests.get(url) with open("vlc.exe", "wb") as f: f.write(r.content) حيث أن الكود يرسل طلب GET للرابط المحدد ويقوم بتخزين المحتوى الذي يتم تلقيه كملف "vlc.exe" في الدليل الحالي، وتستطيع استخدام هذا الكود لتنزيل أي برنامج آخر عن طريق استبدال الرابط المحدد برابط الملف المراد تنزيله. 4- تشغيل الكاميرا والمايك في اللابتوب: هناك مكتبة OpenCV لتشغيل الكاميرا في اللابتوب ولقطات الفيديو والصور، ومن خلال الأمر cv2.VideoCapture(0) تستطيع فتح الكاميرا وبعدها يتم التقاط الفيديو والصور باستخدام دالة cap.read(). أما بالنسبة لتشغيل المايك في اللابتوب، فهناك مكتبة PyAudio، ويتم ذلك باستخدام الدالة pyaudio.PyAudio() لفتح معدات التسجيل و pyaudio.Stream() لتسجيل الصوت. أي بإمكانك استخدام العديد من المكتبات المدمجة في Python للوصول إلى وظائف الأجهزة والبرامج.1 نقطة
-
موقعي رفعته على منصة netlify وعمل معي ولكن عبر الرابط فقط لقد قمت بإضافة description للموقع لكي يظهر ولكنه لم يظهر؟1 نقطة
-
إذا كنت تقصد وصف الموقع description meta tag فقد يكون هناك عدة أسباب لذلك. وفيما يلي بعض الخطوات التي يمكن اتخاذها لحل هذه المشكلة: التحقق من رمز المصدر الخاص بصفحة الموقع: تأكد من وجود علامة meta tag الخاصة بالوصف في رمز المصدر HTML لصفحة الموقع. يمكنك عرض رمز المصدر بالنقر بزر الماوس الأيمن على صفحة الموقع واختيار "View Page Source" أو "Inspect Element". التأكد من صحة تنسيق علامة meta tag: علامة meta tag الخاصة بالوصف يجب أن يكون تنسيقها كالتالي: `<meta name="description" content="وصف الموقع الخاص بك">`. تأكد من أن العلامة مكتوبة بشكل صحيح وأن المحتوى محاط بعلامات اقتباس مزدوجة. التحقق من عدم وجود مشاكل في التخزين المؤقت: إذا قمت بتحديث علامة meta tag الخاصة بالوصف مؤخرًا، فقد يتم تحميل نسخة قديمة من الصفحة من ذاكرة التخزين المؤقت للمتصفح أو أدوات التخزين المؤقت الأخرى. حاول مسح ذاكرة التخزين المؤقت للمتصفح وتحديث الصفحة. التحقق من عدم وجود تعارضات مع علامات meta tag أخرى: إذا كانت هناك علامات meta tag أخرى على صفحة الموقع، فقد يتعارضون مع العلامة meta tag الخاصة بالوصف. تأكد من أن العلامة meta tag الخاصة بالوصف هي الوحيدة التي تحمل اسم "description". التحقق من عدم وجود مشاكل في برنامج إنشاء الموقع: إذا كنت تستخدم برنامج إنشاء الموقع أو نظام إدارة المحتوى (CMS) لإنشاء موقعك، فقد يكون هناك مشاكل في كيفية تعامله مع علامة meta tag الخاصة بالوصف. تحقق من الوثائق أو منتديات الدعم الخاصة ببرنامج إنشاء الموقع أو نظام إدارة المحتوى الخاص بك لمعرفة ما إذا كانت هناك مشاكل معروفة به. إذا لم تتمكن من حل المشكلة باستخدام هذه الخطوات، فقد ترغب في التواصل مع دعم Netlify للحصول على مزيد من المساعدة. يمكنهم مساعدتك في تحديد سبب المشكلة والتأكدمن أن موقع الويب الخاص بك يعرض العلامات meta بشكل صحيح.1 نقطة
-
هل يمكنك إيضاح سؤالك بشكل اكبر. وإن كنت تقصد انه لم يظهر في نتائج البحث فأنت بحاجة للانتظار حتى يقوم متعقب المواقع الخاص بمحرك البحث الذي تريده بالزحف إلى موقعك وإضافته إلى قاعدة البيانات الخاصة بمحرك البحث. يمكنك تحسين ظهور موقعك في نتائج البحث عن طريق تحسين محتوى موقعك وتحسين العناوين والوصف والعلامات والروابط الداخلية والخارجية لموقعك. يمكنك أيضًا التسجيل في خدمة (Google MyBusiness) التي يُقدّمها جوجل لتحسين ظهور الموقع عبر نتائج بحث جوجل. بالإضافة إلى ذلك، يمكنك استخدام خدمات تحسين محركات البحث (SEO) لتحسين ظهور موقعك في نتائج البحث. قد يفيدك قراءة :1 نقطة
-
السلام عليكم قمت بإنشاء واجهة تسجيل دخول وإنشاء حساب من خلال بايثون والان اريد معرفة كيفية إنشاء زر لإعادة تعيين كلمة المرور اذا امكن ان يكون الشرح عبر مكالمة لكي افهم الشرح وشكرا لكم1 نقطة
-
يمكن استخدام مكتبة Flask-Login لإنشاء زر إعادة تعيين كلمة المرور بسهولة أكبر. يتيح لك Flask-Login إضافة وظائف تسجيل الدخول والخروج وإدارة جلسات المستخدمين بشكل سلس في تطبيق Flask الخاص بك. لإضافة زر إعادة تعيين كلمة المرور باستخدام Flask-Login، يمكنك اتباع الخطوات التالية: تثبيت Flask-Login باستخدام pip: pip install flask-login إضافة مكونات Flask-Login إلى تطبيق Flask الخاص بك: from flask_login import LoginManager, current_user, login_user, logout_user, login_required login_manager = LoginManager() login_manager.init_app(app) إضافة دالة العودة المفقودة لتطبيق Flask الخاص بك لتحديد المستخدم الحالي: @login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) إضافة مسار جديد إلى تطبيق Flask الخاص بك لإعادة تعيين كلمة المرور. يمكنك استخدام الرمز التالي: @app.route('/reset_password', methods=['GET', 'POST']) def reset_password(): if current_user.is_authenticated: return redirect(url_for('index')) form = ResetPasswordForm() if form.validate_on_submit(): # تنفيذ إعادة تعيين كلمة المرور هنا flash('تم إعادة تعيين كلمة المرور الخاصة بك بنجاح.', 'success') return redirect(url_for('login')) return render_template('reset_password.html', title='إعادة تعيين كلمة المرور', form=form) في قالب HTML لصفحة تسجيل الدخول، يمكنك إضافة زر إعادة تعيين كلمة المرور باستخدام الرمز التالي: {% if not current_user.is_authenticated %} <a href="{{ url_for('reset_password') }}">إعادة تعيين كلمة المرور</a> {% endif %} بعد إتمام هذه الخطوات، يمكن للمستخدمين الآن استخدام زر إعادة تعيين كلمة المرور داخل صفحة تسجيل الدخول للوصول إلى صفحة إعادة تعيين كلمة المرور وإعادة تعيين كلمة المرور الخاصة بهم.1 نقطة
-
في حال كنت لا تريد توسيع عملك ل Full stack أعتقد أن أفضل شيء تقوم به هو أن تجد شخص يعمل ك front end و تقومان بعمل مشروع مشترك، لا شيء يزيد من خبرتك و معارفك أكثر من ذلك، كما ستتعلم كيفية التعامل في فريق، و ربما تتعلم مكاتب جديدة عند وجود الحاجة. لا فكرة من تعلم كل شيء ثم التطبيق، هناك الكثير من الأشياء إلى حد أنه يمكن أن تكون لك خبرة سنين في المجال و لا تعلم كل شيء، دائماً ركز على الأساسيات و الباقي يمكنك تعلمه عند الحاجة. في حال كنت تريد التوسع لتصبح full stack يمكنك تعلم إطار عمل مثل Angular ، أو أي إطار عمل آخر ترغب به. لكن نصيحتي الأساسية ابدأ التطبيق و العمل في حال كنت فعلاً متمكن مما ذكرته.1 نقطة
-
لم تخبرني ماهي المكاتب التي تعلمتها في node لذلك سأفترض أنك تعلمت اغلب المكاتب الرئيسية، ولذلك أعتقد بأنه يمكنك الانتقال للتعلم عن مواضيع متقدمة مثل: أمان الويب (bcrypt و اليات التعمية + أساسيات https و cors و سياسة أمن المحتوى ) graphql مبادئ التصميم وأنماط المعمارية التعلم عن التكامل المستمر والنشر المستمر CI/CD التعلم عن الاختبار في node كما يمكنك الاطلاع على المخطط التالي و متابعة المواضيع التي لم تتعرف بها بعد.1 نقطة
-
يمكنك الرجوع في أي خطوة قمتي بها إذا حدث أي مشكلة، ونحن هنا نحاول إيجاد حلول للمشكلة التي تواجهنا في الوقت الحالي.1 نقطة
-
برمجة نواة التشغيل من الصفر هو عملية تتطلب مهارات برمجية عالية وخبرة واسعة في مجال نظم التشغيل، مما يعني أنه يجب عليك الاستعداد لدراسة الكثير من المفاهيم والتقنيات المتعلقة بنظم التشغيل وعمليات التشغيل. في البداية، يجب عليك دراسة لغة البرمجة التي ستستخدمها في برمجة نواة التشغيل، مثل لغة C أو C++، ومن ثم، تستطيع البدء في برمجة النواة بالاعتماد على مكتبات النظم التشغيل المختلفة المتاحة، مثل POSIX، ومكتبات مايكروسوفت Windows API، ومكتبات BSD. وتشمل عملية برمجة نواة التشغيل عدة مراحل، منها: مرحلة التشغيل الأولي في هذه المرحلة، يتم تهيئة بيئة النظام وتحميل النواة في الذاكرة الرئيسية. مرحلة التهيئة تهتم المرحلة بإعداد النظام للعمل مع الأجهزة المختلفة المتصلة به، مثل المعالج والذاكرة ووحدات التخزين والشبكات. مرحلة الجدول الزمني يتم تحديد كيفية توزيع الوقت والموارد بين العمليات المختلفة المشغلة على النظام. مرحلة النظام الملفات هذه المرحلة يتم إدارة وتنظيم البيانات المخزنة في وحدات التخزين المختلفة على النظام. وبخصوص المصادر العربية، فلن تجد عزيزي ولا تتعب نفسك بالبحث، فضالتك ستجدها فقط في المحتوى الأجنبي لكون الأمر متخصص وبحاجة إلى خبرة كبيرة.1 نقطة
-
لحذف أي عنصر من المصفوفة يحتوي على نفس اسم ال HTML tag للعنصر الذي بعده، يمكنك استخدام الوظيفة splice() لإزالة العنصر بناء على مؤشره . لكن قبل ذلك، يجب عليك تحديد المؤشرات التي تريد حذفها بواسطة حلقة تمر على المصفوفة وتقارن اسم ال HTML tag لكل عنصر مع العنصر التالي باستخدام ال regex pattern الذي ذكرته. هذا مثال على كيفية فعل ذلك: javascript // المصفوفة الأصلية let array = [ 'a:href,title', 'a:href,title,accesskey', 'div:class', 'div:class,role,id', 'h3:', 'li:id', 'ul:' ]; // مصفوفة فارغة لتخزين المؤشرات التي تريد حذفها let indices = []; // حلقة تمر على المصفوفة من البداية إلى ما قبل النهاية for (let i = 0; i < array.length - 1; i++) { // استخدام regex لتحديد اسم ال HTML tag باستخدام ال pattern \w+(?=\:) let tag = array[i].match(/\w+(?=\:)/)[0]; // مقارنة اسم ال HTML tag مع العنصر التالي if (array[i + 1].startsWith(tag)) { // إضافة المؤشر إلى مصفوفة العناصر indices.push(i); } } // حلقة تمر على مصفوفة المؤشرات من النهاية إلى البداية for (let j = indices.length - 1; j >= 0; j--) { // استخدام splice لحذف العنصر بناء على المؤشر array.splice(indices[j], 1); } // طباعة المصفوفة النهائية console.log(array); النتيجة هي: [ 'a:href,title,accesskey', 'div:class,role,id', 'h3:', 'li:id', 'ul:' ]1 نقطة
-
تستطيع الإعتماد على الطريقة التالية بالإَضافة للطرق السابقة: من خلال دالة reduce() في JavaScript لتحقيق ذلك بطريقة أخرى. حيث نستخدم reduce() للحفاظ على المصفوفة الأصلية وإعادة مصفوفة جديدة تحتوي على العناصر غير المكررة. مع استخدام Map() لتخزين اسماء الـ HTML tag الفريدة، وتحديث ال Map() مع كل عنصر في المصفوفة الأصلية. في النهاية ، تستطيع تحويل Map() إلى مصفوفة باستخدام الدالة Array.from(). const arr = [ 'a:href,title', 'a:href,title,accesskey', 'div:class', 'div:class,role,id', 'h3:', 'li:id', 'ul:']; const uniqueArr = Array.from(arr.reduce((map, current) => { const tagName = current.match(/\w+(?=\:)/)[0]; return map.has(tagName) ? map : map.set(tagName, current); }, new Map()).values()); console.log(uniqueArr); // Output: [ 'a:href,title,accesskey', 'div:class,role,id', 'h3:', 'li:id', 'ul:' ]1 نقطة
-
للإجابة على ذلك يجب ذكر مثال لوصف وظيفة خاصة بمطور بايثون حيث ستجد وصف مشابه له على مواقع التوظيف مثل LinkedIn: معرفة عميقة بلغة بايثون وقدرة على استخدامها لبناء تطبيقات ويب. خبرة في استخدام إطار عمل مثل Django أو Flask لبناء واجهات المستخدم الخلفية. معرفة باستخدام مكتبات ORM للتعامل مع قواعد البيانات (مثل PostgreSQL أو MySQL) وقدرة على دمج مصادر بيانات متعددة. فهم جيد للمتعددات المتزامنة وكيفية التعامل معها بكفاءة في بايثون، أي كتابة أكواد بايثون تعمل على معالجة عدة مهام في نفس الوقت. خبرة في استخدام محركات قوالب مثل Jinja2 لإنشاء صفحات ديناميكية. فهم أساسي لـ HTML, CSS, و JavaScript لبناء واجهات مستخدم جذابة. معرفة بمبادئ الأمان، المصادقة، والتفويض. فهم المبادئ التصميمية الجيدة لبناء تطبيقات قابلة للتطوير والصيانة. خبرة في استخدام مكتبات لمعالجة الأحداث التي تسمح بتنفيذ أكواد معينة عند حدوث أحداث محددة. قدرة على بناء تطبيقات تعمل بكفاءة على منصات متعددة (جوال، سطح مكتب). القدرة على تصميم قواعد بيانات فعالة تلبي احتياجات العمل. مهارات قوية في اختبار الوحدات وتصحيح الأخطاء. خبرة في استخدام أدوات مثل Git لإدارة إصدارات الكود. ونظرًا إلى ما سبق أنت ستتعلم في الدورة التالي: الأسس البرمجية السليمة عبر لغة Python التعامل مع مختلف صيغ الملفات مثل إكسل Excel وورد Word وخدمات المستندات السحابية استخراج البيانات من صفحات الويب Web Scraping وتحليلها أساسيات التعامل مع قواعد البيانات عبر بايثون، والتعامل مع البريد الإلكتروني لإرسال الرسائل أساسيات إطار العمل جانغو Django بناء تطبيق إدارة المهام باستخدام إطار العمل جانغو Django تطوير متجر إلكتروني متكامل باستخدام إطار العمل جانغو Django وربطه مع وسائل الدفع باي بال PayPal وسترايب Stripe أساسيات إطار العمل فلاسك Flask، وبناء مدونة بسيطة تطوير تطبيقات أودو Odoo تطوير واجهة برمجية API اعتمادًا على نمط RESTful لمعالجة الصور وبالتالي أنت قد ألممت بجزء كبير من وصف الوظيفة، وتحتاج فقط إلى تعلم أساسيات تقنيات الواجهة الأمامية، مثل JavaScript و HTML5 و CSS3. وبالنسبة لطريقة التعلم المناسبة فأرجو منك قراءة النقاش التالي وقراءة النقاشات التي إرفاقها بداخله:1 نقطة
-
انتبه الى ما تشير اليه رسالة الخطأ: caught (in promise) DOMException: play() failed because the user didn't interact with the document first. h يحدث هذا الخطأ عندما تحاول إحدى وظائف JavaScript تشغيل محتوى الصوت أو الفيديو دون أن يتفاعل المستخدم أولاً مع الصفحة. تحتوي معظم المتصفحات الحديثة على ميزة تمنع التشغيل التلقائي للوسائط دون تدخل المستخدم ، والتي تهدف إلى حماية المستخدمين من تشغيل الصوت والفيديو غير المرغوب فيه وذلك كنوع من الحماية من متصفحات الويب. تشير رسالة الخطأ إلى أن تابع التشغيل () فشل لأنه لم يبدأ من خلال تفاعل المستخدم، مثل النقر فوق زر أو ارتباط. يتم تشغيل هذا عادةً عند محاولة تشغيل الصوت أو الفيديو من خلال كود JavaScript الذي لم يتم تشغيله بواسطة حدث مستخدم ، مثل أحداث onclick أو onkeydown. ولعمل حيلة بسيطة قصد حل هاته المشكلة، سنحاول الاستماع لأحدث الأحداث التي تحدث على الوثيقة لنتصرف بناءا عليها ونقوم بتشغيل هذا الصوت، وليكن مثلا حدث تمرير المؤشر على الوثيقة، فيكون التشغيل كالتالي: document.addEventListener('mouseover' , () => { // تشغيل الصوت document.getElementById('welcome-sound').play(); }) سيعطي هذا نفس المقاربة تقريبا، اختبره.1 نقطة