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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. اليوم
  3. لا مشكلة، لكن مع بعض الخطوات الإضافية المطلوبة لجعل النموذج متوافقًا مع واجهة scikit-learn، حيث توفر Keras واجهة جاهزة KerasClassifier أو KerasRegressor لدمج النماذج مع أدوات scikit-learn مثل GridSearchCV. وتستطيع تحديد أي عدد من القيم لكل معامل فائق ليس فقط 3 أو 4، لكن تذكر أن زيادة عدد القيم يزيد الوقت الحسابي بشكل كبير، واستخدم GridSearchCV كما تفعل مع أي نموذج في scikit-learn.
  4. لا مشكلة يمكنك إتباع الخطوات التي ذكرها المدرب مصطفي للإتصال من الجهاز الأخر وكتابة إسم المستخدم وكلمة المرور التي أنشأتها . أما إذا أردت البدء من جديد فيمكنك إستخدام الأمر التالي لحذف المستخدم الذي أنشأته من خلال الجهاز الخاص به : sudo smbpasswd -x kemo ويمكنك تغير kemo إلى إسم المستخدم على الجهاز الأخر.
  5. عندما نفذت هذا الأمر ، رد على بهذه الرسالة التي في لقطة الشاشة المرفقة وبعدها ذهبت للجهاز الأول لكي اجد المجلد الذي شاركته لكن لم اجده اظن ان المشكلة بسبب وجود مجلدين ظهرو منذ اول محاولتين ولكن احاول حذفهم أو حذف احدهم لكي ابدأ من جديد ولكن لم اجد خيار حذف المجلد KEMO نشأ لما بدات احاول من هذا الجهاز المجلد MOKA نشأ لما بدأ احاول على الجهاز الثاني بدأت من جديد من الجهاز الثاني ولا يظهر خيار local network share فنفذت الأمر sudo apt install nautilus-share ولكن لا يظهر الخيار بالرغم انه كان يظهر في أول محاولة
  6. what other courses would help me with data scientist/AI &machine learning, other than machine learning course
  7. طيب اقدر استخدم الGridsearchCV مع التعلم العميق بستخدم Keras & TensorFlow ؟ واي اجرب اي عديد من القيمه صح مش شرط 3 قيمه بس او 4 ؟
  8. وعليكم السلام ورحمة الله وبركاته. إن ال GridSearch هو أسلوب في تعلم الآلة يتم إستخدامه للبحث عن أفضل مجموعة من المعاملات (hyperparameters) لنموذج معين. فبدلا من تجربة القيم يدويا يقوم GridSearch بالبحث بشكل تلقائي عن جميع التركيبات الممكنة للمعاملات من خلال تحديد نطاقات متعددة لكل معلمة. حيث يتم تحديد مجموعة من القيم الممكنة لكل هايبربارامتر. وم ثم إنشاء شبكة من التركيبات الممكنة للهايبربارامترات المحددة. وبعد ذلك يتم تدريب النموذج لكل تركيبة من التركيبات وتقييم أدائه باستخدام تقييم معين (مثل دقة التصنيف أو خطأ التوقع). وأخيرا يتم اختيار التركيبة التي تعطي أفضل أداء للنموذج. تلخيصا لما سبق فإن بحث مصفوفة المعاملات GridSearch يستخدم لاختبار عدد من المعاملات أو إعدادات النماذج المختلفة دفعة واحدة والعثور على أفضل مجموعة معاملات تحقق أفضل أداء . ولكن تستهلك هذه الطريقة وقتا وموارد حاسوبية كبيرة خاصة إذا كانت المعاملات كثيرة جدا
  9. ذلك أسلوب مُنظم لضبط المعاملات الفائقة Hyperparameters في نماذج التعلم الآلي للعثور على أفضل مجموعة من المعاملات الفائقة التي تُحسّن أداء النموذج كالدقة، السرعة وغيرهم بمعنى تُحدد المعاملات الفائقة التي تريد ضبطها كمُعدل التعلم learning rate وعدد الأشجار في Random Forest والمعاملات الأخرى، وتُحدد القيم المُحتملة لكل معامل كالتالي learning_rate = [0.01, 0.1, 1]. ويُنشئ Grid Search جميع التركيبات الممكنة من القيم المُحددة، أي لو لديك معاملين عدد الأشجار = [50, 100] والعمق الأقصى = [3, 5]، فالشبكة ستكون (50,3), (50,5), (100,3), (100,5). ولكل تركيبة، يُدرّب النموذج ويُقيّم أداؤه باستخدام تقنية مثل k-fold cross-validation، وتُختار التركيبة التي تعطي أفضل أداء بناءًا على مقياس مثل الدقة أو الـF1-score. from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() param_grid = { 'n_estimators': [50, 100, 200], 'max_depth': [None, 10, 20], 'min_samples_split': [2, 5] } grid_search = GridSearchCV(model, param_grid, cv=5) grid_search.fit(X_train, y_train) print(grid_search.best_params_) لكن ذلك غير فعّال في حال بعض المعاملات غير مؤثرة.
  10. السلام عليكم هي اي الGridsearch ؟
  11. هذه المشكلة غالبا بسبب أنه لا يوجد مستخدم koko لديك على النظام بالفعل . حيث تتطلب smbpasswd أن يكون المستخدم موجودا لديك قبل ذلك. لهذا يجب عليك أولا التحقق من وجود المستخدم من خلال الأمر التالي : id koko إذا لم يكن المستخدم موجود يرجى تنفيذ الأمر التالي لإنشاءه : sudo useradd koko بعد ذلك إضافة باسورد لهذا المستخدم : sudo passwd koko الآن يمكنك إستخدام smbpasswd : sudo smbpasswd -a koko وكتابة كلمة مرور جديدة وتكرارها مرة أخرى . ومن ثم تنفيذ الأمر التالي : sudo systemctl restart smbd
  12. ستحتاج إلى رأس Content-Disposition لفرض التحميل، وإرسال محتوى الملف مباشرةً إلى المتصفح ثم حذف الملف من الخادم بعد التحميل لو أردت وذلك اختياري. <?php $host = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'database_name'; // اسم الملف المؤقت على الخادم $backupFile = 'backup_' . $dbname . '_' . date('Y-m-d_H-i-s') . '.sql'; $command = "mysqldump -h $host -u $user"; if (!empty($pass)) { $command .= " -p$pass"; } $command .= " $dbname > $backupFile"; $returnValue = system($command, $output, $returnCode); if ($returnCode === 0 && file_exists($backupFile)) { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($backupFile) . '"'); header('Content-Length: ' . filesize($backupFile)); readfile($backupFile); unlink($backupFile); exit; } else { echo "<b>حدث خطأ أثناء عمل النسخة الاحتياطية:</b><br><br>"; echo "<b>قيمة الخروج من الأمر (Return Code):</b> " . $returnCode . "<br><br>"; if (!empty($output)) { echo "<b>رسائل الخطأ (إن وجدت):</b><pre>"; foreach ($output as $line) { echo htmlspecialchars($line) . "<br>"; } echo "</pre>"; } else { echo "<b>لم يتم الحصول على أي رسائل خطأ تفصيلية من الأمر.</b><br>"; } } ?> unlink($backupFile) لحذف الملف المؤقت $backupFile من الخادم، وكما أشرت إجراء اختياري، ومن الأفضل فعل ذلك حيث لا داعي للاحتفاظ بنسخة احتياطية على الخادم بعد تحميلها للحفاظ على أمن قاعدة البيانات.
  13. لاحظت أن الملف الذي قمت بمشاركته الامس ، تم ازالة علامة المشاركه من عليه تلقائي الآن قمت بالتجربة على مجلد أخر ، وعندما ذهب للجهاز الثاني وسجلت الIP وقمت باعادة تعيين كلمة سر من خلال الterminal يأتني رسالة ان كلمة السر المعادة خاطئة بالرغم اني متأكد انها سليمة ، حتى اني جربت كلمة سر بسيطة جدا مثل 123 اشكرك مقدما على مساعدتك وصبرك
  14. في الجهاز الأول الذي تشارك منه عليك السماح لحركة مرور Samba في جدار الحماية: sudo ufw allow samba sudo ufw reload حاول مرة أخرى إلغاء مشاركة المجلد الحالي، ثم أعد مشاركته بنفس الطريقة، ثم أعد تشغيل samba: sudo systemctl restart smbd بخصوص كلمة المرور، هل قمت بالإتصال عن طريق الضغط على registered user وليس anonymous.
  15. عليك التفكير في هيكل البيانات المناسب للمشكلة قبل الحل، فكتابة الكود هي أخر خطوة، لو استخدمت الكائنات سيؤدي إلى فقدان الأرقام المكررة لأن المفاتيح في الكائنات يجب أن تكون فريدة، استخدم مصفوفة لتخزين كل رقم مع وزنه. وحساب الوزن باستخدام reduce، لحساب مجموع الأرقام لكل عدد بطريقة أكثر كفاءة، ثم الترتيب باستخدام الوزن والترتيب الأبجدي أي عند تساوي الوزن، نقارن الأرقام كسلاسل نصية باستخدام ميثود localeCompare. وعليك معالجة الفراغات من خلال ميثودز trim() و split(/\s+/) للتأكد من التعامل مع الفراغات الزائدة بشكل صحيح. function orderWeight(strng) { const numbers = strng.trim().split(/\s+/).filter(n => n !== ''); if (numbers.length === 0) return ''; return numbers .map(num => ({ num, weight: num.split('').reduce((sum, digit) => sum + parseInt(digit, 10), 0) })) .sort((a, b) => { if (a.weight === b.weight) { return a.num.localeCompare(b.num); } return a.weight - b.weight; }) .map(entry => entry.num) .join(' '); } console.log(orderWeight("56 65 74 100 99 68 86 180 90")); ما قمت به هو تقسيم السلسلة المدخلة إلى مصفوفة من الأرقام مع تجاهل الفراغات الزائدة، وحساب الوزن لكل عدد: بحساب مجموع أرقامه بمعنى 100 هي 1+0+0 = 1. ثم نرتب المصفوفة حسب الوزن، وفي حالة التساوي نرتب أبجديًا، ثم إعادة تجميع النتيجة باستخراج الأرقام المرتبة ونضمّنها في سلسلة واحدة.
  16. سنشرح في هذا المقال آلية معالجة العقد ضمن شجرة المشاهد والترتيب الذي يتبعه محرك الألعاب جودو Godot للتعامل معها، كما سنوضح ما هي مسارات العقد وكيفية التنقل بينها، سيساعدنا ذلك على فهم طريقة تنظيم لعبتنا، والتحكم بها بفعالية أكبر. ترتيب معالجة العقد في شجرة المشاهد يتضمن محرك ألعاب جودو مفهوم يسمى شجرة المشاهد Scene Tree تتكون هذه الشجرة من عدة عقد Nodes، تمثل كل عقدة جزءًا من مشهد اللعبة، ويُذكَر مصطلح ترتيب الشجرة Tree Order في توثيق جودو، ولكنه غير واضح بالنسبة للمبتدئين، حيث يكون هذا الترتيب من أعلى الشجرة لأسفلها بدءًا من الجذر نزولًا إلى كل فرع بدوره، أي يبدأ الترتيب من العقد الرئيسية ثم يتنقل عبر الفروع وصولًا للعقد الفرعية، وهذا الترتيب مهم لأن كل عقدة تؤثر في العقد التي تحتها، لاحظ هذا الترتيب في الشكل التالي: سنرفق هذا الكود بكل عقدة: extends Node func _init(): # ملاحظة: العقدة ليس لها اسم بعد هنا print("TestRoot init") func _enter_tree(): print(name + " enter tree") func _ready(): print(name + " ready") # ‫يضمن ما يلي أننا نطبع مرة واحدة فقط في process()‎ var test = true func _process(delta): if test: print(name + " process") test = false يوضح الكود أعلاه كيفية تفاعل العقدة مع الأحداث المختلفة في شجرة المشاهد، ولنوضح ما يمثله استدعاء كل دالة من الدوال الواردة فيه قبل أن نتحدث عن النتائج: تستدعى الدالة ‎_init()‎ عند إنشاء العقدة أو الكائن لأول مرة، وتكون العقدة حينها موجودة في ذاكرة الحاسوب ولم تُضف لشجرة المشاهد تستدعى الدالة ‎_enter_tree()‎ عند إضافة العقدة للشجرة لأول مرة، ويمكن أن يحدث ذلك عند إنشاء نسخة من العقدة أو عند إنشاء عقدة ابن من عقدة ما باستخدام التابع add_child()‎ مثلًا تستدعى الدالة ‎_ready()‎ عند اكتمال إضافة العقدة وأبنائها بنجاح لشجرة المشاهد وجاهزيتها للعمل تستدعى الدالة ‎_process()‎ بشكل دوري في كل إطار -60 مرة في الثانية عادةً- وذلك لكل عقدة في الشجرة ويمكن استخدامها للتعامل مع التحديثات المتكررة إذا شغّلنا الكود على عقدة واحدة بمفردها، فسيكون ترتيب استدعاء الدوال كالمتوقع وفق ما يلي: TestRoot init TestRoot enter tree TestRoot ready TestRoot process لكن إذا أضفنا عقد أبناء، فسيصبح الأمر أكثر تعقيدًا وقد يحتاج إلى بعض التوضيح: TestRoot init TestChild1 init TestChild3 init TestChild2 init TestRoot enter tree TestChild1 enter tree TestChild3 enter tree TestChild2 enter tree TestChild3 ready TestChild1 ready TestChild2 ready TestRoot ready TestRoot process TestChild1 process TestChild3 process TestChild2 process طبعت جميع هذه العقد رسائلها بترتيب الشجرة من الأعلى إلى الأسفل باستثناء الشيفرة البرمجية الخاصة بالتابع ‎_ready()‎ والذي يُستدعَى عندما تكون العقدة جاهزة، أي عندما تدخل العقدة وأبناؤها شجرة المشاهد، فإذا كان للعقدة أبناء، فستُشغَّل استدعاءات التابع ‎_ready الخاصة بالأبناء أولًا، وستتلقى العقدة الأب إشعار الجاهزية بعد ذلك كما يوضح توثيق جودو الرسمي. يقودنا ذلك إلى قاعدة أساسية مهمة يجب تذكرها عند إعداد بنية العقد وهي: يجب أن تدير العقد الأب أبناءها وليس العكس، ويجب أن تكون أيّ شيفرة برمجية للعقدة الأب قادرةً على الوصول الكامل إلى بيانات أبنائها، لذا يجب معالجة استدعاءات التابع ‎_ready()‎ بترتيب الشجرة العكسي. علينا تذكّر ذلك عند محاولة الوصول لعقد أخرى في التابع ‎_ready()‎، فإذا كنا بحاجة للانتقال لأعلى الشجرة إلى عقدة أب أو عقدة جَد، فيجب تشغيل هذه الشيفرة البرمجية في العقدة الأب وليس في العقدة الابن. فهم مسارات العقد والتنقل في شجرة المشاهد تُستخدم مسارات العقد Node Paths في جودو لفهم كيفية التنقل بين العقد في شجرة المشاهد Scene Tree. وهذه المسارات أساسية لفهم كيفية الوصول للعقد المختلفة داخل الشجرة وتجنب مشكلة وجود مرجع عقدة غير صالح، والتي تظهر على هيئة رسالة خطأ كالتالي: Invalid get index ‘position’ (on base: ’null instance’). يُعَد الجزء الأخير من رسالة الخطأ null instance مصدر هذه المشكلة، وهو يسبب إرباكًا للمبتدئين في جودو، ويمكن تجنّب هذه المشكلة من خلال فهم مفهوم مسارات العقد. مسارات العقد تتكون شجرة المشهد من عقد ترتبط ببعضها البعض بعلاقات أب-ابن، ومسار العقد هو المسار المُتّخَذ للانتقال من عقدة إلى أخرى من خلال التحرّك عبر هذه الشجرة. لنأخذ مثلًا مشهد لاعب بسيط كما يلي: يوجد كود هذا المشهد في العقدة Player. إذا كان السكربت بحاجة إلى استدعاء الدالة play()‎ مع العقدة AnimatedSprite، فسيحتاج إلى مرجع إلى تلك العقدة: get_node("AnimatedSprite").play() إن وسيط الدالة get_node()‎ هو سلسلة نصية تمثّل المسار إلى العقدة المطلوبة، وتكون هذه السلسلة النصية في حالتنا هي ابن العقدة التي يوجد ضمنها الكود. إذا كان المسار المُقدّم لها غير صالح، فسنحصل على خطأ null instance وخطأ عدم العثور على العقدة Node not found أيضًا. يُعَد الحصول على مرجع عقدة باستخدام الدالة get_node()‎ حالة شائعة لدرجة أن لغة GDScript لديها اختصار له حيث يمكنك كتابة $ للوصول إلى العقدة مباشرة بدلًا من استدعاء الدالة، على سبيل المثال للوصول إلى العقدة AnimatedSprite‎ وتشغيل الدالة ()play عليها مباشرة نكتب: $AnimatedSprite.play() ملاحظة: تعيد الدالة get_node()‎ مرجعًا Reference إلى العقدة المطلوبة. لنأخذ الآن مثالًا لشجرة مشهد أكثر تعقيدًا كما يلي: إذا احتاج الكود المرفق بالعقدة Main إلى الوصول إلى العقدة ScoreLabel، فيمكنه ذلك باستخدام هذا المسار: get_node("HUD/ScoreLabel").text = "0" # ‫أو باستخدام الاختصار: $HUD/ScoreLabel.text = "0" ملاحظة: سيكمل محرر جودو المسارات تلقائيًا نيابةً عنا عند استخدام صيغة $، ويمكننا أيضًا النقر بزر الفأرة الأيمن على عقدة ما في تبويب المشهد Scene واختيار نسخ مسار العقدة Copy Node Path. إذا كانت العقدة التي نريد الوصول إليها موجودة في مكان أعلى من الشجرة، فيمكننا استخدام الدالة get_parent()‎ أو ".." للإشارة إلى العقدة الأب، حيث يمكننا الحصول على العقدة Player من العقدة ScoreLabel في شجرة المثال السابق كما يلي: get_node("../../Player") يمثّل المسار ‎"../../Player"‎ الحصول على العقدة التي تقع في مستوى واحد أعلى HUD ثم العقدة التي تقع في مستوى أعلى وهي Main ثم الوصول إلى العقدة الابن لها وهي Player. ملاحظة: تعمل مسارات العقد مثل مسارات المجلدات في نظام التشغيل، حيث تشير الشرطة المائلة / إلى علاقة أب-ابن، وتعني .. مستوى واحد أعلى. المسارات النسبية Relative والمسارات المطلقة Absolute تستخدم جميع الأمثلة السابقة مسارات نسبية، لأنها تبدأ من العقدة الحالية وتتبع المسار إلى الوجهة، ولكن يمكن أن تكون مسارات العقد مطلقة أيضًا بحيث تبدأ من العقدة الجذر للمشهد، فمثلًا يكون المسار المطلق إلى عقدة اللاعب هو: get_node("/root/Main/Player") لا يعيد المسار ‎/root والذي يمكن الوصول إليها أيضًا باستخدام get_tree().root العقدة الجذر لمشهدنا الحالي، ولكنه يعيد العقدة الجذر لنافذة العرض Viewport التي توجد دائمًا في شجرة المشهد SceneTree افتراضيًا. مشكلة في التعامل مع مسارات العقد في جودو تعمل الأمثلة السابقة بنجاح، ولكن توجد بعض الأشياء التي يجب أن نكون على دراية بها والتي قد تسبب مشكلات لاحقًا. لنفترض أن لدينا الحالة التالية: تحتوي العقدة Player على الخاصية health التي نريد عرضها في العقدة HealthBar في مكان ما في واجهة المستخدم الخاصة بنا، لذا يمكن كتابة شيء يشبه ما يلي في كود اللاعب: func take_damage(amount): health -= amount get_node("../Main/UI/HealthBar").text = str(health) قد يكون هذا السكربت جيدًا في البداية، ولكن يمكن أن يواجه خطأ بسهولة، إذ توجد مشكلتان رئيسيتان في هذا النوع من الترتيب وهما: لا يمكننا اختبار مشهد اللاعب بصورة مستقلة، فإذا شغلنا مشهد اللاعب بمفرده أو في مشهد اختبار دون واجهة مستخدم، فسيسبّب سطر الدالة get_node()‎ في حدوث عطل لا يمكننا تغيير واجهة المستخدم الخاصة بنا، فإذا قررنا إعادة ترتيبها أو تصميمها، فلن يكون المسار صالحًا بعد الآن ويجب تغييره لذا علينا تجنب استخدام مسارات العقد التي تنتقل إلى الأعلى في شجرة المشهد. إذا أصدر اللاعب في المثال السابق إشارة عند تغير مستوى صحته health، فيمكن لواجهة المستخدم الاستماع إلى هذه الإشارة لتحديث نفسها، ثم يمكننا إعادة ترتيب العقد والفصل بينها دون الخوف من توقف اللعبة. الخاتمة نأمل أن يكون هذا المقال قد ساعدكم على تكوين فكرة واضحة حول استخدام مسارات العقد في جودو، والطريقة الصحيحة للتنقل بين العقد والاتصال بالعناصر التي تحتاجوها في شجرة المشاهد. ففهم مسارات العقد هو الأساس الذي يمكننا البناء عليه لتفادي العديد من الأخطاء الشائعة ورسائل الخطأ مثل null instance والإشارة لأي عقدة نحتاجها بالطريقة الصحيحة. ترجمة -وبتصرّف- للقسمين Understanding tree order و Understanding node paths من توثيقات Kidscancode. اقرأ أيضًا المقال السابق: إنشاء شخصيات ثلاثية الأبعاد في جودو Godot كتابة سكربتات GDScript وإرفاقها بالعقد في جودو استخدام الإشارات Signals في جودو Godot لغات البرمجة المتاحة في جودو Godot
  17. شكراً جزيلاً الله يعطيك العافية أعتذر عن الإزعاج سآخذ نصائحك بعين الإعتبار إن شاء الله
  18. نعم بالطبع يوجد فرق بين حقوق المستأجر و الشخص المستفيد من العقار وهذا يعتمد على طبيعة العلاقة القانونية بين كل منهما وبين مالك العقار وهذا يختلف من دولة إلى أخرى حسب القانون. المستأجر : هو الشخص الذي يحصل على حق استخدام العقار لفترة محددة بموجب عقد إيجار مع المالك المباشر للعقار.وحقوقه هي : حق الاستخدام: يحق للمستأجر استخدام العقار وفق الشروط المتفق عليها في عقد الإيجار. حق الحماية من الإخلاء: لا يمكن للمالك إخلاء المستأجر قبل إنتهاء المدرة في العقد وذلك وفقا للشروط القانونية أو التي تم الإتفاق عليها في العقد. حق الصيانة: للمستأجر الحق في طلب صيانة العقار من المالك إذا كانت هناك مشاكل تؤثر على استخدامه وليس للمستأجر سبب أو دخل بها. حق التجديد: من الممكن وفي بعض الحالات يكون للمستأجر الحق في تجديد عقد الإيجار بعد انتهاء المدة المذكورة في العقد مع زيادة نسبة الإيجار المتفق عليها سنويا سواء في القانون أو في العقد. المستفيد : هو الشخص الذي يحصل على منفعة من العقار دون أن يكون بالضرورة طرف مباشر في عقد إيجار. فقد يكون المستفيد مستخدم للعقار بموجب ترتيب خاص، مثل الإعارة أو الحقوق العرفية مثل سكن الزوجة والأولاد بدلا من الزوج أو أى شخص أخر من طرف المستأجر مثل الميراث وغيرها وحقوقه هي: حق الاستخدام: للمستفيد حق استخدام العقار ولكن هذا الحق غالبا ما يكون محدود ولا يتمتع بنفس القوانين التي يتمتع بها المستأجر. لا يوجد عقد إيجار رسمي بين المستفيد ومالك العقار مما يعني أن حقوق المستفيد ليست واضحة لأنه لم يقم بالإيجار أو عقد إيجار ملزم مع المالك ولهذا باقي الحقوق تعتمد على العلاقة بين المستفيد والشخص المؤجر.
  19. الشخص الذي يستأجر العقار لفترة زمنية محددة هو المُستأجر، وذلك بموجب عقد إيجار يبرم مع مالك العقار وهو المؤجر، وحقوق المستأجر مستمدة بشكل أساسي من عقد الإيجار والقوانين المنظمة للعلاقة الإيجارية في بلدك. وتلك الحقوق هي الحق في الانتفاع بالعقار، السكن الهادئ والآمن، صيانة العقار، الخصوصية، تجديد عقد الإيجار في بعض الحالات وبشروط معينة، الحماية من الإخلاء التعسفي، الحصول على نسخة من عقد الإيجار والحقوق الأخرى المنصوص عليها في عقد الإيجار والقوانين المحلية، أي له حقوق مؤقتة بالإنتفاع بالعقار لفترة محددة بموجب العقد. أما المستفيد من العقار فهو الشخص الذي يستفيد من العقار بشكل أو بآخر، ولكن ليس بالضرورة أن يكون هو المستأجر أو المالك المباشر، أي المستفيد مصطلح أوسع وأشمل، يشمل المستفيد من الوقف الخيري أو الأهلي، المستفيد من الوصية أو الميراث، المستفيد من حق الانتفاع والمستفيد من عقد التأمين على العقار، ونطاق الحقوق واسع ومتنوع ويعتمد بشكل كبير على نوع الاستفادة الممنوحة وظروفها وتتراوح بين مؤقتة ودائمة.
  20. هل يوجد فرق بين حقوق المستأجر والمستفيد من العقار؟
  21. دورة علوم الحاسوب توفر لك معلومات مكثفة حول مختلف مفاهيم لغات وتقنيات البرمجةو هي أساسية لزيادة معلوماتك حول مجال التقنية بشكل عام. و بانتهائك منها سيكون لديك خبرة جيّدة بدءً من الأساسيات والأفكار والمناهج النظرية مثل هندسة البرمجيات والبرمجة كائنية التوجه إلى التعامل مع أنظمة التشغيل ولغات البرمجة التي تم التطرق لها من خلال الأمثلة العملية في الدروس، وأيضاً سيكون لديك معرفة شاملة حول قواعد البيانات وطرق التعامل مع النوعين العلائقي وغير العلائقي. وفيها أيضاً مسار مخصص للدخول إلى عالم الويب والتعرّف على آلية عمل مطوري الويب في حال أحببت الانتقال إلى مجالات تطوير الويب لاحقاً لهذا إذا أردت التخصص في الواجهة الخلفية أو الأمامية فهذا المسار مهم جدا. ولذلك فتلك الدورة مهمة للتأسيس عليها وفهم أساسيات الحسوب و التعامل مع الخوادم والأنظمة وتعلم الخوارزميات وهياكل البيانات. أما بخصوص العمل فيمكنك التحدث بشكل أحسن مع مركز المساعدة سيساعدونك بخصوص هذا الامر. ويمكنك قراءة الإجابات التالية لمزيد من التفاصيل حول الدورة :
  22. الدورة بمثابة تأهيل لدخول مجال البرمجة، وستتعلم بها الأساسيات اللازمة لإختيار المجال البرمجي المناسب الذي تريده والذي يتم إختياره حسب المطلوب في سوق العمل المراد العمل به أي الذي تستهدفه. ستتعلم بها ما يلي: أساسيات البرمجة بتعلم المنطق البرمجي أولاً من خلال سكراتش ثم تعلم كتابة الكود من خلال لغة برمجية وهي بايثون وجافاسكريبت ثم تعلم الخوارزميات وهياكل البيانات ثم تعلم مفاهيم أخرى خاصة بعلوم الحاسوب، ستجد تفصيل هنا:
  23. صباح الخير بماذا تفيدني دورة علوم الحاسوب في سوق العمل، وما ھي المھارات اللتي سوف ؤتقنھا ، وما ھي الوظائف اللتي يمكنني التقدم إليھا بعد إكمال الدورة ؟
  24. يرجى مستقبلا حين رفع المشروع أن يتم رفع مجلد المشروع فقط المراد الإستفسار عنه وعدم رفع مجلدات أخرى معه وذلك حتى لا يكون حجم الملف كبيرا وأيضا حتى نستطيع مساعدتك بشكل أفضل. أولا يوجد لديك الكثير من الأخطاء في المشروع وخصوصا في التعامل مع livewire لذلك أنصحك بمذاكرة livewire أولا قبل التعامل معه حتى تستطيع بناء المشروع بشكل وهيكل جيد . حيث حاليا لا يفيدك livewire بأى شئ لأنك تستعمله بشكل خاطئ وغير صحيح. ثانيا يجب عليك حذف جميع التي تستخدم فيها @livewireScripts ويجب أن تتركها فقط في ال layout الرئيسي لأن ذلك يسبب تعارضات كثيرة لديك. أما بخصوص المشكلة فهي بسبب أنك تستخدم ملفات blade عادية وتقوم بإستدعائها من خلال @include وتريد أن تستدعي بها خصائص livewire مثل wire:click وغيرها وهذا لن يعمل حيث تعمل تلك الخصائص فقط في مكونات livewire . لذلك يجب عليك إستخدام مكون product-filter لأنه هو المكون livewire الوحيد لديك والذي توجد به الدالة setCategory . وأيضا يجب نقل ال filter و ال catergoy و ال product بداخل هذا المكون. لذلك يرجى في الملفات التالية resources\views\gallery.blade.php و resources\views\livewire\product-filter.blade.php تعديلهم ليتناسبوا مع livewire وإستدعاء المكونات بشكل صحيح. لقد قمت بإرفاق الملف لك بعد تعديلهم وإستخدام المكونات الصحيحة والآن كل شئ سيعمل معك. gallery.blade.php product-filter.blade.php
  25. تصنيف المنتجات يعمل وتظهر منتجات الفئة الأولى ولكن لا شيء يحدث عندما أنقر على أي تصنيف آخر seniorProject.zip
  26. وعليكم السلام ورحمة الله وبركاته. ينبغي عليك أن يكون لديك معرفة في طريقة التعامل وكيفية إستخدام إستعلامات SQL المسؤولة عن التعامل مع البيانات وإستخراجها وأيضا كيفية البحث والترشيح في تلك البيانات . وأرشح لك المقالين التاليين لتتعلم كيف تتعامل مع البيانات و إرجاعها بالطريقة التي تريدها وأيضا كيف تقوم بالبحث بداخل تلك البيانات : ولنفرض مثلا أن الجدول لديك يحتوي التالي : student_id: معرّف الطالب student_name: اسم الطالب department: التخصص فمثلا لو أردت معرفة عدد الطلاب في كل تخصص أو قسم يمكنك إستعمال الإستعلام التالي : SELECT department, COUNT(*) AS total_students FROM students GROUP BY department ORDER BY total_students DESC; لو أردت مثلا إحضار الطلاب في قسم أو تخصص معين يمكنك إستخدام الإستعلام التالي : SELECT student_name FROM students WHERE department = 'Computer'; وهكذا يمكنك بناء أى إستعلام تريده بناء على هيكل الجدول لديك وما هي التقارير التي تريد إنشاءها . أما إذا كنت تقصد عرضها أيضا في صفحة الموقع كرسومات بيانية فأنت ستحتاج مكتبة java script خاصة بعرض التقارير ويمكنك قراءة المقال التالي لأشهر المكتبات الخاصة بذلك وأنصحك بمكتبة charts.js فهي ممتازة في هذا الجزء :
  1. عرض المزيد
×
×
  • أضف...