-
المساهمات
140 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عماد شيخ العشرة
-
وعليكم السلام, التعلم العميق هو يعتبر جزء من تعلم الالة فلتعلم التعلم العميق تحتاج إلى أساسيات تعلم الالة كما أن تعلم الأساسيات ستساعدك على التخصص في المجالات الأخرى بشكل أسرع. يوجد مقال في الأكادمية يوضح الموضوع بشكل مفصل. يمكنك الإطلاع عليه من هنا. وبشكل عام انظر ما هو المجال المناسب وابحث في سوق العمل عن ما هو مطلوب وما هي التكنولوجيات المطلوبة وتخصص فيه فسوق العمل مهم جدا.
- 4 اجابة
-
- 1
-
-
وعليكم السلام, Deep learning: هو فرع من تعلم الالة Machine learning مما يعتبر جزء من مجال الذكاء الصناعي يستخدم deep neural networks شبكات عصبية عميقة مما ينتج قدرة مشابهة لعقل الانسان في اتخاذ القرارات, يمكننا رؤية تطبيقاته في الحياة الواقعية كالسيارات ذاتية القيادة وغيرها من التطبيقات. face-recognition: هي مكتبة وتعني أنها كود وخوارزميات صممت مسبقا لتسهيل عملية التعرف على الوجه بدون الحاجة لجعل المطور تطوير كل شيئ من البداية وهي تسهل عملية التطوير وتختصر الوقت, كما أنها صممت باستخدام التعلم العميق. OpenCV: هي أيضا مكتبة تستخدم لمعالجة الصور في شتى المجالات كالوجوه والتعرف على الأشياء التعرف على خط اليد, وغيرها من الاستخدامات أي أنها تستخدم في عدة مجالات وليس التعرف على الوجه فقط.
- 5 اجابة
-
- 1
-
-
تصميم متطلبات الموقع وتسجيل الدخول يتم بناء على المنتج النهائي المراد أن يظهر للاخرين, قبل بناء الموقع يجب تحديد الهدف من الموقع وتحديد الفئة المستخدمة وتحديد المتطلبات وعلي هذه المعطيات يتم بناء الموقع إن كان يتطلب قاعدة بيانات أو تسجيل أو أي متطلبات أخرى فيجب فعلها وإن كان لا يتطلب فلا يجب فعلها, عندما تريد استخدام تكنولوجية أو قاعدة بيانات يجب عليك تعلمها أولا قبل استخدام أي شيء جاهز لكي نتجنب بعض الأخطاء مثل عدم حماية معلومات المستخدمين أو عدم تشفير بياناتهم وغيرها من الأخطاء. تمنياتي لك بالتوفيق.
- 9 اجابة
-
- 1
-
-
يمكن رفع المشاريع على github بطريقة إما باستخدام git وهو عبارة عن أداة تستخدم لتتبع التغيرات التي حصلت في المشروع وهو المفضل حيث أنه يعتبر أقوى ولديه العديد من المميزات التي ستسعملها كمبرمج. يمكنك القراءة عن git بشكل مفصل من هنا. أو يمكنك إنشاء repository على github حيث بعد إنشاء حسابك يمكنك أن تجده أعلى الصفحة: ومن ثم اتباع المعلومات التي ستظهر لك. ومن بعدها يمكنك فتح اسم المشروع في github والذهاب لزر addfiles ومن هناك يمكنك رفع الملفات لكن لا تفضل هذه الطريقة قبل تعلم بعض الأساسيات مثل أن لا ترفع معلومات مهمة هناك.
-
وعليكم السلام, نشرك لكودك والتعلم من الاخرين خاصة من من لديهم خبرة أكبر يساعدك على التعلم وأخذ خبرة أكبر فجميع من هم الان أكثر خبرة كان مستواهم أقل وتعلمو من التجربة. أثناء نشرك لا تكترث للنقد الجارح بل تعلم من النقد البناء الذي سوف يساعدك على التطوير من الذات مما يجعل مستواك أفضل. تأكد قبل أخذ المعلومة من صحتها وطبقها لكي تستفاد منها. أتمنى لك التوفيق.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته, أتمنى تزويد الكود لكي نعمل على المساعدة بشكل أفضل. على ما يبدو أنك تعمل موقع بواجهة أمامية فقط بدون خلفية حيث أن الفرق بين الواجهة الأمامية والخلفية أن الواجهة الأمامية تعطي معلومات ثابتة لا تتغير بتغير المستخدم ولا تحتفظ وتعالج البيانات الاتية من المستخدم حيث أن تعلم اطار عمل للواجهات الأمامية أو الواجهات الخلفية سيسهل العمل لكنه يتطلب وقت لتعلمه سأشرح طريقة يمكنك تطبيقها في مشروعك. يمكنك عمل صفحة ال HTML كالتالي: <form id="form"> <label for="suraOptions">اختر صورة</label> <select id="suraOptions" name="suraName"> <option value="al-fatiha">الفاتحة</option> <option value="al-nas">الناس</option> </select> </form> حيث سيكون جميع الأصوات في مجلد اسمه sounds ويكون صيغة الصوت .mp3 ويكون اسم السورة نفس اسم ال value الذي في الHTML يمكنك عمل دالة لتشغيل الصوت عندما يأخذ اسم السورة كمعامل parameter كالتالي: function playSound (name) { var audio = new Audio("sounds/" + name + ".mp3"); audio.play(); } يمكنك وضع اسم كل سورة داخل option في ال value وعلى أساسه نختار اسم السورة عند الضغط على الزر. function optionName() { // نختار العنصر من خلال ال id const element = document.getElementById("suraOptions"); // ملاحظة لو حصل تغير بالقائمة element.addEventListener("change", function() { // اختيار العنصر const selectedOptionName = element.options[element.selectedIndex]; return selectedOptionName; }); } // تشغيل الصوت حسب الاسم playSound(optionName());
- 9 اجابة
-
- 1
-
-
وعليكم السلام, الإستضافات تختلف على حسب نوعية برنامجك. إذا كان واجهة خلفية أو واجهة أمامية فقط أو عندما يجمعهم الاثنين معا. للواجهات الأمامية فقط: Vercel Netlify إن كنت تبحث عن الواجهتين يمكنك إستخدام Render Railway heroku يوجد الكثير من الإستضافات الأخرى يمكنك مراجعة هذا المقال أيضا اضغط هنا.
-
وعليكم السلام, كلا الواجهات الأمامية والواجهات الخلفية مطلوبة في سوق العمل فقبل إختيار التخصص إختار سوق العمل الذي تريده وعليه حدد التكنولوجيات المطلوبة كnodejs أوLaravel للواجهات الخلفية أو مكتبات الواجهات الأمامية كAngular, React, Vue . إن أردت أن تدخل كمطور موقع متكامل Full Stack حيث يمكنك عمل الواجهات الأمامية والخلفية معا يمكنك البدأ بأساسيات الفرونت إند مثل الHTML , وبعض من الCSS , Javascript لكي تخولك فهم الباك إند أكثر لكن ليس بالشرط لإتقانها يمكنك تعلم الأساسيات فقط ثم الذهاب للباك إند وتتعلمه ثم تعود لتطور نفسك في مجال الفرونت إند وتعلم إطارات عملها ومكتباتها لكن إنتبه من الشتت إذا اخترت مجالك. في حال أثناء تعلمك للFullstack شعرت أنك ستتقن عمل أكثر من الاخر وستلتزم به أكثر وستحبه أكثر يمكنك تحديد التخصص الذي تريده وتطور نفسك من هذا المجال وتدخل سوق العمل. يمكنك أيضا أُثناء تعلمك الواجهات الأمامية أو تطوير Fullstack تعلم تصميم واجهات المستخدم وتجربة المستخدم UI/UX design حيث هذا المجال متعلق بالتصميم والألوان إن كان لديك رغبة في العمل في هكذا مجال. تلخيصا لكلامي إن كنت لا تعلم ماذا تتخصص اقرأ عن كل مجال بالتفصيل واختر ما هو المناسب لك وإن اردت الاثنين معه يمكنك البدأ بالأساسيات كHTML , CSS, JavaScript ثم انتقل للواجهات الخلفية وتعلم أساسياتها وانتبه من التشتت. أرجو لك التوفيق في مسارك.
-
هو برنامج تم إنشائه من طرف قوقل لمساعدة المطورين للتعلم ولبناء التطبيقات بإعطاء أدوات خاصة كمسادعات تقنية من طرف الذكاء الصناعي Gemini المطور من قبل قوقل كما يمكنك اكتشاف جميع المجتمعات الممولة من طرف الشركة. إليك بعض الفوائد الرئيسية للبرنامج: AI developer assistance Project IDX workspaces Cloud learning credits Developer Communities and Programs كما تتيح لك العديد من الأدوات في شتى المجالات مثل : الويب, تطبيقات الهاتف, ذكاء صناعي, Google cloud. يمكنك البحث عن الموضوع أكثر في صفحات قوقل الرسمية.
- 5 اجابة
-
- 1
-
-
وعليكم السلام, الفرق بينهما أن ال Extreme outlier تكون قيمها أبعد من قيم ال outlier وكلاهما يعبر عن قيمة بعيدة عن قيمة البيانات الأخرى الموجودة. عند رؤيتنا لهذه القيم يجب علينا تحديد مصدرها حيث مثلا إذا زادت المبيعات في أسبوع التخفيض نعلم أنه هنالك سبب فنحتفظ بهذه القيم. يمكننا حذف المعلومات لو علمنا أن هناك حساب خاطئ أو خطأ تم إرتكابه. بشكل عام نحدد مصدر المشكلة وعلى أساسها نتعامل مع البيانات كما أن لحساب الoutlier وال Extreme outlier معادلات مختلفة وطريقة مختلفة للتعامل معها.
- 6 اجابة
-
- 1
-
-
تستخدم javascript لبناء مواقع تفاعلية وفي عصرنا الحالي للنجاح في شيئ ما يجب أن نكون أكثر إحترافية حيث يمكنك بناء مواقع ب Html, CSS فقط لكنها لن تكون بإحترافية مثل وجود الجافاسكربت. فعندما نتحدث عن الإحترافية هنا يجب علينا تصميم ثيمات حديثة وعصرية تتطلب الديناميكية والتفاعلية بالموقع والتي تتم عن طريق الجافاسكربت. إذا أردت أن تكون مميزا في عملك ومتقنا له ينصح بتعلم الجافاسكربت لأنها الطريق الأفضل لبناء الواجهات الأمامية. أرجو لك التوفيق.
-
مكتبة turtle في بايثون تستخدم في الgraphics باستخدام كود البايثون ومكتبة pygame هي مكتبة لصناعة الألعاب باستخدام لغة بايثون يمكن للمكتبتين العمل معا لصناعة لعبة متكاملة كما يوجد شرح لمكتبات وإطارات عمل اخرى في مجال الويب كdjango و flask: إنشاء لعبة بصناعة pygame مقدمة Flask مقدمة Django كما أنه تم ذكر مكتبة turtle في اول مقال أرفقته ويوجد العديد من الدروس لإطارات العمل الأخرى المختصة بعالم الويب كديجانقو وفلاسك مما تؤهلك أن تكون مطور واجهات خلفية Backend.
-
هي عبارة عن دالة تستخدم لعمل ال T-test. T-test هو اختبار إحصائي يُستخدم لتحديد ما إذا كان هناك فرق بين متوسطين لمجموعتين (mean) وكيفية ارتباطهما ببعضهما البعض. يتم استخدام T-test عندما تتبع مجموعات البيانات توزيعًا طبيعيًا وتكون الفروق غير معروفة، مثل درجات الطلاب في درس فيزياء ودرجات مجموعة أخرى من الطلاب في درس رياضيات من غير المحتمل أن يكون لهما نفس المتوسط. مثال: import scipy.stats as stats # الدرجات لدرس الفيزياء data_group1 = np.array([14, 15, 15, 16, 13, 8, 14, 17, 16, 14, 19, 20, 21, 15, 15, 16, 16, 13, 14, 12]) # الدرجات لدرس الفيزياء data_group2 = np.array([15, 17, 14, 17, 14, 8, 12, 19, 19, 14, 17, 22, 24, 16, 13, 16, 13, 18, 15, 13]) # T-test تنفيذ stats.ttest_ind(a=data_group1, b=data_group2, equal_var=True)
- 8 اجابة
-
- 1
-
-
إن اللغات البرمجة والتكنولوجيات المطلوبة تعتمد على المكان الذي تريد أن تقدم عليه وتعتمد أيضا على الشركة أو الأشخاص مانحي الوظائف فقبل أن تختار التخصص اختار سوق العمل الذي تريد أن تعمل به, بالطبع في عالمنا العربي يوجد إقبال على php وjavascript لكن يوجد فرص وظائف اكثر في الphp, يمكنك الدخول لمواقع العمل الحر والتصفح كمواقع مثل مستقل وخمسات ورصد ما هو مطلوب في سوق العمل العربي وعلى أساسه أن تختار هدفك. خصائص الدورات: دورة php تجعلك مطور واجهات خلفية باستخدام لغة php وتعلمك إطار عمل Laravel مع قواعد البيانات وwordpress دورة JavaScript تخولك أن تكون مطور مواقع متكامل MERN Stack كما يمكنك أن تتعلم أساسيات بناء تطبيقات الجوال باستخدام إطار عمل ReactNative وبناء تطبيقات سطح المكتب باستخدام إطار العمل Electron.js. كلا الدورتين تعطيك أساسيات العمل في مجال الويب حدد سوق العمل الذي تريد العمل به والمجال الذي تريد أن تتخصص به. أتمنى لك التوفيق.
-
pd.merge تستخدم للدمج العمودي كما أنها تعتمد على المفاتيح Keys أي تعتمد على الدمج حسب المشترك لكن pd.concat يمكنها الدمج إما عموديا أو رأسيا عندما يكون ال axis=0 يدمج عموديا لكن عندما يكون axis=1 فيدمج أفقيا وستخدم لدمج الجداول بأكملها. مثال على merge حيث اعتمد على المفتاح: import pandas as pd data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) print(df, "\n\n", df1) res = pd.merge(df, df1, on='key') res مثال على concat حيث تم الدمج افقيا: import pandas as pd df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3']}) display('df1:', df1) df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}) display('df2:', df2) display('After concatenating:') display(pd.concat([df1, df2], axis = 1)) فنستخدم حسب المعطيات التي لدينا وعلى حسب المراد فعله.
- 3 اجابة
-
- 1
-
-
التصميم كان بالحاسوب مقبولا لكن بعض الأشياء تحتاج إلى التعديل كقسم ال featured__project فلون الخلفية يحتاج تمديدها إلى نهاية القسم كي يبدو بشكل أجمل. المشكلة ظهرت عند تصغير الشاشة فأنت عندما تصمم موقع يجب أن يكون جميلا على جميع أحجام الشاشات المختلفة كالتلفون والايباد وغيرهم من الأجهزة, كما لاحظت في كود الCSS الخاص بك أنه لم يتم التعامل مع ال media query أنصح بالإطلاع على هذا الموضوع المزود بالأسفل وتعلمه وتطبيقه في موقعك لكي يكون أكثر إحترافية, يمكنك أن تستخدم ال Devloper tools الخاص بالمتصفح للتأكد من الأحجام والتأكد من سلامة التصميم أثناء تكبير وتصغير الشاشة. اضغط هنا لا أنصح أن تبدأ بالجافاسكربت قبل أن تتعلم الmedia query بشكل أفضل وأن تطبق مشروع عليها فهي لن تأخذ منك كثير من الوقت بحكم أن لديك الأساسيات خاصة لو أردت أن تخصص بالواجهات الأمامية يكون شرط عليك تعلم هذه المهارات. أتمنى لك التوفيق في رحلتك.
-
وعليكم السلام, كورس علوم الحاسوب يعطيك أساسيات صلبة عامة تقويك بحيث أن لو تخصصت في مجال معين تكون قادر التكيف معه بسهولة ويكون معك فكرة عامة عن كيفية تعلم تكنولوجيا جديدة أو لغة برمجية جديدة, وبهذا تكون جيد في عملك وقادر على إختيار تخصصك على حسب رغبتك وعلى حسب ما ترى نفسك من الممكن أن تجيده بشكل أفضل, كما يكون بإمكانك تعلم التخصص اللذي تريده بشكل أسرع وبقدرة أعلى بحكم الأساسيات التي أعطت لك. مجال الحاسوب واسع وضخم جدا ويحتاج إلى الصبر والتعلم المستمر لكن مع وجود أساسيات قوية يمكنك التكيف مع الصعوبات القادمة بشكل أبسط والتعامل بإحترافية مع المشاكل التي تواجهك. تعلم أساسيات مثل قواعد البيانات, الخوارزميات وغيرها فهي تستخدم في أغلب المجالات في البرمجة فلذلك لا داعي للقلق إن أخذت هذه الأساسيات وقتا كبيرا منك فهي بالأخير معلومات سوف تستعمل في الباك إند خصوصا فتصبح متمكنا من مجالك.
-
وعليكم السلام, تخيل أن لدينا مصفوفة تحتوي على عدد هائل من العناصر مرتبة إذا أردنا أن نبحث عن عنصر معين في هذه المصفوفة أسوأً إحتمال worst time case هو أن نمر على جميع العناصر مما يؤدي إلى وقت طويل ونعبر عليه رياضيا o(n^2) لكن بما أننا نعرف أنه مرتب تصاعديا نستطيع الذهاب لنصف المصفوفة ونتأكد اذا الرقم أكبر من اللذي نديره أم أصغر فنقسم المصفوفة لنصفين فنختار القسم اللذي يوجد فيه العنصر المراد تحديده ثم نعمل بالقسم الموجود فيه العنصر المراد تحديده مثل ما عملنا سابقا حتى نلقى العنصر مما يقلل من وقت البحث ويجعل البرنامج يعمل بشكل أسرع جدا ونعبر عليه رياضيا O(logn) فعندما نبحث في مصفوفة مرتبة تكون لنا الأفضلية كما أن تنفيذ الخوارزمية ليس صعبا. وغالبا كل خوارزمية لها مميزاتها وعيوبها وأوقات محددة لإستخدامها فعليها نختار. اقرأ هذا المقال لمعرفة كيف التنفيذ وتفاصيل أكثر: اضغط هنا
- 6 اجابة
-
- 1
-
-
وعليكم السلام, دورة جافاسكريبت تعلمك أساسيات اللغة من الصفر وتعلم أساسيات البرمجة بشكل عام وتعلم الكثير من تكنولوجيات جافاسكربت ومع الوقت والممارسة تصبح أكثر إحترافية. يوصى أن تعمل الكثير من المشاريع والتطبيق الكثير أثناء الدورة لكي تكون قويا في مجالك. تعلم لغة HTML ضروري قبل دخول الدورة وتعلم CSS يفضل لكن ليست أساسا كما يمكنك إكتساب بعض من هذه المهارات أثناء الدورة. يجب الإلتزام أثناء التعلم وإتباع نصيحة الموجهين والمدربين لكي تحصل على نتائج أفضل ولكي تتقن أكثر . أتمنى لك التوفيق.
-
عند تعلم البرمجة الخبرة والمشاريع تأخذ حيزا كبيرا في سوق العمل فعند تعلم البرمجة ينصح بالتعليم والتطبيق وعرض مهاراتك لكن قبل تعلم البرمجة يجب عليك تحديد هدفك وتعلم الطريقة الصحيحة لتعلم البرمجة. اقرأ هذا المقال: https://academy.hsoub.com/programming/general/تعلم-البرمجة-r662/ طريق البرمجة طريق ممتع ومتجدد يجب عليك التعليم المستمر والتكيف مع التطور التكنولوجي. أتقن الأساسيات ثم إنتقل لعمل المشاريع تعلم حل المشاكل ولا تستخدم أدوات جاهزة للتعلم بل حاول بتعديل أغلاطك بنفسك وتعلم من ذوي الخبرة وانضم إلى مجتمعات المبرمجين لكي تحصل على معلومات أكثر. معرفتك باللغة الإنجليزية تساعد كثيرا في البحث عن المعلومات بل وفي التعلم ذاته لأن أغلب لغات البرمجة والتكنولجيات الحديثة تستخدم اللغة الإنجليزية. تعلم البرمجة قد يصيب بالإحباط في بداياته لعدم فهم الكثير من الأمور أو مقارنة نفسك بالاخرين لكن كل ما عليك فعله أن تعامله مثل معاملة المجالات الأخرى أن تلتزم بالتعلم والتطبيق وعمل المشاريع بعد فترة من الزمن تصبح معلوماتك قوية وتحقق هدفك. تمنياتي لك بالتوفيق.
-
مشاكل ال responsive design تحصل بسبب عدم ضبط الbreak points الخاصة بال Media query أو عدم استخدام خواص ال position بشكل صحيح. ينصح دائما بالتجربة أثناء العمل واستخدام الdeveloper tools الخاصة بالمتصفح فيتم تصغير وتكبير الشاشة وتعديل الأخطاء عندما يخرب التصميم عند حجم شاشة معين. الرجاء تزويد الخطأ الذي يحصل المرة القادمة لكي نعمل على إصلاحه.
-
عند التعامل مع Animation مشابه لهذا عادة ما نستخدم HTML,CSS,Javascript معا لحل مشكلة كهذه حيث نتعامل مع تقدم الدائرة بالجافاسكربت ومن ثم نقوم بتحديث شكل التقدم على حسب المنطق اللذي طبقناه في الجافاسكربت: أولأ ننشئ div يحتوي على الصورة الداخلية ودائرة التقدم: <div class="progress-div"> <img src="مسار الصورة" class="image"> <div id="progressCircle" ></div> </div> من ثم نعدل التصميم بCSS ونستخدم خاصية ال conic-gradient لعمل الخلفية ولونها ونحتفظ بالتقدم على شكل متغير يتم التعديل عليه بواسطة جافاسكربت .progress-div { position: relative; display: inline-block; } #progressCircle { position: absolute; top: 0; left: 0; width: 120%; height: 120%; background: conic-gradient(#efc407 calc(var(--progress) * 1%), #cecece calc(var(--progress) * 1%)); border-radius: 50%; transform: translate(-10%, -10%); } .image { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; position: relative; right: 3px; z-index: 1; } ومن ثم يتم تطبيق المنطق بالجافا سكربت والتعامل مع التقدم وتغييره <script> let progress = 0; const progressCircle = document.getElementById('progressCircle'); //هنا يتم تغيير المنطق حسب المراد </script> ويمكن التعديل على التصميم على حسب المراد.