🚀 تحسين أداء Python باستخدام List Comprehensions!
هل تريد كتابة كود Python أكثر إيجازًا وكفاءة؟ تعلم كيف تستخدم List Comprehensions لتحقيق ذلك!
List Comprehensions توفر طريقة مختصرة لإنشاء قوائم. بدلاً من استخدام حلقة `for` تقليدية، يمكنك إنشاء قائمة جديدة (مثل `squares`) في سطر واحد، مما يجعل الكود أسهل للقراءة وأسرع في التنفيذ.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجة']
هل تريد كتابة كود Python أكثر إيجازًا وكفاءة؟ تعلم كيف تستخدم List Comprehensions لتحقيق ذلك!
numbers = [1, 2, 3, 4, 5]
squares = [n**2 for n in numbers]
print(squares)
List Comprehensions توفر طريقة مختصرة لإنشاء قوائم. بدلاً من استخدام حلقة `for` تقليدية، يمكنك إنشاء قائمة جديدة (مثل `squares`) في سطر واحد، مما يجعل الكود أسهل للقراءة وأسرع في التنفيذ.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجة']
This media is not supported in your browser
VIEW IN TELEGRAM
لقيت كنز حقيقي لأيقونات SVG الخاصة بالشركات المشهورة
مكتبة ضخمة ومفتوحة للشعارات تقدر تنسخ منها وتستخدمها في تطبيقاتك، مواقعك، أو حتى في التوثيق
أكثر من 4000 أيقونة وشعار
فيها عدة نسخ (ملونة، أحادية اللون)
نسخ بصيغ SVG و JSX / React، أو عبر CDN و API وغيرها
معمولّة أساساً للمطورين والمصممين
خذوها من هناthesvg.org/
مكتبة ضخمة ومفتوحة للشعارات تقدر تنسخ منها وتستخدمها في تطبيقاتك، مواقعك، أو حتى في التوثيق
أكثر من 4000 أيقونة وشعار
فيها عدة نسخ (ملونة، أحادية اللون)
نسخ بصيغ SVG و JSX / React، أو عبر CDN و API وغيرها
معمولّة أساساً للمطورين والمصممين
خذوها من هناthesvg.org/
🔥1
🚀 تحسين أداء Python: استخدم `collections.deque`!
هل تواجه بطئاً عند إضافة أو إزالة عناصر من بداية قائمة Python؟ الحل بسيط ومدمج في مكتبة `collections`!
تُعد `collections.deque` (قائمة الانتظار المزدوجة) هياكل بيانات محسّنة لعمليات الإضافة والحذف السريعة من كلا الطرفين (البداية والنهاية). على عكس القوائم العادية في Python، حيث تكون عمليات `insert(0, ...)` و `pop(0)` بطيئة (تعقيد زمني O(n)) لأنها تتطلب إعادة ترتيب جميع العناصر، فإن عمليات `appendleft()` و `popleft()` في `deque` تتم بسرعة ثابتة (تعقيد زمني O(1)). هذا يجعلها مثالية للتطبيقات التي تتطلب معالجة متكررة للعناصر من بداية أو نهاية تسلسل.
['#Python', '# البرمجة', '#تطوير', '#كود', '#نصائح_برمجة', '#collections', '#deque']
هل تواجه بطئاً عند إضافة أو إزالة عناصر من بداية قائمة Python؟ الحل بسيط ومدمج في مكتبة `collections`!
from collections import deque
# إنشاء deque
my_deque = deque(['a', 'b', 'c'])
# إضافة عنصر في البداية
my_deque.appendleft('x')
print(my_deque) # Output: deque(['x', 'a', 'b', 'c'])
# إزالة عنصر من البداية
first_element = my_deque.popleft()
print(first_element) # Output: x
print(my_deque) # Output: deque(['a', 'b', 'c'])
# مقارنة مع القائمة العادية (للتوضيح)
my_list = ['a', 'b', 'c']
# إضافة في البداية (أبطأ)
my_list.insert(0, 'x')
# إزالة من البداية (أبطأ)
my_list.pop(0)
تُعد `collections.deque` (قائمة الانتظار المزدوجة) هياكل بيانات محسّنة لعمليات الإضافة والحذف السريعة من كلا الطرفين (البداية والنهاية). على عكس القوائم العادية في Python، حيث تكون عمليات `insert(0, ...)` و `pop(0)` بطيئة (تعقيد زمني O(n)) لأنها تتطلب إعادة ترتيب جميع العناصر، فإن عمليات `appendleft()` و `popleft()` في `deque` تتم بسرعة ثابتة (تعقيد زمني O(1)). هذا يجعلها مثالية للتطبيقات التي تتطلب معالجة متكررة للعناصر من بداية أو نهاية تسلسل.
['#Python', '# البرمجة', '#تطوير', '#كود', '#نصائح_برمجة', '#collections', '#deque']
الذكاء الاصطناعي دخل البرمجة، ودخل السيارات، ودخل البيوت الذكية والحين حتى دخل في أطواق الأبقار
تخيلوا ستارتب قرر يضيف موديل AI بسيط في أطواق البقر عشان يحدد أفضل مسار للرعي، واليوم تقييمه وصل إلى 2 مليار دولار. وحتى بيتر ثيل ناوي يستثمر فيه.
اتوقع فكرة إني أترك كل شيء وأروح أشتغل في مزرعة ماعد هي مضمونه
تخيلوا ستارتب قرر يضيف موديل AI بسيط في أطواق البقر عشان يحدد أفضل مسار للرعي، واليوم تقييمه وصل إلى 2 مليار دولار. وحتى بيتر ثيل ناوي يستثمر فيه.
اتوقع فكرة إني أترك كل شيء وأروح أشتغل في مزرعة ماعد هي مضمونه
❤1
🚀 كيف تستخدم enumerate في بايثون؟ 🚀
هل سئمت من تتبع الفهارس يدوياً عند المرور على قائمة في بايثون؟
دالة `enumerate()` هي الحل السحري!
تقوم `enumerate()` بإرجاع زوج من (الفهرس، العنصر) لكل عنصر في المتسلسلة التي تمررها لها. هذا يجعل كودك أكثر وضوحاً وإيجازاً.
['#بايثون', '#برمجة', '#enumerate', '#نصائح_بايثون', '#PythonTips']
هل سئمت من تتبع الفهارس يدوياً عند المرور على قائمة في بايثون؟
دالة `enumerate()` هي الحل السحري!
my_list = ['تفاحة', 'موز', 'برتقال']
for index, value in enumerate(my_list):
print(f"العنصر رقم {index} هو: {value}")
تقوم `enumerate()` بإرجاع زوج من (الفهرس، العنصر) لكل عنصر في المتسلسلة التي تمررها لها. هذا يجعل كودك أكثر وضوحاً وإيجازاً.
['#بايثون', '#برمجة', '#enumerate', '#نصائح_بايثون', '#PythonTips']
أصحاب ال DevOps انتبهوا
أداة فحص الثغرات Trivy اللي يستخدمها المطورون وفرق الـ DevOps حول العالم تعرّضت للاختراق مرة ثانية ضمن هجوم على سلسلة التوريد.
مجموعة TeamPCP (DeadCatx3 وPCPcat وPersyPCP وShellForce) سيطرت على عملية بناء المشروع في GitHub، ودمجت باب خلفي في الإصدار 0.69.4، وبعدها أجبرت 75 من أصل 76 تاج إصدار داخل مستودع trivy-action على التحديث. وهذا يعني أن أي CI/CD workflow كان يعتمد على هذه التاجات صار يثبت للمستخدمين infostealer بدون ما يدرون.
وبحسب الباحثين، البرمجية الخبيثة كانت تمشط داخل بايبلاينات CI/CD، وأجهزة المطورين، والبيئات المختلفة وتبحث عن GitHub tokens، وبيانات اعتماد السحابة، ومفاتيح SSH، وKubernetes tokens، وأي أسرار ثانية. وكل شيء كانت تلقاه، تقوم بأرشفته وتشفيره وبعدها ترسله إلى سيرفر تحت سيطرة المهاجمين.
اللي أعلن عن المشكلة بشكل علني هو مشرف بـ Trivy، إيتاي شاكوري. وبحسب كلامه، إذا فيه حتى مجرد شك بسيط أن نسخة مخترقة اشتغلت داخل البايبلاين، فاعتبروا كل الأسرار متسربة، ولازم تدويرها فوراً.bleepingcomputer.com/news/se…
أداة فحص الثغرات Trivy اللي يستخدمها المطورون وفرق الـ DevOps حول العالم تعرّضت للاختراق مرة ثانية ضمن هجوم على سلسلة التوريد.
مجموعة TeamPCP (DeadCatx3 وPCPcat وPersyPCP وShellForce) سيطرت على عملية بناء المشروع في GitHub، ودمجت باب خلفي في الإصدار 0.69.4، وبعدها أجبرت 75 من أصل 76 تاج إصدار داخل مستودع trivy-action على التحديث. وهذا يعني أن أي CI/CD workflow كان يعتمد على هذه التاجات صار يثبت للمستخدمين infostealer بدون ما يدرون.
وبحسب الباحثين، البرمجية الخبيثة كانت تمشط داخل بايبلاينات CI/CD، وأجهزة المطورين، والبيئات المختلفة وتبحث عن GitHub tokens، وبيانات اعتماد السحابة، ومفاتيح SSH، وKubernetes tokens، وأي أسرار ثانية. وكل شيء كانت تلقاه، تقوم بأرشفته وتشفيره وبعدها ترسله إلى سيرفر تحت سيطرة المهاجمين.
اللي أعلن عن المشكلة بشكل علني هو مشرف بـ Trivy، إيتاي شاكوري. وبحسب كلامه، إذا فيه حتى مجرد شك بسيط أن نسخة مخترقة اشتغلت داخل البايبلاين، فاعتبروا كل الأسرار متسربة، ولازم تدويرها فوراً.bleepingcomputer.com/news/se…
❤1
🚀 تحسين أداء Python باستخدام List Comprehensions
هل تبحث عن طريقة لكتابة كود Python أكثر إيجازًا وكفاءة؟ تعلم كيف يمكن لـ List Comprehensions تبسيط عمليات إنشاء القوائم.
List Comprehensions توفر طريقة مختصرة لإنشاء القوائم. في هذا المثال، قمنا بإنشاء قائمة `squares` تحتوي على مربعات الأرقام في القائمة `numbers` في سطر واحد فقط، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ مقارنة بحلقة `for` التقليدية.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#كود']
هل تبحث عن طريقة لكتابة كود Python أكثر إيجازًا وكفاءة؟ تعلم كيف يمكن لـ List Comprehensions تبسيط عمليات إنشاء القوائم.
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)
# مقارنة مع الطريقة التقليدية:
# squares_traditional = []
# for x in numbers:
# squares_traditional.append(x**2)
# print(squares_traditional)
List Comprehensions توفر طريقة مختصرة لإنشاء القوائم. في هذا المثال، قمنا بإنشاء قائمة `squares` تحتوي على مربعات الأرقام في القائمة `numbers` في سطر واحد فقط، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ مقارنة بحلقة `for` التقليدية.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#كود']
This media is not supported in your browser
VIEW IN TELEGRAM
الـ vibe coders لقيت لكم موقع فيه أكثر من 45 ملف مليانة skills وتصاميم جاهزة تقدرون تستخدمونها مع Claude وCursor وCodex وغيرهم من أدوات الـ AI عشان تتحكمون بشكل الـ UI.
بدل ما يطلع لك الذكاء الاصطناعي كل مرة بلayout عشوائي، يصير ملتزم بالستايل التصميمي اللي أنت محدده، وبالتالي النتيجة النهائية تطلع أنظف، أرتب، وأكثر اتساقاً.typeui.sh/design-skills
بدل ما يطلع لك الذكاء الاصطناعي كل مرة بلayout عشوائي، يصير ملتزم بالستايل التصميمي اللي أنت محدده، وبالتالي النتيجة النهائية تطلع أنظف، أرتب، وأكثر اتساقاً.typeui.sh/design-skills
❤1
الفكرة ببساطة انه لازم تستفيد من كل الخصائص الموجوده في Claude Code وتضبط الإعدادات المناسبة وتعرف متى تختار النموذج المناسب علشان كذا انا سويت قالب وانسخه لما اسوي مشروع ويعطيني كود نظيف ويتبع أفضل واحدث المعايير.
نزلتها بحسابي ونزلت ثلاث قوالب أساسية وشرح كيف تضيفها لمشروعك ولو القالب مايناسبك تقدر تخلي Claude Code يبني لك شي مشابه للمجال اللي تستخدمه
ان شاءالله يفيدكمgithub.com/altmemy/claude-co…
نزلتها بحسابي ونزلت ثلاث قوالب أساسية وشرح كيف تضيفها لمشروعك ولو القالب مايناسبك تقدر تخلي Claude Code يبني لك شي مشابه للمجال اللي تستخدمه
ان شاءالله يفيدكمgithub.com/altmemy/claude-co…
❤1
القالب بشكل مختصر فيه
5 وكلاء
1. مختص ux/ui
2. مراجع للكود وانه مبني بافضل المعايير
3. مراجع الأمن والحماية علشان يتأكد انه الموقع يتبع أفضل معاير الحماية
4. محسن الأداء يتأكد انه الكود يعطي أفضل نتيجة وبنفس الوقت بأفضل أسلوب نظيف مكتوب
هذي اهم اربعه مشتركة
والمهارات
لكل قالب مهاراته الخاصه بالاعتماد على اطار العمل واخر اصداراته وافضل معايير البرمجة فيه
5 وكلاء
1. مختص ux/ui
2. مراجع للكود وانه مبني بافضل المعايير
3. مراجع الأمن والحماية علشان يتأكد انه الموقع يتبع أفضل معاير الحماية
4. محسن الأداء يتأكد انه الكود يعطي أفضل نتيجة وبنفس الوقت بأفضل أسلوب نظيف مكتوب
هذي اهم اربعه مشتركة
والمهارات
لكل قالب مهاراته الخاصه بالاعتماد على اطار العمل واخر اصداراته وافضل معايير البرمجة فيه
💡 استخدام `enumerate` في بايثون لتبسيط التكرار!
هل سئمت من تتبع الفهارس يدويًا عند التكرار على قائمة أو تسلسل في بايثون؟ إليك حل أنيق وفعال!
الدالة `enumerate()` في بايثون تأخذ أي تسلسل (مثل القوائم، الصفوف، السلاسل النصية) وتعيد كائن enumerate. عند التكرار عليه، ينتج أزواجًا تحتوي على الفهرس (يبدأ من 0 افتراضيًا) والقيمة المقابلة من التسلسل. هذا يجعل الكود أكثر وضوحًا وقابلية للقراءة.
['#بايثون', '#برمجة', '#enumerate', '#نصائح_بايثون', '#PythonTips']
هل سئمت من تتبع الفهارس يدويًا عند التكرار على قائمة أو تسلسل في بايثون؟ إليك حل أنيق وفعال!
my_list = ['تفاحة', 'موز', 'برتقال']
for index, value in enumerate(my_list):
print(f'الفهرس: {index}, القيمة: {value}')
الدالة `enumerate()` في بايثون تأخذ أي تسلسل (مثل القوائم، الصفوف، السلاسل النصية) وتعيد كائن enumerate. عند التكرار عليه، ينتج أزواجًا تحتوي على الفهرس (يبدأ من 0 افتراضيًا) والقيمة المقابلة من التسلسل. هذا يجعل الكود أكثر وضوحًا وقابلية للقراءة.
['#بايثون', '#برمجة', '#enumerate', '#نصائح_بايثون', '#PythonTips']
💡 إنشاء دوال لامدا (Lambda Functions) في بايثون 🐍
هل تريد كتابة دوال صغيرة ومخصصة بسرعة في بايثون؟ دوال لامدا هي الحل الأمثل! تعرف عليها الآن.
دوال لامدا هي دوال مجهولة (بدون اسم) تُعرّف باستخدام الكلمة المفتاحية `lambda`. يمكن أن تأخذ أي عدد من الوسائط (arguments) ولكن يمكن أن تحتوي على تعبير واحد فقط. تُستخدم غالبًا في معالجة القوائم أو كـ callbacks.
['#بايثون', '#برمجة', '#دوال_لامدا', '#LambdaFunctions', '#PythonTips']
هل تريد كتابة دوال صغيرة ومخصصة بسرعة في بايثون؟ دوال لامدا هي الحل الأمثل! تعرف عليها الآن.
add = lambda x, y: x + y
print(add(5, 3))
multiply = lambda x, y: x * y
print(multiply(4, 6))
دوال لامدا هي دوال مجهولة (بدون اسم) تُعرّف باستخدام الكلمة المفتاحية `lambda`. يمكن أن تأخذ أي عدد من الوسائط (arguments) ولكن يمكن أن تحتوي على تعبير واحد فقط. تُستخدم غالبًا في معالجة القوائم أو كـ callbacks.
['#بايثون', '#برمجة', '#دوال_لامدا', '#LambdaFunctions', '#PythonTips']
This media is not supported in your browser
VIEW IN TELEGRAM
تخيلوا صار الآن تقدر تستنسخ أي موقع تقريبًا
مطور سوّى skill لـ Claude Code يخليه يشوف الموقع عبر Chrome MCP وبعدين يبني له نسخة منه. دالـ AI يسحب الخطوط، والألوان، والليآوت، ويقسم الموقع إلى أجزاء، ويكررها، وبعدها يركب كل شيء فوق بعض ويطلع لك النتيجة جاهزة.
ما يسرق بس يستلهم منه.github.com/JCodesMore/ai-web…
مطور سوّى skill لـ Claude Code يخليه يشوف الموقع عبر Chrome MCP وبعدين يبني له نسخة منه. دالـ AI يسحب الخطوط، والألوان، والليآوت، ويقسم الموقع إلى أجزاء، ويكررها، وبعدها يركب كل شيء فوق بعض ويطلع لك النتيجة جاهزة.
ما يسرق بس يستلهم منه.github.com/JCodesMore/ai-web…