-
المساهمات
13802 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
374
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
يوجد الكثير من المنصات العربية التي توفر لك ذلك وتمثل دور الوسيط مثل عربي أدز، وعرب كليكس، JVzoo أو كليك بانك، CJ, Share a sale, admitad وتوجد منصات أخرى بطبيعة الحال. ويوجد منصة مختلفة قليلاً مثل منصة سوقلي المجانية، التي توفر لك منصة شاملة لإدارة عملية التسويق بالعمولة لمنتجاتك، كل ما عليك هو توفير المسوقين فقط. وهناك مجموعات على الفيسبوك للمسوقين بالعمولة تستطيع طرح منشور هناك بشكل مُفصل لما تريده لكن الأهم هو منتجك أنت، ففي حال المنتج جيد ويقدم ميزة تنافسية أو حل لمشكلة لشريحة معينة من العملاء، فيسهل تسويقه وستحقق مبيعات جيدة، فالتسويق بمفرده ليس كافٍ. وستحتاج إلى قراءة التالي: كيف تطلق برنامج التسويق بالعمولة الذي يعظم مبيعاتك؟
- 1 جواب
-
- 1
-
صُنع محرك ألعاب بنفسك هو أمر مستحيل، الأمر يتطلب مبالغ طائلة وفريق عمل ضخم، هناك شركات حاولت ذلك وفشلت ما بالك بالأشخاص. عامًة المحركات الجاهزة مثل Unity وUnreal Engine 5 تتميز بأنها ذات تكلفة مبدئية منخفضة، وستجد أنها مجانية للاستخدام الأساسي مع رسوم عند تحقيق إيرادات معينة (مثل 5% من الإيرادات لـ Unreal بعد أول مليون دولار). وبها أدوات جاهزة ومُطوَّرة تحتوي على ميزات متكاملة مثل الرسوميات المتقدمة، الفيزياء، الذكاء الاصطناعي، وأدوات التصميم، أيضًا تحسينات مستمرة في الأداء والميزات دون الحاجة إلى تطوير داخلي. وتوافق مع منصات متعددة أي تدعم نشر الألعاب على PC، موبايل، كونسول، وغيرها بسهولة.
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
هناك مشكلة قائمة بالفعل بخصوص سكريبت create-react-app حيث يحاول تثبيت React 19 بينما هناك مكتبات أخرى يتم تثبيتها ما زالت بحاجة إلى إصدار 18 ولم يتم تحديثها لتتوافق مع إصدار 19 بعد. لحل المشكلة حاليًا عليكِ التثبيت من خلال الأمر التالي: npx create-react-app my-app --template cra-template ثم الإنتقال لمجلد المشروع: cd my-app ثم تثبيت الإصدار 18: npm install react@18 react-dom@18 react-scripts لكن من الأفضل استخدام vite وليس سكريبت create-react-app القديم، أي التثبيت من خلال الأمر: npm create vite@latest my-app --template ثم إختيار react من ضمن الخيارات التي ستظهر، ثم اختيار JavaScript، ثم الإنتقال لمجلد المشروع: cd my-app ثم تثبيت الحزم npm install بالتوفيق إن شاء الله.
-
ستجدين أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
القوائم غير المرتبة Unordered Lists ذات العنصر <ul></ul> الغرض منها عرض قائمة من العناصر لا يهم ترتيبها، في حين القوائم المرتبةOrdered Lists هي لعرض قائمة من العناصر بترتيب مُعين، مثل الترتيب الرقمي أو الأبجدي والعنصر الخاص بها هو <ol></ol>. وتستطيع تغيير نوع الترقيم أوشكل النقاط باستخدام خاصية list-style-type في CSS.
- 4 اجابة
-
- 1
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
أرجو المتابعة أسفل فيديو الدرس الذي طرحتي به السؤال وليس هنا في قسم أسئلة البرمجة، ولكي لا نطيل عليكي أرجو توضيح ما الذي يحدث عند الضغط على زر تشغيل الكود أعلى اليمين: هل يتم تشغيل الكود في terminal؟ في حال كان يتم تشغيله في output فغالبًا بسبب إضافة Code Runner ربما قمتي بتثبيتها، في حال لم يتم تثبيتها، أرجو الضغط على السهم لأسفل بجانب أيقونة التشغيل ثم اختيار run python file in dedicated terminal:
-
ستجدين أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
أولاً علينا حساب إجمالي المبلغ المدفوع = مليون + 600 ألف + 450 ألف = 2,050,000. بالتالي الربح الإجمالي = سعر البيع - إجمالي المبلغ المدفوع، بمعنى الربح الإجمالي = 4,000,000 - 2,050,000 = 1,950,000 ثم علينا حساب نسبة مساهمة كل شريك: الأول = (1,000,000 / 2,050,000) * 100% = 48.78% تقريباً الثاني = (600,000 / 2,050,000) * 100% = 29.27% تقريباً الثالث = (450,000 / 2,050,000) * 100% = 21.95% تقريباً بعد ذلك نقوم بحساب نصيب كل شريك من الربح كالتالي: الأول = 1,950,000 * 48.78% = 951,210 الثاني = 1,950,000 * 29.27% = 570,765 الثالث = 1,950,000 * 21.95% = 428,025
-
ستجد بجانب دروس الدورة علامة دائرة زرقاء بجانب الدروس التي لم تشاهدها بعد داخل كل مسار مثل التالي: وستختفي تلك الدائرة في حال شاهدت الدرس. لكن أرجو عدم الضغط على زر "حدد الموقع كمقروء" فذلك من شأنه جعل كامل الموقع كأنك قرأت المقالات وشاهدت الدروس لذا ارجو عدم الضغط عليه.
-
عذرًا على إنزعاجك أحمد، أتفهم شعورك، في البداية يتم التركيز على الجانب النظري ويبدوا الأمر ممل لكنه مهم لفهم الجانب العملي من الدورة، أرجو الإنتظار قليلاً لحين الوصول للجزء الخاص بالمشاريع العملية. في حال واجهت صعوبة ولم يتضح لك جزء معين، تستطيع الاستفسار أسفل الدروس وقتما أردت، وسيتم مساعدتك من قبل الجميع بالتفصيل والأمثلة.
-
لم توضح المطلوب بالضبط، لكن من الوصف ما تريده هو تحويل البيانات في الملف إلى تطبيق ويب بنفس الوظائف، صحيح؟ لكن هل سيتم القراءة والكتابة من الملف مباشرًة أم من قاعدة البيانات؟ عامًة ستحتاج إلى مكتبتي django-import-export و pandas لاستيراد البيانات من الملف وعرضها وتخزينها في قاعدة البيانات.
- 2 اجابة
-
- 1
-
تلك أفضل الحلول المتاحة لك بما أنك تستخدم نظام ويندوز
- 4 اجابة
-
- 1
-
يوجد منصة odevio وتوفر استخدام مجاني لتجربة التطبيق على نظام IOS لمدة 10 أيام فقط، بعد إنتهاء المدة حاول استخدام إيميل مختلف على منصة odevio لإنشاء حساب جديد ولكن افعل ذلك من خلال وضع التخفي incognito في المتصفح، وإن لم يتم توفير حساب مجاني قم بتغيير الـ IP الخاص بك بواسطة VPN. ويوجد أيضًا منصة codemagic توفر لك 500 دقيقة شهريًا، وهناك حل آخر وهو شراء Mac mini لكونه أقل سعرًا من macbook.
- 4 اجابة
-
- 1
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
القاعدة ليست مرتين أو أكثر، بل ما تحتاجه هو 4 إلى 5 أضعاف وقت الدورة، وذلك ما بين مشاهدة للدرس واستيعابه بشكل مبدأي أو كلي ثم التطبيق العملي بمفردك والمراجعة على النقاط التي يقل بها استيعابك، ثم محاولة التطبيق بشكل جانبي على تمرين مختلف أو مشروع بسيط. أيضًا البحث والقراءة للاستزادة فلا تكتفي بما يتم تقديمه في أي دورة مهما كانت، ولا حاجة لإعادة الدرس طالما أنك قادر على التطبيق على ما جاء به بمفردك وليس الكتابة مع الشرح ومتفهم لما تقوم به وليس مجرد حفظ للخطوات، عند الوصول لذلك تنتقل للدرس التالي. إذا أردت نصيحتي، فلا تستمتع لمن يخبرك بالدراسة 30 دقيقة ثم استراحة 10 أو 5 دقائق وهي تقنية Pomodoro، فهو يضرك بدون قصد. فالعقل يستغرق حوالي 23 دقيقة للدخول في مرحلة التركيز، والتوقف بعد 25 دقيقة يحرمك من التركيز العميق وحالات التدفق flow states. وسأوضح لك كيفية خداع عقلك لتعلم شيء جديد بسرعة وبفعالية أكبر: حدد فترة زمنية مركزة، أي ابدأ بأن تخبر نفسك أنك ستخصص الـ 45 دقيقة القادمة فقط لتعلّم الموضوع أو المهارة الجديدة، وذلك لا يضعك تحت ضغط ويخبر عقلك أن الأمر مجرد 45 دقيقة، ويساعدك في دخول وضعية تعلّم ذات تركيز عالٍ. خلال تلك الفترة المُركّزة لمدة 45 دقيقة، يُفرَز اثنان من المواد الكيميائية المهمة في عقلك: الأدرينالين وهو الهرمون الذي يزيد من اليقظة ويجعلك أكثر انتباهًا واستعدادًا لاستيعاب المعلومات الجديدة. الأسيتيل كولين، ويلعب دورًا حاسمًا في عملية التعلم وتشكيل الذاكرة، وعند إفرازه، يقوم بتعزيز تعديل الاتصالات العصبية المرتبطة بالمهمة المحددة، مما يعني تسليط الضوء على المناطق التي يرغب الدماغ في تغييرها لاستيعاب المعلومات الجديدة. وبمجرد انتهاء الفترة المُركّزة للتعلم، فقد حان الوقت لوقف كل شيء وإعطاء عقلك فترة راحة، وذلك الوضع مهم لسببين رئيسيين: تثبيت المعلومات المكتسبة: فأثناء الراحة، يعمل عقلك على تنظيم وتثبيت المعلومات التي اكتسبتها حديثًا في مسارات عصبية دائمة، وتلك العملية تُعزز من ترسيخ التعلم. زيادة الدافعية: حيث معرفة أنك ستسترخي وتأخذ استراحة بعد الجلسة المركزة يعتبر مكافأة، مما يزيد من دافعيتك للانخراط في المهمة التعليمية من البداية. والآن نتأتي لزيادة فترة التركيز مع مرور الوقت، وذلك مع التمرس في تلك التقنية، يمكنك تدريجياً زيادة فترة التعلم المركز إلي حتى 2 ساعة (أو أي فترة مناسبة)، فالجلسات الأطول تؤدي إلى تعلم أعمق ودخول حالات من التدفق الإبداعي flow states وعندها لن تشعر بنفسك بل ينصب تركيزك بالكامل على ما تفعله. وعندما كنت أتعلم البرمجة، كنت أقضي 10 ساعات يوميًا وربما أكثر، بين مشاهدة الدروس والتوقف للاستيعاب ثم المراجعة والتطبيق بمفردي لتثبيت ما تعلمته وأحيانًا البحث عن الأمور التي لا أفهمها سواء بمشاهدة شرح على اليوتيوب أو قراءة مقال على جوجل. أو رؤية مثال، أو البحث عن تمرين للتطبيق ومحاولة التغيير في الكود لفهم طبيعة عمله وكيف يعمل ولماذا استخدمنا ذلك ولم نستخدم ذلك وهكذا.
- 3 اجابة
-
- 2
-
سنة كاملة كافية لتنسى ما قمت بدراسته بالفعل، ففي بداية تعلمك للبرمجة أنت بحاجة إلى الاستمرار في الممارسة لتثبيت ما تعلمته على الأقل مرة أسبوعيًا أو يومين في الأسبوع أو تخصيص ساعة أو ساعتين يوميًا للدراسة رغم أن ساعة لا تكفي، لكن قليل دائم خير من كثير منقطع. في رأي ما أنت بحاجة إليه هو دراسة لغة برمجية وليس HTML, CSS بالتالي أنصحك بتعلم بايثون أو C++ أو جافا، لأنّ دراسة جافاسكريبت لن تفيدك كثيرًا بخصوص الجامعة وتحتاج إلى لغات قوية كالتي ذكرتها وبالأخص C++ أو جافا فستقوم بدراستهم على أي حال في الجامعة، جافا لغة أحدث وقوية أيضًا في نفس الوقت في حال لا تريد التعرض لـ C++. جافاسكريبت مفيدة في حال تريد العمل في مجال البرمجة وقررت التخصص في مجال الواجهة الأمامية أو الخلفية أو تطوير تطبيقات الهاتف من خلال React Native.
-
لاحظ أنك تقوم بإعادة رسم جميع منحنيات كابلان ماير في نفس الرسم البياني في كل تكرار للحلقة، بالتالي ظهور جميع المنحنيات فوق بعضها البعض، ويجعل الرسم البياني غير واضح ومربك. حاول إنشاء رسم بياني جديد لكل مجموعة من البيانات، أو على الأقل لكل قيمة من cyto_score في حال تريد تجميع البيانات بناءًا عليها: import matplotlib.pyplot as plt from lifelines import KaplanMeierFitter import pandas as pd data_train = pd.DataFrame({ 'cyto_score': [0, 0, 1, 1, 2, 2, 3, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], 'tbi_status': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1], 'graft_type': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1], 'vent_hist': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1], 'efs_time': [10, 20, 15, 25, 30, 35, 40, 45, 12, 22, 32, 42, 14, 24, 34, 44, 16, 26, 36, 46], 'efs': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] }) kaplanmeierfitter_cyto = KaplanMeierFitter() for cyto_score, group_data in data_train.groupby('cyto_score'): plt.figure(figsize=(10, 6)) for (tbi_status, graft_type, vent_hist), indices in group_data.groupby(['tbi_status', 'graft_type', 'vent_hist']).groups.items(): sub_group_data = group_data.loc[indices] kaplanmeierfitter_cyto.fit(sub_group_data['efs_time'], event_observed=sub_group_data['efs'], label=f'TBI: {tbi_status}, Graft: {graft_type}, Vent: {vent_hist}') kaplanmeierfitter_cyto.plot_survival_function(ci_show=False) plt.title(f'Kaplan-Meier Curves for Cyto_Score {cyto_score}') plt.xlabel('Time (months)') plt.ylabel('Survival Probability') plt.tight_layout() plt.show()
- 4 اجابة
-
- 1
-
بسبب طريقة تعاملك مع الـ DataGridView عند إضافة الأصناف وتحديثها، فحاليًا تقوم بإضافة أعمدة جديدة في كل مرة يتم فيها تعديل الفاتورة، وذلك هو سبب ظهور الأعمدة المكررة. بالتالي عليك التأكد من أنك تقوم بإضافة الأعمدة مرة واحدة فقط عند تحميل النموذج أو عند إنشاء الـ DataGridView لأول مرة، من خلال إنشاء حدث Form_Load للنموذج ونقل الكود الخاص بإنشاء الأعمدة إلى ذلك الحدث. private void Form1_Load(object sender, EventArgs e) { if (dataGridView1.Columns.Count == 0) { dataGridView1.Columns.Add("ITEMCODE", "كود الصنف"); dataGridView1.Columns.Add("ITEMNAME", "اسم الصنف"); dataGridView1.Columns.Add("PRICE", "السعر"); dataGridView1.Columns.Add("QTY", "الكمية"); dataGridView1.Columns.Add("TOTAL", "الإجمالي"); } } واكتب بدلاً من Form1 في Form1_Load اسم النموذج لديك، بعد ذلك قم فقط بمسح الصفوف باستخدام dataGridView1.Rows.Clear(); عند الحاجة. try { DialogResult result = MessageBox.Show("هل أنت متأكد من أنك تريد تعديل البيانات؟", "تأكيد التعديل", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if ((result == DialogResult.Yes)) { if (BUYTYPE.SelectedIndex < 0) { MessageBox.Show("يرجي اختيار نوع الفاتورة", "تنبيه"); BUYTYPE.Select(); return; } if (dataGridView1.Rows.Count == 0) { MessageBox.Show("لاتوجد أصناف لتعدليها ", "تنبيه"); return; } DataTable dt = new DataTable(); SqlDataAdapter adp = new SqlDataAdapter("select *from buybill where buycode='" + BUYCODE.Text + "'", Class1.con); adp.Fill(dt); if (dt.Rows.Count == 0) { int code = Class1.CODE_GENE("BUYBILL", "ID") + 1; BUYCODE.Text = code.ToString(); } else { DataRow dr = dt.Rows[0]; dr["BUYCODE"] = BUYCODE.Text; dr["BUYTYPE"] = BUYTYPE.Text; dr["IMPORTERNAME"] = IMPORTERNAME.Text; dr["NOTES"] = NOTES.Text; dr["BUYDATE"] = BUYDATE.Value; dr["TOTAL"] = Convert.ToDecimal(total_.Text); dr["TOTAL_ARBIC"] = totalar.Text; dr["TOTALQTY"] = Convert.ToInt32(totalqty.Text); dr["DebtAmount"] = Convert.ToDecimal(total_.Text); dt.Rows.Add(dr); SqlCommandBuilder save = new SqlCommandBuilder(adp); adp.Update(dt); SqlCommand cmd_del = new SqlCommand(); cmd_del.Connection = Class1.con; cmd_del.CommandText = "DELETE FROM BUY_DET WHERE BUYCODE ='" + BUYCODE.Text + "'"; cmd_del.ExecuteNonQuery(); DataTable dtDetails = new DataTable(); adp = new SqlDataAdapter("SELECT *FROM BUY_DET", Class1.con); adp.Fill(dtDetails); dataGridView1.Rows.Clear(); 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; dtDetails.Rows.Add(dr_); dr_["TOTAL"] = Convert.ToDecimal(dataGridView1.Rows[i].Cells[2].Value) * Convert.ToDecimal(dataGridView1.Rows[i].Cells[3].Value); string itemCode = dataGridView1.Rows[i].Cells[0].Value.ToString(); int qty = Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value); UpdateItemQuantity(itemCode, qty); } SqlCommandBuilder cmd_ = new SqlCommandBuilder(adp); adp.Update(dtDetails); MessageBox.Show(" تم حفظ تعديل بيانات فاتورة بنجاح وتحديث كمية في المخزن ", "رسالة تأكيد", MessageBoxButtons.OK, MessageBoxIcon.Information); button1_Click(null, null); } } } catch (Exception ex) { MessageBox.Show(ex.Message); }
-
الأمر يعتمد على نوع البرنامج، فذلك ممكن بالطبع من خلال استخدام أي صيغة تخزين مثل ملفات نصية بسيطة (مثل .txt أو .csv) بتنسيق معين (مثل مفتاح=قيمة أو قيم مفصولة بفواصل). أو ملفات JSON أو XML، لكن من الأفضل استخدام قواعد بيانات بسيطة، مثل sqlite أو leveldb، التي توفر واجهة برمجة تطبيقات للتعامل مع البيانات دون الحاجة إلى قاعدة بيانات كاملة. حيث يتم إنشاء ملف واحد يمثل قاعدة البيانات وبالتالي تجمع ما بين الأمرين. وللعلم تستطيع عدم استخدام أية ملفات أو قواعد بيانات، والإعتماد على الذاكرة العشوائية لتخزين أية بيانات بشكل مؤقت وسيتم محوها بالكامل عند غلق البرنامج. لذلك ذكرت في البداية الأمر يعتمد على نوع البرنامج وما المطلوب تنفيذه.
-
أسهل طريقة هي من خلال ميثود toLocaleString كما تم التوضيح، بينما لو أردت تحكم أكثر عليك استخدام تعبير نمطي Regular Expression وهي أكثر تعقيدًا ولكنها تمنحك تحكمًا أكبر في التنسيق لا تدعمه toLocaleString(). وبالطبع هناك طريقة يدوية وهو ما يحدث في الخلفية عند استخدام toLocaleString وهي مفيدة عند الحاجة إلى تخصيص كبير جدًا أو لتتعلم أساسيات البرمجة. حيث يتم الأمر كالتالي: function formatNumberWithCommasManual(number) { const numberString = String(number); let formattedString = ""; let count = 0; for (let i = numberString.length - 1; i >= 0; i--) { formattedString = numberString[i] + formattedString; count++; if (count === 3 && i !== 0) { formattedString = "," + formattedString; count = 0; } } return formattedString; } const number = 1000000000; const formattedNumber = formatNumberWithCommasManual(number); console.log(formattedNumber);
-
متاح ذلك ولكنها ليست مباشرة ومضمنة في كل النماذج أي يعتمد الأمر على نوع النموذج الذي تستخدمه، بمعنى في النماذج الخطية Linear Models مثل الانحدار الخطي Linear Regression والانحدار اللوجستي Logistic Regression. تستطيع الحصول على قيم P لمعاملات النموذج باستخدام مكتبة statsmodels، التي توفر تحليلاً إحصائياً أكثر تفصيلاً، وتدريب النموذج باستخدام sklearn ثم استخراج المعاملات واستخدامها في statsmodels. بينما في النماذج غير الخطية Non-Linear Models مثل أشجار القرار Decision Trees، الغابات العشوائية Random Forests، آلات الدعم المتجهة Support Vector Machines، الشبكات العصبية Neural Networks. فهي لا توفر قيم P أو فترات ثقة للمعاملات بشكل مباشر، لأنها لا تعتمد على افتراضات إحصائية بسيطة مثل النماذج الخطية، بالتالي تحتاج إلى استخدام طريقة Bootstrap لتقدير فترات الثقة لبعض المقاييس (مثل الأهمية النسبية للميزات في الغابات العشوائية). أو تحليل حساسية Sensitivity Analysis النموذج للتغيرات في المدخلات لفهم تأثيرها. أو من خلال Cross-Validation لتقييم أداء النموذج بشكل عام، ولكن ذلك لا يعطيك قيم P أو فترات ثقة للمعاملات.
- 4 اجابة
-
- 1
-
هل ذلك تخصصك بالجامعة؟ على أي حال تستطيع القيام بأمرين في وقت واحد بشرط تنظيم وإدارة وقتك، بدون ذلك لن تتمكن من التركيز على جبهتين، تحتاج إلى إنشاء جدول وتقسيم وقتك ومحاولة الإلتزام بذلك بالطبع المرونة مطلوبة حسب الظروف لا مشكلة. الإلتزام والتضيحة بأمور أخرى هما كلمة السر، حتى لو كان لديك كل الوقت لتعلم شيء واحد مثل البرمجة فلن تتعلمه بدون إلتزام بالخطة التي وضعتها، ويجب في الأصل وجود خارطة طريق roadmap تسير عليها وليس التخبط والدراسة بدون تخطيط، أيضًا عليك التضحية بأمور أخرى لتوفير الوقت مثلاً وقت الجلوس مع أصدقاؤك وهكذا، ولا يشترط بشكل دائم لكن تقليص ذلك لتوفير الوقت. لكن عليك إعطاء أولوية لإنهاء الجامعة والحصول على الشهادة في حال كنت بالجامعة وبعدها لديك كل الوقت لدراسة ما تريد. عامًة مبدأ الأولوية مبدأ هام للغاية، فحسب عمرك عليك تحديد الأولويات حسب ظروفك، ولا تقوم بتأجيل أمور من الصعب القيام بها مستقبلاً أي سيصبح من الصعب القيام بها بينما من السهل القيام بها حاليًا.
-
ذلك ليس حل عملي وليس دائم، الطريقة الصحيحة والإحترافية والتي يجب عليك تعلمها كمطور برمجيات هو رفع مشروعك على استضافة، الأمر يبدوا محير وصعب في البداية، لكن مع الوقت يصبح أسهل، كل ما تحتاجه هو مشاهدة شرح عملي بالفيديو يوضح لك خطوات رفع مشروعك على الاستضافة. مثلاً لو مشروعك باستخدام لارافل ابحث على اليوتيوب عن How to deploy Laravel project أو "نشر مشروع لارافل على استضافة". في حال استخدمت ngrok لاستضافة مشروعك على حاسوبك فسيتعين عليك تشغيل حاسوبك بشكل دائم لكي يتمكن الجميع من الوصول إلى الموقع في أي وقت، فائدة ngrok هو إنشاء أنفاق آمنة ومؤقتة Tunneling إلى جهازك المحلي أي ببساطة، تجعل ngrok جهازك المحلي متاحًا عبر الإنترنت، حتى لو كان خلف جدار ناري أو جهاز توجيه. وذلك لمشاركة تطبيقات الويب التي تعمل على جهازك المحلي مع الآخرين (زملاء العمل، العملاء وخلافه) بسهولة، دون الحاجة إلى نشرها على استضافة، وذلك مفيد جدًا أثناء عملية التطوير والاختبار.