مجتمع بايثون
7.11K subscribers
86 photos
9 videos
4 files
287 links
Download Telegram
أحد المتابعين اقترح فكرة جميلة ألا وهي إنشاء قناة على واتساب وبعد كل حلقة وطيلة أسبوع نقوم بنشر المصادر الثمينة من كتب ومشاريع ودورات لها علاقة فقط بموضوع الحلقة ، على سبيل المثال هذا الأسبوع "التعلم الآلي" ، ما رايكم ؟؟
🟢 قناة الواتساب :
https://whatsapp.com/channel/0029Va8kTMOEawdooVhQEO3h
أكبر مغالطة يؤمن بها الكثير من المقبلون على دراسة #الذكاء_الاصطناعي أن المشاريع والتطبيق العملي سيرفعهم إلى مستوى متقدم ، المشاريع جيدة في البداية ولكن هذه الطريقة في مرحلة ما سوف تعيق تقدمك. السر في التقدم يكمن في قراءة الأوراق العلمية والأبحاث في المجال، حتى وإن شعرت بأنها معقدة في البداية. تلك هي الخطوة تفتح أمامك أفقاً جديداً، وتمكنك من مواجهة تحديات العالم الحقيقي بثقة ومعرفة عميقة وليس ببضعة أكواد.
أعلم أنها نصيحة قد لا تكون محببة للجميع لكن هذا هو ما تعلمناه من الأساتذة والخبراء في المجال .
#تعلم_الآلة #ML
بعض الأشخاص ينظرون إلى تهديد الذكاء الاصطناعي بسخافة أسطورية:
🙋‍♂️:" الذكاء الإصطناعي لن يأخذ وظيفتي أنظر إلي أنا ذكي ! لن يستبدلني برنامج حاسوب !"

🤦‍♂️للأسف هؤلاء لا يفهمون أن من سيأخذ وظيفتهم هو زميلهم التي يُتقن استخدام الذكاء الاصطناعي كمساعد لإنجاز عمل يوازي ما ينجزه 10 موظفين كماً ويتفوق عليهم جودةً (بأقل جهد وبأقل مصادر)
❄️ يُقال أن الجبر الخطي هو السحر الذي جعل الأجهزة تتعلم ! دعونا نكتشف كيف يمكن لهذا السحر أن يحول البيانات إلى قرارات ذكية في عالم التعلم الآلي من خلال بعض الأمثلة المثيرة:

🔹 تحليل المكونات الرئيسية (Principal Component Analysis, PCA):
تطبيق عملي: تقليل الأبعاد في بيانات الجينوم لتحسين فهم البنية الجينية والتباين الجيني.
خوارزميات: تحليل المكونات الرئيسية القياسية.

🔹 التحليل الدالي (Eigen Decomposition):
تطبيق عملي: تحديد الاتجاهات الرئيسية للتوزيع في بيانات الصور لتحسين التعرف على الوجوه.
خوارزميات: خوارزمية Eigenfaces.

🔹 التحليل المكوني المستقل (Independent Component Analysis, ICA):
تطبيق عملي: فصل الإشارات الصوتية المختلطة إلى مصادرها الأصلية.
خوارزميات: FastICA.

🔹 التحليل الدالي المتعدد (Multilinear Subspace Learning):
تطبيق عملي: تحليل التعبيرات الوجهية في مجموعات البيانات ثلاثية الأبعاد.
خوارزميات: TensorFaces.

🔹 خوارزميات تحسين (Optimization Algorithms):
تطبيق عملي: تحسين توصيات الأفلام في Netflix.
خوارزميات: Gradient Descent, Stochastic Gradient Descent.

🔹 التحليل العاملي (Factor Analysis):
تطبيق عملي: تحليل العوامل الكامنة التي تؤثر على الأسعار في السوق المالية.
خوارزميات: Expectation-Maximization.

🔹 التصنيف الخطي (Linear Classification):
تطبيق عملي: تحديد ما إذا كان بريد إلكتروني معين هو رسالة غير مرغوب فيها أو لا.
خوارزميات: Logistic Regression, Support Vector Machines.

🔹 الانحدار الخطي (Linear Regression):
تطبيق عملي: تنبؤ بأسعار المنازل بناءً على ميزات مختلفة مثل المساحة وعدد الغرف.
خوارزميات: Ordinary Least Squares, Ridge Regression, Lasso Regression.

🔹 التجميع الخطي (Linear Clustering):
تطبيق عملي: تجميع الأخبار المماثلة من مصادر مختلفة لتسهيل الوصول إلى المحتوى ذي الصلة.
خوارزميات: K-means Clustering.

🔹 الشبكات العصبونية (Neural Networks): - تطبيق عملي: ترجمة النصوص بين لغات مختلفة باستخدام شبكات عصبية عميقة. - خوارزميات: Backpropagation, Adam Optimization.
🔥 تعلم البرمجة لم يكُن كافي!؟
إذن تعلم المهارات التالية إذا أردت أن تنجح :

1. الحوسبة السحابية (Cloud Computing):
لأنها تعتبر مهارة أساسية لأي مطور، حيث تتجه الشركات نحو استخدام الحوسبة السحابية.
· نصيحة: احصل على شهادة في AWSأو Azureلزيادة فرصك في السوق.
2. نظام التحكم في الإصدارات Git:
· لأنه مهم لتتبع التغييرات في الكود والتعاون مع فريق العمل.
· نصيحة: تعلم أساسيات Gitمن خلال متابعة فيديو تعليمي على YouTube.
3. المعرفة الأساسية بقواعد البيانات:
· مهمة لإجراء التعديلات والتحويلات على البيانات.
· نصيحة: تعلم SQLوافهم الفرق بين قواعد البيانات العلائقية وNoSQL.
4. المعرفة الأساسية بنظام Linux:
·مهم لفهم الأوامر والتنقل في نظام الملفات لأكثر نظام تستخدمه السيرفرات اليوم.
· نصيحة: تعلم الأوامر الأساسية وفهم نظام الملفات في Linux.
5. الحاويات (Containers):
· الأهمية: مهم لتوزيع وتشغيل التطبيقات بشكل موحد على كل الأجهزة.
· نصيحة: شاهد فيديو تعليمي لأساسيات Docker وكيفية استخدامه.
6. المعرفة الأساسية بواجهات برمجة التطبيقات (APIs):
· مهمة لبناء وتحديث واجهات برمجية ،وللتعامل مع خدمات الويب.
· نصيحة: خذ دورة تعليمية في بناء الـ APIباستخدام اللغة التي تفضلها. أنصح بتعلم FastApi.
7. التعرف على أنابيب التطوير (Pipelines):
·مهمة لفهم وتصحيح الأخطاء في الأنظمة التي تربط بين مراحل تطوير البرمجيات.
· نصيحة: تعلم كيفية إعداد وتكوين الأنابيب باستخدام GitHub Actions وفهم ملفات YAML.
+10 مكتبات بايثون تجعل حياتي أسهل 🤫
📅 Pendulum:
Pendulum هو مكتبة Python متخصصة في التعامل مع التواريخ والأوقات. تقدم واجهة برمجية سهلة الاستخدام ومتقدمة للتلاعب بالتواريخ والأوقات بكفاءة، مع توفير دقة عالية في النتائج.
- [رابط الموقع الرسمي](https://pendulum.eustace.io/)
📄 PyPDF:
PyPDF هي مكتبة Python تتيح للمطورين قراءة وكتابة ملفات PDF بسهولة. توفر واجهة برمجية قوية للتعامل مع محتوى ملفات PDF وتعديلها.
- [رابط الموقع الرسمي](https://pypi.org/project/pypdf/)
🍦 Ice Cream:
Ice Cream هو أداة تصحيح في Python تساعد المطورين في فحص الأكواد وتتبع التغييرات. تقدم وظائف مبتكرة لتسهيل عملية التصحيح وتقديم نتائج مفصلة.
- [رابط الموقع الرسمي](https://github.com/gruns/icecream)
📝 Loguru:
Loguru هو مكتبة تسجيل مبسطة في Python تقوم بتوجيه الرسائل إلى المكان المناسب. توفر واجهة برمجية سهلة الاستخدام لتسجيل الأحداث والأخطاء.
- [رابط الموقع الرسمي](https://github.com/Delgan/loguru)
🎨 Rich:
Rich هو مكتبة Python تقدم واجهة برمجية لتقديم النصوص الملونة والمحتوى الغني إلى الطرفية، مما يجعل النتائج أكثر جاذبية ووضوحًا.
- [رابط الموقع الرسمي](https://github.com/willmcgugan/rich)
⚙️ Argparse:
Argparse هو مكتبة Python توفر واجهة برمجية لتحليل الأوامر المدخلة من سطر الأوامر. تساعد في بناء تطبيقات سطر الأوامر القوية والمرنة.
- [رابط الموقع الرسمي](https://docs.python.org/3/library/argparse.html)
🔄 TQDM:
TQDM هو مكتبة Python تقدم شريط تقدم سريع وموسع. يمكن استخدامها في أي حلقة تكرار لتقديم تقدم الحلقة بشكل بصري.
- [رابط الموقع الرسمي](https://github.com/tqdm/tqdm)
📊 Xarray:
Xarray هو مكتبة Python توفر واجهة برمجية للتعامل مع المصفوفات متعددة الأبعاد. تساعد في تنظيم البيانات وتحليلها بكفاءة.
- [رابط الموقع الرسمي](https://xarray.pydata.org/)
🌌 Polaris:
Polaris هو لوحة تحكم في Python توفر واجهة برمجية سهلة الاستخدام لتقديم المعلومات بشكل جذاب ومرتب.
- [رابط الموقع الرسمي](https://pypi.org/project/polaris/)
📈 Seaborn:
Seaborn هو مكتبة تصوير بياني في Python تعتمد على matplotlib. توفر واجهة برمجية عالية المستوى لرسم الرسوم البيانية الإحصائية الجذابة.
- [رابط الموقع الرسمي](https://seaborn.pydata.org/)
Result:
Result هو نوع خاص في Python يشبه نوع النتيجة في لغة Rust. يساعد في التعامل مع النتائج والأخطاء بطريقة منظمة.
- [رابط الموقع الرسمي](https://pypi.org/project/result/)
ـ🌟 Scikit-learn: إذا كنت تبحث عن بداية غير مُوجعة في أطر التعلم الآلي باستخدام Python، فلا تبحث بعيدًا عن Scikit-learn! هذه المكتبة هي واحدة من أكثر المكتبات شهرة في مجال التعلم الآلي الكلاسيكي، وهي تقدم مجموعة واسعة من الأدوات والوظائف التي تساعدك في بناء نماذج التعلم الآلي بكل سهولة.

لكن ما يميز Scikit-learn حقًا هو التوثيق الرائع الذي يأتي معها. لن تجد وصفًا مفصلًا لكل وظيفة وطريقة فقط، بل ستجد أيضًا مجموعة من الأمثلة التوضيحية والدروس التعليمية التي تغطي مجموعة واسعة من الموضوعات، مما يجعلها مثالية للمبتدئين لاكتساب المعرفة والمهارات الأساسية.

لذا، إذا كنت مستعدًا لبدء رحلتك في التعلم الآلي وترغب في الاستفادة من مصادر تعلم قوية وموثوقة، فلا تتردد في استكشاف عالم Scikit-learn عبر توثيقها الغني.

https://scikit-learn.org/stable/
إليك خطاطة شجرية لبعض وظائف Scikit-learn
🔥 أعلنت Github للتو عن برنامج شهادات جديد سيبدأ فور انتهاء حدث Github Universe! 🔥 لا تفوت الفرصة!

🎓 الشهادات المتاحة:

أساسيات GitHub
GitHub Actions
الأمان المتقدم في GitHub
إدارة GitHub

😱 الأماكن محدودة! سجل الآن في قائمة الانتظار وكن من الأوائل الذين سيحصلون على هذه الشهادات الرائعة!
https://resources.github.com/learn/certifications/
في تجربة مثيرة تم تدريس لغة جافا (Java) لمجموعة من الطلبة، بينما تم تدريس لغة بايثون (Python) للمجوعة الثانية. بعد ذلك تم مقارنة أداء التعلم ومهارات التحفيز والتفكير غير الملائم لدى المجموعتين لتقييم الاختلافات.
أظهرت النتائج أن التحفيز والثقة في النفس ومهارات التفكير غير الملائم كانت ملحوظة في الفصل الذي تم تدريس بايثون فيه.

الورقة العلمية للتجربة:
https://www.frontiersin.org/articles/10.3389/fpsyg.2020.600814/full
🚨 يقال أنه لا يمكنك أن تطلق على نفسك لقب "مطور بايثون" إذا لم تكن تعرف هذه المفاهيم:
إليك 25 مفهومًا يجب أن يعرفها كل مطور بايثون محترف:💯
🔵 1. أساسيات بايثون:
· فهم أنواع البيانات: السلاسل، القوائم، الأزواج، والقواميس.
· فهم هياكل التحكم: الحلقات، الشروط، ومعالجة الاستثناءات.
🔵 2. البرمجة الكائنية الموجهة:
· مفاهيم الفئات والكائنات، الوراثة، وتعدد الأشكال.
🔵 3. مكتبات بايثون:
· الإلمام بمكتبات مثل NumPy وPandas وMatplotlib لمعالجة وعروض البيانات.
🔵 4. البيئات الافتراضية:
· استخدام venv أو virtualenv لعزل المشاريع.
🔵 5. إدارة الحزم:
· إتقان أدوات pip وpipenv لتثبيت وإدارة الحزم.
🔵 6. عمليات الملفات:
· القدرة على قراءة، كتابة، ومعالجة الملفات باستخدام وظائف بايثون.
🔵 7. قواعد البيانات:
· التفاعل مع قواعد البيانات باستخدام بايثون، مثل SQLiteوSQLAlchemy.
🔵 8. واجهات برمجة التطبيقات (APIs):
· إنشاء واختبار واجهات برمجة التطبيقات باستخدام إطارات عمل مثل وFastApi، واستخدام مكتبات مثل requests.
🔵 9. إطارات الويب:
· الإلمام بإطارات العمل مثل Django وFlask وPyramid.
🔵 10. البرمجة غير المتزامنة:
· فهم asyncio والقدرات غير المتزامنة في بايثون.
🔵 11. المزينات والمولدات:
· استخدام المزينات Decorators لتعزيز الوظائف وإنشاء المكررات itterables باستخدام المولداتGenerators.
🔵 12. الاختبار:
· ممارسة اختبار الوحدة، واختبار التكامل، والتطوير الموجه بالاختبار باستخدام pytestأو unittest.
🔵 13. التحكم بالإصدارات:
· الإلمام بGit وأنماط العمل في Git.
🔵 14. استيعاب القوائم:
· معالجة البيانات بكفاءة باستخدام استيعاب القوائم Sequence Comprehensions.
🔵 15. وظائف Lambda:
· استخدام الوظائف المجهولة للعمليات القصيرة.
🔵 16. معالجة الأخطاء:
· استخدام الكتل try-except بشكل صحيح وفهم تصنيف الاستثناءات في بايثون.
🔵 17. التعبيرات النمطية Regex:
· استخدام وحدة re للبحث ومعالجة النصوص.
🔵 18. التزامن والتوازي:
· فهم الخيوط Threads، والعمليات، وقفل المترجم العام (GIL).
🔵 19. أفضل الممارسات في بايثون:
· كتابة كود نظيف وقابل للقراءة ومتوافق مع معايير PEP 8.
🔵 20. مكتبات الواجهات الرسومية:
· الاطلاع على مكتبات إنشاء التطبيقات ذات الواجهات الرسومية مثل PyQt وTkinter.
🔵 21. التعامل مع الشبكات:
· استخدام وحدة socket لإنشاء والتفاعل مع الشبكات وبروتوكولات الاتصال.
🔵 22. التعامل مع الصور والملتيميديا:
· استخدام مكتبات مثل Pillow لمعالجة الصور وPyDub للتعامل مع الملفات الصوتية.
🔵 23. التحسين والأداء:
· استخدام أدوات مثل cProfile وtimeit لقياس وتحسين أداء الشيفرة.
🔵 24. التعامل مع البيانات الهيكلية:
· فهم واستخدام البيانات الهيكلية مثل الأشجار والرسوم البيانية والخوارزميات المرتبطة بها.
🔵 25. التكامل مع خدمات السحابة (Cloud Services):
· التفاعل مع الخدمات السحابية مثل AWS وGoogle Cloud باستخدام SDKs الخاصة بهم.
كل مطور بايثون، سواء كان مبتدئًا أو خبيرًا، يجب عليه السعي لإتقان هذه المفاهيم للتميز في المجال! 🐍🚀
This media is not supported in your browser
VIEW IN TELEGRAM
أدوبي الأمس أعلنت في مؤتمرها Adobe Max عن إضافات ذكاء اصطناعي قوية جداً ستغير مستقبل التصميم الجرافيكي 🤯
فـ نظري أقوى ميزة هي توليد رسوم الفيكتور، هذه قوية جدا وتهدد المصممين
12 لغة برمجة تواجه مستقبلاً مظلماً 🌒🍁(إقفز من المركب⛔️)

1ـ COBOL 📋:
كانت COBOL تهيمن على عالم البرمجة في الستينيات، لكنها الآن أصبحت لغة نادرة الاستخدام.

2ـ Visual Basic 🖥:
رغم أن Visual Basic لغة قديمة، إلا أنها لن تعود لأيامها المجيدة أبدا حيث أن Microsoft قامت باستبدالها بـ Visual Basic .NET وهذه الأخيرة أيضا لا تلقى إقبالا كبيراً اليوم.

3ـ Fortran 📐:
رغم أن Fortran لغة قديمة تعود لأكثر من 62 عامًا، إلا أن استخدامها ما زال مستمرًا، خصوصًا في الحوسبة الرياضية، لكن مبرمجيها يتجهون نحو الإنقراض.

4ـ R 📊:
كانت لغة البرمجة R تسعى لغزو عالم تحليل البيانات، لكنها بدأت مؤخرًا في فقدان مكانتها أمام لغة Python حيث تتراجع شعبيتها كل عام (حسب Tiobe index) .

5ـ Haskell 🌀:
أذكر أن Haskell كانت لغة شهيرة في الماضي، إلا أن الاهتمام بها تراجع بسبب وقت الاستجابة البطيء والمنافسة من Go وRust.

6ـ Pascal 📜:
كانت لغة مميزة في السبعينيات، ومازالت تُدرَّس في بعض دول العالم العربي🤦‍♂️، إلا أنها لم تقدم جديدًا لعالم البرمجة ولن تفعل.

7ـ Objective-C 📱:
مع ظهور Swift من Apple، إنتهت قصة Objective-C وسقطت شعبيتها للحضيض.

8ـ Prolog 🧠:
كانت Prolog خيارًا شائعًا للبرمجة المنطقية وتطبيقات الذكاء الصنعي في الماضي، لكنها الآن تواجه منافسة شديدة من لغات أكثر حداثة.

9ـ F# 🍀:
بينما تُعتبر لغة برمجة وظيفية قوية، إلا أنها لم تحظى بشعبية كبيرة مقارنةً بلغات أخرى مثل C# في نظام .NET. وهي الآن لا تجذب اهتمام المبرمجين.

10ـ Perl 🕸:
رغم أن Perl كان لها شأن كبير في تطوير الويب، إلا أن اللغات المنافسة لها قضت عليها تماما.

11ـ ActionScript 🎬:
أثناء نهاية Adobe Flash، سُطرت نهاية الـ ActionScript أيضًا.

12ـ VBA & VBS 📌:
صرحت مايكروسوفت مؤخرا أنها ستضع حداً للـVBS في النسخ القادمة للويندوز ،ولن ننسى كذلك أن مايكروسوفت إكسل صار يدعم بايثون الآن وبالتالي فإن هذه اللغة انتهت بالفعل !

في الختام، مع تطور التكنولوجيا، تأتي لغات البرمجة وتذهب. واللغات المذكورة هنا عانت من المنافسة أو فشلت في تقديم ميزات حديثة وملائمة.
🥰 عندما رأيت الإصدار الجديد من لغة بايثون صباح اليوم شعرت بالحماس!
لكن الأمر الذي كنت متحمسًا له بشكل خاص هو أننا أصبحنا على بُعد إصدار فقط من بايثون 3.14، والمعروفة أيضاً بـ PI THON، نسخة python التي ستصبح أسرع من السي++ ! فهذا ما أكده الكثير من الأشخاص الذين جاؤوا من المستقبل!
أو لا أعلم ،لكن توجد في الأنترنت مقالات من سنة 2022 تقول ذلك ولا أدري فعلا من أين يأتي هذا ..

عموماً الفيديو عن مميزات النسخة الجديدة من بايثون
https://youtu.be/DFT2RloaRwg
أغلبكم سمع عن تقنية البومودورولإدارة الوقت، ولكن، 🤔 من منكم سمع عن تقنيةالفلوودورو (Flowdoro) ؟

تقنية البومودورو الفكرة الأساسية منها هي تقسيم أوقات الدراسة أو العمل إلى فترات قصيرة، عادة 25 دقيقة من العمل المكثف، ثم استراحة لمدة 5 دقائق.🍅
لكن، قد لا تكون هذه التقنية مناسبة للجميع، خصوصًا لأولئك الذين يجدون أنفسهم غارقين في عمق مهمة معينة ولا يرغبون في توقفها.
وهنا تأتي فائدة تقنية الفلوودورو! 🌊
سأشرحها لكم باختصار :
📌خطوة 1: بدلاً من العد التنازلي كما في تقنية البومودورو، استخدم العد التصاعدي. أبدأ توقيتك وابدأ بالدراسة بشكل طبيعي.
📌خطوة 2: حين تشعر بأنك بدأت تفقد تركيزك، قم بإيقاف التوقيت.
📌خطوة 3: قم بمعرفة مدة وقتك في الدراسة، وقسمها على خمسة لتحديد فترة الراحة الخاصة بك.
📌خطوة 4: استخدم هذه التقنية بانتظام لتعزيز فترات التركيز الطويلة والاستراحات الموجهة.
📌خطوة 5: احرص على تتبع فترات التركيز والاستراحة لتعرف مدى فعاليتك.

لا تتردد في تجربة تقنية الفلوودورو، فقد تكون هي الخيار المناسب لك! 📘🌟.
لماذا يكره أطفالنا الرياضيات؟ وكيف نحببهم فيها؟
من سن مبكّرة بعض الأطفال يجدون في الرياضيات مصدرا للإلهام والشغف، لكن غالبية الأطفال للأسف علاقتهم بالرياضيات متوثرة جداً لدرجة أنها مسببة لهم عقد !

لماذا يكره أبناءنا الرياضيات؟ وكيف نساعدهم على تغيير نظرتهم إليها ؟

في نظرنا يرجع الأمر لثلاثة أسباب :

1. المناهج الدراسية القائمة على التلقين: الكثير من الأطفال "حافظين مش فاهمين"ويجدون صعوبة في تقبل ذلك الوضع، وفي نفس الوقت يخشون التعبير عن عدم فهمهم خوفا من نظرة الآخرين.

الحل: بما أننا لا نستطيع تغيير المناهج الدراسية، فيمكن كأهل وأباء مراجعة واجبات صغارنا للتأكد أنهم "فاهمين" الدروس التي تجاوزوها ،ومساعدتهم في استيعاب المفاهيم التي يجدون فيها صعوبة.

2. الرياضيات "صعبة" وليست ممتعة: الأطفال، وبالأخص البنات يصدقون أن الرياضيات مادة غير جذابة وصعبة، وذلك راجع إلى المغالطات التي يسمعونها من الأهل والمجتمع .وأيضا إلى النظام التعليمي الذي لا يقوم على مسائل رياضية ممتعة وألعاب تثير انتباه الصغار وشغفهم.

الحل: يجب أن نغير جميعا طريقة حديثنا عن الرياضيات،كما يمكن للأهل تسجيل أطفالهم في دورات على شكل ألعاب وألغاز وتحديات رياضية ممتعة ، كما يمكننا لوعبة عملية التعلم (Gamification ) .


3. الرياضيات لا علاقة لها بالواقع: الأساتذة والمعلمين لا يشرحون للطلبة الغاية من المعادلات والمبرهنات التي يدرسونهم، وهذا مصدر الاعتقاد الشائع اليوم لدى الصغار والكبار بأنهم يدرسون أشياء لا حاجة إليها، و أن الرياضيات لا تمت بصلة للحياة اليومية.

الحل: يجب شرح الغاية من كل معادلة وذكر أمثلة على استعمالها في الواقع ، كما يجب إبراز دور الرياضيات في حياتن،والفرص التي يمكن أن توفرها هذه المادة في المستقبل.


في الختام، الرياضيات ليست فقط عبارة عن أرقام ومعادلات، بل هي أداة تساعد الأطفال على فهم العالم من حولهم. بالتوجيه المناسب، يمكن أن تصبح الرياضيات مادة محببة وممتعة للأطفال.