المحتوى عن 'سلاسل تعليمية'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • React
    • AngularJS
    • Vue.js
    • jQuery
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • لغة C#‎
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ‎.NET
    • ASP.NET
  • الذكاء الاصطناعي
  • صناعة الألعاب
    • Unity3D
    • منصة Xamarin
  • سير العمل
    • Git
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خوادم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
  • أساسيات استعمال الحاسوب
  • مقالات عامة

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 4 نتائج

  1. PostgreSQL – تُعرَف أيضا بـ Postgres – هي نظام مفتوح المصدر لإدارة قواعد البيانات. تُستخدم لتخزين البيانات مهما كان حجمها، وتتميز بكفائتها وأدائها العالي وغناها بالميزات والوظائف. تُعد PostgreSQL أفضل أنظمة قواعد البيانات مفتوحة المصدر وأكثرها شعبية على مستوى العالم. هل تريد أن تتعلم PostgreSQL ولكن لا تعرف من أين تبدأ؟ لقد جئت إلى المكان الصحيح. هذا المرجع هو دليلك الشامل إلى تعلم PostgreSQL، إذ يستعرض عددًا كبيرا من الدروس العربية الممتازة التي ستتعلم فيها أساسيات PostgreSQL، علاوة على الكثير من الدروس التطبيقية المتقدمة. تاريخ PostgreSQL ظهرت PostgreSQL سنة 1982، وكانت نتيجة لمشروع Ingres في جامعة كاليفورنيا. ثمّ قرر قائد فريق العمل في مشروع Ingres إنشاء نسخة تجارية منها، وبدأ مشروع post-Ingres (أي ما بعد Ingres)، لهذا هناك من يسميها Postgres. انكبّ العاملون في مشروع post-Ingres على تطويرها وإضافة الكثير من المزايا المهمة إليها. وقد خرج الإصدار الأول منها سنة 1989، ثم توالت الإصدارات وتزايدت شعبيتها وعدد مستخدميها باطراد. عرفت سنة 1994 حدثا مهما لمستخدمي Postgres، وهو أنّها أصبحت تُوزَّع وفق رخصة MIT الحرة والمجانية، وهذا أدى إلى إقبال المزيد من المطورين للمساهمة في تطوير Postgres والتعديل عليها بحرِّية. أعيدت تسمية Postgres سنة 1996 ليصبح PostgreSQL للدلالة على دعمها للغة الاستعلامات البنيوية SQL. فيما تُستخدَم PostgreSQL؟ تُستخدم PostgreSQL في العديد من المجالات، سواء في القطاع الأكاديمي أو التجاري. يبين المبيان التالي أكبر عشر مجالات تُستخدم فيها PostgreSQL: مصدر الصورة يوضح المبيان تنوع استخدامات PostgreSQL في مختلف القطاعات، خصوصا في مجالي البرمجيات وتقنيات المعلومات، علاوة على القطاعات الصحية والمالية والتعليم والتسويق. وهذا ناتج عن طبيعة PostgreSQL، فهي مفتوحة المصدر، ما يجعلها مرنة وقابلة للتطوير والتوسيع والتخصيص. إضافة إلى ذلك فهي آمنة وموثوقة تضاهي أنظمة قواعد البيانات المدفوعة، ما يجعلها مثالية للشركات والمشاريع في مختلف المجالات. يُقدّر عدد الشركات التي تستخدم PostgreSQL بحوالي 48500 شركة [1]. ومن أشهر هذه الشركات Apple وDebian و Sun Microsystem و Skype وغيرها. لماذا PostgreSQL؟ توفر PostgreSQL العديد من الميزات المهمة والمفيدة التي تجعلها خيارًا مثاليا للمطورين وأصحاب المشاريع. وهذه بعضها: مفتوحة المصدر ومجانية: هذا يعنى أنّه يمكنك استخدامها بدون أيّ تكاليف أو رسوم، كما يمكنك التعديل عليها بحرّية. قابلة للتخصيص: أحد مزايا البرامج مفتوحة المصدر أنّها تعطيك حرية كبيرة وتحكمًا عميقًا في البرامج. و PostgreSQL ليست استثناء، إذ تتمتع بمرونة كبيرة، فهي تتيح مثلًا تعريف أنواع بيانات جديدة وتعريف دوال مُخصّصة. كما أنّها متكاملة مع العديد من لغات البرمجة الأخرى. تعدد أنواع البيانات: تدعم PostgreSQL الكثير من أنواع البيانات، سواء العددية أو النصية أو المنطقية. علاوة على البيانات المركبة، مثل المصفوفات والمجالات والتواريخ والبيانات الهندسية و تنسيقات الملفات، بما فيها JSON و XML و CSV. التوافق مع مواصفات SQL: تتوافق PostgreSQL مع معظم مواصفات SQL، إلا أنّها لا تلتزم بها حرفيا، فمطورو PostgreSQL يخالفون أحيانا مواصفات SQL إن كانت تتعارض مع الميزات التقليدية التي تتيحها PostgreSQL، أو إن وجدوا حلولًا أفضل. دعم جميع اللغات: تدعم PostgreSQL جميع اللغات العالمية، بما فيها اللغة العربية. متعدد المنصات: PostgreSQL متعددة المنصات، ويمكن أن تستخدمها على جميع أنظمة التشغيل المشهورة، بما فيها نظام ويندوز ويونيكس وماك و Solaris و BSD. البحث والتنقيب: تدعم PostgreSQL تشكيلة كبيرة من التعابير النمطية (regex)، ما يجعلها مثالية للبحث والتنقيب في البيانات وتحليلها. الشعبية: PostgreSQL هي أكثر قواعد البيانات مفتوحة المصدر شعبية على صعيد العالم، والثانية من بين جميع أنظمة قواعد البيانات كما يشير آخر استطلاع لموقع stackoverflow: أكثر قواعد البيانات شعبية على صعيد العالم. محبوبة من المطورين: في الاستطلاع نفسه، حلت PostgreSQL في المرتبة الثانية في قائمة أحب أنظمة قواعد البيانات إلى المطورين. أكثر قواعد البيانات المحبوبة دعم أطر العمل: تدعم PostgreSQL أكثر من 80 إطار عمل، لذا لن تضطر على الأرجح لتعلم إطار عمل جديد، فمهما كان إطار العمل الذي تعمل به، فعلى الغالب أنّها تدعمه. التزامن: نظام PostgreSQL متزامن، إذ أنّه يمنح لكل عملية نسخة أو عينة من قاعدة البيانات، وهذا يتيح القيام بعدة عمليات على قاعدة البيانات دون أن تتداخل فيما بينها. هل تريد أن تتعلم PostgreSQL بسرعة وسهولة لاستخدامها في تطبيقاتك وبرامجك؟ سوف نستعرض فيما بقي من هذا الدليل مجموعة متنوعة من المقالات والدروس العربية المتكاملة التي تجمع بين الجانبين النظري والعملي. @media screen and (min-width: 650px) { .response_image { width: 33%; display: inline-block; vertical-align: top; margin-top: 0px; } .response_descrip { width: 64%; display: inline-block; margin-right: 10px; vertical-align: top; margin-top: 0px; } } سلسلة "دليل postgreSQL العملي" لا يخفى على أحد أنّ هناك ضعفا في المكتبة العربية في كل المجالات العلمية والتقنية. خصوصا في مجال البرمجة والتطوير، فهي مجالات متغيرة باستمرار، فسنة واحدة في مجال البرمجة كمثل عشر سنوات في المجالات الأخرى، ففي كل عام تظهر تقنيات وإصدارات جديدة. لأجل هذا أطلقت أكاديمية حسوب مشروعًا طموحا لتوفير العديد من المواد التعليمية الممتازة في مختلف المجالات التقنية، سواء مقالات أو دروسًا أو كتبًا. من ثمار هذا المشروع إعداد أحد أفضل المواد التعليمية العملية المتاحة لتعليم PostgreSQL، المبني على سلسلة مقالات Postgres Guide. يأخذ هذا الدليل بيدك في أمثلة عملية ومتنوعة تغطي أساسيات SQL وأساسيات إدارة قواعد بيانات PostgreSQL، وتمر على مزايا مهمة في PostgreSQL تزيد من فاعلية الاستعلامات ووضوح عبارتها، ويصل هذا الدليل إلى مواضيع متقدمة في إدارة قواعد البيانات كالنسخ الاحتياطي وتتبع استخدام الذاكرة، وبذلك يتميز بأنه مناسب للمبتدئ والمتوسط ويضع قدمك على سكة المستوى المتقدم في قواعد بيانات PostgreSQL. فما يميزه عن غيره، فهو أننا اتبعنا في بداية العمل على هذا الدليل قاعدة باريتو 80/20، حيث حرصنا على تغطية 20% من مواضيع Postgres التي تُستخدَم في 80% من الحالات في الواقع والمجال العملي، إذ حاولنا الابتعاد عن التفاصيل غير العملية أو قليلة الاستخدام، أي أن هذا الدليل لا يتطرق إلى شرح أو استخدام الأدوات المتقدمة والتي قد يندر استخدام بعضها (مذكورة في هذا القسم من التوثيق) ولا يتطرق أيضًا إلى كيفية تطوير Postgres بكتابة شيفرات برمجية خاصة (مذكورة في هذا القسم من التوثيق)، فلم نرد تعليمك شيئًا لن تستخدمه إلا في حالات قليلة (تكون قد نسيتها إلى حين استعمالها ;-) ). وفقًا لذلك، حاولنا جاهدين أن يكون هذا الدليل دليلًا عمليًا ومرجعًا سريعًا للمبرمج، يتعرف فيه على الجزء الأكثر أهمية مما قد يجهله عن قواعد بيانات Postgres ويختبر فيه في ذات الوقت معرفته بالمزايا المتنوعة لقواعد البيانات تلك. باختصار، صُمم ليكون رحلة ممتعة فعالة مليئة بالأمثلة المفيدة الواضحة في قواعد بيانات Postgres. يغطي هذا الدليل ما يلي: لمحة عن الأسس النظرية لقواعد البيانات تغطية فعالة لأساسيات استخدام لغة SQL عمليًّا تغطية شاملة لما تتميز به Postgres عن SQL الصرفة (أي لغة قواعد البيانات العامة) أساسيات إدارة قواعد بيانات Postgres (إدارة الذاكرة، الأداء، النسخ الاحتياطي وغيرها) أهم التعليمات اللازم معرفتها في صَدَفة psql (واجهة سطر الأوامر الخاصة بPostgres) في حال أردت أولًا التعمق في SQL، فننصحك بالبدء بسلسلة «المرجع المتقدم إلى لغة SQL» أولًا فمعلوم أن لغة SQL هي اللغة الأم لقواعد بيانات SQL (ومنها Postgres)، فلن تجد هذا الدليل يتعمق كثيرًا في تعليمات SQL لأننا شرحناها بالتفصيل مسبقًا في تلك السلسلة. ننصحك بعد الانتهاء من هذا الدليل الانتقال إلى كتاب «بوستجريسكل كتاب الوصفات» إن أردت التوسع أكثر في PostgreSQL، فتلك خارطة الطريق التي ننصحك بها لتعلم لغة SQL وقواعد بيانات PostgreSQL من الأساسيات وحتى الاحتراف. سوف نستعرض سلسلة مقالات هذا الدليل، وإن كنت تريد تحميله جملة واحدة على هيئة كتب رقمي، فيمكنك ذلك من هنا. 1. نظرة عامة على Postgres وتاريخها تستعرض هذه المقالة مجموعة من المعارف التاريخية عن Postgres، وعن قواعد البيانات عموما منذ بداية ظهورها وحتى يومنا هذا. مع استعراض بعض مميزات Postgres وخصائصها ونماذج عملها. 2. تثبيت Postgres والتعرف على أساسيات إدارتها لقواعد البيانات يقدم هذا المقال دليلًا شاملًا لأهم جوانب قواعد بيانات Postgres بدءًا من تنزيل التطبيقات اللازمة لإدارة قواعد البيانات وتثبيتها، وانتهاءً ببعض الجوانب المتقدمة في معالجة الجداول مرورًا بمعظم العمليات الأساسية لمعالجة البيانات ضمن قاعدة البيانات. 3. أساسيات استخدام صَدَفة psql صدفة psql هي برنامج الواجهة التفاعلية للاتصال بـ Postgres، سوف نستعرض في هذه المقالة بعض أهم الأوامر المٌستخدمة في صدفة psql لاستعراض قواعد البيانات والجداول والمستخدمين وخصائصهم وتحرير الاستعلامات في محرر النصوص وغيرها. 4. استخدام أساسيات SQL في Postgres تشرح هذه المقالة كيفية إنشاء وتعديل وحذف الجداول، كما تشرح كيفية إدخال البيانات فيها ثم الاستعلام عنها مع ترشيحها والاستفادة من العديد من الأوامر للحصول على المخرجات المطلوبة، وتتطرق إلى عمليات التجميع وتعرض بالأمثلة الواضحة طرق ربط الجداول للحصول على النتائج من مصادر متعددة. 5. مزايا متقدمة في Postgres تستعرض هذه المقالة العرض View وتعابير الجداول الشائعة CTE التي تساهم في تحسين طريقة كتابة الاستعلامات، وذلك بجعلها أقصر وأسهل قراءةً، وتبين كيفية استخدام دوال النوافذ Window Functions التي تسمح بإجراء عمليات تجميعية على مجموعة جزئية من الأسطر، وتتطرق إلى الفهارس وأهميتها في تسريع البحث ضمن البيانات. 6. أنواع بيانات خاصة في قواعد بيانات Postgres تتحدث هذه المقالة عن عدة أنواع بيانات تتميز بها Postgres، وهي المصفوفات Arrays والنوع Hstore والنوع JSONB، كما تتطرق إلى الأنواع التعدادية ENUM لتحديد قيم مخصصة في أعمدة الجداول. 7. إدارة النسخ الاحتياطي في قواعد بيانات Postgres تتحدث هذه المقالة عن كيفية أخذ نسخة احتياطية من قاعدة البيانات، ثم استعادتها. كما تشرح الأمر ‎\copy‎ وكيفية استخدامه لتحديد نمط البيانات في النسخة الاحتياطية. 8. أساسيات إدارة الذاكرة في قواعد بيانات Postgres تشرح هذه المقالة كيفية تتبع استخدام الذاكرة في قاعدة البيانات، لمعرفة الحجم الذي تستهلكه الفهارس والجداول عمومًا، مما يساعد في إدارة ذاكرة التخزين لقاعدة البيانات ككل. 9. كيفية إدارة الأداء في قواعد بيانات Postgres تشرح هذه المقالة طريقة تتبع أداء الاستعلامات في Postgres، وذلك لمعرفة الزمن المتوقع والحقيقي للاستعلام. ثمّ تبين كيفية عمل قيود على استخدام الفهارس، وتتطرق إلى موضوع ذاكرة التخزين المؤقتة Cache في Postgres. 10. أوامر متقدمة في صدفة psql تستعرض هذه المقالة أوامر الاتصال بقاعدة البيانات واستعراض الفهارس وتنسيق المخرجات، وكيفية استخدام الأوامر الشرطية وكيفية تنفيذ أوامر نظام التشغيل من داخل صدفة psql وغيرها من الأوامر المتقدمة. دروس تطبيقية هذه بعض الدروس والمقالات التطبيقية لترسيخ فهمك لنظام PostgreSQL وتعلم المهارات الضرورية في قواعد البيانات، مثل التكامل مع التطبيقات الأخرى، والجوانب الأمنية والحماية من الهجمات المؤتمتة والبحث والتنقيب وغيرها. 1. فيديو - تثبيت وإعداد قاعدة بيانات PostgreSQL يشرح هذا الفيديو التعليمي طريقة تثبيت وإعداد خادم PostgreSQL على نظام أوبنتو 18.04. ثمّ يتطرق إلى كيفية إعداد كلمة مرور للمستخدم root؛ وإنشاء قاعدة بيانات جديدة ومستخدم جديد لديه صلاحيات كاملة. 2. كيف تثبت PostgreSQL وتستخدمه على Ubuntu 14.04 يشرح هذا المقال كيفية تثبيت Postgres على Ubuntu 14.04 وبعض الأمور الأساسية الأخرى، مثل مفهوم الأدوار وكيفية إنشاء قاعدة بيانات جديدة وإنشاء جداول البيانات وإضافة التسجيلات والاستعلام عنها وحذفها. 3. كيفية استخدام PostgreSQL مع تطبيق Django على خادم يعمل بأوبنتو 16.04 يستعرض هذا الدرس كيفية تثبيت وتهيئة PostgreSQL لاستخدامها مع تطبيقات Django، وكذلك تثبيت الحزم اللازمة وإنشاء اعتماديات قاعدة البيانات، مع توضيح كيفية بدء مشروع Django جديد وتجهيزه وإعداده. 4. كيفية استخدام PostgreSQL مع تطبيق Django على خادم يعمل بدوبيان 8 ستتعلم في هذا الدليل كيفية تثبيت وتهيئة PostgreSQL لاستخدامها مع تطبيقات Django على خادم يعمل بدوبيان 8، وسنثبّت الحزم اللازمة وننشئ اعتماديات قاعدة البيانات للتطبيق، ثم نبدأ مشروع Django جديد ونجهّزه ليستخدم هذه اﻹعدادات. 5. كيفيّة حماية PostgreSQL من الهجمات المُؤتمتة (Automated Attacks) سنلقي في هذا الدّرس نظرة على كيفيّة تقليل خطر الوصول غير المُصرّح في حال تفعيل الاتّصالات البعيدة (remote connections). هذا ضروري لصد الهجمات المُؤتمتة التي تُصمَّمُ للبحث عن الأخطاء الشّائعة بغية النفاد منها واستغلالها. 6. كيف تستخدم تقنية بحث النصوص الكاملة Full-Text Search في PostgreSQL على خادم أوبنتو 16.04 ستتعلم في هذا المقال تقنية بحث النصوص الكاملة، وهي مفيدة في تقوية نتائج البحث في مواقع مثل المتاجر الرقمية ومحركات البحث والجرائد وغيرها. ستتعلم كذلك كيف تبحث في قاعدة البيانات باستخدام FTS واختيار أفضل النتائج فقط. 7. شرح التكرار في نظام قواعد البيانات PostgreSQL على توزيعة أوبنتو ستتعلم في هذا الدليل كيفية إعداد تكرار من نوع (رئيسي-Master/ثانوي-Slave)، وهي عملية مزامنة بين قاعدتي بيانات من خلال النسخ من قاعدة بيانات على خادم (رئيسي) إلى قاعدة بيانات أخرى في خادم آخر (ثانوي). سوف ننفذ هذه العملية على خادم يعمل بتوزيعة أوبنتو 16.04. 8. كيف تنقل مجلد البيانات في PostgreSQL إلى مسار مختلف في خادم أوبنتو 16.04 ستتعلم في هذا الدليل كيفية نقل مجلد البيانات في نظام PostgreSQL إلى مكان جديد في حال كنت تريد إضافة مساحة جديدة أو ترغب في تحسين الأداء، أو الاستفادة من مزايا التخزين الأخرى التي توفرها أنظمة مصفوفات الأقراص المستقلة RAID، أو عُقد التخزين الشبكية “Network Block Storages”، أو غيرها من الأجهزة وأنظمة التخزين. خاتمة تُضاف مزيد من المقالات والدروس في الأكاديمية حول PostgreSQL وقواعد البيانات ولغات البرمجة وغيرها باستمرار، لذلك تابع مستجدات الأكاديمية، وإن وجدت مشكلة فيمكنك أن تسأل عنها في قسم الأسئلة والأجوبة الخاص بالأكاديمية. لا تنس كذلك الاشتراك في قناة حسوب على اليوتيوب ومشاهدة عشرات الفيديوهات التعليمية في كل المجالات التقنية. إن كنت مهتما بتعلم لغات برمجة أخرى، فيمكنك زيارة قسم البرمجة في الأكاديمية، أيضًا لا تنس زيارة موسوعة حسوب التي تضم توثيقات الكثير من لغات البرمجة. وفّقك الله تعالى.
  2. SQL أو لغة الاستعلامات البنيوية (Structured Query Language) هي لغة برمجة متخصصة تُستخدَم لمعالجة وإدارة قواعد البيانات. وتُنطق سي كويل (See-Quel). تعد اللغة القياسية لأنظمة إدارة قواعد البيانات (RDBMS)، وتُستخدم تعليمات وأوامر SQL لإجراء عمليات مباشرة على البيانات، مثل: تحديث البيانات إدراج سجلات جديدة في قاعدة البيانات حذف السجلات استخلاص البيانات والتنقيب عنها إنشاء جداول لتخزين البيانات إنجاز مهام إدارية على قاعدة البيانات، مثل تأمين قاعدة البيانات وإنشاء النسخ الاحتياطية وإدارة المستخدمين. تاريخ SQL طوّرت شركة IBM لغة SQL في بداية السبعينات بإسهام من بويس رايموند (Raymond Boyce) ودونالد شامبرلين (Donald Chamberlin)، وكانت تُسمى آنذاك SEQUEL. كان الهدف من تطويرها هو إدارة ومعالجة نظام R، وهو نظام شبه علائقي لمعالجة قواعد البيانات (quasi-relational database management system). سنة 1986، اعتمدت كل من المنظمة الأمريكية للمقاييس (ANSI) والمنظمة الدولية للمقاييس (ISO) لغة SQL كمقياس مرجعي، وقد تعاقبت بعد ذلك 9 إصدارات جديدة من المعيار، سنوات: 1989 و 1992 و 1996 و 1999 و 2003 و 2006 و 2008 و 2011 و 2016. ما هي أنظمة معالجة قواعد البيانات العلائقية RDBMS؟ أنظمة معالجة قواعد البيانات العلائقية (Relational Database Management System) هي برامج تُستخدَم لمعالجة وإدارة قواعد البيانات العلائقية (Relational Database)، وهي قواعد تخزِّن البيانات وفق بنية مهيكلة في جداول تتألف من صفوف وأعمدة لتسهيل الوصول إلى القيم المخزنة. لكل جدول مفتاح فريد يميز كل صف من الجدول. وتُسمى "علائقية" (relational) لأنّ القيم المُخزّنة في الجداول متعلقة ببعضها بعضًا. تجري أنظمة قواعد البيانات العديد من المهام، مثل: تأمين البيانات إنشاء النسخ الاحتياطية إدارة ومعالجة كميات ضخمة من البيانات تصدير البيانات أو استيرادها العمل على عدة جداول تزامنيا هناك العديد من أنظمة معالجة قواعد البيانات، من أشهرها: Oracle و MySQL و Microsoft SQL Server و DB2. ورغم أنّ أكثرها تستخدم SQL، إلا أنّ لكل منها بعض الإضافات والصياغات الخاصة بها التي لا تُستخدم في الأنظمة الأخرى، بيْد أنّها تدعم جميعا الأوامر الأساسية للغة (SELECT و UPDATE و DELETE و INSERT و WHERE). لماذا عليك تعلم SQL‎‎؟ إن كنت تتساءل عما إذا كانت SQL تستحق أن تتعلمها، فالنقاط التالية ستوضح لك بعض مزايا هذه اللغة: سهولة التعلم: لغة SQL سهلة موازنة مع بقية لغات البرمجة، ذلك أنّها مخصصة لغرض واحد، وهو معالجة البيانات معالجة البيانات الكبيرة: نحن نعيش في عصر الثورة الرقمية، ومن نتائج ذلك أنّ البيانات أصبحت متاحة بكميات ضخمة. ففي كل يوم تُنتج عدة تيرابايت من البيانات. بالطبع، يمكنك استخدام جداول البيانات العادية، مثل EXCEL وجداول جوجل، ولكنها مخصّصة لمعالجة كمية صغيرة أو متوسطة من البيانات. وهنا يأتي دور SQL، لأنها مصممة لمعالجة كميات ضخمة من البيانات بأداء وكفاءة عالية. تطوير الويب: SQL هي إحدى المهارات الضرورية لكل مبرمجي الواجهة الخلفية للخادم، لأنها تُستخدم لمعالجة واسترجاع البيانات المُخزّنة في الخادم، بما فيها بيانات المستخدمين. السرعة: لا تفعل SQL إلا شيئا واحدا فقط، وهو معالجة البيانات وإدارتها، وهي ممتازة فيما تفعله. فهي مُحسَّنة للدخول إلى البيانات بسرعة فائقة، ما يجعلها مثالية لتطبيقات الوقت الحقيقي. فرص العمل: هناك طلب كبير على مبرمجي SQL في القطاع الخاص، ويُتوقع أن يزداد هذا الطلب في السنوات القادمة، خصوصا في العالم العربي الذي يعرف ازدهارا سريعا للاقتصاد الرقمي في السنوات الأخيرة. الشهرة: في استطلاع stackoverflow لسنة 2019، حلت SQL في المرتبة الثالثة في قائمة أكثر تقنيات البرمجة استخداما من قبل المبرمجين على مستوى العالم. بعد جافاسكربت و HTML و CSS. إذ يستخدمها أكثر من نصف المبرمجين. هذا أمر طبيعي، لأنّ SQL هي إحدى أركان تقنيات الويب، ولا يمكن تطوير أي موقع ويب أو تطبيق بدون معرفة ولو بسيطة بها. مفتوحة المصدر: SQL مفتوحة المصدر، كما أنّ لديها مجتمعا كبيرا، إن اعترضتك مشكلة أثناء تعلم SQL، فيمكن أن تطرح سؤالك على stackoverflow أو في قسم الأسئلة في أكاديمية حسوب. المصدر كيف أتعلم SQL؟ قد تسأل: كيف أتعلم SQL؟ شبكة الإنترنت غنية بالكتب والمراجع والمقالات عن SQL باللغة الإنجليزية، للأسف، من الصعب أن تجد محتوى عربيا عالي الجودة لتعلم SQL، أو أيّ مجال تقني آخر. لمعالجة هذا الأمر وإثراء المكتبة العربية، أطلقت حسوب مشروعا لترجمة بعض أفضل الكتب التقنية في مجال البرمجة. ونظرا لأهمية SQL للمبرمجين، وحتى لغير المبرمجين من العاملين في القطاعات التقنية، كالصناعة والمحاسبة والصيرفة وتحليل البيانات، أو للمهتمين بقواعد البيانات عموما، قررنا ترجمة أحد أفضل الكتب الإنجليزية عن SQL، وهو كتاب SQL Notes For Professionals. لقد نشرنا سلسلة تضمّ كافة فصول الكتاب، وهي معروضة في القسم التالي. يمكنك أيضًا تنزيل الكتاب جملة واحدة على هيئة كتاب إلكتروني اطلقنا عليه، ملاحظات للعاملين بلغة SQL. @media screen and (min-width: 650px) { .response_image { width: 33%; display: inline-block; vertical-align: top; margin-top: 0px; } .response_descrip { width: 64%; display: inline-block; margin-right: 10px; vertical-align: top; margin-top: 0px; } } سلسلة "SQL للمحترفين" تغطي هذه السلسلة -المبنية على كتاب «ملاحظات للعاملين بلغة SQL»- كافَّة المفاهيم الأساسية للغة SQL، مثل العمليات الأولية، كإدراج البيانات وحذفها واستخلاصها وتحديثها، وأنواع البيانات، وتصميم الجداول وتنفيذ الاستعلامات، إضافة إلى مفاهيم متقدمة، مثل المعارض والدوال، وإدارة المستخدمين، وكيفية تأمين الشيفرة وغيرها من المواضيع. كما أنّها غنية بالأمثلة التطبيقية التي تشرح كل هذه المواضيع لترسيخ فهمها. هذه السلسلة ليست مثل غيرها من السلاسل والشروحات التي تشرح لغة SQL من البداية شرحًا مُبسَّطًا ومتسلسلًا وإنَّما تعتمد على مبدأ خير الكلام ما قل ودل في الشرح وترك الشيفرة تشرح نفسها بنفسها، فتحوي على كم كبير من الشيفرات بالموازنة مع الشرح. وُجِّهت هذه السلسلة لمن لديه معرفة بسيطة بلغة SQL، لذا يفضَّل أن تمتلك معرفة بلغة SQL لتستفيد أكبر استفادة منها وتقرأ الشيفرات وتفهمها وتتعلَّم منها. في هذه الحالة، ستساهم هذه السلسلة في رفع مستواك في لغة SQL وستُملِّكك مهارات متقدمة في استعمال لغة SQL بالإضافة إلى بعض الخدع والالتفافات المتقدمة أيضًا. قد تسأل نفسك، هل ينفع أن اقرأ السلسلة دون معرفة مسبقة بلغة SQL؟ سأقول، نعم، ولكن يجب أن تتحلى بالصبر في قراءة الشيفرة وتحليلها وفهمها والبحث عن أي موضوع لم تفهمه والسؤال عن شرح لأي شيفرة غامضة، إذ لن تجد كلامًا وشرحًا كبيرًا للمواضع التي تتحدث عنه السلسلة، كما أن تسلسل المواضيع فيها لا تراعي عدم امتلاك القارئ معرفة بلغة SQL، إذ رُتِّبت ترتيبًا عشوائيًا في العمل الأصلي. بذكر ترتيب عناوين ومواضيع السلسلة، حاولت ترتيب عناوينها بأنسب شكل لتكون متدرِّجة في الصعوبة وحاولت جمع المواضيع المتشابهة في فصل واحد رغم تشرذمها وتفرقها في العمل الأصلي فلا تشبه النسخة العربية المترجمة النسخة الأجنبية مطلقًا، إذ حاولت أن تكون أفضل منها وأرجو أن نكون قد حققنا ذلك. فإن كنت على معرفة بأحد المواضيع، فلا تتخطاها بل اقرأها، فقد تمر معك إشارة لموضوع متقدم أو ملاحظة مهمة لم تكن تعرفها (تذكر أنَّ اسم الكتاب العربي ملاحظات متقدمة للعاملية بلغة SQL ;-) ). يمكنك أيضًا أن تقرأ السلسلة من أي قسم تريد فهي من الأساس غير مُرتَّبة ترتيبًا متدرجًا ومتسلسلًا كما أشرت إلى ذلك، رغم محاولتي في ترتيبها لك أنسب ترتيب من البداية للنهاية؛ أرجو لك قراءة ممتعة! 1. مدخل إلى SQL هذه المقالة هي مدخل عام إلى لغة الاستعلامات SQL، وفيها توطئة لبعض المفاهيم الأساسية لهذه اللغة، مثل المعرّفات و أنواع البيانات، كالأعداد والحروف والقيم المالية، إضافة إلى مجموعة من الأمثلة العملية على بعض الجداول وقواعد البيانات. 2. جلب الاستعلامات عبر SELECT في SQL تستعرض هذه المقالة كيفية استخدَام العبارة SELECT في استعلامات SQL لاختيار واستخلاص النتائج من قاعدة البيانات، تشمل هذه الفقرة العديد من تقنيات الاختيار، مثل حرف البدل والاختيار وفق كُنى الأعمدة، وتحديد عدد السجلات المُختارة والاختيار الشرطي، والاختيار باستخدام الدوال التجميعية، واختيار صفوف من عدة جداول. 3. التجميع والترتيب في SQL تتحدث هذه المقالة عن كيفية استخدام العبارتين GROUP BY و ORDER BY لتجميع نتائج الاستعلامات في SQL وترتيبها. إضافة إلى التقنيات المُستخدمة لتصنيف النتائج وفق شروط معينة، وعدّ الصفوف في الجدول، والتنقيب عن البيانات أو ترتيبها بحسب عدة أعمدة. 4. تنفيذ تعليمات شرطية عبر CASE في SQL تستعرض هذه المقالة العبارة CASE، والتي تُستخدم لكتابة الشيفرات الشرطية (if-then)، وعد الصفوف التي تحقق شرطا معينا، إضافة إلى كيفية استخدام CASE لتحديث البيانات، أو ترتيبها تصاعديا أو تنازليا. 5. البحث والتنقيب والترشيح في SQL تستعرض هذه المقالة بعض معاملات SQL المتخصصة في البحث والتنقيب وترشيح النتائج، مثل المعامل LIKE، الذي يبحث عن التطابقات مع نمط نصي معين، و WHERE و HAVING، اللتان تُستخدمان لترشيح النتائج وفق شروط معينة، إضافة إلى بعض تقنيات التحكم في النتائج المُعادة، واستعراض بعض البيانات الوصفية المتعلقة بالاستعلامات. 6. الدمج بين الجداول في SQL سنستعرض في هذه المقالة كيفية استخدام العبارة JOIN، وأنواعها، وكيفية إجراء الدمج العودي والدمج في الاستعلامات الفرعية، وذلك كله من أجل إجراء عملية الدمج بين الجداول والحصول على النتائج المرجوة. 7. تحديث الجداول في SQL تستعرض هذه المقالة كيفية استخدام العبارات UPDATE و CREATE لتحديث وإنشاء قواعد البيانات والجداول، إضافة إلى كيفية إنشاء دوال جديدة. 8. معالجة الأخطاء والتعديل على قواعد البيانات في SQL تستعرض هذه المقالة كيفية معالجة الأخطاء باستخدام العبارة TRY / CATCH، وكيفية حساب الاتحاد (UNION) وبعض العمليات الأخرى التي تمكّن من تعديل قواعد البيانات، وإدراج بيانات جديدة في الجداول 9. حذف الجداول وقواعد البيانات في SQL تتحدّث هذه المقالة عن كيفية حذف الجداول وقواعد البيانات (DROP و DELETE)، واقتطاع الجداول (TRUNCATE TABLE)، وكيفية استخدام الحذف المتفشي أو المتسلسل (Cascading Delete) في SQL. 10. مواضيع متقدمة في SQL تستعرض هذه المقالة عددًا من المواضيع المتقدمة في SQL، مثل إدارة صلاحيات المستخدمين، واستخدام ملفات XML في الاستعلامات، والمفاتيح الرئيسية وأرقام الصفوف، إضافة إلى مفهوم الفهارس، وكيفية إنشائها أو حذفها وتعطيلها. 11. دوال التعامل مع البيانات في SQL تستعرض هذه المقالة بعض أنواع الدوال، مثل الدوال التجميعية (Aggregate Functions) التي تُطبَّق على الصفوف، والدوال التحليلية (Analytic Functions) والدوال العددية ودوال النافذة (window function). 12. دوال التعامل مع النصوص في SQL تستعرض هذه المقالة مفهوم الدوال النصية String Functions، وهي دوال تُنفَّذ على قيم نصية، وتعيد إمّا قيمًا عددية أو قيمًا نصية. مثلًا، يمكن استخدام الدوال النصية لدمج البيانات، أو استخراج أجزاء من السلاسل النصية، أو موازنة السلاسل النصية أو تحويلها من الأحرف الكبيرة إلى الصغيرة، أو العكس. 13. التعبيرات الجدولية الشائعة Common Table Expressions تستعرض هذه المقالة مفهوم التعبيرات الجدولية (Common Table Expressions) في SQL، والتي يمكن استخدامها مع الاستعلامات المؤقتة والعوديّة لتوليد سلاسل القيم وتسلق الأشجار (trees). 14. مواضيع متفرقة في SQL تستعرض هذه المقالة مجموعة من المواضيع الإضافية في SQL، مثل المعارض (Views)، وكيفية كتابة التعليقات، وكيفية التعامل مع المفاتيح الخارجية (Foreign Keys) وإنشاء تسلسلات العناصر. 15. الاستعلامات الفرعية والإجراءات في SQL تستعرض هذه المقالة بعض المواضيع المتقدمة عن تنفيذ الشيفرات في SQL، مثل الاستعلامات الفرعية (Subqueries)، وكتل التنفيذ، والإجراءات المُخزّنة، والزنادات (triggers)، وكيفية إنشاء المُعامَلات (transactions) وتنفيذها. 16. تصميم الجداول وترتيب تنفيذ الاستعلامات ومعلومات المخطط في SQL تستعرض هذه المقالة عددا من مواضيع SQL المتفرقة، مثل كيفية تصميم جداول قواعد البيانات، واستخدام المرادفات، وكيفية استخلاص المعلومات المتعلقة بقاعدة البيانات عبر معلومات المخطط، والترتيب الذي تُنفّذ وفقه عبارات واستعلامات SQL التي من المفيد تعلمها والإلمام بها. 17. تنظيم وتأمين شيفرات SQL تتحدث هذه المقالة عن أفضل الممارسات المُتعارف عليها بين المبرمجين، والتي تساعد على كتابة شيفرات SQL نظيفة وعالية المقروئية، وكذلك تأمين الشيفرات عبر التحوّط من أحد أشهر أنواع هجمات SQL، وهو حقن شيفرات SQL ‏(SQL Injection)‏‏. دروس ومقالات إضافية هذه بعض المقالات الإضافية التي يمكن أن تساعدك على ترسيخ فهمك لبعض مفاهيم SQL وقواعد البيانات. مقدمة عن قواعد البيانات هذا هو المقال الأول من سلسلة دروس عن لغة الاستعلام البنائية Structured Query language، ويشرح مفهوم قواعد البيانات، وأنظمة إدارة قواعد البيانات، والجداول، وخصائص قواعد البيانات العلاقية. أساسيّات لغة SQL يعطي هذا المقال لمحة عامة عن لغة الاستعلامات SQL، وعن دورها وعلاقتها بقاعدة البيانات، مع شرح أساسيات وصياغة قواعد البيانات والجداول. البيانات في SQL: أنواعها والقيود عليها يتطرق هذا المقال لأحد المفاهيم الأساسية في قواعد البيانات وفي لغة الاستعلامات SQL، وهو مفهوم القيود، إذ يعرض هذا المفهوم مع أمثلة عملية لتوضيحه. إضافة إلى عرض مفصَّل لمختلف أنواع البيانات المُستخدمة في قواعد البيانات. التعامل مع البيانات (الإدخال، الحذف والتعديل) في SQL يشرح هذا المقال موضوع لغة التعامل مع البيانات Data Manipulation Language، سوف تملك في نهاية هذا المقال المعرفة اللازمة لإضافة سجلات بيانات إلى الجداول، وتعديلها، وحذفها باستخدام عبارات SQL الأساسية، مثل: UPDATE وINSERT وDELETE. الاستعلام عن البيانات في SQL هذا المقال تتمة للمقال السابق، ستتعلم فيه إحدى أشهر عبارات لغة الاستعلام البنائية، وهي Select، يتكلم المقال عن كيفية صياغة هذه العبارة، وأشكالها، وكيفية ترشيح البيانات واختيار الأعمدة. الفهارس Indexes في SQL يتناول هذا المقال موضوع الفهارس Indexes في SQL، وما تمثله في قاعدة البيانات، وما هي الفائدة منها، وكيفية استخدامها في شيفرات SQL. العلاقات بين الجداول في SQL SQL مُتخصَّصة أساسًا في قواعد البيانات العلائقية، لهذا فإنّ فهم موضوع العلاقات بين الجداول ضروري لكل مبرمج يريد احتراف هذه اللغة واستنفاذ إمكانياتها. ستتعلم في هذا المقال مفهوم العلاقات بين جداول قاعدة البيانات، وأنواع هذه العلاقات، وكيف تُمثَّل وتطبق بين الجداول. تعلم لغة الاستعلام SQL بالأمثلة العملية أفضل طريقة لتعلم أيّ لغة برمجة هي بتطبيق المعارف على أمثلة عملية. يشرح هذا الدرس المُصوّر أساسيات لغة الاستعلامات SQL عبر أمثلة عملية، وذلك باستخدام لوحة التحكم phpMyAdmin. خاتمة تُضاف مزيد من المقالات والدروس إلى الأكاديمية حول SQL‎ وقواعد البيانات باستمرار، لذلك تابع مستجدات أكاديمية حسوب. وإن أشكل عليك شيء فيمكنك أن تسأل عنه في قسم الأسئلة والأجوبة الخاص بالأكاديمية. يمكنك أيضا الاشتراك في قناة حسوب على اليوتوب، هذه القناة تحتوي دروسًا قصيرةً عن العديد من مواضيع البرمجة. تابع أيضًا قسم الكتب والملفات للاطلاع على أحد الكتب التي ننشرها. إن كنت مهتما بتعلم لغات برمجة أخرى، فيمكنك زيارة قسم البرمجة في الأكاديمية، أيضًا لا تنس زيارة موسوعة حسوب، التي تضم توثيقات الكثير من لغات البرمجة، بما في ذلك توثيق SQL. وفّقك الله تعالى.
  3. بايثون - Python - هي واحدة من أشهر لغات البرمجة وأكثرها استخدامًا، وهي لغة ممتازة ليبدأ بها المبرمجون الجدد. يمكن استخدامها في كل المجالات، بدءًا من ألعاب الفيديو ومعالجة اللغات، وحتى تحليل البيانات والتعلم الآلي. بايثون هي لغة برمجة عالية المستوى، ومُترجمة (interpreted) وتفاعلية وكائنية. وتتمتع بمقروئية عالية، إذ تستخدم كلمات إنجليزية بسيطة، على خلاف اللغات الأخرى التي تستخدم الرموز، كما أنّ قواعدها الإملائية والصياغية بسيطة، ما يجعل تعلم لغة بايثون سهلًا موازنةً بلغات برمجة أخرى. هذا المرجع هو دليلك الشامل إلى تعلم لغة بايثون، إذ يجمع دروسًا ومقالات نظرية وعملية تُسهِّل تعلمها، وكلها باللغة العربية. يمكنك قراءته على شكل كتاب إلكتروني بصيغة PDF بالانتقال إلى صفحة الكتاب، البرمجة بلغة بايثون، لتنزيله. جدول المحتويات حرصًا على تنظيم المقالة ولتسهيل الوصول إلى القسم الذي تريده بسهولة، سنذكر هنا جدول المحتويات باختصار: تاريخ بايثون مميزات لغة بايثون أين تُستخدَم بايثون؟ لماذا بايثون؟ أريد تعلم لغة بايثون، فمن أين أبدأ؟ سلسلة تعلم البرمجة عبر بايثون 3 دروس تطبيقية وعملية تاريخ بايثون ظهرت لغة بايثون في أواخر الثمانينيات على يد غيدو فان روسوم (Guido van Rossum)، وقد عُدَّت خليفةً للغة ABC). كما استفادت من الكثير من اللغات السابقة لها، مثل Modula-3 و C و C++‎ و Algol-68 و SmallTalk، وغيرها من اللغات. نُشِر الإصدار 2.0 من لغة بايثون عام 2000، وقد قدّم العديد من الميزات الجديدة، مثل القوائم الفهمية (List Comprehensions)، ونظام كنس المُهملات (garbage collection). وفي عام 2008، ظهر الإصدار بايثون 3.0، والذي شكّل طفرة في اللغة، بيْد أنه لم يكن متوافقًا تمامًا مع الإصدارات السابقة، لذلك قرر فريق التطوير الاستمرار في دعم إصدار أخير من سلسلة بايثون ‎2.x‎، وهو بايثون 2.7 حتى عام 2020. مميزات لغة بايثون تتميز بايثون بعدة أمور عن غيرها من لغات البرمجة، منها: سهولة التعلم: يسهل تعلم لغة بايثون، إذ تتألف من عدد قليل من الكلمات المفتاحية، وتتميز بصياغة بسيطة وواضحة. المقروئية: شيفرة لغة بايثون واضحة ومنظمة وسهلة القراءة. سهلة الصيانة: شيفرة بايثون سهلة الصيانة إلى حد بعيد. مكتبة قياسية واسعة: تحتوي مكتبة بايثون القياسية على عدد كبير من الحزم المحمولة التي تتوافق مع أنظمة UNIX و Windows و macOS. الوضع التفاعلي: تدعم بايثون الوضع التفاعلي، مما يتيح إمكانية تنفيذ الشفرات مباشرةً على سطر الأوامر وتنقيح الشفرات. محمولية بايثون: يمكن تشغيل لغة بايثون على طيف واسع من المنصات والأجهزة، مع الاحتفاظ بنفس الواجهة على جميع تلك المنصات. التوسُّعية: من أهم مميزات بايثون، هو توفرها على عدد هائل من الوحدات، التي يمكنها توسيع قدرات اللغة في كل مجالات التطوير، مثل تحليل البيانات والرسوميات ثنائية وثلاثية الأبعاد، وتطوير الألعاب، والأنظمة المدمجة، والبحث العلمي، وتطوير المواقع وغيرها من المجالات. قواعد البيانات: توفر بايثون واجهات لجميع قواعد البيانات الأساسية. الرسوميات: تدعم بايثون التطبيقات الرسومية. دعم البرامج الكبيرة: بايثون مناسبة للبرامج الكبيرة والمعقدة. أين تُستخدَم بايثون؟ تُستخدم لغة بايثون في كل المجالات، فهي لغة برمجة متعددة الأغراض، ومن مجالات استخدامها: تحليل البيانات، والروبوتات، وتعلم الآلة، وتطبيقات REST، وتطوير المواقع والألعاب، والرسوم ثلاثية الأبعاد، والأتمتة وبرمجة الأنظمة المدمجة، والكثير من المجالات الأخرى التي لا يسعنا حصرها هنا. تستخدم الكثير من المواقع والشركات العملاقة لغة بايثون، ومنها Spotify و Google وAmazon، إضافة إلى Facebook التي تستخدم بايثون لمعالجة الصور. وفي كل يوم تتحول شركات جديدة إلى استخدام بايثون، مثل Instagram التي قررت مؤخرًا استخدامها وفضلتها على PHP. تُستخدم بايثون أيضًا من قبل بعض الجهات العلمية والبحثية، مثل وكالة الفضاء الأمريكية ناسا، والتي لها مستودع خاص بالمشاريع المُطورة ببايثون. لماذا بايثون؟ إنّ تحديد أفضل لغة برمجة للتعلم قد يكون مهمةً صعبةً. لو سألت عدة أشخاص عن لغة البرمجة التي يجب تعلمها، فستحصل على عدة إجابات، ويكفي أن تدخل على جوجل وتكتب أفضل لغة برمجة، وستجد آراءً مختلفةً، وجدالًا لا ينتهي حول هذا الموضوع. لا أريد أن أبدأ حرب لغات البرمجة هنا، ولكني سأحاول في هذه الفقرة تقديم بعض الحجج لتبرير لماذا أرى أنّ بايثون هي لغة المستقبل، وأن تعلم لغة بايثون مثالي للمبتدئين الذين يريدون دخول عالم البرمجة وعلوم الحاسوب. الشعبية بحسب استطلاع موقع stackoverflow، بايثون هي لغة البرمجة العامة الأسرع نموًا، كما تمكنت سنة 2019 من التفوق على جافا كأكثر لغة برمجة متعددة الأغراض استخدامًا، كما أنها رابع أكثر لغة تكنولوجيا برمجة استخدامًا وراء JavaScript و HTML/CSS و SQL، كما أنها ثاني أكثر لغة برمجة محبوبة من قبل المبرمجين. بايثون ليست لغة قوية وفعالة وحسب، كما يدل على ذلك حقيقة أنها أكثر لغة برمجة متعددة الأغراض استخدامًا، بل هي فوق ذلك محبوبة من قبل المبرمجين، وهذا مؤشر على سهولتها، ثم فوق كل ذلك جميعًا، فإنّ مستقبلها يبدو مشرقًا، لأنها الأسرع نموًا، فهل لا يزال لديك شك في أن تعلم لغة بايثون هو خيار مثالي لك؟! الرسمان البيانيان التاليان يوضحان شعبية لغة بايثون لدى المبرمجين: أكثر لغات البرمجة شعبية المصدر: https://insights.stackoverflow.com/survey/2019 أكثر لغات البرمجة المحبوبة لدى المبرمجين المصدر: https://insights.stackoverflow.com/survey/2019 بايثون مطلوبة في السوق تُستخدم لغة بايثون من قبل بعض أكبر الشركات في مجال التكنولوجيا، مثل Uber و PayPal و Google و Facebook و Instagram و Netflix و Dropbox و Reddit. إضافةً إلى هذا، تُستخدم بايثون بكثافة في مجال الذكاء الاصطناعي والتعلم الآلي وتحليل البيانات ومراقبة الأنظمة وغير ذلك. يقدر موقع stackoverflow، الدخل السنوي لمطوري بايثون بحوالي 63 ألف دولار، وهو مبلغ كبير، ويدل على أنّ هناك طلبًا كبيرًا على لغة بايثون في سوق العمل. الدعم نظرًا لشعبيتها الكبيرة، تتمتع بايثون بدعم جيد على جميع المستويات تقريبًا. وباعتبارها اللغة المفضلة للمبتدئين، فهناك قناطير من المراجع والمواد والدورات التعليمية التي تشرح مفاهيم البرمجة الأساسية، إضافة إلى صياغة اللغة وتطبيقاتها. سواء كانت هاويًا، وتحب تعلم البرمجة كهواية، أو لأجل استخدامها في مجال عملك، مثل تحليل البيانات ومعالجة اللغات الطبيعية وغير ذلك، أو كنت تريد أن تعمل كمستقل، أو تدخل سوق العمل وتحقق دخلًا من البرمجة، ففي جميع هذه الحالات، سيكون تعلم لغة بايثون خيارًا مثاليًا لك. أريد تعلم لغة بايثون، فمن أين أبدأ؟ حسنًا، إن اقتنعت بضرورة تعلم بايثون، فقد تتساءل: من أين أبدأ، وهل يوجد مرجع شافٍ وكافٍ باللغة العربية يعلمني بايثون؟ الجواب هو نعم. وفرنا في أكاديمية حسوب سلسلة مقالات عن كيفية البرمجة في بايثون 3، والتي تأخذك خطوة بخطوة لتعلم كيفية تثبيت بايثون وإعداد بيئة البرمجة، إضافة إلى المفاهيم الأساسيات للغة، وأنواع البيانات والدوال والأصناف والبرمجة الكائنية وغيرها من المفاهيم. بعد ذلك، سنَستعرض عددًا من المقالات والدروس النظرية والعملية حول بايثون. @media screen and (min-width: 650px) { .response_image { width: 33%; display: inline-block; vertical-align: top; margin-top: 0px; } .response_descrip { width: 64%; display: inline-block; margin-right: 10px; vertical-align: top; margin-top: 0px; } } سلسلة تعلم البرمجة عبر بايثون 3 سأكتب عناوين مقالات سلسلة «تعلم البرمجة عبر بايثون 3»، مع شرح مبسط لكل مقالة، وما ستتعلمه فيها هنا، وذلك لتسهيل الوصول إليها (يمكنك قراءة هذه المقالات على شكل كتاب في أي وقت): 1. اعتبارات عملية للاختيار ما بين بايثون 2 و بايثون 3 توازن هذه المقالة بين إصدارَي بايثون 2 وبايثون 3، مع الاختلافات البرمجية الرئيسية بينهما، مثل قسمة الأعداد الصحيحة ودعم محارف اليونيكود، إضافة إلى نقاط أخرى. كما تعطي المقالة فكرة عامة عن إمكانيات كل منهما، إضافة إلى لمحة تاريخية عن الإصدارات الرئيسية الحديثة من بايثون. 2. تثبيت بايثون على مختلف أنظمة التشغيل وإعداد بيئتها البرمجية تشرح هذه المقالة خطوةً بخطوة كيفية تثبيت بايثون 3 على مختلف أنظمة التشغيل، وكيفية تثبيت بيئة برمجة عبر سطر الأوامر. وكذلك متطلبات تثبيت بايثون، إضافة إلى إنشاء برنامج "مرحبا بالعالم!" الشهير للتحقق من أنَّ بيئة العمل التي أعدَدناها تعمل عملًا صحيحًا. 3. كيف تكتب أول برنامج لك ستتعلم في هذه المقالة كيفية كتابة البرنامج الشهير "مرحبا بالعالم!" في بايثون 3، وهو أحد التقاليد الأساسية في مجال البرمجة، ويشكل أول برنامج بسيط وكامل للمبتدئين، وكذلك يُعدُّ اختبارًا لأنظمة وبيئات البرمجة، كما يعطي البرنامج فكرة عن الصياغة الأساسية للغات البرمجة. 4. كيفية استخدام سطر أوامر بايثون التفاعلي تتناول هذه المقالة كيفية العمل بسطر الأوامر التفاعلي لبايثون، وكيفية الاستفادة منها أثناء كتابة الشيفرة لتسريع تنفيذ الأوامر، وتجربة أو اختبار التعليمات البرمجية دون الحاجة إلى إنشاء وكتابة أي شيفرة برمجية، والوصول إلى جميع دوال بايثون المُضمّنة، وتاريخ الأوامر، والإكمال التلقائي. 5. كيفية كتابة التعليقات تشرح هذه المقالة كيفية كتابة التعليقات في بايثون 3، وهي عبارات تكتب في الشيفرات البرمجية وليست جزءًا منها، وتُستخدم لتسهيل قراءة الشيفرة وفهمها ومعرفة وظيفة كل جزء من أجزائها، لأنها توفر معلومات وشروحات حول ما يفعله كل جزء من البرنامج. تشرح المقالة كيفية صياغة التعليقات، بما فيها التعليقات الكتلية والسطرية، وكيفية تعليق أجزاء من الشفرة. 6. فهم أنواع البيانات تشرح هذه المقالة أهم أنواع البيانات الأصلية في لغة بايثون. وتساعد على التعرف على الخيارات المتاحة للمبرمجين في بايثون، هذه المقالة لا تشمل كل أنواع البيانات، ولكنها تتناول أهمها وأكثرها استخداما، وهي الأعداد والسلاسل النصية والقواميس والصفوف والقيم المنطقية. 7. مدخل إلى التعامل مع السلاسل النصية تستعرض هذه المقالة كيفية إنشاء السلاسل النصية، وهي مجموعة من المحارف (أي الأحرف والأرقام والرموز) التي إما أن تكون قيمة ثابتة أو قيمة لمتغير. تشرح المقالة كيفية طباعة السلاسل النصية، وجمعها مع بعضها وتكرارها، وآلية تخزين السلاسل النصية في متغيرات. 8. كيفية تنسيق النصوص هذه المقالة تتمة للمقالة السابقة، وتشرح كيفية التعامل مع السلاسل النصية في بايثون، وكيفية عرض النص الناتج بتنسيقٍ صحيح، كما تشرح بعض المفاهيم المرتبطة بالسلاسل النصية في بايثون، مثل مفهوم تهريب المحارف، والسلاسل النصية الخام وغيرهما. 9. مقدمة إلى دوال التعامل مع السلاسل النصية هذه المقالة امتداد للمَقالتين السابقتين، وتشرح مختلف الدوال التي نستطيع استخدامها للتعامل مع السلاسل النصية في بايثون 3، ومن تلك الدوال، نذكر دوال تصغير الحروف أو تكبيرها، والتأكد من تحقيقها لخاصية معينة، وغير ذلك. 10. آلية فهرسة السلاسل النصية وطريقة تقسيمها تشرح هذه المقالة آليات فهرسة السلاسل النصية في بايثون 3، وكيفية الوصول إلى السلاسل النصية عبر الفهارس، وكيفية تقسيمها إلى مجموعات من المحارف، كما تغطي طرائق إحصاء المحارف، وتحديد مواضعها داخل السلسلة النصية. 11. كيفية تحويل أنواع البيانات تشرح هذه المقالة كيفية تحويل أنواع البيانات من نوع إلى آخر في بايثون 3، مع التركيز على تحويل الأعداد والسلاسل النصية والصفوف واللوائح إلى نوع آخر، بالإضافة إلى تقديم بعض الأمثلة التوضيحية تبيّن آليات تحويل تلك الأنواع. 12. كيفية استخدام المتغيرات تغطي هذه المقالة أحد أهم المفاهيم في لغة بايثون، وهو مفهوم المتغيرات، إذا تشرح أساسيات المتغيرات، وكيفية استخدامها بالشكل الصحيح في شفرات وبرامج بايثون 3، وقواعد تسميتها، وإعادة تعيينها، والتعيين المتعدد، وتشرح الفرق بين المتغيرات العامة والخاصة. 13. كيفية استخدام آلية تنسيق السلاسل النصية تشرح هذه المقالة أشهر الاستخدامات لآلية تنسيق السلاسل النصية في بايثون 3، وهي آلية تسمح لك باستبدال المتغيرات وتنسيق القيم. مما يمنحك القدرة على تجميع العناصر مع بعضها عبر إدخالها في مواضع معينة. كما ستساعدك على جعل شيفرتك وبرنامجك أسهل قراءةً واستخدامًا، إضافة إلى توضيح كيفية إضافة الحواشي. 14. كيفية إجراء العمليات الحسابية تشرح هذه المقالة كيفية إجراء العمليات الحسابية في بايثون 3، وتساعدك على تنفيذ العمليات الرياضية بفعالية في البرمجة، وتشمل تلك العمليات، عمليات الجمع والطرح، وكذلك الضرب والقسمة، والأسّ والقسمة التحتية (floor division) وغيرها من العمليات. 15. الدوال الرياضية المضمّنة تستعرض هذه المقالة بعض أشهر الدوال العددية المُضمّنة التي يمكن استخدامها مع أنواع البيانات العددية في بايثون 3، وتشمل المقالة الدوال العددية التالية: abs()‎ و divmod()‎ و pow()‎ و round()‎ و sum()‎. 16. فهم العمليات المنطقية تشرح هذه المقالة العمليات المنطقية في بايثون 3 والمفاهيم المرتبطة بها، بما في ذلك عمليات المقارنة المنطقية، والعوامل المنطقية، وجداول الحقيقة (truth tables). إضافة إلى كيفية استخدام تلك العمليات المنطقية في الشفرات للتحكم في مسار البرنامج. 17. مدخل إلى القوائم تشرح هذه المقالة أحد أنواع البيانات الأساسية في بايثون 3، وهي القوائم، وتشرح توابعها وكيفية استخدامها، وبعض المفاهيم المرتبطة بها، مثل الفهرسة، وتعديل العناصر، واقتطاع القوائم، وإزالة العناصر من القائمة، وبناء القوائم من قوائم أخرى. 18. كيفية استخدام توابع القوائم هذه المقالة تتمة للمقالة السابقة، وتشرح التوابع المُضمنة التي يمكن استخدامها مع القوائم. وكَيفية إضافة عناصر إلى القائمة، وكيفية إزالة عناصر منها، وكيفية توسيع القوائم، وكيفية ترتيب عناصرها، وغير ذلك من التوابع المفيدة لمعالجة القوائم. 19. فهم كيفية استعمال List Comprehensions هذه المقالة تتمة للمقالتين السابقتين، وتشرح كيفية استعمال نوع خاص من القوائم، وهي القوائم الفهمية (List Comprehensions) في بايثون 3، وتشرح ماهيتها، وبعض استخداماتها، مثل استخدامها في التعابير الشرطية، أو مع الحلقات التكرارية. 20. فهم نوع البيانات Tuples (الصفوف) تشرح هذه المقالة أحد أنواع البيانات الأساسية في بايثون 3، وهي الصفوف (Tuples)، وهي إحدى أنواع البيانات المشابهة للقوائم، لكن مع بعض الاختلافات، كما تشرح المفاهيم المرتبطة بها، مثل الفهرسة، والدوال المستخدمة للتعامل معها وغير ذلك. 21. فهم القواميس تشرح هذه المقالة القواميس في بايثون 3، وهي إحدى أنواع البيانات المُضمّنة، وتتألف من أزواج مفتاح قيمة (key-value)، هذه الأزواج مفيدة لتخزين البيانات في بايثون، كما تشرح المقالة كيفية الوصول إلى عناصر القواميس، وكيفية تعديلها، وإزالة العناصر منها. 22. كيفية استيراد الوحدات تشرح هذه المقالة إحدى التقنيات البرمجية الأساسية في بايثون 3، وهي استيراد الوحدات في بايثون 3، وهي ملفات برمجية مكتوبة بلغة بايثون. كما تلقي المقالةُ نظرة على كيفية البحث عن الوحدات، وكيفية تثبيتها، وإعادة تسميتها (aliasing)، ومختلف الصياغات المرتبطة بها. 23. كيفية كتابة الوحدات هذه المقالة تتمة للمقالة السابقة، وتشرح كيفية كتابة الوحدات في بايثون 3، وكيفية واستيرادها لأجل استخدامها في ملفات البرمجة الأخرى، إضافة إلى كيفية الوصول إلى الوحدات من مجلدات أخرى، وكيفية إضافة الوحدات إلى مسار بايثون (python path). 24. كيفية كتابة التعليمات الشرطية تشرح هذه المقالة إحدى الآليات الأساسية للتحكم في مسار البرنامج في بايثون 3، وهي العبارات الشرطية، تشرح المقالة كيفية كتابة العبارات الشرطية، وتوضح العبارتين ‎if‎ و ‎else‎، كما تلقي نظرة على صياغة العبارات الشرطية المتشعبة، وتعطي بعض الأمثلة على استخداماتها. 25. كيفية إنشاء حلقات تكرار while هذه المقالة تتمة للمقالة السابقة، وتشرح آلية أخرى من آليات التحكم في سير البرامج في بايثون 3، وهي حلقات تكرار while، تشرح المقالة كيفية إنشائها، كما تعطي بعض الأمثلة التوضيحية عن كيفية استخدامها في برامج وشفرات بايثون 3. 26. كيفية إنشاء حلقات تكرار for تشرح هذه المقالة كيفية إنشاء حلقات تكرار for في بايثون 3، وهي آلية لتنفيذ تعليمة برمجية معينة على العناصر المكوِّنة لكائن مُتسلسل، مثل القوائم والصفوف والقواميس، تشرح المقالة كيفية استخدام حلقات تكرار for مع الدالة range()‎، واستخدامها مع أنواع البيانات المتسلسلة، إضافة إلى حلقات for المتشعبة. 27. كيفية استخدام تعليمات break و continue و pass عند التعامل مع حلقات التكرار تشرح هذه المقالة كيفية استخدام بعض التعابير الخاصة في بايثون 3، وهي break و continue و pass، هذه التعابير تُستخدم للتعامل مع حلقات التكرار for و while، وتساعد على التحكم في تلك الحلقات، وإيقافها أو تمريرها، مع إعطاء أمثلة توضيحية عنها. 28. كيفية تعريف الدوال تشرح هذه المقالة أحد أهم مفاهيم لغة بايثون، وهو مفهوم الدوال، وتشرح المقالة كيفية تعريف الدوال، وكيفية استخدامها في البرامج والشفرات. وبعض المفاهيم المرتبطة بها، مثل المعاملات، والوسائط، والوسائط المسماة، والقيم الافتراضية للوسائط، وغير ذلك. 29. كيفية استخدام ‎*args و ‎**kwargs هذه المقالة تتمة للمَقالة السابقة، وفيها ستتعلم كيفية تمرير عدد متغير من الوسائط إلى دالة معينة، وذلك باستخدام الصياغتين الخاصتين ‎*args‎ و ‎**kwargs‎، كما توضح المقالة كيفية ترتيب الوسائط المختلطة وكيفية تمريرها والتعامل معها. 30. كيفية إنشاء الأصناف وتعريف الكائنات تتناول هذه المقالة مفهومي الأصناف والكائنات في بايثون 3، وهما مفهومان مرتبطان بالبرمجة الكائنية. تشرح المقالة كيفية إنشاء الأصناف والكائنات، وكيفية تهيئة الخاصيات باستخدام الباني (constructor method)، والعمل على أكثر من كائن من نفس الصنف. 31. فهم متغيرات الأصناف والنسخ هذه المقالة تتمة للمقالة السابقة، وتشرح نوعين خاصين من المتغيرات في بايثون 3، وهما متغيرات الصنف (class variables)، ومتغيرات النسخة (instance variables)، وكيفية استخدامهما في البرمجة الكائنية في بايثون، وكيفية العمل مع كليهما في نفس الوقت. 32. وراثة الأصناف تستعرض هذه المقالة بعض الجوانب الرئيسية لمفهوم الوراثة في بايثون، بما في ذلك كيفية إنشاء الأصناف الأصلية (parent classes) والأصناف الفرعية (child classes)، وكيفية إعادة تعريف (override) التوابع والخاصيات، وكيفية استخدام التابع ‎super()‎، وكيفية الاستفادة من الوراثة المتعددة (multiple inheritance). 33. كيفية تطبيق التعددية الشكلية (Polymorphism) على الأصناف تشرح هذه المقالة مفهومًا آخر من مفاهيم البرمجة الكائنية في بايثون 3، وهو مفهوم التعددية الشكلية (Polymorphism)، وكيفية تطبيقه على الأصناف في بايثون 3، إضافة إلى شرح لكيفية التعامل مع توابعها، وكذلك التعددية الشكلية في الدوال. 34. كيف تستخدم منقح بايثون تشرح هذه المقالة كيفية تنقيح شفرة بايثون 3، إذ توضح كيفية استخدام المنقح (debugger) في بايثون، وتشرح بعض المفاهيم المستخدمة في التنقيح، مثل مفهوم نقاط الفصل، كما توضح المقالة كيفية تضمين المنقح في الشفرة، وتعديل مسار عمل البرنامج، وجدول أوامر المنقح pdb. 35. كيفية تنقيح شيفرات بايثون من سطر الأوامر التفاعلي هذه المقالة تتمة للمقالة السابقة، وتشرح كيفية تنقيح بايثون من سطر الأوامر التفاعلي، كما توضح كيفية استخدام الوحدة code، وهي إحدى الأدوات المفيدة التي يمكن استخدامها لمحاكاة المترجم (interpreter) التفاعلي. توفر هذه الوحدة أيضًا فرصة لتجربة الشفرة التي تكتبها. 36. كيف تستخدم التسجيل Logging تشرح هذه المقالة كيفية استخدام وحدة التسجيل Logging في بايثون 3، وسبب استخدامها، وطباعة رسائل التنقيح في وحدة التحكم، ومستويات التسجيل. تسمح لك وحدة التسجيل بإعداد كل من التسجيلات التشخيصية التي تسجل الأحداث المقترنة بعمليات التطبيق، بالإضافة إلى تسجيلات التدقيق التي تسجل الأحداث الخاصة بحركات المستخدم بهدف تحليلها. وحدة التسجيل هذه مختصة في حفظ السجلات في ملفات. 37. كيفية ترحيل شفرة بايثون 2 إلى بايثون 3 سترشدك هذه المقالة إلى أفضل آليات وممارسات ترحيل الشفرات البرمجية من بايثون 2 إلى بايثون 3، كما تساعدك على أن تقرر ما إذا كان عليك جعل الشفرة البرمجية متوافقة مع كلا الإصدارين أم لا. إضافة إلى جرد سريع لأهم الاختلافات بين الإصدارين، ثم تختم بفقرة عن التكامل المستمر. دروس تطبيقية وعملية تحتوي الأكاديمية الكثير من المقالات التي ستساعدك على تعلم لغة بايثون، وتشمل تلك المقالات مواضيع متنوعة، وتناسب مستويات متفاوتة. وقد جمعناها لك لتسهيل الوصول إليها، ولتكون لك مرجعًا تستعين أثناء رحلتك في تعلم بايثون. 1. ثلاثة أخطاء عليك تفاديها عند تعلم البرمجة بلغة بايثون تجد في هذه المقالة قائمة بثلاثة أخطاء ينبغي تفاديها أثناء تعلم لغة بايثون، لكي يحاول مبرمجو بايثون الجدد تفاديها وعدم الوقوع فيها، فهذه الأخطاء يمكن أن تؤدي إلى حدوث مشاكل كبيرة قد تأخذ من وقتك ساعات كثيرة. 2. الدليل السريع إلى لغة البرمجة بايثون Python 3 تتناول هذه المقالة بعض المواضيع الأساسية في بايثون، مثل التعليقات، وأنواع البيانات، والمتغيرات والتراكيب، وجمل التحكم والدوال والوحدات والأصناف. 3. كيفية التعامل مع الملفات النصية في بايثون 3 تشرح هذه المقالة باختصار بعض الصيغ والتنسيقات التي تستطيع بايثون التعامل معها. كما تستعرض لمحة عن بعض أنواع الملفات، ثم كيفية فتح وقراءة الملفات والكتابة فيها في بايثون 3. ويُفترض أن تُصبح قادرًا بعد نهاية هذا الدرس على التعامل مع أيّة ملفات نصية في بايثون. 4. أهم 8 مكتبات بلغة البايثون تستخدم في المشاريع الصغيرة تستعرض هذه المقالة بعض أهم مكتبات بايثون، والتي يستخدمها مبرمجو بايثون كثيرًا أثناء تطوير مشاريعهم، هذه المكتبات متنوعة، بعضها متخصص في قواعد البيانات، وأخرى في تطوير المواقع وسطر الأوامر وتحويل الملفات، والتعامل مع متغيرات البيئة، وغير ذلك. 5. كيف تستخدم الإطار المصغر Bottle لتطوير تطبيقات Python للويب تشرح هذه المقالة طريقة ضبط واستعمال إطار العمل المصغّر Bottle لإنشاء تطبيقات ويب بسيطة باستعمال لغة بايثون، كما تتضمن أمثلة توضيحية، وستتعلم فيها إنشاء أول تطبيق باستخدام Bottle. 6. كيف تنشئ تطبيق تويتر باستخدام بايثون هذه المقالة هي مرجع عملي وتطبيقي للغة بايثون، وتتضمن الخطوات اللازمة لإنشاء تطبيق تويتر، وكيفية كتابة سكربت بايثون عبر استخدام مكتبة Tweepy للاستفادة من التطبيق، ونشر التغريدات من خلاله. 7. سلسلة python 101 ستجد في هذه السّلسلة المؤلفة من 12 مقالة ما تحتاج إليه كي تتعلم لغة بايثون وأساسياتها، والتعامل مع المتغيرات، وأنواع البيانات، مثل القوائم والسلاسل النصية والقواميس والصفوف، والتعامل مع العبارات الشرطية، وحلقات التكرار، والدوال والمُزخرِفات والملفات والبرمجة الكائنية والوحدات والحزم. خاتمة تُضاف مزيد من المقالات والدروس في الأكاديمية حول بايثون باستمرار، لذلك تابع مستجدات الأكاديمية، وإن أشكل عليك شيء ما فيمكنك أن تسأل عنه في قسم الأسئلة والأجوبة الخاص بالأكاديمية. إن كنت مهتما بتعلم لغات برمجة أخرى، فيمكنك زيارة قسم البرمجة في الأكاديمية، ولا تنس أيضًا زيارة موسوعة حسوب، التي تضم توثيقات الكثير من لغات البرمجة، بما في ذلك توثيق بايثون. وفّقك الله تعالى.
  4. لا يخفى على أي مطور ويب خصوصًا مطوري واجهة المستخدم الأمامية (front end developers) أهمية إضفاء بعض الحيوية في المواقع التي يصممونها عبر الحركات، إذ هنالك عدة فوائد يمكن تحصليها من إضافة الحركات إلى صفحات الموقع أهمها الابتعاد عن السكون الممل، ولفت الانتباه، وتحسين التواصل مع الزائر أو المستخدم ...إلخ. تحاول هذه المقالة تسليط الضوء على الحركات وأهميتها في مواقع الويب مع ذكر لمحة تاريخية عنها، وتوفر للقارئ مصادر علمية نظرية وعملية لتعلم كيفية إنشاء الحركات عبر CSS باحتراف. جدول المحتويات حرصًا على تنظيم المقالة ولتسهيل الوصول إلى القسم الذي تريده بسهولة، سنذكر هنا جدول المحتويات باختصار: ما هي أهمية الحركات؟ ظهور الحركات في الويب أريد تعلم إنشاء الحركات، فمن أين أبدأ؟ دروس نظرية: مبادئ الحركات والتحريك دروس تطبيقية عملية ما هي أهمية الحركات؟ لا شك أنَّك لاحظت من خلال تصفحك للمواقع كمية الحركات المُطبَّقة فيها بدءًا من الحركات الصغيرة في الأزرار والقوائم وحتى الصور المتحركة (GIFs) والفيديوهات التي تعمل تلقائيًا. وبمناسبة الإشارة إلى الصورة المتحركة، فقد انتشرت كثيرًا في الآونة الأخيرة وهذا طبيعي بالموازنة مع الصور الساكنة المملة. فيمكنك عبر صورة متحركة رواية قصة قصيرة أو إيصال فكرة للناظر بطريقة تتفوق فيها على عدة فقرات مكتوبة. بعبارة أخرى، معلومٌ أنَّ الإشارات والحركات أبلغ من الكلمات وتترك أثرًا أعمق في الذهن، فكيف لا وهي اللغة التي يمكن أن يتخاطب بها جميع البشر مهما كانت لغتهم وخلفيتهم! أي يمكنك عبر الحركات التواصل مع شريحة أوسع من المستخدمين. إذا نظرت حولك عمومًا أو أمعنت النظر في الطبيعية خصوصًا، ستجد أنَّ الحركة في كل مكان وهي سمة الطبيعية الأساسية، فكلمة «حيوية» هي مصدر صناعي من «حياة» ويراد بها الفاعلية والنشاط. وتركبية جسم الإنسان وعدد مفاصله تؤكد أهمية الحركة التي تمثِّل سمة أساسية فيه. فمثل التحريك كَمَثل أي فنٍّ سواءً كان الشعر أو الرسم أو غيرهما من الفنون، وأصبح في عصرنا هذا علمًا يُدرّس وعملًا يُنجَز. هل خطر في ذهنك الآن أفلام الرسوم المتحركة؟ تمامًا، فهذا ما قصدته. لابد أنَّك تعرف ديزني وشخصيتها المشهورة ميكي ماوس والمحقق كونان وشهرة سلاسل المانغا اليابانية (أي القصص المصورة) وتطورها إلى رسوم متحركة (أنمي)؛ فكل ذلك أساسه الحركة والتحريك وإبداع الإنسان في توظيف الحركة في شتى المجالات. ظهور الحركات في الويب إن كنت من جيل الثمانينات والتسعينات، فلابد أنَّك زرت الكثير من المواقع التي كانت تستعمل حركات شتى مثل بطاقات لامعة أو نجوم مشعة أو قطط راقصة أو غيرها من الأشكال والتي كنت أراها مزعجة لي في بعض الأحيان؛ فلا أحب الاستعمال الزائد للحركة كثيرًا وكنت أهرب من المنتديات التي تفرط في استعمالها. أغلب ذلك كان يجري عبر تقنية Flash (الفلاش) التي أحدث ثورة في الحركات والتحريك آنذاك (بعد الصور المتحركة GIF). على أي حال، كانت ذلك يُسبِّب بطئيًا كبيرًا في تحميل الموقع مما يؤثر سلبًا عليه. في هذه الأيام ومنذ فترة ليست ببعيدة، ظهرت تقنيات حديثة يمكن عبرها إضفاء الحيوية والحركة إلى مواقع الويب وذلك عبر HTML و CSS وجافاسكربت وصور SVG دون أن تؤثر على الأداء تأثيرًا ملحوظًا أو سلبيًّا. وبالتالي، دخلت الحركة إلى أغلب عناصر الصفحة بأدق تفاصيلها. فلم يعد الغرض منها إضفاء الحيوية والمتعة للمستخدم فقط، بل تحسين تجربة وواجهة المستخدم أيضًا (UX/UI) مما يجعل الموقع أفضل وأسهل للاستخدام خصوصًا إذا كان موقع الويب (أو تطبيق الويب) تفاعليًّا مع المستخدم. أريد تعلم إنشاء الحركات، فمن أين أبدأ؟ حسنًا، إن اقتنعت بضرورة وأهمية الحركات في صفحات الويب، فقد تتساءل: من أين أبدأ وهل يوجد مرجع يشرح لي التحريك شرحًا كافيًا ووافيًا؟ أجيبك، نعم يوجد وبالعربية أيضًا. وفرنا في أكاديمية حسوب سلسلة مقالات عن تعلم التحريك في CSS والتي تأخذك خطوة بخطوة لإنشاء حركات احترافية وإضافتها إلى موقعك. هذه السلسلة هي ترجمة لفصول كتاب CSS Animation 101. ستغطي هذه المقالات المواضيع التالية: أولًا: ما هي الحركات؟ سنحاول أن نفهم سبب استخدام الحركات. سنقدم أيضًا الخاصيتين transition و animation، إضافة إلى بعض مصادر الإلهام. ثم: سنتحدث بتفصِيل عن الخاصية transition. ونتعلم كيفية عمل الانتقالات، والخاصيات التي تُمكّننا من التحكم في الحركة. بعد ذلك: سنركز على الخاصية animation، ونتعلم كيفية إنشاء الإطارات المفتاحية التي تتيح لنا فعل أشياء تتجاوز إمكانيات الانتقالات البسيطة. أخيرًا: سنجمع كل ما تعلمناه في الفصول السابقة. سندرس بعض الأمثلة المتقدمة التي تستخدم كلا الخاصيتين، ونتعلم الرابط بين الحركات وسهولة الوصول (accessibility)، ونشارك بعض مصادر CSS المفيدة التي يمكنك تطبيقها في مشاريعك، وأدوات JavaScript التي يمكن استخدامها لإنشاء تأثيرات أكثر تقدمًا. بعد قراءتك هذه السلسلة، ستفهم مبادئ التحريك في CSS فهمًا جيدًا، بالإضافة إلى الأدوات اللازمة لإنشاء الحركات وإضافتها إلى مشاريعك. تجمع مقالات هذه السلسلة بين الأمثلة النظرية والعملية. سوف تتعلم كيفية إعداد بيئة العمل الخاصة بك، وستطالع الكثير من الأمثلة العملية عن الحركات في ثنيّات الطريق. دروس نظرية: مبادئ الحركات والتحريك سأكتب عناوين مقالات سلسلة التحريك في CSS مع شرح مبسط عن ما ستتعلمه فيها هنا لسهولة الوصول إليها: 1. ما هي استخدامات الحركات؟ هذه المقالة هي أول مقالة في السلسلة وتناقش سبب إضافة الحركات وتبنيها في مواقع الويب وكيف يمكن أن يستفيد منها مصممو مواقع الويب. 2. تجهيز بيئة العمل لإنشاء الحركات ستتعلم في هذه المقالة كيفية تجهيز بيئة العمل لديك لإنشاء الحركات عبر CSS وتشغليها إضافةً إلى تحديد سير العمل. سيكون العمل إمَّا باستعمال المتصفح نفسه (سيكون الاعتماد غالبًا على CodePen) أو بتجهيز بيئة تطوير محلية. سيتطرق المقال إلى أداة البناء Gulp لأتمتة بعض العلميات الروتينية. 3. مدخل إلى الإنتقالات: التنقل بين الحالات تشرح هذه المقالة كيف يجري تحريك عنصر عبر توضيح مبدأ تحويل إحدى خصائصه وصفاته ونقلها تدريجيًّا بزمن محدَّد لتوليد شعور بالحركة. ستلقي هذه المقالة أيضًا نظرة تفصيلية على خاصية التحويل transition في CSS وكيفية استعمالها في ذلك الغرض مع أمثلة عملية. 4. مدخل إلى الحركات: مفهوم الحركة يشرح هذا المقال أولًا الفرق بين الإنتقال والحركة ويوضح كيف يُنفِّذ المتصفح حركة ما على عنصر. يعرِّفك هنا على خاصية الحركة animation في CSS شقيقة خاصية التحويل transition وكيفية استعمالها لإنشاء الحركات. يعرض أيضًا مثالين عمليَّين ويحللهما لفهم كيف تجري الحركة. يشرح أخيرًا متى تُستخدَم الحركة ومتى يُستخدَم الانتقال. 5. تطبيق عملي: الانتقالات تتعمق هذه المقالة في استعمال الخاصية transition وتعرض مثالًا عمليًّا عن تطبيقها على زر لتغيير حالته أثناء تحويم مؤشر الفأرة فوقه. تناقش المقالة أيضًا موضوع دعم هذه الخاصية عبر مختلف المتصفحات. 6. خاصيات الانتقالات تشرح هذه المقالة جميع خاصيات الانتقالات المرتبطة بالخاصية transition مع عرض بعض الأمثلة. أي أنها ستعرض الصياغة المختزلة والصياغة التفصيلية المطوَّلة لها. ستتطرق أخيرًا إلى شرح موضوع مهم يتعلق بالأشياء التي لا يطبَّق الانتقال عليها. 7. دوال التوقيت تتحدث هذه المقالة عن دوال التوقيت (timing function) وكيفية استعمالها مع الانتقالات المطبقة على العناصر، وتشرح أشهر أنواع دوال التوقيت المستعملة حاليًّا مع عرض صور وأمثلة توضيحية تساعد على فهمها. 8. الانتقالات المتعددة سترى في هذه المقالة ما يحدث عند تطبيق عملية انتقال واحدة على عنصر تغير فيه عدة حالات، أي كيف يمكن توليد حركة جديدة عبر تطبيق عملية انتقال واحدة على عنصر واحد تحدث له عدة تغييرات. يجري تطبيق ذلك على مثاليين عمليين ملهمين. 9. الانتقالات وجافاسكربت تتحدث هذه المقالة عن طريقتين لتطبيق الانتقالات على العناصر عبر استخدام لغة جافاسكربت هما: إضافة وإزالة الأصناف (أي إضافة تنسيقات مكتوبة مسبقًا أو إزالتها)، أو التحكم مباشرةً في الانتقالات (أي تعديل شيفرة CSS مباشرةً). 10. تطبيق عملي: التحريكات ستلقي هذه المقالة نظرة أعمق على الخاصية animation شيقية الخاصية transition والمكملة لها في توليد الحركات مع ذكر عدة تطبيقات عملية عليها. سيجري أيضًا شرح الإطارات المفتاحية (keyframes) وارتباطها الوثيق بتلك الخاصية وكونها أساس الحركة. 11. خاصيات الحركات تشرح هذة المقالة الصياغة المختزلة والصياغة التفصيلية المطوَّلة للخاصية animation وتشرح بعدها الخاصيات المرتبطة بها ووظيفة كل منها. تتطرق أخيرًا إلى كيفية استخدام دوال التوقيت ضمن الإطارات المفتاحية. 12. تطبيق عملي: الإطارات المفتاحية تلقي هذه المقالة نظرة أعمق على الإطارات المفتاحية (keyframes) وصياغتها وكيفية استعمالها مع الحركات لتحريك العناصر تحريكًا مخصَّصًا. سيجري شرح كل ذلك شرحًا تفصيليًّا عبر تطبيق عملي لتحريك زر حركة مُخصَّصة. 13. الحركات المتعددة المتزامنة تتحدث هذه المقالة عن كيفية استخدام عدة مجموعات من الإطارات المفتاحية (keyframes) لإنشاء حركة معقدة مؤلفة من عدة حركات تعمل بشكل متزامن مع بعضها بعضًا. المثال العملي في هذا الدرس هو إنشاء إشارة مرور. 14. موجز الحركات نتوقف هنا في هذه المقالة للالتقاط الأنفاس وأخذ استراحة بسيطة يجري فيها مراجعة وتلخص كل ما تعلمته مسبقًا في المقالات السابقة عن الحركات والانتقالات وتطبيقها لتحريك العناصر في CSS. 15. رواية القصص عبر الحركات تطبِّق هذه المقالة كل ما تعلمته مسبقًا لإنشاء حركات هادفة مفيدة، إذ تشرح مفهوم الصورة الرئيسية المستعملة بكثرة في الصفحات الرئيسية للموقع وصفحات الهبوط والتي تحكي هدف الوقع أو تُعلِّم كيفية استخدامه. 16. حرب النجوم (Star War) سنطبق في هذه المقالة كل ما تعلمته في المقالات السابقة لصنع حركة متجِهيًّة (SVG) مرحة، وذلك بالعمل على تحريك عنوان فيلم حرب النجوم من إعلان "The Force Awakens" ليظهر وكأنه ثلاثي الأبعاد. في أثناء ذلك، سيجري شرح الخاصية transform ودوالها‏ scale()‎ و translateZ()‎ و rotateY()‎. 17. إظهار المحتوى أثناء التمرير سوف تتعلم في هذه المقالة كيفية إظهار العناصر عند تمرير (scrolling) إليها وعرضها على نافذة المتصح مع إضافة حركة إليها. يعرض لتحقيق ذلك إطاري عمل هما: Wow.js و Animate.css مع عدم نسيان الدعم الذي يوفره Modernizr احتياطًا من أولائك المستخدمين الذين لا يشغّلون JavaScript لسبب ما. 18. سهولة الوصول تنتقل هذه المقالة بعيدًا عن الحركات للتحدث عن سهولة الوصول (accessibility)، إذ لا تقل عملية تسهيل وصول جميع الأشخاص للمحتوى أهمية عن عملية إنشاء الحركات. تدور رحى هذه المقالة حول مناقشة العبارة التالية: ما الفائدة من الحركات إن منعت بعض الأشخاص (مثل الذين يستخدمون قارئات الشاشة مثلًا) من الوصول إلى المحتوى وعرضه، أو سببت إزعاجًا لآخرين وأعاقتهم عن استخدام موقعك أو تطبيقك بأريحية وكفاءة. 19. نهاية الرحلة تعرض هذه المقالة الأخيرة من سلسلة التحريك في CSS بعض المصادر والمراجع المفيدة في إنشاء حركات متقدمة وتحاول توجيهك إلى الخطوات اللاحقة لتطوير نفسك والانتقال إلى مراحل متقدمة في مجال التحريك. دروس تطبيقية عملية @media screen and (min-width: 650px) { .response_image { width: 33%; display: inline-block; vertical-align: top; margin-top: 0px; } .response_descrip { width: 64%; display: inline-block; margin-right: 10px; vertical-align: top; margin-top: 0px; } } تحوي الأكاديمية على مقالات عدة تتحدث عن الحركات في CSS بمستويات متفاوتة ومواضيع متنوعة تصب جميعها في موضوع واحد ألا وهو «التحريك في CSS»، لذا جمعت لك جميع هذه المقالات لسهولة الوصول إليها من مكان واحد ولتكون لك مرجعًا تستعين به في المستقبل. مبادئ التحريك في صفحات الويب باستخدام CSS تشرح هذه المقالة المبادئ الاثنا عشر لأساسيات التحريك عبر CSS - المنشورة بكتاب عنوانه: "وهم الحياة: الرسوم المُتحركة في ديزني" - وتناقش كيف لها أنّ تُطبَّق في صناعة صفحات الويب مع أمثلة توضيحيّة وإتاحة الوصول إلى مصدر شيفرة HTML و CSS الخاصّة بهذه الأمثلة. تأثيرات حركية على عناصر قوائم HTML باستخدام CSS ستتناول هذه المقالة كيف يُمكن للحركات المُساعدة على تقديم مُحتوى جديد، وذلك عبر إظهار وإخفاء عناصر القوائم. تتطرق أيضًا إلى شرح كيفية استخدام JavaScript لإضافة عناصر جديدة إلى القائمة، إذ يجري تطبيق حركة عليها أثناء إظهارها. تحريك شبه العناصر (pseudo-elements) في CSS ستتعرف في هذه المقالة على كيفية استخدام عنصر زائف (pseudo-element) لإضافة تأثير بصري على زر في CSS. يشرح أولًا ماهية شبه العناصر (أو العناصر الزائفة) وفائدتها وكيفية الاستفادة منها في إنشاء الحركات، ثم ينتقل إلى كيفية توظيفها في إنشاء زر برَّاق عبر الحركات. تحريك زر تفضيل التغريدة الخاص بتويتر باستخدام CSS فقط يعرض هذه المقالة طريقة لمحاكاة حركة زر "التفضيل" في تويتر الذي حدثه مؤخرًّا المعتمدة على سلسلة من الصور ولكن ستجري عملية محاكاة الحركة وتقليدها باستعمال CSS مع دوال التوقيت بالإضافة إلى شرح مفهوم وهم الحركة. تنبيهات مؤقتة باستخدام CSS ستتعلم في هذه المقالة البسيطة كيفية عمل تنبيهات مؤقتة بحركة جميلة باستخدام CSS فقط حتى تخطر المستخدم بوجود شيء جديد. ما سيجري تطبيقه هو إظهار تنبيه بسيط أو عبارة ما أسفل الشاشة لمدة معينة، ثم إخفاؤها. وسنضيف شريط تقدم (progress bar) لنعرف كم تبقى من الوقت حتى يختفي التنبيه. كيفية إنشاء قائمة متحركة من نوع off-canvas في CSS يشرح هذا المقال كيفية إنشاء قائمة تنقل من النوع الذي يكون خارج الشاشة (off-canvas)، إذ ستتعلم ببناء شيء شبيه بهذه المعاينة (انظر إلى Demo2) بحيث تكون الأيقونة التي تفتح القائمة موجودة في أعلى يسار الشاشة والحد (border) يكون اسمك من جهة اليسار. تأثير الانتقال في مشهد فضائي يشرح هذا الدرس طريقة إنشاء تأثير الانتقال في مشهد فضائي يضم الأرض والقمر ، إذ يهتم المقال بتعليمك كيفية استخدام الانتقالات لدب الحياة في محتوى الصفحة، بالإضافة إلى إنشاء تأثيرات مرور الفأرة فوق العناصر لتبدو بأجمل مظهر. أضف إلى ذلك أنها تناقش مفهوم الانتقالات والحركات والفرق بينهما وأيهما يجب أن تستخدمه. كيف تنشئ ساعة ذات عقارب باستخدام تحريكات CSS و JavaScript يشرح هذا الدرس طريقة إنشاء ساعة متحركة باستخدام تأثيرات CSS و JavaScript. أساس إنشاء هذه الساعة سيكون باستخدام HTML و CSS وخلفية SVG إضافةً إلى بعض أسطر JavaScript. ستستعمل أيضًا التحريكات Animations والانتقالات Transitions في CSS، وسنعتمد على JavaScript لضبط التوقيت الابتدائي. تحريك وانتقال العناصر في CSS3 (الانتقال) يشرح هذا المقال كيفية تطبيق الانتقالات (الخاصية transition) على العناصر عبر في CSS فقط مع ذكر أهم خصائص العناصر القابلة للانتقال مع أمثلة عملية. يتطرق أيضًا إلى زمن وسرعة الانتقالات، والتأخير في الانتقالات، وكيفية تطبيق الانتقال بتعليمة واحدة مختزلة. تحريك وانتقال العناصر في CSS3 (التحريك) يكمل هذا المقال شرح مفهوم تحريك العناصر وتطبيق التأثيرات البصرية عبر الحركات (الخاصية animation) في CSS ويوضح كيفية تحريك العنصر بين عدة حالات مع أمثلة عملية. المواضيع التي يتحدث المقال عنها أيضًا هي الإطارات المفتاحية، ومدة الحركة ودوال التوقيت، وتأخير تشغيل الحركة، واتجاه الحركة وحالتها، وتخصيص الحركات، وكيفية تطبيق حركة بتعليمة واحدة مختزلة. تأثير الانتقال والحركة في CSS يُعرِّفك هذا المقال على تأثيرات الانتقالات (Transitions) والحركات (Animations) في CSS3 بالإضافة إلى الحديث عن دعم المتصفحات لها، والخصائص التي تسمح بتطبيق تأثيرات الانتقال عليها، ومدة وتوقيت تأثير الانتقال، والإطارات المفتاحية في الحركات، ودوال التوقيت، وأزمنة الحركات، وتكرار واتجاه وحالة الحركة، وغيرها. أفضل 25 مكتبة تحريك في CSS يعرض لك هذا المقال أفضل مكاتب التحريك في ‏CSS، والتي تساعدك في حفظ وقتك عند تصميم ‏موقع الويب الخاص بك من خلال استخدامك لهذه المكاتب التي تضفي بعض الديناميكية والتفاعل إلى ‏عملك، إذ تحوي هذه المكتبات على العديد من الحركات والمؤثرات لأي نوع من أنواع عناصر صفحات الويب كالنصوص، الصور، الإطارات، الأزرار، والبطاقات والعديد غيرها. تأثيرات إبداعية لإضافة وإزالة عناصر قائمة باستخدام تحريكات CSS يشرح هذا المقال استخدام الحركات (animations) والانتقالات (transitions) في CSS3 لإعطاء تأثيرات عند إضافة أو إزالة عناصر من قائمة بالإستعانة بتقنية التخزين المحلي للمتصفح، إذ من الضروري أن يكون للانتقالات والحركات هدف واضح ومحدّد، ألا وهو تحسين تجربة المستخدم. كيفية إنشاء قائمة تنقل دائرية باستخدام CSS Transforms يعلمك هذا المقال كيفية إنشاء قائمة تنقل (navigation) دائرية الشكل باستخدام الانتقالات في CSS. يراعي المقال شرح ذلك خطوة بخطوة بالإضافة إلى الحسابات والمنطق البسيط وراء هذه الطريقة حتى يتسنى لك فهم كيفية عمل هذه القائمة المميزة. استخدام المحدد target: ضمن CSS لإنشاء تأثيرات واجهة المستخدم UI بدون JavaScript يشرح هذا المقال كيفية استخدام المحدد target: ضمن CSS لتحديد وتنسيق مظهر العنصر أو الفقرة الموجودة ضمن نفس الصفحة والمعرفة عبر الخاصية href ضمن رابط ما، إذ يتم تطبيق هذه التنسيقات على العنصر الهدف عند النقر على ذلك الرابط بدون اللجوء لاستخدام JavaScript. يشرح المقال أيضًا كيفية استعمال الخاصية animation لتطبيق تنسيق ما بشكل متدرج.