لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 08/10/23 في كل الموقع
-
في مقال اليوم سوف نكتشف معًا لغة PHP بدءًا من التعرف على ماهية لغة PHP وطريقة عملها وأبرز مميزاتها وخطوات تعلمها وصولًا لكتابة البرنامج الأول باستخدامها. فسواء كانت لديك خبرة مسبقة في إحدى لغات البرمجة أو كنت مبتدئًا وتتعلم البرمجة للتو فإن هذا الدليل بمثابة نقطة انطلاق رئيسية في رحلة تعلم لغة PHP. ما هي لغة PHP؟ لغة PHP هي لغة برمجة قوية مفتوحة المصدر طورها المبرمج الدنماركي راسموس ليردورف عام 1994 ويأتي اسمها من اختصار عبارة PHP: Hypertext Preprocessor وهي لغة برمجة تعمل من طرف الخادم Server-side وهذا يعني أن كل الشيفرات البرمجية المكتوبة بهذه اللغة لن تنفذ على جهاز الحاسوب المحلي الخاص بالمستخدم والذي يسمى العميل Client بل تنفذ على جهاز حاسوب بعيد يسمى الخادم Server يخزن صفحات موقع الويب المكتوبة بلغة PHP ويرسلها للمستخدم عند الطلب. تطورت لغة PHP بشكل كبير منذ إطلاقها لأول مرة وهي تتحسن باستمرار وتضاف لها الكثير من الميزات مع كل إصدار، -أحدث إصدار PHP لحظة كتابة هذا المقال هو PHP is 8.2 الصادر في مايو 2023- وهي اليوم واحدة من أشهر لغات البرمجة المستخدمة في تطوير مواقع وتطبيقات الويب الديناميكية فما يزيد عن 77% من مواقع الإنترنت بحسب W3tech تستخدم لغة PHP، وتستخدمها شركات كبرى في تطوير مواقعها مثل شبكة التواصل الاجتماعي الشهيرة فيسبوك وويكيبيديا وجامعة هارفارد مما يدل على مدى قوتها ويعزز مصداقيتها. مصطلحات أساسية تحتاجها قبل تعلم PHP تستخدم لغة PHP بشكل أساسي في تطوير مواقع وتطبيقات الويب، لذا قد تصادفك خلال رحلة تعلمها مجموعة من المصطلحات الأساسية التي تحتاج لفهمها كمبتدئ قبل الغوص في تفاصيل اللغة، وإليك شرحًا مختصرًا لأهم هذه المصطلحات: موقع الويب Website: هو عبارة عن مجموعة من الصفحات الإلكترونية المرتبطة مع بعضها البعض والتي تتضمن محتوى مختلف كالنصوص والروابط والصور وغيرها. ويتكون أي موقع إلكتروني من واجهة أمامية تشمل كل ما تراه على الموقع وتتفاعل معه من صور ونصوص وأزرار وواجهة خلفية مخفية تكون مسؤولة عن تخزين بيانات الموقع واستردادها وعرضها وهي التي تجعل الموقع يعمل بشكل صحيح، يمكن استخدام عدة لغات في برمجة مواقع الويب، وبعد الانتهاء من برمجته تخزن كافة ملفاته على استضافة أو بمعنى أدق على خوادم الويب التي توفرها الاستضافة وبهذا يمكن الوصول إليه من قبل المستخدمين وعرضه باستخدام متصفحات الإنترنت. المتصفح Browser: هو برنامج أو تطبيق مثبت على جهاز المستخدم (العميل) يستخدم لتصفح الإنترنت وعرض صفحات الويب، فهو المسؤول عن إرسال طلب عرض صفحات الويب إلى الخادم من خلال كتابة عنوان URL للصفحة المطلوبة في شريط مخصص ضمن التطبيق، ومن أبرز الأمثلة على متصفح إنترنت نذكر: جوجل كروم وفايرفوكس ومايكروسوفت إيدج. خادم الويب Server: هو عبارة عن جهاز حاسوب بمواصفات خاصة يخزن محتوى مواقع الويب ويكون مسؤولًا عن تشغيلها وعرضها عند الطلب، توجد أنواع عديدة من خوادم الويب مثل خادم Apache و Nginx وخادم IIS من مايكروسوفت. بروتوكولات الإنترنت Internet protocols: هي آلية تسمح بنقل البيانات عبر الإنترنت وأشهرها بروتوكول HTTP المستخدم لتبادل البيانات بين المتصفح والخادم والذي يعتبر بمثابة لغة يستخدمها المتصفح والخادم للتواصل مع بعضهما لعرض صفحات الويب عبر الإنترنت، وبروتوكول HTTPS الآمن الذي يشفر البيانات قبل نقلها. كانت هذه أهم المصطلحات التي تحتاج لمعرفتها قبل البدء بتعلم أساسيات لغة PHP، ولمزيد من التفاصيل حول آلية عمل الويب أنصح بمطالعة مقال الفرق بين صفحة الويب وموقع الويب وخادم الويب ومحرك البحث ومقال آلية عمل شبكة الانترنت. دورة تطوير تطبيقات الويب باستخدام لغة PHP احترف تطوير النظم الخلفية وتطبيقات الويب من الألف إلى الياء دون الحاجة لخبرة برمجية مسبقة اشترك الآن كيفية عمل لغة PHP PHP هي لغة برمجة تعمل من طرف الخادم كما ذكرنا مسبقًا، لذا تحتاج لفهم آلية عمل الخادم نفسه كي تفهم طريقة عرض صفحات الويب المكتوبة بلغة PHP، بداية يجب أن يملك الخادم تطبيقًا خاصًا قادرًا على فهم ومعالجة أكواد PHP يسمى هذا التطبيق PHP interpreter، أما من طرف العميل فيجب توفر متصفح ويب واتصال بالإنترنت. عندما يطلب العميل صفحة PHP معينة من خلال المتصفح يستلم الخادم هذا الطلب ويتحقق من توفر الصفحة المطلوبة ويبدأ بمعالجتها، وقد يحتاج للاستعلام من قواعد بيانات الموقع لجلب البيانات المطلوب عرضها في الصفحة ثم يقوم بإعادة إخراج البيانات المطلوبة على شكل صفحة ويب بتنسيق HTML ويرسلها للمتصفح الذي يفهمها ويعرض النتيجة النهائية على جهاز العميل. كما تلاحظ من الصورة أعلاه تتم معالجة طلب العميل بالطريقة التالية: يرسل العميل طلبًا إلى الخادم لعرض صفحة ويب PHP. يعالج الخادم طلب العميل ويبحث عن الصفحة المطلوبة. يبدأ الخادم بمعالجة الصفحة وتنفيذ أكوادها. يجلب الخادم المحتوى المطلوب من قاعدة البيانات ويعرضه في الصفحة من قاعدة البيانات. يعيد الخادم نتيجة المعالجة النهائية بصيغة HTML إلى العميل. تظهر الصفحة النهائية على متصفح العميل. ما استخدامات PHP؟ قد تتساءل ما الذي يمكنني عمله عند تعلم لغة PHP؟ في الواقع يمكن من خلال تعلم لغة PHP إنجاز العديد من المهام ومن بينها: تطوير مختلف أنواع المواقع وتطبيقات الويب الديناميكية بدءًا من المدونات البسيطة وصولًا للمتاجر الإلكترونية الضخمة. أتمتة المهام المتكررة مثل تحميل بيانات من الإنترنت أو تنفيذ كود معين دوريًا كأخذ نسخة احتياطية من البيانات أو غيرها من المهام. إدارة الخوادم ومعالجة الملفات المخزنة عليها. التحقق من صحة بيانات نماذج الويب forms ومعالجتها وتخزينها. إدارة البيانات المخزنة في قاعدة بيانات الموقع. تشفير البيانات وحمايتها أثناء النقل أو التخزين من وإلى الخادم. تطوير مواقع متعددة المستخدمين وضبط صلاحيات وصول كل مستخدم لمتحوى محدد من الموقع. إرسال رسائل البريد الإلكتروني بسهولة بفضل ما توفره من مكتبات خاصة بالبريد الإلكتروني. احصل على موقع إلكتروني مخصص لأعمالك أبهر زوارك بموقع احترافي ومميز بالاستعانة بأفضل خدمات تطوير وتحسين المواقع على خمسات أنشئ موقعك الآن إيجابيات وسلبيات PHP بالرغم من شهرة وقوة لغة PHP في تطوير تطبيقات ومواقع الويب الديناميكية إلا أنها لا تخلو من بعض المعوقات شأنها شأن أي تقنية، وفي الفقرات التالية سنعرفك على أبرز إيجابيات وسلبيات لغة PHP. إيجابيات لغة PHP فيما يلي قائمة بأبرز المميزات والفوائد التي تتميز بها لغة PHP: بسيطة وسهلة التعلم للمبتدئين. لغة حرة ومفتوحة المصدر. توفر مجتمع دعم كبير جاهز لمساعدتك في حال واجهتك أي مشكلة. سريعة ومع كل إصدار جديد تصبح PHP أسرع من ذي قبل. مليئة بالميزات الرائعة التي تجعلها من اللغات القوية المنافسة للغات الأخرى مثل بايثون أو جافا، خصوصًا في الإصدارات الحديثة مثل PHP 8. تصلح لتطوير كافة أنواع المواقع بدءًا من المدونات البسيطة وصولًا للمتاجر الإلكترونية الضخمة. متوافقة مع كل خوادم الويب وأنظمة التشغيل. متوافقة مع جميع أنواع قواعد البيانات. توفر الكثير من المكتبات وأطر العمل مثل لارافيل Laravel وكود إغنيتر CodeIgniter التي تسهل عمل المطورين وتسرع عملهم. تستخدم في تطوير أشهر أنظمة إدارة المحتوى CMS مثل ووردبريس WordPress ودروبال Drupal. سلبيات لغة PHP فيما يلي قائمة ببعض الجوانب السلبية التي تؤخذ على لغة PHP: لغة PHP لغة مخصصة بتطوير الواجهات الخلفية لمواقع الويب، وصحيح أنك تستطيع تطوير تطبيقات عامة بسيطة، لكن هنالك لغات أفضل منها تسهل عليك العمل في مجالات عامة مثل تطوير تطبيقات سطح المكتب أو التعامل مع مكتبات تعلم الآلة. لا تناسب لغة PHP تطوير الواجهات الأمامية لمواقع الويب لذا تحتاج لتعلم لغات وتقنيات أخرى في حال رغبت في العمل كمطور ويب كامل Full-stack developer. بالرغم من كون لغة PHP آمنة إلا أن كونها لغة شائعة الاستخدام ومفتوحة المصدر يشجع على استغلالها قبل المخترقين الذين يستغلون أي ثغرات أمنية تؤثر على تطبيقات PHP لتنفيذ الهجمات على المواقع، لذا من المهم إبقاء مواقعك محدثة إلى آخر الإصدارات من PHP. تعد من اللغات ضعيفة التنميط weakly-typed بمعنى أنك قادر على تخزين رقم في متغير ما ثم تخزين نص في نفس المتغير وهذا الأمر يجعل اللغة أكثر مرونة لكنه قد يسبب أخطاء غير متوقعة في التطبيقات. أضافت الإصدارات الحديثة بدءًا من PHP 7 إمكانية تحديد أنواع المتغيرات والقيم الممررة إلى الدوال والمعادة منها، يمكن للمطورين الاستفادة من هذه الميزات لتحسين تطبيقاتهم الجديدة. ما الفرق بين PHP و Laravel؟ الجواب باختصار هو أن PHP هي لغة برمجة أما لارافيل Laravel فهو إطار عمل framework يعتمد على لغة البرمجة PHP، بمعنى آخر تعد PHP لغة برمجة لتطوير تطبيقات الويب الديناميكة من طرف الخادم وباستخدامها ستكون مسؤولًا عن كتابة كامل الشيفرات البرمجية لتحقيق كافة وظائف الموقع مثل أكواد الاتصال مع قواعد البيانات والتحقق من هوية المستخدم وغيرها من المهام من الصفر. أما لارافيل Laravel فهو إطار عمل مفتوح المصدر مبني باستخدام لغة PHP يسهل عليك عملية تطوير مواقع وتطبيقات الويب بشكل كبير فهو يوفر الكثير من المكونات والحزم الجاهزة التي يمكنك استخدامها لتسريع عملك بدلًا من كتابة كل شيء من الصفر، فمن خلال استخدام لارافيل لن تحتاج على سبيل المثال إلى كتابة أكواد طويلة ومفصلة للتحقق من هوية المستخدم فهو يوفر نظام مصادقة مدمج كما يوفر واجهات برمجية سهلة للاتصال بسهولة مع قواعد البيانات والتفاعل معها. وإذا كنت مهتمًا بالاطلاع على المزيد من التفاصيل حول مفهوم أطر العمل وطريقة عملها وأهمية الاعتماد عليها في عملية التطوير أنصحك بمطالعة مقال: تعرف على مفهوم إطار العمل Framework وأهميته في البرمجة. كتابة أول برنامج PHP قبل أن تتمكن من كتابة كود PHP وتشغيله PHP في جهازك ستحتاج لتوفر بعض البرامج الأساسية على جهازك وهي: استخدام أحد برامج تحرير النصوص لكتابة أكواد PHP، يمكنك استخدام أي محرر بسيط كالمفكرة أو أو اعتماد محرر أكواد مخصص مثل فيجوال ستوديو كود VSCode أو ++Notepad أو أي محرر مناسب يساعدك على كتابة الشيفرات البرمجية للغة PHP بسرعة وكفاءة. تثبيت محرك للغة PHP Engine على حاسوبك لتشغيل شيفرات PHP. تثبيت برنامج خادم مثل أباتشي Apache ليحول حاسوبك إلى خادم محلي قادر على معالجة طلبات عرض الصفحات. تثبيت برنامج مخصص لإدارة قواعد البيانات باستخدام لغة مثل MySQL لإنشاء قاعدة بيانات الموقع وتخزين المعلومات بشكل دائم وعرضها عند الطلب. يمكنك بدلًا من تثبيت البرامج الثلاثة الأخيرة الاعتماد على بيئة تطوير محليةمتكاملة مثل XAMPP المتوافق مع كافة أنظمة التشغيل أو WAMP المخصص لأنظمة ويندوز أو MAMP المخصص لأنظمة تشغيل ماك والتي تمكنك من تشغيل البرامج المكتوبة بلغة PHP بكل سهولة، حيث ستوفر لك بيئة التطوير البرامج مفسر للغة البرمجة PHP وخادم أباتشي محلي وقاعدة بيانات MySQL وتجمعها في حزمة واحدة، يمكنك مطالعة المزيد من التفاصيل حول تثبيت بيئة تطوير PHP على مختلف أنظمة التشغيل من خلال مقال البدء مع PHP والتعرف على أنواع البيانات فيها. بعد الانتهاء من تحويل جهازك المحلي إلى خادم وإعداد بيئة العمل ستكون جاهزًا لكتابة أول برنامج PHP وعرض نتائج تنفيذه في المتصفح. تكتب ملفات PHP ضمن المجلد الجذر للخادم لتمكين الوصول لها من قبل المتصفح، وهذا المجلد يختلف من تطبيق لآخر على سبيل المثال في حال تثبيت الخادم XAMPP في المسار C:\xampp ستجد المجلد في المسار C:\xampp\htdocs وفي حال كنت تستخدم WAMP سيكون اسم المجلد الجذر هو www، انتقل للمجلد الجذر لخادمك وأنشئ ضمنه مجلد بأي اسم تختاره وليكن learnphp ضمن هذا المجلد ستضع كافة ملفات PHP الخاصة بموقعك. أنشئ ضمن هذا المجلد ملف باسم helloworld.php وحرره باستخدام محرر النصوص المفضل لديك واكتب بداخله الكود التالي: <?php echo "Hello World!<br>"; echo "هذا هو البرنامج الأول في تعلم لغة بي إتش بي"; كما تلاحظ في الكود أعلاه تكتب أكواد PHP عادة بين الوسمين <?php و ?> لكن انتبه لأن كتابة وسم إغلاق PHP الأخير ?> في حال كان موقعه في نهاية الملف هو أمر اختياري، وينصح بحذفه لتجنب قيام محرر النصوص بإلحاق حرف خاص مخفي بعد هذا العلامة ويتسبب بعرض فراغات أو رموز غير مقصودة بعد وسم إغلاق PHP يستدعي الكود أعلاه الدالة echo التي تطبع ببساطة النص المكتوب بعدها، ما نريده الآن هو تنفيذ الكود أعلاه وعرض نتيجة التنفيذ في المتصفح، للقيام بذلك اكتب في متصفح الانترنت localhost أو 127.0.0.1 في والذي يشير إلى عنوان جهاز الحاسوب الخاص بك يليه اسم المجلد learnphp اسم الملف helloworld.php مع الفصل بينها بشرطات مائلة كما يلي. http://localhost/learnphp/helloworld.php أو http://127.0.0.1/learnphp/helloworld.php الآن اضغط على مفتاح Enter للانتقال للعنوان المطلوب، ستظهر لك النتيجة بالشكل التالي عادة لا تكتب أكواد PHP لوحدها بل تدمج مع أكواد HTML، وتذكر أن PHP هي لغة برمجة تنفذ من طرف الخادم تستخدم لإنشاء محتوى ديناميكي في موقع الويب، لذا يفيد دمجها مع لغة HTML في هيكلة هذا المحتوى الديناميكي وتنظيم طريقة عرضه في متصفح الويب، كما يمكن أن يساعد دمج كود PHP مع HTML في كتابة أكواد HTML ديناميكية تعرض في الصفحة بناءً على متغيرات وشروط برمجية مكتوبة بلغة PHP. على سبيل المثال دعنا نعدل كود الملف السابق وندمج كود PHP مع كود HTML كما يلي: <!DOCTYPE html> <html> <head> <title>PHP and HTML</title> </head> <body> <h1> <?php echo "Hello World!<br>"; echo "هذا هو البرنامج الأول في تعلم لغة بي إتش بي"; ?> </h1> </body> </html> عندما تتم معالجة كود PHP أعلاه من قبل الخادم سينشئ الخادم صفحة HTML مع تضمين المحتوى الديناميكي بداخلها ويرسل HTML الذي تم إنشاؤه إلى متصفح الويب الخاص بالمستخدم لعرض النتيجة النهائية كما في الصورة التالية: تهانينا! إذا وصلت إلى هنا وتمكنت من تنفيذ الكود السابق بنجاح ستكون قد نجحت في أول خطوة في تعلم لغة PHP ونفذت برنامجك الأول باستخدامها. كيفية تعلم لغة برمجة PHP قبل أن تقرر البدء بتعلم لغة برمجة PHP يجب عليك أن تمتلك معرفة أساسية بلغات الويب الأساسية HTML و CSS وجافا سكريبت JavaScript التي تعمل من طرف العميل لأن هذه اللغات كما ذكرنا مسبقًا تدمج مع أكواد PHP، بعدها يمكن أن تباشر رحلة تعلم لغة PHP من خلال اتباع الخطوات التالية: تعرف على طريقة تحويل حاسوبك المحلي إلى خادم وكيفية تثبيت PHP عليه وطريقة كتابة أكواد PHP وتنفيذها. تعلم ما هي الثوابت والمتغيرات في PHP ومتى نستخدم كل منها. تعرف على أنواع البيانات الأساسية في لغة PHP مثل البيانات الرقمية والنصية والمنطقية. تعرف على طريقة طباعة قيم المتغيرات في PHP. تعرف على المعاملات Operators في PHP وأنواعها المختلفة وأولوية تنفيذها. تعرف على بنى التحكم والحلقات التكرارية في PHP وكيف تساعدك على التحكم في سير تنفيذ الأكواد البرمجية. تعرف على مفهوم الدوال في PHP وما هي أهم الدوال المدمجة في PHP وكيف تكتب دوال مخصصة واستدعاءها في الكود. تعرف على بنى معطيات أكثر تقدمًا مثل المصفوفات والمصفوفات الترابطية وكيفية التعامل معها واستخدامها في تطبيقات عملية. تعلم كيفية معالجة نماذج HTML باستخدام لغة PHP والتحقق من صحة بياناتها وطريقة تخزينها في قواعد البيانات. تعلم طريقة التعامل مع الجلسات وملفات تعريف الارتباط في PHP. كيف تستخدم قواعد البيانات في PHP. تعلم البرمجة كائنية التوجه OOP في PHP وكيفية إنشاء الأصناف والكائنات البرمجية. تعرف على مفهوم إدارة الحزم والمكتبات وطريقة إدارتها باستخدام Composer. ابدأ بتطوير مواقع ويب بسيطة متكاملة تتضمن عدة صفحات ولوحة تحكم باستخدام PHP مع قواعد البيانات MySQL. تعلم طريقة مفهوم واجهة برمجة تطبيقات وكيف تنشئ واجهة REST بسيطة تمكنك من ربط تطبيقات PHP الخاصة بك بخدمات وأنظمة أخرى. تعلم طريقة تطوير التطبيقات باستخدام نموذج التصميم MVC وكيفية استخدام أحد أطر عمل PHP التي تتبع هذا النموذج مثل مثل لارافيل Laravel وكود إغنيتر CodeIgniter وابدأ بتطوير مواقع وتطبيقات احترافية باستخدامه. طور مهاراتك باستمرار وتعلم كيف تحسن الكود البرمجي وتتتبع أفضل الممارسات البرمجية لتنتج تطبيقات آمنة وعالية الجودة. كانت هذه أهم الخطوات التي تضمن لك بأن تصبح مبرمج PHP محترف قادر على إنشاء أي نوع من التطبيقات والمواقع، كل ما عليك بعد إكمال هذه الخطوات هو البحث عن فرصة مناسبة في سوق العمل أو عرض خدماتك في مواقع العمل الحر مثل مستقل أو خمسات أو يمكنك إنشاء شركة تطوير خاصة بك والعمل على تطوير مواقع لعملاء حقيقيين في سوق العمل يعزز مهاراتك بشكل كبير. مصادر تعلم لغة PHP يمكنك تعلم لغة PHP من خلال الدراسة الجامعية والالتحاق بإحدى الكليات التقنية المتخصصة وهو طريق طويل ويستغرق وقتًا، أو من خلال التعلم الذاتي لاختصار الوقت والجهد، فلحسن الحظ تعلم PHP بشكل ذاتي أمر يسير وسهل نظرًا لشهرتها وتوفر كم هائل من مصادر التعلم الجيدة لهذه اللغة من كتب ودروس ومقالات ومقاطع فيديو ومعسكرات تدريبية ودورات تدريبية عبر الإنترنت يمكنها أن تساعدك في بدء التعلم والارتقاء بمستواك البرمجي. لكن كثرة المصادر وتنوعها على أهميته إلا أنه قد يصيبك بالتشتت لذا إذا كنت تبحث عن مصدر واحد يوفر لك كل ما تحتاجه لتعلم لغة PHP ودخول سوق العمل فيمكنك الاطلاع على دورة تطوير تطبيقات الويب باستخدام لغة PHP من أكاديمية حسوب التي توفر لك محتوى فيديو غني يبدأ معك من أساسيات PHP وينتهي بك بتطوير مواقع احترافية بأشهر أطر عملها لارافيل Laravel وأشهر نظام إدارة المحتوى ووردبريس WordPress، تتوزع الدورة على أكثر من 10 مسارات شاملة ومتنوعة تعلمك كل ما تحتاجه لتدخل سوق العمل بزمن قياسي، فهي تركز على التطبيق العملي إلى جانب الشرح النظري كما توفر لك فريقًا من المدربين يتابعك طيلة فترة التعلم ويجيب على أي تساؤل أو مشكلة تعترضك، أضف إلى ذلك ستحصل في نهاية الدورة على شهادة معتمدة من أكاديمية حسوب تضاف إلى سيرتك الذاتية وتعزز فرصتك في سوق العمل. كما يمكنك الاطلاع على توثيق PHP في موسوعة حسوب التي توفر لك شرحًا متكاملًا باللغة العربية يعرفك على ماهية لغة PHP وأهم مميزاتها ويشرح لك كل ما يتعلق باللغة وكتابة شيفراتها البرمجية بدءًا من تعلم المتغيرات وأنواع البيانات والشروط والحلقات وصولًا للمواضيع البرمجية المتقدمة. هل تريد المزيد، ستجد في أكاديمية حسوب الكثير من الدروس والمقالات والسلاسل التعلمية المتكاملة حول PHP إلى جانب كتب البرمجة الشاملة التي تفيدك مهما كان مستواك البرمجي، وأخيرًا يمكنك متابعة صفحة الأكاديمية على يوتيوب وستجد فيها العديد من مقاطع الفيديو المفيدة التي تعرفك على لغة PHP بأسلوب مبسط وسهل، وتوضح أهم الفروقات بينها وبين لغات البرمجة والتقنيات الأخرى. الخلاصة تعرفنا في مقال اليوم على لغة PHP وأبرز مميزاتها واستخداماتها وتعرفنا على أهمية تعلمها لتطوير مواقع ويب ديناميكية، فإذا كنت مهتمًا بمجال تطوير الويب أنصحك أن تبدأ مباشرة بتعلم PHP فهي لغة قوية ومطلوبة في سوق العمل ومن الضروري بعد ذلك أن تتعلم أحد تعلم أطر عمل PHP مثل لارافيل Laravel فهذا يكسبك ميزة تنافسية ويعزز إنتاجيتك في تطوير مواقع احترافية بزمن قياسي. اقرأ أيضًا تعلم PHP اصطلاحات ومواضيع متفرقة مهمة لكل مبرمج PHP التعامل مع الأخطاء في PHP ممارسات الأمن والحماية في تطبيقات PHP دليل مطوّري PHP للبدء في بناء تطبيقات Laravel1 نقطة
-
كيف اعرف الدوال التي ينشأؤها المدرب ما هي وما وضيفتها من دون ان اضيف تعليق اسفل الشرح او الدوال التي تكون من نفس node or JavaScript1 نقطة
-
1 نقطة
-
مبتدىء فى التعلم واجهتنى مشكله عندما اضع كود ربط css و Js الخاصين بملفات Bootstrap فان ملف css يعمل وملف Js لا يعمل ( اقول ذلك لانه لا يوجد اى تأثير عند الضغط على الازرار او فتح dropmenue تم اخذها من موقع bootstrap ) هذا هو الكود الموجود فى header فى Html <link rel="stylesheet" href="bootstrap/bootstrap.min.css"> <script src="bootstrap/bootstrap.min.js"></script> وهذه صورة الملفات الموجود1 نقطة
-
السلام عليكم، هل يمكنني بعد تخرج من دورات تطوير واجهة المستخدم وعلوم الحاسوب العمل في شركات ؟1 نقطة
-
يبدو أنك نسيت إضافة مكتبة Popper اللازمة لعمل ال bootstrap، و نقوم بإضافتها قبل ال script الخاص بال bootstrap كما يلي: <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script> تحياتي.1 نقطة
-
هذا هو المشروع اخى الحبيب اانى اتعلم فيه Bootstrap ارجو من حضرتك تقولى ايه المشكله عشان اتعلم شاكر ليك Bootstrap Learn Project.rar1 نقطة
-
<button onclick="removeHandler()">Remove</button> <p id="demo"></p> <script> document.addEventListener("mousemove", myFunction); function myFunction() { document.getElementById("demo").innerHTML = Math.random(); } function removeHandler() { document.removeEventListener("mousemove", myFunction); } </script> في هذا المثال قمت بستعمال عمليات الاسترجاع callback funcation وعند تحريك المواس يتولد رقم عشوائي السؤال ليس هنا السؤال هو document.addEventListener("mousemove", document.getElementById("demo").innerHTML = Math.random()); عند تنفيذ هذا الامر بدون callback (عمليات الاسترجاع) ينفذ الامر مره واحده عند التشغيل اما عند استعمال callbak ينفذ طليه تحريك المؤشر الماوس على الشاشه هل هذا يعني ان الدوال تعمل loob على الكود ام ماذا ولماذا تم تنفيذ الامر مره واحده؟ في document.addEventListener("mousemove", document.getElementById("demo").innerHTML = Math.random()); const myTimeout = setTimeout(document.getElementById("demo").innerHTML = "Happy day!", 5000); و ايضا تم تنفيذ هذا الامر مباشره دون انتضار 5 secnd ?1 نقطة
-
أنت تقصد addEventListener، صحيح؟ في حال أردت تنفيذ أمر معين عند حدوث حدث محدد، عليك إما تمرير دالة callback لكي يتم استدعائها عند وقوع الحدث، أو كتابة دالة يتم استدعائها عند وقوع الحدث وليس كتابة الكود بشكل مباشر، أي نكتب دالة كالتالي بدلاً من callback: function randomNumberGenerator() { return Math.random(); } document.addEventListener("mousemove", function(e) { document.getElementById("demo").innerHTML = randomNumberGenerator(); });1 نقطة
-
اذا لماذا نستعمل callback في حين ان العمليه تعمل دون callback function?1 نقطة
-
كود لبرنامج بلغة php يقوم بطباعة العنصر المتكرر داخل المصفوفة بدون استخدام الدوال باستخدام امر الطباعة echo1 نقطة
-
هناك خلط في الفهم بين كيفية استخدام وتسجيل الحدث (event listener) وكيفية تعيين دالة كولباك (callback function). عند استخدام addEventListener مثلما هو موضح في المثال الأول: document.addEventListener("mousemove", myFunction); هذا يعني أننا نقوم بتعيين دالة myFunction كدالة استجابة لحدث "mousemove" ،وتلك الدالة ستُستدعى في كل مرة يتم فيها تحريك الماوس على الشاشة، وسيتم تنفيذ الكود الموجود في داخل الدالة في كل مرة. أما الشيء الذي قمت بتجربته: document.addEventListener("mousemove", document.getElementById("demo").innerHTML = Math.random()); هناك خطأ في الاستخدام، لأنك تقوم بتعيين نتيجة تقييم تعبير document.getElementById("demo").innerHTML = Math.random() كدالة استجابة للحدث "mousemove"، وذلك ليس هو الهدف المطلوب. بالنسبة للجزء الثاني من السؤال، عند استخدام setTimeout، يجب تمرير دالة كولباك كمعامل أول والوقت الذي يجب أن تنتظره كمعامل ثاني. لذلك، يجب استخدامه بهذه الطريقة: const myTimeout = setTimeout(function() { document.getElementById("demo").innerHTML = "Happy day!"; }, 5000); وذلك سيؤدي إلى تغيير نص العنصر برقم عشوائي بعد مرور 5 ثواني من تنفيذ السكريبت.1 نقطة
-
ممكن رابط الاكواد المكتوبه لكل درس ليسهل مذاكراتها بدل من الرجوع للفديو مره أخرى1 نقطة
-
السلام عليكم هل يتم تطبيق flex فقط في الكونتينر ؟ ام يتم اضافة المزيد من الخصائص في الابناء؟1 نقطة
-
يتم تطبيق الخاصية على الأب ويؤثر ذلك بطبيعة الحال على العناصر الأبناء، من حيث تموضعها وتوزيعها سواء على المحور الأفقي أو العمودي بداخل هذا الحاوي الأب. ولذلك فإن تأثيرها يظهر على الأبناء في حين أنه يتم تطبيق الخواص على الأب. على الرغم من ذلك، يمكنك أيضًا استخدام بعض الخصائص الأخرى في العناصر الابناء لتخصيص التصميم بشكل أفضل. مثلاً، يمكنك استخدام الخصائص المُشابهة لـ Flexbox مثل align-self و order لضبط محاذاة وترتيب العناصر داخل الكونتينر. مثال: نفترض أن لدينا كونتينر (عنصر أب) يحتوي على عدة عناصر أبناء (عناصر فرعية) ونرغب في استخدام تقنية Flexbox لتوزيعها وتنسيقها: <div class="container"> <div class="child">عنصر 1</div> <div class="child">عنصر 2</div> <div class="child">عنصر 3</div> </div> .container { display: flex; align-items: center; /* محاذاة العناصر عموديًا في المنتصف */ } .child { padding: 10px; background-color: #f0f0f0; } النتيجة:1 نقطة
-
توجد العديد من المواقع التي تقدم خدمة تصميم صفحة واحدة مع وحدة تحكم لإدارة المحتوى، منها: Wix - يوفر قوالب جاهزة لتصميم صفحة واحدة ويمكن إضافة وحدة تحكم بسيطة لإدارة المحتوى. WordPress - يمكن استخدامه لتصميم صفحة واحدة بسهولة وإضافة وحدة تحكم متكاملة. Webflow - يوفر تصميم احترافي لصفحة واحدة مع إمكانية التحكم الكامل بالمحتوى. Squarespace - منصة سهلة الاستخدام لتصميم صفحة واحدة أنيقة مع إمكانية إدارة المحتوى. بناء الصفحة ووحدة التحكم من الصفر قد يكون خيارًا مناسبًا إذا كان لديك المهارات التقنية اللازمة، إلا أنه سيتطلب المزيد من الوقت والجهد. الاستعانة بإحدى منصات الجاهزة أسرع وأسهل خاصةً لصفحة بسيطة مع متطلبات محدودة.1 نقطة
-
بعد التخرج من دورة علوم الحاسوب سيكون لديك المعلومات النظرية الكافية اللازمة ﻷي مبرمج حول الحاسوب و كيفية عمله و كيفية التفكير البرمجي، و لكنها بالطبع لن تضمن لك وظيفة و لكنها ضرورية من أجل باقي الدورات التطبيقية التي تقوم بشرح إطار عمل. أما عند التخرج من دورة تطوير واجهة المستخدم سيصبح لديك كافة المعلومات اللازمة للدخول في مجال تطوير واجهات المستخدم و العمل في هذا المجال، و لكن هذا وحده غير كافٍ، فعليك محاولة القيام ببعض المشاريع لوحدك حتى تضعها في ال CV الخاص بك عند التقديم، حيث أن مشروع واحد فقط لا يكفي للقبول بشكل عام. و لذلك قم بإنهاء هذه الدورات و القيام ببعض المشاريع لتضعها في ال CV ثم حاول التقديم على بعض الشركات، كما يمكنك محاولة التقديم على مشاريع العمل الحر على مستقل مثلاً.1 نقطة
-
جرب أن تضع / قبل مسار الملفات حتى يتم اعتبار هذا المسار هو مسار نسبي relative path. أي يمكنك كتابة ما يلي: <link rel="stylesheet" href="/bootstrap/bootstrap.min.css"> <script src="/bootstrap/bootstrap.min.js"></script> في حال لم ينجح الأمر أيضاً جرب وضع نقطة يليها / أي يصبح كما يلي: <link rel="stylesheet" href="./bootstrap/bootstrap.min.css"> <script src="./bootstrap/bootstrap.min.js"></script> يفترض أن يعمل بعد هذا التعديل، في حال لم يعمل فغالباً موقع ملف ال html غير صحيح، في تلك الحالة شاركنا كامل المجلد الخاص بمشروعك على شكل ملف مضغوط للتحقق منه.1 نقطة
-
في Flexbox ، يتم تطبيق خاصية flex بشكل عام على الكونتينر لتوزيع العناصر داخل الكونتينر. ومع ذلك ، يمكنك أيضًا استخدام بعض الخصائص الأخرى في العناصر نفسها لتنسيقها بشكل أفضل. إليك بعض الخصائص المهمة التي يمكنك استخدامها في العناصر : - `align-self`: تسمح لك بتعيين موضع عنصر فرعي بشكل فردي داخل الكونتينر ، مثل توسيطه عموديًا أو أفقيًا. - `order`: تسمح لك بتعيين ترتيب العناصر الفرعية داخل الكونتينر بناءً على رقم تسلسلي. - `flex-grow`: تحدد مدى قدرة العنصر الفرعي على التمدد داخل الكونتينر بناءً على المساحة المتاحة. - `flex-shrink`: تحدد مدى قدرة العنصر الفرعي على الانكماش داخل الكونتينر عندما لا يوجد ما يكفي من المساحة المتاحة. - `flex-basis`: تحدد الحجم الأولي للعنصر الفرعي قبل التمدد أو الانكماش. - `flex-wrap`: تعيين ما إذا كانت العناصر الفرعية يجب أن تكون على نفس السطر أم أنه يجب عليها طيها إلى أسفل السطر الجديد حينما لا تتمكن من الاحتفاظ بنفس العرض. لتوضيح الفكرة، أنظر هذا الكود:. container { display: flex; flex-direction: row; justify-content: space-between; } .item1 { align-self: center; order: 2; flex-grow: 1; flex-shrink: 0; flex-basis: 100px; } في هذا المثال، نستخدم `align-self` لتوسيط العنصر عموديًا، واستخدمت `order` لتحديد ترتيب العنصر الفرعي في الكونتينر، واستخدمت `flex-grow` لتحديد مدى تمدد العنصر الفرعي، واستخدمت `flex-basis` لتحديد الحجم الأولي للعنصر الفرعي. وهذه بعض المصادر لكي تتعلم منها.1 نقطة
-
شبكة الحاسب ببساطة هي مجموعة من أجهزة الحاسب التي تتصل ببعضها وتستخدم موارد مشتركة بينها، وتكون تلك الموارد المشتركة إما بيانات أو أجهزة حقيقية مثل الطابعات وأجهزة العرض والتسجيل أو الماكينات والآلات التي تحمل رقاقات حاسوبية بداخلها متصلة بنفس الشبكة. وصحيح أن مصطلح شبكة الحاسب على إطلاقه يشير إلى الشبكة العالمية التي نعرفها بالإنترنت، إلا أن مفهوم الشبكات أوسع من ذلك بكثير، كما سنرى في الفقرات التالية. تعريف شبكة الحاسب شبكة الحاسب computer network مؤلفة من كلمتين، الأولى شبكة ومعناها لا يخفى على أي قارئ عربي وهي بحسب قاموس صخر المعاصر ربط بين شيئين أو عدة أشياء أو يطلق على كل متداخل متشابك وتحصر كلمة الحاسب الثانية بربط الحواسيب مع بعضها بعضًا. ظهرت أول صورة من صور الحواسيب المتصلة ببعضها في أواخر الخمسينات من القرن الماضي في صورة شبكة من الحواسيب التي استُخدمت في أحد أنظمة الرادار في الجيش الأمريكي، وقد استُخدمت خطوط الهاتف العادية في نقل البيانات بواسطة جهاز مودم تجاري من شركة AT&T. تبع هذه المحاولة في تنظيم الاتصال بين الحواسيب البعيدة عن بعضها عدة محاولات أخرى في الشركات الكبرى والجامعات، وكان أغلب تلك المحاولات يحاول تنظيم الموارد المتاحة للشركة أو المؤسسة وتسهيل تطوير البيانات واتخاذ القرار من خلال تنظيم حركة تدفق البيانات بين تلك الحواسيب البعيدة. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن فوائد شبكات الحاسب لعل فوائد الشبكات بدأت تتضح مما لنا نحن كمستخدمين عاديين أو كشركات، وبدت أهمية شبكات الحاسب في نقل البيانات والمعلومات بين الدول والمؤسسات والأفراد، وكذلك في التحكم في الأجهزة والآلات عن بعد لتسهيل مراقبتها، وفيما يلي أهم تلك الفوائد: مشاركة الملفات: كما في حالة الشركات والمؤسسات، بل وفرق العمل التي تعمل عن بعد. مشاركة الموارد: كما في حالة مشاركة الطابعات، والحواسيب القوية لإجراء عمليات محاكاة أو إخراج للتصاميم الهندسية أو الإبداعية، أو العمل على برامج عمل سحابية مثل مستندات جوجل أو برامج تصميم مشترك سحابية. التواصل: حيث يستطيع المستخدمون للشبكة أن يرسلوا الرسائل والبيانات والوسائط فورًا ويستقبلون بيانات وردودًا مشابهة من غيرهم من المستخدمين في نفس الوقت. تقليل التكلفة: كما رأينا في حالة الموارد المشتركة مثل الطابعات أو الحواسيب الكبيرة أو توفير أجهزة وهمية للموظفين للعمل عليها أو خوادم وهمية لاستضافة المواقع. زيادة كفاءة المعدات وسلامة البيانات: بما أن العتاد المستخدم للشبكات يكون في الغالب ذا جودة عالية ويقوم عليه فريق صيانة متخصص، فتقل احتمالات تعطل العتاد أو خسارة البيانات نتيجة النسخ الاحتياطية المنظمة التي تُنفذ للبيانات، على عكس الحواسيب الشخصية للمستخدمين. عيوب شبكات الحاسوب رغم المنافع التي تطغى على بيئة الشبكات إلا أنها تأتي بعيوب قد يكون بعضها خطيرة وقد يكون بعضها الآخر مجرد أعباء إدارية، وفيما يلي بعض تلك العيوب لشبكات الحاسب: تحتاج شبكات الحاسب إلى الاستثمار في بنى تحتية باهظة التكلفة عند بداية إنشائها، وكلما زاد حجم الشبكة زادت التكاليف كثيرًا. تحتاج شبكات الحاسب إلى مراقبة على مدار الساعة لتجنب تعطل أجزائها أو فشل عمليات توصيل الطاقة إليها أو تبريد مراكز البيانات، أو اختراقها داخليًا من العاملين فيها أو خارجيًا من مخربين أو مخترقين عن بعد. سهولة انتقال الفيروسات والبرامج الضارة لكل الأجهزة المتصلة بالشبكة إن أصيب أحدها. المخاطر الأمنية التي قد تحصل نتيجة هجمات قد تأتي داخليًا من أحد الأجهزة المتصلة بالشبكة أو خارجيًا عبر اختراق الشبكة والأجهزة المتصلة بها. مكونات شبكات الحاسب الرئيسية صحيح أننا ذكرنا أن الشبكات الحاسوبية عبارة عن حواسيب متصلة ببعضها، لكن الأمر فيه تفصيل أكثر من هذا، فليست كل تلك الحواسيب عامة الأغراض وتشبه الحاسوب الذي لدى المستخدم العادي، بل يكون بعضها مخصصًا لوظيفة أو أكثر داخل تلك الشبكة بحيث يخدم بقية مكونات الشبكة دون أن يُستخدم هو نفسه لأي غرض آخر، بل قد يُحظر الوصول إليه أحيانًا إلا لفئات محدودة من الأشخاص لعدة أسباب أهمها الحفاظ على أمان الشبكة، وهكذا فإن المتطلبات اللازمة لإنشاء شبكة حاسوبية قد تكون أكثر تعقيدًا من مجرد توصيل بعض الأجهزة ببعضها. الخوادم Servers: أساس شبكات الحاسب لعل أجهزة الخوادم servers هي القلب النابض لشبكات الحاسوب، وهي حواسيب توضع فيها الموارد التي يراد الوصول إليها عن بعد من بقية مكونات الشبكة، وهي حواسيب أقوى من الحواسيب العادية بعشرات المرات من حيث قوة المعالجة وعدد المعالجات ومساحات التخزين والذواكر العشوائية، وتوجد في العادة في غرف مخصصة آمنة تسمى مراكز بيانات data centers. فحين تدخل إلى موقع تتصفحه مثلًا (والموقع هو جزء من شبكة الإنترنت العالمية) وليكن يوتيوب، فإنك تكتب عنوان الموقع في المتصفح، فيذهب بك إلى يوتيوب لتتصفح مقطعًا تريد مشاهدته، فهذا المقطع مخزن على خوادم شركة يوتيوب، وكذلك موقع يوتيوب نفسه مخزّن على خوادم سريعة بالغة القوة لتتحمل آلاف المقاطع التي تُرفع إليه وملايين المستخدمين الذين يتصفحونه في نفس الوقت. وتوجد أنواع عديدة من الخوادم يختص كل منها بمهمة أو عدة مهام، وأشهر تلك الأنواع ما يلي: خوادم أسماء النطاقات Domain Name Servers خوادم التطبيقات Application Servers خوادم الويب Web Servers خوادم الملفات File Servers خوادم البريد Mail Servers خوادم أسماء النطاقات Domain Name Servers وهي الخوادم التي تحتوي على عناوين المواقع التي تتصفحها، فإذا استخدمنا مثال يوتيوب السابق، فإنك تكتب Youtube.com مثلًا ثم تضغط زر الإدخال Enter ليرسل المتصفح الطلب إلى الشبكة، فيمر على خادم DNS الذي يمثل دفتر جهات الاتصال للشبكة وهي هنا شبكة الإنترنت، فيرسل بدوره الطلب إلى العنوان المقابل لهذا النطاق أو الموقع -youtube.com-، ويكون في الغالب مجموعة من الأرقام مثل 192.0.2.44. خوادم التطبيقات Application Servers تُحفظ بعض التطبيقات البرمجية على خوادم بعيدة ليتصل بها المستخدمون من حواسيبهم أينما كانوا، وتسمى الخوادم التي تُحفظ عليها باسم خوادم التطبيقات Application Servers، وتُستخدم مثل تلك التطبيقات في الغالب داخل الشركات التي تريد للموظفين أن يستفيدوا من تلك التطبيقات المركزية دون الحاجة إلى تثبيت التطبيق على حاسوب كل موظف، وهذا مفيد في تجميع بيانات العمل للموظفين في فريق واحد مثلًا ومشاركتها والتعديل عليها مباشرة دون الانتظار لرفع تلك البيانات من حاسوب كل موظف. كذلك تُستخدم في حالة الشركات التي تقدم خدمات بعيدة لمستخدميها بحيث يتصل المستخدم بالتطبيق الموجود بخوادم الشركة من أي جهاز متصل بالإنترنت دون أن يكون التطبيق مثبتًا على حاسوبه الشخصي، ومثل تلك التطبيقات تسمى تطبيقات ويب web apps لأنها تعمل في بيئة الويب في الغالب ويصل المستخدم إليها عن طريق المتصفح. خوادم الويب Web Servers خوادم الويب هي أشهر أنواع الخوادم التي تُستخدم في الوصول إلى الإنترنت، وهي المسؤولة عن نقل البيانات المخزنة في مواقع الإنترنت إلى حاسوبك أو جهازك الذي تتصفح منه، عن طريق بروتوكولات نقل بيانات مثل HTTP. خوادم الملفات File Servers تُستخدم خوادم الملفات في تخزين البيانات والملفات والبرامج داخل المؤسسات مثلًا للسماح بنقل تلك الملفات ومشاركتها بسرعة وأمان بين العاملين في تلك المؤسسة. خوادم البريد Mail Servers يخزن خادم البريد الرسائل البريدية الخاصة بالمستخدمين الذين يستخدمون خدمات بريدية مثل Gmail مثلًا، كي يتمكنوا من الوصول إليها دون الحاجة إلى استخدام برمجيات خاصة على أجهزتهم، حيث تكون تلك البرمجيات في خوادم البريد نفسها. توجد أنواع أخرى من الخوادم غير التي ذكرناها أعلاه، لكن هذه هي الأشهر والتي قد يتعامل المستخدم معها بشكل أو بآخر أثناء حياته اليومية داخل العمل وخارجه. المبدِّل Switches المبدِّل switch هو جهاز يربط أجزاء الشبكة ببعضها بواسطة أسلاك إيثرنت Ethernet أو فايبر في الغالب، فتتصل به الحواسيب الموجودة داخل مبنى مثلًا بالشبكة الموجودة داخل ذلك المبنى، ويكون هو المسؤول عن تنظيم التواصل بين تلك الحواسيب، ولمزيد من التفاصيل حول المبدل ووصله بالشبكة، يمكنك الرجوع إلى مقال شبكة الإيثرنت المبدلة Switched Ethernet. الموجِّه Router لعل هذا الجهاز الصغير هو أكثر مكونات الشبكات التي يتعامل معها المستخدم وإن كان تعاملًا غير مباشر، يليه جهاز نقطة الاتصال Access Point. يُستخدم الموجِّه أو الراوتر في الاتصال بشبكات متعددة، كما يُستخدم لمشاركة اتصال إنترنت واحد مع عدة حواسيب وأجهزة أخرى لتقليل تكلفة اتصال كل منها على حدة بالشبكة، سواء عن طريق أسلاك أو هوائيًا، ولا يكاد يخلو منزل في يومنا هذا من وجود راوتر فيه للاتصال بشبكة الإنترنت عبر مزود خدمة الإنترنت. نقطة الاتصال Access Point تُستخدم نقاط الاتصال، وهي أجهزة شبيهة بأجهزة الراوتر- لتوصيل الحواسيب والهواتف والأجهزة الأخرى بالشبكة اتصالًا لاسلكيًا، عن طريق الاتصال سلكيًا بالراوتر ثم بث إشارة الشبكة لاسلكيًا عن طريق هوائي صغير متصل بها. يمكن لتلك الأجهزة وكذلك أجهزة الراوتر أن تهيأ لتُستخدم كمكررات لإشارات الشبكات repeaters، بحيث تلتقط إشارة الشبكة لاسلكيًا وتنقيها من التشويش ثم تعيد توليدها وبثها مرة أخرى بقوة أكبر، وذلك من أجل توسيع نطاق البث للشبكة. العملاء/الأجهزة العميلة Clients الأجهزة العميلة أو الوكيلة في بيئة الشبكات هي الحواسيب والأجهزة الأخرى التي تتصل بالشبكة ومواردها المختلفة من خوادم وغيرها، وتلك الأجهزة العميلة تمثل مستخدمي الشبكات، حيث تستطيع إرسال واستقبال الطلبات من الخوادم. هل ترغب في بناء شبكة موثوقة وآمنة لشركتك؟ احصل على شبكة عالية الأداء مع مهندس شبكات خبير من مستقل أضف مشروعك الآن مكونات أخرى لشبكات الحاسب إضافة إلى ما سبق، توجد مكونات وأجهزة أخرى تمثل أجزاء لا غنى عنها للشبكة، وقد لا تكون بالضرورة أجهزة مادية، لكن المستخدم العادي قد لا يحتك بها مباشرة أو ليس له وصول إليها، وبعض تلك المكونات ما يلي: بروتوكولات شبكات الحاسب البروتوكول Protocol هو مجموعة من القواعد التي تحكم التواصل بين جهتين في الشبكة، وتكون بعض تلك البروتوكولات قياسية مثل بروتوكولات IP و TCP و FTP وغيرها. عنوان الوصول للجهاز Mac Address يمثل عنوان الماك -عنوان التحكم في الوصول إلى الوسائط Media Access Control Address- معرِّفًا وعنوانًا فريدًا لكل جهاز يتصل بالشبكة. المنفذ Port المنافذ هي قنوات منطقية يرسل المستخدمون البيانات من خلالها إلى التطبيقات أو يستقبلون بيانات منها، ويُعرَّف كل تطبيق من تلك التطبيقات باستخدام رقم المنفذ الذي يعمل من خلاله. وسائل نقل البيانات في شبكة الحاسب إذا كانت بيانات التطبيقات والمواقع والشركات تُخزَّن على خوادم وحواسيب بعيدة، وكان المستخدمون يصلون إلى تلك الخوادم من خلال حواسيبهم وهواتفهم وغيرها من الأجهزة، فكيف تُنقل تلك البيانات؟ تُرسل البيانات بطريقتين أساسيتين، إما نقلًا سلكيًا أو غير سلكي، والنقل السلكي يكون دومًا أسرع وأفضل، لكنه يحتاج إلى بنى تحتية أكثر كلفة، ويتم النقل فيه عبر كابلات من الألياف الزجاجية Fiber glass، خاصة في حالة الكابلات العابرة للمحيطات التي تربط بين القارات المختلفة، وكذلك باستخدام كابلات نحاسية مؤمنة ضد التشويش على الإشارات، تكون في صورة كابلات الإيثرنت التي نعرفها ذات الثمانية أطراف، أو الكابلات المحورية Coaxial، أو أسلاك الهاتف العادية كما كان يحدث قديمًا في اتصال Dialup. أما الاتصالات اللاسلكية فتكون باستخدام هوائيات Antennas لبث الاتصال بالشبكة المراد الاتصال بها، وتختلف المسافة التي يمكن الاتصال بالشبكة من خلالها وكذلك عدد المستخدمين الذين يمكنهم الاتصال بتلك الشبكة على نوع الهوائي المستخدم وسعة الشبكة نفسها. الجدار الناري Firewall الجدار الناري قد يكون جهازًا ماديًا أو برنامجيًا يُستخدم في التحكم في الشبكة وأمانها وقواعد الوصول إليها، وتوضع كحماية للحاسوب وما يتصل به من الشبكات الآمنة -مثل شبكات المنازل والشركات- من الاتصالات الخارجية غير المأمونة مثل الإنترنت، وتهيأ لحظر الطلبات من المصادر غير المعرَّفة للشبكة الآمنة، فهو مثل الباب الذي يفصل المنزل الداخلي الخاص عن المحيط الخارجي العام. زادت أهمية الجدر النارية كثيرًا بعد تطور الإنترنت ووصوله إلى يد كل مستخدم من خلال الهواتف الذكية وأجهزة إنترنت الأشياء، حيث زادت خطورة الهجمات السيبرانية التي قد تستهدف أولئك المستخدمين بحيث يمكن التلاعب بأجهزتهم وسرقة بياناتهم وإغلاق تلك الأجهزة لطلب فدية، كما يحدث كل مدة في حالة فيروسات الفدية التي تصيب أجهزة المستشفيات والمؤسسات المهمة والشركات الكبرى. أو حتى على مستوى الشبكات الموجودة في المنازل العادية حيث انتشرت أنظمة البيوت الذكية التي يُمكن التحكم فيها عن بعد، فيستطيع المخرب تنفيذ هجمة على المنزل بتغيير درجات الحرارة أو قطع الكهرباء أو الاتصالات أو التلاعب بالأجهزة المنزلية المتصلة بالشبكة. أنواع شبكات الحاسوب توجد عدة أنواع من الشبكات تُصنف وفقًا للحيز الجغرافي الذي تخدمه وعدد الحواسيب المتصلة فيها، وفيما يلي بعض أشهر أنواع هذه الشبكات: الشبكة الشخصية PAN الشبكة المحلية LAN الشبكات واسعة النطاق WAN الشبكات الإقليمية MAN 1. الشبكة الشخصية PAN الشبكات الشخصية Personal Area Network وتختصر إلى PAN هي الشبكات التي تتكون من أجهزة تتبع شخصًا واحدًا، مثل الحاسب الخاص به وهاتفه وأجهزته اللاسلكية المتصلة عبر البلوتوث، ويكون نطاقها محدودًا بالتبعية، وقد تتصل بالإنترنت لاسلكيًا. 2. الشبكة المحلية LAN الشبكات المحلية Local Area Network وتختصر إلى LAN تتكون الشبكات المحلية من مجموعة من الحواسيب والأجهزة الأخرى التي تتصل بشبكة واحدة على نطاق مبنى أو عدة مباني متجاورة تمثل مؤسسة واحدة مثل شركة أو مستشفى أو منزل أو غيره، وتكون الشبكة مقصورة على الأجهزة التي داخل تلك المباني، أي لا يمكن الوصول إليها من خارج الأجهزة المتصلة بها أو من خارج نطاق تلك الشبكة. تُستخدم تلك الشبكات في أغراض نقل الملفات واستخدام الأجهزة عن بعد مثل الطابعات والماسحات الضوئية وغيرها، ولعل أبسط صورها هو حاسوب متصل بطابعة مثلًا. لا يزيد عدد الأجهزة المتصلة في الشبكات المحلية عن 5000 جهاز. 3. الشبكات واسعة النطاق WAN الشبكات واسعة النطاق Wide Area Network وتختصر إلى WAN تمثل عدة شبكات محلية متصلة معًا، لكنها تمتد على نطاق جغرافي أكبر، كما في حالة الشركات الكبرى. تُعد شبكة الإنترنت أحد أمثلة الشبكات واسعة النطاق WAN العامة، أي التي يصل إليها كل أحد، على عكس الشبكات الواسعة التي تكون مقصورة على المؤسسات والشركات. 4. الشبكات الإقليمية MAN تنتشر الشبكات الإقليمية Metropolitan Area Network وتختصر إلى MAN على نطاق أوسع من سابقتها، حيث تمتد خلال المدن الكبيرة، وتمتد على نطاق يصل إلى خمسين كيلومترًا مثلًا، وقد تشمل شبكات LAN أو WAN، إضافة إلى شبكات أخرى متصلة عبر تقنيات الاتصال اللاسلكية الهوائية، مثل شبكات الهواتف الخليوية المتصلة عبر تقنيات الجيل الثاني والثالث. تتصل الشبكات الإقليمية في الغالب عبر كابلات ألياف زجاجية بسبب حاجتها إلى نقل البيانات بسرعات عالية. امتلك شبكة حاسوب اعتمادية وآمنة لأعمالك احصل على حلول شبكات متقدمة وسريعة بالاستعانة بأفضل خدمات الشبكات على خمسات اطلب خدمتك الآن خاتمة تُبنى التقنيات الحديثة الآن من حواسيب وشركات وبنى تحتية أحيانًا وأنظمة حكومية باستخدام شبكات الحاسب كقواعد أساسية لها، فصارت جزءًا لا يتجزأ من حياتنا اليومية سواء استخدمناها استخدامًا مباشرًا أم استفدنا من أحد تطبيقاتها. ولا يسع أحدنا اﻵن أن يجهل أبسط مبادئ علوم الحاسب التي بُنيت عليها تلك الشبكات من أجل فهم طبيعة عملها والاستفادة المثلى منها سواء في بيئة العمل أو المنزل، وكذلك تجنب مخاطرها وإغلاق ثغراتها التي قد يدخل المخربون منها. اقرأ أيضًا أمثلة عن أنظمة أمن الشبكات الحاسوبية مدخل إلى شبكات الحواسيب: مصطلحات وفهم طبقات الشبكة المتطلبات اللازمة لبناء شبكة حاسوبية أنواع شبكات الحاسب1 نقطة
-
تعد بايثون Python واحدة من أشهر لغات البرمجة وأكثرها استخدامًا، وهي لغة ممتازة ليبدأ بها المبرمجون الجدد. يمكن استخدامها في كل المجالات، بدءًا من ألعاب الفيديو ومعالجة اللغات، وصولًا لتحليل البيانات والتعلم الآلي. بايثون هي لغة برمجة عالية المستوى، ومُفسرة interpreted وتفاعلية وكائنية، وتتمتع بمقروئية عالية، إذ تستخدم كلمات إنجليزية بسيطة، على خلاف اللغات الأخرى التي تستخدم الرموز، كما أنّ قواعدها الإملائية والصياغية بسيطة ومفهومة، ما يجعل تعلم لغة بايثون سهلًا مقارنةً بلغات برمجة أخرى. هذا المقال هو دليلك الشامل إلى التعرف على كل ما يخص لغة بايثون وكيفية تعلمها بأقصر السبل. جدول المحتويات حرصًا على تنظيم المقالة ولتسهيل الوصول إلى القسم الذي تريده بسهولة، سنذكر هنا جدول المحتويات باختصار: تاريخ بايثون مميزات لغة بايثون تطبيقات ومجالات استخدام لغة بايثون لماذا بايثون؟ أهمية تعلم لغة بايثون كيفية تعلم لغة بايثون نصائح لتعلم لغة بايثون تاريخ بايثون ظهرت لغة بايثون في أواخر الثمانينيات على يد المبرمج الهولندي جايدو فان روسم Guido van Rossum، وقد عُدَّت خليفة للغة ABC. كما استفادت من الكثير من اللغات السابقة لها، مثل Modula-3 و C و C++ و Algol-68 و SmallTalk، وغيرها من اللغات وأحدثت ثورة في عالم البرمجة لسهولتها وتعدد استخداماتها. نُشِر الإصدار 2.0 من لغة بايثون عام 2000، وقدّم العديد من الميزات الجديدة التي سهلت كتابة الكود على المبرمجين، مثل القوائم الفهمية List Comprehensions، ونظام كنس المُهملات garbage collection إلا أن هناك بعض العيوب التصميمية وأوجه القصور التي لم تتمكن سلسلة إصدارات 2.x من تداركها. أطلق بعدها الإصدار 3.0 من لغة بايثون المعروف أيضًا باسم Python 3000 أو Py3k في عام 2008، والذي شكّل طفرة في اللغة وصحح العديد من عيوبها، لكنه لم يكن متوافقًا تمامًا مع الإصدارات السابقة)، ولهذا السبب قرر فريق التطوير الاستمرار ودعم إصدار أخير من سلسلة بايثون 2.x، وهو بايثون 2.7 لغاية عام 2020 وبعدها توقف الدعم ولم يعد الإصدار يتلقى أي تحديثات أو ميزات جديدة. النسخة الحالية من بايثون هي Python 3.11 وقد صدرت في السادس من ديسمبر/كانون الأول عام 2022، وتضمنت عدة تحسينات أبرزها تحسين سرعة التنفيذ، وتحسين رسائل الخطأ لتساعد المبرمج على تحديد الموقع الدقيق للخطأ ضمن البرنامج والعمل على تصحيحه بسرعة أكبر. مميزات لغة بايثون تتميز بايثون بعدة أمور عن غيرها من لغات البرمجة، من أبرزها: سهولة التعلم: يسهل تعلم لغة بايثون، إذ تتألف من عدد قليل من الكلمات المفتاحية، وتتميز بصياغة بسيطة وواضحة. المقروئية: شيفرة لغة بايثون واضحة ومنظمة وسهلة القراءة وتحاكي اللغة الطبيعية. سهولة الصيانة: شيفرة بايثون سهلة الصيانة إلى حد بعيد. مفتوحة المصدر حيث يمكن لأي شخص الاطلاع على شيفرة بايثون وإضافة تعديلات و ميزات جديدة عليها أو تطوير مكتبات تلبي مختلف المتطلبات. مكتبة قياسية واسعة: تحتوي مكتبة بايثون القياسية على عدد كبير من الحزم المحمولة التي تتوافق مع الأنظمة الشبيهة بيونكس و Windows و macOS. الوضع التفاعلي: تدعم بايثون الوضع التفاعلي، مما يتيح إمكانية تنفيذ الشيفرات مباشرةً على سطر الأوامر وتنقيح هذه الشيفرات بسهولة. محمولية بايثون: يمكن تشغيل لغة بايثون على طيف واسع من المنصات والأجهزة، مع الاحتفاظ بنفس الواجهة على جميع تلك المنصات. التوسعية: من أهم مميزات بايثون هو توفرها على عدد هائل من الوحدات والمكتبات، التي يمكنها توسيع قدرات اللغة في كل المجالات. دعم البرمجة الكائنية OOP: وهذا يمكن المبرمجين من كتابة تعليمات برمجية قابلة لإعادة الاستخدام ويسرع وتيرة عملهم. قواعد البيانات: توفر بايثون واجهات لجميع قواعد البيانات الأساسية. الرسوميات: تدعم بايثون التطبيقات الرسومية. دعم البرامج الكبيرة: بايثون مناسبة للبرامج الكبيرة والمعقدة. سأضرب مثالًا على الميزتين الأكثر شيوعًا بين الداخلين الجدد على المجال تعلم البرمجة وهما سهولة التعلم والمقروئية العالية بما أنهما تسهلان طريق التعلم ولتوضيح هاتين الميزتين، لذا إليك المثال البسيط التالي الذي يطبع كلمة مرحبًا على الشاشة: print('مرحبًا') لاحظ كيف يبدو البرنامج بلغة بايثون في حين يكون البرنامج نفسه الذي يقوم بطباعة هذه الكلمة بلغة أخرى مثل C كما يلي: #include <stdio.h> int main() { printf("مرحبًا"); return 0; } كما تلاحظ التعليمة في لغة بايثون واضحة ومباشرة في حين تتضمن لغة C كلمات ورموزًا غريبة وصعبة الفهم على المبتدئين مثل #include ووجود حرف f ملحقًا بكلمة print التي تعني "اطبع". رغم بساطة هذا المثال إلا أنه يعطيك فكرة عن مدى البساطة في كتابة شيفرات لغة بايثون ما يجعلها لغة مثالية للأشخاص الذين يبدأون للتو في تعلم البرمجة، وستدرك الفرق في سرعة كتابة الأكواد وسهولة الصيانة واكتشاف وتصحيح الخطأ بشكل أوضح عند كتابة برامج أكثر تعقيدًا. دورة تطوير التطبيقات باستخدام لغة Python احترف تطوير التطبيقات مع أكاديمية حسوب والتحق بسوق العمل فور انتهائك من الدورة اشترك الآن تطبيقات ومجالات استخدام لغة بايثون تُستخدم لغة بايثون في شتى المجالات، فهي لغة برمجة متعددة الأغراض General Purpose ولها عدة تطبيقات لا يتسع المقال لذكرها لذا سنكتفي هنا بذكر أبرز مجالات استخدام لغة بايثون وهي: تحليل البيانات تطوير مواقع الويب واستخراج بيانات المواقع الذكاء الاصطناعي وتعلم الآلة تطوير تطبيقات سطح المكتب والألعاب برمجة العتاد واللوحات الإلكترونية دعنا نستكشف المزيد عن كل مجال من هذه المجالات ونتعرف على أهميته ومساهمة لغة بايثون فيه. 1. تحليل البيانات أصبحت لغة بايثون إحدى اللغات البارزة في مجال علم البيانات لما توفره من مكتبات متخصصة مثل NumPy و Pandas و Matplotlib التي تسهل على المبرمجين تطوير برامج لتحليل البيانات والتعلم الآلي وتمكن علماء ومحللي البيانات من معالجة هذه البيانات وإجراء الحسابات الإحصائية المعقدة عليها بل وتمثيلها بيانيًا واستخراج المعلومات منها بسرعة وكفاءة أكبر. 2. تطوير مواقع الويب واستخراج بيانات المواقع تعد لغة بايثون لغة ملائمة جدًا لتطوير مواقع الويب وبالتحديد الواجهة الخلفية لمواقع الويب، فهي لغة تعمل من طرف الخادم ويمكنها التواصل مع قواعد البيانات ومعالجة بياناتها بسهولة، كما أنها توفر العديد من أطر العمل التي تسرع وتيرة تطوير مواقع وتطبيقات ويب احترافية وآمنة من أشهرها جانغو Django و فلاسك Flask. وتوفر مكتبات تسمى مكتبات ORM توفر طرقًا مبتكرة للاستعلام عن البيانات من قاعدة بيانات ومعالجتها باستخدام نموذج موجه للكائنات Object-relational mapping مثل SQLAlchemy و Django ORM وهي أسهل وأسرع من كتابة استعلامات بلغة SQL التقليدية. كما تلبي لغة بايثون طلبك إن كنت مهتمًا بموضوع استخراج البيانات من صفحات الويب أو المتاجر الإلكترونية المختلفة بهدف دراستها والبحث ضمنها ومقارنة الأسعار فيما بينها، فهي قادرة على استخراج البيانات تلقائيًا من المواقع Web Scraping بسرعة وتنسيقها بطريقة منظمة، وتمثيلها رسوميًا من خلال كتابة أكواد مختصرة ومباشرة بفضل مكتباتها المتنوعة التي توفر كافة الوظائف الضرورية للقيام بذلك وأبرزها Beautiful Soup و Scrapy و Selenium. احصل على موقع إلكتروني مخصص لأعمالك أبهر زوارك بموقع احترافي ومميز بالاستعانة بأفضل خدمات تطوير وتحسين المواقع على خمسات أنشئ موقعك الآن 3. الذكاء الاصطناعي وتعلم الآلة لم يعد الذكاء الاصطناعي وتعلم الآلة مصطلحات غريبة في عصرنا الحالي بل أصبحت من المواضيع الرائجة والمطبقة بكثرة، وهنا أيضًا تبرز لغة بايثون كلغة ملائمة بشكل مثالي لتطبيق مفاهيم الذكاء الاصطناعي وجعل الحواسيب والأجهزة التي نتعامل معها في حياتنا اليومية ذكية وقادرة على التعلم بنفسها ومساعدتنا في اتخاذ القرارات، ومن أشهر المكتبات التي توفرها بايثون في مجال الذكاء الاصطناعي نذكر NumPy و Pandas و Scikit-Learn ...إلخ. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن 4. تطوير تطبيقات سطح المكتب والألعاب. تستخدم لغة بايثون بشكل كبير لتطوير وبرمجة تطبيقات سطح المكتب ذات الواجهات الرسومية GUI سواء التطبيقات البسيطة كالآلة الحاسبة أو تطبيقات تشغيل الوسائط أو التطبيقات الأكثر تعقيدًا من خلال توفير مجموعة مكتبات قوية ومليئة بأدوات واجهة المستخدم مثل Tkinter و wxPython و PyQt التي تسهل على المبرمج تخطيط وإنشاء تطبيقات سطح مكتب متوافقة مع مختلف أنظمة التشغيل. كما تعتبر بايثون ملائمة بشكل مثالي لتطوير الألعاب فهي توفر العديد من المكتبات وأطر العمل المساعدة مثل PyGame و Pyglet و PyKyra و PyOpenGL و Panda3D ...إلخ. التي تجعل من إنشاء الألعاب التفاعلية أسهل بكثير من استخدام لغات برمجة أخرى. 5. برمجة العتاد واللوحات الإلكترونية إذا كنت مهتمًا ببرمجة العتاد واللوحات الإلكترونية وبرمجة التطبيقات المضمنة Embedded Product وانترنت الأشياء فيمكنك البدء باستخدام شريحة راسبيري باي Raspberry Pi التي تعتبر حاسوبًا أوليًّا يعمل بنظام لينكس Linux ويستخدم لغة بايثون بشكل ضمني ليمكن المبرمجين والمتعلمين من تطوير مشاريع عملية رائعة مثل ساعة ذكية تعرض الوقت أو بوت للرد الآلي أو تطبيق بث مباشر على يوتيوب أو تطبيق للتحكم بالكاميرا وجعلها تلتقط الصور وتسجل مقاطع الفيديو ...إلخ. بكل سهولة. هذه كانت بعض المجالات البارزة التي تستخدم فيها لغة بايثون، إضافة إلى الكثير من المجالات الأخرى التي لا يسعنا حصرها هنا. لماذا بايثون؟ إنّ تحديد أفضل لغة برمجة للتعلم قد يكون مهمة صعبة ولو سألت عدة أشخاص عن لغة البرمجة التي يجب تعلمها، فستحصل على عدة إجابات، ويكفي أن تدخل على جوجل وتكتب أفضل لغة برمجة، وستجد آراءً مختلفةً، وجدالًا لا ينتهي حول هذا الموضوع. لا أريد أن أبدأ حرب لغات البرمجة هنا، ولكنني سأحاول في هذه الفقرة تقديم بعض الحجج لتبرير لماذا أرى أنّ بايثون هي لغة المستقبل، وأن تعلم لغة بايثون مثالي للمبتدئين الذين يريدون دخول عالم البرمجة وعلوم الحاسوب. شعبية لغة بايثون بحسب استطلاع موقع stackoverflow، تحتل لغة بايثون المرتبة الرابعة في لغات البرمجة الأكثر استخدامًا من قبل المبرمجين والمطورين حول العالم بعد JavaScript و HTML/CSS و SQL، متفوقة على لغات مثل جافا و ++C و C#، كما أنها سادس أكثر لغة برمجة مرغوبة من قبل المبرمجين. فبايثون ليست لغة قوية وفعالة فحسب، بل هي فوق ذلك محبوبة من قبل المبرمجين، ولا عجب في ذلك فهي سهلة ومرنة وتوفر مكتبات هائلة للمبرمجين تسهل عليهم الكثير من الجهود في كتابة الكود، فهل لا يزال لديك شك في أن تعلم لغة بايثون هو خيار مثالي لك؟! يوضح المخطط التالي إحصائية أجرتها منصة StackOverlow عام 2022 عن أكثر لغة شعبية مفضلة في أوساط المبرمجين وموضع لغة بايثون فيها: كما يوضح المخطط التالي إحصائية أخرى أجرتها منصة StackOverlfow أيضًا عام 2022 عما إذا كانت لغة البرمجة محبوبة (الأزرق) أم مخفية (البنفسجي) وللغة بايثون نصيب جيد من المحبوبية: دعم لغة بايثون نظرًا لشعبيتها الكبيرة، تتمتع بايثون بدعم جيد على جميع المستويات تقريبًا. وباعتبارها اللغة المفضلة للمبتدئين، فهناك مجتمع داعم كبير ومتعاون وكم هائل من المراجع والمواد والدورات التعليمية التي تشرح مفاهيم البرمجة الأساسية، إضافة إلى صياغة اللغة وتطبيقاتها. فسواء كنت هاويًا، وتحب تعلم البرمجة كهواية، أو لأجل استخدامها في مجال عملك، مثل تحليل البيانات ومعالجة اللغات الطبيعية وغير ذلك، أو كنت تريد أن تعمل كمستقل، أو تدخل سوق العمل وتحقق دخلًا من البرمجة، ففي جميع هذه الحالات، سيكون تعلم لغة بايثون خيارًا مثاليًا لك. بايثون مطلوبة في السوق تُستخدم لغة بايثون من قبل بعض أكبر الشركات في مجال التكنولوجيا، مثل Uber و PayPal و Google و Facebook و Instagram و Netflix و Dropbox و Reddit. إضافةً إلى هذا، تُستخدم بايثون بكثافة في مجال الذكاء الاصطناعي والتعلم الآلي وتحليل البيانات ومراقبة الأنظمة وغير ذلك. يقدر موقع stackoverflow، الدخل السنوي لمطوري بايثون بحوالي 71 ألف دولار، وبالرغم من أن الاستبيان الذي أجراه الموقع مبني على مشاركين معظمهم من الولايات المتحدة والهند وألمانيا ولا يعكس الرواتب في منطقتنا العربية إلا أن الرقم كبير بالمقارنة مع باقي المهن، ويدل على أهمية هذه اللغة وأجرها المرتفع في سوق العمل. ولا ننسى أن لغة بايثون كما أشرنا لغة عامة الأغراض وقادرة على إيجاد الحلول الفعالة في العديد من المجالات المختلفة وهذا من شأنه بكل تأكيد حث أرباب العمل على توظيف مطوري بايثون والاستفادة من مهاراتهم وخبراتهم في عدة مجالات. أهمية تعلم لغة بايثون قد تمكنت لغة بايثون طيلة هذه السنوات من لحظة انطلاقها إلى اليوم من إثبات إمكانياتها لتعد واحدة من أهم لغات البرمجة وأكثرها شعبية وجدارة كما أشرنا، ويبرز اسمها بين أوساط المبرمجين والمطورين والطلاب على حد سواء كما أن مختلف الجامعات بدأت بتدريسها في الفصول الأولى للطلاب وتراها المخيمات والدورات البرمجة خيارها الأول لتعليم البرمجة لغير المختصين. أضف إلى ذلك أن لغة بايثون نالت ثقة الكثير من المواقع والشركات العملاقة واليوم تستخدمها كل من شركات Spotify و Google و Amazon بشكل أساسي إضافة إلى Facebook التي تستخدم بايثون لمعالجة الصور وإدارة بنيتها التحتية، وفي كل يوم تتحول شركات جديدة معروفة عالميًا إلى استخدام بايثون مثل YouTube و DropBox و Instagram التي قررت كذلك استخدامها وفضلتها على PHP. كما تُستخدم لغة بايثون أيضًا من قبل بعض الجهات العلمية والبحثية، مثل وكالة الفضاء الأمريكية ناسا، والتي لها مستودع خاص بالمشاريع المُطورة ببايثون كما أنها تقدم دورات تدريبية لتعليم لغة بايثون من الصفر للاحتراف لعلمائها ومهندسيها ليتمكنوا من معالجة بياناتهم بشكل أفضل وأسرع. كيفية تعلم لغة بايثون تعرفت إلى الآن على بايثون وأهميتها ومميزاتها واستخدامات لغة بايثون المختلفة وفرص العمل فيها، واقتنعت بأهمية تعلم لغة بايثون لذا قد تتساءل من أين تبدأ؟ سأجيبك في هذا القسم بالتفصيل. هنالك مساران لتعلم البرمجة عمومًا وتعلم لغة بايثون خصوصًا، إما في أروقة الجامعة أو عبر دورات متخصصة، أما في مسار الجامعة فستتكفل بوضع خطة تعلم عبر فصولها وسنواتها وفي كل الأحوال قد تلجأ إلى الدورات حتى لو دخلت الجامعة بسبب الكم النظري الكبير الذي تعطيه الجامعة غافلة الجانب العملي التطبيقي أو بسبب نسيان اللغة وعدم البرمجة فيها إن جرى تدريسها في السنوات الأولى وهنا تجد نفسك تبحث عن دورات برمجة متخصصة. سأختصر عليك الطريق وأشير إلى أفضل دورة برمجة متخصصة لتعلم لغة بايثون وهي دورة تطوير التطبيقات بلغة بايثون من أكاديمية حسوب وهي دورة منهجية شاملة بعدد ساعات يزيد عن 60 معدة من قبل مبرمجين أكفاء تأخذ بيدك خطوة بخطوة لتعلم لغة بايثون من الصفر وحتى الاحتراف وتبني خلالها الكثير من التطبيقات العملية، وهي كفيلة بأن تؤهلك لبدء حياتك المهنية كمطور بايثون ودخول سوق العمل والحصول على أول وظيفة خلال ستة أشهر. وإن كنت ممن يفضلون التعلم من خلال الكتب الإلكترونية لما توفره من شمولية وتنظيم في المعلومات، فيمكنك تنزيل كتاب البرمجة بلغة باثيون من أكاديمية حسوب. هل تريد المزيد من المصادر؟ ما رأيك بزيارة موسوعة حسوب الشاملة التي تضم توثيقات الكثير من لغات البرمجة، بما في ذلك توثيق لغة بايثون. ننصحك أيضًا بالاطلاع على قسم دروس ومقالات متنوعة حول لغة بايثون وهذه الدروس تُحدَّث باستمرار لذا كن على اطلاع دائم عليها لتواكب كل جديد وإن كنت مهتمًا بتعلم لغات برمجة أخرى، فيمكنك زيارة قسم البرمجة في الأكاديمية. وإن أشكل عليك شيء ما فيمكنك أن تسأل عنه في قسم الأسئلة والأجوبة الخاص بالأكاديمية ليجيبك عنه أحد المبرمجين أو تطرحه للنقاش مع المهتمين في مجتمع حسوب IO. نصائح لتعلم لغة بايثون أخيرًا وليس آخرًا، إليك أهم النصائح التي عليك اتباعها لتعلم لغة بايثون من الصفر حتى الاحتراف. 1. حدد المجال الذي تريد التخصص فيه مجالات العمل في بايثون متنوعة وتحديد المجال أو المسار الوظيفي الذي تنوي التخصص فيه سيمكنك من تحديد المفاهيم والمهارات الفنية التي يتوجب عليك تعلمها والتركيز عليها دون سواها، وضع خطة زمنية لإتقان جميع المهارات اللازمة لتحقيق هدفك والتزم بها قدر المستطاع. فإذا كان هدفك من تعلم بايثون هو إنشاء مواقع ويب ضع في خطتك تعلم Django أو Flask، وإذا كان هدفك هو تطوير الألعاب فضع في خطتك التعرف على إحدى المكتبات القوية في تطوير الألعاب مثل Pyglet أو Panda3D أو Pygame ...إلخ. 2. تعلم أساسيات لغة بايثون أيًا كان المجال الذي حددته في الخطوة السابقة فلا بد لك في البداية من تعلم أساسيات لغة البايثون التي تمثل أساسًا لأي لغة برمجة والتي تشمل: طريقة تثبيت لغة بايثون على جهازك وإنشاء بيئة افتراضية. صياغة الجمل والعبارات في بايثون تعريف المتغيرات وأنواع البيانات الأولية. العمليات الحسابية والمنطقية الأساسية. عمليات الإدخال والإخراج ومفهوم الاستثناءات وطرق معالجتها. الدوال البرمجية وطريقة تعريفها واستدعائها. هياكل البيانات المركبة مثل القوائم والمجموعات والقواميس تعليمات التحكم بتدفق البرنامج مثل التعليمات الشرطية والحلقات التكرارية. مفاهيم البرمجة كائنية التوجه أهم المكتبات القياسية التي تستخدم في العديد من المشاريع. طرق التعامل مع الملفات. الخبر الجيد هنا أن تعلم هذه الأساسيات لن يستغرق منك الكثير من الوقت لأن بايثون كما أشرنا لغة سلسة وبسيطة وسهلة التعلم. 3. تعلم المواضيع المتقدمة التي تخدم أهدافك بعد إتقان المفاهيم الأساسية عليك الانتقال خطوة للأمام والتعرف على مواضيع متقدمة تتعلق بشكل مباشر بالتخصص الذي تنوي العمل به والمسار هنا يختلف حسب التخصص الذي اخترته لنفسك والبدء بإتقان جميع المهارات اللازمة لتحقيق هدفك. يمكنك في هذه المرحلة على سبيل المثال التعرف على مفاهيم مثل قواعد البيانات والتعامل معها، وتعلم مكتبات بايثون والتدريب على استخدامها من خلال تطبيقها في برامج عملية بالطبع ستتطلب المشاريع المختلفة مكتبات مختلفة لذا من المهم التعرف على المكتبات الأكثر شيوعًا في مجالك والتركيز عليها. كما ستحتاج لتعلم أحد أطر عمل بايثون Python Frameworks التي تساعدك على تطوير مشاريعك وكما ذكرنا بالنسبة للمكتبات ستعتمد الأطر التي عليك تعلمها على التخصص الذي تنوع العمل به. 4. عزز ما تعلمته في مشاريع عملية يفترض الآن أنك تملك كافة المهارات اللازمة والأسس النظرية، لكن المعرفة التقنية وحدها لا تكفي لذا حان الوقت لبدء التدرب على تطوير مشاريع لصقل كل هذه المهارات. لذلك من الضروري أن تتدرب على تطوير مجموعة من المشاريع في مجال تخصصك وتبني معرض أعمال يظهر هذه المهارات فهذا يعزز فرصتك للحصول على وظائف فعلية وبدء حياتك المهنية كمطور بايثون. يمكنك ريثما تحصل على فرصة عمل مناسبة أن تعمل بشكل مستقل على مواقع العمل الحر مثل مستقل وخمسات وتنجز المشاريع للعملاء عبر هذه المنصات. 5. لا تهمل مهاراتك الناعمة لاشك أن المهارات الفنية ومعرض الأعمال القوي أمر ضروري لأي مبرمج لكن هناك نوعًا آخر من المهارات الضرورية لأي مبرمج والتي يفضل أصحاب العمل توفرها لدى المطورين والمبرمجين وأهمها: مهارات حل المشكلات والتفكير المنطقي الرغبة في التعلم المستمر والاطلاع على كل جديد في مجالك. مهارات التواصل الفعال والعمل الجماعي خاتمة تعرفنا في مقال اليوم على لغة بايثون ورأينا كيف أنها تجمع بين البساطة والسهولة من جهة وبين القوة والفعالية من جهة أخرى، وتعرفنا على أهم مميزات بايثون ومستقبلها الواعد الذي يفتح لمتعلمها الكثير من الفرص والآفاق. وختمنا المقال بأهم الخطوات والنصائح لتتعلم بايثون بسرعة واحترافية. هل أنت متحمس لتعلم بايثون أو بدأت فعلًا بتعلمها ولديك أي استفسار حول أي من المواضيع التي ذكرناها في المقال؟ اكتبها في قسم التعليقات أسفل المقال وسنحرص على الإجابة عليها بأقرب فرصة. وفّقك الله تعالى.1 نقطة