بايثون العرب
10.5K subscribers
869 photos
183 videos
768 links
Download Telegram
🚀 تحسين أداء Python باستخدام List Comprehensions!

هل تبحث عن طريقة لكتابة كود Python أكثر إيجازًا وكفاءة؟ تعلم كيف يمكن لـ List Comprehensions أن تحدث فرقًا كبيرًا!

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)


List Comprehensions توفر طريقة مختصرة لإنشاء القوائم. في هذا المثال، نقوم بإنشاء قائمة جديدة 'squares' تحتوي على مربعات كل رقم في القائمة الأصلية 'numbers' في سطر واحد من الكود.

['#Python', '#برمجة', '#ListComprehensions', '#كود', '#تعلم_البرمجة']
كوارث الذكالي🔥

سلسلة المطاعم الأمريكية Applebee’s ارتكبت خطأ أمنيًا غريبًا، بعدما تركت بيانات الدخول إلى قاعدة بيانات عملائها داخل الكود المصدري لتطبيقها على أندرويد!

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

والبيانات شملت الأسماء والبريد الإلكتروني وتواريخ الميلاد وأرقام الهواتف والرموز البريدية، بالإضافة إلى عناوين IP وتواريخ إنشاء الحسابات وعدد مرات تسجيل الدخول.

والأخطر أن صلاحيات الوصول ما كانت مقتصرة على قراءة البيانات فقط، بل كان بإمكان الباحث تعديل معلومات العملاء أو حذفها من قاعدة البيانات!

وتخيلوا أن الباحث لما حاول يبلغ الشركة بالثغرة، ما حصل حتى على جهة أمنية يتواصل معها للإبلاغ عن المشكلة.

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

وللعلم، تطبيق Applebee’s تجاوز مليون تحميل على Google Play، وقاعدة بيانات برنامج الولاء تضم ما لا يقل عن 8.5 مليون عميل.

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

من أساسيات تطوير التطبيقات أنك ما تخزن بيانات الدخول السرية داخل تطبيق العميل، لأن أي شخص يقدر يحلل التطبيق ويستخرجها، لكن الظاهر أن أحدهم قرر يتجاوز هذه الخطوة 😂
✨ تحسين أداء Python: استخدام List Comprehensions 🚀

هل تريد كتابة كود Python أكثر اختصارًا وسرعة؟ تعلم كيف تجعل قوائمك تتشكل بلمسة سحرية مع List Comprehensions!

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)

# مقارنة مع الطريقة التقليدية:
# squares_old = []
# for x in numbers:
# squares_old.append(x**2)
# print(squares_old)


List Comprehensions توفر طريقة أنيقة وموجزة لإنشاء القوائم. الصيغة الأساسية هي `[expression for item in iterable]`. في هذا المثال، ننشئ قائمة `squares` عن طريق تربيع كل عنصر في القائمة `numbers`. إنها أسرع وأكثر قابلية للقراءة من استخدام حلقة `for` تقليدية.

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#كود']
@AldiwanNet لَا تَنْهَ عَنْ خُلُقٍ وَتَأْتِيَ مِثْلَهُ
عَارٌ عَلَيْكَ إِذَا فَعَلْتَ عَظِيمُ
الذكاء الاصطناعي قد يتسبب بفقدان المبرمجين لمهاراتهم البرمجية تدريجيًا، وهذا ما حذّر منه المهندس المعروف آدي عثماني (Addy Osmani).

المشكلة أن التراجع في المهارات ما يحدث بشكل مفاجئ، يبدأ تدريجيًا دون ما ينتبه له المطور.

في البداية، تستخدم الذكاء الاصطناعي لكتابة الكود وتراجعه سطرًا بسطر، وبعد فترة تبدأ تكتفي بنظرة سريعة، ومع الوقت تصل لمرحلة أنك ما عدت قادرًا حتى على شرح كيف يعمل مشروعك

عثماني يصف المرحلة المتقدمة من هذا الاعتماد بمصطلح «الاستسلام المعرفي» (Cognitive Surrender)، وهي المرحلة التي تتوقف فيها عن التفكير بنفسك وتترك المهمة بالكامل للذكاء الاصطناعي.

علشان كذا ينصح المطورين بطرح ستة أسئلة على أنفسهم لما يستخدموا الذكاء الاصطناعي:

هل حاولت تكوين فرضيتي الخاصة قبل ما أسأل الذكاء الاصطناعي؟

هل الذكاء الاصطناعي يساعدني على التفكير، أو أنني تركته يفكر بدلًا مني؟

كيف أقدر أتأكد أن إجابة الذكاء الاصطناعي خاطئة؟

هل فكرت في وجهة نظر معاكسة للحل المقترح؟

هل أنا مستعد أتحمل مسؤولية الكود أمام الشخص الذي سيعمل عليه بعدي؟

ما المهارات التي توقفت عن ممارستها بسبب اعتمادي على الذكاء الاصطناعي؟

والفكرة مش أنك تتوقف عن استخدام الذكاء الاصطناعي، بل أنك تستخدمه لتطوير قدراتك بدل ما يصبح بديلًا عن تفكيرك.

لأن المشكلة الحقيقية مش أن الذكاء الاصطناعي أصبح قادرًا على كتابة الكود، بل أنك مع الوقت قد تفقد قدرتك على فهم الكود الذي تكتبه أدواتك.

أسئلة تستحق أن كل مطور يرجع لها بين فترة والثانية.