عالم برمجةوتقنية الحاسوب C. P. W
742 subscribers
496 photos
55 videos
260 files
480 links
عالم الحاسوب برمجه وتقنيه وتطوير شرح كل ما يتطلب في مجال علوم الحاسوب والبرمجة
https://t.me/programming_C_w
قنات الجرافيكس @l_d_gh
#Digitalmarketing
#programming
#AI #CPA
#learn
التواصل معي @Eng_sharaf1
Download Telegram
لغة بايثون تدعم البرمجة الكائنية (OOP) بشكل كامل. إليك كيفية استخدام OOP في بايثون:

المبادئ الأساسية
1. *التغليف (Encapsulation)*: إنشاء كائنات تحمل بياناتها ووظائفها.
2. *الوراثة (Inheritance)*: إعادة استخدام الشفرة من خلال وراثة الخصائص.
3. *التعددية (Polymorphism)*: القدرة على اتخاذ أشكال مختلفة.
4. *التركيب (Composition)*: إنشاء كائنات من كائنات أخرى.

إنشاء الطبقات
class اسم_الطبقة:
def __init__(self, معلمات):
# التغليف
self.بيانات = معلمات

def وظيفة(self):
# وظيفة
pass

الأمثلة
*طبقة سيارة*
class سيارة:
def __init__(self, اسم, عدة_سيارات):
self.اسم = اسم
self.عدد_سيارات = عدة_سيارات

def عرض_بيانات(self):
print(f"اسم السيارة: {self.اسم}, عدد السيارات: {self.عدد_سيارات}")

سيارة1 = سيارة("تويوتا", 4)
سيارة1.عرض_بيانات()

الوراثة
class سيارة_رياضية(سيارة):
def __init__(self, اسم, عدة_سيارات, سعة_المحرك):
super().__init__(اسم, عدة_سيارات)
self.سعة_المحرك = سعة_المحرك

def عرض_بيانات(self):
super().عرض_بيانات()
print(f"سعة المحرك: {self.سعة_المحرك}")

سيارة2 = سيارة_رياضية("بورش", 2, 3000)
سيارة2.عرض_بيانات()

التعددية
class حيوان:
def صوت(self):
pass

class كلب(حيوان):
def صوت(self):
print("ووف")

class قطة(حيوان):
def صوت(self):
print("ميااو")

حيوان1 = كلب()
حيوان2 = قطة()

حيوان1.صوت() # ووف
حيوان2.صوت() # ميااو

التركيب
class محرك:
def __init__(self, سعة):
self.سعة = سعة

class سيارة:
def __init__(self, اسم, محرك):
self.اسم = اسم
self.محرك = محرك

محرك1 = محرك(2000)
سيارة1 = سيارة("تويوتا", محرك1)
print(سيارة1.محرك.سعة) # 2000

النصائح
1. استخدم التغليف لحماية البيانات.
2. استخدم الوراثة لإعادة استخدام الشفرة.
3. استخدم التعددية لتحقيق المرونة.
4. استخدم التركيب لإنشاء كائنات معقدة.
5. استخدم التوثيق لشرح الشفرة.
انواع اومر SQL
⋄ المتغيرات في بايثون (Variable in Python)

• ما هو المتغير في بايثون؟

متغير Python هو موقع ذاكرة محجوز لتخزين القيم. بمعنى آخر ، يعطي متغير في برنامج بيثون البيانات إلى الكمبيوتر لمعالجتها.

• هناك انواع من المتغيرات في بايثون و بايثون يقوم بتعريف انوع المتغيرت تلقائياً . اليك بعض النواع :
1 - str
2 - int
3 - float
4 - dict
5 - list
لمعرفة نوع أي متغير يمكنك إستخدام الدالة 
- type()
مثل
var = 10
var2 = "ruks"
print(type(var))
print(type(var2))

- سنحصل على النتيجة التالية

<class 'int'>
<class 'str'>



• كيف استخدام المتغير ؟ .
》x = 60

هنا فرضنا اسم المتغير x ويمكنك وضع أي اسم ما عدا بعض الأسماء المحجوزة من قبل البايثون مثل (if , pass , else , import , True ,False) والخ..

وذا قمنا بإخراجه او طباعه المتغير ب داله ()print سيقوم بطباعة 60 مثل ..
》x = 60
》print(x)
- result النتيجه

-> 60
• في بايثون يمكن تعريف عدة متغيرات متساوية القيمة في سطر واحد مثل :

# هنا قمنا بتعريف ثلاث متغيرات لهة نفس لقيمة
》a = b = c = 15  
# هنا قمنا بطباعة المتغيرات a b c
》print('a = ', a)
》print('b = ', b)
》print('c = ', c)
- نتيجة
-> a = 15
-> b = 15
-> c = 15
إذا كنت تريد ان تعرف التقنيات المستخدمة في موقع ويب معين مثلاً يعني تريد تعرف أي لغة برمجة مستخدمة في موقع معين ، كل ما عليك القيام به هو تقوم بنسخ رابط الموقع و تقوم بلصقه في الموقع هنا.
الموقع:
wappalyzer.com
‏10 استعلامات SQL يجب أن تعرفها كعالم بيانات
‏تعلم أكثر استعلامات SQL استخدامًا في 5 دقائق مع أمثلة
‏تم كتابة جميع الاستعلامات في PostgreSQL
‏للتعرف عليها بشكل مفصل ودورها في التحكم ببياناتك هنا👇
‏⁦ uniofnet.com/go/CD1st1pKqq
اهم الادوات التي ستحتاجها كمطور Web3 في تطوير Ethereum و Blockchain بشكل عام.

‏لغات بناء العقود الذكية:
‏- لغة Solidity
‏- لغة Vyper

‏اهم إطارات العمل:
‏- إطار Truffle
‏- إطار Hardhat

‏اهم الـ JS API للتفاعل مع Blockchain:
‏- مكتبة Web3.js
‏- مكتبة Ethers.js

‏اهم الادوات لإجراء اختبار Blockchain:
‏- اداة Ganache
ما هي افضل اطارات عمل في backend 🤔 ؟


🛑django:

💡هو اطار عمل تم تطويره بلغه بايثون لعمل تطبيقات الويب و هو من افضل اطار عمل للباك ايند و يوجد أيضا في مواقع مثل انستقرام ، بيترست

🛑Laravel:

💡هو اطار عمل تم تطويره بلغه php و هو من اكثر الاطارات المستخدمه في مجال الباك ايند ويتم انشاء منه تطبيقات الويب عن طريق لغه php تتبع Laravel هيكل MVC مما يجعلها سهلة التعلم


🛑Aps net:

💡هو اطار عمل في الباك ايند تم عمله لانشاء تطبيقات الويب و تم تطويره من مايكروسفت و ايضا يعطي القدرة للمبرمجين على بناء مواقع ويب ديناميكية، تطبيقات ويب وخدمات ويب
قائمة بأفضل المواقع التي سوف تساعدك في البحث عن وظيفة أو فترة تدريب… :

Linkedin :
fr.linkedin.com

Indeed :
ma.indeed.com

Naukri :
naukri.com

Job-Hunt :
job-hunt.org

Jobhunt :
jobhunt.com.my

emploi maroc :
emploi.ma

Bayt :
bayt.com/fr/morocco

Careercloud :
careercloud.com

GM4JH :
gm4jh.com

Rekrute :
rekrute.com

Jibberjobber :
jibberjobber.com

avito :
avito.ma/fr/maroc/offres_de_emploi

MarocAnnonces : marocannonces.com/categorie/309/Emploi/Offres-emploi.html
ِ🔰 الـبـرمـجـيـات الـخـبـيـثـة _ Malwares

مُصطلح "Malware" هو اختصار لكلمتي "Malicious Software" ويشمل هذا المصطلح الكثير من أنواع البرمجيات الخبيثة التي تتسبب في العديد من المشاكل، مثل : عرقلة تشغيل الجهاز، جمع المعلومات الحساسة أو الوصول إلى أنظمة تشغيل الجهاز الخاصة، وتُعتبر العامل الأكبر في خسارة الشركات لبياناتها، ولا ينجوا منها الأفراد أيضاً.
يتم تثبت هذه البرمجيات الخبيثة على جهاز الضحية دون موافقة مُسبقة، وهناك عدة طُرُق لتثبيتها.

هُناك عدة أنواع مُختلفة من البرمجيات الخبيثة، نذكر منها على سبيل المثال :
◊ الديدان _ Worms.
◊ البوتنيت _ Botnets.
◊ الروتكيت _ Rootkit.
◊ الفيروسات _ Viruses.
◊ حصان طروادة _ Trojan horse.
◊ برامج التجسس _ Spyware.
◊ القنابل المؤقتة _ Logic bomb.
◊ راصد لوحة المفاتيح _ Keylogger.
◊ برامج الأمن الاحتيالية _ Rogue Security Software.
◊ برمجيات الــ Adware.
◊ برامج الــ Ransomware.
◊ برامج الــ Crypto-Malware.
الي يحتاج تصاميم باور بوينت كلمني او ورد
@ll77_ll99_bot
👍3
المبتدئين في البرمجه إذا بدهم مساعده من العيون ☺️ اساعدهم او اي شي انا مستعد
👍2🔥21
فيجول بيسك او سي شارب او سي بلس بلس او اي لغة حتئ تطوير ويب html css
💯2
عالم برمجةوتقنية الحاسوب C. P. W pinned «المبتدئين في البرمجه إذا بدهم مساعده من العيون ☺️ اساعدهم او اي شي انا مستعد»
إليك دليل شامل لتعلم JavaScript من الصفر إلى الاحتراف:

المستوى الأساسي (1-3 أشهر)
1. _المبادئ الأساسية_: تعرف على ما هي JavaScript وكيفية استخدامه.
2. _النصوص والمتغيرات_: تعلم كيفية كتابة النصوص، والمتغيرات، والأنواع.
3. _التركيب والتنفيذ_: تعلم كيفية تركيب الجمل والتنفيذ.
4. _الوظائف_: تعلم كيفية إنشاء الوظائف.
5. _الشرطات والloops_: تعلم كيفية استخدام الشرطات والloops.

المستوى المتوسط (3-6 أشهر)
1. _الأشياء_: تعلم كيفية إنشاء الأشياء وتعامل معها.
2. _المصفوفات_: تعلم كيفية إنشاء المصفوفات وتعامل معها.
3. _الوظائف المتقدمة_: تعلم كيفية إنشاء وظائف متقدمة.
4. _التعامل مع DOM_: تعلم كيفية التعامل مع DOM.
5. _الحدث_: تعلم كيفية التعامل مع الأحداث.

المستوى المتقدم (6-12 شهر)
1. _ES6+_: تعلم الميزات الجديدة في ES6+.
2. _التصميم الموجه للكائنات_: تعلم كيفية تصميم البرامج الموجهة للكائنات.
3. _البرمجة الوظيفية_: تعلم كيفية استخدام البرمجة الوظيفية.
4. _التعامل مع قواعد البيانات_: تعلم كيفية التعامل مع قواعد البيانات.
5. _الأمان_: تعلم كيفية تعزيز الأمان.

المستوى الاحترافي (بعد 12 شهر)
1. _التصميم المبتكر_: تعلم كيفية إنشاء تصاميم مبتكرة.
2. _التحسين للبحث_: تعلم كيفية تحسين البرامج للبحث.
3. _التجربة المستخدم_: تعلم كيفية تحسين التجربة المستخدم.
4. _التكامل مع تقنيات أخرى_: تعلم كيفية تكامل JavaScript مع تقنيات أخرى.
5. _البرمجة المتقدمة_: تعلم كيفية استخدام البرمجة المتقدمة.

الموارد التعليمية
1. W3Schools
2. Mozilla Developer Network (MDN)
3. (link unavailable)
4. Codecademy
5. FreeCodeCamp
6. Udemy
7. Coursera
8. YouTube (قنوات مثل Traversy Media، Programming with Mosh، إلخ)

الكتب
1. "JavaScript: المبادئ الأساسية" لجون وايت
2. "JavaScript: دليل المستخدم" لبيتر كاستل
3. "التصميم الموجه للكائنات مع JavaScript" لإيثان ماركوت
4. "JavaScript: دليل التطوير" لجيسون كراتشر

النصائح
1. مارس بانتظام.
2. اقرأ الوثائق.
3. شارك مشاريعك.
4. كن صبورًا.
5. لا تخف من الأخطاء.
2
إليك دليل شامل لتعلم CSS من الصفر إلى الاحتراف:

المستوى الأساسي (1-3 أشهر)
1. *المبادئ الأساسية*: تعرف على ما هو CSS، وكيفية استخدامه مع HTML.
2. *النصوص والوحدات*: تعلم كيفية كتابة النصوص، والوحدات (px، em، %، إلخ).
3. *التصميم الأساسي*: تعلم كيفية تصميم العناصر الأساسية (النص، الصور، الأزرار، إلخ).
4. *اللون والخلفية*: تعلم كيفية استخدام الألوان والخلفيات.
5. *الترتيب والتنسيق*: تعلم كيفية ترتيب العناصر وتنسيقها.

المستوى المتوسط (3-6 أشهر)
1. *النماذج والقوالب*: تعلم كيفية إنشاء نماذج وقوالب باستخدام CSS.
2. *الرسوم المتحركة*: تعلم كيفية إنشاء رسوم متحركة باستخدام CSS.
3. *التنسيق الإقليدي*: تعلم كيفية تنسيق العناصر الإقليزية (الجداول، القوائم، إلخ).
4. *الوسائط المتعددة*: تعلم كيفية التعامل مع الوسائط المتعددة (الصور، الفيديو، إلخ).
5. *الإطارات والخلفيات*: تعلم كيفية استخدام الإطارات والخلفيات.

المستوى المتقدم (6-12 شهر)
1. *CSS3*: تعلم الميزات الجديدة في CSS3 (الظلال، التحولات، إلخ).
2. *التصميم الاستجابي*: تعلم كيفية إنشاء تصاميم استجابة لجميع الأجهزة.
3. *النماذج المتقدمة*: تعلم كيفية إنشاء نماذج متقدمة باستخدام CSS.
4. *البرمجة الوظيفية*: تعلم كيفية استخدام البرمجة الوظيفية في CSS (Sass، Less، إلخ).
5. *أدوات التطوير*: تعلم كيفية استخدام أدوات التطوير (DevTools، إلخ).

المستوى الاحترافي (بعد 12 شهر)
1. *التصميم المبتكر*: تعلم كيفية إنشاء تصاميم مبتكرة وذات تأثير.
2. *التحسين للبحث*: تعلم كيفية تحسين التصميم للبحث (SEO).
3. *التجربة المستخدم*: تعلم كيفية تحسين التجربة المستخدم (UX).
4. *التكامل مع تقنيات أخرى*: تعلم كيفية تكامل CSS مع تقنيات أخرى (JavaScript، HTML5، إلخ).
5. *التصميم للواقع الافتراضي*: تعلم كيفية إنشاء تصاميم للواقع الافتراضي (VR، AR، إلخ).

الموارد التعليمية
1. W3Schools
2. Mozilla Developer Network (MDN)
3. CSS-Tricks
4. Codecademy
5. FreeCodeCamp
6. Udemy
7. Coursera
8. YouTube (قنوات مثل Traversy Media، Programming with Mosh، إلخ)

الكتب
1. "CSS: المبادئ الأساسية" لجون وايت
2. "CSS3: دليل المستخدم" لبيتر كاستل
3. "التصميم الاستجابي مع CSS" لإيثان ماركوت
4. "CSS: دليل التطوير" لجيسون كراتشر

النصائح
1. مارس بانتظام.
2. اقرأ الوثائق.
3. شارك مشاريعك.
4. كن صبورًا.
5. لا تخف من الأخطاء.
2
إليك بعض أفكار مشاريع CSS:

مشاريع بسيطة
1. تصميم صفحة ويب بسيطة: إنشاء صفحة ويب بسيطة باستخدام CSS.
2. تصميم بطاقة تعريف: إنشاء بطاقة تعريف باستخدام CSS.
3. تصميم قائمة навигेशन: إنشاء قائمة навغيشن باستخدام CSS.
4. تصميم شعار: إنشاء شعار باستخدام CSS.
5. تصميم زر: إنشاء زر باستخدام CSS.

مشاريع متوسطة
1. تصميم موقع شخصي: إنشاء موقع شخصي باستخدام CSS.
2. تصميم موقع أخبار: إنشاء موقع أخبار باستخدام CSS.
3. تصميم موقع تعليمي: إنشاء موقع تعليمي باستخدام CSS.
4. تصميم موقع تجاري: إنشاء موقع تجاري باستخدام CSS.
5. تصميم موقع اجتماعي: إنشاء موقع اجتماعي باستخدام CSS.

مشاريع متقدمة
1. تصميم موقع استجابي: إنشاء موقع استجابي باستخدام CSS.
2. تصميم موقع متحرك: إنشاء موقع متحرك باستخدام CSS.
3. تصميم موقع ثلاثي الأبعاد: إنشاء موقع ثلاثي الأبعاد باستخدام CSS.
4. تصميم موقع ذكي: إنشاء موقع ذكي باستخدام CSS.
5. تصميم موقع تعاوني: إنشاء موقع تعاوني باستخدام CSS.

مشاريع خاصة
1. تصميم موقع لشركة: إنشاء موقع لشركة باستخدام CSS.
2. تصميم موقع لحملة: إنشاء موقع لحملة باستخدام CSS.
3. تصميم موقع لمنظمة: إنشاء موقع لمنظمة باستخدام CSS.
4. تصميم موقع لحدث: إنشاء موقع لحدث باستخدام CSS.
5. تصميم موقع لمعرض: إنشاء موقع لمعرض باستخدام CSS.

أدوات ومكتبات
1. Bootstrap: إنشاء موقع باستخدام Bootstrap.
2. Tailwind CSS: إنشاء موقع باستخدام Tailwind CSS.
3. Materialize: إنشاء موقع باستخدام Materialize.
4. Bulma: إنشاء موقع باستخدام Bulma.
5. Foundation: إنشاء موقع باستخدام Foundation.

مواقع تعليمية
1. W3Schools
2. MDN
3. Codecademy
4. FreeCodeCamp
5. Udemy
6. Coursera
7. edX

نصائح
1. اختر مشروع يهمك.
2. قسم المشروع إلى مراحل.
3. استخدم GitHub لتحميل المشروع.
4. اطلب مساعدة عند الحاجة.
5. كن صبورًا.
2
إليك بعض أفكار مشاريع JavaScript:

مشاريع بسيطة
1. ساعة رقمية: إنشاء ساعة رقمية تعمل في المتصفح.
2. لعبة Tic-Tac-Toe: إنشاء لعبة Tic-Tac-Toe بسيطة.
3. محول الوحدات: إنشاء أداة لمحول الوحدات (مثل Celsius إلى Fahrenheit).
4.GENERATOR: إنشاء أداة لإنشاء كلمات مرور عشوائية.
4. لعبة Quiz: إنشاء لعبة Quiz بسيطة.

مشاريع متوسطة
1. تطبيق Todo List: إنشاء تطبيق Todo List لتحديد المهام.
2. لعبة Snake: إنشاء لعبة Snake.
3. تطبيق الطقس: إنشاء تطبيق يظهر الطقس الحالي.
4. محرر نصوص: إنشاء محرر نصوص بسيط.
5. تطبيق البحث: إنشاء تطبيق بحث بسيط.

مشاريع متقدمة
1. تطبيق الاجتماعات: إنشاء تطبيق اجتماعات.
2. لعبة Multiplayer: إنشاء لعبة Multiplayer.
3. تطبيق الإحصائيات: إنشاء تطبيق يظهر إحصائيات.
4. تطبيق التعرف على الصور: إنشاء تطبيق التعرف على الصور.
5. تطبيق التسوق: إنشاء تطبيق تسوق.

مشاريع ويب
1. موقع شخصي: إنشاء موقع شخصي.
2. موقع أخبار: إنشاء موقع أخبار.
3. موقع تعليمي: إنشاء موقع تعليمي.
4. موقع تجاري: إنشاء موقع تجاري.
5. موقع اجتماعي: إنشاء موقع اجتماعي.

أدوات ومكتبات
1. React: إنشاء تطبيق باستخدام React.
2. Angular: إنشاء تطبيق باستخدام Angular.
3. Vue.js: إنشاء تطبيق باستخدام Vue.js.
4. Node.js: إنشاء تطبيق خادم باستخدام Node.js.
5. Express.js: إنشاء تطبيق خادم باستخدام Express.js.

مواقع تعليمية
1. Codecademy
2. FreeCodeCamp
3. W3Schools
4. MDN
5. Udemy
6. Coursera
7. edX

نصائح
1. اختر مشروع يهمك.
2. قسم المشروع إلى مراحل.
3. استخدم GitHub لتحميل المشروع.
4. اطلب مساعدة عند الحاجة.
5. كن صبورًا.
2👍1
لغة جافا سكربت (JavaScript) هي لغة برمجة ذات طبيعة ديناميكية، تستخدم لإنشاء صفحات ويب متفاعلة. إليك شرح شامل:

البنية الأساسية
1. *النصوص*: تتم كتابة جافا سكربت في ملفات نصية بامتداد .js.
2. *التركيب*: تتكون جافا سكربت من جمل ووظائف.
3. *المتغيرات*: تعرف المتغيرات باستخدام let، const أو var.
4. *الأنواع*: تشمل الأنواع الأساسية number، string، boolean، null، undefined، object و array.

المبادئ الأساسية
1. *الوظائف*: تعرف الوظائف باستخدام function.
2. *الشرطات*: if، else، switch.
3. *اللووبات*: for، while، do-while.
4. *المصفوفات*: array.
5. *الأشياء*: object.

المواضيع المتقدمة
1. *التصميم الموجه للكائنات*: تعريف الأصناف والtraits.
2. *البرمجة الوظيفية*: استخدام الوظائف كوحدات أولية.
3. *البرمجة الديناميكية*: استخدام eval و Function.
4. *التعامل مع الأحداث*: استخدام addEventListener.
5. *التعامل مع قواعد البيانات*: استخدام localStorage و IndexedDB.

تقنيات جافا سكربت الحديثة
1. *ES6+*: استخدام الميزات الجديدة مثل let، const، arrow functions و classes.
2. *React*: استخدام مكتبة React لإنشاء مكونات واجهة المستخدم.
3. *Angular*: استخدام إطار العمل Angular لإنشاء تطبيقات ويب.
4. *Node.js*: استخدام جافا سكربت على الخادم.
5. *TypeScript*: استخدام لغة TypeScript لتحسين جودة الشفرة.

الموارد التعليمية
1. W3Schools
2. MDN
3. Codecademy
4. FreeCodeCamp
5. Udemy
6. Coursera
7. edX

النصائح
1. مارس بانتظام.
2. اقرأ الوثائق.
3. شارك مشاريعك.
4. كن صبورًا.
5. لا تخف من الأخطاء.
2
لغة CSS (Cascading Style Sheets) هي لغة تصميم تستخدم لتحديد الشكل والمظهر للصفحات الويب. إليك شرح شامل:

البنية الأساسية
1. *النصوص*: تتم كتابة CSS في ملفات نصية بامتداد .css.
2. *القواعد*: تتكون القواعد من ثلاثة أجزاء: المحدد (Selector)، الم�性 (Property) والقيمة (Value).
3. *المحددات*: تحدد العناصر التي سيتم تطبيق القاعدة عليها (مثل h1 أو .class).
4. *المroperties*: تحدد الخاصية التي سيتم تعديلها (مثل color أو background-color).
5. *القيم*: تحدد قيمة الخاصية (مثل red أو #fff).

المحددات
1. *المحددات البسيطة*: h1, .class, #id.
2. *المحددات المركبة*: h1.class, div > p.
3. *المحددات العامة*: *.

المroperties الشائعة
1. color: لون النص.
2. background-color: لون الخلفية.
3. font-size: حجم النص.
4. width: عرض العنصر.
5. height: ارتفاع العنصر.
6. margin: الهامش الخارجي.
7. padding: الهامش الداخلي.
8. border: الحدود.

الوحدات
1. px (بكسل).
2. % (نسبة مئوية).
3. em (نسبة إلى حجم النص).
4. rem (نسبة إلى حجم النص الرئيسي).

الخصائص المتقدمة
1. *التصميم الاستجابي*: media queries.
2. *الرسوم المتحركة*: animation و transition.
3. *الظلال*: box-shadow و text-shadow.
4. *التأثيرات*: opacity و filter.

الإطارات والقوالب
1. *إطار*: border و outline.
2. *قالب*: box-sizing و display.

الموارد
1. W3Schools
2. MDN
3. Codecademy
4. FreeCodeCamp
5. Udemy
6. Coursera
7. edX

النصائح
1. استخدم التدوين الجيد.
2. قسم الشفرة إلى أقسام.
3. استخدم الأسماء الواضحة.
4. اختر الألوان بعناية.
5. استخدم الإطارات والقوالب بحكمة.
3