لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 03/11/24 في كل الموقع
-
2 نقاط
-
2 نقاط
-
2 نقاط
-
علامات التنصيص ليست شيئا متعلّقا بالدالة print، بل هي علامات تدل على بداية ونهاية سلسلة نصّيّة (محرفيّة) String. خلافا لبعض لغات البرمجة (C، Java...) التي تفرّق بين علامات التنصيص المفردة ('...') وعلامات التنصيص المزدوجة ("...")، فإن لغة بايثون لا تفرّق بينهما في شيء. لذلك، فلا يهم أيهما استخدمت لإنشاء سلسلة نصيّة: text1 = "Hello world" text2 = 'Hello world' print(text1 == text2) # True ونفس القاعدة تنطبق على السلاسل النصّيّة ثلاثية التنصيص، والتي يمكن كتابتها على عدّة أسطر: text1 = """ Hello World """ text2 = ''' Hello World ''' print(text1 == text2) # True إذن ما فائدة وجود علامتين لإنشاء السلاسل النصيّة؟ الفائدة هي إمكانية استخدام إحدى علامتي التنصيص داخل سلسلة تم تعريفها بالعلامة الأخرى. هذا مفيد لكتابة نص كهذا: print("Don't go outside!") لاحظ كيف أن كلمة Don't تحوي علامة تنصيص مفردة، لذلك احتجنا إلى استخدام علامتي تنصيص مزدوجتين لتحديد السلسة النصّيّة. في حالة ما أردنا أن أن نستخدم علامتي تنصيص مفردتين، فهنا يجب إضافة محرف هروب (escape character) لعلامة التنصيص الموجودة داخل السلسلة النصيّة: print('Don\'t go outside') كما ترى فالنص صار أقل وضوحا بهذه الطريقة، لذلك معظم المبرمجين يتجنبونها ولا يختارونها إلا في حالة الاضطرار. علامات التنصيص المفردة تستخدم هي أيضا لتعريف السلسلة النصيّة خاصّة إذا كان فيها نص يستخدم علامتي التنصيص المزدوجة، مثل شفرة HTML: print('<a href="https://academy.hsoub.com/">أكاديمية حسوب</a>')2 نقاط
-
السلام عليكوم ورحمة الله و بركاته كما قراتم في العنوان انا لدي موقع و اوريد جمع جميع الصفحات في صفحة واحدة بحيث عن طريق JavaScript بحيث عندما يقوم المستخدم ب إختيار محتوى معين عن طريق زر ثما يتم عمل استعلام في صفحة index.html?type=المحتوى بحيث عن طريق قيمة الاستعلام يتم إضهار div يحتوي على id لهاذا الاستعلام لاكن انا فكرت و قلت سيصبح حجم الصفحة كبير هل يؤثر ذالك في الارشفة و إذا لا يؤثر ارجو عمل مثال لــ اكواد1 نقطة
-
1 نقطة
-
1 نقطة
-
1 نقطة
-
1 نقطة
-
1 نقطة
-
يبدو انه لديك اضافة Remix Icon الخاصة بمكتبة https://remixicon.com/ . اذا لم تكن تستعمل هذه المكتبة فمن الافضل حذف الاضافة الخاصة بها . يمكنك تصوير الاضافات لديك لاخبرك الاضافة التى تظهر لك هذه التوصيات1 نقطة
-
1 نقطة
-
1 نقطة
-
أعمل على برمجة تطبيق ضخم يضم عدة خدمات مختلفة، مثل توصيل الطعام والركاب والطرود وغيرها. السؤال: هل من الممكن تقسيم العمل في برمجة التطبيق إلى قسمين؟ القسم الأول: يتضمن برمجة جميع الوظائف العامة مثل إدارة المستخدمين، الحسابات الشخصية، المحفظة الإلكترونية، وغيرها من البيانات المشتركة في جميع الخدمات. القسم الثاني: يتضمن برمجة كل خدمة على حدة، مع التركيز على الوظائف الخاصة بكل خدمة. هدف التقسيم: تسهيل عملية البرمجة والصيانة. إتاحة إمكانية العمل على الخدمات بشكل مستقل. ملاحظات: سنقوم ببرمجة جميع الوظائف العامة في القسم الأول بشكل كامل قبل البدء ببرمجة القسم الثاني. سنستخدم نفس تقنية البرمجة ونفس قاعدة البيانات لكلا القسمين. أرجو منكم مشاركة آرائكم حول إمكانية تقسيم العمل بهذه الطريقة، مع ذكر أي ملاحظات أو نصائح قد تفيدنا في عملية البرمجة. شكرًا لكم.1 نقطة
-
بالطبع من الأفضل تقسيم المهام وذلك هو النهج الصحيح عند تطوير مشاريع كبيرة، ولذلك فوائده: تقسيم العمل إلى أقسام أصغر يجعل عملية البرمجة أكثر سهولة وإدارة. يمكن لفريق العمل التركيز على وظائف محددة دون الحاجة إلى فهم جميع جوانب التطبيق. العمل على القسمين بشكل متزامن، مما يسرع عملية التطوير. يصبح من السهل إصلاح الأخطاء وتحديث الوظائف في كل قسم على حدة. تطوير واختبار كل خدمة بشكل مستقل دون التأثير على الخدمات الأخرى. ويجب تصميم التطبيق بشكل يسمح بتقسيمه إلى قسمين بشكل فعال. يجب أن تكون الوظائف العامة موجودة في قسم واحد فقط، بينما يجب أن تكون الوظائف الخاصة بكل خدمة موجودة في القسم الخاص بها، وبالطبع استخدام نظام إدارة الإصدارات لتتبع التغييرات التي يتم إجراؤها على كل قسم. مع وجود تواصل فعال بين فريق العمل في كل قسم لضمان التكامل بين الوظائف المختلفة، أيضًا اختبار التطبيق بشكل شامل للتأكد من أن جميع الوظائف تعمل بشكل صحيح في كل قسم. وبالطبع يوجد أدوات خاصة بإدارة المشاريع مثل منصة أنا وTRELLO وغيرهم.1 نقطة
-
هل تعلم البرمجة باللغة العربية كمجال جديد بالنسبة لي سوف يؤهلني للحصول على وظيفة فيما بعد علما أني متواجد حديثا بالولايات المتحدة و لغتي الإنجليزية متوسطة1 نقطة
-
لتعلم البرمجة بشكل عام لا يهم إذا كنت ستتعلمها من خلال دورات باللغة العربية أو باللغة الإنجليزية بعيداً عن المحتوى أو الجودة وما إلى ذلك ولكن تعلم البرمجة عموماً ليس مهم به اللغة المستخدمة في الشرح لاحقاً ستحتاج للغة الإنجليزية بالتأكيد حيث أن المصادر متوفرة باللغة الإنجليزية أكثر من أي لغة أخرى مثل حل للمشكلات التي تواجهك أو قراءة توثيق للغة معينة كم أنه ستحتاج اللغة الإنجليزية للعمل بما أنك بالولايات المتحدة فبالتأكيد يجب أن تكون قادر على التواصل بشكل جيد على الأقل لذلك تعلمك للبرمجة باللغة العربية ليست عائق لك في مرحلة التوظيف إطلاقاً1 نقطة
-
تعلم البرمجة (أو أي علم تقني آخر) وتعلم الإنجليزية شيئان مختلفان في الأصل، وإن كان بينهما تقاطع كبير. إذا كانت العربية هي لغتك الأم فسوف تستطيع فهم الدروس الموجودة هنا على أكاديمية حسوب بشكل جيّد، كما أنّها لن تجعلك منعزلا عن بقية العالم لأن المدرّسين يذكرون غالبا المصطلح الإنجليزي الأصلي عند استخدام المصطلح العربي المترجم. فعندما يتم تدريس الدوال، يخبرونك أن اسمها بالإنجليزية functions، وعند تدريس الأصناف، يذكرون أن اسمها classes، وهكذا. أمّا مسألة الحصول على وظيفة فهذه تعتمد على نوع الوظيفة، فإن كنت مثلا مهندس برمجيات في شركة ليست أصلا في قطاع المعلوماتية (مثل شركات صناعة المواد الغذائية أو نقل البضائع...) وخاصة إذا لم تكن في دولة متقدّمة، فهنا لا يهتمون عادة بالأمور التقنيّة الدقيقة وضبط المصطلحات، بل يوظفون عددا قليلا من المبرمجين لإدارة مواردهم ويتركون لهم حريّة العمل. أمّا في الشركات التي تعمل في قطاع المعلوماتية فهذه شروطها أصعب، فهم يهتمون كثيرا بالتقنيات المستخدمة وطريقة العمل والتواصل مع الفريق وغير ذلك، مما يجعل العمل صعبا عند عدم التمكن من اللغة التقنية، وعادة ما يشترطون التمكّن من اللغة الإنجليزية ويختبرون المترشّح للعمل في ذلك. لكن بما أنك متواجد في الولايات المتحدة، فأنت ستحتاج إلى الإنجليزية على أيّة حال، حتى لو لم يتم توظيفك في أي من هذه الشركات. لذلك عليك أن تعمل على تطوير لغتك، وهذا سينعكس إيجابا على تذكرك للمصطلحات التقنية التي تتعلمها. أضف إلى ذلك، عندما تصل إلى مستوى متوسط في البرمجة، فستكون مضطرا إلى قراءة الكثير من التوثيقات والبحث عن المشاكل التي تواجهك، ومعظم المحتوى الذي ستجده على الشبكة سيكون بالإنجليزية فقط، لذلك عليك التحضير لذلك من البداية.1 نقطة
-
تقسيم برمجة التطبيق كاملة إلى قسمين فقط قد لا يكون كافيا برأيي، شخصيا أفضل استخدام منهجية أجايل سكرام في تقسيم وتنظيم العمل في مختلف مشاريعي البرمجية، فمنهجية أجايل سكرام هي منهجية لإدارة المشاريع تعتمد على تقسيم العمل إلى دورات قصيرة (عادة ما تكون أسبوعين) تسمى "سبرينت". في كل سبرينت، يتم تحديد مجموعة من المهام التي يجب إنجازها، ويقوم الفريق بالعمل عليها بشكل تعاوني. ومن مميزاتها أنها: مرنة أكثر: لكونها تسمح بإجراء تغييرات على المهام بسهولة أكبر لأنها تعتمد على التقييمات المتكررة والتكيف مع التغييرات. تركيز أكبر على التعاون: لأنها تشجع على التعاون بين أعضاء الفريق، مما يساهم في تحسين جودة العمل. تسليم أسرع: تساعد على تسليم نتائج العمل بشكل أسرع لاعتمادها على تقسيم العمل إلى دورات قصيرة. تحسين التواصل: تشجع على التواصل الفعال بين أعضاء الفريق من أجل تجنب المشاكل وتقليل المخاطر. أعتقد أن استخدام منهجية أجايل سكرام في تقسيم العمل في برمجة التطبيقات الكبيرة يمكن أن يساهم بشكل كبير في تحسين كفاءة العمل وسرعة التسليم وتحسين جودة التطبيق، وهذه بعض المصادر المهمة التي يمكنها أن تساعدك على اختيار المنهجية المناسبة:1 نقطة
-
ماهو الفرق في الاستخدام بين ' و " ضمن الدالة print1 نقطة
-
وعليكم السلام ورحمة الله، مكتبة packaging لها العديد من الفوائد: 1- تساعد في إنشاء حزم بايثون قابلة للتثبيت: فبعدما قمت بتطوير برنامجك، بالتأكيد تريد أن تذهب به إلى العميل وتقوم بتثبيته على جهازه، لذلك يتوجب عمل حزمة (أي ملفات تثبيت) ومن خلالها نستطيع تشغيل البرنامج عند العميل، وبهذا يمكن لعملائك تثبيت برنامجك بسهولة، ودون الحاجة لتثبيت لغة البرمجة بايثون. 2- قابلية التوسع: تعني أن مكتبة packaging توفر واجهة برمجة تطبيقات (API) تسهل إنشاء حزم بايثون متقدمة. يمكن للمطورين توسيع هذه المكتبة باستخدام أدوات خارجية مثل setuptools و Poetry. مثال: يمكنك استخدامها لإنشاء حزمة تثبيت تحتوي على مكتبات مخصصة للتعامل مع قواعد البيانات، أو الواجهات الرسومية، أو أي مجال آخر. 3- تطوير حزم بايثون متطورة ومشاركتها: عندما نتحدث عن تطوير حزم بايثون، نقصد إنشاء مكتبات أو أدوات قابلة للتوزيع والاستخدام بواسطة المطورين الآخرين. ما الفائدة من عمل هذا؟ الفائدة أنك تقوم بمشاركة برنامجك مع المبرمجين الآخرين فيتمكنوا من تطوير برنامجك معك (فيصبح مفتوح المصدر). كيف يتم ذلك؟ بعد إنشاء الحزمة، يمكنك مشاركتها مع المجتمع البرمجي عبر منصات مثل PyPI (Python Package Index). بهذا أنت قمت بإنشاء برنامج وشاركته مع المبرمجين الآخرين، مما يساهم في تطوير وتبادل الخبرات بين المطورين. أمثلة لبرامج مفتوحة المصدر تستخدم هذا الأسلوب: هناك العديد من المشاريع المفتوحة المصدر التي تستخدم حزم بايثون متطورة. إليك بعض الأمثلة: Django: إطار عمل بايثون لتطوير تطبيقات الويب. Flask: إطار عمل خفيف لتطبيقات الويب. Pandas: مكتبة لتحليل ومعالجة البيانات. Requests: مكتبة لإجراء طلبات HTTP بسهولة. Matplotlib: مكتبة لرسم الرسوم البيانية والرسوم البيانية. هذه المشاريع تعتبر مفتوحة المصدر، ويمكن للمطورين المساهمة في تطويرها وتحسينها فكما رأينا أن هذه المكتبة مفيدة جدًا في العديد من المواقف.1 نقطة
-
لا مشكلة لو قمت بتنفيذ تصميم من نفسك، المطلوب هو تنفيذ المشروع المطلوب بتصميم مقبول، ومن المفترض أنك خلال الدورة تعلمت كيف يكون شكل الموقع والتصميم الخاص به وأشكال الأقسام. ولمساعدتك أنصحك بالإطلاع على المقالات التالية: ثم نأتي لخطوة استلهام التصميم، والتي تتطلب تغذية بصرية لإختيار أشكال الأقسام في موقعك من عدة تصاميم مختلفة أي تجميع التصميم من خلال عدة تصاميمـ، وقد تصادف تصميم مناسب للفكرة التي تريد تنفيذها ولا مشكلة في ذلك لكن حاول التعديل عليه قليلاً أو ذكر أنك لم تقم بتصميم الجزء الخاص بالـ UI/UX بل كتبت الكود فقط لحفظ الحقوق، وستجد مواقع كثيرة لاستلهام التصميم هنا: وبخصوص الألوان أنصحك بالإعتماد على الموقع التالي في البداية فهو يوفر لك قوالب للألوان لتختار من بينها: https://www.happyhues.co/ والموقع التالي أيضًا: https://coolors.co/palettes/trending ومع الوقت ستتحسن لديك مهارة التصميم من خلال التغذية البصرية والتطبيق، ولكن أنصحك بتعلم أساسيات تصميم واجهة المستخدم فيما بعد فهو أمر ضروري لمطور الواجهات الأمامية، وذلك من خلال القنوات التالية: Ahmad Sekmani Anas Rafaat | أنس رأفت وستجد معلومات مفيدة هنا أيضًا: وإذا كان لديك أي استفسار بخصوص مشروع التخرج وتريد التواصل مع المدرب المسؤول عن مشروعك، فتستطيع التحدث مع مركز المساعدة في أكاديمية حسوب.1 نقطة
-
يتناول هذا المقال، الأول من سلسلة دروس عن لغة الاستعلام البنائية Structured Query language التي تعرف بالاختصار المشهور SQL، مفهوم قواعد البيانات، وماذا نقصد بأنظمة إدارة قواعد البيانات، وما هو الجدول، وما هي خصائص قواعد البيانات العلاقية. ما هي قاعدة البيانات؟ بطريقة بسيطة مجرّدة من مفاهيم التقنية، قاعدة البيانات هي مكان لحفظ بيانات معينة على نحو مستمر بهدف الرجوع إليها وقت الحاجة، فدفتر أرقام الهواتف الذي كنا نستعمله في الماضي يُعدّ قاعدة بيانات؛ والكم الهائل من الفواتير المحاسبية الورقية المحفوظة في خزانات الأقسام المالية في الشركات قديماً، أيضاً هو قاعدة بيانات. وقِس على ذلك العديد من الأمثلة الواقعية والملموسة. نستنبطُ من هذا التعريف البسيط وجود خاصية هامة لقاعدة البيانات، ألا وهي “الاستمرارية” أو “الدوام” في حفظ البيانات. في الجانب التقني والبرمجي، فإن قاعدة البيانات Database هي عبارة عن مستودع تُحفظ البيانات فيه داخل جهاز الحاسوب أو الخادوم، ويتمتع هذا المستودع بخاصية الاستمرارية في حفظ البيانات. ونعني بخاصية الاستمرارية هنا أنه في حال إطفاء جهاز الحاسوب أو إعادة تشغيله أو انقطاع التواصل معه، فإن قاعدة البيانات وما تحتويه من بيانات تبقى موجودة ومحفوظة دون أي خلل. أنظمة إدارة قواعد البيانات العلاقية تُسمى البرمجيات التي تنشئ وتدير قواعد البيانات بأنظمة إدارة قواعد البيانات (Databases Management Systems) وتكتب بالاختصار DBMS. ما هي أنواع أنظمة إدارة قواعد البيانات؟ تختلف وتتعدد تسميات أنواع أنظمة إدارة البيانات، وهذا الاختلاف نابع بالدرجة الأولى من تقدم الزمن وما صاحبه من تقدم في العلوم والتقنيات، ومن ثم بالدرجة الثانية، ينبع الاختلاف من التقنيات والخصائص المتعددة لهذه الأنظمة وما تقدمه من خدمات. تنقسم أنواع أنظمة قواعد البيانات إلى ثلاثة أنواع رئيسية. نظام قاعدة البيانات الملف والواحد Flat File Database: يعدّ هذا النوع من الأنظمة قديما ومن النادر أن تجد أحدا يعمل عليه إلى الآن، وهو ببساطة قاعدة بيانات من ملف واحد كبير يحتوي على كل البيانات، وهو يشبه جدول واحد به كل البيانات. نظام إدارة قاعدة البيانات غير العلاقية Non-Relational DBMS :ظهر هذا النوع من أنظمة قواعد البيانات في ظل عصر تضخم البيانات وزيادة حجمها، وخاصة مع انتشار ما يسمى بالمواقع الاجتماعية وتطبيقات الجوال وصفحات الوب الحديثة، فهذا النوع من الأنظمة يسمح بحفظ بيانات غير مرتبة وفق بنية معينة Unstructured Data، وليس من الشرط أن تترابط هذه البيانات Not relational، كما يطلق عليها No-SQL Databases. نظام إدارة قاعدة البيانات العلاقية Relational DBMS: وهو النوع الأشهر والأكثر استخداما منذ بداية ظهوره والذي سنعتمده في هذه السلسلة لشرح SQL، حيث تُجمَّع في هذا النوع من الأنظمة البيانات التي لها علاقة ببعضها البعض في مكان واحد يسمى الجدول، مع وجود الإمكانية لربط الجداول مع بعضها البعض بعلاقات ترابط. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن ما هو الجدول؟ يُعدّ الجدول العنصر الأساسي في قواعد البيانات العلاقية، وعليه تعتمد أغلب مكونات قاعدة البيانات من مشاهد Views ودوال Functions وحِزم Packages وغيرها من العناصر الأخرى. يتكون الجدول من أعمدة Columns وصفوف Rows، حيث تمثل الأعمدة ما يسمى بالخصائص Features، والصفوف عبارة عن القيم التي تأخذها الأعمدة وتسمى بالسجلات Records. يوضح الشكل التالي مثالا لجدول يحتوي على بيانات تواريخ ميلاد وأسماء طلاب في مدرسة، وفي المثال نوضح مكونات الجدول في قاعدة البيانات. خصائص قواعد البيانات العلاقية ومميزاتها ظلت قواعد البيانات العلاقية مسيطرة منذ بدايات ظهور النموذج الأساسي لها عام 1970 على يد عالم الحاسوب Frank Codd أثناء عمله لصالح شركة IBM، ولم تكن هذه الأفضلية التي يتمتع بها نظام قواعد البيانات العلاقية تأتي من فراغ، بل من الخصائص التي تتمتع بها. البساطة تُرتَّب البيانات في أنظمة قواعد البيانات العلاقية وتُحفَظ بطريقة بعيدة عن التعقيد، حيث يعدّ الجدول الذي تُحفظ فيه البيانات مفهوما لأغلب المستخدمين وخاصة الذين مارسوا أعمالا في مجال البيانات المجدولة أو مراجعة السجلات. سهولة الاستعلام عن البيانات بعد عمليات الإضافة على قاعدة البيانات، وعند الحاجة للرجوع لها، فإن نظام قواعد البيانات العلائقية يوفر آلية سهلة للاستعلام عن هذه البيانات واستردادها، وذلك عن طريق لغة SQL، بالإضافة إلى وجود الإمكانية للمستخدم أن يستعلم عن البيانات من أكثر من جدول في نفس الوقت باستخدام جمل الربط Joins. كما أن خاصية ترشيح Filtering البيانات وتحديد شروط خاصة لظهور سجلات معينة هو أمر متاح بكل سهولة. سلامة البيانات تعدّ هذه الخاصية أساسية في أي نظام قواعد بيانات بغض النظر عن نوعه. ونعني بهذه الخاصية أن تتوفر جميع القدرات والإمكانات في نظام قواعد البيانات لضمان دقة وصحة المعلومات الموجودة فيه. ويندرج تحت هذه الخاصية ما يسمى بقيود التكامل Integrity constraints والتي هي عبارة عن مجموعة من القيود التي يجب الالتزام بها عند التعامل مع البيانات في الجدول، وسنتكلم عنها في مقال متقدم. المرونة تتمتع قواعد البيانات العلاقية بطبيعتها بالمرونة والقابلية للتطوير، مما يجعلها قابلة للتكيف مع طلبات التغيير والزيادة في كم البيانات. وهذا يعني مثلا أنك تستطيع التغيير على هيكلية جدول معين دون التأثير على البيانات الموجودة فيه أو على قاعدة البيانات ككل، كما أنك – مثلا - لن تحتاج إلى وقف قاعدة البيانات وإعادة تشغيلها مرة أخرى لتنفيذ بعض لتغييرات عليها. ما هي البرمجيات التي تقدم قواعد البيانات العلاقية؟ تَتَعدد الشركات والبرمجيات التي تُقدم أنظمة إدارة قواعد البيانات، وكل منها له سوقه ومجاله الذي يشتهر به. نُقدم لكم في الفقرات القادمة بعضًا من أشهر أنظمة إدارة قواعد البيانات العلاقية. قواعد بيانات MySQL أحد أشهر أنظمة قواعد البيانات العلاقية مفتوحة المصدر. تستطيع إنشاء العديد من قواعد البيانات بداخلها، وتستطيع الوصول لها عبر الوِب. تَعمل MySQL على هيئة خِدمة Service تُتيح لأكثر من مستخدم الوصول إلى أكثر من قاعدة بيانات، وتشتهر بين معشر مبرمجي تطبيقات الوِب لارتباطها الشائع مع لغة البرمجة PHP، ويمكن تنصيبها على أكثر من نظام تشغيل مثل وندوز أو لينكس أو ماك. تعدّ MySQL الخيار المفضل للشركات الناشئة أو المتوسطة وذلك لسهولة التعامل معها وانخفاض تكاليف تشغيلها مقارنة بخيارات أخرى. قواعد بيانات أوراكل Oracle تعدّ شركة أوراكل عملاق الشركات البرمجية التي تقدم أنظمة إدارة قواعد البيانات العلاقية، وتأتي قاعدة البيانات أوراكل بأكثر من إصدار (حسب البيئة والغرض) تبدأ من الإصدار الشخصي والخفيف، وتنتهي بالإصدار المتقدم Enterprise. تتميز قواعد بيانات أوراكل بكم كبير من الإمكانات التي تسهل عليك حل العديد من المشاكل والعقبات في التطبيقات التي تديرها وتنشئها، مع وجود دعم فني قوي عبر مجتمع أوراكل، لذلك فهي تعتبر الخيار الإستراتيجي (البعيد المدى) للعديد من الشركات الكبيرة والجامعات والحكومات. قواعد بيانات مايكروسوفت Microsoft SQL Server من قواعد البيانات الشهيرة، والذي تأتي أيضا بأكثر من إصدار، لتلبي احتياجات المستخدمين المختلفة وبيئات عملهم، ولكي تتعامل مع البيانات في هذا النوع تحتاج لاستخدام النسخة الخاصة من SQL والمسماة T-SQL اختصارا ل Transact SQL والتي هي عبارة عن نسخة SQL مضاف عليه ادوال خاصة وتعديلات على طريقة حذف وتعديل السجلات. قواعد بيانات PostgreSQL قواعد بينات PostgreSQL من قواعد البيانات العلاقية المفضلة لدى بعض مطوري تطبيقات الوِب وتطبيقات سطح المكتب، وهو نظام إدارة قواعد بيانات مفتوح المصدر. توجد الكثير من الشركات الكبيرة والعاملة في مجال نطاقات إنترنت تعتمد على هذا النوع من قواعد البيانات.1 نقطة
-
يتساءل الكثير من العامة والمبرمجين حول معنى الويب، وطريقة عمله ومتصفحاته. لذا نقدم في هذا الفيديو فكرةً عامة عن الويب ومكوناته الرئيسية. بعد أخذك للمحة عامة حول مواقع الويب وآلية عملها، يمكنك الاطلاع على مقالات مفصلة أكثر تخص مواقع الويب وتطويرها وتصميمها عبر أكاديمية حسوب، كما يمكنك الاشتراك ضمن دورة أكاديمية حسوب لتطوير واجهات المستخدم، لتعلم كيفية تطوير مواقع الويب بواجهاتها الأمامية.1 نقطة
-
تُعد أسماء النطاقات جزءًا مفتاحيًا من أجزاء البنية التحتية للإنترنت، فهي التي تزوّد المستخدم بعناوين مقروءة لأي خادم ويب موجود على الإنترنت. يمكن الوصول إلى أي حاسوب متصل بالإنترنت من خلال عنوان آي بي IP Address سواء بنسخته الرابعة IPv4 (مثل 173.194.121.32) أو السادسة IPv6 (مثل 2027:0da8:8b73:0000:0000:8a2e:0370:1337 ). يمكن أن تتعامل الحواسيب مع هذه العناوين بسهولة، ولكن الأمر صعب بالنسبة للمستخدم الذي يحاول إيجاد من يدير الخادم أو ما هي الخدمات التي يقدمها موقع ويب، فعناوين آي بي صعبة التذكر ويمكن أن تتغير مع الوقت. لحل هذه الإشكالات نستخدم عناوين سهلة على المستخدمين ومقروءة تدعى أسماء النطاقات. إذًا، نهدف في هذا المقال إلى التعرف على مفهوم اسم النطاق Domain Name وكيف يعمل وأهميته في تقانة الويب. ننصحك قبل الشروع في قراءة المقال أن تطلع على مقال كيف تعمل شبكات الإنترنت؟، وأن تكون تفاصيل عنوان URL واضحة بالنسبة لك. بنية أسماء النطاقات يتكون اسم النطاق من بنية بسيطة مكونة من عدة أجزاء، ويمكن تتكون من جزء واحد فقط أو اثنين أو ثلاثة …إلخ، وتفصل بينها نقاط وتقرأ من اليمين إلى اليسار: يزودنا كل جزء من هذه الأجزاء بمعلومات محددة عن اسم النطاق عمومًا. نطاق المستوى الأعلى TLD توضح نطاقات المستويات الأعلى Top-Level Domain واختصارًا TLD الغاية من الخدمة التي يقدمها النطاق عمومًا. لا تتطلب أكثر النطاقات العليا شيوعًا (com. وorg. وnet.) أية خدمات ويب لتحقق معايير محددة، بالمقابل تطبق بعض النطاقات العليا الأخرى سياسات أكثر صرامة، وبالتالي ستكون الغاية من استخدام هذه النطاقات واضحة أكثر. يمكن أن تفرض النطاقات العليا المحلية (الخاصة بالدول) مثل us. أو fr. أو se. أن تكون الخدمات أو الموارد بلغة محددة، أو مُستاضفة في بلد محدد، بينما لا يُسمح باستخدام النطاقات العليا gov. إلّا للمنظمات الحكومية، وكذلك الأمر بالنسبة للنطاقات التي تتضمن edu، فهي مسموحة للاستخدام مع المؤسسات التعليمية والأكاديمية فقط. تتكون أسماء النطاقات العليا من 36 محرفًا كحد أقصى علمًا أن معظمها مكون من محرفين أو ثلاثة، كما يمكن أن تضم محارفًا خاصة مثل الأحرف اللاتينية. يمكنك الاطلاع على القائمة الكاملة بأسماء النطاقات العليا على موقع ICANN. العنوان (أو المكون) تأتي العناوين بعد أسماء النطاقات العليا مباشرة على شكل سلسلة من المحارف غير الحساسة لحالة الأحرف والتي يمكن أن يتراوح عددها بين محرف وحتى 63 محرفًا. تتضمن هذه المحارف الحروف الأبجدية اللاتينية من A حتى Z والأرقام من 0 حتى 9 والمحرف - الذي لا يجوز أن يتواجد في بداية أو نهاية سلسلة المحارف. يمكن أن يكون العنوان على سبيل المثال a أو 97 أو hello-strange-person-16-how-are-you. يُدعى العنوان الأقرب إلى النطاق الأعلى بنطاق المستوى الثاني Secondary Level Name واختصارًا SLD، ويمكن لاسم النطاق أن يضم عدة عناوين (أو مكونات). ليس من الضروري إطلاقًا أن يتكون اسم النطاق من ثلاثة عناوين، فاسم النطاق www.inf.ed.ac.uk هو اسم صحيح، كما أن اسم النطاق hsoub.com صحيح أيضًا. وتجدر الإشارة إلى إمكانية إنشاء نطاقات فرعية Subdomains وهي مواقع ويب لها محتوياتها الخاصة ضمن الموقع ذاته باستخدام العناوين كالتالي: Academy.hsoub.com أو accounts.hasoub.com. شراء اسم نطاق بعد أن تعرفنا على هيكلية أسماء النطاقات لنتعرف كيف يمكننا شراء نطاق معين. من يمتلك أسماء النطاقات؟ يمكن شراء أي اسم نطاق غير محجوز وفي حال كان اسم نطاق مستخدم بالفعل فلا يمكنك شراءه حتى يتخلى صاحبه عنه، بالاضافة إلى ذلك لا يمكننا شراء النطاق إلى الأبد لأن ذلك سيؤدي لامتلاء الويب بأسماء غير مستخدمة ومغلقة لا يمكن استخدامها مجددًا. بدلًا من شراء أسماء النطاقات للأبد يمكنك دفع مبلغ معين مقابل حصولك على حق استخدام اسم النطاق الذي تريده لمدة زمنية محددة (عام أو أكثر)، كما يمكنك تجديد حق الاستخدام والذي سيمنح الأولوية لطلبك على طلبات الآخرين، ولكن تذكر بأنك لا تملك اسم النطاق هذا للأبد. تستخدم بعض الشركات التي تُدعى "مُسجِّلات Registrar" سجلات أسماء النطاقات لتتبع المعلومات التقنية والإدارية التي تربطك باسم النطاق الذي تحجزه. العثور على اسم نطاق لتتأكد أن اسم النطاق الذي تختاره متاح للاستخدام أم محجوز اتبع الخطوات التالية: ادخل على موقع شركة مسجّلة فهي تقدم خدمة تدعى “whois” أو "هو إز" تخبرك عن توفر اسم نطاق معين أم لا. إن كنت تستخدم نظام تشغيل مزوّد بمفسّر أوامر Shell، افتح المفسر واكتب الأمر whois يتبعه اسم النطاق ثم اضغط الزر "Enter". إليك مثالًا عمليًا وليكن اسم النطاق الذي نريد البحث عنه هو hsoub.com سيكون الأمر والنتيجة على الشكل التالي: $ whois Hsoub.com Domain Name: HSOUB.COM Registry Domain ID: 1623716742_DOMAIN_COM-VRSN Updated Date: 2019-09-29T14:11:16Z Creation Date: 2010-11-03T21:39:38Z Registrar Registration Expiration Date: 2028-11-03T21:39:38Z Registrar: Name.com, Inc. Registrar IANA ID: 625 Reseller: Domain Status: clientTransferProhibited Registry Registrant ID: Not Available From Registry Registrant Name: Whois Agent Registrant Organization: Domain Protection Services, Inc. Registrant Street: PO Box 1769 Registrant City: Denver Registrant State/Province: CO Registrant Postal Code: 80201 Registrant Country: US Registrant Phone: +1.7208009072 Registrant Fax: +1.7209758725 Registrant Email: https://www.name.com/contact-domain-whois/hsoub.com كما ترى، لا يمكن تسجيل اسم النطاق لأن شركة "حسوب Hsoub" حجزته بالفعل. لنرى إن كان بالإمكان تسجيل اسم النطاق afunkydomainname.org: $ whois afunkydomainname.org NOT FOUND كما ترى لا وجود لاسم النطاق هذا في قاعدة بيانات whois (حتى لحظة الكتابة) وبالتالي يمكنك الاستعلام عنه وحجزه! الحصول على اسم نطاق العملية مباشرة وفق الخطوات التالي: افتح موقع ويب إحدى الشركات المسجِّلة. ستجد عادة زر أو رابط دائمًا بعنوان "احصل على اسم نطاق Get a domain name". إملأ الاستمارة التي تظهر بالمعلومات المطلوبة، وتأكد من أنك لم تخطئ كتابة اسم النطاق الذي ترغب بحجزه، فبمجرد أن تدفع لن تتمكن من التراجع! ستعلمك الشركة المسجّلة متى أصبح اسم النطاق الذي حجزته مسجّلًا وجاهزًا للاستخدام. خلال عدة ساعات ستتعرف كل خوادم أسماء النطاقات Domain Name System اختصارًا DNS على معلومات اسم النطاق الذي حجزته. تحديث خوادم أسماء النطاقات تُخزن قواعد بيانات دي إن إس في جميع خوادم أسماء النطاقات في العالم وترتبط هذه الخوادم جميعها بعدة خوادم خاصة تدعى "خوادم أسماء النطاقات الموثقة Authoritative Name Servers" أو "خوادم دي إن إس المستوى الأعلى Top-Level DNS Servers" وهذه الخوادم بمثابة المدراء للمنظومة ككل. عندما تسجل أي شركة مسجّلة اسم نطاق أو تحدث اسمًا موجودًا فلا بدّ من تحديث المعلومات في قواعد البيانات لجميع خوادم أسماء النطاقات. فعندما يعرف خادم أسماء النطاقات بوجود اسم نطاق ما فسيخزنُ معلوماته لبعض الوقت قبل أن يتأكد من سلامتها ثم يحدّثها (يستعلم خادم أسماء النطاقات من خادم أسماء النطاقات الموثوقة عن اسم النطاق ويحضر المعلومات المحدثة منه). لهذا تستغرق العملية بعض الوقت ليحصل خادم أسماء النطاقات على المعلومات المحدثة لاسم نطاق مسجل لديه (يعلم بوجوده). آلية عمل استعلام دي إن إس DNS كما رأينا سابقًا من السهل أن تكتب اسم النطاق في شريط عنوان المتصفح عندما تريد الوصول إلى صفحة ويب بدلًا من عنوان آي بي لها. لنلق نظرة على العملية: اكتب مثلًا Hsoub.com في شريط عنوان متصفحك. يسأل المتصفح حاسوبك إن كان على دراية بعنوان آي بي الذي يحدده اسم النطاق الذي كتبته (من خلال البحث في ذاكرة دي إن إس مؤقتة على الحاسوب). إن وجدت المعلومات يترجم المتصفح اسم النطاق إلى عنوان آي بي الموجود في الذاكرة المؤقتة ثم يحضر المتصفح المحتوى المطلوب من الخادم المحدد بعنوان آي بي. إن لم يتعرف حاسوبك على عنوان آي بي المرتبط باسم النطاق الذي كتبته سيتوجه المتصفح إلى خادم أسماء النطاقات لسؤاله، لأن عمله بالتحديد هو معرفة عنوان آي بي لكل اسم نطاق مسجل لديه. يعرف حاسوبك الآن عنوان آي بي المطلوب وبالتالي سيتمكن المتصفح من إحضار المحتوى المطلوب من خادم ويب الصحيح. ترجمة -وبتصرف- للمقال What is a Domain Name. اقرأ أيضًا الفرق بين صفحة الويب وموقع الويب وخادم الويب ومحرك البحث. ما هي الأدوات المستخدمة في بناء مواقع ويب؟ ما التكلفة المادية الكاملة لبناء موقع ويب؟ ما هي أدوات مطوري الويب المدمجة في المتصفحات؟1 نقطة