-
المساهمات
15432 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
403
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
المقصود هو الأسبوع العالمي لريادة الأعمال (GEW) هو مبادرة دولية تهدف إلى تعريف الشباب في القارات الست بموضوع ريادة الأعمال، وبدأ الأسبوع في عام 2008 بعد حدثي أسبوع المشاريع في المملكة المتحدة وأسبوع ريادة الأعمال في الولايات المتحدة الأمريكية، عام 2007. يتم الاحتفال بالأسبوع العالمي لريادة الأعمال في الأسبوع الثاني من شهر نوفمبر كل عام، ويشارك فيه أكثر من 170 دولة حول العالم، وخلاله يتم تنظيم العديد من الأحداث والأنشطة التي تهدف إلى دعم رواد الأعمال وإنشاء بيئة داعمة لريادة الأعمال. تشمل أهداف الأسبوع العالمي لريادة الأعمال ما يلي: توعية الشباب بموضوع ريادة الأعمال وتشجيعهم على بدء مشاريعهم الخاصة. تزويد رواد الأعمال بالمهارات والتدريب اللازمين لنجاح مشاريعهم. بناء مجتمع من رواد الأعمال الداعمين لبعضهم البعض. خلق بيئة داعمة لريادة الأعمال على المستوى المحلي والوطني.
-
فقدان الحماس لمشروع ما أمر شائع، خاصةً إذا كنت قد عملت عليه لفترة طويلة وهناك العديد من الأسباب التي قد تؤدي إلى فقدان الحماس، مثل: تغير أهداف المشروع أو مساره. عدم وجود تقدم أو تحقيق للأهداف. مواجهة تحديات أو عقبات صعبة. شعورك بأنك لم تعد تساهم بشكل إيجابي في المشروع. وبالطبع يوجد بعض الأشياء التي يمكنك القيام بها: افهم السبب وراء فقدانك للحماس وما الذي أدى إلى هذا الشعور؟ هل هو شيء يمكنك تغييره أم أنه شيء خارج عن سيطرتك؟ تحدث إلى مؤسسي المشروع الآخرين وشاركهم شعورك وناقش معهم ما إذا كان هناك شيء يمكن القيام به لتحسين وضع المشروع. خذ بعض الوقت للتفكير في ما تريده، هل ما زلت تؤمن بالمشروع؟ هل هناك شيء يمكنك القيام به لإعادة إحياء حماسك؟ إذا قررت ترك المشروع، فافعلها بطريقة إيجابية. تحدث إلى مؤسسي المشروع الآخرين وأخبرهم عن قرارك بطريقة محترمة.
-
الكود جيد جدًا، حيث استخدمت العناصر الصحيحة لتضمين ملفات الصوت والفيديو في صفحتك، كما أضفت عناصر التحكم التي تسمح للمستخدمين بالتشغيل والإيقاف المؤقت وضبط الصوت وما إلى ذلك. بعض الملاحظات البسيطة: من الممكن إضافة صفات alt إلى عناصر <audio> و <video> لوصف الوسائط للمستخدمين الذين يستخدمون برامج قراءة الشاشة. أيضًا إضافة عناصر <audio> و <video> إلى نفس العناصر <source> كالتالي: <audio controls> <source src="straykids.mp3" type="audio/mpeg"> <source src="straykids.ogg" type="audio/ogg"> </audio> مما سيسمح للمتصفح باختيار أفضل تنسيق صوتي متاح.
- 3 اجابة
-
- 1
-
-
في البداية، يمكن تقسيم الأرباح بينكما بنسب متساوية نظرًا لأنكما ستساهمان بنفس رأس المال، أي كل شخص سيحصل على 50% من الأرباح. لكن لما أنه يمتلك المعمل ويدير العمل من البداية وحتى السنة القادمة فمن الممكن، الاتفاق على نسبة من الأرباح كتعويض عن إدارة العمليات اليومية والعمل الشاق الذي يتطلبه المشروع، ونسبة الأتعاب تتراوح بين 10% و20% من الأرباح الصافية. أي تصبح نسبة الأرباح لك أنت 40% وهو 60% مثلاً. أما بالنسبة للراتب الشهري، فهذا أمر آخر يمكن الاتفاق عليه، فإن كان الشريك الآخر يعمل في المعمل بشكل يومي، فقد يطالب براتب شهري، ولكن إن كان يعمل بشكل جزئي، فقد يرضيه الحصول على نسبة اتعاب من الأرباح فقط.
-
وعليك السلام يا محسن، بخصوص نصائح للدراسة بشكل جيد، فهي ألا تستعجل وعليك بالاستيعاب والفهم ثم البحث وقراءة أو مشاهدة المزيد ولا تكتفي في حال احتجت لتوضيح أمرًا ما، ثم تستطيع السؤال أسفل فيديو الدرس لمساعدتك، وعليك التركيز على الأساسيات وتنفيذ أكثر من مشروع عليها. ولا تنسى كتابة الكود بيديك وبمفردك لا المشاهدة فقط، حيث أنك ستخطيء وستتعلم من ذلك الكثير، فعقلك يخدعك وتظن أنك قادر على تنفيذ ما يتم شرحه أو مستوعب لما يحدث وعند التنفيذ بمفردك تجد أنك بحاجة إلى التركيز والممارسة لفهم الأمر. وستجد هنا نصائح وشرح مفصل أكثر:
- 3 اجابة
-
- 2
-
-
تأكد من أنك قمت بتحديد اللغة العربية كلغة النص الذي تريد تحويله إلى صوت باستخدام الأمر التالي: engine = pyttsx3.init() engine.setProperty('rate', 150) # سرعة النطق engine.setProperty('voice', 'com.apple.speech.synthesis.voice.sara') # اسم الصوت العربي وتستطيع استبدال 'com.apple.speech.synthesis.voice.sara' بالصوت العربي المناسب لجهازك. بعد تحديد اللغة، استخدم الأمر التالي لتحويل النص إلى صوت: engine.say("السلام عليكم") engine.runAndWait() وستجد هنا أمثلة: https://pyttsx3.readthedocs.io/en/latest/engine.html#examples
-
المشكلة هيKeyError: 1 ، وتعني أن البرنامج يحاول الوصول إلى مفتاح غير موجود في قاموس questions، والمفتاح هو قيمة متغير q ، وهي 1 ولكن لا يوجد مفتاح بقيمة 1 في قاموس questions. عليك التأكد من أن متغير q يكون دائمًا ضمن نطاق مفاتيح قاموس questions، وذلك عن طريق التحقق من قيمة q قبل محاولة الوصول إلى عنصر questions[q]. from tkinter import * from tkinter.colorchooser import * from tkinter.messagebox import * from tkinter.constants import * #g= tkinter.Tk() g=Tk() #g.config(background="white") n=StringVar() q=1 questions={" 1.أيّ لغة برمجة هذه؟ :":"C. بايثون", " 2.لماذا تستخدم بايثون؟ :":"D. كلاهما", " 3.متى ستصبح مبرمجاً؟:":"D. بسرعة ", #" 4.لماذا اخترت بايثون؟: ":"A" } options=[["A. جافا","B. سي++","C. بايثون","D. كود"], ["A. سهلة","B. عالمية","C. غير","D. كلاهما"], ["A. بعد عام","B. بعد ستة أشهر","C. الظهر","D. بسرعة "], #["A. سهلة","B. عالمية","C. شخص أوصى بها","D. نعم "] ] def cin(): global q if q < len(questions): if q in questions: ff=Label(g,text=questions[q]) ff.pack() k =(questions.get(questions[q])) for i in options[q-1]: c = Radiobutton(g, text = i,fg = "black", width = 12, height = 1,variable=n, value=i ,bd = 2, bg = "white", cursor = "hand2" ,command=lambda:cin()) c.pack() s = n.get() if s == k : showinfo(title='معلومات',message='مبروك، لقد نجحت') q += 1 else: showerror(title='خطأ',message='لقد أخطأت') else: showinfo(title='معلومات',message='لقد انتهيت') cin() g.mainloop() الفرق الرئيسي بين الكود السابق والكود الخاص بك، هو أنني أضفت فحصًا لمتغير q قبل محاولة الوصول إلى عنصر questions[q]. وإذا لم يكن متغير q موجودًا في قاموس questions ، فسيقوم البرنامج ببساطة بتخطي هذا السؤال والانتقال إلى السؤال التالي.
-
عليك التركيز على تعلم الأساسيات من خلال C++ في حال أردت تطوير نظام للطائرة الدرون بواسطة الذكاء الاصطناعي، حيث أنC++ هي لغة برمجة منخفضة المستوى تمنحك تحكمًا كبيرًا في النظام، مما يجعلها مناسبة بشكل خاص لتطبيقات الوقت الفعلي مثل تطوير أنظمة الطائرات بدون طيار. ثم تعلم بايثون وتعلم الآلة لكن الأمر ليس بالسهل بالطبع. بخصوص دورة بايثون عليك دراسة التالي بخصوص ما تريده: أساسيات لغة بايثون Python تطبيقات عملية باستخدام بايثون Python تحليل البيانات أساسيات تعلم الآلة Machine Learning لكن للحصول على الشهادة عليك دراسة كامل الدورة. وهناك العديد من الأدوات المتاحة التي يمكن استخدامها لمساعدة مطوري أنظمة الذكاء الاصطناعي للطائرات بدون طيار، منها: OpenCV وهي مكتبة برمجية مفتوحة المصدر لمعالجة الصور ورؤية الكمبيوتر، يمكن استخدامها لمعالجة بيانات الفيديو والصور من كاميرات الطائرات بدون طيار. TensorFlow مكتبة للتعلم الآلي لتدريب نماذج الذكاء الاصطناعي وتطبيقها على بيانات الطائرات بدون طيار. PyTorch مكتبة برمجية مفتوحة المصدر للتعلم الآلي، وتستطيع استخدامها لتدريب نماذج الذكاء الاصطناعي وتطبيقها على بيانات الطائرات بدون طيار. تُعد Amazon Rekognition خدمة ذكاء اصطناعي من Amazon Web Services، من أجل تحليل بيانات الفيديو والصور من كاميرات الطائرات بدون طيار. Microsoft Azure Computer Vision خدمة ذكاء اصطناعي من Microsoft Azure، ويمكن توظيفها من أجل تحليل بيانات الفيديو والصور من كاميرات الطائرات بدون طيار.
- 1 جواب
-
- 1
-
-
هناك عدد كبير جدًا من الكيانات والعلاقات، مما يجعل من الصعب فهم وصيانة مخطط ERD معقد مثل هذا. بعض أسماء الكيانات غير واضحة أو وصفية، مثل ما الفرق بين "قائمة" و"_id"؟ بعض العلاقات غير محددة جيدًا، ما معنى علاقة "تعيين أفلام القائمة"؟ لا يستخدم مخطط ERD اصطلاح تسمية ثابتًا، حيث أن بعض أسماء الكيانات متعددة، بينما البعض الآخر مفرد. حاول القيام بالتالي: تقسيم مخطط ERD إلى عدة مخططات، يركز كل منها على منطقة محددة من الوظائف. استخدام أسماء الكيانات والعلاقات الأكثر وصفية والاتساق. تحديد العلاقات بين الكيانات بشكل أكثر وضوحًا. استخدام اصطلاح تسمية ثابت طوال مخطط ERD. أي: تقسيم المخطط إلى ثلاثة مخططات منفصلة، أحدهما لمستخدمي النظام، والثاني لأفلام النظام، والثالث لقوائم مشاهدة المستخدمين. تسمية الكيان "قائمة" باسم أكثر وصفية، مثل "قائمة مشاهدة". إعادة تسمية العلاقة "تعيين أفلام القائمة" باسم أكثر وضوحًا، مثل "قائمة الأفلام". استخدام اصطلاح تسمية ثابت لجميع الكيانات والعلاقات. إليك مثال على مخطط ERD مبسط لنفس المجال: مستخدم - معرف (مفتاح أساسي) - اسم المستخدم - البريد الإلكتروني - كلمة المرور فيلم - معرف (مفتاح أساسي) - العنوان - الوصف - تاريخ الإصدار قائمة مشاهدة - معرف (مفتاح أساسي) - معرف المستخدم (مفتاح خارجي إلى جدول المستخدم) - معرف الفيلم (مفتاح خارجي إلى جدول الفيلم)
-
أرجو تعديل وتوضيح السؤال، ما هي الأسئلة المقصودة؟
-
مفهوم B2B إلى "Business to Business" أو "من الأعمال إلى الأعمال"، هو نموذج تجاري يبيع فيه المنتج أو الخدمة إلى شركة أخرى بدلاً من المستهلك النهائي. ويتميز نموذج B2B بالعديد من الاختلافات عن نموذج B2C (من الأعمال إلى المستهلك)، بما في ذلك: تكون صفقات B2B عادةً أكبر من صفقات B2C. دورة المبيعات في B2B عادةً أطول من دورة المبيعات في B2C. القرارات الشرائية في B2B عادةً أكثر تعقيدًا من القرارات الشرائية في B2C. ويتوفر العديد من الأمثلة على نموذج B2B في عالم ريادة الأعمال: تبيع شركات البرمجيات منتجاتها وخدماتها إلى الشركات الأخرى. تبيع شركات المعدات معدات الإنتاج والتصنيع إلى الشركات الأخرى. تقدم شركات الخدمات خدماتها إلى الشركات الأخرى، مثل خدمات التسويق أو المحاسبة أو اللوجستيات.
-
يوجد العديد من العوامل التي يجب مراعاتها عند اتخاذ هذا القرار، بما في ذلك: من المهم أن تختار مستشارًا لديه خبرة في مجال عملك. سيساعد هذا المستشار على فهم التحديات والفرص التي تواجهها بشكل أفضل. أيضًا اختيار مستشار لديه سجل حافل من النجاح في الماضي من أجل التأكد من أنك تحصل على المشورة من شخص يعرف ما يفعله. أن تشعر بالراحة مع مستشارك لبناء علاقة قوية معه والاستفادة من خبرته وتوجيهه. ولكن قبل ذلك: قبل أن تبدأ في البحث عن مستشار، حدد احتياجاتك أولاً.، مثل ما هي المجالات التي تحتاج إلى المساعدة فيها؟ ما هي نوع الاستشارة التي تبحث عنها؟ اسأل زملائك في العمل أو المستثمرين أو الأصدقاء عن توصياتهم، وفي الكثير من الأحيان يكون ذلك مصدرًا قيمًا للعثور على مستشارين ذوي خبرة ونجاح. بمجرد أن يكون لديك قائمة ببعض المستشارين المحتملين، قم بإجراء بحثك، أي اقرأ سيرهم الذاتية واطلع على أعمالهم السابقة. حدد موعدًا لمقابلة المستشارين المحتملين، وسيساعدك ذلك في التعرف عليهم بشكل أفضل ومعرفة ما إذا كانوا مناسبين لمشروعك. من المهم الحصول على عروض أسعار من عدة مستشارين قبل اتخاذ قرار، وذلك للعثور على أفضل قيمة مقابل أموالك.
-
من خلال تسجيله كعلامة تجارية، حيث يمنح تسجيل العلامة التجارية صاحبها الحق في استخدام اسم الموقع الإلكتروني في التجارة، ومنع الآخرين من استخدامه بطريقة تشكل غشًا أو تضليلًا أو إساءة استغلال. وهناك طريقتان لتسجيل العلامة التجارية: التسجيل في مكتب العلامات التجارية في بلدك. التسجيل في المنظمة العالمية للملكية الفكرية (WIPO). ويُعد التسجيل في مكتب العلامات التجارية في بلدك هو الخيار الأكثر شيوعًا، حيث يمنح الحماية القانونية في بلدك فقط، أما التسجيل في المنظمة العالمية للملكية الفكرية (WIPO) فيمنح الحماية القانونية في أكثر من 100 دولة. والخطوات اللازمة لتسجيل العلامة التجارية لاسم الموقع الإلكتروني هي: اختر اسمًا مميزًا وفريدًا لاسم موقعك الإلكتروني. تحقق من توفر اسم الموقع الإلكتروني. قدم طلب تسجيل العلامة التجارية إلى مكتب العلامات التجارية في بلدك أو المنظمة العالمية للملكية الفكرية (WIPO). دفع الرسوم المطلوبة. انتظر الموافقة على تسجيل العلامة التجارية. وبعد تسجيل العلامة التجارية لاسم الموقع الإلكتروني، يمكنك اتخاذ الإجراءات القانونية اللازمة لحماية حقوقك إذا تم استخدام اسم الموقع الإلكتروني بطريقة غير مشروعة. وبالإضافة إلى تسجيل العلامة التجارية، اتخذ بعض الإجراءات الإضافية لحماية حقوق الملكية الفكرية لاسم موقعك الإلكتروني، مثل: استخدام اسم الموقع الإلكتروني في جميع مواد التسويق. تسجيل اسم الموقع الإلكتروني في محركات البحث. استخدام اسم الموقع الإلكتروني في صفحات التواصل الاجتماعي الخاصة بك.
- 2 اجابة
-
- 1
-
-
هي مكتبة برمجية مفتوحة المصدر تُستخدم لتوليد بيانات وهمية في مشاريع بايثون، وتستخدم تلك البيانات لأغراض الاختبار، أو لإنشاء مجموعات بيانات تدريبية، أو لمجرد الترفيه. وتدعم مكتبة Faker مجموعة واسعة من أنواع البيانات، بما في ذلك: الأسماء والألقاب والبيانات الشخصية الأخرى عناوين البريد الإلكتروني وأرقام الهواتف والبيانات المالية النصوص والمحتوى الإبداعي البيانات المتعلقة بالأعمال والشركات البيانات المتعلقة بالتكنولوجيا والويب وتعتمد مكتبة Faker على بيانات حقيقية من العالم الحقيقي لإنشاء بيانات وهمية دقيقة، ودعم مجموعة واسعة من أنواع البيانات. وللعلم هناك FakerPHP وfakerjs.
- 4 اجابة
-
- 1
-
-
غالبية المشاريع على مواقع العمل الحر هي مشاريع صغيرة ومتوسطة، ولذلك ستجد أنه يتم الإعتماد على PHP ولارافل ووردبريس من أجل تنفيذ تلك المشاريع بسبب سهولة تنفيذها من خلالها وتوافر كافة الأدوات اللازمة. الأمر الغير ممكن من خلال بايثون ودجانغو وفلاسك حيث تتناسب لغة بايثون مع مشاريع خاصة بالبيانات أو الواجهة الخلفية أو التعلم العميق، لذلك ستجد لها سوق أكبر في المنصات العالمية وهو أمر طبيعي. وهناك أيضًا إطار ASP.NET والذي يستخدم بكثرة في العالم العربي وخارجه أيضًا لكن ليس في المشاريع الصغيرة بل المتوسطة والكبيرة. عليك إختيار سوق العمل الذي تريد العمل به، ثم تعلم المهارات المطلوبة به لا العكس. ستجد هنا نقاش مفيد: الافضل كـ backendمن حيث فرص العمل الفترة القادمة (2024)
- 3 اجابة
-
- 1
-
-
أنتِ تستخدمين مصفوفة NumPy لـ image_path، ومصفوفات NumPy ليس لديها خاصية split(). لذلك، عليك تحويل image_path إلى سلسلة نصية قبل استخدامها في str.split() كالتالي: image_path = str(image_path) output_image_path = "object-detection-" + image_path.split('.')[0] + ".jpg" من أجل تحويل image_path إلى سلسلة نصية، ثم سيستخدمها str.split() لإنشاء سلسلة جديدة تتكون من اسم الملف بدون الامتداد. وسبب ظهور الخطأ الثاني هو أنّك تحاولين استخدام cv2.imwrite() لكتابة مصفوفة NumPy كصورة، في الوقت الذي تتوقع فيه cv2.imwrite() إشارة OpenCV UMat كصورة، عليك إجراء التعديل التالي: image = cv2.imread(image_path) cv2.imwrite(output_image_path, image) حتى يتم قراءة الصورة من image_path إلى إشارة OpenCV UMat ثم سيستخدم cv2.imwrite() تلك الإشارة لكتابة الصورة إلى ملف.
- 3 اجابة
-
- 1
-
-
العفو أخي عمار سعيد بمساعدتك، عليك القيام بالتالي: إنشاء متغير q لحفظ رقم السؤال الحالي. في دالة cin()، إضافة الخطوات التالية: التحقق من أن q أقل من عدد الأسئلة. عرض السؤال الحالي. عرض الخيارات المتاحة. انتظار الإجابة من المستخدم. التحقق من أن الإجابة صحيحة. إذا كانت الإجابة صحيحة، زيادة قيمة q بواحد. إذا كانت الإجابة غير صحيحة، عرض رسالة خطأ. وإليك الكود بعد التعديل: from tkinter import * from tkinter.colorchooser import * from tkinter.messagebox import * from tkinter.constants import * #g= tkinter.Tk() g=Tk() #g.config(background="white") n=StringVar() q=1 questions={" 1.which this program? :":"C. py", " 2.why you use py? :":"D. both AB", " 3.when you will be a programer?:":"D. fastly ", #" 4.why you choice py?: ":"A" } options=[["A. java","B. c++","C. py","D. code"], ["A. easy","B. global","C. non","D. both AB"], ["A. after year","B.after six month","C. noon","D. fastly "], #["A. easy","B. global","C. someone recommend","D. yes "] ] def cin(): global q if q < len(questions): ff=Label(g,text=questions[q]) ff.pack() k =(questions.get(questions[q])) for i in options[q-1]: c = Radiobutton(g, text = i,fg = "black", width = 12, height = 1,variable=n, value=i ,bd = 2, bg = "white", cursor = "hand2" ,command=lambda:cin()) c.pack() s = n.get() if s == k : showinfo(title='information',message='hi.. u passed') q += 1 else: showerror(title='error',message='hi.. u missed something') else: showinfo(title='information',message='hi.. u finished') cin() g.mainloop() في البداية، يتم إنشاء متغير q لحفظ رقم السؤال الحالي. في دالة cin()، يتم التحقق من أن q أقل من عدد الأسئلة. إذا كان الأمر كذلك، يتم تنفيذ الخطوات التالية: عرض السؤال الحالي. عرض الخيارات المتاحة. انتظار الإجابة من المستخدم. التحقق من أن الإجابة صحيحة. إذا كانت الإجابة صحيحة، زيادة قيمة q بواحد. إذا كانت الإجابة غير صحيحة، عرض رسالة خطأ. إذا كانت q مساوية لعدد الأسئلة، يتم عرض رسالة تفيد بأن المستخدم قد أنهى الاختبار. وإليك مثال على كيفية عمل الكود: 1.which this program? : A. java B. c++ C. py D. code Select your answer: C hi.. u passed 2.why you use py? : A. easy B. global C. non D. both AB Select your answer: D hi.. u passed 3.when you will be a programer?: A. after year B.after six month C. noon D. fastly Select your answer: D hi.. u passed hi.. u finished
-
عليك مشاركة صورة للمشكلة التي تواجهك من أجل مساعدتك بشكل أفضل، وعلي أي حال تحدث إلى مركز الدعم في مستقل إذا ما استمرت المشكلة من أجل توفير حل لك.
-
بشكل بسيط ميثودولوجية Merise هي إحدى المهندسات المعلومات وطرق تطوير قواعد البيانات التي تم تطويرها في فرنسا. وتستخدم Merise لتصميم وتطوير نظم المعلومات، وتساعد على تحليل وتصميم قواعد البيانات وتوثيقها، وتتضمن العديد من المفاهيم والأدوات التي تسهل عملية تطوير النظم، ومن بين تلك المفاهيم الأساسية التي ذكرتها: Abstract Cycle (الدورة المجردة): وهي مرحلة في تصميم النظام تساعد على تحديد وتحليل متطلبات النظام وفهمها بشكل عام دون التفصيل في الجوانب التقنية، بحيث يتم في هذه المرحلة تحديد المفاهيم الرئيسية والعمليات الأساسية للنظام. Conceptual Data Model (نموذج البيانات المفهومي - CDM): يمثل تمثيلاً عالي المستوى لبيانات النظام وعلاقاتها بشكل مفهوم، ويساعد CDM في تحديد الكيفية التي تتفاعل بها البيانات داخل النظام دون الانتقال إلى التفاصيل التقنية. Logical Data Model (نموذج البيانات المنطقي - LDM): يستخدم لتحديد هيكل البيانات والجداول المستخدمة في قاعدة البيانات بشكل منطقي دون الاعتناء بالتفاصيل التقنية مثل أنواع البيانات والمفاتيح. Physical Data Model (نموذج البيانات الفعلي - PDM): يصف كيفية تنفيذ وتخزين بنية البيانات على المستوى الفعلي لقاعدة البيانات، ويتضمن الموديل التفاصيل التقنية مثل أنواع البيانات والفهارس والمفاتيح الأساسية. Data Dictionary (قاموس البيانات): قاموس البيانات يحتوي على وصف مفصل لكل عنصر في قاعدة البيانات بما في ذلك الجداول والحقول والعلاقات والمفاتيح، ويهدف إلى توثيق هيكل البيانات والعلاقات بينها. Management Rules (قواعد الإدارة): قواعد الإدارة تحدد القواعد والتوجيهات التي يجب اتباعها لإدارة وصيانة قاعدة البيانات بشكل فعال. تشمل هذه القواعد أمور مثل عمليات النسخ الاحتياطي، وأمان البيانات، وإعادة تنظيم البيانات. وللمزيد من الشرح ابحث عن على جوجل واليوتيوب عن طريقة Merise وأيضًا يوجد كتاب كتاب "Merise: L'essentiel" by Jean-Claude Rolland.
- 1 جواب
-
- 1
-
-
تحتاج إلى ما يلي: فكرة مميزة للخدمة التي ستقدمها. يجب أن تكون الخدمة ذات قيمة للعملاء وقابلة للتسويق. خطة عمل تحدد أهدافك وكيفية تحقيقها. يجب أن تتضمن الخطة العناصر التالية: وصف الخدمة التي ستقدمها. السوق المستهدف. المنافسين. النموذج الربحي. استراتيجية التسويق. ستحتاج إلى فريق عمل يمتلك المهارات والخبرات اللازمة لتطوير وإطلاق وإدارة المنصة أو إدارتها أنت بنفسك إن كنت تمتلك الخبرة اللازمة. ستحتاج إلى تمويل لتغطية تكاليف تطوير وإطلاق وإدارة المنصة. وتستطيع إختبار الفكرة من خلال نموذج بسيط ثم التوسع بعد ذلك، والتقنيات اللازمة لإنشاء المنصة تختلف حسب طبيعة المنصة وحجمها. وإليك بعض الخطوات التفصيلية لإنشاء منصة إلكترونية لتقديم الخدمات: قم بإجراء بحث السوق لتحديد الحاجة إلى الخدمة وتأكد من أن هناك سوقًا كبيرًا للخدمات التي تنوي تقديمها. تطوير خطة عمل. وتلك هي الخطوة الأكثر أهمية في عملية إنشاء المنصة وستساعدك خطة العمل على تحديد أهدافك وكيفية تحقيقها. يمكنك إما تطوير المنصة بنفسك أو الاستعانة بمطور خارجي. بمجرد تطوير المنصة، ستحتاج إلى إطلاقها وبدء الترويج لها. بعد إطلاق المنصة، ستحتاج إلى إدارة محتواها وعملياتها. واجعل المنصة سهلة الاستخدام حيث يجب أن يكون من السهل على العملاء العثور على الخدمات التي يبحثون عنها واستخدامها. دليلك لاختيار أفضل منصات التجارة الإلكترونية
-
لم أفهم مشكلتك بشكل كامل، طالما أن العنصر achievements لا يتواجد سوى في الصفحة الرئيسية فلماذا تقوم بتشغيل الكود في صفحات أخرى عدى الصفحة الرئيسية؟ وعلي أي حال تحتاج إلى استخدام طريقة addEventListener() لإضافة مستمع حدث إلى كل صفحة تريد أن يعمل بها العداد، واستخدام مستمع الحدث لتشغيل الكود عندما يتم تحميل الصفحة. أيضًا استخدام Optional chaining أي علامة ؟ لمنع قراءة العنصر في حال عدم وجوده في achieve.offsetTop. أيضًا إضافة شرط لمنع استكمال الكود في حال لم تتواجد العناصر وهو if(!achieve || !nums) return let started; function startCount(el){ let goal = el.dataset.goal; let count = setInterval(()=>{ el.textContent++ if(el.textContent == goal){ clearInterval(count) } },9000/goal) } // ADD LISTENER TO ALL PAGES document.addEventListener('DOMContentLoaded', function(){ achieve = document.querySelector('#achievements'); nums = document.querySelectorAll('.num'); started = false; if(!achieve || !nums) return // START COUNTER ON SCROLL window.onscroll = function(){ if (window.scrollY >= achieve?.offsetTop-200){ if (!started){ nums.forEach((num) => startCount(num)) } started= true; } } });
- 3 اجابة
-
- 1
-
-
1- عليك أولاً إنشاء قاعدة بيانات تحتوي على جدولين: جدول المستخدمين ويحتوي على معلومات المستخدمين، مثل الاسم، والبريد الإلكتروني، والصلاحيات. جدول الأدوار ويحتوي على أسماء الأدوار وصلاحياتها. 2- ثم إنشاء نموذج تسجيل دخول لتسجيل المستخدمين في النظام. 3- وعند تسجيل دخول المستخدم، يتم تحديد صلاحيته بناءً على الدور الذي تم تعيينه له في قاعدة البيانات. 4- بعد ذلك يتم استخدام تلك الصلاحية لعرض الصفحة لكل مستخدم حسب صلاحيته. وإليك مثال بسيط: // إنشاء قاعدة بيانات $db = new PDO("mysql:host=localhost;dbname=mydb", "root", ""); // إنشاء جدول المستخدمين $sql = "CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255), role VARCHAR(255) );"; $db->query($sql); // إنشاء جدول الأدوار $sql = "CREATE TABLE roles ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), permissions VARCHAR(255) );"; $db->query($sql); // إدخال بيانات في جدول المستخدمين $sql = "INSERT INTO users (name, email, role) VALUES ('John Doe', 'johndoe@example.com', 'admin'), ('Jane Doe', 'janedoe@example.com', 'user');"; $db->query($sql); // إدخال بيانات في جدول الأدوار $sql = "INSERT INTO roles (name, permissions) VALUES ('admin', 'all'), ('user', 'view');"; $db->query($sql); // إنشاء نموذج تسجيل دخول echo '<form action="login.php" method="post"> <input type="text" name="email" placeholder="البريد الإلكتروني"> <input type="password" name="password" placeholder="كلمة المرور"> <input type="submit" value="تسجيل الدخول"> </form>'; // تحديد صلاحية المستخدم if (isset($_POST['email']) && isset($_POST['password'])) { $email = $_POST['email']; $password = $_POST['password']; // تسجيل دخول المستخدم $sql = "SELECT * FROM users WHERE email = :email AND password = :password"; $stmt = $db->prepare($sql); $stmt->bindParam(':email', $email); $stmt->bindParam(':password', $password); $stmt->execute(); // الحصول على بيانات المستخدم $user = $stmt->fetch(); // تحديد صلاحية المستخدم $role = $user['role']; } else { $role = null; } // عرض الصفحة حسب صلاحية المستخدم if ($role == 'admin') { // عرض الصفحة للمسؤول echo '<h1>صفحة المسؤول</h1>'; } else if ($role == 'user') { // عرض الصفحة للمستخدم echo '<h1>صفحة المستخدم</h1>'; } else { // عرض رسالة خطأ echo '<p>أنت غير مصرح لك بدخول هذه الصفحة.</p>'; }
-
ما ذكرته هو التالي: أما UTF-8 هو ترميز تحويل الأحرف إلى لغة الآلة ويستخدم لتمثيل الأحرف في """الذاكرة""" ونقل البيانات عبر الشبكات، ثم تحويل الأعداد المخصصة للأحرف في Unicode إلى لغة الآلة (من خلال وحدة المعالجة المركزية). ولغة الآلة (Machine Language) تستخدم نظامًا من الأصفار والواحدات لتمثيل الأوامر والبيانات داخل الحاسوب، وذلك النظام يتمثل في تمثيل ثنائي (Binary)، حيث يُمثل الصفر والواحد أوامر الحاسوب والبيانات. أما نظام العد السادس عشر (Hexadecimal) فهو نظام يُستخدم في تمثيل البيانات بشكل أكثر قربًا إلى البشر، حيث يستخدم الأصفار والأحرف A إلى F لتمثيل القيم، يُستخدم نظام العد السادس عشر في العديد من السياقات التقنية، بما في ذلك تمثيل خانات الرام (RAM) وعناوين الذاكرة. لذلك، نستطيع ذكر أن لغة الآلة تعتمد على الأصفار والواحدات في تمثيل الأوامر والبيانات، ونظام العد السادس عشر يستخدم أحرفًا إضافية إلى الأصفار والواحدات لتمثيل البيانات بشكل أكثر قربًا إلى البشر، لذا، يمكن استخدام نظام العد السادس عشر في العديد من السياقات التقنية، ولا يُعتبر خاصًا بتمثيل خانات الرام فقط. أي أن لغة الآلة تعتمد على الأصفار والواحدات كوسيلة لتمثيل البيانات والأوامر في الحاسوب، ونظام العد السادس عشر هو نظام يُستخدم في العديد من السياقات التقنية بما في ذلك تمثيل خانات الرام.
-
المدرب محقًا في قوله، أن الأحرف تتحول إلى أعداد عبر Unicode، ثم يقوم UTF-8 بتحويل الأعداد إلى لغة الآلة. وUnicode هو معيار عالمي لتمثيل الأحرف في الكمبيوتر، ويحدد Unicode مخططًا لكل حرف في العالم، ويخصص له رقمًا فريدًا، وذلك الرقم يسمى "القيمة الثنائية" أو "القيمة العشرية". أما UTF-8 هو ترميز تحويل الأحرف إلى لغة الآلة ويستخدم لتمثيل الأحرف في الذاكرة ونقل البيانات عبر الشبكات، ثم تحويل الأعداد المخصصة للأحرف في Unicode إلى لغة الآلة. مثال: الحرف "أ" في Unicode له القيمة الثنائية 01000001. يقوم UTF-8 بتحويل القيمة الثنائية 01000001 إلى لغة الآلة، وهي 0x61. هناك أيضًأ بعض التفاصيل الدقيقة التي يجب ملاحظتها. Unicode ليس مجرد مجموعة من الأرقام، بل أيضًا مجموعة من الرموز ويتوافق كل رمز مع حرف أو علامة أو مجموعة من الأحرف. UTF-8 ليس مجرد ترميز تحويل الأحرف إلى لغة الآلة بل أيضًا ترميز تحويل الأحرف إلى بايت Byte.