فى الاول للتعلم المفهوم العلمى للبرمجه الكونسبت بتاعها بأنك تتعلم اساسياتها بأى لغه برمجه بس المعظم بيرشح ال c++ بتتعلم looping conditions variables function وحاجات كمان هتشوفها فى الكورس الى هتسمعه بعد كده تحل على الى اتعلمته من اى موقع زى كودفورسيس بعد كده تتعلم oop بعد كده data structure and algorithms كده عندك أساس حلو تقدر بعده تشوف انت عاوز تتخصص فى مجال ايه وتشوف الرود ماب بتاعته
❤2
ابدأ ✅
لو عايز تكون مبرمج مواقع ( Part 2 )
اتعلم PHP
هي اللغة المسؤولة عن التعامل مع السيرفر وقاعدة البيانات ✅
اتعلم MySQL
هي الجزء الخاص بقاعدة البيانات علي شكل جداول عشان تقدر تخزن فيه بيانات المستخدمين ✅
اتعلم laravel
وهو زي مكتبة خاصة لتسهيل لغة PHP يقال عليها framework ✅
افهم ( rest api ) اعمل مشاريع زي
1- login system
2- e-commerce
3- dashboard
4- portfolio with back end
وبكدا انت بقيت شخص اسمه back end developer ووظيفة من اهم وظايف في العالم ✅
الفكرة في مجالات البرمجة و الشغل الاونلاين عمومًا
انه هو ملهوش قفلة ملهوش نهاية ملهوش مرتب ثابت
فكل اما هتدي وقت هتلاقي مقابل
الفكرة بقي فاللي يتعب ويدي وقت
الكل عايز السهل بدون تعب وعشان كدا هتلاقي الكل لا بيكمل في حاجة ولا بيوصل ولا بينجح ✅
خلي نفسك طويل اختار الحاجة اللي علي المدي الطويل تجيبلك حياة جامدة .. ✅
اللي بياخد الريسك ومؤمن بيه ودارس هو بيعمل ايه ، ممكن يغير حياته ،
لو مش قادر تاخد الريسك وتحاول في حاجة لحد ما تنجح وتبقي مدرك تماما صعوبة المشوار .. خلاص خليك في العادي
الطبيعي والعادي انك تاخد شهادة وتشتغل في شركة بتعليمك اي كان هو ايه ☑️
جميل بس ده مش شرط انه يخليك غني فحاول وانت بتتعلم ترسم لنفسك انت هتعيش ازاي متبقاش سايبها وخلاص انك هتمسك وظيفة وتبقي من اغنياء البلد .. لانه مش هيحصل ❌
توكل علي الله 🔥
لو عايز تكون مبرمج مواقع ( Part 2 )
اتعلم PHP
هي اللغة المسؤولة عن التعامل مع السيرفر وقاعدة البيانات ✅
اتعلم MySQL
هي الجزء الخاص بقاعدة البيانات علي شكل جداول عشان تقدر تخزن فيه بيانات المستخدمين ✅
اتعلم laravel
وهو زي مكتبة خاصة لتسهيل لغة PHP يقال عليها framework ✅
افهم ( rest api ) اعمل مشاريع زي
1- login system
2- e-commerce
3- dashboard
4- portfolio with back end
وبكدا انت بقيت شخص اسمه back end developer ووظيفة من اهم وظايف في العالم ✅
الفكرة في مجالات البرمجة و الشغل الاونلاين عمومًا
انه هو ملهوش قفلة ملهوش نهاية ملهوش مرتب ثابت
فكل اما هتدي وقت هتلاقي مقابل
الفكرة بقي فاللي يتعب ويدي وقت
الكل عايز السهل بدون تعب وعشان كدا هتلاقي الكل لا بيكمل في حاجة ولا بيوصل ولا بينجح ✅
خلي نفسك طويل اختار الحاجة اللي علي المدي الطويل تجيبلك حياة جامدة .. ✅
اللي بياخد الريسك ومؤمن بيه ودارس هو بيعمل ايه ، ممكن يغير حياته ،
لو مش قادر تاخد الريسك وتحاول في حاجة لحد ما تنجح وتبقي مدرك تماما صعوبة المشوار .. خلاص خليك في العادي
الطبيعي والعادي انك تاخد شهادة وتشتغل في شركة بتعليمك اي كان هو ايه ☑️
جميل بس ده مش شرط انه يخليك غني فحاول وانت بتتعلم ترسم لنفسك انت هتعيش ازاي متبقاش سايبها وخلاص انك هتمسك وظيفة وتبقي من اغنياء البلد .. لانه مش هيحصل ❌
توكل علي الله 🔥
❤2👍1
🔰 الفرق بين #Frontend و #backend
#أولا: Front End: يقصد بال Front End هو الجزء من الموقع الذي يتفاعل معه المستخدمين، أي شيء من مكونات الموقع التي يمكنك مشاهدتها، ويمكنك إحداث أي حدث عليها، مثل ال Buttons وال Dropdowns menu والخطوط والألوان ومعارض الصور وحركات ال Animation وغيرها.
كما أننا نتحدث عن Front End فيعني أنك يجب أن تعرف في ال HTML5 وال CSS3 وال jQuery وال jQuery UI وال SASS or LESS وبعض الخبرة في بعض المكاتب المهمة والمتعلقة مثلا في معارض الصور والقليل من الخبرة من
الأجاكس ليست سيئة ...
------------------------------------
#ثانيا: Back End: يقصد بال Back End هو ذلك الجزء الذي يتم بنائه ليعمل على الربط بين مجموعة الصفحات والبيانات والتطبيقات المختلفة، وفي المعنى الآخر هو الجزء الذي يتم تنفيذه وقرائته من خلال ال Server ويهتم بالتحقق من استقبال البيانات وارسالها بشكل صحيح من والى المتصفح.
كما انه يضم مجموعة من الأدوات مثل (Mysql OR Oracle OR SQL Server) وبكل تأكيد هذه تأتي بعد تعلمك أو معرفتك ل SQL(Structure Query Language) مثل جمل الإستعلام والتحديث والحذف والإضافة ..الخ
#أولا: Front End: يقصد بال Front End هو الجزء من الموقع الذي يتفاعل معه المستخدمين، أي شيء من مكونات الموقع التي يمكنك مشاهدتها، ويمكنك إحداث أي حدث عليها، مثل ال Buttons وال Dropdowns menu والخطوط والألوان ومعارض الصور وحركات ال Animation وغيرها.
كما أننا نتحدث عن Front End فيعني أنك يجب أن تعرف في ال HTML5 وال CSS3 وال jQuery وال jQuery UI وال SASS or LESS وبعض الخبرة في بعض المكاتب المهمة والمتعلقة مثلا في معارض الصور والقليل من الخبرة من
الأجاكس ليست سيئة ...
------------------------------------
#ثانيا: Back End: يقصد بال Back End هو ذلك الجزء الذي يتم بنائه ليعمل على الربط بين مجموعة الصفحات والبيانات والتطبيقات المختلفة، وفي المعنى الآخر هو الجزء الذي يتم تنفيذه وقرائته من خلال ال Server ويهتم بالتحقق من استقبال البيانات وارسالها بشكل صحيح من والى المتصفح.
كما انه يضم مجموعة من الأدوات مثل (Mysql OR Oracle OR SQL Server) وبكل تأكيد هذه تأتي بعد تعلمك أو معرفتك ل SQL(Structure Query Language) مثل جمل الإستعلام والتحديث والحذف والإضافة ..الخ
❤6
🔰 ماذا تعني Malware _ (البرمجيات الخبيثة)
🔸️ هو مصطلح عام يطلق على اعداد وانواع مختلفة من البرامج اللي تعطل او تبوظ البيانات وتدخل الكمبيوتر وتثبت نفسها بدون علم المستخدم
♦️ينقسم Malware الى اربع انواع بناء على الخاصية الاساسية التي تمتاز بها :
🔹Circulation - الدوران
🔹Infection - عدوى
🔹Concealment - اخفاء
🔹Payload capabilities - الحمولة
✅ اول نوع وهو Circulation ومن امثلته Viruses 🦠 و worms 🪱
🔹circulation او الدوران
⬅️ هذا النوع من البرمجيات الخبيثة يدور الى ما ينتشر للوصول الى عدد كبير من المستخدمين ينتشر من خلال :
Network, USB , Email
⚠️ نوعين من البرمجيات الخبيثة اللي صفاتها الاساسية Circulation
هي Viruses 🦠 و Worms 🪱
🔹Viruses
⬅️ هو كود خبيث يحاول يتكاثر على نفس الكمبيوتر اغلب عدوة الفيروسات تكون بادراج نفسها في ملف سواء ملف تنفيذي executable file او ملف بيانات data file .
🔸Macro
⬅️ مجموعة من تعلميات اللي ممكن نجمعها وتكون كوماند واحد
اغلب data file virus تكون macro virus وغالبا تجي مع Microsoft office بمجرد ما الملف ينفتح اوامر macro تتنفذ سواء اذا هذه التعلميات خبيثة او حميدة .
♦️تنتشر الفيروسات بطريقتين:
🔷Appender infection
▪️من اسمه الفيروس يضمن نفسه في نهاية الملف وهذا النوع سهل اكتشافه من قبل برامج الحماية ضد الفيروسات
🔷Armored virus
▪️اغلب الفيروسات تكون من هذا النوع اللي يصعب اكتشافها
🔸Armored viruses لها ثلاث انواع:
▫️Swiss cheese infection
يحقن نفسه في executable code والكود يشفر نفسه للصعوبة الاكتشاف
▫️split infection
الفيروس ينقسم الى عدة اجزاء والاجزاء تكون باماكن عشوائية في البرنامج
▫️Mutation
بعض الفيروسات لها القدرة على التحول وتغير نفسها في كل مرة
⭕ امثلة على افعال الفيروسات :
▫️مسح الملفات من HD
▫️تقفيل اعادات الامن
▫️بطئ واغلاق الكمبيوتر بشكل متكرر
دمتم سالمين وإلى اللقاء في منشورات قادمة.
#IT223 #Networks #programming #Computer #operating_system #IT223
🔸️ هو مصطلح عام يطلق على اعداد وانواع مختلفة من البرامج اللي تعطل او تبوظ البيانات وتدخل الكمبيوتر وتثبت نفسها بدون علم المستخدم
♦️ينقسم Malware الى اربع انواع بناء على الخاصية الاساسية التي تمتاز بها :
🔹Circulation - الدوران
🔹Infection - عدوى
🔹Concealment - اخفاء
🔹Payload capabilities - الحمولة
✅ اول نوع وهو Circulation ومن امثلته Viruses 🦠 و worms 🪱
🔹circulation او الدوران
⬅️ هذا النوع من البرمجيات الخبيثة يدور الى ما ينتشر للوصول الى عدد كبير من المستخدمين ينتشر من خلال :
Network, USB , Email
⚠️ نوعين من البرمجيات الخبيثة اللي صفاتها الاساسية Circulation
هي Viruses 🦠 و Worms 🪱
🔹Viruses
⬅️ هو كود خبيث يحاول يتكاثر على نفس الكمبيوتر اغلب عدوة الفيروسات تكون بادراج نفسها في ملف سواء ملف تنفيذي executable file او ملف بيانات data file .
🔸Macro
⬅️ مجموعة من تعلميات اللي ممكن نجمعها وتكون كوماند واحد
اغلب data file virus تكون macro virus وغالبا تجي مع Microsoft office بمجرد ما الملف ينفتح اوامر macro تتنفذ سواء اذا هذه التعلميات خبيثة او حميدة .
♦️تنتشر الفيروسات بطريقتين:
🔷Appender infection
▪️من اسمه الفيروس يضمن نفسه في نهاية الملف وهذا النوع سهل اكتشافه من قبل برامج الحماية ضد الفيروسات
🔷Armored virus
▪️اغلب الفيروسات تكون من هذا النوع اللي يصعب اكتشافها
🔸Armored viruses لها ثلاث انواع:
▫️Swiss cheese infection
يحقن نفسه في executable code والكود يشفر نفسه للصعوبة الاكتشاف
▫️split infection
الفيروس ينقسم الى عدة اجزاء والاجزاء تكون باماكن عشوائية في البرنامج
▫️Mutation
بعض الفيروسات لها القدرة على التحول وتغير نفسها في كل مرة
⭕ امثلة على افعال الفيروسات :
▫️مسح الملفات من HD
▫️تقفيل اعادات الامن
▫️بطئ واغلاق الكمبيوتر بشكل متكرر
دمتم سالمين وإلى اللقاء في منشورات قادمة.
#IT223 #Networks #programming #Computer #operating_system #IT223
👍3
بعض استخدامات لغات البرمجة👇🏼:
1) لغة ++C
-برمجة تطبيقات سطح المكتب
-برمجة الالعاب
2) لغة #C
-برمجة تطبيقات الهواتف الذكية
(اندرويد - ابل)
-برمجة المواقع الإلكترونية
-تصميم المواقع الالكترونية
-تطبيقات سطح المكتب
-برمجة الالعاب
4) لغة Php
-برمجة المواقع الالكترونية
-برمجة بوتات التليجرام
5) لغة الجافا Java
-برمجة تطبيقات سطح المكتب
-برمجة المواقع الالكترونية
-برمجة الالعاب
- برمجة تطبيقات الهواتف الذكية
6) لغة البايثون Python
-تحليل البيانات
-تعلم الاله
-التعلم العميق
-الذكاء الاصطناعي
-برمجة المواقع الالكترونية
-التشفير و الحماية
-الشبكات والسيرفرات
7) لغة R
-تحليل البيانات
8 لغة الكوتلين kotlin
-برمجة تطبيقات الهواتف الذكية (اندرويد)
9) لغة Swift
-برمجة تطبيقات الهواتف الذكية (ابل)
لغة جافا سكربت
(Java Script )
-برمجة المواقع الالكترونية
-تصميم المواقع الالكترونية
-تصميم تطبيقات الهواتف الذكية
-تصميم تطبيقات سطح المكتب
-برمجة الالعاب
@
#البرمجة #لغات #لغات_البرمجة #برمجه #البرمجه #مبرمج #مبرمجة #مبرمجين #البرمجيات
1) لغة ++C
-برمجة تطبيقات سطح المكتب
-برمجة الالعاب
2) لغة #C
-برمجة تطبيقات الهواتف الذكية
(اندرويد - ابل)
-برمجة المواقع الإلكترونية
-تصميم المواقع الالكترونية
-تطبيقات سطح المكتب
-برمجة الالعاب
4) لغة Php
-برمجة المواقع الالكترونية
-برمجة بوتات التليجرام
5) لغة الجافا Java
-برمجة تطبيقات سطح المكتب
-برمجة المواقع الالكترونية
-برمجة الالعاب
- برمجة تطبيقات الهواتف الذكية
6) لغة البايثون Python
-تحليل البيانات
-تعلم الاله
-التعلم العميق
-الذكاء الاصطناعي
-برمجة المواقع الالكترونية
-التشفير و الحماية
-الشبكات والسيرفرات
7) لغة R
-تحليل البيانات
8 لغة الكوتلين kotlin
-برمجة تطبيقات الهواتف الذكية (اندرويد)
9) لغة Swift
-برمجة تطبيقات الهواتف الذكية (ابل)
لغة جافا سكربت
(Java Script )
-برمجة المواقع الالكترونية
-تصميم المواقع الالكترونية
-تصميم تطبيقات الهواتف الذكية
-تصميم تطبيقات سطح المكتب
-برمجة الالعاب
@
#البرمجة #لغات #لغات_البرمجة #برمجه #البرمجه #مبرمج #مبرمجة #مبرمجين #البرمجيات
❤2
افضل منصه لتعليم البرمجه بالمجان
https://apk.e-droid.net/apk/app2298256-y3lanu.apk?v=5
https://apk.e-droid.net/apk/app2298256-y3lanu.apk?v=5
❤2
تقنية المعلومات و الذكاء الاصطناعي pinned «افضل منصه لتعليم البرمجه بالمجان https://apk.e-droid.net/apk/app2298256-y3lanu.apk?v=5»
خارطة الطريق لبرمجة المواقع
خارطة طريق مختصرة توضح مجال تطوير المواقع للراغبين في البدء به.
عمار الخوالدةمنذ 4 سنوات
خارطة الطريق لبرمجة المواقع
1. مقدمة
1.1. ماذا سأستفيد من هذا المقال
إن كنت تريد البدء بتطوير المواقع فهذا المقال سيضعك في بداية الطريق وسيعطيك تصورًا عن التقنيات التي ستتعلمها وفائدة هذه التقنيات حتى تكون لديك فكرة مسبقة عما يجب أن تتعلمه، مما سيجعلك تبدأ بداية صحيحة في هذا المجال.
1.2. كيف تعمل المواقع
الموقع يتكون بشكل أساسي من مجموعة من الملفات والصفحات المترابطة مع بعضها، هذه الملفات تُخزّنُ على خادم (Server) وهو جهاز كمبيوتر تكون بالغالب مواصفاته قوية جدا ويعمل على مدار 24 ساعة دون انقطاع، فعند كتابتك في المتصفح لرابط أي موقع يقوم المتصفح بطلب ملفات الموقع من الخادم لعرضها للمستخدم كما توضح الصورة التالية:
Server client communication
يقوم المتصفح بارسال طلب (Request) إلى السيرفر، ثم يقوم السيرفر بمعالجة الطلب ومعرفة الملفات والبيانات التي يجب تزويد جهازك بها، فيقوم بإرسال استجابة (Response) فيها المعلومات التي تلزم المتصفح لعرض ملفات الموقع للمستخدم، وهذا التواصل يتم عن طريق بروتوكول HTTP.
2. البداية
2.1. ما هي المتطلبات السابقة لتعلم تطوير المواقع
المتطلبات السابقة موجودة في النقاط أدناه وهي ملونة بحسب التصنيف التالي:
الأحمر:مهم وقد تواجه بعض الصعوبة إن تجاوزته.
الأخضر: تفضيل شخصي من وجهة نظري.
معرفة طريقة استخدام المواقع: قد تراها نقطة تافهة ولا يجب الحديث عنها، لكن هناك بالفعل الكثير ممن يفترض أنهم مبرمجون ولا يتقنون استخدام المواقع بشكل جيد!
مهارات البحث: كمبرمج ستواجهك الكثير من المشاكل، والطريقة الأفضل والأسهل والأسرع هي البحث عن حل المشكلة قبل السؤال أو طلب المساعدة فمعظم المشاكل التي تواجهك ستجد حلها في النتيجة الأولى أو الثانية بجوجل، فليس من المنطقي أن تسأل وتنتظر الإجابة في حين بإمكانك الوصول إلى الجواب خلال ثوانٍ! وهذا في النهاية لا ينفي أنك ستحتاج إلى السؤال أحيانا، فيمكنك حينها طرح السؤال في قسم الأسئلة.
معرفة أقسام تطوير المواقع: ينقسم تطوير المواقع إلى عدة أقسام، يجب معرفة الفرق بينها قبل البدأ وسنناقش هذه الأقسام بشكل مختصر خلال هذا المقال.
معرفة أساسيات البرمجة: شخصيا أُفضِّلُ أن تكون لديك معرفة بواحدة من لغات البرمجة قبل البدء بتطوير المواقع.
2.2. أقسام تطوير وتصميم المواقع
كل موقع يجب أن يحتوي على تصميم، والتصميم في الغالب هو أول ما يلفت الانتباه عند تصفح أي موقع، فتصميم الموقع من الأمور المهمة، وهو أول موضوع ستتعلمه قبل البدء ببرمجة المواقع بشكل فعلي، وتصميم المواقع لا يتم باستخدام البرمجة، بل يتم عن طريق بعض اللغات الوصفية البسيطة، وسنتطرق إلى هذا الموضوع أكثر لاحقا في هذا المقال.
برمجة المواقع تنقسم إلى قسمين:
1. البرمجة من جهة العميل ( Client Side - Frontend):
وضحنا سابقا أن الموقع يعمل عن طريق إرسال طلب من المتصفح إلى السيرفر، ثم يرسل السيرفر الاستجابة، والاستجابة تحتوي على عدد من الملفات، من الملفات المهمة هي ملفات لغة جافاسكربت (Javascript) فبما أن السيرفر يقوم بإرسال كود جافاسكربت إلى العميل، فإن هذا يعني أن كود جافاسكربت لن يتم تنفيذه على السيرفر، إنما يتم إرساله إلى العميل ثم يُنفذ على جهاز العميل، والفائدة من هذه العملية هو تنفيذ مهام أو عمليات معينة داخل الموقع بالتعامل مع عناصر الموقع ( كالأزرار والنصوص وغيرها ) وتُنفذ العملية بشكل مباشر أمام المستخدم، لأن الكود ينفذ على جهازه وليس على السيرفر، فعند تنفيذ عملية معينة باستخدام جافاسكربت، لا داعي لإرسال طلب إلى السيرفر ليقوم بدوره بالاستجابة، فالكود موجود على جهازك أنت وسينفذ في جهازك مباشرة، وهناك العديد من الأمثلة على ذلك، فعند كتابتك لسؤال مثلا في عالم البرمجة، ستلاحظ وجود مكان لكتابة الكلمات الدلالية للسؤال، وعند ضغط زر Enter بعد كتابة الكلمة، تجد أن لون خلفية الكلمة قد تغير إضافة إلى ظهور زر لحذفها، وتلاحظ أيضا أن العملية تمت مباشرة وتحصل هذه العملية حتى إن فصلت اتصال الانترنت عن جهازك، لأن هذه العملية تم تنفيذها على جهازك وليس على السيرفر لذلك لم تحصل عملية طلب واستجابة ( Request - Response ) فلم يؤثر انقطاع اتصال الانترنت على هذه العملية.
2. البرمجة من جهة الخادم (Server side - Backend):
تختلف البرمجة من جهة الخادم عن البرمجة من جهة العميل، فالكود لا يتم إرساله إلى المستخدم أبدا، إنما يتم تنفيذه على الخادم، فمثلا عند تسجيلك في موقع عالم البرمجة يقوم المتصفح بإرسال طلب إلى الخادم فيه المعلومات التي قمت بإدخالها، يقوم الخادم بالعديد من العمليات عند وصول الطلب، منها التحقق من عدم تكرار البريد الالكتروني في قاعدة بيانات الموقع، وتشفير كلمة المرور لمنع إمكانية الاطلاع عليها
خارطة طريق مختصرة توضح مجال تطوير المواقع للراغبين في البدء به.
عمار الخوالدةمنذ 4 سنوات
خارطة الطريق لبرمجة المواقع
1. مقدمة
1.1. ماذا سأستفيد من هذا المقال
إن كنت تريد البدء بتطوير المواقع فهذا المقال سيضعك في بداية الطريق وسيعطيك تصورًا عن التقنيات التي ستتعلمها وفائدة هذه التقنيات حتى تكون لديك فكرة مسبقة عما يجب أن تتعلمه، مما سيجعلك تبدأ بداية صحيحة في هذا المجال.
1.2. كيف تعمل المواقع
الموقع يتكون بشكل أساسي من مجموعة من الملفات والصفحات المترابطة مع بعضها، هذه الملفات تُخزّنُ على خادم (Server) وهو جهاز كمبيوتر تكون بالغالب مواصفاته قوية جدا ويعمل على مدار 24 ساعة دون انقطاع، فعند كتابتك في المتصفح لرابط أي موقع يقوم المتصفح بطلب ملفات الموقع من الخادم لعرضها للمستخدم كما توضح الصورة التالية:
Server client communication
يقوم المتصفح بارسال طلب (Request) إلى السيرفر، ثم يقوم السيرفر بمعالجة الطلب ومعرفة الملفات والبيانات التي يجب تزويد جهازك بها، فيقوم بإرسال استجابة (Response) فيها المعلومات التي تلزم المتصفح لعرض ملفات الموقع للمستخدم، وهذا التواصل يتم عن طريق بروتوكول HTTP.
2. البداية
2.1. ما هي المتطلبات السابقة لتعلم تطوير المواقع
المتطلبات السابقة موجودة في النقاط أدناه وهي ملونة بحسب التصنيف التالي:
الأحمر:مهم وقد تواجه بعض الصعوبة إن تجاوزته.
الأخضر: تفضيل شخصي من وجهة نظري.
معرفة طريقة استخدام المواقع: قد تراها نقطة تافهة ولا يجب الحديث عنها، لكن هناك بالفعل الكثير ممن يفترض أنهم مبرمجون ولا يتقنون استخدام المواقع بشكل جيد!
مهارات البحث: كمبرمج ستواجهك الكثير من المشاكل، والطريقة الأفضل والأسهل والأسرع هي البحث عن حل المشكلة قبل السؤال أو طلب المساعدة فمعظم المشاكل التي تواجهك ستجد حلها في النتيجة الأولى أو الثانية بجوجل، فليس من المنطقي أن تسأل وتنتظر الإجابة في حين بإمكانك الوصول إلى الجواب خلال ثوانٍ! وهذا في النهاية لا ينفي أنك ستحتاج إلى السؤال أحيانا، فيمكنك حينها طرح السؤال في قسم الأسئلة.
معرفة أقسام تطوير المواقع: ينقسم تطوير المواقع إلى عدة أقسام، يجب معرفة الفرق بينها قبل البدأ وسنناقش هذه الأقسام بشكل مختصر خلال هذا المقال.
معرفة أساسيات البرمجة: شخصيا أُفضِّلُ أن تكون لديك معرفة بواحدة من لغات البرمجة قبل البدء بتطوير المواقع.
2.2. أقسام تطوير وتصميم المواقع
كل موقع يجب أن يحتوي على تصميم، والتصميم في الغالب هو أول ما يلفت الانتباه عند تصفح أي موقع، فتصميم الموقع من الأمور المهمة، وهو أول موضوع ستتعلمه قبل البدء ببرمجة المواقع بشكل فعلي، وتصميم المواقع لا يتم باستخدام البرمجة، بل يتم عن طريق بعض اللغات الوصفية البسيطة، وسنتطرق إلى هذا الموضوع أكثر لاحقا في هذا المقال.
برمجة المواقع تنقسم إلى قسمين:
1. البرمجة من جهة العميل ( Client Side - Frontend):
وضحنا سابقا أن الموقع يعمل عن طريق إرسال طلب من المتصفح إلى السيرفر، ثم يرسل السيرفر الاستجابة، والاستجابة تحتوي على عدد من الملفات، من الملفات المهمة هي ملفات لغة جافاسكربت (Javascript) فبما أن السيرفر يقوم بإرسال كود جافاسكربت إلى العميل، فإن هذا يعني أن كود جافاسكربت لن يتم تنفيذه على السيرفر، إنما يتم إرساله إلى العميل ثم يُنفذ على جهاز العميل، والفائدة من هذه العملية هو تنفيذ مهام أو عمليات معينة داخل الموقع بالتعامل مع عناصر الموقع ( كالأزرار والنصوص وغيرها ) وتُنفذ العملية بشكل مباشر أمام المستخدم، لأن الكود ينفذ على جهازه وليس على السيرفر، فعند تنفيذ عملية معينة باستخدام جافاسكربت، لا داعي لإرسال طلب إلى السيرفر ليقوم بدوره بالاستجابة، فالكود موجود على جهازك أنت وسينفذ في جهازك مباشرة، وهناك العديد من الأمثلة على ذلك، فعند كتابتك لسؤال مثلا في عالم البرمجة، ستلاحظ وجود مكان لكتابة الكلمات الدلالية للسؤال، وعند ضغط زر Enter بعد كتابة الكلمة، تجد أن لون خلفية الكلمة قد تغير إضافة إلى ظهور زر لحذفها، وتلاحظ أيضا أن العملية تمت مباشرة وتحصل هذه العملية حتى إن فصلت اتصال الانترنت عن جهازك، لأن هذه العملية تم تنفيذها على جهازك وليس على السيرفر لذلك لم تحصل عملية طلب واستجابة ( Request - Response ) فلم يؤثر انقطاع اتصال الانترنت على هذه العملية.
2. البرمجة من جهة الخادم (Server side - Backend):
تختلف البرمجة من جهة الخادم عن البرمجة من جهة العميل، فالكود لا يتم إرساله إلى المستخدم أبدا، إنما يتم تنفيذه على الخادم، فمثلا عند تسجيلك في موقع عالم البرمجة يقوم المتصفح بإرسال طلب إلى الخادم فيه المعلومات التي قمت بإدخالها، يقوم الخادم بالعديد من العمليات عند وصول الطلب، منها التحقق من عدم تكرار البريد الالكتروني في قاعدة بيانات الموقع، وتشفير كلمة المرور لمنع إمكانية الاطلاع عليها
👍2
وإضافة المعلومات التي أدخلتها وكلمة المرور المشفرة إلى قاعدة البيانات، وبعد هذه العمليات كلها يرسل الخادم استجابة (Response) فيها معلومات عن نجاح أو فشل العملية وهذه المعلومات تصل مضمنة خلال المحتوى ولن تصل على شكل كود يُنفذ على جهاز المستخدم.
2.3. كيف يعرض المتصفح صفحات الموقع
شرحنا في النقطة 1.2 كيف يعمل الموقع، وذكرنا أن المتصفح يرسل طلبا للسيرفر، فيقوم السيرفر بتزويده بالبيانات التي تلزمه، ومن البيانات التي يستقبلها المتصفح عن السيرفر هي محتويات الصفحة ( من نصوص وجداول وصور وغيرها ) إضافة إلى خصائص وصفات هذه المحتويات ( من خصائص الخطوط كاللون ونوع الخط، أو الخلفيات وغيرها ).
لكن كيف تنتقل هذه العناصر من السيرفر ويفهمها المتصفح ثم يعرضها؟
عناصر الصفحة تنتقل بصيغة معينة متعارف عليها، هذه الصيغة هي لغة HTML وهي لغة وصفية ( أي أنها تصف محتوى معين وليست لغة برمجة ) فكل محتوى داخل الصفحة كفقرات النص أو العناوين أو حتى الصور والأزرار وغيرها تُمثّلُ باستخدام HTML، وبما أنها لغة ( أي أنها نص ) فمن السهل انتقالها من السيرفر إلى المتصفح.
في السابق كان بإمكان تحديد الألوان وبعض الخصائص الشكلية للعناصر عن طريق HTML، لكن بعد الاصدار الخامس منها أصبح هذا الأمر غير مفضلا، فهناك بالفعل لغة أخرى متخصصة في أمور التصميم والألوان وغيرها من الخصائص المتعلقة بالشكل، لذلك حُذِفت هذه الخصائص من الاصدار الخامس لتوحيد طريقة التصميم (Styling). فأصبح كل ما يتعلق بالتصميم يتم عن طريق لغة CSS ( وهي أيضا ليست لغة برمجة ).
3. تصميم الموقع
اتفقنا في النقطة 2.2 على أن أول خطوة في التعلم هي تعلم تصميم المواقع، كما وضحنا في النقطة 2.3 كيف يعرض المتصفح صفحات الموقع، ومنه علمنا أن التصميم يتم باستخدام لغتين وهما HTML و CSS.
3.1. لغة html
هي المكون الأساسي لصفحات الموقع، فهي من تصف محتويات الصفحة من نصوص وصور وجداول وروابط لصفحات أخرى، لذلك فهي أول شيء عليك تعلمه وهي لغة بسيطة جدا ولن تأخذ منك الكثير من الوقت، إليك مثالا على كود html بسيط:
<div>
<h1> عنوان المقالة </h1>
<p> محتوى المقالة </p>
</div>
كما ترى في المثال السابق، هي لغة بسيطة جدا، لوصف أي شيء داخل الصفحة نضعه بين وسوم تُوضِّحُ للمتصفح نوع المحتوى الموجود، فـ h1 مثلا تدل على عنوان، بينما p تدل على فقرة وهكذا.
وهذه بعض المصادر لتعلم Html ( اختر واحدا فقط ):
ًW3Schools
Tutorials Point
3.2. لغة CSS
بعد إنهاء تعلم html ستلاحظ أنك قادر على انشاء صفحات مواقع والربط بينها، لكنك ستشعر بالصداع من شدة كآبة هذه الصفحات، فهي غير ملونة، وأشكالها سيئة، لذلك فإنك ستكون بحاجة إلى لغة CSS لإضافة بعض اللمسات الفنية إلى الصفحات التي قمت بإنشائها، شاهد الكود الآتي لتأخذ فكرة عن ما ستتعلمه:
p {
background-color: red;
}
هنا قمنا "بإمساك" وسم p الخاص بـ html ( وهي المقالة بحسب المثال السابق ) وقمنا بإضافة خاصية لون الخلفية مثلا وهو في المثال باللون الأحمر.
مصادر للتعلم:
W3Schools
Tutorials Point
3.3. أين أتوقف!
مجال تصميم المواقع مجال واسع جدا، ولا يقتصر على html و css فقط، ووسوم html كثيرة جدا وكذلك خصائص css، لذلك قد تظن أنك لن تنتهي منهما أبدا.
في الواقع، لا داعي لتعلم جميع وسوم html وخصائص css ومعرفتها ( لا أظن أن هناك شخص يعرفها كلها على أي حال ) لكن بما أن هدفك هو إنشاء المواقع فتكفيك معرفة بسيطة جدا في html و css ويمكنك تعلم المزيد لاحقا عندما تحتاج إلى ذلك.
فيمكنك التوقف عن تعلم html عندما تصبح قادرا على كتابة الفقرات والعناوين، وإنشاء الجداول وإدراج الصور في الصفحة وإنشاء النماذج (Forms)، وكذلك الربط بين الصفحات ( يمكنك تعلم كل هذا في أقل من 15 دقيقة )، فبالنسبة ل html هذا كافٍ في البداية، ومع الوقت ستستخدم المزيد من الوسوم، إضافة إلى أنك بحاجة إلى "مهارة البحث" التي ذكرناها في بداية المقال، فعندما تريد عمل شيء لم تتعلمه بعد، قم بالبحث أو بالرجوع إلى المصادر وتعلمه.
أما بالنسبة ل CSS فهذا متوقف على تقديرك، لا داعي أن تصبح ماهرا بالتصميم من البداية، ففي الغالب تصميماتك الأولى ستكون قبيحة جدا، لكن يمكنك التوقف عندما تتقن وضع أي عنصر html في أي مكان تريده في الصفحة، وعندما تتمكن من تطبيق خصائص ال css التي تعرفها على أي عنصر، وخذ نبذة عن تصميم المواقع المتجاوبة مع أحجام الشاشات المختلفة، وبالطبع ستتعلم المزيد لاحقا إما أثناء المشاريع حيث ستبحث عن طريقة عمل شيء معين وتتعلمه بهذه الطريقة عن طريق البحث، أو عن طريق تعلم المزيد وزيادة مهاراتك لاحقا.
2.3. كيف يعرض المتصفح صفحات الموقع
شرحنا في النقطة 1.2 كيف يعمل الموقع، وذكرنا أن المتصفح يرسل طلبا للسيرفر، فيقوم السيرفر بتزويده بالبيانات التي تلزمه، ومن البيانات التي يستقبلها المتصفح عن السيرفر هي محتويات الصفحة ( من نصوص وجداول وصور وغيرها ) إضافة إلى خصائص وصفات هذه المحتويات ( من خصائص الخطوط كاللون ونوع الخط، أو الخلفيات وغيرها ).
لكن كيف تنتقل هذه العناصر من السيرفر ويفهمها المتصفح ثم يعرضها؟
عناصر الصفحة تنتقل بصيغة معينة متعارف عليها، هذه الصيغة هي لغة HTML وهي لغة وصفية ( أي أنها تصف محتوى معين وليست لغة برمجة ) فكل محتوى داخل الصفحة كفقرات النص أو العناوين أو حتى الصور والأزرار وغيرها تُمثّلُ باستخدام HTML، وبما أنها لغة ( أي أنها نص ) فمن السهل انتقالها من السيرفر إلى المتصفح.
في السابق كان بإمكان تحديد الألوان وبعض الخصائص الشكلية للعناصر عن طريق HTML، لكن بعد الاصدار الخامس منها أصبح هذا الأمر غير مفضلا، فهناك بالفعل لغة أخرى متخصصة في أمور التصميم والألوان وغيرها من الخصائص المتعلقة بالشكل، لذلك حُذِفت هذه الخصائص من الاصدار الخامس لتوحيد طريقة التصميم (Styling). فأصبح كل ما يتعلق بالتصميم يتم عن طريق لغة CSS ( وهي أيضا ليست لغة برمجة ).
3. تصميم الموقع
اتفقنا في النقطة 2.2 على أن أول خطوة في التعلم هي تعلم تصميم المواقع، كما وضحنا في النقطة 2.3 كيف يعرض المتصفح صفحات الموقع، ومنه علمنا أن التصميم يتم باستخدام لغتين وهما HTML و CSS.
3.1. لغة html
هي المكون الأساسي لصفحات الموقع، فهي من تصف محتويات الصفحة من نصوص وصور وجداول وروابط لصفحات أخرى، لذلك فهي أول شيء عليك تعلمه وهي لغة بسيطة جدا ولن تأخذ منك الكثير من الوقت، إليك مثالا على كود html بسيط:
<div>
<h1> عنوان المقالة </h1>
<p> محتوى المقالة </p>
</div>
كما ترى في المثال السابق، هي لغة بسيطة جدا، لوصف أي شيء داخل الصفحة نضعه بين وسوم تُوضِّحُ للمتصفح نوع المحتوى الموجود، فـ h1 مثلا تدل على عنوان، بينما p تدل على فقرة وهكذا.
وهذه بعض المصادر لتعلم Html ( اختر واحدا فقط ):
ًW3Schools
Tutorials Point
3.2. لغة CSS
بعد إنهاء تعلم html ستلاحظ أنك قادر على انشاء صفحات مواقع والربط بينها، لكنك ستشعر بالصداع من شدة كآبة هذه الصفحات، فهي غير ملونة، وأشكالها سيئة، لذلك فإنك ستكون بحاجة إلى لغة CSS لإضافة بعض اللمسات الفنية إلى الصفحات التي قمت بإنشائها، شاهد الكود الآتي لتأخذ فكرة عن ما ستتعلمه:
p {
background-color: red;
}
هنا قمنا "بإمساك" وسم p الخاص بـ html ( وهي المقالة بحسب المثال السابق ) وقمنا بإضافة خاصية لون الخلفية مثلا وهو في المثال باللون الأحمر.
مصادر للتعلم:
W3Schools
Tutorials Point
3.3. أين أتوقف!
مجال تصميم المواقع مجال واسع جدا، ولا يقتصر على html و css فقط، ووسوم html كثيرة جدا وكذلك خصائص css، لذلك قد تظن أنك لن تنتهي منهما أبدا.
في الواقع، لا داعي لتعلم جميع وسوم html وخصائص css ومعرفتها ( لا أظن أن هناك شخص يعرفها كلها على أي حال ) لكن بما أن هدفك هو إنشاء المواقع فتكفيك معرفة بسيطة جدا في html و css ويمكنك تعلم المزيد لاحقا عندما تحتاج إلى ذلك.
فيمكنك التوقف عن تعلم html عندما تصبح قادرا على كتابة الفقرات والعناوين، وإنشاء الجداول وإدراج الصور في الصفحة وإنشاء النماذج (Forms)، وكذلك الربط بين الصفحات ( يمكنك تعلم كل هذا في أقل من 15 دقيقة )، فبالنسبة ل html هذا كافٍ في البداية، ومع الوقت ستستخدم المزيد من الوسوم، إضافة إلى أنك بحاجة إلى "مهارة البحث" التي ذكرناها في بداية المقال، فعندما تريد عمل شيء لم تتعلمه بعد، قم بالبحث أو بالرجوع إلى المصادر وتعلمه.
أما بالنسبة ل CSS فهذا متوقف على تقديرك، لا داعي أن تصبح ماهرا بالتصميم من البداية، ففي الغالب تصميماتك الأولى ستكون قبيحة جدا، لكن يمكنك التوقف عندما تتقن وضع أي عنصر html في أي مكان تريده في الصفحة، وعندما تتمكن من تطبيق خصائص ال css التي تعرفها على أي عنصر، وخذ نبذة عن تصميم المواقع المتجاوبة مع أحجام الشاشات المختلفة، وبالطبع ستتعلم المزيد لاحقا إما أثناء المشاريع حيث ستبحث عن طريقة عمل شيء معين وتتعلمه بهذه الطريقة عن طريق البحث، أو عن طريق تعلم المزيد وزيادة مهاراتك لاحقا.
👍1
3.4. خذ استراحة
بعد أن تعلمت html و css وقبل الانتقال إلى الخطوة التالية، قم بالتفكير بمشروع ( بالطبع مشروعك سيكون عبارة عن تصميم لواجهة موقع فقط )، وحاول تنفيذ هذا المشروع والبحث عن الشيء الذي لم تعرف كيف تصممه، بهذه الطريقة ستتعلم أكثر بكثير مما تعلمته بمجرد القراءة وتطبيق الأمثلة البسيطة، كبداية يمكنك مثلا تقليد الواجهة الرئيسية لأي موقع يُعجبك شكله.
4. البرمجة من جهة العميل ClientSide Development
4.1. البداية
حتى الآن كل ما صممته باستخدام html و css هي مجرد تصاميم ولم تبدأ بالبرمجة فعليا، فإن اردت مثلا إخفاء صورة وإظهار شيء آخر مكانها عن الضغط على زر في الصفحة، فما تعلمته حتى الآن لن يساعدك، ستكون هنا بحاجة إلى لغة برمجة لكتابة المهام والعمليات التي يجب تنفيذها داخل الصفحة، إن كانت لديك خبرة مسبقة في أي لغة برمجة فلن تواجه صعوبة إطلاقا في هذا الجزء، أما ان لم تكن لديك خبرة مسبقة بالبرمجة ( وهو ما لا أفضله )، فعليك التركيز على هذا الجزء كثيرا.
البرمجة من جهة العميل تتم باستخدام لغة Javascript فقط، في البرمجة من جهة العميل جافاسكربت هي الخيار الوحيد لديك ( وبالمناسبة لا علاقة لها بلغة جافا إن كنت تتسآءل، هو تشابه أسماء فقط ).
4.2. خذ استراحة
بعد تعلمك لجافاسكربت، وتعلمك لطريقة التعامل مع عناصر html باستخدامها قم بإنشاء مشروع تستخدم فيه كل ما تعلمت، وتتعلم المزيد عن طريق البحث عن ما تريد فعله ولم تتعرف إلى طريقة برمجته.
4.3. ما هي Jquery وهل تلزمني؟
Jquery هي مكتبة (مجموعة من الميثودات والوظائف الجاهزة التي يمكنك استخدامها) وهي من أشهر مكتبات جافاسكربت، وتسهل عملك كثيرا باستخدام جافاسكربت، بالطبع يمكنك أن لا تتعلمها إن أردت، لكنها على كل حال لن تأخذ منك وقتا طويلا كما أن الكثير من المكتبات الأخرى التي قد تحتاجها مستقبلا تعتمد على Jquery أيضا، فمن المفيد معرفتك بها.
4.4. خذ استراحة ثانية!
بعد تعلم Jquery، قم بإنشاء مشروع آخر باستخدام ما تعلمته سابقا، ويمكنك أيضا استخدام وتعلم إطار عمل لـ Css (مجموعة كبيرة من الكلاسات الجاهزة) لتسهيل عملك في المشروع ولإنشاء موقع متوافق مع الشاشات الصغيرة بسهولة، مثل Bootstrap، فخلال هذا المشروع بإمكانك تطوير نفسك في كل من جافاسكربت و Css.
5. البرمجة من جهة السيرفر Server Side
5.1. البداية
لقد أصبح بإمكانك الآن تصميم وبرمجة صفحات تفاعلية، كما أنه بإمكانك برمجة العديد من الأشياء باستخدام جافاسكربت.
لكنك ربما قد لاحظت أنك بحاجة إلى تخزين بيانات لها علاقة بمحتوى الموقع، كبيانات المستخدمين، أو بيانات السِلَعْ المعروضة للبيع، وغيرها من البيانات، كما أنك قد تحتاج إلى تخزين بعض الصور على سيرفر، او ربما بعض الملفات الأخرى.
إن وصلت إلى هذه المرحلة فهذا يعني أنك بحاجة إلى سيرفر لتخزن عليه هذه الملفات، والأهم من ذلك أنك تحتاج إلى لغة برمجة للتعامل مع هذا السيرفر، فستتعامل بلغة البرمجة هذه مع الصور والملفات التي سيتم رفعها إلى السيرفر، كما أنك ستعالج وتتحقق من صحة أي بيانات يدخلها المستخدم، ثم تدخلها إلى قاعدة البيانات، أو تزود المستخدم ببيانات معينة يحتاجها، وغيرها من الوظائف الأخرى التي تحتاج فيها إلى لغة تعمل على السيرفر.
في البرمجة من جهة العميل كان لدينا خيار واحد وهو Javascript، أما هنا فبما ان الكود سيتم تنفيذه على السيرفر فلدينا العديد من الخيارات، أي لغة قد تُستخدم للبرمجة من جهة السيرفر، ومنها:
Python
Java
Javascript ( باستخدام NodeJs)
PHP
Ruby
GoLang
Kotlin
والعديد من اللغات الأخرى التي يمكن استخدامها ولا مجال لحصرها هنا.
5.2. أي لغة أختار
يمكنك اختيار أي لغة من اللغات القوية والمدعومة بشكل واسع، فطريقتك بالبرمجة ومدى تمكنك منها أهم من اللغة التي تستخدمها، في حال كنت لا تفضل استخدام أكثر من لغة واحدة أثناء عملك، ربما تكون البرمجة باستخدام Javascript من جهة السيرفر مناسبا جدا لك، فباستخدام NodeJs أصبح بالإمكان تنفيذ أكواد جافاسكربت على السيرفر.
أما إن كنت محتارا ولا تدري ماذا تختار، فاختر أي لغة من اللغات السابق ذكرها ( أو حتى أي لغة أعجبتك ولم أذكرها في القائمة السابقة )، وشخصيا قد أنصحك ببايثون فهي سهلة جدا وقوية بنفس الوقت.
ولا تنسى أن عليك أيضا تعلم قواعد البيانات حتى تتمكن من تخزين البيانات التي تريدها.
5.3. استراحة طويلة
عليك الآن تنفيذ العديد من المشاريع باستخدام كل ما تعلمته لتطور نفسك أكثر وتتعلم المزيد عن طريق حل المشاكل التي تواجهك! وربما تساهم أيضا في بعض المشاريع مفتوحة المصدر على GitHub.
---
الأمور التي ذكرتها في المقالة مختصرة جدا ولا تغطي المجال بالكامل، يمكنك الاستعانة بخارطة الطريق المفصلة هذه حتى تطور مهاراتك أكثر:
بعد أن تعلمت html و css وقبل الانتقال إلى الخطوة التالية، قم بالتفكير بمشروع ( بالطبع مشروعك سيكون عبارة عن تصميم لواجهة موقع فقط )، وحاول تنفيذ هذا المشروع والبحث عن الشيء الذي لم تعرف كيف تصممه، بهذه الطريقة ستتعلم أكثر بكثير مما تعلمته بمجرد القراءة وتطبيق الأمثلة البسيطة، كبداية يمكنك مثلا تقليد الواجهة الرئيسية لأي موقع يُعجبك شكله.
4. البرمجة من جهة العميل ClientSide Development
4.1. البداية
حتى الآن كل ما صممته باستخدام html و css هي مجرد تصاميم ولم تبدأ بالبرمجة فعليا، فإن اردت مثلا إخفاء صورة وإظهار شيء آخر مكانها عن الضغط على زر في الصفحة، فما تعلمته حتى الآن لن يساعدك، ستكون هنا بحاجة إلى لغة برمجة لكتابة المهام والعمليات التي يجب تنفيذها داخل الصفحة، إن كانت لديك خبرة مسبقة في أي لغة برمجة فلن تواجه صعوبة إطلاقا في هذا الجزء، أما ان لم تكن لديك خبرة مسبقة بالبرمجة ( وهو ما لا أفضله )، فعليك التركيز على هذا الجزء كثيرا.
البرمجة من جهة العميل تتم باستخدام لغة Javascript فقط، في البرمجة من جهة العميل جافاسكربت هي الخيار الوحيد لديك ( وبالمناسبة لا علاقة لها بلغة جافا إن كنت تتسآءل، هو تشابه أسماء فقط ).
4.2. خذ استراحة
بعد تعلمك لجافاسكربت، وتعلمك لطريقة التعامل مع عناصر html باستخدامها قم بإنشاء مشروع تستخدم فيه كل ما تعلمت، وتتعلم المزيد عن طريق البحث عن ما تريد فعله ولم تتعرف إلى طريقة برمجته.
4.3. ما هي Jquery وهل تلزمني؟
Jquery هي مكتبة (مجموعة من الميثودات والوظائف الجاهزة التي يمكنك استخدامها) وهي من أشهر مكتبات جافاسكربت، وتسهل عملك كثيرا باستخدام جافاسكربت، بالطبع يمكنك أن لا تتعلمها إن أردت، لكنها على كل حال لن تأخذ منك وقتا طويلا كما أن الكثير من المكتبات الأخرى التي قد تحتاجها مستقبلا تعتمد على Jquery أيضا، فمن المفيد معرفتك بها.
4.4. خذ استراحة ثانية!
بعد تعلم Jquery، قم بإنشاء مشروع آخر باستخدام ما تعلمته سابقا، ويمكنك أيضا استخدام وتعلم إطار عمل لـ Css (مجموعة كبيرة من الكلاسات الجاهزة) لتسهيل عملك في المشروع ولإنشاء موقع متوافق مع الشاشات الصغيرة بسهولة، مثل Bootstrap، فخلال هذا المشروع بإمكانك تطوير نفسك في كل من جافاسكربت و Css.
5. البرمجة من جهة السيرفر Server Side
5.1. البداية
لقد أصبح بإمكانك الآن تصميم وبرمجة صفحات تفاعلية، كما أنه بإمكانك برمجة العديد من الأشياء باستخدام جافاسكربت.
لكنك ربما قد لاحظت أنك بحاجة إلى تخزين بيانات لها علاقة بمحتوى الموقع، كبيانات المستخدمين، أو بيانات السِلَعْ المعروضة للبيع، وغيرها من البيانات، كما أنك قد تحتاج إلى تخزين بعض الصور على سيرفر، او ربما بعض الملفات الأخرى.
إن وصلت إلى هذه المرحلة فهذا يعني أنك بحاجة إلى سيرفر لتخزن عليه هذه الملفات، والأهم من ذلك أنك تحتاج إلى لغة برمجة للتعامل مع هذا السيرفر، فستتعامل بلغة البرمجة هذه مع الصور والملفات التي سيتم رفعها إلى السيرفر، كما أنك ستعالج وتتحقق من صحة أي بيانات يدخلها المستخدم، ثم تدخلها إلى قاعدة البيانات، أو تزود المستخدم ببيانات معينة يحتاجها، وغيرها من الوظائف الأخرى التي تحتاج فيها إلى لغة تعمل على السيرفر.
في البرمجة من جهة العميل كان لدينا خيار واحد وهو Javascript، أما هنا فبما ان الكود سيتم تنفيذه على السيرفر فلدينا العديد من الخيارات، أي لغة قد تُستخدم للبرمجة من جهة السيرفر، ومنها:
Python
Java
Javascript ( باستخدام NodeJs)
PHP
Ruby
GoLang
Kotlin
والعديد من اللغات الأخرى التي يمكن استخدامها ولا مجال لحصرها هنا.
5.2. أي لغة أختار
يمكنك اختيار أي لغة من اللغات القوية والمدعومة بشكل واسع، فطريقتك بالبرمجة ومدى تمكنك منها أهم من اللغة التي تستخدمها، في حال كنت لا تفضل استخدام أكثر من لغة واحدة أثناء عملك، ربما تكون البرمجة باستخدام Javascript من جهة السيرفر مناسبا جدا لك، فباستخدام NodeJs أصبح بالإمكان تنفيذ أكواد جافاسكربت على السيرفر.
أما إن كنت محتارا ولا تدري ماذا تختار، فاختر أي لغة من اللغات السابق ذكرها ( أو حتى أي لغة أعجبتك ولم أذكرها في القائمة السابقة )، وشخصيا قد أنصحك ببايثون فهي سهلة جدا وقوية بنفس الوقت.
ولا تنسى أن عليك أيضا تعلم قواعد البيانات حتى تتمكن من تخزين البيانات التي تريدها.
5.3. استراحة طويلة
عليك الآن تنفيذ العديد من المشاريع باستخدام كل ما تعلمته لتطور نفسك أكثر وتتعلم المزيد عن طريق حل المشاكل التي تواجهك! وربما تساهم أيضا في بعض المشاريع مفتوحة المصدر على GitHub.
---
الأمور التي ذكرتها في المقالة مختصرة جدا ولا تغطي المجال بالكامل، يمكنك الاستعانة بخارطة الطريق المفصلة هذه حتى تطور مهاراتك أكثر:
❤2👍1
Forwarded from تقنية معلومات It
This media is not supported in your browser
VIEW IN TELEGRAM
إختصارات مهمة يجب عليك معرفتها
👏3❤2
Forwarded from تقنية المعلومات و الذكاء الاصطناعي (Eng Website programmer developer)
افضل منصه لتعليم البرمجه بالمجان
https://apk.e-droid.net/apk/app2298256-y3lanu.apk?v=5
https://apk.e-droid.net/apk/app2298256-y3lanu.apk?v=5
❤3
هيتم تنزيل الكورسات بعد اكتمال العدد المحدد
*ازاي تعرف ان تلفونك مخترق او مراقب او حد بيتجسس عليك؟*
*وازاي تحمي تلفونك من المراقبة والاختراق والتجسس*
https://youtu.be/FTLBsLqxbIU
*وازاي تحمي تلفونك من المراقبة والاختراق والتجسس*
https://youtu.be/FTLBsLqxbIU
YouTube
ازاي تعرف تلفونك مخترق او مراقب وازاي تحمي نفسك وتحمي تلفونك من الاختراق و المراقبة والتجسس
ازاي تعرف تلفونك مخترق او مراقب وازاي تحمي نفسك وتحمي تلفونك من الاختراق و المراقبة والتجسس
للتواصل معي :
واتساب
https://wa.me/+201010994270
الانستا
https://instagram.com/medo_el_ashry_12?igshid=YmMyMTA2M2Y=
للتواصل معي :
واتساب
https://wa.me/+201010994270
الانستا
https://instagram.com/medo_el_ashry_12?igshid=YmMyMTA2M2Y=