بايثون العرب
10.5K subscribers
867 photos
183 videos
768 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
الحرب النفسية الإيرانية في اليمن .. تضليلٌ إعلامي واستهدافٌ للمعنويات،،
🚀 تحسين أداء Python: استخدام `__slots__`

هل تعاني من استهلاك ذاكرة كبير في كائنات Python؟ اكتشف كيف يمكن لـ `__slots__` أن يساعدك في تحسين الأداء وتقليل استهلاك الذاكرة بشكل كبير!

class Point:
__slots__ = ('x', 'y')

def __init__(self, x, y):
self.x = x
self.y = y

# بدون __slots__
class PointWithoutSlots:
def __init__(self, x, y):
self.x = x
self.y = y

import sys

# مقارنة حجم الذاكرة
point1 = Point(1, 2)
point2 = PointWithoutSlots(1, 2)

print(f'حجم الذاكرة لكائن Point (مع __slots__): {sys.getsizeof(point1)} بايت')
print(f'حجم الذاكرة لكائن PointWithoutSlots (بدون __slots__): {sys.getsizeof(point2)} بايت')


عندما تنشئ كائنًا في Python بدون `__slots__`، يقوم Python بإنشاء قاموس (`__dict__`) لتخزين سمات الكائن. هذا يوفر مرونة ولكنه يستهلك ذاكرة إضافية. بتعريف `__slots__`، أنت تخبر Python بتخصيص مساحة ثابتة لكل سمة محددة، مما يلغي الحاجة إلى `__dict__` ويقلل بشكل كبير من استهلاك الذاكرة، خاصة عند إنشاء عدد كبير من الكائنات. لاحظ أن استخدام `__slots__` يمنع إضافة سمات جديدة ديناميكيًا بعد الإنشاء.

['#Python', '#برمجة', '#تحسين_الأداء', '#تطوير_البرمجيات', '#PythonTips', '#علم_البيانات', '#Backend']
مساء الخير.

مع الأحداث الأخيرة، فيه شيء بنفسي وحبيت أقوله.

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

لكن اللي خلاني أتكلم اليوم مش بس معرفتي فيهم، اللي خلاني اتكلم موقفهم من اللي يحصل في تعز، ودعواتهم لأهلها كل يوم. الله يسعدهم ويوفقهم، وما يشوفوا مكروه ببلادهم.

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

حبيت أكتب هذا الكلام علشان أقول شكرًا لكل واحد دعا لتعز وأهلها، وشكرًا حتى للي شاف أنه مش فاهم الوضع وفضّل يسكت بدل ما يتفلسف من راسه.

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

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

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

خلال نقاش عن تطوير نواة Linux، هاجم فكرة منع المطورين من استخدام الذكاء الاصطناعي في مهام معينة، وقال ساخرًا: طيب ليش ما نمنع المبرمجين من استخدام المترجمات Compilers ونلزمهم يكتبوا كل شيء بلغة Assembly علشان نتأكد أنهم فاهمين شغلهم؟ 😂
بدأنا الاكشن؟

شركة Character AI أعلنت إفلاسها، والسبب أن تكلفة تشغيل الذكاء الاصطناعي كانت أعلى بكثير من الفلوس اللي تحصلها.

تخيلوا الشركة في 2023 كان تقييمها مليار دولار، واليوم دخلت إجراءات الإفلاس، وDisney عرضت 20 مليون دولار مقابل ترخيص دائم وغير حصري لجزء من تقنياتها وحقوقها الفكرية.

لكن الأرقام اللي ظهرت في مستندات الإفلاس أغرب من الخبر نفسه.

في 2024 كانت الشركة تصرف حوالي 13.8 مليون دولار شهريًا على الحوسبة فقط، وفي 2025 قدرت تخفضها إلى 10 ملايين.

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

يعني عندك ملايين المستخدمين، ومنصة مشهورة، لكن كل ما تنظر للأرقام تكتشف أن المشروع يحرق فلوس أكثر مما يدخل.

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

ومع كل هذا في أغسطس 2026 كانت الشركة لا تزال تخسر حوالي 8 إلى 9 ملايين دولار شهريًا.

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

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

وهنا الشيء اللي أشوفه مهم لأي واحد يفكر يبني مشروع بالذكاء الاصطناعي:

مش كل مشروع عنده ملايين المستخدمين يعني أنه ناجح تجاريًا.

ممكن يكون عندك منتج ممتاز، والناس تستخدمه بالساعات، لكن تكلفة كل مستخدم أعلى من العائد اللي يجي منه.

واللي يخلي الموضوع مثير للاهتمام. بعض الصحفيين بدأوا يعتبروا إفلاس Character AI أول قطعة دومينو تسقط من فقاعة الذكاء الاصطناعي.

مش شرط يكونوا محقين، لكن القصة تذكير أن التقنية مهما كانت مبهرة، بالنهاية لازم الأرقام تضبط.

وإلا بتبني مشروع يحبه الملايين، وبالنهاية ما تقدر تتحمل تكلفة تشغيله 💔
🚀 استخدام `enumerate` في بايثون لترقيم العناصر 🚀

هل سئمت من تتبع الفهارس يدويًا عند المرور على قائمة في بايثون؟ إليك الحل السحري مع `enumerate`!

my_list = ['تفاحة', 'موزة', 'كرز']
for index, value in enumerate(my_list):
print(f'العنصر رقم {index} هو {value}')


الدالة `enumerate()` تأخذ أي كائن قابل للتكرار (مثل القوائم) وتعيد كائن `enumerate` الذي ينتج أزواجًا تحتوي على عداد (يبدأ من 0 افتراضيًا) وقيم من الكائن الأصلي. هذا يجعل الكود أكثر وضوحًا وإيجازًا.

['#بايثون', '#برمجة', '#تعلم_بايثون', '#enumerate', '#تطوير']
جالس اشوف تطبيقات الشعر وفي واحد حبيته دخلت اشوف ايش عنده يمكن استوحي منه لتطبيقي ولقيت هذي الميزات مدفوعة، هذي اساس تطبيق @Ghurarapp، الصراحة احب غُرَر 🤍
💡 تعلم اختصارات لوحة المفاتيح في بايثون! 🐍

هل سئمت من استخدام الماوس باستمرار أثناء البرمجة؟ تعرف على بعض اختصارات لوحة المفاتيح المفيدة في بيئات تطوير بايثون لزيادة إنتاجيتك!

print('Hello, World!')
# اختصارات شائعة:
# Ctrl+C: نسخ
# Ctrl+V: لصق
# Ctrl+X: قص
# Ctrl+Z: تراجع
# Ctrl+S: حفظ
# Ctrl+F: بحث
# Ctrl+Shift+F: بحث شامل
# Ctrl+A: تحديد الكل
# Ctrl+B: تشغيل الكود (في بعض البيئات)
# Ctrl+D: حذف السطر الحالي (في بعض البيئات)
# Alt+Shift+Up/Down: نسخ السطر لأعلى/لأسفل (في بعض البيئات)


هذه الاختصارات تختلف قليلاً بين محررات الأكواد وبيئات التطوير المتكاملة (IDEs). قم بتجربة هذه الاختصارات في بيئتك المفضلة لتسريع عملية كتابة الكود وتعديله.

['#بايثون', '#برمجة', '#اختصارات', '#لوحة_المفاتيح', '#تطوير', '#Python', '#Programming', '#Shortcuts']
💡 نصيحة بايثون سريعة: استخدام enumerate() 💡

هل سئمت من تتبع الفهارس يدويًا في حلقات التكرار؟ إليك طريقة بايثون أنيقة لتجنب ذلك!

my_list = ['تفاحة', 'موزة', 'كرز']
for index, value in enumerate(my_list):
print(f'العنصر في الفهرس {index} هو: {value}')


الدالة `enumerate()` تسمح لك بالتكرار عبر قائمة (أو أي تسلسل آخر) والحصول على كل من الفهرس والقيمة في كل خطوة. تجعل الكود الخاص بك أكثر وضوحًا وقابلية للقراءة.

['#بايثون', '#برمجة', '#نصائح_برمجية', '#enumerate', '#Python']
بدأت اتفهم التوحيدي لما احرق كتبه
شركة أنثروبيك قررت تخصص 5% من أسهمها، بقيمة تقارب 100 مليار دولار حسب تقييمها الحالي، للمنفعة العامة.

والأموال هذه بتُستخدم في عدة مجالات، منها:

تقديم تبرعات ضخمة للمنظمات غير الربحية.

توزيع مبالغ مالية مباشرة على المواطنين الأمريكيين.

دعم الموظفين المتضررين من الذكاء الاصطناعي، ومساعدتهم على التكيف مع التغيرات في سوق العمل.

والصندوق مش بيتوقف عند هذه النسبة، بيزيد بنسبة 2% مع كل ارتفاع بنسبة 50% في القيمة السوقية للشركة.

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

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

المطور Loki كان هدفه في البداية يفرّح أخته، فصمم لعبة اسمه +1 Speed Keyboard Escape، وفكرتها بسيطة: اللاعب يقفز فوق كيبورد عملاق والمشاهدين في البث المباشر يقدروا يتبرعوا بالمال لتفعيل أحداث تؤثر على مجريات اللعبة.

اللعبة انتشرت بشكل جنوني على TikTok وTwitch، وحققت مليارات الزيارات، وخلّت المطور مليونير خلال أشهر قليلة.
❤1
✨ تحسين أداء Python: استخدام `enumerate` بكفاءة ✨

هل سئمت من كتابة عدادات يدوية في حلقات Python؟ دعنا نتعرف على `enumerate` وكيف تجعل الكود الخاص بك أكثر أناقة وكفاءة!

my_list = ['تفاحة', 'موز', 'كرز']

for index, value in enumerate(my_list):
print(f"العنصر رقم {index} هو: {value}")

# يمكنك أيضاً تحديد نقطة بداية للعد
for index, value in enumerate(my_list, start=1):
print(f"العنصر رقم {index} هو: {value}")


الدالة `enumerate()` تسمح لك بالمرور على قائمة (أو أي كائن قابل للتكرار) مع الحصول على كل من الفهرس (index) والقيمة (value) في نفس الوقت. هذا يلغي الحاجة لتعريف متغير عداد منفصل ويزيد من قابلية قراءة الكود. يمكن أيضاً تحديد قيمة البداية للعداد باستخدام الوسيط `start`.

['#Python', '#برمجة', '#تعليم_برمجة', '#enumerate', '#كود_نظيف', '#نصائح_برمجة']
❤1
تخيل تتخرج من جامعة برينستون وتحصل على الدكتوراه، وتقدم على 2300 وظيفة، وفي النهاية ما تحصل وظيفة

جاك وايس، باحث أمريكي عمره 30 سنة، لمدة سنتين كان يبحث عن وظيفة بعد حصوله على الدكتوراه في الهندسة الكيميائية من جامعة برينستون.

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

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

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

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

باختصار، هذا حال سوق العمل اليوم
🚀 تحسين أداء Python: استخدام List Comprehensions

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

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


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

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#كود']