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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. اليوم
  3. يرجى إضافة السؤال المتعلق بالدورة في الدرس الخاص به كما تم الشرح في الرابط التالي للمساعدة بشكل أفضل https://support.academy.hsoub.com/how-to-ask-in-courses أما بالنسبة للكود حاول استخدام =+ بدلاً من += حيث أن الـجزء += سيعيد تعيين القيمة بدلاً من إضافتها
  4. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  5. ممكن التاكد لي من الحل project-2.py
  6. وعليكم السلام ورحمة الله وبركاته، كتابة التعليقات (Comments) في الكود لا تعتبر بالضرورة مخالفة لقواعد كتابة الكود النظيف (Clean Code)، بل على العكس، فهي جزء مهم من عملية كتابة الكود النظيف والصحيح. التعليقات بتساعدك إنك تشرح الغرض من أجزاء معينة في الكود، خاصة الأجزاء اللي ممكن تكون معقدة أو غير واضحة. فعندما ترجع للكود بعد فترة، أو لما يشتغل عليه حد تاني، التعليقات بتسهل فهم الكود بسرعة. ولكن يوجد قواعد لكتابه التعليقات مثل ان تكتب تعليقات قصيرة ومباشرة توضح الغرض من الكود بدون كلام كتير. ولا تكتب تعليقات على حاجات واضحة ومفهومة من الكود نفسه، زي تعليق بيقول "زيادة 1 للمؤشر". ومع ذلك، هناك بعض الأمور التي يجب مراعاتها عند كتابة التعليقات حتى لا تؤثر سلبًا على جودة الكود: 1. عدم الإفراط في كتابة التعليقات: يجب أن يكون الكود واضحا ومفهوما بقدر الإمكان، وأن تستخدم التعليقات فقط عندما تكون ضرورية لشرح أجزاء معقدة أو غير واضحة. 2. تحديث التعليقات: يجب تحديث التعليقات بشكل منتظم لتتوافق مع أي تغييرات في الكود، حتى لا تصبح التعليقات قديمة وغير صحيحة. 3. اتباع اتفاقية توثيق موحدة: يجب اتباع اتفاقية توثيق موحدة في جميع أنحاء المشروع، سواء كانت تعليقات أو توثيق رسمي، لضمان الاتساق والوضوح. لذلك، كتابة التعليقات في الكود ليست مشكلة في حد ذاتها، ولكن يجب الانتباه إلى كيفية استخدامها بشكل صحيح ومناسب لضمان جودة الكود وسهولة صيانته وقراءته.
  7. السلام عليكم هو كتابت التعلقات في الكود يعتبر كده انا ان مش ماشي علي قواعد كتابت الكود النظيف ؟
  8. بخصوص دروس الدورة، فالمشاهدة بدون إنترنت أمر غير متاح حاليًا ربما يمكن توفيره مستقبلاً. في الوقت الحالي تستطيع مشاهدة الدروس من خلال تخفيض جودة الفيديو إلى 480 مثلاً لكن أتفهم أن بعض الدروس ستحتاج إلى جودة 1080 لمشاهدة الأكواد بشكل جيد، هنا تستطيع إيقاف الفيديو لبضع دقائق لحين تحميل جزء منه ثم تشغيله وستجد أنه يعمل بدون تقطيع.
  9. مع الاسف لا يمكنك تنزيل الفيديو وكذلك الامر لا يمكن تنزيل صفحة الويب لفتحها دون انترنت، ولكن ما يمكنك فعله هو تشغيل الفيديو وتركه حتى يحمل بالكامل (في الخلفية _ أي قبل ان تبدأ بمتابعة الدرس) ومن ثم اعادة تشغيل الفيديو بعد ان ينتهي مثل الصورة
  10. السلام عليكم اعاني من مشكلة في الانترنت فهل يوجد حل مثل تنزيل الفيديو او تحميل صفحة الويب لفتحها بدون انترنت
  11. جربت الحل ولم يعد يقوم بـ render لانهائي ولكن لم تعد المحادثات تظهر فقمت بتعديل الكود قليلا ومازالت المحادثات لاتظهر فقمت بنسخ رسالة الخطأ فظهرت لي هذا الرسالة في الكونسول `headers` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context هذا الكود بعد تعديله "use client"; import { Key, useEffect, useState } from "react"; import { auth } from "@/auth"; import { getUsersForSidebar } from "@/lib/data"; import Chat from "./chat"; import { IChatDocument } from "@/models/chatModel"; const Chats = () => { const [selectedChat, setSelectedChat] = useState<IChatDocument | null>(null); const [chats, setChats] = useState<IChatDocument[] | null | any>([]); const [loading, setLoading] = useState<boolean>(true); const [error, setError] = useState<string | null>(null); useEffect(() => { const fetchData = async () => { try { const session = await auth(); if (session?.user) { const chatsData = session?.user ? await getUsersForSidebar(session.user._id) : []; setChats(chatsData); } return; } catch (error: any) { setError(error.message); console.log(error.message); } finally { setLoading(false); } }; fetchData(); }, []); const handleSelectedChat = (chat: IChatDocument) => setSelectedChat(chat); if (loading) return <p>Loading...</p>; if (error) return <p>{error}</p>; return ( <nav className="flex-1 overflow-y-auto"> <ul> {chats.map((chat: { _id: Key | null | undefined }) => ( <Chat key={chat._id} chat={chat} handleSelectedChat={handleSelectedChat} selectedChat={selectedChat} /> ))} </ul> </nav> ); }; export default Chats;
  12. سمعنا جميعا بكل تأكيد كلمة "Slogan"، ونعرف معناها، ويمكننا جميعًا تقديم شعار واحد أو اثنين على الأقل الشعارات الأكثر شهرة. ولكن في الواقع نحن نقدم Tagline بدلا من Slogan. غالبًا ما نستخدم Tagline و Slogan كمرادفات لكنها لا تعني نفس الشيء. حتى بعض المهنيين يستخدمونها بطريقة خاطئة، وربما لا يفهمون الفرق بين الكلمتين. صحيح أن Tagline و Slogan جملتان تستخدمان في الإعلان والترويج لكنهما مختلفتان للغاية. في هذا المنشور، سنكتشف الفرق بينهما، ونصحح أفكارنا عن ما نعرف عن الشعار. الـ Taglines هي جمل قصيرة مرتبطة بأسماء الشركات. إنها مثل وصف لا ينسى وتعمل بمثابة catchphrase العلامة التجارية وتساهم في بناء شخصية العلامة التجارية. كما أنها تساعد المستهلكين على الشعور بالارتباط أكثر بالعلامات التجارية. يتعلق Tagline بال Business نفسه، وهو ينطبق على نشاط تجاري بأكمله، وغالبًا ما يكون بجوار logo الشركة. نادراً ما تغير شركة tagline، لأنها جزء من هويتها. الـ Tagline الناجحة تبقى عالقة في أذهان العملاء. ملحوظة: لا يتضمن Tagline فوائد أو ميزات المنتجات. للتمييز بسهولة بين Tagline وال Slogan، ضع في اعتبارك أن Taglines تمثل شركتك، بينما تمثل الشعارات منتجًا واحدًا أو جزءًا من حملة إعلانية. تتشابه Slogans مع Taglines في شيء واحد، والشعار هو عبارة عن كلام موجز يساعد على تذكر العلامة التجارية، ولكن من خلال منتجاتها وخدماتها. يتم إنشاء slogan لأغراض محددة، فهذا يعني أنه يستخدم فقط لمنتج أو حملة. يتغير الشعار بمرور الوقت، مثل ما تفعله Coca-Cola، تغير ال Slogans بانتظام وفقًا للحملة التي يريدون إطلاقها. ** الـ Tagline لـ Apple هو Think different. ** الـ Slogan لـ حملة إعلانية للماك Apple هو Get a Mac. * الـ Tagline لـ BMW هو Sheer Driving Pleasure * الـ Slogan لـ BMW هو Driving Luxury لسلسلة سيارات. * الـ Tagline لـ Nike هو Just do it * الـ Slogan لـ حملة إعلانية لـ Nike هو There is no finish line * الـ Tagline لـ Disneyland هو The happiest place on Earth * الـ Slogan لـ حملة إعلانية لـ Disneyland هو Where dreams come true أخبرنا ب Tagline و Slogan لمعرفة ما إذا كانت تميز بينهما أو لا.
  13. إذا امتلك رائد الأعمال فكرةً فريدة، والشغف والطموح لطرحها في السوق، مع الإرادة لتحمل المخاطرة، فما الذي يجب عليه فعله الآن؟ كونك رائد أعمال فهذا يتشابه من بعض النواحي أن تكون طالبًا، حيث يجب عليك أن إنجاز واجبك المنزلي. وواجبك المنزلي في الأعمال هو إنشاء خطة عمل وهي خارطة طريق تجيب عن: لمن؟ وماذا؟ ومتى؟ وأين؟ ولماذا؟ وكيف؟ تعمل فكرتك. خطة العمل هي وثيقة توضح تفاصيل كل شيء عن الأعمال التجارية من موقع المنتج في السوق إلى المعلومات المالية للسنوات الثلاث المقبلة. لكنّها ليست مشروعًا مكتملا تنهيه أول المشروع وتهمله. خطة العمل هي وثيقة ديناميكية، ويجب أن تخدم أربعة أغراض: بيع العمل لنفسك (إقناع نفسك بالفكرة): قد يبدو وكأنك لن تحتاج إلى إقناع نفسك بفكرتك، إلا أنّ عملية تطوير خطة العمل تتضمّن بحثًا صارمًا يمكن أن يكون وسيلة جيدة لفهم جدوى فكرتك. فإذا أنجزت خطة العمل كما يجب، فإنّها يفترض أن تضع فكرتك ونتائجها المأمولة في منظور صحيح، وتعطيك التفاصيل التي تحتاجها للانتقال من المفهوم إلى الواقع. وسواءً كانت النتيجة جدوى فكرتك أو عدمها، فإن عملية إنشاء خطة عمل هي ما ساعدك في الوصول إلى هذا الاستنتاج. بيع المشروع للآخرين: يحتاج العمل التجاري غالبًا إلى نوع من الدعم، ماليًا كان أو استشاريًا أو أي موارد أخرى. وفي هذه الحالة، تلعب خطة العمل دور مواد البيع والتسويق لفكرتك، فجعلك فكرتك تنبض بالحياة بدعمها بالبحوث والبيانات المالية اللازمة قد يكون الأمر الفارق بين اقتناع المستثمر وبين رفضه. إعطاؤك الثقة: إن امتلاك فكرة رائعة شيء، وإجراء البحث لفهم ما يتطلبه الأمر بالضبط لجعل الفكرة حقيقية شيء آخر تمامًا. إن الحصول على فهم أفضل لما يتطلبه الأمر لبدء العمل وإدارته يجعلك متحكمًا في جذب المستثمرين والداعمين الآخرين وبدء رحلتك. تحسين فرصك في النجاح: تتطلّب خطة العمل الكثير من التخطيط والعمل، لكنها تستحق العناء. وفقًا لدراسة أجرتها AT&T، صنف 42٪ من رواد الأعمال الذين كتبوا خطة عمل على أنهم أكثر نجاحًا من 58٪ الذين لم يكتبوها. كتابة خطة عملك تختلف كل شركة أو مؤسسة عن الأخرى، ولكن خطة العمل هي طريقة شائعة لتخطيط إطلاق وإدارة الأعمال. وعلى الرغم من عدم وجود تنسيق واحد لخطة عمل، إلا أن عناصر خطة العمل قياسية. يعمل مخطط خطة العمل التالي كدليل لتطوير خطة العمل، كما تجدر الإشارة إلى أن الترتيب الذي تكتب به خطة عملك لا ينبغي بالضرورة أن يتبع الترتيب الذي تقدمها به. مخطط خطة العمل الفهرس: أرقام الصفحات لكل قسم. الملخص التنفيذي: اكتب هذا الجزء بعد الانتهاء من وضع خطتك، وينبغي أن يكون ملخّصًا جامعًا للخطة وكيفية عملها. الوصف العام للشركة: وصف عالي المستوى للمنتج أو الخدمة أو المنظمة، والحاجة غير الملباة التي تخدمها. المنتجات والخدمات: وصف مفصّل للمنتج أو الخدمة أو المنظمة وكيف تعمل. مع تكاليف التصنيع وغيرها. خطة التسويق: وصف مفصّل للوضع الحالي للسوق بما فيه المنافسة، وموقع شركتك، والجمهور المستهدف، وكيف سيعرف العملاء عن منجتك أو خدمتك أو منظمتك، وتكلفة ذلك. الخطة التنفيذية: وصف مفصّل للكيفية التي ستدير بها العمليات اليومية، بما فيها تكاليف المنتج، والعقار، ومستويات التخزين، والعمل اليدوي، والرصيد وما إلى ذلك. الإدارة والتنظيم: وصف مفصّل لمسيّري الشركة من ملفات تعريفية ومجلس الإدارة والمجلس الاستشاري والمصرفي والمحامي وعميل التأمين، والمرشدين وغيرهم. البيان المالي الشخصي: بيان مالي شخصي لكلّ شريك في الشركة. وهذا مهمّ لأنّ مالكي الأعمال عادةً ما يوفّرون رأس المال لبدء أو دعم الشركة، ويريد هؤلاء المستثمرون بطبيعة الحال رؤية الوضع المالي للأشخاص الرئيسيين. نفقات بدء التشغيل والرسملة: محاسبة دقيقة للنفقات المطلوبة لبدء العمل. خطة مالية: بيان الأرباح والخسائر لمدة اثني عشر شهرًا، والتوقعات المالية لثلاث سنوات، والتدفقات النقدية المتوقعة، والميزانية العمومية لليوم الافتتاحي. الملاحق: المعلومات الداعمة مثل الكتيبات، والإعلانات، والمخططات، وعقود الإيجار، والمعدات، وقائمة الأصول المتاحة، وخطابات التوصية، وأي معلومات من شأنها أن تساعد في دعم خطتك. تقديم خطة عملك بمجرد تحديد فكرتك الفريدة، وإجراء بحوثك المعمقة، وكتابة خطة عملك؛ يحين الوقت لاستخدام كل شيء. سواءً كنت تخطط لتمويل العمل بنفسك، أو تبحث عن مستثمر لتوفير بعض رأس المال، فستحتاج إلى خطة عملك لتأمين الموارد من البنك الذي تتعامل معه، وشركة التأمين، والمحامي، والمُرافع، ومجالات الدعم الأخرى. خطة عملك هي الوثيقة العامة للمناقشات مع كل من هؤلاء الأشخاص. في الواقع، يجب عليك أولًا تقديم خطة عملك إلى العائلة والأصدقاء والمرشدين للحصول على بعض التعليقات قبل أن تبدأ في العمل. أنواع المستثمرين عندما يتعلق الأمر بالأشخاص المستعدين لاستثمار الدعم المالي بناءً على إمكانية نجاح عملك، فهناك عدة أنواع مختلفة: البنوك: تُعَد البنوك مصدرًا شائعًا للإقراض، ويقدم معظمها عدة أنواع مختلفة من قروض الأعمال، بما في ذلك القروض المضمونة لإدارة الأعمال الصغيرة. والبنوك أكثر أشكال الإقراض تنظيمًا، إذ يجب أن تفي النسب بمتطلباتها، ويجب أن تكون جميع الأعمال الورقية مضبوطة. المستثمرون الخواص: ويسمّون المستثمرين الملائكة، وهم أشخاص على استعداد لاستثمار الأموال أو الموارد لبذر العمل، أو إطلاقه وتشغيله. وتشمل هذه التسمية أي شخص يستثمر في عملك، بدءًا من عمك الذي يقدم لك 5000 دولار، وصولًا إلى صديق العائلة الذي يتيح لك استخدام منزله الثاني مساحةً مكتبية. وقد يرغب المستثمرون الخواص في أن يكون لهم رأي في قرارات الأعمال الكبرى. ويكون التفاوض على كل صفقة على حدة؛ لذا تأكد من الاتفاق على شروط معلنة بتوقيع عقد مكتوب. وهذا النوع من الإقراض هو الأقل تنظيمًا، لذا من الأفضل أن تكون على علم بخلفية ملاكك المستثمر. شركات رأس المال الاستثماري: وتسمى رأس المال المخاطر أو الجريء، وهي بالإنجليزية Venture Capital firms أو VCs اختصارًا، وعادةً ما تتخصّص في استثمارات تبلغ قيمتها مليون دولار وما فوق، على الرغم من عدم وجود قواعد صارمة وسريعة. تبحث شركات رأس المال الاستثماري عن عائد سريع على استثماراتهم، خاصةً مع فرصة طرح عام أولي IPO اختصارًا لـ Initial Public Offering لطرح الشركة للجمهور. يبحث مستثمرو رأس المال الجريء عن فريق إداري قوي وفكرة ذات إمكانات سوقية. ويرغب معظمهم في تحقيق عائد في غضون ثلاث إلى خمس سنوات، ويريدون أن يكون لهم رأي في القرارات الرئيسية التي تؤثر على الشركة. شركات تأجير المعدات: إذا كان عملك يتطلب معدات، يمكن أن يكون التأجير خيارًا يوفر لك المال، مع خيار الشراء في نهاية عقد الإيجار. البرامج الحكومية: توفّر الكثير من حكومات الدول برامج دعم وحاضنات ومسرّعات للشركات الناشئة والصغيرة. ويمكنك العثور على ما يناسب موقعك ببحث سريع عبر الإنترنت. العمل منفردا قد لا يناسب المستثمرون كلّ الأعمال وروادها. بوب بارسونز Bob Parsons مثلا أسّس أكبر مواقع تسجيل دومينات الإنترنت Godaddy.com وهو رئيسه التنفيذي، حيث أسّسه بماله الخاص، ويديره حسب رؤيته المنفردة. ولذا يقول: "لن يفعل أيّ كان الأشياء بالكيفية التي أفعلها أنا." فكلّ ما يدعم نشاطه التجاري صادر منه، بدءًا من البرنامج الحاسوبي، مرورا بخدمة العملاء المتوّجة بجوائز الامتياز، ووصولًا إلى أستوديوهات التصوير الصوتي والمرئي التي صوّر فيها بوب مدوّناته المرئية، ونشّط برنامجه الإذاعي الأسبوعي. بيع خطة عملك والتسويق لنفسك عندما تقدم خطة عملك لمصرفي، أو محامٍ، أو محاسب، فإنّك تطلب منهم أن يلتزموا بدعم فكرة مشروعك. وبالرغم من أن محتويات وتفاصيل خطة عملك مهمّان للغاية في كسب الدعم، إلاّ أنّك تبيع أكثر من مجرّد فكرة عمل. أنت تبيع نفسك. ولذا فإن الطريقة التي توصل بها رؤيتك وتفاصيلك الداعمة لتلك الرؤية بطريقة واضحة وموجزة وواثقة يمكن أن تكون الفارق بين نجاحك وفشلك في الحصول على الدعم . التفكير في نفسك وفكرة عملك كعلامة تجارية هو نقطة انطلاق كل شيء. تذكر أن العلامة التجارية فريدة ومتسقة وذات صلة ولها اتصال عاطفي بعملائها؛ كما يجب أن تحقق علامتك الشخصية وعلامتك التجارية نفس الهدف. تحدد مجلة فاست كومباني Fast Company التسويق الشخصي كإحدى الخطوات الأولى لرواد الأعمال لبدء أعمالهم الخاصة، وعن هذا تقول ليندسي بولاك Lindsey Bullak: تمامًا كما تستخدم سيرتك الذاتية لسرد "قصص" حول نقاط تحديد علامتك التجارية الثلاث لعلامتك الشخصية، يجب أن تكون خطة عملك موجزةً وقويةً بالقدر ذاته. وعلى الرغم من أنك عملت لساعات أو ربما أشهر أو سنوات في خطة عملك. يجب أن يركز العرض التقديمي على النقاط الرئيسية، وأن تثبت أنها فكرة عمل مربحة (أو منظمة غير ربحية يمكنها تحقيق أهدافها). وأن تثبت أيضًا أنك الشخص المناسب لتجسيد الفكرة على أرض الواقع. استعد لبيع نفسك تقترح مجلة فاست كومباني Fast Company أن يبدأ رواد الأعمال في الترويج لأنفسهم كعلامة تجارية قبل بدء نشاطهم التجاري، تمامًا كما يفعل المؤثرون Influencers في عالم وسائل التواصل الاجتماعي؛ فأما إن لم تختر طريق اليوتيوب وتيك توك وما شابه، فإليك بدائل أخرى: انضم إلى منظمات مهنية، وانشط لتشد الانتباه، وخاصةً من ذوي المناصب العليا في مجالك. تطوع في منظمة غير ربحة مرتبطة بالمجال الذي تريد العمل فيه. وأظهر جودة أدائك بالعمل في لجنة أو على مشروع ضخم يحقّق قفزة نوعية للمنظمة. اعثر على مرشد يعطيك نصائح وتوجيهات شخصية حول مسار عملك، وفكرة مشروعك، ومواردك. اكتب مدونة، وغرّد على تويتر، وانشر ملاحظاتك ونظرياتك، وتفاعل مع المعقّبين. اقرأ كل ما يمكنك حول المجال الذي تريد النشاط فيه. دروس مستخلصة خطة العمل هي خارطة طريق لمشروعك، وأداة لتقديم فكرتك أمام المستثمرين والموردين المحتملين. تنطوي خطة العمل على عناصر أساسية، منها بيان الغاية، والخطط التسويقية والإجرائية والمالية. المستثمر شخص أو منظمة تقدّم الدعم -ماليًا كان أو سواه- إلى مشروعك. من أنواع المستثمرين البنوك، والمستثمرون الخواص، ورأس المال الجريء، وشركات تأجير المعدات، والبرامج الحكومية. حين تقديمك خطة عملك إلى المستثمرين المرتقبين، فإنك تبيع أكثر من مجرّد فكرتك، أنت تبيع نفسك. تمارين افترض أنك تبدأ مشروعًا على الإنترنت تسميه َ"على المقاس". وهو موقع إلكتروني يمكّن العملاء من شراء ملابس بتقديمهم قياساتهم المضبوطة. ما هي المعلومات التي ستدرجها في قسم الخطة التسويقية من خطة عملك؟ اتصل ببنك محلي وتحدث إلى مسؤول القروض التجارية لتتعرّف على عملية التقدّم للحصول على قرض تجاري. ناقش ثلاثة أشياء يمكنك فعلها الآن للتحضير لمسارك المهني في ريادة الأعمال. ترجمة -وبتصرف- للمقال Selling Yourself and Your Idea من كتاب The Power of Selling. اقرأ أيضًا المقال السابق: قوة ريادة الأعمال البيع بتقديم الحلول 15 طريقة لإيجاد الزبائن الذين سيشترون منتجك حتى قبل أن تشرع في بنائه قوة العلاقات في البيع
  14. أول حاجة، حدد إنت عايز تركز على إيه أكتر: البرمجة ولا التصميم؟ ده مهم علشان تعرف تطور نفسك في الاتجاه اللي انت حابه أكتر. في البرمجة: لو لسه مبتدئ، ابدأ بتعلم لغات البرمجة الأساسية زي HTML، CSS، وJavaScript. دول أساسيات لازم تكون عارفهم. في التصميم: ركز على الفوتوشوب أو الأدوات زي Adobe XD أو Figma، واتعلم أساسيات التصميم زي الألوان والتناسق والمساحات فيه منصات كتير بتقدم كورسات كويسة : Codecademy : كويس لو عايز تبدأ في البرمجة. Udemy : فيه كورسات كتير في البرمجة والتصميم، ودائما بيعملوا عروض وخصومات. Coursera وedX : منصات تعليمية بتديك كورسات من جامعات عالمية. ابدأ اشتغل على مشاريع صغيرة علشان تطبق اللي اتعلمته. ممكن تبدأ بتصميم مواقع بسيطة لنفسك أو لأصحابك. ده هيساعدك تبني بورتفوليو وتكتسب خبرة انضم لمجتمعات المطورين أونلاين زي GitHub، Stack Overflow، وReddit. هنا هتلاقي ناس كتير ممكن تتعلم منهم وتاخد نصايحهم. التكنولوجيا بتتغير بسرعة، فلازم تكون دايمًا متابع كل جديد في مجالك. تابع المدونات والقنوات على يوتيوب اللي بتنشر محتوى تقني جديد البداية ممكن تكون صعبة، لكن بالصبر والإصرار هتقدر توصل لمستوى متقدم. كل ما هتشتغل أكتر، هتلاقي نفسك بتحترف أكتر وتكسب خبرة أكبر. ابدأ خطوة بخطوة، ودايمًا فكر في تطوير نفسك ومهاراتك. مع الوقت، هتلاقي نفسك بتتحسن وتحقق نجاحات أكبر. بالتوفيق! اعمل بورتفوليو حلو يعرض شغلك ومهاراتك. ده هيكون مهم جدًا لما تيجي تقدم على شغل أو تعرض خدماتك للعملاء. ممكن تبدأ تشتغل كفريلانسر على مواقع زي Upwork وFreelancer. كده هتبدأ تكسب فلوس وتكتسب خبرة في نفس الوقت. أخوكم أحمد ، مبرمج مواقع وصاحب شركة بيتا للحلول الرقمية . لو بتدور على تيم عمل محترف يساعدك في تصميم وتطوير موقعك الإلكتروني، إحنا في بيتا جاهزين نخدمك. بنقدم حلول متكاملة للمواقع بتجمع بين الإبداع والكفاءة التكنولوجية.
  15. لا يتم المقارنة بينهما حيث يعتبر الدومين والاستضافة ونشر الموقع على الانترنت هي عناصر مهمة في إنشاء ونشر موقع على الويب. ولكل منها دور مختلف في عملية إنشاء الموقع.وسأحاول التوضيح بشكل بسيط أولاً الدومين هو الاسم الفريد الذي يحدد عنوان موقع الويب على الانترنت. على سبيل المثال، google.com هو دومين لمحرك البحث جوجل. يتم شراء الدومين من مزود خدمة الدومينات ويتم تجديده سنويًا. و يستخدم الدومين لتوجيه المستخدمين إلى موقع الويب الخاص بك. أما بالنسبة للاستضافة هي المكان الذي يتم فيه تخزين ملفات موقع الويب الخاص بك، مثل الصور والمحتوى والقوالب. و يتم ربط الاستضافة بالدومين لكي يتمكن الزوار من الوصول إلى موقع الويب الخاص بك. وأخيراً بعد شراء الدومين والاستضافة، يمكنك بدء نشر موقعك على الانترنت. يتضمن ذلك تحميل ملفات موقعك إلى الاستضافة وتكوينها بحيث يمكن للزوار الوصول إليها. الشرح السابق بشكل مختصر وبسيط ولكن يفضل الإطلاع على المصادر في التعليق السابق للمزيد من التفاصيل والشرح
  16. ال Synthetic data أو البيانات الاصطناعية هي بيانات غير بشرية تحاكي بيانات العالم الحقيقي. و تتم إنشاؤها باستخدام خوارزميات الحوسبة والمحاكاة التي تعتمد على تقنيات الذكاء الاصطناعي المولد كما وضح مصطفى في التعليق السابق . علاقة البيانات الاصطناعية بالذكاء الاصطناعي تكمن في استخدام تقنيات الذكاء الاصطناعي لإنشاء هذه البيانات. يتم تدريب خوارزميات الذكاء الاصطناعي على البيانات الحقيقية لتعلم الأنماط والترابطات لهذه البيانات. بعد التدريب، يمكن للمولد إنشاء بيانات اصطناعية تكون مماثلة إحصائيًا للبيانات الأصلية. ولكن فائدة هذه البيانات أنها يمكن استخدامها لإنتاج مزيد من البيانات بتكلفة منخفضة، مما يساعد في زيادة حجم البيانات المتاحة للتحليل وتدريب نماذج الذكاء الاصطناعي. كما أنه يمكن استخدام البيانات الاصطناعية لحماية خصوصية المستخدمين والمعلومات الشخصية.
  17. تُعرف باسم البيانات الاصطناعية أي بيانات تم إنشاؤها بدلاً من جمعها من العالم الحقيقي. ويتم توليد البيانات من خلال عمليات حسابية أو خوارزميات معينة تم تصميمها لمحاكاة الخصائص والإحصائيات الأساسية للبيانات الحقيقية، و تتراوح البيانات ما بين النصوص والصور إلى بيانات المعاملات المالية والبيانات الصحية. ففي مجال الذكاء الاصطناعي، وخاصة في التعلم الآلي والتعلم العميق، يُعتبر وجود كميات كبيرة من البيانات عالية الجودة أمرًا ضروريًا لتدريب النماذج، لكن من الصعب أو المكلف الحصول على بيانات حقيقية كافية، وهنا تأتي البيانات الاصطناعية كحل. أيضًا بعض البيانات الحقيقية تكون حساسة وتتطلب حماية خاصة (مثل البيانات الصحية أو المالية)، لذا تستخدم البيانات الاصطناعية لتجنب المخاطر المتعلقة بالخصوصية والأمان لأنها لا تتعلق بأفراد حقيقيين. بجانب أنها تساعد في تنويع مجموعات البيانات، مما يؤدي إلى نماذج أكثر قوة وتعميمية، مثل توليد بيانات تتضمن سيناريوهات نادرة أو حالات خاصة التي قد تكون تحت تمثيلها في البيانات الحقيقية. بالإضافة إلى إختبار النماذج في بيئات أو سيناريوهات محددة للتأكد من أداء النموذج في ظروف مختلفة، أو تسريع عملية تطوير النماذج بتوليد كميات كبيرة من البيانات في وقت قصير مقارنة بجمعها من العالم الحقيقي. وفي المستقبل متوقع استخدام بيانات اصطناعية بنسبة أكبر من البيانات الحقيقية لاحظ التالي:
  18. السلام عليكم اي هي الsynthetic data واي علاقتها بالذكاء الاصطناعي ؟
  19. بشكل بسيط، الدومين هو بمثابة عنوان بيتك الذي يمثل مكان فريد تذهب إليه، لذا عندما يسألك أحد عن عنوانك تذكر له العنوان ويستطيع الذهاب إليه لزيارتك مثلاً. إذًا الدومين هو عنوان موقعك على الإنترنت، يستخدمه الزوار لزيارة موقعك، وفي الخلفية يتم ترجمة اسم الدومين في الخلفية إلى IP معين من خلال الـ DNS ومن خلال الـ IP يتم الإتصال بالسيرفر. والسيرفر هو الاستضافة التي تنشر عليها موقعك، حيث توفر لك جزء من الموارد على السيرفر (حاسوب ولكن بمواصفات مرتفعة) وذلك السيرفر يتكون من معالج ورامات ووحدة تخزين (هارديسك) وخلافه. ستجد تفصيل أكثر هنا:
  20. السلام عليكم كما هو موضح بالعنوان اريد ان اعرف الفرق بين الدومين و الاستضافة و نشر الموقع علي الانترنت ومتى نتستخدم كلا منهم وما افضل شئ منهم
  21. إذا كان المقصود هو أنه لا يستطيع أي أحد أن ينشئ موقعا مشابها له، فهذا مستحيل من الناحية التقنية. يمكن لأي شخص بخبرة جيدة أن يقلد شكل أي موقع آخر، خصوصا أن الشفرة المصدرية للواجهة الأمامية للمواقع يمكن الإطلاع عليها من خلال المتصفح. تقليد المواقع أمر شائع مثلا في عمليات النصب والاحتيال، حيث يقوم المهاجم بإنشاء صفحات تسجيل دخول تشبه صفحات المواقع المشهورة من أجل أن يقوم بخداع المستخدمين وجعلهم يدخلون كلمات سرهم في موقعه بدل الموقع الأصلي. الإجراءات هنا قانونية بحتة ولا يوجد ما يتعلق بالبرمجة هنا. لذلك يجب التواصل مع محامي لسؤاله في هذا الأمر.
  22. لا يمكنك ذلك، يستطيع أي شخص لديه القدرة على تنفيذ منتج وموقع مماثل وتقديم نفس الخدمة، لكن ليس بنفس الاسم بالطبع سيقوم بتغيير اسم الخدمة أو المنتج والتصميم قليلاً أو كثيرًا الأمر نسبي. وفي حال لم يكن المنتج أو الخدمة لديك مُسجلة ولها حقوق ملكية، فيستطيع أي شخص تقديم نفس المنتج أو الخدمة بنفس الاسم والشكل فلا يوجد ما يحمي حقوقك إن لم يتم تسجيلها في الجهة المسؤولة عن ذلك في بلدك.
  23. املك موقع هو جاهز و 100% مكتمل لكن كيف احميه من السرقة والتقليد بمعنى انه لايقدر احد انه يصمم موقع خاص به نفس موقع ويسرق الزبائن له وما هي الاجرأت التى اتخذها عند حدوث سرقة او تقليد
  24. المشكلة أنك تحاول استخدام دالة غير مناسبة في جهة العميل client-side بدلاً من جهة الخادم server-side. ففي Next.js، استخدام الدوال غير المتزامنة async في مكونات العميل يؤدي إلى مشاكل، حيث أن تلك الدوال يجب أن تُنفذ داخل دوال الخادم أو عند تحميل البيانات data fetching. عليك إعادة هيكلة المكون Chats والإعتماد على useEffect و useState لتحميل البيانات عند تحميل المكون بدلاً من استخدام دالة غير متزامنة في المكون ونقل دالة auth واستخدامها في useEffect لتحميل البيانات بعد تحميل المكون. "use client"; import { useEffect, useState } from "react"; import { auth } from "@/auth"; import { getUsersForSidebar } from "@/lib/data"; import Chat from "./chat"; import { IChatDocument } from "@/models/chatModel"; const Chats = () => { const [selectedChat, setSelectedChat] = useState<IChatDocument | null>(null); const [chats, setChats] = useState<IChatDocument[]>([]); const [loading, setLoading] = useState<boolean>(true); const [error, setError] = useState<string | null>(null); useEffect(() => { const fetchData = async () => { try { const session = await auth(); if (session?.user) { const chatsData = await getUsersForSidebar(session.user._id); setChats(chatsData); } } catch (error) { setError("Failed to load chats"); } finally { setLoading(false); } }; fetchData(); }, []); const handleSelectedChat = (chat: IChatDocument) => setSelectedChat(chat); if (loading) return <p>Loading...</p>; if (error) return <p>{error}</p>; return ( <nav className="flex-1 overflow-y-auto"> <ul> {chats.map((chat) => ( <Chat key={chat._id} chat={chat} handleSelectedChat={handleSelectedChat} selectedChat={selectedChat} /> ))} </ul> </nav> ); }; export default Chats; باستخدام useEffect لتحميل البيانات بعد تحميل المكون نتجنب استخدام دوال غير متزامنة مباشرة داخل المكون التي تسبب مشاكل خاصة في بيئة العميل.
  25. أعمل على مشروع قمت بعمله بـ nextJS 14 و typescript وكان الموقع يعمل بشكل طبيعي ولكن فجأة ظهر خطأ عندما أنتقل لصفحة chats يتوقف المتصفح عن الإستجابة ويحدث render لانهائي كما ترون في الصورة أدناه وفي أعلى الكونسول يظهر تحذير موضح في الصورة التي في الأسفل هذا ملف chats.tsx "use client"; import { auth } from "@/auth"; import { getUsersForSidebar } from "@/lib/data"; import Chat from "./chat"; import { useState } from "react"; import { IChatDocument } from "@/models/chatModel"; const Chats = async () => { const [selectedChat, setSelectedChat] = useState<IChatDocument | null>(null); const session = await auth(); const chats = session?.user ? await getUsersForSidebar(session.user._id) : []; const handleSelectedChat = (chat: IChatDocument) => setSelectedChat(chat); return ( <nav className="flex-1 overflow-y-auto"> <ul> {chats.map((chat) => ( <Chat key={chat._id} chat={chat} handleSelectedChat={handleSelectedChat} selectedChat={selectedChat} /> ))} </ul> </nav> ); }; export default Chats; الخطأ الذي يحدث فيه render لانهائي يشير إلى هذا السطر const session = await auth(); لذلك قد يكون ملف auth.ts له علاقة بالخطأ لهذا الكود الخاص بالملف في الأسفل import NextAuth from "next-auth"; import GitHub from "next-auth/providers/github"; import { connectToMongoDB } from "./lib/db"; import User from "./models/userModel"; import randomString from "random-string"; export const { handlers, signIn, signOut, auth } = NextAuth({ providers: [ GitHub({ clientId: process.env.AUTH_GITHUB_ID, clientSecret: process.env.AUTH_GITHUB_SECRET, }), ], secret: process.env.AUTH_SECRET, callbacks: { async session({ session }) { try { await connectToMongoDB(); if (session.user) { const user = await User.findOne({ email: session.user.email }); if (user) { session.user._id = user._id; session.user.userCode = user.userCode; return session; } else { throw new Error("User Not Found!"); } } else { throw new Error("Invalid Session!"); } } catch (error) { console.log(error); // Throw an error or return null to indicate an invalid session throw new Error("Invalid session"); } }, async signIn({ account, profile }) { if (account?.provider === "github") { await connectToMongoDB(); try { const user = await User.findOne({ email: profile?.email }); // Sign up user if not found if (!user) { const coding = randomString({ length: 8, numeric: true, letters: true, special: false, }); const newUser = await User.create({ username: profile?.login, email: profile?.email, userCode: coding, fullName: profile?.name, avatar: profile?.avatar_url, }); await newUser.save(); } return true; // indicate successful sign-in } catch (error) { console.log("Sign in Error: ", error); return false; } } return false; }, }, });
  1. عرض المزيد
×
×
  • أضف...