-
المساهمات
2653 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
5
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو ياسر مسكين
-
كما تمت الإشارة في التعليقات السابقة. يمكنك مراجعة المزيد من المفاهيم المتعلقة بتجاوبية الصفحات على الويب كي تحقق ما ترغب فيه أقترح عليك بعض المقالات المفيدة في هذا السياق من هنا: https://alistapart.com/article/responsive-web-design/
-
لديك عدة احتمالات إما استخدام بوت صانع الملصقات المعروف يمكنك البحث عنه وهو بوت صانع الملصقات في تيليجرام يمكنك استخدام بوت مثل @Stickers في خانة البحث ثم ابدأ محادثة مع البوت واضغط على "ابدأ" واتبع التعليمات لإنشاء مجموعة ملصقات جديدة ولكنك ستحتاج إلى رفع الصور التي ترغب في تحويلها إلى ملصقات مباشرة عبر التطبيق. وبعد بدء المحادثة مع البوت، يمكنك استخدام الأمر /newpack لإنشاء حزمة ملصقات جديدة ثم قم بتحميل الصور التي تريدها كملصقات ويجب أن تكون الصور بصيغة PNG مع خلفية شفافة وبعد رفعك للصور، يمكنك إضافة أسماء لكل ملصق ثم إرسال الأمر /publish لنشر الحزمة. يمكنك استخدام نفس البوت لصنع إيموجي مخصص من خلال استخدام الأمر /newemoji واتباع التعليمات ويمكنك بطبيعة الحال رفع الصور وتحويلها إلى إيموجي، ثم استخدام الأوامر المناسبة لنشرها وبعد إنشاء الحزمة الخاصة بك، يمكنك مشاركة رابط الحزمة في قناتك واستخدام الرابط الذي يوفره لك البوت.
-
السلام عليكم ورحمة الله. التأخر في الرد في ساعات الصباح الباكر قد يكون بسبب توفر عدد قليل من المدربين في تلك الفترة، وهذا راجع لاختلاف المواقيت بين المدربين والطلبة وبين بلدانهم المختلفة وأماكن تواجدهم وهذا بسبب الفوارق الزمنية المعروفة، وهذا لا يعني أنه لا يتم الرد في تلك الفترة، بالعكس، يمكنك ترك تعليقك وسيتم الموافقة عليه في أقرب وقت ممكن، والإجابة قد تتم بسرعة أو تأخذ بعض الوقت على حسب طبيعة السؤال المطروح وهذا كي نجيب الطلبة بأفضل إجابة ممكنة تساعده على فهم الدروس وإتمامها بالشكل المناسب. لذا لا داعي للقلق، يمكنك ترك تعليقك في المكان المخصص له أسفل الدرس في صندوق التعليقات وسيتم الإجابة عنه في أقرب وقت يتوفر فيه المدربون صباحا.
-
المشكلة في الكود هي أنك تستخدم present++ (Post-Increment) داخل الدوال وهذا يؤدي إلى إرجاع القيمة الحالية ل present قبل عمل أي زيادة، مما يجعل النتائج غير صحيحة لذا استبدل present++ ب ++present (Pre-Increment) حتى تتم الزيادة أولا ثم تعاد القيمة بحيث counter.increment() يعيد القيمة الصحيحة بعد التعديل: var createCounter = function(init) { let present = init; return { increment:()=> ++present, decrement:()=> --present, reset:()=> present = init, } }; present++: يعيد القيمة قبل التعديل. ++present: يعدل القيمة ثم يعيدها.
-
XGBoost أو (Extreme Gradient Boosting) هو مكتبة مفتوحة المصدر تستخدم لتطبيق أسلوب تعزيز التدرج (Gradient Boosting) ويستخدم بشكل رئيسي في تحليل البيانات الهيكلية والمنافسات في تعلم الآلة أما طريقة عمله فهي كالآتي بالنسبة لمفهوم التعزيز أي أنه يجمع بين عدة متعلمين ضعفاء (عادة أشجار قرار) لتكوين نموذج قوي وأيضا: Gradient Descent يستخدم للتقليل من الخسائر أي التقليل من دالة الخسارة. و Regularization ويتضمن تنظيم L1 وL2 لتجنب الإفراط في التكيف. التعامل مع القيم المفقودة: يمكنه التعامل مع القيم المفقودة بشكل طبيعي. Parallelization أو التوازي بحيث يستفيد من تعدد الأنوية في وحدة المعالجة المركزية لزيادة سرعة التدريب. بالنسبة للتثبيت: pip install xgboost استيراد المكتبات: import xgboost as xgb import pandas as pd from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score تحميل البيانات: data = pd.read_csv('your_dataset.csv') X = data.drop('target', axis=1) y = data['target'] تقسيم البيانات: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) إنشاء DMatrix: dtrain = xgb.DMatrix(X_train, label=y_train) dtest = xgb.DMatrix(X_test, label=y_test) تحديد المعلمات: params = { 'objective': 'binary:logistic', 'max_depth': 3, 'eta': 0.1, 'eval_metric': 'logloss' } تدريب النموذج: bst = xgb.train(params, dtrain, num_boost_round=100) إجراء التنبؤات: preds = bst.predict(dtest) predictions = [1 if pred > 0.5 else 0 for pred in preds] تقييم النموذج: accuracy = accuracy_score(y_test, predictions) print(f'Accuracy: {accuracy:.2f}')
-
حماكم الرحمان بحفظه وكرمه، وأعانكم الله. في البرمجة دوما ننصح بالاستمرارية، وفي حالة كان هنالك انقطاع فلا يكون أكثر من أسبوعين وكل ما طالت المدة كلما صعُب على المرء استدراك ما فاته، فالنسيان هو صفة ملازمة لجميع الناس، وفي الحالات الطارئة والقصوى ففترة شهرين هي ليست بالطويلة على الإطلاق، في حال كنت تدرسين بجدّ وفهمت ما كنت تعملينه مع المدربة فلن تواجهي مشكلة كبيرة في الاسترجاع. لذا في الحالات العادية أنصح بعدم تجاوز فترة أسبوعين دون ممارسة للبرمجة كي يكون هناك تقدم جيد في المسار التعلمي، ويمكنك أخذ فترات راحة بين الفينة والأخرى كي تسترجعي قواك ولا تتشتي كثيرا. أما بالنسبة للظروف التي هي خارجة عن نطاقنا، فمحتوى الدورة متاح للطالب مدى الحياة بما فيها التحديثات، لذا لا داعي للقلق وثلّة من المدربين سيكونون دائما معك لمرافقتك.
- 5 اجابة
-
- 1
-
-
بالنسبة لمشكلة عدم تجميع البيانات المترابطة يمكنك استخدام Group Expert والتجميع حسب BUYCODE ثم تفعيل "Suppress Blank Section" في Details وأيضا تفعيل "Keep Together" في خصائص المجموعة، كما أنك قد قمت باستخدام نفس DataTable للعمليات المتعددة وحساب TOTAL خاطئ فهو يأخذ الإجمالي الكلي بدل إجمالي السطر وأيضا تكرار Update داخل الحلقة لذا يمكن تعديله ليصبح: // تعريف DataTable جديد لكل عملية DataTable dtDetails = new DataTable(); SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM BUY_DET", Class1.con); adp.Fill(dtDetails); for(int i=0; i<dataGridView1.Rows.Count; i++) { DataRow dr_ = dtDetails.NewRow(); dr_["BUYCODE"] = BUYCODE.Text; dr_["ITEMCODE"] = dataGridView1.Rows[i].Cells[0].Value; dr_["ITEMNAME"] = dataGridView1.Rows[i].Cells[1].Value; dr_["PRICE"] = dataGridView1.Rows[i].Cells[2].Value; dr_["QTY"] = dataGridView1.Rows[i].Cells[3].Value; // حساب إجمالي السطر dr_["TOTAL"] = Convert.ToDecimal(dataGridView1.Rows[i].Cells[2].Value) * Convert.ToDecimal(dataGridView1.Rows[i].Cells[3].Value); dtDetails.Rows.Add(dr_); } // تحديث مرة واحدة خارج الحلقة SqlCommandBuilder cmd_ = new SqlCommandBuilder(adp); adp.Update(dtDetails);
- 4 اجابة
-
- 1
-
-
مكتبة Seaborn في Python هي مكتبة متقدمة لإنشاء الرسوم البيانية وتُستخدم بشكل أساسي لتحليل البيانات وتصوير العلاقات الإحصائية، ;id وهي تحتوي على مجموعة من مجموعات البيانات المدمجة التي يمكن استخدامها كعينات لتجربة الرسوم البيانية والبدء في تحليل البيانات وهذه البيانات مدمجة داخل المكتبة وتستخدم غالبا في الأمثلة التعليمية والتطبيقات التجريبية ولكن البيانات المدمجة في Seaborn صغيرة الحجم وتستخدم أساسا في التعلم وتجربة المكتبة لذا إذا كنت تعمل على مشاريع تحليل بيانات فعلية، ستحتاج عادة إلى استيراد بياناتك من مصادر خارجية كملفات CSV وقواعد بيانات يمكنك إيجاد المزيد من المعلومات من هنا:
- 8 اجابة
-
- 1
-
-
الدالة C() في مكتبة statsmodels تستخدم لتصنيف المتغيرات (categorical variables) في النماذج الإحصائية ويتم استخدامها لتحويل المتغيرات النوعية (categorical variables) إلى متغيرات وهمية (dummy variables) تلقائيا، مما يسمح بإدراجها في نماذج الانحدار الخطي أو غيرها من النماذج الإحصائية وعند استخدام الدالة OLS لإجراء تحليل الانحدار، فإن C() تستخدم لتضمين المتغيرات النوعية. بدلا من إدخال المتغير النوعي كرقم (مثل 1، 2، 3) أين يتم تحويله إلى متغيرات وهمية بحيث يمكن للنموذج التعامل معه بشكل صحيح. و C() يقوم بتشفيره إلى متغيرات رقمية متعددة تمثل الفئات، مما يساعد النموذج على التعامل معها بشكل صحيح دون الحاجة لتحويلها يدويا وهذا باستخدام طرق مثل pandas.get_dummies(). ويتم استخدامه عادة عند التعامل مع المتغيرات النوعية في تحليل الانحدار أو في نماذج أكثر تعقيدا مثل النماذج المختلطة (Mixed Models) أو تحليل التباين (ANOVA) كما تتيح خيارات إضافية مثل تحديد ترتيب الفئات أو نوع الترميز المستخدم (مثل التأثيرات بدلا من الترميز الوهمي) إلى جانب OLS ويمكن استخدامها لإنشاء تفاعلات بين المتغيرات أو تخصيص تمثيل المتغيرات النوعية في أي نموذج إحصائي.
- 4 اجابة
-
- 1
-
-
المشكلة تكمن في عدم تطابق شهادة SSL مع اسم النطاق الخاص بموقعك لحل هذا يجب عليك الدخول إلى لوحة تحكم الاستضافة الخاصة بك، والتأكد من تثبيت شهادة SSL بشكل صحيح بعد ذلك قم بالدخول إلى لوحة تحكم WordPress، واذهب إلى "الإعدادات" ثم "عام" وقم بتحديث عنوان URL الموقع وعنوان WordPress URL ليتطابقا مع النطاق الصحيح، مع التأكد من استخدام https:// بدلا من http:// وأخيرا قم بمسح كاش المتصفح وأي كاش خاص بإضافات WordPress.
- 4 اجابة
-
- 1
-
-
دالة crosstab هي أداة مفيدة جدا لتحليل البيانات وإنشاء جداول تقاطعية (جداول محورية) وتستخدم لحساب تكرار العلاقات بين متغيرين أو أكثر في البيانات والاستخدام الأساسي للدالة كالتالي: pd.crosstab(index, columns) وهذا مثال لنفترض التالي: import pandas as pd data = { 'النوع': ['ذكر', 'أنثى', 'ذكر', 'أنثى', 'ذكر'], 'المدينة': ['القاهرة', 'الإسكندرية', 'القاهرة', 'القاهرة', 'الإسكندرية'] } df = pd.DataFrame(data) result = pd.crosstab(df['النوع'], df['المدينة']) print(result) والناتج سيكون جدول يوضح كم عدد الذكور والإناث في كل مدينة بحيث الصفوف تمثل النوع والأعمدة تمثل المدينة أين يمكنك حساب النسب المئوية: pd.crosstab(df['النوع'], df['المدينة'], normalize='index') إضافة هوامش المجاميع: pd.crosstab(df['النوع'], df['المدينة'], margins=True) تطبيق دوال حسابية مختلفة: pd.crosstab(df['النوع'], df['المدينة'], values=df['العمر'], aggfunc='mean')
- 5 اجابة
-
- 1
-
-
الخطأ موجود في تنسيقات CSS وعندما نلقي نظرة على الكود، نجد: .content{ background-image: url(images/camping-on-top-of-the-mountain-during-sunset-free-photo.webp); width: 500px; height: 500px; } المشكلة هنا أن النص والصورة يتنافسان على نفس المساحة، وبما أن الصورة تم تعيينها ك background-image، فهي تظهر خلف كل شيء والحل البسيط هو إضافة padding للعنصر content لإعطاء مساحة للنص: .content{ background-image: url(images/camping-on-top-of-the-mountain-during-sunset-free-photo.webp); width: 500px; height: 500px; padding-top: 30px; } .content p { background-color: rgba(255, 255, 255, 0.7); padding: 5px; text-align: center; }
-
الانحدار الخطي هو تقنية إحصائية تستخدم لنمذجة العلاقة بين المتغيرات فهناك نوعان رئيسيان من الانحدار الخطي الأول الانحدار الخطي البسيط (باستخدام متغير واحد) والانحدار الخطي المتعدد (باستخدام أكثر من متغير) واختيار أي نوع من الانحدار يعتمد على طبيعة البيانات والعلاقة بين المتغيرات بالنسبة للنوع الأول المشكلة لنقل أننا نريد دراسة العلاقة بين عدد ساعات الدراسة (التي سنرمز لها بـ X) ودرجات الامتحان (التي سنرمز لها بـ Y) كالتالي: ساعات الدراسة (X) درجات الامتحان (Y) 1 50 2 60 3 70 4 80 5 90 يمكننا استخدام المعادلة التالية: Y=β0+β1X وبعد تحليل البيانات، لنفترض أن النتائج هي: Y=50+10X ولنفسر النتيجة فإن: β0=50 وهذا يعني أنه إذا لم يدرس الطالب (0 ساعات)، ستكون درجته 50. β1=10 هذا يعني أن كل ساعة دراسة إضافية تزيد من الدرجة بمقدار 10 درجات. وبالنسبة للاختيار المتعدد دعنا نضيف متغيرا آخر، وهو عدد الساعات التي يقضيها الطالب في النوم لنرمز له بـ Z ونريد دراسة تأثيرها أيضا على درجات الامتحان كالتالي: ساعات الدراسة (X) ساعات النوم (Z) درجات الامتحان (Y) 1 6 50 2 5 60 3 8 70 4 7 80 5 8 90 وهنا يمكننا استخدام المعادلة التالية: Y=β0+β1X+β2Z بعد تحليل البيانات، لنفترض أن النتائج هي: Y=40+8X+5Z أي أنه: β0=40: إذا لم يدرس الطالب (0 ساعات) ولم ينم، ستكون درجته 40. β1=8: كل ساعة دراسة إضافية تزيد من الدرجة بمقدار 8 درجات. β2=5: كل ساعة نوم إضافية تزيد من الدرجة بمقدار 5 درجات. بالنسبة لسؤالك الجديد في الانحدار الخطي المتعدد، يمثل: b1,b2,…,bn تأثيرات المتغيرات المستقلة المختلفة على المتغير التابع Y وكل 𝑏𝑖 (حيث 𝑖 هو رقم المتغير) يعكس مقدار تغير Y عند زيادة xi بوحدة واحدة، مع ثبات بقية المتغيرات رغم وجود عدة معاملات (ميول)، فإن النموذج يمثل علاقة واحدة بين المتغيرات المستقلة وY، ويستخدم لتحديد أفضل خط (أو سطح) ملائم يحقق أفضل تطابق بين القيم المتوقعة والملاحظة.
- 6 اجابة
-
- 1
-
-
ال ANCOVA (Analysis of Covariance) هو أسلوب إحصائي يستخدم لتحليل البيانات، ويجمع بين ميزات تحليل التباين (ANOVA) والانحدار والهدف الأساسي من ANCOVA هو تقييم تأثير متغيرات مستقلة (مثل العوامل أو التجارب) على متغير تابع (مثل النتائج) مع التحكم في تأثير متغيرات أخرى تعرف بالمتغيرات المُشوشة أو المتغيرات المرافقة. ومن بين الاستخدامات الرئيسية لل ANCOVA التحكم في المتغيرات فهو يساعد في تقليل تأثير المتغيرات المرافقة التي قد تؤثر على النتائج وأيضا تحليل تأثير العوامل بحيث يمكن من مقارنة المتوسطات بين مجموعات مختلفة مع الأخذ في الاعتبار تأثير المتغيرات الأخرى إضافة إلى تحسين دقة النتائج فهو يزيد من دقة تقديرات تأثير المتغيرات المستقلة على المتغير التابع. وعلى سبيل المثال إذا كنت تجري دراسة على تأثير برنامج تعليمي معين على أداء الطلاب، يمكنك استخدام ANCOVA للتحكم في تأثير المتغيرات مثل العمر أو مستوى الذكاء، مما يساعد في الحصول على نتائج أكثر دقة حول تأثير البرنامج التعليمي على الطلاب. يمكنك مراجعة البعض من المعلومات حول تحليل التباين من هنا:
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته، أهنئك على نجاحك وعقبال الدخول في الحياة المهنية، ولا تخف ففريق الأكاديمية سيرافقك حتى بعد إتمامك للاختبار ونجاحك. بالنسبة للتأخر في الردود فهذا بسبب الضغط على مركز المساعدة، فحتما الأمور تسير بالتدريج ولا داعي للقلق، يمكنك التأكد من قنوات الاتصال لديك كالإيمايل وفي الرسائل المهملة، يمكنك مراجعة هذه الأجوبة لإيجاد ما تحتاجه من استفسارات أيضا من هنا:
- 2 اجابة
-
- 1
-
-
أرجو طرح سؤالك في قسم الدورات، في أسفل الدرس ستجد صندوقا للتعليقات مثل الذي هنا، يمكنك طرح أي استفسار أو سؤال متعلق بالدورة، لأنّ هذه المساحة مخصصة فقط لطرح الأسئلة العامة. تحياتي.
- 1 جواب
-
- 1
-
-
الموقع يعمل بشكل عادي جدا، ربما يكون الأمر بسبب نقص في التغطية أو في الشبكة، لذا حاول أن تكون في منطقية التغطية فيها جيدة وسرعة الأنترنت لديك جيدة، إضافة إلى ذلك يمكنك تعديل نوعية الفيديوهات من خلال التحكم فيها كما تريد: في حال واجهتك مشكلة تقنية أخرى يمكنك تحديدها وسنساعدك لتوضيحها، أو يمكنك التواصل مباشرة مع مركز المساعدة من هنا: مركز مساعدة أكاديمية حسوب.
-
لربط الصفحات ببعضها بطريقة بسيطة ومباشرة، يمكنك إنشاء صفحة رئيسية تحتوي على روابط باستخدام عناصر <a> في HTML، وكل رابط يؤدي إلى صفحة مختلفة مثلا في الصفحة الرئيسية (index.html) <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>الصفحة الرئيسية</title> </head> <body> <h1>مرحبًا بك</h1> <a href="page1.html">صفحة 1</a> | <a href="page2.html">صفحة 2</a> | <a href="page3.html">صفحة 3</a> </body> </html> ثم أنشئ الصفحات الأخرى (page1.html, page2.html, page3.html) بنفس الطريقة، مع محتوى مختلف لكل صفحة يمكنك محاولة تطبيق الفكرة لغرض التعلم.
- 3 اجابة
-
- 1
-
-
وأيضا نرى أنّ البرمجة الكمية تتطلب فهما للمفاهيم الرياضية مثل التحويلات الكمية (quantum gates)، والتراكب (superposition)، والتشابك الكمي (entanglement). لغة البرمجة المستخدمة مثل Qiskit (التي تستخدم Python) أو Microsoft Q# تختلف كثيرًا عن البرمجة التقليدية. يمكنك إيجاد مصادر عدة على الأكاديمية من هنا:
- 2 اجابة
-
- 1
-
-
أول خطوة هي التخطيط يجب أن تحدد نوع الاشتراكات التي ستقدمها، وفهم احتياجات السوق والجمهور المستهدف وأن تتأكد من تسجيل عملك بشكل قانوني، والحصول على التراخيص اللازمة لمزاولة النشاط أما من ناحية البرمجة فمن المهم البدء باختيار تصميم جذاب وسهل الاستخدام بحيث تركز عىل مهارات تجربة وواجهات المستخدم، هنا يمكنك استخدام أدوات تصميم مثل Adobe XD أو Figma. بالنسبة للتقنيات واللغات البرمجية يمكنك تعلم: HTML/CSS: لبناء واجهة المستخدم. JavaScript: لإضافة تفاعلية للموقع. PHP أو Node.js: لتطوير جانب الخادم والتعامل مع قاعدة البيانات. SQL: لإدارة البيانات في قاعدة البيانات. بالنسبة للبنية التحتية يمكنك اختيار مزود خدمة استضافة موثوق والتأكد من تأمين الموقع باستخدام بروتوكولات HTTPS وأما بالنسبة لنظام الدفع يمكنك الحرص على وجود تكامل مع بوابات الدفع مثل PayPal أو Stripe لتسهيل عملية الدفع إذا أردت. وليس شرطا التقيد بهذه التقنيات، فمثلا يمكنك استخدام للغات مثل Python (Django/Flask) أو PHP (Laravel) أو Node.js (Express) لتطوير البنية الخلفية ومعالجة الطلبات وستحتاج إلى قاعدة بيانات مثل MySQL أو MongoDB لتخزين بيانات العملاء والاشتراكات.
-
يمكنك فرض شرط على المستخدم من خلال استخدام JavaScript للتأكد من أنه قام بإدخال واحد فقط من الحقلين فإذا كان المستخدم قد أدخل نصًا في الحقل الأول، يجب أن يكون الحقل الثاني فارغا، والعكس صحيح يمكن التحقق من هذه الشروط عند إرسال النموذج (form): document.querySelector("form").onsubmit = function(event) { const textField = document.querySelector("#textField"); const fileInput = document.querySelector("#fileInput"); if (!textField.value && !fileInput.files.length) { alert("يرجى إدخال نص أو تحميل صورة."); event.preventDefault(); return false; } if (textField.value && fileInput.files.length) { alert("يرجى إدخال نص أو تحميل صورة فقط."); event.preventDefault(); return false; } }; فإذا كان المستخدم قد أدخل نصا، يمكنك حفظه مباشرة في حقل نصي في قاعدة البيانات وإذا كان قد رفع صورة، يمكنك تخزين الصورة في مجلد مخصص على الخادم ثم حفظ مسار الصورة في قاعدة البيانات: CREATE TABLE user_inputs ( id INT PRIMARY KEY AUTO_INCREMENT, input_text TEXT, image_path VARCHAR(255) ); وللاستعلام لإدخال البيانات في حالة ما إذا كان هناك نص فقط: INSERT INTO user_inputs (input_text) VALUES ('نص المستخدم'); وإذا كانت هناك صورة فقط: INSERT INTO user_inputs (image_path) VALUES ('path/to/image.jpg'); وعند استعراض البيانات من قاعدة البيانات، يمكنك التحقق إذا كان هناك نص أو مسار للصورة ومن ثم عرض المحتوى بناء على ذلك.
- 5 اجابة
-
- 1
-
-
لاحظ أن الشرط الذي وضعته هنا: i = 1 while i >= 10: print(i) i += 1 وأقصد الشرط while i >= 10، هو غير صحيح في البداية لأن قيمة i تبدأ بـ 1، والشرط يقول إن قيمة i يجب أن تكون أكبر من أو تساوي 10 لكي تنفذ الحلقة لذا بما أن هذا الشرط غير محقق في البداية (1 >= 10 خطأ)، فلن يتم تنفيذ الحلقة لذا إذا كنت تريد طباعة الأرقام من 1 إلى 10، يجب أن تغير الشرط ليصبح: i = 1 while i <= 10: print(i) i += 1
-
لتكون مبرمج Odoo جاهزا لمقابلة العمل يجب عليك التركيز على أساسيات Python، XML، PostgreSQL، وفهم بنية Odoo (Modules، Models، Views) وتعلم كيفية تخصيص التطبيقات، كتابة Business Logic، العمل مع Odoo ORM، وإدارة قواعد الوصول (ACLs). البرمجة بإستخدام الأودو موجود داخل دورة تطوير التطبيقات باستخدام لغة Python، بعد الدخول من خلال زر دوراتي يمكنك أن تصل للمسار فهو يغطي تثبيت Odoo، وضع التطوير، بناء تطبيقات مخصصة، واستخدام وضع التنقيح وهذا أساس جيد إضافة له أنصح بالتطبيق العملي الإضافي وقراءة وثائق Odoo الرسمية مع التركيز على Debugging، تكامل APIs، وتخصيص QWeb للواجهة الأمامية وممارسة بناء تطبيقات حقيقية مثل متجر إلكتروني أو نظام داخلي، واستعد لأسئلة حول تخصيص الحلول البرمجية.
-
شراء منصة الاستضافة المدارة من WordPress يوفر سهولة استخدام ودعم فني مستمر، حيث يتم إدارة التحديثات والأمان بشكل تلقائي، مما يجعلها مثالية للمستخدمين غير التقنيين بالمقابل تحميل WordPress وتنصيبه يدويا عبر FTP يمنحك تحكما كاملا في الإعدادات والتخصيصات بطبيعة الحال ولكنه سيتطلب منك خبرة تقنية أكبر ويتطلب منك أيضا إدارة الأمان والنسخ الاحتياطي بنفسك لذا إذا كنت تبحث عن حل بسيط وموثوق، فالاستضافة المدارة هي الخيار الأفضل، بينما قد يكون التنصيب اليدوي مناسبا لمن لديه مهارات تقنية ويرغب في تخصيص أكبر وحرية أكبر أيضا.
- 3 اجابة
-
- 1
-
-
RandomForestRegressor هو خوارزمية تستخدم في مهام الانحدار ضمن أسلوب الغابات العشوائية وتجمع هذه الخوارزمية بين عدة أشجار قرار لتحسين الأداء التنبؤي وتقليل ظاهرة الإفراط في التكيف (overfitting) ويعمل كالتالي: طريقة التجميع: يقوم RandomForestRegressor ببناء عدة أشجار قرار خلال مرحلة التدريب ويتم تدريب كل شجرة على مجموعة فرعية مختلفة من البيانات، تم إنشاؤها عن طريق السحب العشوائي مع الاستبدال (bootstrapping). عشوائية الميزات: وعند تقسيم العقد في الأشجار، يتم النظر إلى مجموعة عشوائية من الميزات ويساعد هذا في جعل الأشجار أكثر تنوعا ويقلل من الترابط بينها. التنبؤ: يتم حساب التنبؤ النهائي عن طريق أخذ متوسط التنبؤات من جميع الأشجار الفردية ويساعد ذلك في تحسين دقة التنبؤات. بالنسبة لاستيراد المكتبة فيتم ذلك من خلال: from sklearn.ensemble import RandomForestRegressor تهيئة النموذج: model = RandomForestRegressor(n_estimators=100, random_state=42) تدريب النموذج: model.fit(X_train, y_train) إجراء التنبؤات: predictions = model.predict(X_test) ويمكنك استخدام مقاييس مثل متوسط الخطأ المطلق (MAE) أو متوسط مربع الخطأ (MSE) لتقييم الأداء: from sklearn.metrics import mean_squared_error mse = mean_squared_error(y_test, predictions) وبالنسبة للفروقات ف RandomForestRegressor يستخدم مجموعة من أشجار القرار لالتقاط العلاقات غير الخطية، بينما الانحدار العادي يعتمد على نموذج خطي يفترض علاقة خطية بين الميزات والمتغير المستهدف. ال RandomForestRegressor أقل عرضة للإفراط في التكيف بفضل متوسط التنبؤات من عدة أشجار، في حين أن الانحدار العادي قد يتعرض لهذه المشكلة في البيانات المعقدة، كما أنه أكثر تعقيدا وأصعب تفسيرا، بينما الانحدار العادي يوفر معاملات واضحة تسهل الفهم وبشكل عام يميل إلى تحقيق أداء أفضل في مجموعات البيانات الكبيرة والمعقدة.