Category: التطوير

من زنزانة السجن إلى مهندس برمجيات في تورسو: قصة ملهمة

2025-06-16
من زنزانة السجن إلى مهندس برمجيات في تورسو: قصة ملهمة

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

التطوير الإلهام

الدردشة مع الذكاء الاصطناعي عبر SSH: خادم دردشة ذكاء اصطناعي يعمل بتقنية Docker

2025-06-16
الدردشة مع الذكاء الاصطناعي عبر SSH: خادم دردشة ذكاء اصطناعي يعمل بتقنية Docker

يوفر هذا المشروع خادم دردشة ذكاء اصطناعي يعمل بتقنية Docker يمكن الوصول إليه عبر SSH. وهو يدعم نماذج متعددة للذكاء الاصطناعي ويوفر إرشادات نشر مفصلة، بما في ذلك تهيئة البيئة، وملف Docker Compose، وتثبيت التبعيات. يمكن للمستخدمين تخصيص المعلمات مثل النماذج، وتحديد معدل، والقائمة السوداء، والقائمة البيضاء. يتضمن المشروع أيضًا اقتراحات للنشر لأنظمة التشغيل المختلفة (macOS وLinux وWindows) ويشكر V.PS على رعاية الخوادم.

التطوير

دعوات الدوال غير المتزامنة على Socket.io: مقدمة إلى socket-call

2025-06-16
دعوات الدوال غير المتزامنة على Socket.io: مقدمة إلى socket-call

socket-call هي مكتبة صغيرة مبنية على Socket.io تسمح لك باستدعاء الأحداث مثل أي دالة TypeScript غير متزامنة عادية. تعمل على تبسيط استخدام Socket.io، مما يوفر تجربة برمجة أنظف وأكثر سهولة. تُظهر أمثلة التعليمات البرمجية التنفيذ على جانب الخادم وجانب العميل، مع عرض وظيفة تسجيل الدخول وإرسال الرسائل من الخادم إلى العميل.

التطوير

هجرة سلاك Kubernetes إلى منصة جديدة وشيكة

2025-06-16

سيتم ترقية مساحة عمل سلاك Kubernetes إلى خطة مجانية في 20 يونيو، مما سيؤدي إلى الحد من محفوظات الرسائل إلى 90 يومًا، وإيقاف تشغيل العديد من التطبيقات وسير العمل. هذا يرجع إلى حجم مساحة العمل الذي تجاوز قدرات الخطة المجانية لسلاك. يستكشف مجتمع Kubernetes عملية انتقال إلى Discord، والذي يوفر ميزات وتكاملات محسّنة، مثل مزامنة عضوية مجموعات GitHub. سيقرر المجلس الإداري في نهاية المطاف المنصة المستقبلية.

التطوير

Zeekstd: تنفيذ Zstandard قابل للبحث في Rust

2025-06-16
Zeekstd: تنفيذ Zstandard قابل للبحث في Rust

Zeekstd هي مكتبة Rust تُنفذ تنسيق Zstandard قابل للبحث. تقوم بتقسيم البيانات المضغوطة إلى إطارات مستقلة من أجل الوصول العشوائي بكفاءة. وهي متوافقة تمامًا مع المواصفات الأصلية، وتوفر Zeekstd تحسينات وتتضمن وظائف المُشفّر والمشفّر، مما يسمح بفك ضغط الملفات بأكملها أو إطارات محددة. كما يتم توفير أداة سطر الأوامر.

محلل تردد الكلمات لنواة لينكس

2025-06-16

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

حل لعبة ملكات LinkedIn باستخدام APL: 11 سطرًا من التعليمات البرمجية

2025-06-16

يتناول بيتر فيرنغوروف لعبة "الملكة" البسيطة على LinkedIn باستخدام APL، وهي لغة برمجة قوية وموجزة. تُفصّل هذه المشاركة حلًا للبحث بالأولوية العرضية، مع شرح بنية البيانات، والخوارزمية، وتنفيذ الوظائف الأساسية مثل `solve`, `place`, `avl`, `fill`, و `fills`. يُناسب الحل الكامل بشكل أنيق في 11 سطرًا من التعليمات البرمجية، مما يُظهر قوة التعبير والكفاءة في APL. يشجع الكاتب القراء على استكشاف إمكانات APL.

التطوير

arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

2025-06-16
arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

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

التطوير

كنوز خفية والفكاهة في واجهة برمجة تطبيقات Android

2025-06-16
كنوز خفية والفكاهة في واجهة برمجة تطبيقات Android

تكشف هذه المقالة عن بيضات عيد الفصح والعناصر الفكاهية المخفية في واجهة برمجة تطبيقات Android العامة. تتضمن الأمثلة `isUserAMonkey()`، والتي تكتشف ما إذا كانت واجهة المستخدم قيد الاختبار بواسطة أداة؛ و`isUserAGoat()`، التي استخدمت في السابق لاكتشاف لعبة Goat Simulator؛ و`DISALLOW_FUN`، وهي سياسة جهاز لتقييد متعة المستخدم. تتضمن الإضافات الغريبة الأخرى `Chronometer.isTheFinalCountdown()`، والتي تُشغّل مقطع فيديو 'The Final Countdown' لفرقة Europe على YouTube؛ وثوابت مثل `SENSOR_TRICORDER` و`GRAVITY_DEATH_STAR_I`. يوجد حتى علامة `` غير موثقة لجعل العروض تُضيء. تُسهّل هذه الإضافات المرحة تجربة المطور وتُظهر روح الدعابة لفريق Android.

Lisp-Stat: نظام حوسبة إحصائية قائم على Common Lisp

2025-06-16
Lisp-Stat: نظام حوسبة إحصائية قائم على Common Lisp

يشبه Lisp-Stat من الناحية المفاهيمية R، وسيكون مألوفًا لمعظم الأشخاص من تلك المنظومة. وهو مناسب لكل من تحليل البيانات الاستكشافية والعمليات الإنتاجية في الخطوط الأمامية. يستخدم Common Lisp حاليًا في Google في العديد من الأنظمة المعاملاتية عالية التوفر، وعالية الحجم. تم اختيار Common Lisp لأنه استوفى المتطلبات في بيئة استكشافية مواتية للتحليلات والذكاء الاصطناعي، ومتانة كافية للعمل في بيئة إنتاجية للشركات، وتوافر تحت ترخيص بدون قيود على رمز المصدر. يقتبس المقال ورقة بحثية من روس إيهاكا، أحد مبتكري لغة R، حول أوجه القصور في R وعدم القدرة على تجميعها إلى رمز آلة (من بين مسائل أخرى). وينطبق الشيء نفسه على Python. في تلك الورقة، يدافع عن Lisp كبديل لـ R.

وكلاء ترميز الذكاء الاصطناعي: من المساعدين المفيدين إلى الشركاء الأساسيين

2025-06-16

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

التطوير

Twin: بيئة نوافذ في وضع النص

2025-06-15
Twin: بيئة نوافذ في وضع النص

Twin هي بيئة نوافذ نصية تدعم الماوس، ومدير النوافذ، ومحاكي المحطة الطرفية، والعملاء المتصلين بالشبكة، وقدرة ربط/فصل شاشات الوضع الديناميكي. وهي تدعم أنواعًا مختلفة من العرض، بما في ذلك محطات النصوص العادية، وX11، ونفسها. تم اختبارها حاليًا على أنظمة Linux وmacOS وFreeBSD عبر العديد من الهياكل. هذا المشروع مفتوح المصدر، مرخص بموجب تراخيص GPL وLGPL، ويقدم دروسًا تعليمية شاملة ووثائق للمطورين، وهو متوفر على GitHub.

ما سرعة تخصيص ذاكرة القمامة في RPython؟

2025-06-15

تقيّم هذه المقالة سرعة تخصيص ذاكرة القمامة (GC) في RPython باستخدام برنامج اختبار صغير من RPython. تُظهر النتائج سرعات تخصيص سريعة بشكل مدهش تتجاوز 34 جيجابايت/ثانية، متفوقة بكثير على Boehm GC. يكشف تحليل التعليمات البرمجية للآلة المُولّدة وعدادات الأداء أن سرعة GC في RPython نابعة من آلية مؤشر الارتطام الفعّالة والحد الأدنى من تكاليف GC. حتى في التعليمات البرمجية العادية لـ Python مع PyPy JIT، تصل سرعات التخصيص إلى 17 جيجابايت/ثانية.

التطوير

Seastar: نظام بناء سريع وقابل للتوسيع للغات متعددة

2025-06-15
Seastar: نظام بناء سريع وقابل للتوسيع للغات متعددة

Seastar هو نظام بناء سريع وقابل للتوسيع يدعم حاليًا C و C++، مع خطط لإضافة Rust و Zig. تم تصميمه لتسهيل إنشاء البرامج وإنشاء النماذج الأولية والتكرار، ويهدف إلى محاكاة سهولة استخدام Cargo في Rust مع توفير تجميع سلس عبر لغات متعددة. Seastar سهل البناء والتشغيل؛ ما عليك سوى تثبيت Cargo و Rust، واستنساخ المستودع، وتشغيل الأوامر المقدمة. نظرًا لأنه لا يزال في مراحله المبكرة، فلا يُنصح باستخدامه في الإنتاج.

التطوير

18 مشروعًا صغيرًا لإعادة إشعال شغفك بالبرمجة

2025-06-15

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

التطوير مشاريع صغيرة

مطوّر SumatraPDF يتخلّى عن std::function بعد 16 عامًا، ويُنشئ حلاً خاصًا به

2025-06-15
مطوّر SumatraPDF يتخلّى عن std::function بعد 16 عامًا، ويُنشئ حلاً خاصًا به

بعد 16 عامًا من تطوير SumatraPDF بلغة C++، تخلى المؤلف عن `std::function` ووظائف lambda نظرًا لصعوبة تصحيح الأخطاء. كانت تقارير الأعطال صعبة الفهم بسبب الأسماء المُولّدة تلقائيًا لوظائف lambda التي يُنشئها المُجمّع. أنشأ وظائف مُخصّصة أبسط لاستدعاء الوظائف، وهي `Func0` و `Func1`. على الرغم من أنها أقل ثراءً من حيث الميزات من `std::function`، إلا أنها توفر مزايا كبيرة في مساحة الذاكرة وسرعة التجميع، كما أنها أسهل في التصحيح. تُفصّل هذه المقالة تصميم وطريقة تنفيذ `Func0` و `Func1`، وتُشرح سبب ملاءمة هذا النهج لاحتياجات SumatraPDF.

تحسينات في دوال التاريخ والوقت في SQLite: معالجة أكثر قوة لتاريخ/وقت

2025-06-15

تم تحسين دوال التاريخ والوقت في SQLite لتوفير وظائف أكثر ثراءً. توضح هذه الوثيقة الدوال الخمس الأساسية: `date`, `time`, `datetime`, `julianday`, و `strftime`، بالإضافة إلى تنسيقات سلاسل التاريخ والوقت المختلفة والمتغيرات مثل `unixepoch` و `localtime`، مما يسمح بحسابات وتنسيقات أكثر مرونة للتاريخ/الوقت. كما يتم تسليط الضوء على تصحيح تم إضافته من قبل مستخدم، والذي يضيف العديد من الميزات مثل مُعدِّلات `start of week`، `end of day`، ووظيفة `group * by` لجمع البيانات بشكل ملائم.

نماذج اللغات الكبيرة سرقت متعتي في البرمجة: اعتراف مبرمج

2025-06-15

يعكس الكاتب تحولًا في عاداته البرمجية. كان في السابق مبرمجًا من نوع "رحلة"، شغوفًا بالتعلم وحل المشكلات، ولكنه أصبح يعتمد بشكل متزايد على نماذج اللغات الكبيرة (LLMs) لإنشاء الرموز، متحولًا إلى مبرمج أكثر توجّهًا نحو "الهدف". وبينما تعمل نماذج اللغات الكبيرة على زيادة الكفاءة، إلا أنها قلّلت من الوقت الذي يقضيه في التعلم والتفكير، مما قلّل من متعة الكاتب في البرمجة. يعزى هذا التحول إلى عدة عوامل، بما في ذلك تفضيل بناء مشاريع مفيدة والاعتماد المفرط على نماذج اللغات الكبيرة. يأمل الكاتب في تقليل اعتماده على نماذج اللغات الكبيرة وإعادة اكتشاف متعة عملية البرمجة.

التطوير

إدارة حاويات Apple مثل docker-compose

2025-06-15
إدارة حاويات Apple مثل docker-compose

أداة سطر أوامر، `container-compose`، تتيح لك استخدام حاويات Apple مع ملف تكوين يشبه docker-compose. وهي حاليًا في مرحلة ألفا، وقد تحتوي على أخطاء أو ميزات مفقودة. قم بالتركيب عبر Homebrew (`brew tap noghartt/container-compose https://github.com/noghartt/container-compose.git; brew install noghartt/container-compose/container-compose`) أو قم بتنزيل ملف ثنائي مُجمَّع مسبقًا من صفحة الإصدارات.

التطوير حاوية Apple

محرك داتالوج في ميني كانرين وويب أسمبلي

2025-06-15

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

التطوير ميني كانرين

صناديق الرمل في عام 2025: دليل أمان سهل للمطورين

2025-06-15

تبحث هذه المقالة في سهولة إنشاء بيئات رملية للبرامج في عام 2025 على أنظمة تشغيل مثل Linux و OpenBSD و FreeBSD. من خلال تحليل طول الوثائق وطول رمز المثال لأدوات صناديق الرمل المختلفة، يقيم الكاتب سهولة الاستخدام وعلو تكاليف الصيانة. برزت أداة pledge من OpenBSD كمفضلة نظرًا لوثائقها المختصرة وسهولة استخدامها، بينما تبين أن seccomp من Linux أكثر تعقيدًا بكثير. تستخدم المقالة OpenSSH كدراسة حالة، لتحليل التطبيق العملي وصعوبة صيانة تقنية صناديق الرمل. وتختتم بدعوة للمطورين للمساهمة بالبيانات لفهم أكثر شمولاً لاعتماد تقنية صناديق الرمل.

GNOME في عام 1998: نظرة إلى الماضي

2025-06-15

تروي هذه المقالة تجربة الكاتب مع بيئة سطح مكتب GNOME المبكرة التي تم تضمينها في Red Hat Linux 5.1 لعام 1998. كانت نسخة تجريبية، أبسط بكثير من GNOME الحالي، ولكنها تتميز بسرعات تشغيل سريعة بشكل ملحوظ. يفصل الكاتب التطبيقات المتوفرة، مثل مدير ملفات أساسي، وعارض الصور Electric Eyes، و gEdit 0.4.0، وألعاب بسيطة، مع إجراء مقارنات مع الإصدارات الحديثة. هذه النظرة الحنينية تُظهر جهود وإبداع مجتمع المصدر المفتوح في بداياته.

أساسيات رؤية الكمبيوتر: عقد من الزمن في الإعداد

2025-06-15

بعد عقد من الزمن من العمل، نشر Torralba و Isola و Freeman كتاب "أساسيات رؤية الكمبيوتر". بدلاً من السعي لتغطية شاملة، يركز الكتاب على المفاهيم الأساسية، مع معالجة الموضوع من منظور معالجة الصور والتعلم الآلي. وهو يتضمن العديد من التصوريات ويتقدم من خلال تكوين الصور، وأساسيات التعلم، ومعالجة الإشارات، والشبكات العصبية، ويستكشف مواضيع متقدمة مثل النماذج التوليدية وتعلم التمثيل. إن الهيكل الدقيق والتفسيرات الواضحة للكتاب تجعله مناسبًا لطلاب البكالوريوس وطلاب الدراسات العليا والمحترفين على حد سواء.

التطوير

عنصر `<permission>` الجديد من كروم: نهج إعلاني لإذن الوصول للويب

2025-06-15
عنصر `<permission>` الجديد من كروم: نهج إعلاني لإذن الوصول للويب

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

التطوير

نموذج انتشار احتمالي بسيط في بايثورش: تجارب على مجموعات بيانات ثنائية الأبعاد

2025-06-15
نموذج انتشار احتمالي بسيط في بايثورش: تجارب على مجموعات بيانات ثنائية الأبعاد

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

فحص أمني لـ Rails يكشف عن تحسينات ويثير تساؤلات حول العمل في المستقبل

2025-06-15

أصدر صندوق تحسين تقنية المصدر المفتوح (OSTIF) تقريراً عن الفحص الأمني لـ Ruby on Rails، والذي أجرته X41 D-Sec بدعم من GitLab ووكالة Sovereign Tech. كشف الفحص الذي استمر أربعة أشهر عن 7 ثغرات أمنية، وقدم 6 توصيات للتحسين. يُبرز التقرير نضج أمن Rails في السنوات الأخيرة، مع الإشارة إلى مجالات للتحسين في المستقبل. كما احتفل OSTIF بذكرى تأسيسه العاشرة، ودعا للمشاركة في اجتماعات قادمة.

التطوير فحص أمني

مقارنة ثلاثة مفاهيم لتعقيد البرمجيات

2025-06-15

تقارن هذه المقالة ثلاثة تعريفات مختلفة لتعقيد البرمجيات من Rich Hickey و John Ousterhout و Zach Tellman. يعرّف Hickey البساطة بأنها الوحدة، مع التركيز على الموضوعية؛ ويعرّف Ousterhout التعقيد بأنه أي شيء يجعل النظام صعب الفهم والتعديل، مع تسليط الضوء على التبعيات والغموض؛ ويعرّف Tellman التعقيد بأنه مجموع جميع التفسيرات، مع التركيز على المفاجأة التي تعتمد على الجمهور. تزن المقالة نقاط القوة والضعف لكل منها، وتستكشف تطبيقها على المشكلات الواقعية. في النهاية، تجادل بأن نهج Tellman القائم على التفسير هو الأفضل لالتقاط تجربة المطور الذاتية وتوجيه القرارات العملية.

المراقبة لـ GitHub Actions باستخدام OpenTelemetry

2025-06-15
المراقبة لـ GitHub Actions باستخدام OpenTelemetry

يوضح هذا الدليل كيفية تحقيق المراقبة الشاملة لأنابيب CI/CD الخاصة بك باستخدام OpenTelemetry لمراقبة GitHub Actions. من خلال تكوين مستقبِل GitHub الخاص بـ OpenTelemetry Collector، يمكنك جمع التتبعات والمقاييس من سير عملك، مما يتيح لك تحديد الاختناقات، و تصحيح الأخطاء، وتحليل التبعيات. يوفر الدليل إعدادًا خطوة بخطوة، بما في ذلك تكوين Webhook GitHub، وتثبيت OpenTelemetry Collector، وتكوين المستقبِلات والمعالجات، ومعالجة المصادقة. تتضمن المقاطع شفرات تكوين YAML. وأخيرًا، يتم إرسال هذه البيانات إلى منصة مراقبة مثل SigNoz للعرض والتحليل.

التطوير

Lisp: وسيلة إبداعية للمبرمجين

2025-06-15

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

التطوير

التفاف على الأمن: فك تشفير آلية التحديث لآلة افتراضية للحصول على رموز بسهولة

2025-06-15
التفاف على الأمن: فك تشفير آلية التحديث لآلة افتراضية للحصول على رموز بسهولة

اكتشف طالب أن ملفات التحديث (*.gpg) في آلة افتراضية تابعة لدورة أمنية تحتوي على رموز لتقديم الواجبات. من خلال تحليل برنامج التحديث `installUpdate`، وجد أنه يستخدم فك تشفير GPG، يعتمد على ملفات `/root/.vmPassphrase` و `/root/.gnupg`. من خلال تثبيت قرص VM، حصل الطالب على هذه الملفات، وفك تشفير التحديثات، واستخراج الرموز، وإكمال الواجبات في وقت مبكر. تحتوي التحديثات على رمز جافا الذي يولد رموز مشفرة باستخدام AES. يلاحظ الكاتب أن هذا الهجوم يعتمد على الوصول الكامل إلى قرص VM، ويقترح استخدام VMs عن بُعد كتحسين. على الرغم من الإنجاز المبكر، يؤكد الكاتب على أهمية عملية التعلم وإكمال عمل الدورة.

التطوير
1 2 59 60 61 63 65 66 67 213 214