لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 03/25/24 في كل الموقع
-
1. npm install 2. npm start" " give an error " ERR_PACKAGE_PATH_NOT_EXPORTED3 نقاط
-
ايوه صح انا دورت وعارفت المكتبه ده وكمان في داله اسمه str.replace بتدبتل حرف او حتي كلمه بحرف تاني او جمله تاني شكرااا جداا لحضرتك كلام حضرتك بيشجيعن الصراح شكرااا جداا2 نقاط
-
2 نقاط
-
2 نقاط
-
مساء الخير ماهي افضل دورة للعمل الحر في ما يتعلق بالتجارة مع برمجة خفيفة فقط.1 نقطة
-
كل ما أردت أن أدفع ثمن الدورة يقول خطأ المبلغ في حسابك غير كافي لماذا ؟1 نقطة
-
السلام عليكوم ورحمة الله و بركاته اخواني في الله انا افكر ببرمجة إضافة لبرنامج kodi (xbmc سابقا) للإستماع للقرآن الكريم بحيث انني برمجة موقع بسيط ( ثابت )للاستماع للقرآن الكريم بحيث ان الموقع يحتوي على صفحة رئيسية تحتوي على القرآء الموجودين في الموقع و يحتوي على صفحة لسور ذالك القارى داخل مجلد او بمعنا ان كل سور لكل قارى في مجلد مثلا في مجلد الخاص البال القارى فلان الفلاني و يحتوي على ملف index.html و هذا الملف يحتوي على السور الخاصة بالقارى مثلا سورة الفاتحة الملف الخاص بها : 1.html . و باقي السور إلى 114 وفي ملفات عرض السور تحتوي على اسم القارى و اسم السورة و مشغل mp3 انا اوريد في الإضافة ان يتم إضهار القرآء الموجودين في الموقع و إذا نقر على القارى تضهر السور الخاصة بالقارى مثل الفاتحة إلى سورة الناس ارجو هل من مجرب لبرمجة الإضافات لهذا البرنامج معلومة مهمة / انا اوريد تعلم لغة بايثون لبرمجة هذه الإضافة فقط. معلومة على الهامش / ايضا الموقع بعد إضافة القرآء و السور سيتم رفعة على جيت هاب و يجب ان تعلم ان الموقع سيضهر بدون استخدام اي اكود css وشكرا1 نقطة
-
AttributeError at /about/3 Generic detail view ArticleDetailView must be called with either an object pk or a slug in the URLconf. Request Method:GET Request URL:http://127.0.0.1:8000/about/3 Django Version:5.0.3 Exception Type:AttributeError Exception Value: Generic detail view ArticleDetailView must be called with either an object pk or a slug in the URLconf. Exception Location:C:\Users\Elkhour\.virtualenvs\mahmoud-zB2L3BS-\Lib\site-packages\django\views\generic\detail.py, line 46, in get_object Raised during:sara.views.ArticleDetailView Python Executable:C:\Users\Elkhour\.virtualenvs\mahmoud-zB2L3BS-\Scripts\python.exe Python Version:3.12.0 Python Path: ['F:\\Django\\mahmoud', 'C:\\Users\\Elkhour\\AppData\\Local\\Programs\\Python\\Python312\\python312.zip', 'C:\\Users\\Elkhour\\AppData\\Local\\Programs\\Python\\Python312\\DLLs', 'C:\\Users\\Elkhour\\AppData\\Local\\Programs\\Python\\Python312\\Lib', 'C:\\Users\\Elkhour\\AppData\\Local\\Programs\\Python\\Python312', 'C:\\Users\\Elkhour\\.virtualenvs\\mahmoud-zB2L3BS-', 'C:\\Users\\Elkhour\\.virtualenvs\\mahmoud-zB2L3BS-\\Lib\\site-packages'] Server time:Mon, 25 Mar 2024 21:08:18 +00001 نقطة
-
1 نقطة
-
استخدم مكتبة Kodi API لبرمجة الإضافة تفقد المستودع التالي: https://github.com/jonisb/jsbc.KodiLib بجانب ذلك اعتمد على إطار Flask لإنشاء الموقع وتوفير خادم له، بجانب مكتبة mutagen لمعالجة ملفات MP3، وبالطبع ذلك بلغة بايثون. لكنك ستحتاج إلى CSS لتنسيق الموقع بالطبع لا جدال في ذلك، أو استخدم مكتبة بوتستراب. المستند الرسمي: https://kodi.wiki/view/JSON-RPC_API https://kodi.wiki/view/JSON-RPC_API/v121 نقطة
-
السلام عليكم تحية طيبة وبعد..... اذا اردت ان اقوم برسم قيم معينه من ملف اكسل بعدة قيم كيف افعلها بحيث ان ال matplotlib يقوم برسم الجزء المراد فقط وليس الملف ككل import pandas as pd import seaborn as sns import matplotlib.pyplot as plt df = pd.read_excel("C:\\Users\\Khaled\\Desktop\\project_finals\\mhna_2.xlsx") df = df.rename(columns={"Distance=": "Distance_"}) sns.set_style("darkgrid") sns.lineplot(x="Distance=", y="SNR", data=df) plt.title("Distance vs. Passengers") plt.xlabel("Distance (km)") plt.show() هذا ما امكني فعله ولكن دون جدوى حيث ان هناك مشكلة دائمة باستمرار تعاوق قراءة الملف في الاساس شكرا على المساعدة مقدمااا ......1 نقطة
-
1 نقطة
-
تظهر مشكلة انا لدي صفحة تالية به بيانات مشروع تمام وبه qrcode الذي عندما اصوره بالتفلون يرفعنا لنفس الصفحة هادي به qrqode يقرا معلومات مشروع انا صورة qr التي به معلومات المشروع تظهر في هادي صفحة اريد ارسله علي ايميل شخص <?php include('header.php'); include('config.php'); //include('include/class/class.ads-details.php'); require 'include/phpqrcode/qrlib.php'; ?> <br /> <ol class="breadcrumb"> <li><a href="index.php">الصفحة الرئيسية</a></li> <li><a href="Projects.php">المشاريع</a></li> <li class="active">التفاصيل</li> </ol> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-body"> <table class="table table-user-information"> <tbody> <?php if(isset($_GET['id'])){ $id_p = intval($_GET['id']); $sql = "SELECT * FROM `show_projects_adm` WHERE id_Pro=$id_p"; $query_p = mysqli_query($con,$sql); $rows_p = mysqli_fetch_array($query_p); // echo $sql; echo "<tr> <td style='font-weight: bold;'>ID :</td> <td>".$rows_p['id_Pro']."</td> </tr>"; echo "<tr> <td style='font-weight: bold;'>المشروع :</td> <td>".$rows_p['Name_Project']."</td> </tr>"; echo "<tr> <td style='font-weight: bold;'>وصف المشروع :</td> <td>".$rows_p['desc_Project']."</td> </tr>"; echo "<tr> <td style='font-weight: bold;'>اهداف المشروع :</td> <td>".$rows_p['Target_Project']."</td> </tr>"; echo "<tr> <td style='font-weight: bold;'>الادوات المستخدمه :</td> <td>".$rows_p['Tools_Project']."</td> </tr>"; $id_s = $rows_p['Num_STD']; $sql2 = mysqli_query($con,"select * from student Where id_std=$id_s"); while($row_std=mysqli_fetch_array($sql2)) { echo "<tr> <td style='font-weight: bold;'>اسم الطالب :</td> <td>".$row_std['Name_std']."</td> </tr>"; //echo'<option value="'.$row_std['Name_std'].'">'.$row_std['Name_std'].'</option>'; } echo "<tr> <td style='font-weight: bold;'>المجموعة :</td> <td>".$rows_p['Name_group']."</td> </tr>"; echo "<tr> <td style='font-weight: bold;'>أسم المشرف :</td> <td>".$rows_p['Name_teah']."</td> </tr>"; if($rows_p['Stat'] == 0){ echo '<tr> <td style="font-weight: bold;">حالة :</td> <td>لم يقبل</td></tr>'; } if($rows_p['Stat'] == 1){ echo '<tr> <td style="font-weight: bold;">حالة :</td> <td>قيد الانجاز</td> </tr>'; } if($rows_p['Stat'] == 2){ echo '<tr> <td style="font-weight: bold;">حالة :</td> <td>منجز</td> </tr>'; } // البيانات التي تريد تضمينها في رمز الاستجابة السريعة (QR code) $data = $rows_p['desc_Project']; // اسم الملف الذي يتم حفظه (يمكنك تغييره إلى أي اسم تفضله) $filename = 'img/qr/'.$rows_p['id_Pro'].'_qrcode.png'; // إنشاء رمز QR وحفظه في الملف المحدد QRcode::png($data, $filename); // عرض الرمز QR المولد echo '<tr><td style="font-weight: bold;">QRcode :</td> <td><img src="'.$filename.'" /></td></tr>'; $idfile = intval($_GET['id']); $querypost="SELECT * FROM `file_project` WHERE `id_p`=$idfile"; $result=mysqli_query($con,$querypost); while($rows=@mysqli_fetch_array($result)){ //echo $rows['']; echo '<tr> <td style="font-weight: bold;">ملف المشروع :</td> <td><a href="uploads/'.$rows['path_file'].'" class="btn btn-default" />تحميل الملف</a></td> </tr>'; } } ?> </tbody> </table> </div> </div> </div> </div> <?php include('footer.php'); ?>1 نقطة
-
وعليكم السلام ورحمة الله وبركاته . هل يتم توليد صورة ال qrcode بشكل صحيح ؟ تاكد من الصورة يتم توليدها بشكل صحيح اولا وفى المسار الذى حددته انت فى الكود /img/qr يمكنك ارسال الصور عن طريق تضمين الصورة فى الايميل عن طريق الدالة AddEmbeddedImage حيث تستقبل عدة معاملات ما نريده هو اول معاملين , حيث اول هو مسار الصورة وثانى معامل هو cid اى الاسم المستعار الذى ستقوم باستعماله فى رسالة الايميل ويمكنك استعماله هكذا cid:name واستبدال name بالاسم الذى قمت بتمريرة للدالة . <?php include('header.php'); use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/src/Exception.php'; require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; // require 'C:\Windows\System32\vendor/autoload.php' require 'include/phpqrcode/qrlib.php'; // ?> <!--------------------------------------------------------------------------------> <!------------------------------------header--------------------------------------> <!--------------------------------------------------------------------------------> <div class="col-md-9 pan1"> <ol class="breadcrumb" style="background-color: #fff;padding-top:8px;padding-bottom:8px;color:#000;font-size:16px;"> <li><a href="projetcs.php">المشاريع</a></li> <li class="active">القبول</li> </ol> </div> </div> <div class="row"> <div class="col-md-9 pan1"> <div class="panel" style="color:#000;"> <div class="panel-body" style="font-size:14px; padding-left:40px;padding-right:40px;padding-bottom:25px;padding-top:25px;"> <?php if(isset($_GET['id'])){ // $id_p = intval($_GET['id']); $sql = "SELECT * FROM `show_projects_adm` WHERE id_Pro=$id_p"; $query_p = mysqli_query($con,$sql); $rows_p = mysqli_fetch_array($query_p); // $id_pro = intval($_GET['id']); $querypost2="SELECT * FROM `projects` WHERE `id_Pro`=$id_pro"; $result2=mysqli_query($con,$querypost2); $rows2=@mysqli_fetch_array($result2); $id_std = $rows2['Num_STD']; // //$id_std = intval($_GET['id']); $querypost="SELECT * FROM `student` WHERE `id_std`=$id_std"; $result=mysqli_query($con,$querypost); $rows=@mysqli_fetch_array($result); $email_std = $rows['Email_STD']; // // البيانات التي تريد تضمينها في رمز الاستجابة السريعة (QR code) $data = $rows_p['desc_Project']; // اسم الملف الذي يتم حفظه (يمكنك تغييره إلى أي اسم تفضله) $filename = 'img/qr/'.$rows_p['id_Pro'].'_qrcode.png'; // إنشاء رمز QR وحفظه في الملف المحدد QRcode::png($data, $filename); // // Create a new PHPMailer instance $mail = new PHPMailer(true); try { // Server settings $mail->isSMTP(); $mail->Host = 'aaa'; // SMTP server $mail->SMTPAuth = true; $mail->Username = 'aa'; // SMTP username $mail->Password = 'aa'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to $mail->CharSet = 'UTF-8'; // Sender and recipient $mail->setFrom('info@aa.com', 'موقع koora'); $mail->addAddress($email_std, 'info'); // Email content $mail->isHTML(true); $mail->Subject = 'قبول المشروع من قبل اللجنة'; $mail->addEmbeddedImage($filename, 'qrcode'); // $mail->Body = '<h3>تم القبول المشروع الخاص بك بنجاح</h3>'; $mail->Body= 'qrcode <img src="cid:qrcode" alt="cid:qrcode">'; // Send email $mail->send(); //echo 'Email has been sent successfully'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } //$message = "لقد م قبول تم قبول المقترح بنجاح"; //$headers = "From: info@aa.com"; /// Send // mail($email_std, 'تم قبول المقترح بنجاح', $message); $sql = "UPDATE `projects` SET `Stat`=1 WHERE `id_Pro`='".intval($_GET['id'])."'"; mysqli_query($con,$sql); echo '<div class="col-md-12">'; echo '<div class="text-center alert alert-success" role="alert">تم قبول بنجاح</div>'; echo '<meta http-equiv="refresh" content="3;url=projetcs.php" />'; echo '</div>'; //$send = mysqli_real_escape_string($con,$_POST['username']); /* if(isset($_POST['submit'])){ } */ } ?> </div> </div> </div> </div> <?php include('footer.php'); ?> وهذا الكود بعد التعديل1 نقطة
-
اولا لاحظ انه لديك خطأ في اسم ال class حيث انك نسيت حرف ال h وكتبتها navbar-ligt لذلك عليك نسخ اسم ال class نسخ لتنجنب اخطاء مثل هذه ثانيا اظن انك قمت باسخدام كلاسات بوتستراب جاهز وهو ال class:navbar-light والذي هو الاساس لديه خصائص لونية واذا ذهبت الى المتصفح وقمت بفحصه ف سنجد كلمة important امام لون الخلفية وهو يعني انه مهم ولا يمكن تعديله لذلك ما عليك فعله هو وضع كلمة important تسبقها اشارة تعجب ليظهر اللون الذي تريده لديك ليصبح كود ال css كالتالي .navbar-light{ background-color: #45f500 !important; } وبالتوفيق لك1 نقطة
-
يمكنك اقتطاع أي جزء من مصفوفات Pandas كما تريد باستخدام طرق التحديد العادية للأسطر والأعمدة. مثلا: df # Pandas Dataframe df[0:3] # اقتطاع الثلاثة أسطر الأولى فقط df["Distance"] # اقتطاع العمود الذي يحمل الاسم Distance df["Distance"][1:4] # اقتطاع العناصر من الثاني إلى الرابع من العمود Distance يمكنك استخدام هذه الطرق البسيطة لاختيار أي جزء من البيانات تريد. لمزيد من المعلومات يمكنك الاطلاع على الدليل الرسمي السريع لكيفية تحديد واقتطاع البيانات من Pandas DataFrame من هنا: https://pandas.pydata.org/docs/user_guide/10min.html#selection1 نقطة
-
السلام عليكم لقد انتهت دورة علوم الحاسوب واردت البدء بدورة تطوير واجهات المستخدم لكني تفاجئت من عدد الفيديوات الكثيرة ماهو الاختلاف بينها وبين بقية الدورات؟1 نقطة
-
في البداية أحييك على اجتهادك ومحاولاتك لتنمية مهاراتك البرمجية. الشيفرات التي كتبتها تعمل بشكل صحيح، وبالتأكيد قد اكتسبت مهارة التفكير المنطقي وهذه مهارة مطلوبة وهامة جدًا، ولكن بجانب ذلك لابد من تنمية مهارة استخدام الأدوات المساعدة والمتقدمة. الفوائد: هذه الأدوات تم اختبارها وخالية من الأخطاء هذه الأدوات تستخدم خوارزميات أفضل في عملية البحث والاستبدال تكون أسهل في الكتابة ومختصرة وأوضح في قراءة الشيفرات ومعالجة الأخطاء من ضمن هذه الأدوات هي "التعابير النمطية" Regular Expressions فيمكن تنفيذ نفس المهمة بالشكل التالي import re def replace(st): newText = re.sub("[aeiouAEIOU]", "!", st) return newText print(replace('aeioun')) كما يتضح، تم استخدام وظيفة sub التابعة لمكتبة re، وكما نرى سهولة قراءة الشيفرات وبالتالي سهولة الصيانة ومعالجة الأخطاء. إضافة إلى أن هذه الوظيفة تم اختبارها جيدًا ومضمونة بشكل أكبر. إضافة إلى سرعة الأداء نتيجة استخدام خورازميات بحث واستبدال متقدمة مما يساعد في تحسين الأداء والذاكرة. يمكنك مشاهدة هذا المقال الهام الذي به العديد من المشاريع التي تنمي مهاراتك بشكل كبير1 نقطة
-
السلام عليكم بالنسبة للشهادة المقدمة من اكادمية حاسوب عند النجاح في الامتحان هل سوف استفيد منها انا كشخص يعيش في المانيا ام انها معترف بها فقت في البلاد العربية؟1 نقطة
-
العفو، بالطبع يمكنك ذلك، في حال كانت لديك المعرفة والخبرة اللازمة لذلك، بما أنك مبرمج بلغة PHP و Mysql يمكنك إنشاؤها وإدارة المشتركين وتخزين المعلومات، ولكن يجب أن تكون لديك وسيلة ما لجلب مفاتيح فك التشفير وإرسالها إلى المشتركين، يمكن ذلك من خلال: تطبيق نظام لجلب مفاتيح فك التشفير من موفر الخدمة الخاص بك، كاستخدام واجهة برمجة تطبيقات (API) التي ستتيح لك الاتصال بموفر الخدمة وجلب المفاتيح بشكل ديناميكي. ثم يمكنك تخزين هذه المفاتيح بمجرد جلبها بشكل آمن ومشفر داخل قاعدة بيانات MySQL. بعدها يمكنك إرسال المفاتيح للمشتركين عندك عبر تطبيق نظام خاص يتيح للمشتركين طلب هذه المفاتيح، هنا يمكنني أن أقترح عليك استخدام نظام الرسائل الإلكترونية المباشرة أو البريد الإلكتروني لإرسال المفاتيح بعد طلبها من قبل المشتركين. لكن كل هذا يجب أن يتم بعد التحقق من اشتراك المستخدمين قبل إرسال المفاتيح لهم، كالتحقق من صلاحية الاشتراك والهوية والدفعات.1 نقطة
-
لصنع لوحة توزيع لمفاتيح التشفير باستخدام PHP وMySQL، ستحتاج أولًا إلى القدرة الفنية على البرمجة ومعرفة بكيفية إدارة البيانات داخل قاعدة البيانات. ولكن، عندما يتعلق الأمر بجلب مفاتيح فك التشفير وإرسالها إلى المشترك، هناك عدة نقاط يجب التفكير فيها: 1. الحصول على المفاتيح: يجب أن تكون لديك طريقة قانونية للحصول على مفاتيح فك التشفير. غالبًا ما تكون هذه المفاتيح ملكًا للموفرين الرسميين للخدمة وتستخدم لضمان أن الأشخاص الذين يدفعون مقابل الخدمة فقط هم من يمكنهم الوصول إليها. 2. إرسال المفاتيح: إذا كان لديك وصول قانوني إلى المفاتيح، فسيكون من الضروري تطوير نظام يمكن المشتركين من الوصول إلى هذه المفاتيح بطريقة آمنة وموثوقة. هذا قد يشمل التحقق من صحة المشتركين وتأكيد أن لديهم اشتراكا صالحا قبل إرسال المفاتيح. 3. التأمين والحماية: يجب أن يكون النظام الذي تطوره آمنًا لمنع الوصول غير المصرح به. هذا يشمل تأمين الاتصالات عبر الإنترنت باستخدام تشفير SSL/TLS، وتخزين المفاتيح بطريقة آمنة، وتطبيق أفضل الممارسات لأمان الويب. 4. الاستضافة: يجب أن تستضيف نظامك على خادم يمكنه التعامل مع الاتصالات المتزامنة ولديه وقت تشغيل عالي لضمان استمرارية الخدمة. 5. القانونية: وكما ذكرت سابقًا، يجب التأكد من أن كل جانب من جوانب النظام يتوافق مع القوانين المحلية والدولية، خاصة فيما يتعلق بحقوق الطبع والنشر والخصوصية.1 نقطة
-
إذا قمت بالإشتراك بإحدى الدورات فيمكنك الوصول للدورات التي اشتركت بها من خلال تسجيل الدخول إلى حسابك في أكاديمية حسوب باستخدام البريد الإلكتروني الذي اشتركت من خلاله ستظهر لك أيقونة جديدة في الشريط العلوي للموقع باسم "دوراتي" كما بالصورة التالية وستجد العديد من الإجابات لبعض الأسئلة الشائعة من خلال هذا الرابط1 نقطة
-
ما الذي تريد فعله بالضبط، هل قمت بالإشتراك في إحدى الدورات أم تريد طرح سؤال معين؟ للوصول لدورة معينة ستجد تبويب باسم دوراتي اضغط عليه وستجد الدورات التي اشتركت بها.1 نقطة
-
هناك بعض المواقع التي تحتوي على تحديات وتمارين بسيطة لمطوري واجهات المستخدم وتكون قريبة لموقع Frontend Mentor: هو موقع DevChallenges: حيث يوجد به تحديات يومية بمستويات بسيطة لتعزيز المهارات في مجال تطوير واجهات المستخدم. كما يوجد مواقع مثل UI Design DailyUplabs: حيث تعتبر هذه المواقع لمشاركة تصاميم واجهات المستخدم. كما أنه في المستوى التالي في ال css خاصة يوجد الموقع التالي CSS Battle: تحديات في تصميم CSS .1 نقطة
-
الموقع الأقرب هو https://www.dailyui.co فخلال 100 يوم يتم تقديم تحديات لك لتنفيذها، والأمر محفز فعلاً. وبخصوص ٌملفات figma فستجد ذلك بالمنصات التالية: https://www.uplabs.com/ https://www.figma.com/community1 نقطة
-
بالتأكيد ذلك ممكن ومنتشر بشدة وهذه قائمة باكثر المواقع انتشارا حول هذا الموضوع في البداية يمكنك قراءة هذا المقال لمعرفة التقنيات والمهارات الواجب عليك تطوير نفسك بها بمجال ال front end ثم يمكنك زيادة هذه المواقع للتدرب على مهاراتك وتطويرها Frontend Mentor: يقدم تحديات تصميم واجهات مستخدم جديدة كل أسبوع، مع ملفات Figma لتحميلها والبدء في العمل عليها. Dribbble: ليس فقط موقعًا لعرض التصاميم، بل يمكنك أيضًا العثور على العديد من القوالب والمشاريع المفتوحة المصدر لتحميلها والعمل عليها. CodePen: يحتوي على العديد من المشاريع والأعمال الفنية التي يمكن استكشافها واستلهام تصاميمك منها. GitHub: يحتوي على العديد من المشاريع العامة والمفتوحة المصدر التي يمكنك العمل عليها وتطويرها. UI Design Daily: يقدم تحديات تصميم يومية مع قوالب Figma لمساعدتك في التدريب والتطوير. Codewell: يوفر تحديات تصميم تفاعلية ومشاريع لتحسين مهارات تصميم واجهات المستخدم. وبالتوفيق لك..1 نقطة
-
وعليكم السلام ورحمة الله، من وجهة نظري أنه من الأفضل أن تتعمق أكثر في رياكت قبل الانتقال لـ Node.js. وذلك لعدة أسباب: رياكت مكون أساسي يجب فهمه جيدا قبل الانتقال لمراحل أعمق. ستستطيع بناء تطبيقات واقعية برياكت وتطبيق ما تعلمته عمليا. سيكون لديك خلفية أفضل عن جانب الويب قبل دخول الجانب الخادم. ستتمكن من الاستفادة مما تعلمته لاحقا عند دراسة Node.js قد تحتاج تعزيز بعض المفاهيم بالتطبيق قبل الانتقال. يجب التمكن من React ومجالاتها المتقدمة (مثل إدارة الحالة مع Redux أو MobX، Context API، Hooks، وغيرها) سيعزز قدراتك في تطوير الواجهات الأمامية. نصيحتي بالتركيز أكثر على رياكت الآن عبر إنشاء مشاريع حقيقية، ثم بعدها البدء في Node.js. سيكون التعلم أكثر استفادة وترابطا.1 نقطة