-
المساهمات
1359 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبد الوهاب بومعراف
-
حسنا هذا مثال باستخدام مكتبة Smarty. لنبدأ أولا بصفحة تعديل القالب التي ستسمح للمستخدم بتحرير محتوى ملفات القالب من خلال لوحة التحكم. <?php require_once('init.php'); $template = isset($_GET['template']) ? $_GET['template'] : 'default'; $templateDir = __DIR__ . "/templates/{$template}"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $filepath = $templateDir . '/' . $_POST['file']; file_put_contents($filepath, $_POST['content']); echo "Template updated successfully!"; } $files = array_diff(scandir($templateDir), ['..', '.']); $selectedFile = isset($_POST['file']) ? $_POST['file'] : (reset($files) ?: ''); ?> ولتثبيته هذا مثال عليه: <!DOCTYPE html> <html> <head> <title>Edit Template</title> </head> <body> <h1>Edit Template: <?php echo htmlspecialchars($template); ?></h1> <form method="get"> <label for="template">Select Template:</label> <select name="template" id="template" onchange="this.form.submit()"> <?php $templates = array_diff(scandir(__DIR__ . '/templates'), ['..', '.']); foreach ($templates as $tpl) { echo "<option value='{$tpl}'" . ($tpl == $template ? ' selected' : '') . ">{$tpl}</option>"; } ?> </select> </form> <form method="post"> <label for="file">Select File:</label> <select name="file" id="file" onchange="this.form.submit()"> <?php foreach ($files as $file) { echo "<option value='{$file}'" . ($file == $selectedFile ? ' selected' : '') . ">{$file}</option>"; } ?> </select> <br> <textarea name="content" rows="20" cols="80"><?php echo htmlspecialchars(file_get_contents($templateDir . '/' . $selectedFile)); ?></textarea> <br> <input type="submit" value="Save"> </form> </body> </html>
-
Matplotlib هي مكتبة رسم بياني في بايثون تقدم تحكما دقيقا في تفاصيل الرسوم البيانية وتتيح مرونة كبيرة في التخصيص، كما يمكن استخدامها لإنشاء رسوم بيانية بسيطة ومعقدة وتدعم مجموعة واسعة من الأنواع مثل الخطوط والأشرطة والدوائر وحتى الرسوم البيانية ثلاثية الأبعاد. في حين أن Seaborn مبنية على Matplotlib وتستخدم لإنشاء رسوم بيانية أكثر تعقيدا وجمالية بشكل أسهل وتأتي بأنماط جاهزة تجعل الرسوم البيانية أكثر جاذبية وتوفر دوال مدمجة لإنشاء الرسوم البيانية الإحصائية بسهولة. كما أنها تتكامل بسهولة مع مكتبة Pandas، مما يجعلها مناسبة لتحليل البيانات والاستكشاف في النهاية فإن اختيار المكتبة يعتمد على احتياجات المشروع، فإذا كنت بحاجة إلى تخصيص دقيق، فإن Matplotlib هي الأفضل، أما إذا كنت تريد سهولة في الاستخدام ورسوم بيانية جميلة بسرعة، فإن Seaborn هي الخيار الأنسب.
- 3 اجابة
-
- 1
-
-
إذا بدأت بدورة علوم الحاسوب وليس لديك خبرة سابقة، نعم يمكنك دخول سوق العمل بعد الانتهاء منها بشرط أن تكون الدورة شاملة وتغطي الأساسيات مثل البرمجة وهياكل البيانات والخوارزميات. مسألة الدخول لسوق العمل برأيي أنه لا يحتاج اكتساب خبرة كبيرة، فيمكن البدء من خلال العمل على مشاريع صغيرة نجد أنفسنا قادرين على حلها ثم التدرج شيئا فشيئا وبالطبع سنتعلم أكثر من خلال المشاريع التي ننجزها. من المهم أيضًا أن تطبق ما تتعلمه من خلال مشاريع عملية وتبقى على اطلاع بالتطورات الجديدة في المجال. الخبرة العملية، سواء من خلال التدريب أو العمل بدوام جزئي، ستساعدك كثيرا. وإذا وجدت نفسك مهتما بمجال معين بعد الانتهاء من الدورة، يمكنك متابعة التعلم في هذا المجال لتزيد من فرصك في الحصول على وظيفة مناسبة مستقبلا، فهذه الدورة يبدو أنها ضرورية لدخول الدورات الأخرى وتعلمها. يمكنك مراجعة الاستفسارات والإجابات حول دورة علوم الحاسوب من هنا:
-
العديد من المواقع توفر إمكانية تصميم صفحات ويب باستخدام قوالب جاهزة، وتتيح لنا أيضا تحميل الكود الخاص بالموقع بعد الانتهاء من التعديلات. من بين هذه المواقع، موقع Wix وهو أحد الخيارات الشهيرة، حيث يمكن استخدام واجهة مستخدم بديهية وسهلة لتصميم الموقع دون الحاجة إلى كتابة أي كود وبعد الانتهاء من تصميم الموقع، يمكن تصديره كملفات HTML وCSS وJavaScript. Squarespace هو الآخر يقدم خدمة مماثلة، حيث يتيح استخدام مجموعة من القوالب الاحترافية التي يمكن تخصيصها بسهولة. بعد تصميم الموقع، يمكن نشره مباشرة أو تصديره للاحتفاظ بنسخة من الكود. WordPress غني عن التعريف وهو يعتبر منصة مرنة للغاية، خصوصا عند استخدام إضافات مثل Elementor أو Divi. فهذه الإضافات توفر واجهات سحب وإفلات تتيح تصميم الموقع بدون كتابة كود. بعد الانتهاء، يمكن تصدير الكود الخاص بالموقع فإذا كنت تستخدم مكونات إضافية معينة تدعم هذه الخاصية. Bootstrap Studio هو تطبيق يمكن تنزيله، ويتيح تصميم مواقع باستخدام Bootstrap من خلال واجهة سحب وإفلات أيضا والعديد من المواقع تعمل بنفس المبدأ لأن استخدام هذه الأدوات يوفر الوقت والجهد لكن استخدامها قد لا يكون مناسبا عندما تحتاج إلى تخصيصات متقدمة جدا أو تفاعلات معقدة لا تستطيع هذه الأدوات توفيرها بشكل كامل. فإذا كان الأداء الأمثل هو هدف رئيسي، فقد تنتج هذه الأدوات كودا غير فعال مما يؤثر سلبا على سرعة وأداء الموقع. ففي المشاريع التي تتطلب توافقا مع أنظمة أو متصفحات قديمة، قد يكون من الضروري كتابة الكود يدويا لضمان التوافق الكامل. أما بالنسبة للمشاريع التي تتطلب مستويات عالية من الأمان، الاعتماد على أدوات التصميم بدون كود قد يكون غير كاف لضمان كل متطلبات الأمان الضرورية.
-
أنصحك باتباع خطة تتضمن الاستماع للدرس مرة واحدة بتركيز ثم تدوين الملاحظات، وبعد الانتهاء من الدرس، تقوم بتلخيص المفاهيم والدوال الرئيسية مع استخداماتها ثم افتح محرر الأكواد وابدأ في تجربة الدوال والأمثلة التي تم شرحها. مع محاولة تطبيق ما تتعلمه فورا لترسيخ المفاهيم وتثبيتها في ذهنك. لتحقيق أفضل النتائج، من المفيد البحث عن مصادر إضافية للتعلم. يمكنك الاعتماد على أكاديمية حسوب حيث توفر العديد من المقالات والمصادر من بينها: كما يمكنك استخدام موقع roadmap.sh للحصول على خارطة طريق مفصلة توضح المهارات والمفاهيم التي يجب تعلمها لتصبح مطور بايثون محترف فتلك الخارطة تقدم ترتيبا منطقيا للموضوعات وتساعد على تتبع تقدمك في التعلم وهذا رابطها: Step by step guide to becoming a Python developer in 2024
-
أول خطوة نقوم بتنظيم ملفات القوالب وذلك من خلال إنشاء مجلد `templates` في جذر الموقع، ونضع بداخله مجلدات لكل قالب بحيث يكون لكل مجلد قالب يحتوي على ملفات `.tpl` الخاصة به هكذا: project_root/ |-- templates/ | |-- template1/ | | |-- header.tpl | | |-- footer.tpl | | |-- index.tpl | |-- template2/ | |-- header.tpl | |-- footer.tpl | |-- index.tpl |-- other_files_and_folders/ لإعداد نظام القوالب نستخدم مكتبة مثل Smarty لتسهيل الأمر، نقوم بتثبيتها من خلال ال Composer composer require smarty/smarty ثم نقوم بإعداد ملف php: require_once('vendor/autoload.php'); $smarty = new Smarty; $template = isset($_GET['template']) ? $_GET['template'] : 'default'; $templatePath = __DIR__ . "/templates/{$template}"; $smarty->setTemplateDir($templatePath); $smarty->setCompileDir('templates_c'); $smarty->setCacheDir('cache'); $smarty->setConfigDir('configs'); // Assign variables and display template $smarty->assign('name', 'Abdelouahab'); $smarty->display('index.tpl'); ثم نقوم بإنشاء صفحة في لوحة التحكم لعرض وتعديل ملفات القوالب بهذا الشكل: $templatesDir = __DIR__ . '/templates'; $templates = array_diff(scandir($templatesDir), ['..', '.']); foreach ($templates as $template) { echo "<a href='edit_template.php?template={$template}'>{$template}</a><br>"; } صفحة تعديل القالب: $template = isset($_GET['template']) ? $_GET['template'] : ''; $filepath = __DIR__ . "/templates/{$template}/index.tpl"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { file_put_contents($filepath, $_POST['content']); } $content = file_get_contents($filepath); ?> <form method="post"> <textarea name="content" rows="20" cols="80"><?= htmlspecialchars($content) ?></textarea><br> <input type="submit" value="Save"> </form> ثم نضيف جدول في قاعدة البيانات لحفظ القالب المختار من قبل المستخدم: CREATE TABLE settings ( id INT AUTO_INCREMENT PRIMARY KEY, template VARCHAR(255) NOT NULL ); ثم نقوم بحفظ القالب: $template = $_POST['template']; $pdo = new PDO('mysql:host=localhost;dbname=your_db', 'username', 'password'); $stmt = $pdo->prepare("UPDATE settings SET template = ? WHERE id = 1"); $stmt->execute([$template]); ثم نستخدمه من خلال هذه الشيفرة: $stmt = $pdo->query("SELECT template FROM settings WHERE id = 1"); $template = $stmt->fetchColumn(); $templatePath = __DIR__ . "/templates/{$template}"; $smarty->setTemplateDir($templatePath); $smarty->assign('name', 'Abdelouahab'); $smarty->display('index.tpl'); وأخيرا في لوحة التحكم، نقوم بإضافة خيار لتحديد القالب الحالي من خلال إنشاء قائمة منسدلة (Dropdown) لاختيار القالب، وتحديث القيمة في قاعدة البيانات عند التغيير هكذا: $templatesDir = __DIR__ . '/templates'; $templates = array_diff(scandir($templatesDir), ['..', '.']); echo "<form method='post'>"; echo "<select name='template'>"; foreach ($templates as $template) { echo "<option value='{$template}'>{$template}</option>"; } echo "</select>"; echo "<input type='submit' value='Save'>"; echo "</form>"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $selectedTemplate = $_POST['template']; $stmt = $pdo->prepare("UPDATE settings SET template = ? WHERE id = 1"); $stmt->execute([$selectedTemplate]); }
- 4 اجابة
-
- 1
-
-
بداية، ستحتاج إلى إنشاء نموذج Django يعبر عن البيانات التي تريد تخزينها لنفترض أنك تريد حفظ اختيار المستخدم في حقل يسمى 'choice' فأول خطوة كما ذكرنا هي إنشاء النموذج على النحو التالي في ملف `models.py`: from django.db import models class ChoiceModel(models.Model): CHOICES = [ ('option1', 'Option 1'), ('option2', 'Option 2'), ('option3', 'Option 3'), ] choice = models.CharField(max_length=10, choices=CHOICES) def __str__(self): return self.choice وهذا النموذج يحتوي على حقل يتضمن خيارات ثابتة يمكن للمستخدم الاختيار منها. ثاني شيء ستحتاج إلى إنشاء نموذج Form يعرض القائمة المنسدلة في HTML ننشؤه من خلال ملف forms.py على النحو التالي: from django import forms from .models import ChoiceModel class ChoiceForm(forms.ModelForm): class Meta: model = ChoiceModel fields = ['choice'] ولتوضيح الفكرة فهذا النموذج يستخدم النموذج الذي أنشأته في الخطوة السابقة لعرض القائمة المنسدلة في HTML. بعدها ستحتاج إلى إنشاء عرض أو (View) يعرض النموذج ويتعامل مع البيانات المرسلة من المستخدم ننشؤه في ملف views.py على النحو التالي: from django.shortcuts import render, redirect from .forms import ChoiceForm def choice_view(request): if request.method == 'POST': form = ChoiceForm(request.POST) if form.is_valid(): form.save() return redirect('success') else: form = ChoiceForm() return render(request, 'choice_form.html', {'form': form}) هذا العرض يتأكد من أن النموذج يتم عرضه بشكل صحيح ويتعامل مع إرسال البيانات فإذا كان الطلب من نوع POST يتم التحقق من صحة النموذج وحفظ البيانات في قاعدة البيانات لكن سنحتاج إلى إنشاء قالب HTML يعرض النموذج. يمكنك إنشاء هذا القالب في ملف choice_form.html داخل مجلد `templates` على النحو التالي: <!-- templates/choice_form.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Choice Form</title> </head> <body> <h1>اختر من القائمة المنسدلة</h1> <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">إرسال</button> </form> </body> </html>
- 1 جواب
-
- 1
-
-
لحل المشكلة يمكنك تعطيل الكود في ملف 'AuthServiceProvider.php' مؤقتا حتى يتم إنشاؤه بنجاح أثناء عملية الترحيل والبذر لأنه يستخدم جدول 'permissions' كما هو موضح هنا: /* Permission::whereIn('name', ['edit-post', 'delete-post', 'add-post'])->get()->map(function($per) { Gate::define($per->name, function($user, $post) use ($per) { return $user->hasAllow($per->name) && ($user->id == $post->user_id || $user->isAdmin()); }); }); Permission::whereIn('name', ['edit-user', 'delete-user', 'add-user'])->get()->map(function($per) { Gate::define($per->name, function($user) use ($per) { return $user->hasAllow($per->name) && $user->isAdmin(); }); }); */ ثم قم بتشغيل الأمر التالي لإنشاء مفتاح التطبيق: php artisan key:generate ثم تأكد من إدخالك لمعلومات الاتصال الصحيحة في ملف `.env` مثلما هو موضح هنا: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=اسم_قاعدة_بياناتك DB_USERNAME=اسم_مستخدم_قاعدة_بياناتك DB_PASSWORD=كلمة_مرور_قاعدة_بياناتك والآن يمكنك القيام بتشغيل الأمر التالي لترحيل الجداول وتعبئتها بالبيانات الأولية: php artisan migrate:fresh --seed وبعد الانتهاء من الترحيل والبذر بنجاح، افتح ملف `AuthServiceProvider.php` مرة أخرى وقم بإزالة التعليق عن الأسطر التي علقتها سابقا. Permission::whereIn('name', ['edit-post', 'delete-post', 'add-post'])->get()->map(function($per) { Gate::define($per->name, function($user, $post) use ($per) { return $user->hasAllow($per->name) && ($user->id == $post->user_id || $user->isAdmin()); }); }); Permission::whereIn('name', ['edit-user', 'delete-user', 'add-user'])->get()->map(function($per) { Gate::define($per->name, function($user) use ($per) { return $user->hasAllow($per->name) && $user->isAdmin(); }); }); وشغل المشروع مباشرة: php artisan serve ففي هذه العملية، قمنا بتعليق الكود مؤقتا لتجنب حدوث خطأ عند تشغيل الأوامر المتعلقة بتهيئة قاعدة البيانات. فالكود الذي يتم تعليقه يستخدم جدول permissions، وهو جدول لم يتم إنشاؤه بعد. تعليق الكود مؤقتا هنا سيسمح لك بإتمام عملية الترحيل والبذر بنجاح وبمجرد أن يتم إنشاء الجدول من خلال عملية الترحيل والبذر، يمكن إزالة التعليق وإعادة تفعيل الكود لتشغيله بشكل طبيعي.
-
نعم، يمكنك استخدام منصات مثل Glide أو AppSheet أو Power Apps لتحويل ملف بصيغة Excel يحتوي على معادلات إلى تطبيق موبايل يعمل على نظام أندرويد. لتحويل ملفك باستخدام Glide، قم بتحويل ملف Excel إلى Google Sheets برفعه على Google Drive، ثم الذهاب إلى موقع Glide وإنشاء مشروع جديد بربطه بملف Google Sheets. لاستخدام Glide يمكنك التوجه للموقع موقع GLIDE والتسجيل باستخدام حساب Google ثم: الضغط على "New Project" لإنشاء مشروع جديد. اختيار "Google Sheets" كمصدر البيانات، ثم اختيار جدول البيانات الذي قمت بإنشائه سابقا. بعد ربط جدول البيانات، سيتم توجيهك إلى واجهة تصميم التطبيق في Glide. يمكنك تخصيص شاشات التطبيق، الأزرار، النماذج، والعناصر الأخرى حسب احتياجاتك. والتأكد من أن جميع البيانات والمعادلات تظهر وتعمل بشكل صحيح داخل التطبيق. بعد الانتهاء من تخصيص التطبيق، اختبره جيدا للتأكد من أن كل شيء يعمل كما هو متوقع فإذا كان كل شيء صحيحا، اضغط على "Publish" لنشر التطبيق وستتمكن من مشاركة رابط التطبيق أو رمز الاستجابة السريعة (QR code) للوصول إليه على جهاز أندرويد.
- 2 اجابة
-
- 1
-
-
الأغلب أن مشكلة الألوان عند الطباعة يمكن حلها من خلال ضبط إعدادات الطابعة على نوع الورق اللاصق الذي تستخدمه وهذا الإعداد موجود في خصائص الطابعة ضمن خيارات الطباعة مع تنزيل وتثبيت ملف تعريف الألوان المناسب للطابعة والورق اللاصق من موقع الشركة المصنعة للطابعة. هذا سيساعد الطابعة على معالجة الألوان بشكل صحيح. الأمر ثاني، وهو من خلال معايرة الشاشة لضمان عرض الألوان بشكل صحيح، يمكن القيام بذلك باستخدام أدوات المعايرة المدمجة في نظام التشغيل أو برامج متخصصة مثل X-Rite أو Datacolor. على نظام Windows، من خلال الذهاب إلى "لوحة التحكم" ثم "إدارة الألوان" واختيار "معايرة الشاشة". الحل الآخر الممكن من خلال تحويل الصورة إلى نموذج الألوان CMYK، حيث تستخدم الطابعات هذا النموذج للطباعة. في Adobe Photoshop، يمكنك القيام بذلك عن طريق الذهاب إلى "صورة" ثم "نمط" واختيار "CMYK". في Adobe Illustrator، اذهب إلى "ملف" ثم "نمط المستند" واختر "CMYK". مثل الصورة:
-
اكتب برنامج بلغة بايثون يقوم بحسابة مساحة الشكل بناءا عىل ادخال المستخدم اسم الشكل المطلوب ) مرب ع square , مستطيل rectangle, مثلث triangle, دائرة circle) علما بأن قانون المساحة لكل من االشكال التالية هو مساحة المرب ع = الضلع * الضلع مساحة المستطيل= الطول
عبد الوهاب بومعراف رد على سؤال Boot Gg في بايثون
هنا في الأكايمية عادة لا نجيب على الأسئلة الاختبارية وأسئلة الامتحانات، يمكنك تعلم المفاهيم الأساسية للغة بايثون والعمليات الحسابية من خلال هذه المصادر ستفيدك جيدا: -
عادة لا نقوم بالإجابة على أسئلة الامتحانات والاختبارية، سأحاول شرح الطريقة والكيفية لمساعدتك على حلها بنفسك، يمكنك البدء بأن تطلب من المستخدم إدخال رقم باستخدام input() وحوّله إلى عدد صحيح باستخدام int(). والتحقق من القسمة باستخدام معامل الباقي %؛ فإذا كان الرقم يقبل القسمة على 10، النتيجة ستكون num % 10 == 0، وإذا كان الرقم يقبل القسمة على 5، النتيجة ستكون num % 5 == 0. يمكنك جمع الشروط للتحقق من القسمة على 10 و5 معا باستخدام شرط مركب بـ and. وكتابة الشروط في الكود باستخدام if للتحقق من الشرط الأول، وelif للتحقق من الشروط الأخرى، وelse للحالة الأخيرة. وبناء على تلك الشروط، يمكنك طبع الرسالة المناسبة. ستساعدك هذه المصادر للتعلم بشكل أفضل: العمليات العددية في بايثون وهذه المقالة:
-
العفو. العمود "target" في مجموعة بيانات مرض القلب يمثل الهدف أو النتيجة التي نريد التنبؤ بها باستخدام نموذج تعلم الآلة. وفي هذه الحالة، هو مؤشر على وجود مرض القلب لدى المريض. أما القيم في العمود "target": 0: يعني أن الشخص ليس لديه مرض القلب (سليم). 1: يعني أن الشخص مصاب بمرض القلب. وهذا العمود يستخدم كناتج (Output) أو المتغير التابع في نماذج التعلم الآلي لتدريب النموذج على التنبؤ بحالة القلب بناء على باقي الخصائص (Features) في مجموعة البيانات.
- 10 اجابة
-
- 1
-
-
معذرة على التأخر في الرد. بالنسبة لسؤالك الجديد، فتلك القيم تشير إلى نوعية استجابة القلب للتمرين. فالقيم المختلفة تعكس حالات صحية مختلفة، مثل التغيرات في تدفق الدم إلى القلب وما إلى ذلك. ف Oldpeak يقيس انخفاض الـ ST على مخطط كهربية القلب (ECG) بعد التمرين أي أنه يعكس مدى انخفاض تدفق الدم إلى أجزاء من القلب، وهو مؤشر على وجود مشكلات قلبية محتملة مثل نقص التروية. أما ال ST Slope فهو عبارة عن منحدر القطعة ST على مخطط كهربية القلب أثناء وبعد التمرين. بالنسبة للقيم في الملف فهي توضح: - Upsloping (1): منحدر صاعد، قد يكون طبيعيا. - Flat (2): مسطح، قد يشير إلى نقص التروية. - Downsloping (3): منحدر هابط، غالبا ما يرتبط بنقص التروية القلبية الخطيرة. وال Oldpeak يمثل انخفاض الـ ST بوحدات الفولت في حين أن ST Slope يشير إلى تصنيف منحدر الـ ST أثناء وبعد التمرين إلى صاعد، مسطح، أو هابط.
- 10 اجابة
-
- 1
-
-
معرفة خوارزميات تعلم الآلة والتعلم العميق تعتبر أساسا قويا للبدء في هذا المجال، ولكن تعلم مجالات إضافية مثل رؤية الحاسوب أو معالجة اللغة الطبيعية يمكن أن يفتح أمامك آفاقا أوسع وفرصا أكبر. فمجال رؤية الحاسوب يعتبر مفيدا خاصة إذا كنت مهتما بتحليل الصور والفيديوهات، مثل التعرف على الوجوه أو تشخيص الأمراض من الصور الطبية. ومن جهة أخرى، معالجة اللغة الطبيعية مهمة جدا للتطبيقات التي تتعامل مع النصوص والكلام، مثل تحليل النصوص أو الترجمة الآلية. لهذا وعندما تفكر في تخصصك، من الجيد أن تنظر إلى التطبيقات العملية للمجالات التي تتعلمها. فإذا كنت مهتما بمجال معين مثل الطب، فإن التخصص في تطبيقات تعلم الآلة المتعلقة بالطب يمكن أن يجعل منك خبيرا ويزيد من فرصك الوظيفية فكما تعلم الشركات عادة تبحث عن مهندسين يمكنهم العمل على مشاريع متعددة تشمل مختلف جوانب تعلم الآلة. لهذا فالتوسع في مجالك ليشمل رؤية الحاسوب أو معالجة اللغة الطبيعية يمكن أن يعزز من مهاراتك ويجعلك أكثر قدرة على العمل في مشاريع متنوعة ومعقدة لأن التخصص في مجال معين يمكن أن يجعلك أكثر خبرة ويسهل عليك العثور على فرص عمل محددة. يمكنك أن تستفيد أكثر من هنا: مقال عن الرؤية الحاسوبية
- 3 اجابة
-
- 1
-
-
معادلات الحالة هي معادلات رياضية تعبر عن الديناميكيات الداخلية للنظام. بالنسبة لروبوت ثنائي الأرجل، يمكن أن تتضمن معادلات الحالة ما يلي: معادلات الحركة الخطية والدورانية لكل جزء من أجزاء الروبوت. علاقات القوى والعزوم الناتجة عن المحركات. معادلات توازن الجسم الكلي للروبوت. مثلا هذا مثال على معادلات الحالة لروبوت بسيط ثنائي الأرجل: x˙=Ax+Bu حيث أن x هو متجه الحالة الذي يشمل المتغيرات مثل الموقع والسرعة والزوايا الزاوية وأما u فهو متجه التحكم (مثل عزم الدوران من المحركات). بالنسبة لتوابع النقل فهي تستخدم لتحليل استجابة النظام لدخل معين. بالنسبة لروبوت ثنائي الأرجل، يمكن أن تشمل توابع النقل: استجابة الزاوية الناتجة عن عزم الدوران المطبق. استجابة الموقع الناتجة عن قوة الدفع. بحيث أن وظيفة النقل العامة تتمثل في: G(s)= Y(s) / U(s) بحيث أن G(s) هو تابع النقل، و Y(s) هو المخرجات (مثل زاوية المفصل)، وأما U(s) هو الدخل. نقاط الاتزان هي الأخرى تعبر عن الحالات التي يكون فيها النظام في حالة استقرار دون تغيير بمرور الوقت. ولتحديد نقاط الاتزان لروبوت ثنائي الأرجل، نحتاج إلى حل المعادلات التي تجعل المشتقات الزمنية للمتغيرات تساوي الصفر: x˙= 0 يمكن استخدام MATLAB لنمذجة ومحاكاة الروبوت ثنائي الأرجل. إليك مثال عام على كيفية البدء في نمذجة الروبوت: إعداد المتغيرات: % إعداد المتغيرات والمعلمات m1 = 1; % كتلة الجزء الأول m2 = 1; % كتلة الجزء الثاني l1 = 1; % طول الجزء الأول l2 = 1; % طول الجزء الثاني g = 9.81; % تسارع الجاذبية % معادلات الحالة A = [...]; % مصفوفة الحالة B = [...]; % مصفوفة التحكم C = eye(4); % مصفوفة الإخراج D = zeros(4,2); % مصفوفة التداخل مثال على إنشاء النموذج: sys = ss(A,B,C,D); % استجابة النظام للدخل t = 0:0.01:10; % الوقت u = [...]; % الدخل (عزم الدوران) [y,t,x] = lsim(sys,u,t); % رسم النتائج figure; plot(t, y); xlabel('الوقت (ثواني)'); ylabel('استجابة الزوايا'); title('استجابة النظام للروبوت ثنائي الأرجل'); لا نقوم عادة بالإجابة على الأسئلة الاختبارية وأسئلة الامتحانات هنا، لهذا قمت بشرح الموضوع بشكل عام يمكنك التوسع أكثر من هنا:
-
لإنشاء موقع متكامل كما ذكرت ستحتاج بالإضافة لمهارات واجهة المستخدم التي تملكها إلى تعلم الأمور التالية: لغة برمجة للواجهة الخلفية: اختيار لغة مثل PHP واستخدام إطار العمل Laravel، أو اختيار Python مع إطار العمل Django. إدارة قواعد البيانات: تعلم كيفية استخدام قواعد البيانات مثل MySQL أو PostgreSQL لإنشاء وإدارة قواعد البيانات. تطوير واجهات برمجة التطبيقات (APIs): تعلم كيفية بناء واجهات برمجة التطبيقات باستخدام REST أو GraphQL لتمكين الاتصال بين الواجهة الأمامية والخلفية. المصادقة وإدارة الجلسات: تعلم كيفية إنشاء أنظمة تسجيل الدخول، تسجيل المستخدمين، وإدارة الجلسات بطريقة آمنة. التكامل مع خدمات خارجية: تعلم كيفية التكامل مع بوابات الدفع وخدمات البريد الإلكتروني إذا كنت تحتاج إليها. هذه المهارات والخبرات ستساعد في بناء موقع متكامل وقوي يشمل جميع الوظائف المطلوبة، وهي ضرورية لأي مبرمج، يمكنك التوسع أكثر من خلال قراءة وتصفح هذه المقالات:
- 2 اجابة
-
- 1
-
-
يمكنك ذلك لكن الأمر يعتمد على مدى وحجم تعقيد المشروع لهذا عليك أن تفهم متطلبات المشروع بشكل جيد وكامل من قبل العميل، وفهم وثائق API لنظام الصيدلية جيدا لمعرفة كيفية الاتصال به واستخدام مختلف نقاط الاتصال (endpoints). وبما أنك درست الكورس جيدا، حينما تكون في تطبيق Laravel يمكنك استخدام مكتبة HTTP مثل Guzzle لإجراء طلبات إلى API نظام الصيدلية وإنشاء خدمات أو فئات منفصلة لإدارة الاتصال بـ API وتنفيذ المهام المختلفة مثل إرسال بيانات الطلب، استرداد بيانات المنتج واستدعاء هذه الخدمات من داخل موقع Laravel كلما احتجت للتفاعل مع نظام الصيدلية، مثل عرض بيانات المنتج أو تسجيل طلب جديد. لكن قد تحتاج أيضا إلى تنفيذ إجراءات أمان مناسبة مثل التوثيق باستخدام مفاتيح API أو رموز المصادقة حسب متطلبات API لنظام الصيدلية.
-
العمود الذي يحتوي على القيم 0 و 1 يمكن اعتباره متغيرا ثنائيا (Binary Variable) وهو عادة ما يمثل حالتين مختلفتين أو خيارين. في حالة عمود "fasting blood sugar"، فهو يشير إلى حالة سكر الدم عند الصيام، حيث: 0: يعني أن نسبة السكر في الدم عند الصيام طبيعية. 1: يعني أن النسبة عند الصيام مرتفعة أو غير طبيعية. يمكننا استخدام المتغيرات الثنائية بشكل مباشر في النماذج التحليلية والإحصائية لأنها تحتوي على قيمتين فقط تسهل على النماذج فهمها ومعالجتها وهذه أمثلة على متغيرات ثنائية مشابهة: الجنس (sex): 0 قد يمثل الإناث و1 قد يمثل الذكور. الذبحة الصدرية أثناء التمرين (exercise angina): 0 يعني عدم وجود ذبحة صدرية أثناء التمرين و1 يعني وجودها. رسم القلب عند الراحة (resting ecg): يمكن أن يحتوي على 0 و1 (وفي بعض الأحيان أكثر من ذلك إذا كان هناك أنواع متعددة من رسم القلب عند الراحة).
- 10 اجابة
-
- 1
-
-
الفرق بينها يكمن في الغرض والاستخدام والطريقة التي يتم بها تمثيل عملية حل مشكلة معينة في البرمجة وهندسة البرمجيات، فالخوارزمية هي خطة لحل مشكلة، أما الشيفرة الزائفة هي وصف شبه برمجي للخوارزمية، والمخطط الانسيابي هو تمثيل بصري لهذه الخطوات. فالخوارزمية هي وصف دقيق لمجموعة من الخطوات التي تنفذ لحل مشكلة معينة أو لتحقيق هدف محدد. أين تعتمد على التسلسل المنطقي وتكون واضحة ومباشرة لتوجيه عملية التنفيذ. في حين أن الشيفرة الزائفة، أو الكود الكاذب، هي تمثيل شبه برمجي للخوارزمية، يكتب بلغة مفهومة للبشر، ويهدف إلى توضيح منطق الخوارزمية دون الالتزام بقواعد لغة برمجة معينة بحيث يستخدم لشرح الأفكار وتسهيل التواصل بين المبرمجين وغير المبرمجين. بينما المخطط الانسيابي هو تمثيل بياني للخوارزمية، يستخدم الأشكال والصناديق لتمثيل الخطوات والإجراءات، والأسهم لتوضيح تدفق العملية. يُسهل فهم تسلسل الخطوات ويوضح العلاقات بينها، ويستخدم في تصميم البرمجيات وتوثيق العمليات. وهذه أمثلة تبين الفروقات: هنا لدينا خوارزمية لحساب مجموع الأعداد من 1 إلى N: ابدأ. ضع المجموع = 0. ضع i = 1. طالما أن i ≤ N، قم بما يلي: أضف i إلى المجموع. زِد i بمقدار 1. اطبع المجموع. انتهى. وهذه هي الشيفرة الزائفة لنفس الخوارزمية: ابدأ المجموع = 0 i = 1 بينما i ≤ N افعل المجموع = المجموع + i i = i + 1 اطبع المجموع انتهى بينما المخطط الانسيابي يمكنك التعرف عليه أكثر من هنا:
- 1 جواب
-
- 1
-
-
صحيح لأنه في بيانات التعلم الآلي، من الشائع تحويل البيانات الفئوية (مثل الجنس) إلى أرقام لأن النماذج لا يمكنها التعامل إلا مع الأرقام، ففي الملف البيانات فيه تتضمن العمود "sex" وهو من نوع البيانات int64 ويحتوي على القيم 0 و 1. هذا يعني أن القيم الفئوية كالجنس قد تم تحويلها إلى أرقام. في هذه الحالة، من الشائع أن يكون: 0 يمثل الإناث (female) 1 يمثل الذكور (male) وهذا التحويل ضروري لأن نماذج التعلم الآلي تتعامل بشكل أفضل مع البيانات الرقمية.
- 10 اجابة
-
- 1
-
-
الفرق بين الدالة `read_csv` في مكتبة `pandas` والدالة `open` في بايثون هو في وظيفتهما وكيفية استخدامهما فالدالة `read_csv` تستخدم لقراءة ملفات CSV وتحويلها مباشرة إلى إطار بيانات في `pandas`، مما يسهل تحليل ومعالجة البيانات بفضل الوظائف المتقدمة التي توفرها المكتبة. من جهة أخرى، الدالة `open` هي دالة مدمجة في بايثون تستخدم لفتح الملفات لأغراض متعددة مثل القراءة والكتابة، وتحتاج إلى مزيد من البرمجة اليدوية عند التعامل مع ملفات CSV فإذا كنت بحاجة لتحليل ومعالجة البيانات بشكل مريح، فإن `read_csv` هي الخيار الأفضل، بينما `open` تكون كافية إذا كان الغرض هو القراءة أو الكتابة المباشرة لمحتويات الملف. يمكنك التوسع أكثر من هنا:
- 4 اجابة
-
- 1
-
-
تحسين مهاراتك في الخوارزميات وهياكل البيانات هو أمر ممكن باستخدام PHP. فلا حاجة للعودة إلى لغات مثل C++ إذا كنت مرتاحا مع PHP. فالمهم هو فهم المفاهيم وليس اللغة نفسها. لهذا يمكنك الاستمرار في تعلم وتحسين مهاراتك مع الاستفادة من المشاريع العملية والتحديات البرمجية لتعزيز التفكير المنطقي وحل المشاكل. وفي حالة ما إذا شعرت بالحاجة لتوسيع معارفك بلغات أخرى في المستقبل، يمكنك القيام بذلك، لكن ليس ضروريا طالما أنك تتقدم بشكل جيد مع PHP. يمكنك الاطلاع والتوسع في موضوع التأسيس أكثر من هنا:
- 2 اجابة
-
- 1
-
-
المشكلة على الأغلب تتعلق بإعدادات البريد الإلكتروني في بيئة الاستضافة، فعند إرسال البريد الإلكتروني في بيئة الإنتاج، قد تكون هناك إعدادات ناقصة أو غير صحيحة في ملف `settings.py` الخاص بمشروع Django. لذا تأكد من إعدادات البريد الإلكتروني في `settings.py` لتكون كالتالي: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_USER = 'your-email@gmail.com' EMAIL_HOST_PASSWORD = 'your-email-password' DEFAULT_FROM_EMAIL = EMAIL_HOST_USER لضمان أنك تستطيع رؤية الأخطاء التي تحدث عند محاولة إرسال البريد الإلكتروني، يمكنك تمكين تسجيل الأخطاء في Django. أضف الكود التالي إلى `settings.py`: import os LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': os.path.join(BASE_DIR, 'debug.log'), }, }, 'loggers': { 'django': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': True, }, }, } فهو سيسمح بتتبع الأخطاء التي تحدث عند محاولة إرسال البريد الإلكتروني من خلال ملف `debug.log`.
- 8 اجابة
-
- 1
-
-
تستخدم النجمة (*) هنا كعامل ضرب في المعادلة الرياضية. دعني أوضح ذلك بشكل مفصل: def discount(self, ratio): self.price = self.price - self.price * ratio في هذا المثال، الدالة `discount` تقوم بحساب خصم معين على السعر الحالي `self.price` باستخدام النسبة المئوية `ratio`. النجمة (*) هنا تعني ضرب `self.price` في `ratio`. إليك خطوة بخطوة ما يحدث: `self.price * ratio` يقوم بحساب القيمة التي تمثل الخصم بناءً على النسبة `ratio`. `self.price - self.price * ratio` يطرح قيمة الخصم من السعر الأصلي. فمثلا، إذا كان `self.price` يساوي 100 و`ratio` يساوي 0.2 (أي 20%)، فإن العملية الحسابية ستكون: self.price = 100 - 100 * 0.2 وهذا يعني: self.price = 100 - 20 لذلك، السعر الجديد بعد الخصم سيكون 80. وهكذا.
- 3 اجابة
-
- 1
-