الدراما موجودة ولها اصل، الخلاف بشطر هذا البيت بالأغاني وبمعجم الادباء لياقوت الحموي نسبوها للمجاشعي وبنفس الوقت ياقوت الحموي نسب هذي الأبيات لجرير برثاء الفرزدق:
فجعنا بحمّالِ الدِّياتِ ابنِ غالبٍ
وحامي تميمٍ عِرضَها والمُراجِمِ
بكيناكَ حِدثانَ الفراقِ وإنّما
بكيناكَ إذ نابَت أمورُ العظائمِ
فلا حَمَلَت بعدَ ابنِ ليلى مَهيرةٌ
ولا شُدَّ أنساعُ المطيِّ الرَّواسمِ
وذكرت بمصادر ثانية ونسبت لجرير
فجعنا بحمّالِ الدِّياتِ ابنِ غالبٍ
وحامي تميمٍ عِرضَها والمُراجِمِ
بكيناكَ حِدثانَ الفراقِ وإنّما
بكيناكَ إذ نابَت أمورُ العظائمِ
فلا حَمَلَت بعدَ ابنِ ليلى مَهيرةٌ
ولا شُدَّ أنساعُ المطيِّ الرَّواسمِ
وذكرت بمصادر ثانية ونسبت لجرير
نصيحة بايثون: تنسيق السلاسل بـ f-strings! ✨
تعلم كيف تجعل تنسيق السلاسل النصية أسهل وأكثر قابلية للقراءة باستخدام f-strings في بايثون.
تعتبر f-strings (formatted string literals) طريقة حديثة وفعالة لتضمين التعبيرات والمتغيرات داخل السلاسل النصية. تبدأ السلسلة بحرف 'f' أو 'F' متبوعًا بعلامات اقتباس، وتوضع المتغيرات أو التعبيرات داخل أقواس متعرجة {}.
['#بايثون', '#نصائح_برمجية', '#fstrings', '#تعلم_بايثون', '#برمجة']
تعلم كيف تجعل تنسيق السلاسل النصية أسهل وأكثر قابلية للقراءة باستخدام f-strings في بايثون.
name = "أحمد"
age = 30
city = "دبي"
# Using f-string for easy formatting
message = f"مرحباً، أنا {name}. عمري {age} سنة وأعيش في {city}."
print(message)
# You can also include expressions
x = 10
y = 5
result_message = f"الناتج لـ {x} * {y} هو {x * y}."
print(result_message)
تعتبر f-strings (formatted string literals) طريقة حديثة وفعالة لتضمين التعبيرات والمتغيرات داخل السلاسل النصية. تبدأ السلسلة بحرف 'f' أو 'F' متبوعًا بعلامات اقتباس، وتوضع المتغيرات أو التعبيرات داخل أقواس متعرجة {}.
['#بايثون', '#نصائح_برمجية', '#fstrings', '#تعلم_بايثون', '#برمجة']
نصيحة لمطورين ال backend : حاول تخلي الـTransactions يكون قصيرة.
لا تفتح Transaction وبعدين تستدعي API خارجي يجلس ممكن 10 ثواني علشان يرد. وطول هذا الوقت اتصال قاعدة البيانات ممكن يجلس مشغول، والـLocks اللي أخذتها العملية ممكن تأخر طلبات ثانية. كل هذا التأخير وأنت بس تنتظر رد من خدمة خارجية.
قدر الإمكان، خلي الاستدعاءات الخارجية خارج الـTransaction، وخلي داخلها بس عمليات قاعدة البيانات الضرورية. مش لازم قاعدة البيانات تنتظر معك رد الـAPI.
لا تفتح Transaction وبعدين تستدعي API خارجي يجلس ممكن 10 ثواني علشان يرد. وطول هذا الوقت اتصال قاعدة البيانات ممكن يجلس مشغول، والـLocks اللي أخذتها العملية ممكن تأخر طلبات ثانية. كل هذا التأخير وأنت بس تنتظر رد من خدمة خارجية.
قدر الإمكان، خلي الاستدعاءات الخارجية خارج الـTransaction، وخلي داخلها بس عمليات قاعدة البيانات الضرورية. مش لازم قاعدة البيانات تنتظر معك رد الـAPI.
❤1
جزى اللهُ الشدائدَ كلَّ خيرٍ
وإن جرَّعنني غُصَصي بريقي
وما شكري لها إلّا لأنّي
عرفتُ بها عدوّي من صديقي
وإن جرَّعنني غُصَصي بريقي
وما شكري لها إلّا لأنّي
عرفتُ بها عدوّي من صديقي
💡 نصيحة بايثون: استخدام Walrus Operator (:=) 🚀
هل سئمت من تكرار المتغيرات في شروطك؟ عامل Walrus الجديد في بايثون (:=) يحل هذه المشكلة بذكاء!
عامل Walrus (:=) يسمح لك بتعيين قيمة لمتغير داخل تعبير. في هذا المثال، نبحث عن كلمة 'world' في النص. إذا تم العثور عليها، يتم تعيين نتيجة البحث للمتغير 'match' ثم يتم استخدام 'match' مباشرة في جملة if. هذا يجعل الكود أقصر وأكثر قابلية للقراءة.
['#Python', '#Programming', '#CodingTips', '#Developer', '#Python3', '#WalrusOperator']
هل سئمت من تكرار المتغيرات في شروطك؟ عامل Walrus الجديد في بايثون (:=) يحل هذه المشكلة بذكاء!
import re
text = "Hello, world!"
if (match := re.search(r"world", text)):
print(f"Found: {match.group()}")
else:
print("Not found")
عامل Walrus (:=) يسمح لك بتعيين قيمة لمتغير داخل تعبير. في هذا المثال، نبحث عن كلمة 'world' في النص. إذا تم العثور عليها، يتم تعيين نتيجة البحث للمتغير 'match' ثم يتم استخدام 'match' مباشرة في جملة if. هذا يجعل الكود أقصر وأكثر قابلية للقراءة.
['#Python', '#Programming', '#CodingTips', '#Developer', '#Python3', '#WalrusOperator']
وحده من اكثر الاشياء غباء اللي أشوفها بتويتر لما الحوثي يقول بيحرر تعز، بتحررها من من يابن الكلب؟
🤣1
أول ما أطلقت موقع @Ghurarapp , ظهر واحد «معجب» وقرر يعبر عن إعجابه وحاول يغرق الموقع بأكثر من 68 ألف طلب خلال خمس دقائق 😂
كنت عامل حسابي ومضبط الحماية على Cloudflare، وانحظرت الطلبات. لكن بعدها بفترة اكتشفت أن فيه بوتات كانت توصل وتضر الموقع رغم الحماية.
علشان كذا قررت ارجع ابني الموقع من الصفر، واشتغلت على الأداء والحماية والتصميم، مش بس المشكلة اللي ظهرت وقتها.
والآن الموقع صار أسرع بـ13 ضعف مقارنة بالنسخة السابقة، وأخف وأجمل، ومعه تحسينات في الحماية. جربوه وأعطوني رأيكم، يهمني أسمع تجربتكم.
واللي يحاول يخرب، لو هدفك القصائد تعال وبعطيك، ليش تخرب الموقع على الناس على الفاضي.
https://ghurar.app
كنت عامل حسابي ومضبط الحماية على Cloudflare، وانحظرت الطلبات. لكن بعدها بفترة اكتشفت أن فيه بوتات كانت توصل وتضر الموقع رغم الحماية.
علشان كذا قررت ارجع ابني الموقع من الصفر، واشتغلت على الأداء والحماية والتصميم، مش بس المشكلة اللي ظهرت وقتها.
والآن الموقع صار أسرع بـ13 ضعف مقارنة بالنسخة السابقة، وأخف وأجمل، ومعه تحسينات في الحماية. جربوه وأعطوني رأيكم، يهمني أسمع تجربتكم.
واللي يحاول يخرب، لو هدفك القصائد تعال وبعطيك، ليش تخرب الموقع على الناس على الفاضي.
https://ghurar.app
🫡1
🚀 تحسين أداء Python: استخدام `enumerate` بكفاءة!
هل سئمت من كتابة عدادات يدوية في حلقات Python؟ دعنا نكتشف كيف يمكن لدالة `enumerate` أن تجعل كودك أنظف وأكثر كفاءة!
تسمح لك دالة `enumerate` بالحصول على كل من الفهرس (index) والقيمة (value) لكل عنصر أثناء المرور على قائمة أو أي كائن قابل للتكرار. هذا يلغي الحاجة إلى تتبع الفهرس يدويًا، مما يجعل الكود أكثر قابلية للقراءة. يمكنك أيضًا تحديد قيمة بداية للعداد باستخدام المعامل `start`.
['#Python', '#برمجة', '#تعلم_البرمجة', '#PythonTips', '#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', '#برمجة', '#تعلم_البرمجة', '#PythonTips', '#enumerate', '#كود_نظيف']
بيت شعر أعجبني وحبيت أشاركم
أَيا ظالِماً أَمسى يُعاتِبُ مُنصِفاً
أَتُلزِمُني ذَنبَ المُسيءِ تَعَجرُفا
اهنيك حبيبنا على التطبيق الرائع
@altmemy199
أَيا ظالِماً أَمسى يُعاتِبُ مُنصِفاً
أَتُلزِمُني ذَنبَ المُسيءِ تَعَجرُفا
اهنيك حبيبنا على التطبيق الرائع
@altmemy199
🚀 اختصار الوقت باستخدام List Comprehensions في بايثون!
هل سئمت من كتابة حلقات for متكررة لإنشاء قوائم؟ تعلم كيف تجعل الكود الخاص بك أقصر وأكثر أناقة مع List Comprehensions!
List comprehension توفر طريقة موجزة لإنشاء القوائم. الصيغة الأساسية هي `[expression for item in iterable]`. إنها تجعل الكود أسهل للقراءة وأكثر فعالية لبعض العمليات.
['#بايثون', '#برمجة', '#ListComprehensions', '#كود', '#تطوير']
هل سئمت من كتابة حلقات for متكررة لإنشاء قوائم؟ تعلم كيف تجعل الكود الخاص بك أقصر وأكثر أناقة مع List Comprehensions!
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)
# بدون List Comprehension:
squares_long = []
for x in numbers:
squares_long.append(x**2)
print(squares_long)
List comprehension توفر طريقة موجزة لإنشاء القوائم. الصيغة الأساسية هي `[expression for item in iterable]`. إنها تجعل الكود أسهل للقراءة وأكثر فعالية لبعض العمليات.
['#بايثون', '#برمجة', '#ListComprehensions', '#كود', '#تطوير']
✨ تحويل الأرقام إلى نصوص باللغة العربية في بايثون!
هل تحتاج إلى تحويل الأرقام إلى صيغة نصية باللغة العربية في برامجك؟ إليك طريقة سهلة باستخدام مكتبة `num2words`.
مكتبة `num2words` تجعل تحويل الأرقام إلى كلمات أمرًا بسيطًا. فقط قم بتثبيتها (`pip install num2words`) واستخدم `num2words(your_number, lang='ar')` لتحويل أي رقم إلى نص عربي.
['#بايثون', '#برمجة', '#Num2Words', '#تعلم_البرمجة', '#تطوير']
هل تحتاج إلى تحويل الأرقام إلى صيغة نصية باللغة العربية في برامجك؟ إليك طريقة سهلة باستخدام مكتبة `num2words`.
from num2words import num2words
number = 12345
text_arabic = num2words(number, lang='ar')
print(f"الرقم {number} بالنص هو: {text_arabic}")
number_decimal = 123.45
text_decimal_arabic = num2words(number_decimal, lang='ar')
print(f"الرقم {number_decimal} بالنص هو: {text_decimal_arabic}")
مكتبة `num2words` تجعل تحويل الأرقام إلى كلمات أمرًا بسيطًا. فقط قم بتثبيتها (`pip install num2words`) واستخدم `num2words(your_number, lang='ar')` لتحويل أي رقم إلى نص عربي.
['#بايثون', '#برمجة', '#Num2Words', '#تعلم_البرمجة', '#تطوير']