-
المساهمات
9379 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
133
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد_عاطف
-
وعليكم السلام ورحمة الله وبركاته . مرحبا محمد . نعتذر عن المشكلة التي تواجاهك حاليا . من المفترض حين الإشتراك فإن قسم دوراتى يظهر فوريا بعد الإشتراك ويمكنك الدخول ومشاهدة الدورة دون أى مشاكل . ولكن يبدوا أنه حدثت مشكلة لديك تمنع ظهور القسم لديك.لذلك الحل هو التواصل مع الدعم كما فعلت وسيتم الرد عليك في أسرع وقت إن شاء الله . لا تقلق من التأخير في الرد فسوف يتم حل المشكلة لديك إن شاء الله . إذا لم يتم الرد عليك بحلول نهاية اليوم الحالي من فضلك أخبرنى . شكرا لتفهمك وبالتوفيق إن شاء الله
-
وعليكم السلام ورحمة الله وبركاته . نعم صحيح إن الأخطاء هى ما ستعلمك أكثر من أى شئ . حيث في بداية مسيرتى وبداية التعلم حينما كنت أقع في خطأ ما فإنى أقوم بالبحث عنه وحينما أجد الإجابة فإنها تظل في ذاكرتى ومن الصعب أن أخطا نفس الخطأ مرة أخرى أو إذا تكرر معى فسأستطيع حله بسهوله . ولكن توجد بعض الأخطاءالتي من المستحيل أن تستطيع حلها بنفسك فبعد المحاولات الكثيرة التى من الممكن أن تستمر لأيام ستجد أنك لم تستطع حلها فهنا لا بئس في سؤال أى شخص أو حتى نحن المدربون هنا سعداء بحل أى مشكلة تواجه أى طالب. لذلك فإن هذا ليس تقصيرا منك بل هذا هو المسار الصحيح للتعلم حاول حل الأخطاء نفسك أولا وإذا وجدت صعوبة فلا تتردد في السؤال وحاول فهم لما حدثت المشكلة وفهم الحل الخاص بها . حيث إذا لم تقم بالمحاولة بنفسك فستستهل الأمور و إذا واجهتك أى مشكلة فلن تستطيع حلها حيث أول شئ ستقوم به هو سؤال أى شخص ولن تحاول حتى فهم الخطأ و الحل .
- 3 اجابة
-
- 1
-
-
مرحبا @Rafika Cha. إذا كن السؤال خاص بدرس من دروس الدورة فأرجوا مستقبلا أن يتم وضعه أسفل الدرس فى التعليقات حيث هنا هو القسم الخاص بالأسئلة العامة وحتى نستطيع مساعدتك بشكل أفضل . بالنسبة للسؤال الأول فإن المتغيرات variables تستخدم لحفظ بيانات بداخلها حتي يتم إستخدامها بعد ذلك في الكود . والمثال المرفق bored = ' '.join غير واضح قليلا حيث هنا لم يتم تعريف دالة بل هنا إستخدمنا الدالة join وهى دالة built in في بايثون حيث تستخدم تلك الدالة لدمج عناصر قائمة ما في سلسلة نصية واحدة مع وضع فاصل بينهما . names = ["Ahmed", "Mohamed", "ALI"] x = " ".join(names) print(x) # Ahmed Mohamed ALI كما في المثال السابق يوجد لدينا قائمة تحتوى على أسماء ونحن نريد وضع جميع تلك الأسماء في سلسلة نصية وطباعتها و قد قمنا بفصلهم بمسافة أى سيتم طباعة كل إسم وبعده مسافة وإذا أردنا مثلا فصلهم بأى شئ نقوم فقط بكتابته بين "" هكذا مثلا ",".join(names) وهنا إستخدما المتغير x لنقوم بحفظ تلك السلسلة النصيه فيه . أما بالنسبة لحلقات التكرار for و while فيتم إستخدامهم لتكرار جزء من الكود عدد من المرات . فمثلا كما في المثال السابق لو أردنا طباعة جميع عناصر القائمة ولكن كل إسم في سطر فنستيطع عمل ذلك بإستخدام حلقات التكرار . names = ["Ahmed", "Mohamed", "ALI"] for i in range(len(names)): print(i, names[i]) فهنا في المثال السابق قنا بإستخدام حلقة التكرار for لطباعة الأسماء التي بداخل القائمة . وهنا إستخدمنا المتغير i ليحتوى على رقم التكرار الحالي : ففي أول مرة سيتم التكرار فيها ستجدين أن ال i تساوى 0 و في المرة الثانية 1 وهكذا في كل مرة سيتم زيادة i و ذلك حتى نستطيع طباعة عناصر المصفوفة بالترتيب الخاص بها . names = ["Ahmed", "Mohamed", "ALI"] i = 0 while i < len(names): print(i, names[i]) i+=1 والمثال هذا أيضا يقوم بعمل نفس الكود السابق ولكنه بإستخدام حلقة while وهنا قمنا أولا بتعريف متغير i و أعطينا له قيمة 0 و ثم قمنا بإستخدام while و كتبنا شرط أن i لا يجب أن يكون أكبر من طول القائمة والآن بداخل حلقة التكرار نقوم بطباعة العنصر الحالي في القائمة ومن ثم زيادة ال i برقم 1 حتي نستطيع الوصول للعنصر التالي في القائمة . ويمكنك قراءة الدرسين التاليين في موسوعة حسوب لشرح أفضل لحلقات التكرار : for في بايثون while في بايثون
-
هناك العديد من البرامج التي تقدم وظائف مشابهة لـ VirtualBox في مجال إنشاء بيئات افتراضية. إليك بعض البرامج الشبيهة: VMware Workstation: هو أكثر البدائل شهرة ، وهو يوفر مجموعة كبيرة من الميزات لإنشاء وإدارة الآليات الافتراضية. VMware Player: نسخة أخف من VMware Workstation وتستخدم عادة للاستخدام الشخصي والتجريبي. Parallels Desktop: يعتبر هذا البرنامج مثاليًا لأجهزة Mac ويتيح تشغيل أنظمة تشغيل Windows و Linux بجانب macOS. Hyper-V: هو برنامج افتراضي مدمج في نظام التشغيل Windows الإصدارات Pro و Enterprise و Education ويوفر ميزات متقدمة لإدارة الآليات الافتراضية. تختلف ميزات كل برنامج وطريقة استخدامه، لذا يمكنك اختيار البرنامج الذي يلبي احتياجاتك الخاصة ويتناسب مع نظام التشغيل الذي تستخدمه.
-
نصيحتى هى أولا متابعة الدورة و تنفيذ التمارين التي يقوم المدرب بإعطائها ومحاولة حلها ومتابعة الحل بعد ذلك . وأيضا متابعة الدروس العملية حيث يتم تطبيق ما تم شرحه في الدورة فى تلك الدروس العلمية . أما المواقع التي توفر تدريبات فمعظم تلك المواقع تتطرق لتعليم ال problem solving (حل المشكلات) وهى مهارة مهمة جدا للمبرمجين ولا غنى هنا أبدا ولكنها من الممكن في بداية التعلم أن تصاب بالإحباط حين الدخول إلى تلك المواقع ولكن يمكنك الدخول إلى المستويات المبتدئة ولكنها لا تعتمد على لغه هو فقط يعطيك مشكلة و يريد حل لها بأى لغة وليس بايثون فقط, ومن أمثلة تلك المواقع : Hackerrank و LeetCode: هذه المواقع تقدم تحديات برمجية تمكنك من تطبيق المفاهيم المختلفة بما في ذلك الأساسيات و الدوال، وتقديم الحلول الخاصة بك لهذه التحديات ولكن يفضل الدخول في المستويات المبتدئة. PyBites: يوفر PyBites تحديات يومية وأسبوعية لتطوير مهاراتك في Python. codeforces : وهو من المواقع الشهيرة جدا التى تقوم بعمل مسابقات عالمية يوميا وإسبوعيا حيث تكون تلك المسابقات عبارة عن مشاكل ويجب حلها عن طريق البرمجة وتختلف صعوبة المسابقات من مسابقة إلى أخرى و أيضا يعطيك نقاط عند دخول كل مسابقة وحل المشاكل لتتابع تقيمك وسط العديد من المبرمجين حول العالم .
-
مرحبا محمود . لا يتوجب عليك أن يكون لديك حساب بالدولار فمن الممكن أن تقوم بالشراء بالجنيه المصرى وسيقوم البنك الخاص بك بتحويل الملبغ المراد دفعه بالدولار إلى جنيه بسعر البنك مع إضافة 10% من المبلغ عمولة تحويل . بعض بالنوك حاليا لا تعمل لديها بطاقة الخصم ( debit card) في المدفوعات بالعملة الأجنبية ولكن تتيح لك بطاقة الائتمان (Credit Card) . لذلك يمكنك التواصل مع البنك الخاص بك والسؤال عن إمكانية الشراء من الخارج بال debit card أم لا . وإذا كان لا يتيح يمكنك طلب بطاقة ائتمان ولكن لا أنصح بها لما لها من حرمانية . أو يمكنك الدفع عن طريق بايبال ويمكنك ربط بطاقة debit card بحساب باي بال ولكن تاكد من البنك الخاص بك من أنه يسمح بالربط بحساب باي بال . أيضا من الممكن أن تجعل شخص يشتري لك بطاقة هدية بقيمة الدورة التي تريدها ثم استخدامها وسيتم إضافة الرصيد الخاص بقيمة البطاقة لحسابك، وستجد تفاصيل عن ذلك هنا: شراء بطاقة هدية استخدام بطاقة الهدية
-
وعليكم السلام ورحمة الله وبركاته . إرسال الطلبات requests بواسطة axios بسيط ولكنه يعتمد على نوع البيانات التي تريد إرساله . فكما في المثال السابق ستقوم بإرسالها بصيغة json والطريقة كالتالي : const json = JSON.stringify({ home_page_position: "Header",show_in:"home" }); const res = await axios.post('https://alsouq.anevex.com/app/shop-api/advertisements', json); وهكذا سيتم إرسال الطلب . أما إذا أردت إرسالها ك form سنقوم بالتالي : let data = new FormData(); data.append("home_page_position", "Header"); data.append("show_in", "home"); const res = await axios.post('https://alsouq.anevex.com/app/shop-api/advertisements', data); وهكذا سيتم إرسالها كأنه تم الإرسال من form
- 8 اجابة
-
- 1
-
-
كل قالب يختلف عن الآخر في طريقة إنشاء هذه الخاصية . ولكن لنفترض أننا نريد إنشاء محتوى ال footer . لذلك سنقوم بإنشاء أولا جدول في قاعدة البيانات يحتوي على البيانات التي نريد تخزينها ل footer. مثلا جدول يسمى footer_items ويحتوي على الأعمدة التالية: id و footer. الآن في لوحة التحكم نضع textarea التي سيكتب المستخدم بيانات ال footer فيها هكذا مثلا : <form action="/footer/create" method="post"> <textarea name="footer" placeholder="footer items"></textarea> </form> والأن نقوم بإنشاء ملف الذى يقوم بإستقبال البيانات من ال form وحفظها في قاعدة البيانات كالتالي : $footer = $_POST['footer']; // إدخال البيانات في جدول footer_items $sql = "INSERT INTO footer_items (footer) VALUES ('$footer')"; والآن فى الواجهة الأمامية نقوم بإحضار البيانات من قاعدة البيانات وإظهارها فى الصفحة : <footer> <ul> <?php $sql = "SELECT * FROM footer_items"; $result = mysqli_query($conn, $sql); // تنفيذ الاستعلام // عرض النتائج while($row = mysqli_fetch_assoc($result)) { echo "<li>" . $row['footer'] . "</li>"; } ?> </ul> </footer>
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته . توجد بعض القوالب التى تجعل معظم الموقع دايناميكيا وليس ثابتا . حيث ستجد أن بعض القوالب تجعل راس الصفحة header و ذيل الصفحة footer دايناميكيا بحيث يمكنك إضافة وتعديل وحذف محتواهما عن طريق لوحة التحكم . ومن لوحة التحكم يتم حفظ هذه العناصر في قاعدة البيانات و من ثم إسترجاع تلك العناصر من قاعدة البيانات وعرضها في الصفحة الأمامية للموقع. وبهذا ستجعلك تملك تحكم أكبر فى الموقع من حيث حذف و إضافة ما تريد . وأعتقد أن القالب الذى قمت بتحمليه يستخدم تلك الطريقة حيث أن row$ هو المتغير الذى يحوى القيمة من قاعدة البيانات و إذا ذهبت إلى لوحة التحكم من المؤكد أنك ستجد قيم لتعديل ال footer هناك والذى سيقوم بإظهار تلك العناصر فى الصفحة الأمامية لديك .
- 4 اجابة
-
- 1
-
-
إن أيقونة الإعدادات تشير إلى ملف يحتوى على إعدادات للمشروع . وبما أنك لم تق بتعديل إسم الملف وهو يحتوى على نقطة إذا فيبدو أنك قد قمت بحذف الإضافة الخاصة ب vs code التى تسمى Material Icon Theme . لذلك من فضلك تأكد هل الإضافة مثبته لديك ومفعلة أم لا . ثم قم بالضغط على set file icon theme و قم بإختيار الإضافة Material Icon Theme من الاختيارات التى سوف تظهر لك . . وقم بإعادة تشغيل vs code ستجد أن الأيقونات قد عادت كما هى .
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته . لاحظ أن الملف الذى بجواره ايقونة تشبه الترس إن الأسم مختلف حيث بدلا من وضع نقطة (.) قمت بوضع علامة فاصلة (,) قبل كلمة env . وحيث أن الأيقونات تتغير على حسب نوع الإمتداد الخاص بالملف , وحيث أنك لم تضع إمتداد بما أن إمتداد الملف هو ما بعد النقطة ولا توجد لديك نقطة في إسم الملف لهذا ظهرت أيقونة الترس . لذلك يجب عليك تغير الإسم إلى env. حيث يتم وضعه نقطة وليس علامة الفاصلة .
- 3 اجابة
-
- 1
-
-
من فضلك قم بالتعليق أسفل الدرس الذى تريد الإستفسار عنه حيث هنا قسم الأسئلة العامة ولا نقوم بالإجابة على الأسئلة الخاصة بالدورات هنا . ستجد أسفل الدرس صندوق للتعليقات هناك.
-
يمكنك إستخدام الدالة sort لترتيب عناصر ال list في بايثون هكذا : ids = ["id1", "id100", "id4", "id34"] ids.sort() ويمكنك قراءة الدرس هذا على موسوعة حسوب. وستجد الفيديو الذى يشرح الدالة sort هنا : في أساسيات لغة بايثون Python ثم بنى المعطيات الخطية Data Structures ثم 01. القوائم Lists
-
إذا كنت تريد برمجة أداة مثل ذلك فإن هذا الأمر متقدم وليس بالسهل تنفيذه . يمكنك البحث على يوتيوب أو على الإنترنت عموما عن فكرة tokenizer و parser . حيث يقوم ال Tokenizer أولا بفصل الكلمات بناءا على القواعد التي تقدمها له حيث يقوم بتحليل سلسلة النص إلى وحدات صغيرة تسمى tokens. يمكن أن تكون هذه الوحدات الفرعية كلمات، أو رموز ترقيمية، أو علامات ترقيم، وما إلى ذلك. عملية التقسيم يمكن أن تعتمد على مجموعة متنوعة من القواعد، مثل الفراغات بين الكلمات، والعلامات الترقيمية كما في الفاصلة النهائية، وغيرها. أما جزء ال Parser هو المكون الذي يأخذ السلسلة المجزأة التي تم إنشاؤها من قبل الـ tokenizer ويقوم بتحليلها وتفسيرها بناءً على بنية قواعد محددة مسبقًا (syntax rules). حيث يقوم ببناء ال tokens كشجرة بناء (tree) . ومن ثم يمكنك تحويل تلك ال tree إلى الملف text الذى تريده وتقوم بوضع كل شئ في سطر منفصل. إذا كنت ممبتدأ في البرمجة فأنصحك أولا بمذاكرة ال data structure وخاصة ال trees و ال stacks و من ثم يمكنك البحث عن فكرة tokenizer و parser .
- 5 اجابة
-
- 1
-
-
من فضلك قم بإرسال ملفات المشروع لديك و إخبارى بالخطأ لديك أو ما الذى تريد تنفيذه ولا يعمل
-
لاحظ الخطأ هنا حيث هذا الكود سيقوم بتنفيذ التنسيق على العنصر ul الذى يوجد بداخل nav الذى يوجد بداخل navbra. الذى يوجد بداخل header . ولكن في الصورة السابقة لاحظ أن ul بداخل navbar. وليس nav . إذا الحل كالتالي : header .navbar nav { display: flex; justify-content: space-between; align-items: center; max-width: 1100px; margin: auto; } header .navbar ul { display: flex; justify-content: center; align-items: center; }
- 7 اجابة
-
- 1
-
-
نعم بالفعل توجد العديد من الدورات هنا التي بعد إجتيازها تؤهلك للعمل كمطور واجهات خلفية Back end . اولا دورة تطوير التطبيقات باستخدام لغة Python بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة بايثون و backend devolper باطار عمل django وايضا تهيئك لمجال تحليل البيانات والذكاء الاصطناعى وتعلم الالة . وهذه الدورة اذا اردت ان تصبح مطور واجهات خلفية . ثانيا دورة تطوير التطبيقات باستخدام JavaScript بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة جافاسكريبت وتمكنك من ان تصبح مطور واجهات خلفية MERN stack وايضا تمكنك من تطوير تطبيقات الهاتف ومن الممكن ان تستعملها لتصبح FULL STACK Developer ثالثا دورة تطوير تطبيقات الويب باستخدام لغة PHP بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة php باطار عمل لارافيل و ووردبريس وهذه الدورة تؤهلك لتصبح مطور واجهات خلفية بواسطة php. رابعا دورة تطوير تطبيقات الويب باستخدام لغة Ruby عد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة ruby وهذه الدورة تؤهلك لتصبح مطور واجهات خلفية. ويمكنك قراءة الأجوبة التالية لتحديد الدورة المناسبة لك .
- 2 اجابة
-
- 1
-
-
يفضل إرسال صورة للتنسيق الذى يظهر لديك وأيضا شيفرة html وما هو الذى تريد تحقيقه حتى نرى أين المشكلة .
- 7 اجابة
-
- 1
-
-
من الأفضل أولا فهم طريقة عمل ال api في لارافيل أو فقط الأساسيات اللازمة لإنشاء ال apis حتى تتمكن من إستكمال مشروعك . يمكنك إستخدام JTW في لارافيل أو Laravel Passport لتوفير طبقات الحماية والتفويض والمصادقة من خلال لارافيل . يمكنك قراءة هذا المقال عن Laravel Passport أو يمكنك البحث على يوتيوب عن شرح له . ويمكنك قراءة تلك الأجوبة حتى تتضح الرؤية لك أكثر عن كيفية الربط بين لارافيل Api و أى إطار عمل خاص بالواجهة الأمامية . ويمكنك إرسال ال token عن طريق ال session حيث يجب وضعه فى ال session وليس localStorage كما هنا . او يمكنك إضافته فى localStorage ولكن سيتوجب عليك في كل مرة ترسل طلب إلى الخادم أن تقوم بقراءته من localStorage وثم إرساله إلى لارافيل
-
إن المكتبات الخاصة بالجافاسكريبت لا يمكن تثبيتها في لارافيل عن طريق composer ولكن يمكنك تثبيتها عن طريق npm في لارافيل إذا كانت متاحه في npm ويمكنك إستخدام vite أو laravel mix لتحزيم تلك المكتبات ومن ثم إستدعاء الملف المحزم في blade في لارافيل . ولكن بما أن filepond لا تحتاج لذلك فيمكنك تحميل الملف من cdn وثم وضعه في ملجد public وإستدعاءه عن طريق دالة asset في ملف blade في لارافيل هكذا . <script src="{{ asset('js/filepond.min.js') }}"></script> حيث هنا إفترضنا أن الملف بداخل مجلد js بداخل مجلد public في لارافيل .
-
الأمر بسيط يمكنك إنشاء عنصر anchor و هو المسؤل عن إنشاء روابط في صفحات ال html . حيث يحتوى العنصر a على خاصية تسمى href وهى ما تسمح لهذا العنصر بالذهاب إلى رابط أخر عند الضغط عليه . <a href="https://www.google.com/"> جوجل </a> حيث في العنصر السابق وضعنا عنوان موقع جوجل فى الخاصية href و هكذا إذا تم الضغط على الزر سيتم الذهاب إلى موقع جوجل . وإذا أردت جعله يظهر مثل الزر يمكنك إستخدام التنسيق التالى ووضع ال Class للعنصر .button { display: block; width: 115px; height: 25px; background: green; text-decoration: none; padding: 10px; text-align: center; border-radius: 5px; color: white; font-weight: bold; line-height: 25px; } ويمكنك قراءة هذا الدرس على موسوعة حسوب لتعرف أكثر عن العنصر a
-
الامر بسيط إذا كنت قد قمت بإنشاء ال Data Structuser الخاصة بقاعدة البيانات ولم ترد أن تقوم بتعديل ال collection الخاصة بالمستخدم فيمكنك إنشاء collection جديد ولنفرض إسمه sms_verifications و يحوي فقط ثلاثة حقول الأول هو ال id الخاص بالمستخدم و الثانى هو كود التفعيل المرسل و الأخير هو وقت إنتهاء الكود حيث يجب عليك وضعك وقت بحد أقصى 10 دقائق لإنتهاء الكود وذلك حفاظا على الأمان. والآن بمجرد طلب المستخدم كود تفعيل تقوم بإنشاء كود عشوائى وتقوم بحفظه في collection ال sms_verifications مع حفظ ال id الخاص بالمستخدم و من ثم إرسال الكود إلى الهاتف ويوجد العديد من المواقع التى تساعدك على ذلك مثل twilio و vonage . والآن عند إرسال المستخدم الكود الذى أرسل له تقوم باحضار السجل من sms_verifications بال id الخاص بالمستخدم ومن ثم مقارنة الكود مع التأكد من عدم إنتهاء الكود ويفضل لو قمت بعمل hash للكود وعدم حفظه كما هو فى قاعدة البيانات . وإذا كان الكود صحيح ولم تنتهى صلاحيته تقوم بوضع حالة المستخدم أنه verified
- 3 اجابة
-
- 1
-
-
هل الخطأ السابق موجود أم ظهر خطأ أخر ؟ من المفترض أن تعمل على إصدار node 7.6.0 فما فوق . ما هو الإصدار الذى لديك ؟
-
ستجد في التوثيق الرسمى الخاص بالمكتبة spatie/laravel-pdf أنه يجب عليك تثبيت المكتبة globaly وليس local حيث تعتمد على المكتبة puppeteer و إصدار node 7.6.0. https://spatie.be/docs/browsershot/v4/requirements ويمكنك تنفيذ الأمر التالي : npm install puppeteer --location=global
-
وعليكم السلام ورحمة الله وبركاته . أولا لا يمكن المقارنة بين ال objects و بين data structures فهما شيئان منفصلان ولنشرح كل منهما : إن الكائنات (Objects) تُستخدم الكائنات في البرمجة الكائنية التوجه (Object-Oriented Programming)، وهي منهجية برمجية تركز على تنظيم البرامج حول الكائنات التي تتفاعل مع بعضها البعض حيث يتم إنشاء صنف (class) يعبر عن سلوك هذه الكائنات مثل السيارة أو الكتاب أو المستخدم ...... إلخ , ويتم توظيف هذا السلوك عن طريق إنشاء خصائص وسمات هذا الصنف . ويتم إنشاء كائن من هذا الصنف أى ان الكائن هو هذا العنصر الذى يتم إنشاءه من الصنف . ويمكنك قراءة هذا الدرس لنفهم أكثر عن الكائنات . أما عن هياكل البيانات (Data Structures): فهو علم مهتم بكيفية تنظيم وتخزين البيانات بشكل منظم لتحقيق أداء معين أو تلبية احتياجات معينة , حيث تشمل هياكل البيانات مجموعة متنوعة من الطرق لتنظيم البيانات مثل القوائم المتسلسلة، الأشجار، الجداول، إلخ. غالبًا ما تستخدم لتخزين وإدارة مجموعات كبيرة من البيانات وتوفير عمليات فعالة للبحث والإدخال والحذف ويتم غالبا إنشاء تلك الهياكل عن طريق الأصناف والكائنات . تلخيصا للسابق يمكننا القول إن الكائنات تمثل مفاهيم وكيانات في البرمجة تحتوي على بيانات وسلوك ، بينما تعتبر هياكل البيانات ترتيبا وتنظيما للبيانات لتحقيق أهداف معينة مثل الفعالية أو السهولة في الوصول إلى البيانات.
- 2 اجابة
-
- 1
-
