الذكاء الاصطناعي بدل ما يتسبب بفقدان الوظائف، هذه المرة تسبب في توظيف ألف مبرمج دفعة واحدة😂
القصة بدأت مع بنك أوف أمريكا (Bank of America)، اللي أطلق عدة مشاريع تعتمد على الذكاء الاصطناعي بهدف تحسين الكفاءة وتقليل التكاليف.
لكن اللي حصل كان عكس المتوقع، نموذج Mythos اكتشف عدد صخم من الثغرات الأمنية في الأنظمة البرمجية للبنك.
وعلشان يصلحوا هذه الثغرات بأسرع وقت ممكن، اضطر البنك إلى الاستعانة بألف مبرمج فريلانسر، بالإضافة إلى 3000 موظف بالبنك من قبل.
وفي النهاية، وصلت تكاليف معالجة المشكلات البرمجية إلى مئات الملايين من الدولارات خلال ربع سنة واحد.
يعني بدل ما يوفرون الفلوس باستخدام الذكاء الاصطناعي، رجعوا يدفعون مئات الملايين لإصلاح المشكلات اللي اكتشفها 😂
القصة بدأت مع بنك أوف أمريكا (Bank of America)، اللي أطلق عدة مشاريع تعتمد على الذكاء الاصطناعي بهدف تحسين الكفاءة وتقليل التكاليف.
لكن اللي حصل كان عكس المتوقع، نموذج Mythos اكتشف عدد صخم من الثغرات الأمنية في الأنظمة البرمجية للبنك.
وعلشان يصلحوا هذه الثغرات بأسرع وقت ممكن، اضطر البنك إلى الاستعانة بألف مبرمج فريلانسر، بالإضافة إلى 3000 موظف بالبنك من قبل.
وفي النهاية، وصلت تكاليف معالجة المشكلات البرمجية إلى مئات الملايين من الدولارات خلال ربع سنة واحد.
يعني بدل ما يوفرون الفلوس باستخدام الذكاء الاصطناعي، رجعوا يدفعون مئات الملايين لإصلاح المشكلات اللي اكتشفها 😂
🚀 تحسين أداء Python: فهم GIL
هل تساءلت يومًا لماذا قد لا تستفيد برامج Python المتعددة الخيوط (multithreaded) دائمًا من المعالجات متعددة النوى؟ الجواب يكمن في Global Interpreter Lock (GIL). دعنا نتعمق!
في هذا الكود، نقوم بتشغيل مهمتين تستهلكان وحدة المعالجة المركزية (CPU-bound) بالتوازي باستخدام الخيوط. ومع ذلك، بسبب GIL، لن يتمكن سوى خيط واحد من تنفيذ كود Python في أي وقت، مما يحد من الاستفادة الحقيقية من تعدد النوى. للمهام التي تستهلك وحدة المعالجة المركزية، غالبًا ما تكون مكتبات مثل `multiprocessing` أو استخدام لغات أخرى أفضل.
['#Python', '#برمجة', '#GIL', '#تعدد_الخيوط', '#تحسين_الأداء', '#علوم_البيانات']
هل تساءلت يومًا لماذا قد لا تستفيد برامج Python المتعددة الخيوط (multithreaded) دائمًا من المعالجات متعددة النوى؟ الجواب يكمن في Global Interpreter Lock (GIL). دعنا نتعمق!
import threading
import time
def cpu_bound_task():
count = 0
while count < 100000000:
count += 1
start_time = time.time()
thread1 = threading.Thread(target=cpu_bound_task)
thread2 = threading.Thread(target=cpu_bound_task)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
end_time = time.time()
print(f"الوقت المستغرق: {end_time - start_time:.2f} ثانية")
في هذا الكود، نقوم بتشغيل مهمتين تستهلكان وحدة المعالجة المركزية (CPU-bound) بالتوازي باستخدام الخيوط. ومع ذلك، بسبب GIL، لن يتمكن سوى خيط واحد من تنفيذ كود Python في أي وقت، مما يحد من الاستفادة الحقيقية من تعدد النوى. للمهام التي تستهلك وحدة المعالجة المركزية، غالبًا ما تكون مكتبات مثل `multiprocessing` أو استخدام لغات أخرى أفضل.
['#Python', '#برمجة', '#GIL', '#تعدد_الخيوط', '#تحسين_الأداء', '#علوم_البيانات']
اخر تغريدة ترجمتها بال ChatGPT وماراجعت المواقع المذكورة وكان فيها موقع ماله داعي اذكره وماكنت اعرف ايش هو علشان كذا حذفت التغريدة بعد ماتأكدت
💡 تحسين أداء Python باستخدام List Comprehensions!
هل تبحث عن طريقة لكتابة أكواد Python أكثر إيجازًا وكفاءة؟ إليك لمحة سريعة عن List Comprehensions!
List Comprehensions توفر طريقة مختصرة لإنشاء القوائم. بدلًا من كتابة حلقة for تقليدية، يمكنك كتابة نفس المنطق في سطر واحد، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجية']
هل تبحث عن طريقة لكتابة أكواد Python أكثر إيجازًا وكفاءة؟ إليك لمحة سريعة عن List Comprehensions!
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)
List Comprehensions توفر طريقة مختصرة لإنشاء القوائم. بدلًا من كتابة حلقة for تقليدية، يمكنك كتابة نفس المنطق في سطر واحد، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجية']
اول مره كنت بنسرق, للاسف الايميل شكله احترافي ووصلني لبريد @Ghurarapp ودخلت الرابط وانتبهت انه الرابط طويل ورحت اشيك والا كنت بنسرق اليوم. انتبهوا رسائل التصيد كل يوم تتطور
✨ تحسين استخدام الذاكرة في Python: دليل سريع
هل تعاني من استهلاك ذاكرة عالٍ في برامج Python الخاصة بك؟ إليك طريقة بسيطة وفعالة لتحسين ذلك باستخدام المولدات (Generators).
بدلاً من إنشاء قائمة كاملة في الذاكرة (مثل list(range(1, 1000001))), يستخدم المولد `yield` لإرجاع القيم واحدة تلو الأخرى عند الحاجة. هذا يقلل بشكل كبير من استهلاك الذاكرة، خاصة مع مجموعات البيانات الكبيرة.
['#Python', '#برمجة', '#تحسين_الأداء', '#الذاكرة', '#Generators', '#مطور_بايثون']
هل تعاني من استهلاك ذاكرة عالٍ في برامج Python الخاصة بك؟ إليك طريقة بسيطة وفعالة لتحسين ذلك باستخدام المولدات (Generators).
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
# استخدام المولد
counter = count_up_to(1000000)
# يمكنك المرور على القيم دون تحميلها كلها في الذاكرة
# for number in counter:
# print(number)
بدلاً من إنشاء قائمة كاملة في الذاكرة (مثل list(range(1, 1000001))), يستخدم المولد `yield` لإرجاع القيم واحدة تلو الأخرى عند الحاجة. هذا يقلل بشكل كبير من استهلاك الذاكرة، خاصة مع مجموعات البيانات الكبيرة.
['#Python', '#برمجة', '#تحسين_الأداء', '#الذاكرة', '#Generators', '#مطور_بايثون']
💡 تحسين أداء Python باستخدام List Comprehensions!
هل تريد كتابة كود Python أكثر إيجازًا وفعالية؟ دعنا نستكشف قوة List Comprehensions!
List Comprehensions توفر طريقة مختصرة لإنشاء قوائم. بدلًا من كتابة حلقة for تقليدية، يمكنك إنشاء قائمة جديدة في سطر واحد، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجة']
هل تريد كتابة كود Python أكثر إيجازًا وفعالية؟ دعنا نستكشف قوة List Comprehensions!
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)
List Comprehensions توفر طريقة مختصرة لإنشاء قوائم. بدلًا من كتابة حلقة for تقليدية، يمكنك إنشاء قائمة جديدة في سطر واحد، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ.
['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجة']
❤1
تخيلوا انه تقدروا تستخدموا تطبيق @Ghurarapp داخل ChatGPT او Claude او اي نموذج ذكاء اصطناعي 🔥
🚀 تحسين أداء Python مع List Comprehensions!
هل تريد كتابة كود Python أكثر إيجازًا وكفاءة؟ تعرف على قوة List Comprehensions في هذا الدرس السريع!
List comprehensions توفر طريقة مختصرة لإنشاء قوائم. السطر الأول ينشئ قائمة بمربعات الأرقام من 0 إلى 9. السطر الثاني يضيف شرطًا ليتم تضمين المربعات الزوجية فقط.
['#Python', '#برمجة', '#ListComprehensions', '#كود', '#تعلم_البرمجة']
هل تريد كتابة كود Python أكثر إيجازًا وكفاءة؟ تعرف على قوة List Comprehensions في هذا الدرس السريع!
squares = [x**2 for x in range(10)]
print(squares)
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares)
List comprehensions توفر طريقة مختصرة لإنشاء قوائم. السطر الأول ينشئ قائمة بمربعات الأرقام من 0 إلى 9. السطر الثاني يضيف شرطًا ليتم تضمين المربعات الزوجية فقط.
['#Python', '#برمجة', '#ListComprehensions', '#كود', '#تعلم_البرمجة']
نكذب؟ 😂
واحد على Reddit شارك قصة عن مقابلة عمل، واللي حصل معه يثبت أن الذكاء أحيانًا مش في معرفة الإجابة، احيانا يكون معرفة كيف تتصرف 😂
يقول إنه دخل مقابلة عمل وأعطوه مسألة صعبة جدًا، وما كان عنده أي فكرة عن طريقة حلها. فقرر يجرب حركة غريبة، وقال للمقابِلة: «تعرفين، أنا سبق وحليت هذه المسألة».
والمفاجأة أنها صدقته وغيرت له السؤال مباشرة😅
السؤال الجديد طلع أسهل بكثير، وقدر يحله بكل بساطة، وفي النهاية حصل على عرض وظيفي.
القصة ذكّرتني بنقاش قديم بين المتقدمين لشركات الاستشارات الكبرى مثل McKinsey وBCG، عن سؤال يتكرر كثيرًا: لو أعطوك في المقابلة دراسة حالة (Case Study) سبق لك التدرب عليها، هل الأفضل تعترف بهذا الشيء أو تتصرف وكأنك تشوفها لأول مرة؟
الرأي السائد كان أن الأفضل تعترف، لأن دراسات الحالة في هذه المقابلات معقدة، ومن الصعب تتظاهر أنك وصلت للحل بنفسك بدون ما يلاحظ المقابِل أنك تعرف الإجابة مسبقًا.
وإذا اكتشف أنك كنت تعرف الحل وأخفيت عنه هذا الشيء، فقد يعتبرونه غشًا، وتخسر فرصتك في الوظيفة، وربما حتى تُمنع من التقديم للشركة مستقبلًا.
لكن واحد من اللي شاركوا في النقاش قرر يخالف هذا الرأي، وحكى تجربت
واحد على Reddit شارك قصة عن مقابلة عمل، واللي حصل معه يثبت أن الذكاء أحيانًا مش في معرفة الإجابة، احيانا يكون معرفة كيف تتصرف 😂
يقول إنه دخل مقابلة عمل وأعطوه مسألة صعبة جدًا، وما كان عنده أي فكرة عن طريقة حلها. فقرر يجرب حركة غريبة، وقال للمقابِلة: «تعرفين، أنا سبق وحليت هذه المسألة».
والمفاجأة أنها صدقته وغيرت له السؤال مباشرة😅
السؤال الجديد طلع أسهل بكثير، وقدر يحله بكل بساطة، وفي النهاية حصل على عرض وظيفي.
القصة ذكّرتني بنقاش قديم بين المتقدمين لشركات الاستشارات الكبرى مثل McKinsey وBCG، عن سؤال يتكرر كثيرًا: لو أعطوك في المقابلة دراسة حالة (Case Study) سبق لك التدرب عليها، هل الأفضل تعترف بهذا الشيء أو تتصرف وكأنك تشوفها لأول مرة؟
الرأي السائد كان أن الأفضل تعترف، لأن دراسات الحالة في هذه المقابلات معقدة، ومن الصعب تتظاهر أنك وصلت للحل بنفسك بدون ما يلاحظ المقابِل أنك تعرف الإجابة مسبقًا.
وإذا اكتشف أنك كنت تعرف الحل وأخفيت عنه هذا الشيء، فقد يعتبرونه غشًا، وتخسر فرصتك في الوظيفة، وربما حتى تُمنع من التقديم للشركة مستقبلًا.
لكن واحد من اللي شاركوا في النقاش قرر يخالف هذا الرأي، وحكى تجربت
ه الشخصية.
يقول إنه في عام 2017، لما كان يتقدم للعمل في مجال الاستشارات، أعطوه في أول مقابلة دراسة حالة كان قد تدرب عليها قبل يوم واحد فقط!
وبدل ما يعترف، قرر يكمل المقابلة وكأنه يشوف المسألة لأول مرة.
وفعلًا، حلها بشكل ممتاز واجتاز المرحلة الأولى. والمشكلة أن المقابِل قال له بعدين إن الشيء الوحيد اللي أثار شكه هو أن أداءه كان مثاليًا أكثر من اللازم 😂
بعدها اجتاز المقابلتين المتبقيتين وحصل على الوظيفة.
والأغرب أنه استمر في مجال الاستشارات قرابة خمس سنوات، وبنى خبرته المهنية هناك، وبعدها نشر مقالات ومقاطع انتشرت بشكل واسع عن هذا المجال.
يعني لو كان التزم بالنصيحة السائدة واعترف بأنه يعرف المسألة مسبقًا، ربما كانت تجربته مختلفة تمامًا.
والخلاصة من القصة: مش كل نصيحة يتفق عليها الناس بالضرورة تكون أفضل خيار لك، وأحيانًا التفكير بعقلك واتخاذ قرارك بنفسك يحقق لك نتيجة أفضل.
يقول إنه في عام 2017، لما كان يتقدم للعمل في مجال الاستشارات، أعطوه في أول مقابلة دراسة حالة كان قد تدرب عليها قبل يوم واحد فقط!
وبدل ما يعترف، قرر يكمل المقابلة وكأنه يشوف المسألة لأول مرة.
وفعلًا، حلها بشكل ممتاز واجتاز المرحلة الأولى. والمشكلة أن المقابِل قال له بعدين إن الشيء الوحيد اللي أثار شكه هو أن أداءه كان مثاليًا أكثر من اللازم 😂
بعدها اجتاز المقابلتين المتبقيتين وحصل على الوظيفة.
والأغرب أنه استمر في مجال الاستشارات قرابة خمس سنوات، وبنى خبرته المهنية هناك، وبعدها نشر مقالات ومقاطع انتشرت بشكل واسع عن هذا المجال.
يعني لو كان التزم بالنصيحة السائدة واعترف بأنه يعرف المسألة مسبقًا، ربما كانت تجربته مختلفة تمامًا.
والخلاصة من القصة: مش كل نصيحة يتفق عليها الناس بالضرورة تكون أفضل خيار لك، وأحيانًا التفكير بعقلك واتخاذ قرارك بنفسك يحقق لك نتيجة أفضل.