يبدو أن هناك بعض اللبس حول المصطلح "لغة is". قد يكون هناك خطأ إملائي أو أن المصطلح الذي تبحث عنه غير مألوف. سأحاول تغطية بعض الاحتمالات الشائعة.
1. لغة البرمجة "SQL":
SQL (Structured Query Language) هي لغة برمجة مصممة لإدارة البيانات في نظام إدارة قواعد البيانات العلائقية (RDBMS). تُستخدم SQL للاستعلام عن البيانات وإدارتها.
2. لغة البرمجة "Lisp":
Lisp (التصوير القائم على القوائم) هي واحدة من أقدم لغات البرمجة العالية المستوى. يُعرف Lisp بمرونته الكبيرة فيما يتعلق بالتلاعب بالأكواد.
3. لغة البرمجة "Lua":
Lua هي لغة برمجة خفيفة وسريعة، تستخدم بشكل شائع في تطوير الألعاب وتطبيقات الرسومات بسبب كفاءتها وسهولتها في التكامل مع لغات البرمجة الأخرى.
4. لغة "Assembly":
Assembly language هي لغة برمجة منخفضة المستوى تستخدم للتفاعل المباشر مع العتاد (hardware) في الحواسيب. Assembly تُستخدم بشكل رئيس لتطوير برامج النظام وأجزاء من النظم المدمجة (embedded systems).
هل كانت هذه اللغات قريبة مما كنت تبحث عنه؟ إذا كان لديك تلميحات إضافية حول "لغة is
1. لغة البرمجة "SQL":
SQL (Structured Query Language) هي لغة برمجة مصممة لإدارة البيانات في نظام إدارة قواعد البيانات العلائقية (RDBMS). تُستخدم SQL للاستعلام عن البيانات وإدارتها.
2. لغة البرمجة "Lisp":
Lisp (التصوير القائم على القوائم) هي واحدة من أقدم لغات البرمجة العالية المستوى. يُعرف Lisp بمرونته الكبيرة فيما يتعلق بالتلاعب بالأكواد.
3. لغة البرمجة "Lua":
Lua هي لغة برمجة خفيفة وسريعة، تستخدم بشكل شائع في تطوير الألعاب وتطبيقات الرسومات بسبب كفاءتها وسهولتها في التكامل مع لغات البرمجة الأخرى.
4. لغة "Assembly":
Assembly language هي لغة برمجة منخفضة المستوى تستخدم للتفاعل المباشر مع العتاد (hardware) في الحواسيب. Assembly تُستخدم بشكل رئيس لتطوير برامج النظام وأجزاء من النظم المدمجة (embedded systems).
هل كانت هذه اللغات قريبة مما كنت تبحث عنه؟ إذا كان لديك تلميحات إضافية حول "لغة is
هجوم يمني على ايلات المحتلة
اصوات الانفجارات تدوووي الان 🔥 🫡".
اصوات الانفجارات تدوووي الان 🔥 🫡".
❤2
🔰تعليمات مهمه لاصحاب الهمه
🔴 لاتثبت مكافحين بنفس النظام
🟡عند تثبت اي برنامج ولم ينفعك احذف بوقتة وثبت اخر
🟤 عند فتح البرامج افتح البرامج تتالي وليس الكل بنفس الوقت وخاصة الأجهزة الضعيفة
🔘تجنب استخدام تعريفات لا تناسب كمبيوترك
🔵الإنترنت عدو لدود للكمبيوتر
يفضل تصفح الإنترنت من الهاتف وليس الكمبيوتر
🟢عند امتلا بطارية الكمبيوتر افصل الشحن ولا تشتغل علية وهوا يشحن واصل
🔴لاتوقف الكمبيوتر / اسبات أو /سكون/ بشكل متواصل
https://t.me/alkwmanisharafalkwwmani
🔴 لاتثبت مكافحين بنفس النظام
🟡عند تثبت اي برنامج ولم ينفعك احذف بوقتة وثبت اخر
🟤 عند فتح البرامج افتح البرامج تتالي وليس الكل بنفس الوقت وخاصة الأجهزة الضعيفة
🔘تجنب استخدام تعريفات لا تناسب كمبيوترك
🔵الإنترنت عدو لدود للكمبيوتر
يفضل تصفح الإنترنت من الهاتف وليس الكمبيوتر
🟢عند امتلا بطارية الكمبيوتر افصل الشحن ولا تشتغل علية وهوا يشحن واصل
🔴لاتوقف الكمبيوتر / اسبات أو /سكون/ بشكل متواصل
https://t.me/alkwmanisharafalkwwmani
👍1
https://t.me/alkwmanisharafalkwwmaniحل مشكلة الخلل العالمي الذي يضرب أنظمة Microsoft
✅ أكثر من 80% من الشركات الكبرى والمؤسسات تعتمد على خدمات مايكروسوفت في إدارة عملياتها مثل خدمات برامج MS Office وخدمات السحابة Azure وغيرها
✅ المشكلة حصلت بسبب تحديث خاطئ من شركة CrowdStrike وهي شركة أمريكية متخصصة باامن السيبراني تقدم حلول حماية شاملة ضد التهديدات الإلكترونية
✅ أدى هذا التحديث إلى مشكلة (الشاشة الزرقاء) وتعطل أنظمة التشغيل عن الإقلاع وتضرر ملايين الأنظمة حول العالم
✅ المتؤثرون الرئيسيون هم شركات الطيران، البنوك، الشبكات التلفزيونية، وشبكات السكك الحديدية في المملكة المتحدة، أستراليا، أوروبا، والولايات المتحدة
✅ يمكن حل المشكلة باتباع الخطوات التالية:
1- إقلاغ النظام بالوضع الآمن Safe Mode
2- الانتقال إلى المسار التالي ضمن نظام التشغيل:
C:\Windows\System32\drivers\CrowdStrike
3- ابحث عن ملف باسم C-00000291 وقم بحذفه
4- قم بإعادة تشغيل الجهاز وستعود الأمور لوضعها الطبيعي
✅ أكثر من 80% من الشركات الكبرى والمؤسسات تعتمد على خدمات مايكروسوفت في إدارة عملياتها مثل خدمات برامج MS Office وخدمات السحابة Azure وغيرها
✅ المشكلة حصلت بسبب تحديث خاطئ من شركة CrowdStrike وهي شركة أمريكية متخصصة باامن السيبراني تقدم حلول حماية شاملة ضد التهديدات الإلكترونية
✅ أدى هذا التحديث إلى مشكلة (الشاشة الزرقاء) وتعطل أنظمة التشغيل عن الإقلاع وتضرر ملايين الأنظمة حول العالم
✅ المتؤثرون الرئيسيون هم شركات الطيران، البنوك، الشبكات التلفزيونية، وشبكات السكك الحديدية في المملكة المتحدة، أستراليا، أوروبا، والولايات المتحدة
✅ يمكن حل المشكلة باتباع الخطوات التالية:
1- إقلاغ النظام بالوضع الآمن Safe Mode
2- الانتقال إلى المسار التالي ضمن نظام التشغيل:
C:\Windows\System32\drivers\CrowdStrike
3- ابحث عن ملف باسم C-00000291 وقم بحذفه
4- قم بإعادة تشغيل الجهاز وستعود الأمور لوضعها الطبيعي
👍1
لبناء موقع إلكتروني، يجب أولاً تحديد هدف الموقع. هل هو موقع تعليمي، تواصل اجتماعي، جهة حكومية، أو غير ذلك؟ بعد تحديد الهدف ودراسته بشكل كافٍ، نقوم بتحديد المتطلبات وكتابتها على ورق.
الخطوات التالية تتضمن:
1. إنشاء مجلد المشروع:
- قم بفتح مجلد جديد وأعطه اسم الموقع.
- افتح برنامج Visual Studio Code وقم بسحب المجلد الجديد إلى البرنامج.
2. إنشاء الملفات الأساسية:
- أنشئ ملف HTML، مثل index.html.
- أنشئ ملف CSS، مثل style.css.
- أنشئ ملف JavaScript، مثل script.js.
3. كتابة الشيفرة الأساسية في ملف HTML:
- افتح index.html وأضف الهيكل الأساسي:
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>اسم الموقع</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>مرحباً بكم في موقعي</h1>
<script src="script.js"></script>
</body>
</html>
4. تخصيص التصميم باستخدام CSS:
- افتح style.css وأضف الأنماط الأساسية:
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
margin: 0;
padding: 0;
text-align: center;
}
h1 {
color: #333;
margin-top: 20px;
}
5. إضافة التفاعلات باستخدام JavaScript:
- افتح script.js وأضف الشيفرة التالية:
document.addEventListener('DOMContentLoaded', function() {
console.log('مرحباً بكم في موقعي!');
});
6. فتح الموقع في المتصفح:
- بعد الانتهاء من كتابة الشيفرة، افتح ملف index.html في متصفح الويب لمعاينة الموقع.
هذه الخطوات الأساسية لإنشاء موقع إلكتروني. بناءً على الهدف والمحتوى، يمكنك تطوير الموقع ليشمل المزيد من الميزات والتصميمات التفاعلية.
سيتم الشرح ماهو html بالتفصيل وcss و js كذلك مع أمثلة
الخطوات التالية تتضمن:
1. إنشاء مجلد المشروع:
- قم بفتح مجلد جديد وأعطه اسم الموقع.
- افتح برنامج Visual Studio Code وقم بسحب المجلد الجديد إلى البرنامج.
2. إنشاء الملفات الأساسية:
- أنشئ ملف HTML، مثل index.html.
- أنشئ ملف CSS، مثل style.css.
- أنشئ ملف JavaScript، مثل script.js.
3. كتابة الشيفرة الأساسية في ملف HTML:
- افتح index.html وأضف الهيكل الأساسي:
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>اسم الموقع</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>مرحباً بكم في موقعي</h1>
<script src="script.js"></script>
</body>
</html>
4. تخصيص التصميم باستخدام CSS:
- افتح style.css وأضف الأنماط الأساسية:
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
margin: 0;
padding: 0;
text-align: center;
}
h1 {
color: #333;
margin-top: 20px;
}
5. إضافة التفاعلات باستخدام JavaScript:
- افتح script.js وأضف الشيفرة التالية:
document.addEventListener('DOMContentLoaded', function() {
console.log('مرحباً بكم في موقعي!');
});
6. فتح الموقع في المتصفح:
- بعد الانتهاء من كتابة الشيفرة، افتح ملف index.html في متصفح الويب لمعاينة الموقع.
هذه الخطوات الأساسية لإنشاء موقع إلكتروني. بناءً على الهدف والمحتوى، يمكنك تطوير الموقع ليشمل المزيد من الميزات والتصميمات التفاعلية.
سيتم الشرح ماهو html بالتفصيل وcss و js كذلك مع أمثلة
👍1
عناصر إضافية في HTML:
1. <meta>:
- يُستخدم لتحديد بيانات الميتا (Meta Data) عن الصفحة، مثل الوصف، الكلمات المفتاحية، نوع الترميز. مثال:
<meta charset="UTF-8">
<meta name="description" content="توضيح الصفحة">
<meta name="keywords" content="HTML, CSS, JavaScript">
<meta name="author" content="اسم المؤلف">
2. <div>:
- عنصر حاوية (Container) يُستخدم لتجميع العناصر معًا. لا يؤثر على التنسيق الافتراضي ولكن يُستخدم مع CSS لتنسيق المحتوى.
html
<div>
<h2>عنوان فرعي</h2>
<p>فقرة داخل div.</p>
</div>
3. <span>:
- عنصر مضمن (Inline) يُستخدم لتجميع جزء من النص معًا. لا يؤثر على التنسيق الافتراضي ولكن يُستخدم مع CSS لتنسيق النص.
<p>هذا نص عادي و <span style="color: red;">هذا النص باللون الأحمر.</span></p>
### CSS (Cascading Style Sheets)
خصائص إضافية في CSS:
1. التخطيط المرن (Flexbox):
- يُستخدم لتصميم تخطيطات مرنة وسهلة التحكم.
.container {
display: flex;
flex-direction: row; /* يمكن أن تكون column أيضًا */
justify-content: center; /* يمكن أن تكون flex-start أو flex-end أو space-between أو space-around */
align-items: center; /* يمكن أن تكون flex-start أو flex-end أو stretch */
}
2. التحولات (Transitions):
- تُستخدم لإضافة تأثيرات تغيير سلسة عند تغيير الأنماط.
.box {
width: 100px;
height: 100px;
background-color: blue;
transition: background-color 0.5s; /* التغير في لون الخلفية سيستغرق 0.5 ثانية */
}
.box:hover {
background-color: red;
}
3. الرسوم المتحركة (Animations):
- تُستخدم لإنشاء تأثيرات متحركة.
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}
.animated-box {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
### JavaScript (JS)
مفاهيم إضافية في JavaScript:
1. استعلام عناصر DOM:
- يمكن الوصول إلى العناصر بطرق متعددة.
// الوصول إلى العناصر بواسطة id
var element = document.getElementById("myElement");
// الوصول إلى العناصر بواسطة class
var elements = document.getElementsByClassName("myClass");
// الوصول إلى العناصر بواسطة tag
var elements = document.getElementsByTagName("p");
// الوصول إلى العناصر بواسطة CSS selectors
var element = document.querySelector(".myClass");
var elements = document.querySelectorAll(".myClass");
2. التعامل مع الأحداث (Events):
- يمكن الاستماع للأحداث المختلفة على العناصر.
var button = document.getElementById("myButton");
button.addEventListener("click", function() {
alert("تم النقر على الزر!");
});
3. التعامل مع النماذج (Forms):
- يمكن التحقق من صحة النماذج ومعالجة البيانات.
<form id="myForm">
<input type="text" id="myInput" value="بعض النص">
<input type="submit" value="إرسال">
</form>
<script>
var form = document.getElementById("myForm");
form.addEventListener("submit", function(event) {
event.preventDefault(); // منع إعادة تحميل الصفحة
var input = document.getElementById("myInput").value;
alert("قيمة الإدخال: " + input);
});
</script>
#لا_تنسى_دعائكم_بالخير_لنا_ولكم
1. <meta>:
- يُستخدم لتحديد بيانات الميتا (Meta Data) عن الصفحة، مثل الوصف، الكلمات المفتاحية، نوع الترميز. مثال:
<meta charset="UTF-8">
<meta name="description" content="توضيح الصفحة">
<meta name="keywords" content="HTML, CSS, JavaScript">
<meta name="author" content="اسم المؤلف">
2. <div>:
- عنصر حاوية (Container) يُستخدم لتجميع العناصر معًا. لا يؤثر على التنسيق الافتراضي ولكن يُستخدم مع CSS لتنسيق المحتوى.
html
<div>
<h2>عنوان فرعي</h2>
<p>فقرة داخل div.</p>
</div>
3. <span>:
- عنصر مضمن (Inline) يُستخدم لتجميع جزء من النص معًا. لا يؤثر على التنسيق الافتراضي ولكن يُستخدم مع CSS لتنسيق النص.
<p>هذا نص عادي و <span style="color: red;">هذا النص باللون الأحمر.</span></p>
### CSS (Cascading Style Sheets)
خصائص إضافية في CSS:
1. التخطيط المرن (Flexbox):
- يُستخدم لتصميم تخطيطات مرنة وسهلة التحكم.
.container {
display: flex;
flex-direction: row; /* يمكن أن تكون column أيضًا */
justify-content: center; /* يمكن أن تكون flex-start أو flex-end أو space-between أو space-around */
align-items: center; /* يمكن أن تكون flex-start أو flex-end أو stretch */
}
2. التحولات (Transitions):
- تُستخدم لإضافة تأثيرات تغيير سلسة عند تغيير الأنماط.
.box {
width: 100px;
height: 100px;
background-color: blue;
transition: background-color 0.5s; /* التغير في لون الخلفية سيستغرق 0.5 ثانية */
}
.box:hover {
background-color: red;
}
3. الرسوم المتحركة (Animations):
- تُستخدم لإنشاء تأثيرات متحركة.
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}
.animated-box {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
### JavaScript (JS)
مفاهيم إضافية في JavaScript:
1. استعلام عناصر DOM:
- يمكن الوصول إلى العناصر بطرق متعددة.
// الوصول إلى العناصر بواسطة id
var element = document.getElementById("myElement");
// الوصول إلى العناصر بواسطة class
var elements = document.getElementsByClassName("myClass");
// الوصول إلى العناصر بواسطة tag
var elements = document.getElementsByTagName("p");
// الوصول إلى العناصر بواسطة CSS selectors
var element = document.querySelector(".myClass");
var elements = document.querySelectorAll(".myClass");
2. التعامل مع الأحداث (Events):
- يمكن الاستماع للأحداث المختلفة على العناصر.
var button = document.getElementById("myButton");
button.addEventListener("click", function() {
alert("تم النقر على الزر!");
});
3. التعامل مع النماذج (Forms):
- يمكن التحقق من صحة النماذج ومعالجة البيانات.
<form id="myForm">
<input type="text" id="myInput" value="بعض النص">
<input type="submit" value="إرسال">
</form>
<script>
var form = document.getElementById("myForm");
form.addEventListener("submit", function(event) {
event.preventDefault(); // منع إعادة تحميل الصفحة
var input = document.getElementById("myInput").value;
alert("قيمة الإدخال: " + input);
});
</script>
#لا_تنسى_دعائكم_بالخير_لنا_ولكم
👍1
أساليب كتابة الكود في جافاسكربت
بدايةً عليك معرفة أن كود الجافاسكربت عبارة عن مجموعة أوامر ( Statements ) يتم تنفيذها بالترتيب الموضوعة فيه.
طالما أن الأوامر مكتوبة بشكل صحيح فإنه سيتم تنفيذها بشكل كامل، أما إذا كان يوجد أمر ما مكتوب بشكل خاطئ فإنه لن يتم تنفيذه و لن يتم تنفيذ أي أمر موضوع بعده.
حساسية الأحرف
جافاسكربت تطبق مفهوم حساسية الأحرف ( Case Sensitivity ) و هذا يعني أنها تميز بين الأحرف الكبيرة و الأحرف الصغيرة.
مثال: note و Note ليسا شيئاً واحداً.
أسماء المعرّفات
جافاسكربت تعتمد أسلوب Camel Case في كتابة أسماء الأشياء التي يتم تعريفها. لذا إستخدم الأحرف الصغيرة عند اختيار أسماء للمتغيرات أو للدوال و في حال كان الإسم يتألف من أكثر من كلمة فإبدأ أول كلمة بحرف صغير و كل كلمة بعدها إبدأها بحرف كبير.
أمثلة
في حال كان الإسم يتألف من كلمة واحدة.
var age;
في حال كان الإسم يتألف من أكثر من كلمة.
var firstName;
الفاصلة المنقوطة
في جافاسكربت يعتبر وضع فاصلة منقوطة ; في نهاية كل أمر هو شيء اختياري يمكنك فعله و يمكنك تجاهله. بالرغم من أن وضع فاصلة منقوطة هو أمر اختياري إلا أننا ننصحك دائماً بأن تضعها فهذا الأمر يساعدك على ترتيب الكود و معرفة أين ينتهي كل أمر و قد يجنبك الوقوع في مشكلة تداخل الأوامر التي أنت بغنى عنها.
أمثلة
var name = 'Mhamad';
var country = 'Lebanon';
المسافات الفارغة
في جافاسكربت المسافات الفارغة و الأسطر الفارغة لا تسبب مشكلة في الكود و لكن عليك استخدامها بشكل مناسب يساعدك في قراءة الكود.
أمثلة
لاحظ كم هو مريح للنظر أن تبعد رمز المساواة عن الإسم و القيمة.
var language = 'Arabic';
و لاحظ كم هو سيء للنظر أن تلصق رمز المساواة بالإسم و القيمة.
var language='Arabic';
التعليقات
نستخدم التعليقات لنضع ملاحظات حول الكود الذي كتبناه فقط، لكي لا ننسى كيف برمجنا الكود في حال أردنا مراجعته أو التعديل عليه بعد وقت طويل. و بالطبع التعليقات لا تؤثر إطلاقاً على الكود المكتوب.
في جافاسكربت يوجد أسلوبين لوضع التعليقات:
تعليق على سطر واحد.
تعليق على عدة أسطر.
أمثلة
في حال كان التعليق يتألف من سطر واحد, نضع الرمز // قبل كتابة التعليق.
// this is a one line comment تعليق يتألف من سطر واحد
في حال كان التعليق يتألف من عدة أسطر، نبدأ التعليق بالرمز /* و ننهيه بالرمز */.
/*
This is multlines comment
هذا التعليق يتألف من عدة أسطر
*/
الأحرف المستخدمة في وضع الأسماء في جافاسكربت
أي إسم نضعه لمتغير، دالة، كلاس، كائن إلخ.. يسمى identifier في البرمجة.
في جافاسكربت كل عنصر نريد تعريفه علينا إعطاءه إسم خاص لم نقم باستخدامه من قبل.
https://t.me/alkwmanisharafalkwwmani
بدايةً عليك معرفة أن كود الجافاسكربت عبارة عن مجموعة أوامر ( Statements ) يتم تنفيذها بالترتيب الموضوعة فيه.
طالما أن الأوامر مكتوبة بشكل صحيح فإنه سيتم تنفيذها بشكل كامل، أما إذا كان يوجد أمر ما مكتوب بشكل خاطئ فإنه لن يتم تنفيذه و لن يتم تنفيذ أي أمر موضوع بعده.
حساسية الأحرف
جافاسكربت تطبق مفهوم حساسية الأحرف ( Case Sensitivity ) و هذا يعني أنها تميز بين الأحرف الكبيرة و الأحرف الصغيرة.
مثال: note و Note ليسا شيئاً واحداً.
أسماء المعرّفات
جافاسكربت تعتمد أسلوب Camel Case في كتابة أسماء الأشياء التي يتم تعريفها. لذا إستخدم الأحرف الصغيرة عند اختيار أسماء للمتغيرات أو للدوال و في حال كان الإسم يتألف من أكثر من كلمة فإبدأ أول كلمة بحرف صغير و كل كلمة بعدها إبدأها بحرف كبير.
أمثلة
في حال كان الإسم يتألف من كلمة واحدة.
var age;
في حال كان الإسم يتألف من أكثر من كلمة.
var firstName;
الفاصلة المنقوطة
في جافاسكربت يعتبر وضع فاصلة منقوطة ; في نهاية كل أمر هو شيء اختياري يمكنك فعله و يمكنك تجاهله. بالرغم من أن وضع فاصلة منقوطة هو أمر اختياري إلا أننا ننصحك دائماً بأن تضعها فهذا الأمر يساعدك على ترتيب الكود و معرفة أين ينتهي كل أمر و قد يجنبك الوقوع في مشكلة تداخل الأوامر التي أنت بغنى عنها.
أمثلة
var name = 'Mhamad';
var country = 'Lebanon';
المسافات الفارغة
في جافاسكربت المسافات الفارغة و الأسطر الفارغة لا تسبب مشكلة في الكود و لكن عليك استخدامها بشكل مناسب يساعدك في قراءة الكود.
أمثلة
لاحظ كم هو مريح للنظر أن تبعد رمز المساواة عن الإسم و القيمة.
var language = 'Arabic';
و لاحظ كم هو سيء للنظر أن تلصق رمز المساواة بالإسم و القيمة.
var language='Arabic';
التعليقات
نستخدم التعليقات لنضع ملاحظات حول الكود الذي كتبناه فقط، لكي لا ننسى كيف برمجنا الكود في حال أردنا مراجعته أو التعديل عليه بعد وقت طويل. و بالطبع التعليقات لا تؤثر إطلاقاً على الكود المكتوب.
في جافاسكربت يوجد أسلوبين لوضع التعليقات:
تعليق على سطر واحد.
تعليق على عدة أسطر.
أمثلة
في حال كان التعليق يتألف من سطر واحد, نضع الرمز // قبل كتابة التعليق.
// this is a one line comment تعليق يتألف من سطر واحد
في حال كان التعليق يتألف من عدة أسطر، نبدأ التعليق بالرمز /* و ننهيه بالرمز */.
/*
This is multlines comment
هذا التعليق يتألف من عدة أسطر
*/
الأحرف المستخدمة في وضع الأسماء في جافاسكربت
أي إسم نضعه لمتغير، دالة، كلاس، كائن إلخ.. يسمى identifier في البرمجة.
في جافاسكربت كل عنصر نريد تعريفه علينا إعطاءه إسم خاص لم نقم باستخدامه من قبل.
https://t.me/alkwmanisharafalkwwmani
👍1
في لغات البرمجة، هنالك نوعان من المترجمين بين اللغات هما: المفسر interpreter، والمترجم compiler. بناءً على ذلك، تنقسم لغات البرمجة إلى لغات مفسرة ولغات مترجمة. (من الآن وصاعدًا، كلما ذكرنا لغات البرمجة، فنحن نشير إلى لغات البرمجة عالية المستوى.)
-المفسر (interpreter): وهو برنامج خاصٌ يفسِّر الشيفرة المصدرية لبرنامج مكتوب بلغة عالية المستوى سطرًا بسطر ويحولها إلى لغة منخفضة المستوى لينفذها الحاسوب مباشرةً. -المترجم (compiler): وهو برنامج خاصٌ يحوِّل الملفات المصدرية لبرنامج مكتوب بلغة عالية المستوى إلى ملف تنفيذي مكتوب بلغة الآلة دفعةً واحدةً، ثم يمكن تشغيل الملف التنفيذي على الحاسوب للقيام بالمهمة المطلوبة.
-المفسر (interpreter): وهو برنامج خاصٌ يفسِّر الشيفرة المصدرية لبرنامج مكتوب بلغة عالية المستوى سطرًا بسطر ويحولها إلى لغة منخفضة المستوى لينفذها الحاسوب مباشرةً. -المترجم (compiler): وهو برنامج خاصٌ يحوِّل الملفات المصدرية لبرنامج مكتوب بلغة عالية المستوى إلى ملف تنفيذي مكتوب بلغة الآلة دفعةً واحدةً، ثم يمكن تشغيل الملف التنفيذي على الحاسوب للقيام بالمهمة المطلوبة.
👍1
أما بخصوص أدوات التطوير، فستحتاج إلى برمجية لكتابة الشيفرات، وهنالك نوعان رئيسيان لها:
◆ المحررات النصية: مثل Visual Studio Code أو Atom أو Sublime Text أو Bracktes أو Notepad++. وهذه المحررات النصية تكون بسيطة في أغلبها، وتوفر ميزات أساسية مثل تلوين الشيفرات، وبعض ميزات الإكمال التلقائي، وتدعم أغلبيتها إضافات لزيادة وظائفها. وظيفة هذه المحررات النصية عمومًا هي تعديل الشيفرات بسهولة وسرعة. ننصحك بتجربة Visual Studio Code لشهرته حاليًا وكثرة إضافاته ودعمه الممتاز من شركة Microsoft.
◆ بيئات التطوير المدمجة: مثل Visual Studio و Eclipse و Android Studio و NetBeans و Apple Xcode وغيرها. وهذه البيئات توفر ميزات أكثر بكثير من المحررات النصية، مثل تشغيل الشيفرات وتنقيحها (debugging) وميزات التحكم بالإصدارات (version control) والاتصال بقواعد البيانات وخلاف ذلك
◆ المحررات النصية: مثل Visual Studio Code أو Atom أو Sublime Text أو Bracktes أو Notepad++. وهذه المحررات النصية تكون بسيطة في أغلبها، وتوفر ميزات أساسية مثل تلوين الشيفرات، وبعض ميزات الإكمال التلقائي، وتدعم أغلبيتها إضافات لزيادة وظائفها. وظيفة هذه المحررات النصية عمومًا هي تعديل الشيفرات بسهولة وسرعة. ننصحك بتجربة Visual Studio Code لشهرته حاليًا وكثرة إضافاته ودعمه الممتاز من شركة Microsoft.
◆ بيئات التطوير المدمجة: مثل Visual Studio و Eclipse و Android Studio و NetBeans و Apple Xcode وغيرها. وهذه البيئات توفر ميزات أكثر بكثير من المحررات النصية، مثل تشغيل الشيفرات وتنقيحها (debugging) وميزات التحكم بالإصدارات (version control) والاتصال بقواعد البيانات وخلاف ذلك
👍1
شرح بسيط عن كيفية تعلم برمجة اي لغة
حتى تتعلم برمجة اي لغة مهما كانت مستوى لغة
يجب تعرف اولا على أساسيات اللغة تقريبا اللغات برمجية متشابهة في أساسيات بعد فهمك إلى أساسيات نتقل إلى مرحلة ثانية وهي تطبيق الكود بسيط واذا واجهت مشكلة يمنك مراسلتنا لكي نحلها او استخدم موقع stack overflow او موقع W3Schools مع كتابة اسم مشكلة ،، وبعد تتعرف من مشاكل التي حدثت معك يجب أن تطور نفسك ،، كيف ؟ الجواب سهل للغاية تتبع دورات تعليمية وايضا قراءة او دخول قنوات موثوقة تشرح كل شيء ،،
#ولا_تنسى_دعائك_لكم_ولنا_بالخير_وصحة
https://t.me/alkwmani7669
حتى تتعلم برمجة اي لغة مهما كانت مستوى لغة
يجب تعرف اولا على أساسيات اللغة تقريبا اللغات برمجية متشابهة في أساسيات بعد فهمك إلى أساسيات نتقل إلى مرحلة ثانية وهي تطبيق الكود بسيط واذا واجهت مشكلة يمنك مراسلتنا لكي نحلها او استخدم موقع stack overflow او موقع W3Schools مع كتابة اسم مشكلة ،، وبعد تتعرف من مشاكل التي حدثت معك يجب أن تطور نفسك ،، كيف ؟ الجواب سهل للغاية تتبع دورات تعليمية وايضا قراءة او دخول قنوات موثوقة تشرح كل شيء ،،
#ولا_تنسى_دعائك_لكم_ولنا_بالخير_وصحة
https://t.me/alkwmani7669
👍1
### HTML (HyperText Markup Language)
أساسيات HTML:
- عناصر HTML (Tags): تُستخدم لتحديد محتوى الصفحة.
- العناصر الأساسية: <html>, <head>, <title>, <body>, <h1>, <p>, <a>, <img>, <ul>, <li>.
مثال بسيط:
<!DOCTYPE html>
<html>
<head>
<title>صفحتي الأولى</title>
</head>
<body>
<h1>مرحبا بك في موقعي</h1>
<p>هذا مثال بسيط لصفحة ويب.</p>
<a href="https://www.example.com">زرني</a>
<img src="image.jpg" alt="مثال على صورة">
<ul>
<li>العنصر الأول</li>
<li>العنصر الثاني</li>
</ul>
</body>
</html>
- <h1>: عنوان رئيسي.
- <p>: فقرة.
- <a>: رابط.
- <img>: صورة.
- <ul> و <li>: قائمة غير مرتبة وعناصرها.
### CSS (Cascading Style Sheets)
أساسيات CSS:
- تنسيق النصوص: الألوان، الخطوط، الأحجام.
- تخطيط الصفحة: الهوامش، الحدود، التوسيط.
- القواعد: يُمكن تطبيق القواعد على عناصر محددة باستخدام الأنماط (Selectors).
مثال بسيط:
- HTML: يُستCSSشاء الهيكل الأساسي للصفحة.
- **CSSJavaScriptنسJavaScriptحة.
- JavaScript: يُستخدم لإضافة التفاعلية والوظائف للصفحة.
https://t.me/alkwmani7669
أساسيات HTML:
- عناصر HTML (Tags): تُستخدم لتحديد محتوى الصفحة.
- العناصر الأساسية: <html>, <head>, <title>, <body>, <h1>, <p>, <a>, <img>, <ul>, <li>.
مثال بسيط:
<!DOCTYPE html>
<html>
<head>
<title>صفحتي الأولى</title>
</head>
<body>
<h1>مرحبا بك في موقعي</h1>
<p>هذا مثال بسيط لصفحة ويب.</p>
<a href="https://www.example.com">زرني</a>
<img src="image.jpg" alt="مثال على صورة">
<ul>
<li>العنصر الأول</li>
<li>العنصر الثاني</li>
</ul>
</body>
</html>
- <h1>: عنوان رئيسي.
- <p>: فقرة.
- <a>: رابط.
- <img>: صورة.
- <ul> و <li>: قائمة غير مرتبة وعناصرها.
### CSS (Cascading Style Sheets)
أساسيات CSS:
- تنسيق النصوص: الألوان، الخطوط، الأحجام.
- تخطيط الصفحة: الهوامش، الحدود، التوسيط.
- القواعد: يُمكن تطبيق القواعد على عناصر محددة باستخدام الأنماط (Selectors).
مثال بسيط:
html
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: lightblue;
}
h1 {
color: white;
text-align: center;
}
p {
font-family: verdana;
font-size: 20px;
}
a {
color: red;
}
</style>
</head>
<body>
<h1>مرحبا بك في موقعي</h1>
<p>هذا مثال بسيط لصفحة ويب باستخدام CSS.</p>
<a href="https://www.example.com">زرني</a>
</body>
</html>
- body: يُحدد لون الخلفية للصفحة.
- h1: يُحدد لون النص ومحاذاته.
- p: يُحدد نوع الخط وحجم النص.
- a: يُحدد لون الروابط.
#أساسيات JavaScriptأساسالإجراءات الأساسيةالإجراءات الأساسية**: مثل تغيير االأحداثرسائل.
- الأحداث: مثل مثال بسيطزرار.
مثال بسيط:
html
<!DOCTYPE html>
<html>
<head>
<title>مثال JavaScript</title>
<script>
function changeText() {
document.getElementById("demo").innerHTML = "تم تغيير النص!";
}
</script>
</head>
<body>
<h1>مثال JavaScript</h1>
<p id="demo">هذا النص سيتم تغييره عند النقر على الزر.</p>
<button type="button" onclick="changeText()">انقر هنا</button>
</body>
</html>
- script: يحتوي على كود JavaScript.
- changeText(): دالة تُغير محتوى العنصر ذو الـid "demo" عند النقر على الزر.
- button: زر ينف
ذ اHTMLد النقر HTML## خلاصة- HTML: يُستCSSشاء الهيكل الأساسي للصفحة.
- **CSSJavaScriptنسJavaScriptحة.
- JavaScript: يُستخدم لإضافة التفاعلية والوظائف للصفحة.
https://t.me/alkwmani7669
👍3
14 من محركات البحث مدعومة بالذكاء الاصطناعي
▪️perplexityai
•منصة للإجابة على الأسئلة باستخدام الذكاء الاصطناعي، تقدم إجابات دقيقة ومفصلة مع مراجع وروابط للمصادر.
▪️ thinkanyai
•محرك البحث يحتوي على ميزات بحث مدمجة بالذكاء الاصطناعي لتقديم إجابات مفصلة مع تلخيصها في خرائط ذهنية
▪️ scinitoai
•محرك بحث للباحثين يوفر أكثر من ٢٤٠ مليون ورقة بحثية في مختلف المجالات ويوفر عدد كبير منها باللغة العربية (مميز جداً في هذه الجزئية)
يتيح الوصول الكامل للورقة البحثية والبحث عنها في google للوصول إليها من مصادر مختلفه ويوفر الاقتباسات
▪️ omniplexai
•محرك بحث مفتوح المصدر. يمكن من خلاله تحديد مجال البحث ومساره مثل أكاديمي أو YouTube أو ويكيبيديا أو reddit وغيرها.
▪️everypixel.com
•محرك بحث مخصص للصور يجمع بين العديد من مكتبات الصور، يساعد في العثور على الصور ذات الجودة العالية والأفكار الإبداعية.
▪️gensparkai
•محرك بحث يستخدم الذكاء الاصطناعي لتقديم إجابات دقيقة وشاملة في مجالات متعددة.
▪️gptgoai
•محرك بحث يستخدم تقنية GPT لتقديم إجابات دقيقة وشاملة، يساعد المستخدمين في العثور على الإجابات الموثوقة.
▪️you.com
•محرك بحث يقدم تجربة مخصصة مع نتائج تفاعلية وشخصية، يدمج بين البحث التقليدي والذكاء الاصطناعي
▪️explorer.globe.engineer
•محرك بحث يجمع المعرفة من مصادر متعددة بتنسيق يسهل فهمه، يشمل الرسومات البيانية والصور.
▪️Microsoft Copilot
•يجمع بين الذكاء الاصطناعي والبحث التقليدي لتقديم تجربة بحث شخصية وسريعة.
▪️Google Gemini
•يستخدم لتقديم إجابات شبيهة بالبشر ودقيقة، ويدعم إدخال الاستفسارات بأشكال متعددة مثل الصور والصوت .
▪️Andi
•محرك بحث مجاني يركز على الخصوصية ويستخدم تقنيات بحث دلالية، يقدم تجربة خالية من الإعلانات مع تلخيص للمعلومات .
▪️Exa.ai
•يستخدم نموذج لغة كبير لتصفية المحتوى بناءً على المعنى، يتيح تخصيص نتائج البحث حسب التاريخ والموقع والموضوع
▪️Phind
•مخصص للمطورين، يوفر نتائج دقيقة باستخدام تقنيات AI المتقدمة، يتضمن خيارات مجانية ومدفوعة مع ميزات إضافية
▪️perplexityai
•منصة للإجابة على الأسئلة باستخدام الذكاء الاصطناعي، تقدم إجابات دقيقة ومفصلة مع مراجع وروابط للمصادر.
▪️ thinkanyai
•محرك البحث يحتوي على ميزات بحث مدمجة بالذكاء الاصطناعي لتقديم إجابات مفصلة مع تلخيصها في خرائط ذهنية
▪️ scinitoai
•محرك بحث للباحثين يوفر أكثر من ٢٤٠ مليون ورقة بحثية في مختلف المجالات ويوفر عدد كبير منها باللغة العربية (مميز جداً في هذه الجزئية)
يتيح الوصول الكامل للورقة البحثية والبحث عنها في google للوصول إليها من مصادر مختلفه ويوفر الاقتباسات
▪️ omniplexai
•محرك بحث مفتوح المصدر. يمكن من خلاله تحديد مجال البحث ومساره مثل أكاديمي أو YouTube أو ويكيبيديا أو reddit وغيرها.
▪️everypixel.com
•محرك بحث مخصص للصور يجمع بين العديد من مكتبات الصور، يساعد في العثور على الصور ذات الجودة العالية والأفكار الإبداعية.
▪️gensparkai
•محرك بحث يستخدم الذكاء الاصطناعي لتقديم إجابات دقيقة وشاملة في مجالات متعددة.
▪️gptgoai
•محرك بحث يستخدم تقنية GPT لتقديم إجابات دقيقة وشاملة، يساعد المستخدمين في العثور على الإجابات الموثوقة.
▪️you.com
•محرك بحث يقدم تجربة مخصصة مع نتائج تفاعلية وشخصية، يدمج بين البحث التقليدي والذكاء الاصطناعي
▪️explorer.globe.engineer
•محرك بحث يجمع المعرفة من مصادر متعددة بتنسيق يسهل فهمه، يشمل الرسومات البيانية والصور.
▪️Microsoft Copilot
•يجمع بين الذكاء الاصطناعي والبحث التقليدي لتقديم تجربة بحث شخصية وسريعة.
▪️Google Gemini
•يستخدم لتقديم إجابات شبيهة بالبشر ودقيقة، ويدعم إدخال الاستفسارات بأشكال متعددة مثل الصور والصوت .
▪️Andi
•محرك بحث مجاني يركز على الخصوصية ويستخدم تقنيات بحث دلالية، يقدم تجربة خالية من الإعلانات مع تلخيص للمعلومات .
▪️Exa.ai
•يستخدم نموذج لغة كبير لتصفية المحتوى بناءً على المعنى، يتيح تخصيص نتائج البحث حسب التاريخ والموقع والموضوع
▪️Phind
•مخصص للمطورين، يوفر نتائج دقيقة باستخدام تقنيات AI المتقدمة، يتضمن خيارات مجانية ومدفوعة مع ميزات إضافية
#شرح ما التحديثات على جملة switch ؟
في الاصدارات الجديده من جافا وتحديداً الاصدارات الأحدث من الاصدار 12 تم تحديث جملة switch واهم ما تم اضافته اليها الاتي :
1. امكانية استعمالها لاعادة قيمة .
int day = 3;
String dayName = switch (day) {
case 1 -> "Sunday";
case 2 -> "Monday";
case 3 -> "Tuesday";
case 4 -> "Wednesday";
case 5 -> "Thursday";
case 6 -> "Friday";
case 7 -> "Saturday";
default -> "non day";
};
في هذا المثال ستقوم التعليمة باعادة اسم يوم الاسبوع الى المتغير dayName اعتماداً على رقم اليوم .
2. استبدال التعبير ( <- ) بدلا من (:) والعبارة break .
int numLetters = switch (day) {
case 1, 2, 3, 4, 5 -> 6;
case 6, 7 -> 8;
default -> 0;
};
ويمكن استخدام الاقواس عندما يكون لدينا اكثر من امر ، وفي هذه الحالة اذا اردنا ان نعيد قيمة نستعمل الامر yield .
String dayType = switch (day) {
case 1, 7 -> "Weekend";
case 2, 3, 4, 5, 6 -> {
System.out.println("It's a weekday");
yield "Weekday";
}
default -> "Nun";
};
تطوير لغات البرمجة لا يتوقف في مرحلة ما ولكن يتم مواكبة كل جديد في تعلم البرمجة لإضافة اي ميزات جديده .
تعتبر لغة الجافا من اقوى اللغات التي لا يستغنى عنها وينصح بها الاكادمين والمحترفين .
في الاصدارات الجديده من جافا وتحديداً الاصدارات الأحدث من الاصدار 12 تم تحديث جملة switch واهم ما تم اضافته اليها الاتي :
1. امكانية استعمالها لاعادة قيمة .
int day = 3;
String dayName = switch (day) {
case 1 -> "Sunday";
case 2 -> "Monday";
case 3 -> "Tuesday";
case 4 -> "Wednesday";
case 5 -> "Thursday";
case 6 -> "Friday";
case 7 -> "Saturday";
default -> "non day";
};
في هذا المثال ستقوم التعليمة باعادة اسم يوم الاسبوع الى المتغير dayName اعتماداً على رقم اليوم .
2. استبدال التعبير ( <- ) بدلا من (:) والعبارة break .
int numLetters = switch (day) {
case 1, 2, 3, 4, 5 -> 6;
case 6, 7 -> 8;
default -> 0;
};
ويمكن استخدام الاقواس عندما يكون لدينا اكثر من امر ، وفي هذه الحالة اذا اردنا ان نعيد قيمة نستعمل الامر yield .
String dayType = switch (day) {
case 1, 7 -> "Weekend";
case 2, 3, 4, 5, 6 -> {
System.out.println("It's a weekday");
yield "Weekday";
}
default -> "Nun";
};
تطوير لغات البرمجة لا يتوقف في مرحلة ما ولكن يتم مواكبة كل جديد في تعلم البرمجة لإضافة اي ميزات جديده .
تعتبر لغة الجافا من اقوى اللغات التي لا يستغنى عنها وينصح بها الاكادمين والمحترفين .
في لغة البرمجة بايثون، المكتبة requests تستخدم لإجراء طلبات HTTP. الأكواد التي يمكن أن تعود كاستجابة لهذه الطلبات تنقسم إلى عدة فئات وتوفر معلومات حول نتيجة الطلب. إليك شرح للفئات الرئيسية وبعض الأكواد المحددة التي قد تجدها مفيدة:
••• 1xx: معلوماتية •••
- 100 Continue: الخادم يقبل الجزء الأولي من الطلب ويطلب من العميل استكمال الطلب.
- 101 Switching Protocols: الخادم يقبل طلب التحول إلى بروتوكولات أخرى.
---------------------------------------
2xx: نجاح
- 200 OK: الطلب ناجح والجواب يحتوي على البيانات المطلوبة.
- 201 Created: الطلب ناجح وأدى إلى إنشاء مورد جديد.
- 202 Accepted: الطلب قد تم قبوله للمعالجة، لكن العملية لم تكتمل بعد.
- 204 No Content: الطلب ناجح لكن لا يوجد محتوى لإرساله في الرد.
---------------------------------------
••• 3xx: إعادة توجيه •••
- 300 Multiple Choices: الطلب يحتوي على خيارات متعددة يمكن أن يختار منها العميل.
- 301 Moved Permanently: المورد المطلوب قد تغير مكانه بشكل دائم.
- 302 Found: المورد المطلوب مؤقتًا تحت عنوان URL آخر.
- 304 Not Modified: المورد لم يتغير منذ آخر طلب ولا يحتاج إلى إعادة إرسال.
---------------------------------------
••• 4xx: أخطاء العميل •••
- 400 Bad Request: الطلب غير صحيح أو لا يمكن فهمه بواسطة الخادم.
- 401 Unauthorized: الطلب يتطلب التحقق من هوية المستخدم.
- 403 Forbidden: الطلب ممنوع والخادم يرفض الإجابة.
- 404 Not Found: المورد المطلوب غير موجود على الخادم.
- 405 Method Not Allowed: الطريقة المستخدمة في الطلب غير مسموح بها للمورد المطلوب.
---------------------------------------
••• 5xx: أخطاء الخادم•••
- 500 Internal Server Error: خطأ داخلي في الخادم يمنعه من تنفيذ الطلب.
- 501 Not Implemented: الخادم لا يدعم الطلب المقدم أو الطريقة المستخدمة.
- 502 Bad Gateway: الخادم كان يعمل كبوابة أو وكيل وتلقى استجابة غير صالحة.
- 503 Service Unavailable: الخدمة غير متوفرة مؤقتًا، عادةً بسبب الصيانة أو الحمل الزائد.
- 504 Gateway Timeout: الخادم كان يعمل كبوابة أو وكيل ولم يتلق استجابة في الوقت المحدد.
هذه بعض الأكواد الأساسية التي قد تواجهها أثناء استخدام المكتبة requests في بايثون للتعامل مع HTTP.
••• 1xx: معلوماتية •••
- 100 Continue: الخادم يقبل الجزء الأولي من الطلب ويطلب من العميل استكمال الطلب.
- 101 Switching Protocols: الخادم يقبل طلب التحول إلى بروتوكولات أخرى.
---------------------------------------
2xx: نجاح
- 200 OK: الطلب ناجح والجواب يحتوي على البيانات المطلوبة.
- 201 Created: الطلب ناجح وأدى إلى إنشاء مورد جديد.
- 202 Accepted: الطلب قد تم قبوله للمعالجة، لكن العملية لم تكتمل بعد.
- 204 No Content: الطلب ناجح لكن لا يوجد محتوى لإرساله في الرد.
---------------------------------------
••• 3xx: إعادة توجيه •••
- 300 Multiple Choices: الطلب يحتوي على خيارات متعددة يمكن أن يختار منها العميل.
- 301 Moved Permanently: المورد المطلوب قد تغير مكانه بشكل دائم.
- 302 Found: المورد المطلوب مؤقتًا تحت عنوان URL آخر.
- 304 Not Modified: المورد لم يتغير منذ آخر طلب ولا يحتاج إلى إعادة إرسال.
---------------------------------------
••• 4xx: أخطاء العميل •••
- 400 Bad Request: الطلب غير صحيح أو لا يمكن فهمه بواسطة الخادم.
- 401 Unauthorized: الطلب يتطلب التحقق من هوية المستخدم.
- 403 Forbidden: الطلب ممنوع والخادم يرفض الإجابة.
- 404 Not Found: المورد المطلوب غير موجود على الخادم.
- 405 Method Not Allowed: الطريقة المستخدمة في الطلب غير مسموح بها للمورد المطلوب.
---------------------------------------
••• 5xx: أخطاء الخادم•••
- 500 Internal Server Error: خطأ داخلي في الخادم يمنعه من تنفيذ الطلب.
- 501 Not Implemented: الخادم لا يدعم الطلب المقدم أو الطريقة المستخدمة.
- 502 Bad Gateway: الخادم كان يعمل كبوابة أو وكيل وتلقى استجابة غير صالحة.
- 503 Service Unavailable: الخدمة غير متوفرة مؤقتًا، عادةً بسبب الصيانة أو الحمل الزائد.
- 504 Gateway Timeout: الخادم كان يعمل كبوابة أو وكيل ولم يتلق استجابة في الوقت المحدد.
هذه بعض الأكواد الأساسية التي قد تواجهها أثناء استخدام المكتبة requests في بايثون للتعامل مع HTTP.
👍1
بعض لغات برمجة وأهداف كل منها ومع مثال بسيط
1. C:
- الهدف: لغة منخفضة المستوى تُستخدم لتطوير برمجيات ذات أداء عالي.
- مثال كود:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة. #include <stdio.h> يُدرج مكتبة الإدخال والإخراج القياسية، وprintf يستخدم لطباعة النص.
2. C++:
- الهدف: لغة برمجة كائنية التوجه تُستخدم لتطوير برامج ذات أداء عالي.
- مثال كود:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام std::cout من مكتبة الإدخال والإخراج القياسية.
3. Java:
- الهدف: لغة متعددة الاستخدامات تُستخدم في تطبيقات الويب والمحمولة.
- مثال كود:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة. System.out.println يُستخدم لطباعة النص.
4. Python:
- الهدف: لغة متعددة الأغراض تُستخدم في تطبيقات متنوعة مثل تطوير الويب وتحليل البيانات.
- مثال كود:
print("Hello, World!")
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام دالة print.
5. JavaScript:
- الهدف: لغة تُستخدم في تطوير الويب وتفاعل المستخدم.
- مثال كود:
console.log("Hello, World!");
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" في وحدة التحكم الخاصة بالمتصفح.
6. Ruby:
- الهدف: لغة برمجة تُستخدم بشكل رئيسي في تطوير الويب.
- مثال كود:
puts "Hello, World!"
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام دالة puts.
7. Swift:
- الهدف: لغة تُستخدم لتطوير تطبيقات iOS وmacOS.
- مثال كود:
import Swift
print("Hello, World!")
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام دالة print.
8. PHP:
- الهدف: لغة تُستخدم في تطوير البرمجيات الجانبية للخادم على الويب.
- مثال كود:
<?php
echo "Hello, World!";
?>
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على صفحة الويب باستخدام دالة echo.
9. SQL:
- الهدف: لغة لإدارة قواعد البيانات العلائقية.
- مثال كود:
SELECT 'Hello, World!' AS Greeting;
- الشرح: يقوم هذا الاستعلام بإرجاع النص "Hello, World!" كعمود يسمى Greeting من قاعدة البيانات.
كل كود بسيط يعرض كيفية استخدام اللغة الأساسية لطباعة نص على الشاشة، وهو مثال جيد على كيفية بدء العمل مع كل لغة.
1. C:
- الهدف: لغة منخفضة المستوى تُستخدم لتطوير برمجيات ذات أداء عالي.
- مثال كود:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة. #include <stdio.h> يُدرج مكتبة الإدخال والإخراج القياسية، وprintf يستخدم لطباعة النص.
2. C++:
- الهدف: لغة برمجة كائنية التوجه تُستخدم لتطوير برامج ذات أداء عالي.
- مثال كود:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام std::cout من مكتبة الإدخال والإخراج القياسية.
3. Java:
- الهدف: لغة متعددة الاستخدامات تُستخدم في تطبيقات الويب والمحمولة.
- مثال كود:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة. System.out.println يُستخدم لطباعة النص.
4. Python:
- الهدف: لغة متعددة الأغراض تُستخدم في تطبيقات متنوعة مثل تطوير الويب وتحليل البيانات.
- مثال كود:
print("Hello, World!")
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام دالة print.
5. JavaScript:
- الهدف: لغة تُستخدم في تطوير الويب وتفاعل المستخدم.
- مثال كود:
console.log("Hello, World!");
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" في وحدة التحكم الخاصة بالمتصفح.
6. Ruby:
- الهدف: لغة برمجة تُستخدم بشكل رئيسي في تطوير الويب.
- مثال كود:
puts "Hello, World!"
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام دالة puts.
7. Swift:
- الهدف: لغة تُستخدم لتطوير تطبيقات iOS وmacOS.
- مثال كود:
import Swift
print("Hello, World!")
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على الشاشة باستخدام دالة print.
8. PHP:
- الهدف: لغة تُستخدم في تطوير البرمجيات الجانبية للخادم على الويب.
- مثال كود:
<?php
echo "Hello, World!";
?>
- الشرح: يقوم هذا البرنامج بطباعة "Hello, World!" على صفحة الويب باستخدام دالة echo.
9. SQL:
- الهدف: لغة لإدارة قواعد البيانات العلائقية.
- مثال كود:
SELECT 'Hello, World!' AS Greeting;
- الشرح: يقوم هذا الاستعلام بإرجاع النص "Hello, World!" كعمود يسمى Greeting من قاعدة البيانات.
كل كود بسيط يعرض كيفية استخدام اللغة الأساسية لطباعة نص على الشاشة، وهو مثال جيد على كيفية بدء العمل مع كل لغة.
👍1
#شرح تكملة لل vararage :
في المنشور السابق ذكرنا انه يمكن تمرير اكثر من وسيط الى الدالة من نفس النوع فقط ؛ ولكن هل يمكن تمرير وسائط مختلفة الانواع ؟
الاجابة هي لا ، ولا يمكن ايضاً تمرير اكثر من vararage في نفس الوقت الكود التالي غير صحيح :
static void vara(int ...v1, String ...v2){}
إذا لا يمكن تمرير اكثر من vararage في وقت واحد ، لكن ماذا عن دالة printf التي تحدثنا عنها ، فهي تستقبل في البداية نصاً(String) ثم تستقبل انواع مختلفة قد تكون ارقاماً او نصوصاً ؟!
دعني اوضح لك الاجابة على قسمين ، القسم الاول هو كيف اجعلها تستقبل في البداية نصاً اجبارياً والمثال التالي يوضح ذلك :
static void myPrintf(String first, int ... vara){}
لاحظ اننا قمنا بارسال وسيط ثابت (ليس vararage ) قبل ارسال ال vararage وهذا مقبول في جافا ، والكود سيعمل بدون مشاكل .
حللنا الجزء الاول من المشكلة ، تبقى كيف نرسل انواع مختلفة من البيانات في ال vararage ، الامر بسيط جدا ، فلغة جافا هي كائينية التوجه وكل فئاتها (classes) ترث من الفئة الام وهي Object ، لذلك تعديل الكود السابق سيكون كالتالي :
static void myPrintf(String first, Object ... vara){}
هذا الكود يشبه بالضبط كود تعريف دالة
System.out.printf();
ملاحظة اخيرة عن vararage :
اذا كان لدينا دالة تستقبل vararage كالتالي :
static int sum(int ... nums){
int sum = 0;
for(int i = 0; i < nums.length; i++){
sum += nums[i];
}
return sum;
}
فيمكن استخدامها بطريقتين ، الطريقة الاولى شرحتها في الموضوع السابق والطريقة الثانية هي بتمرير مصفوفة قيم جاهزة اليها كالتالي :
int[] array = new int[]{10, 20, 30, 50};
int total = sum(array);
في النهاية ، موضوع ال vararage موضوع قوي ويوفر ديناميكية كبيرة في التعامل مع الدوال .
في المنشور السابق ذكرنا انه يمكن تمرير اكثر من وسيط الى الدالة من نفس النوع فقط ؛ ولكن هل يمكن تمرير وسائط مختلفة الانواع ؟
الاجابة هي لا ، ولا يمكن ايضاً تمرير اكثر من vararage في نفس الوقت الكود التالي غير صحيح :
static void vara(int ...v1, String ...v2){}
إذا لا يمكن تمرير اكثر من vararage في وقت واحد ، لكن ماذا عن دالة printf التي تحدثنا عنها ، فهي تستقبل في البداية نصاً(String) ثم تستقبل انواع مختلفة قد تكون ارقاماً او نصوصاً ؟!
دعني اوضح لك الاجابة على قسمين ، القسم الاول هو كيف اجعلها تستقبل في البداية نصاً اجبارياً والمثال التالي يوضح ذلك :
static void myPrintf(String first, int ... vara){}
لاحظ اننا قمنا بارسال وسيط ثابت (ليس vararage ) قبل ارسال ال vararage وهذا مقبول في جافا ، والكود سيعمل بدون مشاكل .
حللنا الجزء الاول من المشكلة ، تبقى كيف نرسل انواع مختلفة من البيانات في ال vararage ، الامر بسيط جدا ، فلغة جافا هي كائينية التوجه وكل فئاتها (classes) ترث من الفئة الام وهي Object ، لذلك تعديل الكود السابق سيكون كالتالي :
static void myPrintf(String first, Object ... vara){}
هذا الكود يشبه بالضبط كود تعريف دالة
System.out.printf();
ملاحظة اخيرة عن vararage :
اذا كان لدينا دالة تستقبل vararage كالتالي :
static int sum(int ... nums){
int sum = 0;
for(int i = 0; i < nums.length; i++){
sum += nums[i];
}
return sum;
}
فيمكن استخدامها بطريقتين ، الطريقة الاولى شرحتها في الموضوع السابق والطريقة الثانية هي بتمرير مصفوفة قيم جاهزة اليها كالتالي :
int[] array = new int[]{10, 20, 30, 50};
int total = sum(array);
في النهاية ، موضوع ال vararage موضوع قوي ويوفر ديناميكية كبيرة في التعامل مع الدوال .
❤1👍1
#شرح الوصول الى الدوال :
public static void sleep1(){
System.out.print("zzz");
}
static void sleep2(){
System.out.print("zzz");
}
public void sleep3(){
System.out.print("zzz");
}
void sleep4(){
System.out.print("zzz");
}
ما الفرق بين الدوال الاربع السابقة ؟
في الحقيقة يمكن تعريف الدوال باي من الطرق السابقة ، لكن الفرق يكمن في امكانية الوصول اليها ، مثلا ، الدالة الاولى متاحة لجميع الدوال وجميع الفئات في اي مكان حرفياً - مادام تم استدعائها عبر import - .
الدالة الثانية يمكن الوصول اليها من جميع الدوال في نفس الفئة او يمكن استدعائها عبر import من نفس الحزمة package فقط ، ولا يمكن الوصول اليها من خارج الحزمة ابداً .
الدالة الثالثة تختلف عن سابقاتها بانها ليست static ، ما هي static بالضبط ، ساعطيكم مثالين .
دالة الاخراج ودالة الادخال .
Scanner in = new Scanner(System.in);
System.out.print ("");
in.next();
هلا لاحظت الفرق بين دالة print() و دالة next() ؟
الفرق ان print() استطعنا الوصول اليها مباشرة عبر مسارها System.out لكن next() لم نستطع الوصول اليها عبر مسارها مباشرة كالتالي
Scanner.next();
لذلك اضطررنا الى انشاء كائن من Scanner للوصول اليها ، والسبب في ذلك ان الدالة print() هي دالة static والدالة next() هي دالة ليست static وتسمى non-static وهذا الفرق بينهما ، وايضا لا يمكن في نفس الفئة (class ) ان تستدعي الدوال non-static من داخل الدالة الرئيسية كالتالي
public static void main(String[] args) {
sleep3();
}
فالكود السابق يسبب خطا ، لان الدالة sleep3() لا يمكن استدعائها الا بانشاء كائن من الفئة الاب لها ، والمثال التالي يوضح طريقة استدعائها
الكود بالكامل :
public class Main {
public static void main(String[] args) {
Main m = new Main();
m.sleep3();
}
public void sleep3(){
System.out.print("zzz");
}
}
بالتاكيد الكود مفهوم ، فنحن قد سبق وأن تعاملنا مع الكائنات ، ولان الدالة sleep3 () عبارة عن public فيمكن الوصول اليها من اي مكان ! سيخطر على بالك سؤال ، الم تقل انه عندما نريد الوصول اليها نعرف كائن من الفئة الاب لها ؟
الاجابة نعم ، لكن الدالة الرابعة ان قمت بتعريف كائن خارج الحزمة package فلن تستطيع الوصول اليها لانها ليست public ، وهذا موضوع آخر Access Modifiers وهو معدلات الوصول .
public static void sleep1(){
System.out.print("zzz");
}
static void sleep2(){
System.out.print("zzz");
}
public void sleep3(){
System.out.print("zzz");
}
void sleep4(){
System.out.print("zzz");
}
ما الفرق بين الدوال الاربع السابقة ؟
في الحقيقة يمكن تعريف الدوال باي من الطرق السابقة ، لكن الفرق يكمن في امكانية الوصول اليها ، مثلا ، الدالة الاولى متاحة لجميع الدوال وجميع الفئات في اي مكان حرفياً - مادام تم استدعائها عبر import - .
الدالة الثانية يمكن الوصول اليها من جميع الدوال في نفس الفئة او يمكن استدعائها عبر import من نفس الحزمة package فقط ، ولا يمكن الوصول اليها من خارج الحزمة ابداً .
الدالة الثالثة تختلف عن سابقاتها بانها ليست static ، ما هي static بالضبط ، ساعطيكم مثالين .
دالة الاخراج ودالة الادخال .
Scanner in = new Scanner(System.in);
System.out.print ("");
in.next();
هلا لاحظت الفرق بين دالة print() و دالة next() ؟
الفرق ان print() استطعنا الوصول اليها مباشرة عبر مسارها System.out لكن next() لم نستطع الوصول اليها عبر مسارها مباشرة كالتالي
Scanner.next();
لذلك اضطررنا الى انشاء كائن من Scanner للوصول اليها ، والسبب في ذلك ان الدالة print() هي دالة static والدالة next() هي دالة ليست static وتسمى non-static وهذا الفرق بينهما ، وايضا لا يمكن في نفس الفئة (class ) ان تستدعي الدوال non-static من داخل الدالة الرئيسية كالتالي
public static void main(String[] args) {
sleep3();
}
فالكود السابق يسبب خطا ، لان الدالة sleep3() لا يمكن استدعائها الا بانشاء كائن من الفئة الاب لها ، والمثال التالي يوضح طريقة استدعائها
الكود بالكامل :
public class Main {
public static void main(String[] args) {
Main m = new Main();
m.sleep3();
}
public void sleep3(){
System.out.print("zzz");
}
}
بالتاكيد الكود مفهوم ، فنحن قد سبق وأن تعاملنا مع الكائنات ، ولان الدالة sleep3 () عبارة عن public فيمكن الوصول اليها من اي مكان ! سيخطر على بالك سؤال ، الم تقل انه عندما نريد الوصول اليها نعرف كائن من الفئة الاب لها ؟
الاجابة نعم ، لكن الدالة الرابعة ان قمت بتعريف كائن خارج الحزمة package فلن تستطيع الوصول اليها لانها ليست public ، وهذا موضوع آخر Access Modifiers وهو معدلات الوصول .
👍1
#شرح الانظمة المختلفة للارقام
في جافا وعدة لغات اخرى مثل c++ و c# و python يتم التعامل مع الارقام بانظمة مختلفة وفقاً لسابقات محددة توضع قبل الرقم .
مثلا ، نحن نعلم ان الحرف f يمثل الرقم 15 في النظام السادس عشر ، لكن كيف نقوم بطباعته ؟
اذا قمنا بطباعته كالتالي
System.out.print(f);
// OR
System.out.print ("f");
في الدالة الاولى سيظهر لنا خطا لانه يتوقع ان يكون f اسماً لمتغير غير معرف ، اما في الدالة الثانية فسيطبعه كما هو f بدون تغيير .
لذلك لتفادي التضارب بين الارقام والنصوص وأسماء المتغيرات يتم عمل سابقة مخصصه لكل نظام .
|---|---|---|
| 16 | 8 | 2 |
|---|---|---|
| 0x | 0 | 0b |
|---|---|---|
الجدول السابق يوضح سابقات كل نظام ، ستلاحظ امرا غريباً في النظام الثماني ، وهو انه يبدا ب 0 فقط لذلك لا يمكننا طباعة الرقم التالي 09 او 08 لانه لا يوجد رقم 9 او 8 في هذا النظام ، ولا تتوقع ان يعتبره عدداً عشرياً فيطبعه 9 او 8 .
public class Main {
public static void main(String[] args) {
// Binary
System.out.println(0b1010);
// Octal
System.out.println(07);
// Decimal
System.out.println(10);
// Hex
System.out.println(0xf);
}
}
الآن بما أنك فهمت الانظمة العددية ، عليك البحث عن سبب مخرج الكود التالي :
System.out.println(123_456_78e-5);
في جافا وعدة لغات اخرى مثل c++ و c# و python يتم التعامل مع الارقام بانظمة مختلفة وفقاً لسابقات محددة توضع قبل الرقم .
مثلا ، نحن نعلم ان الحرف f يمثل الرقم 15 في النظام السادس عشر ، لكن كيف نقوم بطباعته ؟
اذا قمنا بطباعته كالتالي
System.out.print(f);
// OR
System.out.print ("f");
في الدالة الاولى سيظهر لنا خطا لانه يتوقع ان يكون f اسماً لمتغير غير معرف ، اما في الدالة الثانية فسيطبعه كما هو f بدون تغيير .
لذلك لتفادي التضارب بين الارقام والنصوص وأسماء المتغيرات يتم عمل سابقة مخصصه لكل نظام .
|---|---|---|
| 16 | 8 | 2 |
|---|---|---|
| 0x | 0 | 0b |
|---|---|---|
الجدول السابق يوضح سابقات كل نظام ، ستلاحظ امرا غريباً في النظام الثماني ، وهو انه يبدا ب 0 فقط لذلك لا يمكننا طباعة الرقم التالي 09 او 08 لانه لا يوجد رقم 9 او 8 في هذا النظام ، ولا تتوقع ان يعتبره عدداً عشرياً فيطبعه 9 او 8 .
public class Main {
public static void main(String[] args) {
// Binary
System.out.println(0b1010);
// Octal
System.out.println(07);
// Decimal
System.out.println(10);
// Hex
System.out.println(0xf);
}
}
الآن بما أنك فهمت الانظمة العددية ، عليك البحث عن سبب مخرج الكود التالي :
System.out.println(123_456_78e-5);
👍1
من افضل مصادر المحتوى البرمجي باللغة العربية ، موقع يشرح بالتفصيل ويوفر مراجع ودروساً في مختلف لغات البرمجة .
https://harmash.com
#روابط
https://harmash.com
#روابط
موقع هرمش
أفضل موقع عربي للتعلم الذاتي
نوفر لك كل المعرفة و الأدوات التي تحتاجها للوصول إلى هدفك بشكل مجاني من دورات تفاعلية، كتب، مشاريع و نساعدك على تخطي أي مشكلة تواجهها أثناء التعلم.