بايثون العرب
10.4K subscribers
871 photos
183 videos
770 links
Download Telegram
هذي المرة كأس العالم 😂
🫠 هاكر حصل على وصول للبثوث المباشرة في كأس العالم 2026 وكان يقدر يتحكم بالكاميرات اللي تنقل كل مباريات كرة قدم.

في مدونة bobdahacker اللي سبق وقدر يخترق Petlibro و McDonald's و Burger King نزلت مقالة جديدة مثيرة. هذي المرة قدر يحصل على وصول للوحة تحكم FIFA الإدارية اللي عن طريقها كان يقدر يتحكم بالبث المباشر. كان يقدر يتحكم بأي كاميرا وأي بث في أي مباراة في كأس العالم لكرة القدم 2026! وعشان يبلّغ عن المشكلة بسرعة اضطر الساعة 3 الفجر يتصل على FIFA و MediaKind و HBS و CISA وحتى يكتب للـ FBI بس خلونا نمشي بالترتيب.

كل شي بدأ لما bobdahacker حاول يسجّل في منصة الوكلاء التابعة لـ FIFA. هذي بوابة متاحة للعامة يقدر أي شخص يسجّل فيها. تحط بياناتك وإيميلك وبعد التحقق من صورة السيلفي حقك يكتمل التسجيل. والشي الخطير صار بعد التسجيل لما حساب bobdahacker انضاف لـ Microsoft Entra (سابقاً Azure AD) اللي بفضله صار يقدر يدخل على موارد FIFA الثانية وهذا اللي صار.

طبعا bobdahacker حاول يدخل على موقعfdp.fifa.orgالمنصة اللي مجمّعة فيها كل بيانات كرة القدم: المباريات، التشكيلات، البطولات، الموظفين،
إلخ لكن واجه خطأ في الوصول. النظام كان يعرض إنه ما عنده صلاحيات كافية لدخول النظام. كل شي تمام إلا إن التحقق كان يتم من جهة العميل (client-side) مو من جهة السيرفر. الـ Angular كان يفحص الـ JWT (JSON Web Token) للتأكد من وجود علامة NO_ROLES ويعرض صفحة فيها رسالة رفض الوصول. وش الوضع مع الـ backend API؟ هم ما كانوا يفحصون ولا شي. ببساطة كانوا يعطونك كل اللي تطلبه. وباستغلال الثغرة هذي كان ممكن تتوثّق في النظام. وكذا bobdahacker دخل لوحة تحكم الأدمن اللي كانت عندها إمكانيات بلا حدود.

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

وتخيلوا إن FIFA ما عندها ملف security.txt ولا بيانات تواصل للأمور الأمنية ولا منصة Bug Bounty. فعشان كذا اتخذ قرار إنه يرسل إيميلات على كل العناوين اللي يقدر يلقاها في الإنترنت. ما صار ولا أي رد فعل. وبعدها حاول يتواصل مع مقر FIFA الرئيسي في زيورخ ويتصل على رقم هاتف المؤتمرات الصحفية حق FIFA ما حد كان يرد على المكالمات.

وبعدها اكتشف إن CISA (وكالة الأمن السيبراني وحماية البنية التحتية الأمريكية) تقدّم دعم في مجال الأمن السيبراني لكأس العالم FIFA 2026 بما في ذلك أنظمة البث. فاتصل على مركز عملياتهم اللي يشتغل 24 ساعة وهناك ردوا على مكالمته وطلبوا منه يرسل كل المعلومات اللازمة على الإيميل. بالإضافة الهاكر كان لسه عنده جهة اتصال لموظف FBI على Signal سبق وتعاون معه قبل كذا وارسل له المعلومات كمان.

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

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

print('Hello, World!')
# للتنقل السريع بين الأسطر
# Ctrl + Up/Down (في بعض المحررات)

# لتحديد كتلة من الكود
# Shift + Up/Down

# لنسخ سطر
# Ctrl + C (مع تحديد السطر)

# للصق سطر
# Ctrl + V

# للتراجع
# Ctrl + Z

# لإعادة الإجراء
# Ctrl + Y


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

['#بايثون', '#برمجة', '#تطوير', '#اختصارات', '#تعلم_بايثون', '#Python', '#Programming', '#Developer']
انتبهوا النصاب بيسرقكم بإسمي
This media is not supported in your browser
VIEW IN TELEGRAM
مطورين الألعاب حدثوا Epic Games أطلقت Unreal Engine 5.8

أهم شي المحرك انضاف له دعم MCP. الحين Claude و Gemini وغيرهم من الـ AI agents يقدرون يشتغلون مباشرة مع Unreal ويحصلون على وصول للمشروع وينفّذون مهام. وعشان تتضح الصورة في الفيديو الـ agent ببساطة ينشئ حي مدينة كامل مباشرة داخل المحرر.

ننتظر الذكاء الاصطناعي في الألعاب 🔥unrealengine.com/news/unreal…
واحد من أقوى وأشهر علماء Google DeepMind نعوم شازير انتقل إلى OpenAI.

نعوم خبير حقيقي في Google انضم للشركة سنة 2000 واشتغل على محركات البحث الأولى بما فيها AdSense. في 2017 صار واحد من المؤلفين المشاركين للورقة البحثية الأسطورية Attention Is All You Need اللي تم فيها اكتشاف الـ transformers.

كمان يُنسب له أفكار multi-head attention، و MoE، و T5. باختصار، بدون الشخص هذا الصناعة الحين كانت بتكون متأخرة خطوتين.

في 2021 ترك Google وأسس CharacterAI اللي صار له هايب كبير. لكن بعدها، في 2024 Google اشترته مرة ثانية مع الستارت أب حقه ودفعت 2.7 مليار دولار. الهدف الأساسي من الصفقة كان بالذات إرجاع شازير للشركة ووقتها على طول خلوه يقود Gemini.

وبعد كذا بدأ العصر الذهبي لنماذج Google. لكن ما عدّت سنتين، والمهندس فجأة يترك Google ويروح لـ OpenAI. هذا انتقال تاريخي وبدون مبالغة ضربة ضخمة لـ Google سواء على مستوى السمعة أو الاستراتيجية.

في OpenAI نعوم بيشغل منصب قائد أبحاث الـ AI architecture يعني راح يشتغل في اللي يتقنه أكثر من أي شي البحث عن architectures جديدة للنماذج.

ألتمان نقدر نهنيه والباقي نعزّيهم.
⚡️ إدارة الملفات بكفاءة في بايثون! ⚡️

هل تحتاج إلى التعامل مع الملفات والمجلدات في بايثون؟ إليك طريقة سهلة وفعالة باستخدام وحدة `os`.

import os

# الحصول على المسار الحالي
current_directory = os.getcwd()
print(f"المسار الحالي: {current_directory}")

# إنشاء مجلد جديد
new_folder_name = "my_new_folder"
os.makedirs(new_folder_name, exist_ok=True)
print(f"تم إنشاء المجلد: {new_folder_name}")

# قائمة بجميع الملفات والمجلدات في المسار الحالي
all_items = os.listdir(current_directory)
print(f"محتويات المسار الحالي: {all_items}")

# التحقق مما إذا كان المسار ملفاً أو مجلداً
if os.path.isdir(new_folder_name):
print(f"'{new_folder_name}' هو مجلد.")
elif os.path.isfile(new_folder_name):
print(f"'{new_folder_name}' هو ملف.")

# حذف مجلد (يجب أن يكون فارغاً)
# os.rmdir(new_folder_name)
# print(f"تم حذف المجلد: {new_folder_name}")

# حذف ملف (مثال)
# file_to_delete = "my_file.txt"
# if os.path.exists(file_to_delete):
# os.remove(file_to_delete)
# print(f"تم حذف الملف: {file_to_delete}")


تسمح لك وحدة `os` في بايثون بالتفاعل مع نظام التشغيل، بما في ذلك إدارة الملفات والمجلدات. يمكنك الحصول على المسار الحالي، إنشاء مجلدات جديدة، سرد محتويات المجلدات، والتحقق من أنواع المسارات. استخدم `os.makedirs` لإنشاء مجلدات (بما في ذلك المجلدات الأصلية إذا لزم الأمر) مع `exist_ok=True` لتجنب الأخطاء إذا كان المجلد موجوداً بالفعل. `os.listdir` يعطيك قائمة بجميع العناصر داخل المسار المحدد. `os.path.isdir` و `os.path.isfile` للتحقق من نوع المسار. تذكر أن `os.rmdir` يحذف المجلدات الفارغة فقط، بينما `os.remove` يحذف الملفات.

['#بايثون', '#برمجة', '#تطوير', '#ملفات', '#نصائح_برمجية', '#Python', '#Programming', '#FileManagement']
قوقل تختبر reCAPTCHA مع تحقق عبر الكاميرا 😱

الذكاء الاصطناعي صار يتجاوز الاختبارات الكلاسيكية بمهارة عالية جداً فعشان كذا Google تختبر طريقة جديدة تفرّق فيها بين البشر والبوتات. بدل ما تدوّر على إشارات المرور بعض المستخدمين الحين يُطلب منهم يطلّعون بإيدهم إشارة بسيطة مباشرة قدام الكاميرا.

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

قريب بنكون كلنا قدام الكمبيوتر كذا🫡
ليش يحسسوك انهم يتفضلوا عليك لو بيدي اي لعبه او تطبيق مايدعم العربي بحظرها مش فضل من المطورين
تابعوا حسابي هذا بنزل لكم شيء يعجبكم 🔥nitter.net/Ghurarapp
أتراجع عن كلامي متى يجي الشتاء 💔
🚀 تحسين أداء Python: فهم GIL

هل تساءلت يومًا لماذا قد لا تستفيد برامج Python المتعددة الخيوط (multithreaded) بشكل كامل من المعالجات متعددة النوى؟ 🤔 دعنا نتعمق في Global Interpreter Lock (GIL) وكيف يؤثر على أداء Python.

import threading
import time

def count_down(n):
while n > 0:
n -= 1

start_time = time.time()

# بدون GIL (نظريًا، في CPython هو موجود)
# يمكن تشغيل هذه المهام بالتوازي الحقيقي على نوى مختلفة

thread1 = threading.Thread(target=count_down, args=(10000000,))
thread2 = threading.Thread(target=count_down, args=(10000000,))

thread1.start()
thread2.start()

thread1.join()
thread2.join()

end_time = time.time()
print(f"الوقت المستغرق: {end_time - start_time:.4f} ثانية")

# ملاحظة: في CPython، بسبب GIL، ستعمل هذه الخيوط بشكل تسلسلي غالبًا،
# مما يحد من الاستفادة من المعالجات متعددة النوى للمهام التي تستهلك وحدة المعالجة المركزية.


Global Interpreter Lock (GIL) هو آلية في CPython (التنفيذ الأكثر شيوعًا لبايثون) تمنع أكثر من خيط واحد (thread) من تنفيذ بايت كود Python في نفس الوقت داخل عملية واحدة. هذا يعني أنه حتى لو كان لديك معالج متعدد النوى، فإن خيوط Python التي تستهلك وحدة المعالجة المركزية (CPU-bound) لن تعمل بالتوازي الحقيقي. بالنسبة للمهام التي تعتمد على الإدخال/الإخراج (I/O-bound)، مثل قراءة الملفات أو طلبات الشبكة، يكون GIL أقل تأثيرًا لأنه يحرر القفل أثناء انتظار عمليات الإدخال/الإخراج.

['#Python', '#GIL', '#Programming', '#Performance', '#Multithreading', '#CPython', '#Tips', '#Tutorial']
فترة انتقالات

مدير DeepMind Technologies انتقل للعمل في Anthropic.

من Google رحل ثاني أسطورة خلال يومين جون جامبر.

هذا الشخص اللي ابتكر AlphaFold وفي 2024 حصل عليه على جائزة نوبل مع ديميس هاسابيس وديفيد بيكر. وعلى فكرة عمره 39 سنة بس يعني واحد من أصغر الحاصلين على جائزة نوبل.

وش بالضبط راح يشتغل عليه في Anthropic ومين راح ياخذ مكانه في DeepMind لين الحين مو واضح لكن هذي بدون شك أكبر خسارة لـ Google.
❤1
✨ تلميح بايثون: استخدام `enumerate` للحصول على الفهرس والقيمة معًا! 🚀

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

my_list = ['apple', 'banana', 'cherry']

for index, value in enumerate(my_list):
print(f"Index: {index}, Value: {value}")


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

['#Python', '#Programming', '#CodingTips', '#LearnToCode', '#PythonTips', '#enumerate']
تخيلوا الهاكرز الحين حتى ما يعرفون يبرمجون باحثين كشفوا مهاجم اخترق على الأقل 14 شركة باستخدام الذكاء الاصطناعي.

حسب بيانات Open Analysis المهاجم استخدم Claude Code (opus-4.5) و Codex (gpt-5.2-codex) للاستطلاع، والبحث عن الثغرات وكتابة الـ exploits وسرقة البيانات. وتخيلوا إن البرومبتات كانت عادية. الولد بكل بساطة يكتب أنت سينيور pentester عندك 15 سنة خبرة وكان يشغل Claude يهاجم ويجمّع البيانات عن الثغرات بدقة في تقرير.

وكشفوا اسم المهاجم بأتفه طريقة ممكنة الباحثين لقوا الـ logs حقه على سيرفر مخترق. في وحدة من الجلسات الولد طلب من Claude يساعده يعدّل سيرته الذاتية اللي كان فيها اسمه الكامل وموقعه وتاريخه التعليمي وبروفايله في LinkedIn + سرّب كمان عنوان الـ IP حقّه.
لقيت بديل مجاني لـ Crunchbase فيه كل المعلومات عن المشاريع الناشئة StartupWiki

داخل الموقع تقدر تشوف المشروع ايش يسوي وكم جمع تمويل وايش آخر جولة تمويلية والفريق والمستثمرين وكمان الأخبار والمصادر والمخاطر المحتملة.
مفيد، لو تحب تعمل بحث للسوق أو للمنافسين أو بس تلقى أفكار لمشروعك.startupwiki.tech/
🚀 تحسين سرعة قراءة الملفات الكبيرة في بايثون

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

def read_large_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
# قم بمعالجة كل سطر هنا
# مثال: طباعة السطر
print(line.strip())

# استدعاء الدالة
# read_large_file('your_large_file.txt')


بدلاً من استخدام `file.read()` الذي يقرأ الملف بأكمله، نستخدم حلقة `for line in file:`. هذا يسمح لبايثون بقراءة الملف سطرًا بسطر، مما يقلل بشكل كبير من استهلاك الذاكرة ويحسن الأداء للملفات الكبيرة.

['#بايثون', '#برمجة', '#ملفات', '#تحسين_الأداء', '#PythonTips', '#LargeFiles']