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

عمار معلا

الأعضاء
  • المساهمات

    465
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    3

كل منشورات العضو عمار معلا

  1. يوجد النوعين وتستطيع اكتسابها احيانا فكرة ما...هي موجودة بالعالم الحقيقي بس انت نظرت الها بطريقة مختلفة عن بقية الناس، بالتالي فكرة تحولت لتخطيط وبناء ومن بعدها لمنتج، وعند هالحالة اصبحت رائد اعمال، شاهد فلم the founder صدر بعام 2016 يتحدث الفلم عن قصة وحده من اكبر شركات المنتجة للأكلات السريعة Macdonald's يلي وصلها شخص للعالمية امن ب فكرتها ونظر الها بطريقة مختلفه عن الاخوين يلي كان همهم يبيعوا همبرغر بمتجرهم الصغير و ماكان عندهم اي تصور لعالمية هالفكرة، الفلم له نتائج ممتازة برفع مهاراتك الريادية وتعلم اقتناص الفرص
  2. عندما تقوم بتطوير نموذج ذكاء صنعي مثل توقع اسعار التداول اليومي للبورصة أو تمثل ارتفاع اسعار البترول أو مثلا بيانات عن المشتريات وقيمتها المالية أو بيانات طبية وهكذا، كل هذه البيانات يصعب الحصول عليها لتدريب نموذج ذكاء صنعي إما بسبب أن المنظمة لا تعطي معلومات لمنافسيها أو أن حقوق المرضى محفوظة بالتالي لن تستطيع الحصول عليها، بالتالي تستطيع استخدام مكتبة faker في إنشاء هذه الانواع من البيانات وكأنها بيانات حقيقة وتدريب نماذج الذكاء الصنعي عليها وتستطيع الاستثمار بهذه النماذج
  3. اذا لم تستطيع تفعيل اللغة العربية في gtts، يمكنك إضافة اللغة العربية من خلال المتحول lang كالاتي from gtts import gTTS tts = gTTS("أنا استطيع التحدث باللغة العربية", lang="ar") tts.save('/Download/output.mp3') حيث قمنا بتعيين gtts إلى اللغة العربية وسوف يتم حفظ الجملة التالية "أنا استطيع التحدث باللغة العربية" في المسار /Download/output.mp3 يمكنك تغيير المسار ثم فتح مكان الملف الصوتي والاستماع إلى الصوت المحول في حال ظهرت لك مشاكل اخبرنا في التعليقات لحلها، يعتبر gtts افضل الحلول الموجودة في تحويل النص إلى صوت
  4. انت تقومين باستخدام مكتبة numpy array في image_path لذلك يجب عليكِ أن تتأكدي من القيمة التي تم تعينيها في image_path يجب أن لا تكون array numpy حتى لو استطعنا تحويلها ب str، يعتبر حل صحيح ولكن هذا خاطئ منطقيا لأنه سوف يأثر على جودة الكود الخاص بك وسوف تظهر اخطاء في الكود عندما مراجعة الكود الخاص بك، من المتوقع إيضا بالكود الخاص بك أنك تقومي بإسناد الصورة إلى image_path ومسار الصورة إلى image لذلك يظهر خطأ img is not a numpy array اذا كان image بالفعل هو مصفوفة معبرة عن الصورة تستطيعِ تحويلها إلى مصفوفة numpy لكي تناسب تابع imwrite كالتالي import numpy as np output_image_path = "path/to/new_image" cv2.imwrite(output_image_path, np.array(image)) cv2.destroyAllWindows() طبعا يتم ذلك بعد أن تقومي بالتعديل على المسار الخاص بالصورة
  5. اذا كنت تريد بناء منصة كبيرة لتقديم الخدمات الالكترونية يجب عليك الاستعانة بمدير تقني وتضعه في صورة الفكرة التي سوف تريدها وهو سوف يقوم بتوظيف العناصر الصحيحة لتنفيذ فكرتك لان له خبرة كبيرة جدا في المجال التقني، طبعا سوف يقوم بتشكيل فريق برمجي مكون مثلا من مطور واجهة الامامية (شخص يقوم ببرمجة الواجهة التي تراها عينك كواجهة موقع حسوب) و مطور واجهة خلفية( شخص يقوم ببرمجة نقاط لانشاء البيانات وتعديلها وحذفها و تشغيل الازرار الخاصة بالواجهة الامامية) وحسب حاجة المشروع وفكرتك حول الخدمات الالكترونية سوف يقوم المدير التقني باختيار اشخاص مناسبين حسب المهمة المطلوبة وسوف يكون المدير التقني مسؤول امامك بكامل عمل الفريق.
  6. هذا يعتمد على نوع المنتج المروج له وشريحة الجمهور المستهدفة بنسبة كبيرة، فمثلا شركة مثل لامبرغيني متخصصه في صناعة السيارات وكما تعلم سعر هذه السيارات باهظة الثمن، حتى الشركة نفسها أعربت عن عدم استخدام اعلانات تلفزيونية لأن الأغنياء لا يوجد لديهم وقت لمتابعة التلفاز، فكما تلاحظ هذا المثال يعتمد على الجمهور المستهدف، من ناحية اخرى شركة مثل كوكولا لا تزال تستخدم الاعلانات التلفزيونية بشكل كبير لان الشخص الذي يتابع التلفاز بمختلف الفئات العمرية يستطيع شراء هذا المنتج.
  7. لا يمكنك رفع ذاكرة الوصول العشوائي RAM من دون إضافة قطعة خارجية، ولا انصحك بشراء قطعة RAM خارجية بنفسك بل يجب عليك أخذ جهازك إلى أقرب مركز مختص بصيانة الحواسيب، سيقومون بوضع قطعة RAM متوافقة مع جهازك مع ذلك حتى عند إضافة قطعة RAM لن تستطيع استغلال القدرات الكاملة لعمل RAM مع CPU لكن يعتبر حل جيدا جدا بدلا من التعامل مع البطأ في جهازك، اتفق مع التعليق الذي اقترحه @عبدالباسط ابراهيم لن يكون استخدام حل الذاكرة الافتراضية Virtual memory له تأثير كبير لأن ذاكرة الوصول العشوائي RAM اسرع بكثير من هذه الذاكرة الافتراضية وسوف يقوم النظام باستخدام الذاكرة الافتراضية في حال امتلاء ذاكرة الوصول العشوائي RAM بالكامل وتخزين بيانات التطبيقات التي لا يتم استخدامها حاليا وعند الحاجة إليها يتم نقل هذه البيانات من الذاكرة الافتراضية إلى ذاكرة الوصول العشوائي RAM.
  8. لا يوجد وظيفة محددة تكون عالية الطلب واخرى مهملة، ولكن مع تقدم العلم وخاصة في مجال الذكاء الصنعي، سوف يتم النظر الى جانب مهم عند التقديم إلى وظيفة ما وهي استخدام ادوات الذكاء الصنعي جنبا الى جنب في المهمة الوظيفة، كمثال مدير الموارد البشرية عندما يكون لديه مجموعة كبيرة من ملفات السير الذاتية، عندما يقوم بفلترة هذة الملفات بشكل يدوي سوف يكلف مال ووقت وجهد، لكن عند استخدام اداة الذكاء الصنعي Resume AI تقوم تلقائيا بفلترة الملفات تبعا للسيرة الذاتية الاقرب للمتطلبات الوظيفه وهذا يوفر الوقت ومال وجهد
  9. التسويق الالكتروني ببعض الجمل هو الانتقال من الماديات إلى الرقميات ، من المكان السوقي إلى الفضاء الرقمي، من الفهارس الورقية إلى الفهارس الرقمية، من المتجر المادي إلى المتجر الافتراضي ، من العالم التقليدي إلى العالم الإلكتروني، من التسعير الثابت إلى التسعير الديناميكي، من القنوات المحلية إلى القنوات العلمية ، اهم الفوائد في التسويق الالكتروني هي اختصار الوقت والجهد بسبب عدم الحاجة للذهاب إلى مكان السوق و لا يوجد وقت محدد للبيع كما في الاسواق التجارية، من أنواع التسويق الحديث هي خلق brands بطريقة مبتكرة من خلال مقاطع فيديو أو مقالات أو تصاميم ووضعها على مواقع التواصل الاجتماعي، كذلك الاستفادة من trands الكوميدية أو الساخرة، كمثال على ذلك احد المصممين استغل بعض اللقطات الساخرة بالمسلسل السوري "مرايا" حتى يسوق لتصاميمه كما في الصورة
  10. يمكنك حل ذلك عبر تخزين محتوى label الحالي وبعد ذلك اذا كان محتوى label قوس يمني نقوم بتعين المحتوى إلى قوس يساري واذا كان محتوى label قوس يميني يتم تعينه إلى قوس يساري في البداية نقوم بإنشاء نافذة جديدة ونقوم بإسنادها إلى root ثم نقوم بتعريف label ونضع قيمة text قوس يساري ونضيف label إلى النافذة ثم نقوم بتعريف زر ويكون شكل الزر قوسين مغلقين باستخدام text ويأخذ التابع change_braket الذي يقوم بتغير القوس الحالي وهذا الكود المعبر عن الوصف import tkinter as tk root = tk.Tk() label = tk.Label(root, text="(") label.pack() button = tk.Button(root, text="()", command=change_braket) button.pack() لنقوم الان بتعريف التابع change_braket الذي يقوم بتغير قيمة القوس الحالي اذا كان قوس يميني يصبح قوس يساري واذا كان قوس يساري يصبح قوس يميني كما ذكرنا في بداية الشرح def change_braket(): cur_output = label["text"] if cur_output == "(": label["text"] = ")" else: label["text"] = "(" يتم تخزين محتوى label في cur_output ثم اجراء المقارنة عبر if else لتغير بين القوسين وبالتالي يصبح الكود الكامل بعد استخدام حلقة في tkinter import tkinter as tk def change_braket(): cur_output = label["text"] if cur_output == "(": label["text"] = ")" else: label["text"] = "(" root = tk.Tk() label = tk.Label(root, text="(") label.pack() button = tk.Button(root, text="()", command=change_braket) button.pack() root.mainloop()
  11. يوجد طريقة عملية لتخفيض تكاليف إنشاء شركة ناشئة من خلال mvp او ما يعرف بطرح نسخة مصغرة من الخدمة الاساسية التي ستقدمها الشركة الناشئة، سوف يساعدك ذلك في تقليل تكاليف اطلاق اول منتج وكذلك سوف تتعرف على اراء الجماهير والمجتمع المهتمين بهذه الخدمة وبعدها يمكنك اطلاق الخدمة كنسخة pro عن النسخة المصغرة بإضافة ميزات اكبر وافضل، كذلك يوجد طريقة اخرى وهي البحث عن مسرعات الاعمال في بلدك او المشاركة في هاكوثونات خاصة بالشركات الناشئة يكون الهدف الاساسي في هذه المسرعات او الهاكثونات تقديم تمويل جيد جدا للشركات الناشئة التي لديها افكار مميزة لم تتطرح سابقا او تطوير فكرة موجودة في السوق الحالي بطريقة مبتكرة وكذلك تقديم دعم فني وتقني وإرشاد لإطلاق mvp في اقل وقت زمني لكل شركة ناشئة تم اختيار فكرتها ، هذا سيقلل الوقت في عملية الإطلاق فيما لو اعتمدت على خبرات فريقك الحالي وبالتالي تخفيض التكاليف بشكل معقول.
  12. في حال تعلمت بايثون يوجد لديك الاختصاصات التالية في سوق العمل ولكن كل اختصاص يتطلب تعلم شيء اخر لكي تكمل هذا الاختصاص Backend developer : هذا الاختصاص يعود إلى تطوير الواجهة الخلفية في موقع الويب، ويمكنك تعلم إطار العمل Django و Django rest framework لتصبح محترف في إنشاء API ، يمكنك التعرف على API من خلال الرابط التاليولكن تحتاج إلى تعلم المفاهيم المتعلقة بقواعد البيانات Database Odoo developer: هذا الاختصاص يعود إلى تعلم تطوير تطبيقات الأعمال يستخدم لإدارة العمليات التجارية المختلفة مثل المبيعات والمشتريات والمخزون والمحاسبة ولكن تحتاج إلى تعلم مفاهيم javascript ,htmt, css. AI Developer: هذا الاختصاص يعود إلى تطوير نماذج الذكاء الصنعي والتي يمكن استخدامها في مواقع الويب مثل التعرف على الصوت وتحويل النص إلى الصوت والصوت إلى نص والترجمة الفورية ويتم ذلك باستخدام أطر مثل tensorflow, keras, pytorch Data Analysis: هذا الاختصاص يعود إلى تحليل البيانات مثل تحليل المبيعات الشهرية والسنوية لشركة ما، بذلك نستطيع معرفة مواقع الخلل في عدم بيع منتج ما وعدم رغبة الزبائن بشرائه ، هذا مثال عن عمل محلل البيانات تحتاج في هذا الاختصاص إلى تعلم قواعد البيانات للتعامل معها جبنا إلى جنب مع بايثون. يمكنك العمل من خلال هذه الاختصاصات في شركة أو يمكنك العمل كفريلانس على موقع مستقل مثلا ويمكنك إلقاء نظرة على الموقع ومعرفة ماهي المشاريع التي يتطلبها العمل الحر. إيضا في هذا السؤال توجد بعض الإجابات التي ستساعدك في عملية الاختيار
  13. يمكنك حساب عدد مرات الضغط على زر ما بنفس طريقة التعليق السابق عبر انشاء عداد بقيمة 0 وزيادة قيمة العداد بمقدار 1 عند الضغط على الزر، ولكن عبر تعريف متحول count كمتحول عام باستخدام global لكي نستطيع الوصول إليه من أي مكان في الكود import tkinter as tk def counter(): global count count += 1 label.config(text="عدد مرات الضغط الحالية: " + str(count)) count = 0 root = tk.Tk() button = tk.Button(root, text="اضغط هنا", command=counter) button.pack() label = tk.Label(root, text="عدد مرات الضغط الحالية: 0") label.pack() root.mainloop() فقط الاختلاف عن الكود السابق هو في تعريف التابع counter الذي تتم فيه عملية تحديث count حيث تم تعريفه ك global وبالتالي في اول ضغطه سوف تصبح قيمة count=1 وبعد ثاني ضغطه يصبح count=1+1=2 مع عرض عدد مرات الضغط الحالية في كل مرة لو لم يتم وضع global سوف يعطي ذلك خطأ لأنه لن نستطيع الوصول إلى المتحول count وتحديثه باعتباره متحول محلي إي لا يمكن الوصول إلى من اي مكان في الكود.
  14. مرحبا ، يمكنك البدء في تعلم اساسيات اللغة التي تريدين تعلمها ولتكن c++ أو بايثون ثم القيام بحل تمارين ومسائل على هذه الاساسيات يوجد تمارين في هذا السؤال من المبتدئ إلى المتقدم ولكن افضل طريقة ليرتفع مستواك في البرمجة هي عبر حل التحديات التي توفرها المواقع المتخصصة بالبرمجة التنافسية وحل المشاكل بالاعتماد على الخوارزميات والتفكير الرياضي والبرمجي، وهذا سوف ينمي لديك مهارة problem solve، من مثل هذه المواقع hackerrank موقع على الانترنت يوجد عليه مجموعة من التمارين المتنوعة والتي ستمكنك من التفكير خارج الصندوق ويمكنك تحديد مستوى الصعوبة من الاسهل إلى الاصعب و تستطيعِ ان تجدي تمارين لكل مفهوم في البرمجة مثل (الحلقات, المصفوفات, التوابع ....الخ) كذلك يوجد اختبار للكود الذي تقوم بكتابته. Codeforces موقع على الإنترنت يهتم بمسابقات البرمجة ، يقدم الموقع مجموعة متنوعة من المسابقات والتي تكون في ثلاث مستويات مختلفة وتقام شهريا بشكل دوري، يستخدم الموقع نظام تصنيف يعتمد على أداء المشارك في المسابقات مثل تصنيف لاعبي الشطرنج، يهدف الموقع إلى رفع مهارات البرمجة وحل المشاكل. هذه المواقع تخولك في المشاركة و التحضير لأولمبياد المعلوماتية المقام في بلدك والذي يعرف ب IOI وكذلك المشاركة في مسابقات البرمجة التنافسية الجماعية ACM. حل المسائل على هذه المواقع يحتاج وقت للتعود ولكن سوف تتقدمي بشكل ملحوظ في التفكير البرمجي.
  15. هل تستطيع أرفاق صورة للكود والخطأ لمساعدتك في حل المشكلة
  16. مرحبا, لا يوجد طريقة افضل في استخدام اي أداة او مجال محدد, انت من تقوم بتحديد ذلك عبر البحث عن افكار لاستخدام الذكاء الصنعي في بلدان اخرى ومحاولة تطبيقها في بلدك مثلا من الممكن ان تتقن مجال الذكاء الصنعي وتصبح محترف فيه لحد ان تقوم بتقديم خدمات ك freelancer على موقع مستقل مثلا يوجد الكثير من المشاريع الذي تتطلب وجود الذكاء الصنعي, مثل تقديم خدمة تحويل النص إلى صوت والصوت إلى نص أو الترجمة وماشابه ذلك يمكنك الاستعانة بالذكاء الاصطناعي في كتابة مقالات في مجالات طبية رياضيه غذائية .. الخ وبيع هذه المقالات كخدمة على خمسات مثلا يمكنك مثلا تطوير فكرة بمساعدة فريق متكامل والمشاركة في هاكثونات للشركات الناشئة وعند ذلك سوف تحصل على تمويل في حال نجاح فكرتك وتقوم بتأسيس شركة برمجية.
  17. وعليكم السلام, هذه الكلمات تمثل الحالة الحالية للحزمة التي يتعامل معها مدير الحزم وهذه وصف موجز لكل كلمة: "Hit": تعني ان الحزمة التي يتم البحث عنها عبر مدير الحزم موجودة في ذاكرة التخزين المؤقت وبالتالي لا يقوم بتحميلها مرة ثانية بل يستطيع اخذ نسخة من الحزمة من ذاكرة التخزين المؤقت. "Get": تعني أن مدير الحزم سوف يقوم بتحميل حزمة معينة, لأنه لم يجد نسخة لهذه الحزمه في ذاكرة التخزين المؤقت أو يوجد إصدار احدث للحزمة وسوف يقوم بتنزل وتخزين الحزمة في الموقع المناسب على النظام. "Ign": تعني أن مدير الحزم سوف يقوم بتجاهل حزمة معينة. لأن هذه الحزمة لا تعتبر ضرورية في عملية التحديث أو التثبيت
  18. مرحبا, اكيد لكي تصبح مطور جيد في الواجهة الأمامية, يجب أن تكون جيد في جافا سكربت ولكن عملك كمطور سوف يكون محصور بشكل اساسي في اطار عمل مثل React js, Vue js...الخ, فهذا يعني انه عندما تتطرق لموضوع يحتاج منك معلومات اكثر في جافا سكربت تقوم بالبحث عنه, لذلك تعتبر الاساسيات المقدمة في دورة تطوير واجهات المستخدم ودورة الجافاسكريبت كافي, كذلك يمكنك الاستعانه بالملخصات الموجودة في السؤال التالي بعد دراسة الاساسيات
  19. مرحبا, من خلال ما وضحته عن مهاراتك, فأن اكثر مجال يتطلب الرياضيات والبرمجة هو الذكاء الصنعي, فمجال الذكاء الصنعي قائم بشكل كامل على الرياضيات الخاصة بمواضيع الجبر الخطي والإحصاء، اما بالنسبة للبرمجة من المفضل أن تكون لديك بعض المعرفة الأساسية في بايثون، يمكنك البدء في قراءة هذه المقالة تعلم بايثون وتستطيع قراءة هذه المقالة للتعرف أكثر على مجال الذكاء الصنعي حيث يجاوب المقال على الاسئلة التالية هل يمكنني تعلم الذكاء الاصطناعي حتى لو لم يكن لدي خبرة في البرمجة؟ أريد تعلم الذكاء الاصطناعي لكني لا أعرف من أين أبدأ؟ ما هي خطوات تعلم الذكاء الاصطناعي؟ ما هي أهم مصادر تعلم الذكاء الاصطناعي؟
  20. مرحبا, أرجو منك إعادة ضغط الملفات إلى zip لكي تكون اخف, كذلك إعادة طرح مشكلتك في الدرس الخاص بإنشاء استمارة الدفع مع أعطاء معلومات اكثر عن المشكلة مثل صورة للاخطاء لكي تحقق اكبر فائدة
  21. مرحبا, أرجو منك ارفاق لقطة شاشة للمكان الذي يحدث فيه الخطأ على جهازك, غير ذلك هذه يمكنك تثبيت pip باستخدام CMD تبعا لنوع جهازك كالتالي: نظام Windows: python -m ensurepip --upgrade نظام Linux: sudo apt-get install python3-pip نظام macOS: brew install python بعد ذلك يمكنك التحقق من تثبيت pip عبر pip3 --version
  22. مرحبا, يمكنك حل المشكلة عبر تمرير المسار الخاص بمجلد يحوي هذه الصور وباستخدام المكتبة glob التي تمكنك من استخراج المسار الكامل لكل صورة في هذا المجلد, يصبح بإمكانك معالجة كل صورة وحفظها باسم مختلف import cv2 from pathlib import Path import pafy import argparse import numpy as np import glob # new import os #new classesf="yolov3.txt" weights="yolov3.weights" config="yolov3.cfg" scale=0.00392 classes=None with open(classesf,'r') as f: classes=[line.strip() for line in f.readlines()] COLORS =np.random.uniform(0,255,size=(len(classes),3)) net=cv2.dnn.readNet(weights,config) ############################################التعديل هنا لادخال الصور ap = argparse.ArgumentParser() ap.add_argument('-i', '--images', default=["images"], #new help = 'path to folder image') #new ap.add_argument('-c', '--config', default="yolov3.cfg", help = 'path to yolo config file') ap.add_argument('-w', '--weights', default="yolov3.weights", help = 'path to yolo pre-trained weights') ap.add_argument('-cl', '--classes', default="yolov3.txt", help = 'path to text file containing class names') args =vars(ap.parse_args()) image_paths = glob.glob(os.path.join(args["images"],'*.jpg')) # new for image_path in image_paths: #new image = cv2.imread(image_path) # Call the video_detector() function video_detector(image) # Save the output image to a new file with a unique name output_image_path = image_path[:-4] + "_new.jpg" #new cv2.imwrite(output_image_path, image) في الكود السابق عند التعديل يتم في الاسطر التي تحوي تعليق new في البداية تم استدعاء glob, os ثم تغيير argparse لتمرير مسار المجلد بدلا من عدة صور ثم استخدام الدالة glob في المكتبة glob لتقوم بتوليد جميع المسارات الكاملة للصور الموجودة في المجلد عبر تمرير مسار المجلد مع تحديد اللاحقة jpg لأخذ الصور فقط وسوف يكون شكل الخرج في حال الطباعة ['E:\\old_pc\\collage\\temper\\Ai5\\٢٠١٨١١٠٦_١٧٠٤٣٠.jpg', 'E:\\old_pc\\collage\\temper\\Ai5\\٢٠١٨١١٠٦_١٧٥٣١٧.jpg', 'E:\\old_pc\\collage\\temper\\Ai5\\٢٠١٨١١٢٧_٢٢٤٤٢٢.jpg', 'E:\\old_pc\\collage\\temper\\Ai5\\٢٠١٨١١٢٩_٠٨٤٧٢٢.jpg'] ثم مرور حلقة على جميع المسارات وقراءة كل صورة ومعالجتها ثم تعيين اسم جديد عبر إضافة _new في نهاية الصورة لتميزها عن الاصلية ويكون شكل الخرج في حال الطباعة E:\old_pc\collage\temper\Ai5\٢٠١٨١١٠٦_١٧٠٤٣٠.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٠٦_١٧٠٤٣٠_new.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٠٦_١٧٥٣١٧.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٠٦_١٧٥٣١٧_new.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٢٧_٢٢٤٤٢٢.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٢٧_٢٢٤٤٢٢_new.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٢٩_٠٨٤٧٢٢.jpg E:\old_pc\collage\temper\Ai5\٢٠١٨١١٢٩_٠٨٤٧٢٢_new.jpg
  23. يوجد في رابط الدرايف التالي ملخص pdf مكتوب بخط اليد مكون من 126 صفحة فيها تلخيص لجميع الامور المهمة في JavaScript بدءا من الاساسيات وصولا إلى الكائنات (objects) تلخيص JavaScript
  24. مرحبا, يجب أن يكون الحل في توظيف شخص محترف وذو خبرة في مجال تسويق العقارات واعطاءه راتب ثابت وممتاز مع اعطاءه صلاحيه في بناء فريق التسويق بالعمولة الخاص به.
  25. مرحبا, عند العمل في مشروع web متكامل ,عندما تكون ان الشخص المسؤول عن backend يكون هناك شخص اخر مسؤول عن frontend يقوم frontend developer بكتابة الكود الخاص بالواجهة الامامية وليكن كمثال صفحة لعرض المنتجات في الموقع فيكون على عاتقه بناء شكل ايقونة المنتج وخصائص العرض في الصفحة فيما تكون مهمتك ك backend developer كتابة API وهذا ماسوف تركز على تعلمه اذا اردت ان تصبح backend developer فمطور الفرونت ايند يكون بانتظار api الذي انت تقوم بتوفيره لايجاد جميع المنتجات الموجودة في الداتا بيز, كذلك لو افترضنا انه نريد حذف منتج عبر زر, فشكل الزر والوانه يقوم ببناء front end developer فيما انت تقوم بتوفير api الذي يقوم بمهمة الزر وهي الحذف
×
×
  • أضف...