Category: التطوير

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

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

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

التطوير

تحديث postmarketOS لشهر فبراير 2025: اسم جديد، ودعم صوتي، والمزيد

2025-03-04
تحديث postmarketOS لشهر فبراير 2025: اسم جديد، ودعم صوتي، والمزيد

شهد شهر فبراير 2025 تقدمًا كبيرًا في مشروع postmarketOS. يجري تغيير الاسم، مع طلب مدخلات من المجتمع. تم تحسين دعم الصوت لـ MSM89x7، وانضمت المزيد من أجهزة Xiaomi إلى دعم المجتمع. تم إكمال عمليات مراجعة الأمان، وتم تنفيذ تحسينات في البنية التحتية، بما في ذلك أنظمة النسخ الاحتياطي و CI. تم إصدار العديد من تحديثات النواة وترقيات الحزم، مما أدى إلى تحسين الاستقرار والأداء.

وثائق صغيرة: سر الكتابة التقنية الفعالة

2025-03-04

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

التطوير إدارة الوثائق

تكلفة الأداء لإساءة استخدام panic/recover في Go

2025-03-04

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

التطوير

تجاوز حاجز 2 غيغابايت: إدخال/إخراج غير متزامن للملفات الكبيرة في WebAssembly

2025-03-04
تجاوز حاجز 2 غيغابايت: إدخال/إخراج غير متزامن للملفات الكبيرة في WebAssembly

نفذ الكاتب سابقًا setjmp في WebAssembly ، متجاوزًا اعتماد WASI libc على اقتراح معالجة الاستثناءات. ومع ذلك ، كان هذا النهج محدودًا بالملفات التي تقل عن 2 غيغابايت. تشرح هذه المشاركة كيفية استخدام واجهة برمجة تطبيقات الملف ونوع Blob لإنشاء نظام ملفات قائم على الذاكرة للتعامل مع الملفات الأكبر حجمًا. نظرًا لأن إدخال/إخراج الويب غير متزامن ، بينما تكون لغات النظام عادةً متزامنة ، فقد تم استخدام Asyncify لربط النماذج. واجه الكاتب مشاكل في التحسين باستخدام wasm-opt ، وحلها بإنشاء wasm-opt وهمي. وأخيرًا ، باستخدام مؤشر دالة متطاير بذكاء ، تجاوز الافتراض الخاطئ لـ Asyncify حول وظيفة `asyncjmp_rt_start` ، محققًا في النهاية معالجة الملفات الكبيرة بشكل غير متزامن.

التطوير

رخصة جنو العمومية: منفعة أم ضرر لووردبريس؟

2025-03-04
رخصة جنو العمومية: منفعة أم ضرر لووردبريس؟

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

(ma.tt)

smallpond من DeepSeek: إطار عمل خفيف الوزن للحوسبة الموزعة مبني على DuckDB

2025-03-04
smallpond من DeepSeek: إطار عمل خفيف الوزن للحوسبة الموزعة مبني على DuckDB

أصدرت DeepSeek smallpond، وهو إطار عمل خفيف الوزن للحوسبة الموزعة مبني على DuckDB لمعالجة مجموعات البيانات الضخمة. يستخدم التقييم الكسول و Ray للحوسبة الموزعة، ويدعم استراتيجيات تقسيم متعددة، ويتكامل بكفاءة مع نظام الملفات 3FS الخاص بـ DeepSeek. على الرغم من أن الاعتماد على Ray و 3FS يضيف تعقيدًا، إلا أن smallpond يوازن بين سهولة الاستخدام والأداء، مما يوفر للمهندسين البيانات خيارًا جديدًا لمعالجة مجموعات بيانات بحجم تيرابايت. بالمقارنة مع أطر العمل الثقيلة مثل Spark، فإن smallpond أخف وزنًا وأسهل في التعلم، وهو مناسب بشكل خاص للشركات الأصغر التي لا تحتاج إلى معالجة استعلامات معقدة للغاية.

التطوير

بناء رزمة TCP/IP الخاصة بك في مساحة المستخدم: من إطارات إيثرنت إلى ARP

2025-03-04
بناء رزمة TCP/IP الخاصة بك في مساحة المستخدم: من إطارات إيثرنت إلى ARP

تُفصّل هذه المدونة، وهي الأولى في سلسلة، بناء رزمة TCP/IP صغيرة في مساحة مستخدم لينكس. والهدف هو التعلّم العملي لبرمجة الشبكات والأنظمة. وتغطي استخدام أجهزة TUN/TAP لاعتراض حركة مرور الشبكة، والغطس العميق في تنسيق وإطار تحليل إطارات إيثرنت (عناوين MAC، وحقل ethertype، وCRC)، وشرح شامل لبروتوكول حل العناوين (ARP)، بما في ذلك تنسيق الحزم وخوارزمية الحل. وتختتم المدونة بالتحقق من وظيفة الرد ARP للرزمة المخصصة باستخدام arping.

التطوير

مُعضلة تصميم RCL: تحدي الأعداد العائمة

2025-03-04

واجه الكاتب تحديًا أثناء بناء لغة التكوين الجديدة RCL: كيفية التعامل مع الأعداد العائمة. بصفتها مجموعة فرعية من JSON، يجب على RCL تحقيق التوازن بين دلالات JSON، ونظام الأنواع، وقابلية قراءة الشفرة. يستعرض المقال التبادلات بين أنواع الأعداد الصحيحة والأعداد العائمة، مثل التمييز بين هذين النوعين، وكيفية التعامل مع المساواة العددية وتحويل الأنواع. في النهاية، اختار الكاتب نوعًا رقميًا واحدًا، "Number"، لتبسيط تصميم اللغة وتحسين تجربة المستخدم. تم تنفيذ هذا الحل في إصدار RCL 0.8.0.

تصور تفاعلي لشجرة العمليات في دفتر Jupyter

2025-03-04
تصور تفاعلي لشجرة العمليات في دفتر Jupyter

طور مركز الدفاع السيبراني في DNB أداة تصور تفاعلي لشجرة العمليات داخل دفتر Jupyter لتحسين كفاءة الاستجابة للحوادث. باستخدام تقنيات مثل anywidget و marimo و ibis و Apache Spark و dependentree، يتم تحويل سجلات أحداث إنشاء العمليات من أنظمة EDR مثل Microsoft Defender for Endpoint إلى شجرة تفاعلية. يمكن للمستخدمين تصفية الأحداث، واستكشاف تسلسل العمليات، واختيار عمليات فردية للفحص التفصيلي. تعمل الأداة في المتصفح لتسهيل المشاركة والعرض التوضيحي.

جوجل تحسن إمكانية اكتشاف الأدوات الصغيرة على جوجل بلاي

2025-03-04
جوجل تحسن إمكانية اكتشاف الأدوات الصغيرة على جوجل بلاي

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

مكونات فوشيا مقابل حاويات لينكس: غوص عميق

2025-03-03
مكونات فوشيا مقابل حاويات لينكس: غوص عميق

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

خطأ غريب ناتج عن آلية التخزين المؤقت في كروم: رحلة تصحيح أخطاء متعرجة

2025-03-03

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

Chirp: تطبيق نقل البيانات القائم على الصوت

2025-03-03
Chirp: تطبيق نقل البيانات القائم على الصوت

Chirp هو تطبيق ينقل البيانات عبر الصوت. يستخدم نظام ترميز بسيط لتحويل النص إلى ترددات صوتية، يتم تشغيلها عبر مكبرات الصوت و التقاطها بواسطة ميكروفون. يتميز التطبيق بعرض مرئي لترددات الصوت في الوقت الحقيقي، وإرسال النصوص كصوت، واستقبال الصوت وتحويله إلى نص، باستخدام توقيعات مميزة للبدء والنهاية. تم تطويره باستخدام Node.js و React و TypeScript و Vite، مع الاستفادة من واجهة برمجة تطبيقات الصوت على الويب (Web Audio API) لمعالجة الصوت.

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

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

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

التطوير

مأزق أكاديمي وتحوّل مبرمج

2025-03-03

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

اختراق مُراقِب الموارد الظاهري لـ Xbox 360: ثغرة التحديث الخاطئ

2025-03-03
اختراق مُراقِب الموارد الظاهري لـ Xbox 360: ثغرة التحديث الخاطئ

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

Smartest Kid: مساعد ذكاء اصطناعي لسطح مكتب Windows بلغة بايثون

2025-03-03
Smartest Kid: مساعد ذكاء اصطناعي لسطح مكتب Windows بلغة بايثون

التقِ بـ Smartest Kid، وهو مساعد ذكاء اصطناعي لسطح مكتب Windows تم إنشاؤه باستخدام لغة بايثون! مستوحى من SmarterChild، يتميز بواجهة دردشة بسيطة وسهلة الاستخدام، ويستخدم أتمتة COM في Windows للتفاعل مع Microsoft Office (Word، Excel)، والصور، ونظام الملفات الخاص بك. مثالي لمستخدمي Windows الذين يستكشفون أتمتة سطح المكتب التي تعمل بالذكاء الاصطناعي. المشروع مفتوح المصدر ويرحب بالمساهمات لتوسيع وظائفه وشخصيته.

التطوير أتمتة Windows

تنفيذ Go عالي الأداء لآليات الانتباه وطبقات المحوّل

2025-03-03
تنفيذ Go عالي الأداء لآليات الانتباه وطبقات المحوّل

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

إعادة التفكير في SQLite: قوة مدهشة في نطاق واسع جدًا

2025-03-03
إعادة التفكير في SQLite: قوة مدهشة في نطاق واسع جدًا

على عكس الاعتقاد السائد، لا يقتصر استخدام SQLite على التطبيقات الصغيرة. تجادل هذه المقالة بأن خدمات مثل Cloudflare Durable Objects و Turso تُطلق العنان لإمكانيات SQLite على نطاق واسع جدًا. تُخصص هذه المنصات قواعد بيانات SQLite لكل كيان، مما يُحل محل تعقيدات قواعد البيانات المُقسّمة. يُحل هذا النهج مشاكل مثل المخططات الجامدة، وتغييرات المخططات الصعبة، والعمليات المعقدة بين الأقسام. على الرغم من استمرار بعض التحديات — نقص حلول الاستضافة الذاتية مفتوحة المصدر وبروتوكولات مُعيارية — فإن امتثال SQLite لمعايير ACID، ومدخلات/مخرجات فعّالة، وامتدادات SQL الغنية تجعله بديلاً مُقنعاً لقواعد البيانات المُقسّمة التقليدية.

التطوير

agents.json: تبسيط تفاعل وكلاء الذكاء الاصطناعي مع واجهات برمجة التطبيقات

2025-03-03
agents.json: تبسيط تفاعل وكلاء الذكاء الاصطناعي مع واجهات برمجة التطبيقات

تقدم Wildcard AI مواصفة agents.json، المصممة لتبسيط تفاعل وكلاء الذكاء الاصطناعي مع واجهات برمجة التطبيقات. بناءً على معيار OpenAPI، فهي تعالج تحدي وكلاء الذكاء الاصطناعي في تنفيذ تسلسلات متعددة الخطوات من مكالمات واجهات برمجة التطبيقات من خلال إضافة ميزات مثل التدفقات والروابط. يصف ملف agents.json نقاط نهاية واجهة برمجة التطبيقات وتفاعلاتها، مما يسمح بتنفيذ مكالمات واجهة برمجة التطبيقات بشكل موثوق من قبل وكلاء الذكاء الاصطناعي. توفر حزمة Wildcard Bridge بلغة بايثون وظائف لتحميل ملفات agents.json وتحليلها وتشغيلها، مما يسمح للمطورين بدمج وكلاء الذكاء الاصطناعي بسلاسة مع واجهات برمجة التطبيقات بمجرد إضافة ملف agents.json.

ضغط لا يصدق: تقليص بيانات النقل العام في باريس (RATP) من 10 جيجابايت إلى 530 كيلوبايت باستخدام Rust

2025-03-03

بدأ هذا المشروع في عطلة نهاية الأسبوع باستعراض مستودع البيانات المفتوحة لشبكة النقل العام في باريس. لاحظ الكاتب قسمًا حول إعادة استخدام البيانات، والذي يضم مشاريع خارجية تستخدم هذه البيانات المفتوحة، ولا سيما موقع حالة RATP الذي يعرض الأعطال التاريخية. يحتوي مستودع GitHub على ملفات JSON تم استعراضها كل دقيقتين لمدة عام تقريبًا، ليصل إجمالي حجمها إلى أكثر من 10 جيجابايت. تساءل الكاتب عما إذا كان من الممكن ضغط هذه البيانات بشكل أفضل. تشرح هذه المقالة كيف استخدم نمط تصميم الاستيعاب في Rust لتحقيق ضغط 2000 ضعف! تشمل التقنيات التي تم استكشافها تحسين بنية الاستيعاب، وضبط مخطط البيانات، والاستفادة من الاستيعاب في التهيئة التسلسلية. والنتيجة؟ انخفاض مذهل من 1.1 جيجابايت من ملفات JSON إلى 530 كيلوبايت فقط.

التطوير الاستيعاب

arXivLabs: تجربة الميزات التي يديرها المجتمع

2025-03-03
arXivLabs: تجربة الميزات التي يديرها المجتمع

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

التطوير

بناء رسم بياني لشبكة مطاعم فرنسية باستخدام نماذج اللغات الكبيرة

2025-03-03

يستخدم هذا المشروع مراجعات مطاعم فرنسية من موقع LeFooding.com لبناء رسم بياني لشبكة مطاعم فرنسية وموظفيها. من خلال الاستفادة من نموذج gpt4o-mini من OpenAI وتقنيات التوليد المُهيكل، يستخرج المؤلف معلومات حول موظفي المطاعم ومساراتهم المهنية من المراجعات، مما ينتج عنه رسم بياني يحتوي على أكثر من 5000 عقدة وحافة. يبرز المشروع قوة نماذج اللغات الكبيرة في استخراج المعلومات المُهيكلة، ويستكشف إيجابيات وسلبيات استخدام نماذج LLMs مختلفة، بما في ذلك تحسين التكلفة. والنتيجة النهائية هي رسم بياني مرئي لشبكة يوضح الروابط بين المطاعم الفرنسية وتطور مسار الموظفين الوظيفي.

FlakeUI: واجهة مستخدم رسومية مبتكرة تعتمد على الفراكتلات

2025-03-03
FlakeUI: واجهة مستخدم رسومية مبتكرة تعتمد على الفراكتلات

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

Ninjavis: عرض مرئي لسجلات بناء Ninja

2025-03-03
Ninjavis: عرض مرئي لسجلات بناء Ninja

يقوم Ninjavis بتحليل سجلات بناء Ninja، واستخراج الهدف، ووقت البدء، ووقت الانتهاء لكل عنصر بناء. يقوم بإنشاء هذه البيانات في قالب مع عرض زمني بسيط مدعوم بواسطة vis.js. مستوحى من buildbloat، يساعد في تحليل أداء البناء. تذكر تشغيل `ninja -t recompact` مسبقًا لإزالة الإدخالات المكررة في السجل. توفر الأداة واجهة سطر أوامر نظيفة لإنشاء ملفات تعريف البناء.

التطوير أدوات البناء

uBlock Origin يواجه مشكلة إلغاء دعم Manifest V3 في كروم

2025-03-03
uBlock Origin يواجه مشكلة إلغاء دعم Manifest V3 في كروم

ابتداءً من كروم 127، سيظهر تحذير للمستخدمين الذين يستخدمون uBlock Origin (uBO) بسبب إلغاء دعم ملحقات Manifest V2. uBO، وهو ملحق من نوع Manifest V2، لا يوجد له بديل من نوع Manifest V3. تم إصدار نسخة خفيفة الوزن، وهي uBO Lite (uBOL)، لكن مع التضحية ببعض الميزات من أجل التوافق مع Manifest V3. على المستخدمين أن يقرروا ما إذا كانوا سيرحلون إلى uBOL أو سيستمرون في استخدام uBO على متصفحات مثل فايرفوكس. هنالك نقاشات جارية حول تمديد دعم Manifest V2 في كروم حتى يونيو 2025.

التطوير

وداعًا ERB: إنشاء قوالب بريد إلكتروني بلغة Ruby نقية باستخدام Phlex

2025-03-03
وداعًا ERB: إنشاء قوالب بريد إلكتروني بلغة Ruby نقية باستخدام Phlex

هل سئمت من استخدام ERB لإنشاء قوالب البريد الإلكتروني في Rails؟ توضح هذه المقالة كيفية استخدام Phlex، وهي مكتبة Ruby، لكتابة قوالب بريد إلكتروني HTML بلغة Ruby نقية، مما يلغي المتاعب وعدم الكفاءة المرتبطة باستخدام ERB. يوضح الكاتب خطوات الانتقال من ERB إلى Phlex، بما في ذلك إنشاء عروض Phlex وتخطيطاتها، واستخدام roadie-rails لأنماط مُضمنة، لتحقيق الهدف الأنيق المتمثل في تطبيق Rails خالٍ من ERB. تتضمن المقالة أيضًا أمثلة كاملة للشيفرة وحالات اختبار لمساعدة القراء على البدء بسرعة.

TrapC: امتداد أكثر أمانًا للغة C

2025-03-03
TrapC: امتداد أكثر أمانًا للغة C

TrapC عبارة عن امتداد جديد للغة البرمجة C مصمم لتعزيز أمان الذاكرة. من خلال إزالة كلمات رئيسية مثل `goto` و `union`، وإضافة `trap` و `alias`، يدمج TrapC ميزات C++ مثل مُنشئو الكائنات ومدمروها. يتميز بإدارة ذاكرة تلقائية، مما يمنع التسرب، ويستخدم إدارة عمر الافتراض للبوابات بدلاً من جمع القمامة. على الرغم من تصميمه البسيط - والحفاظ على نفس عدد الكلمات الرئيسية مثل C - إلا أنه يوفر بشكل مدهش توافقًا كبيرًا مع رمز C++. تم تقديمه في اجتماع ISO C، ويهدف TrapC إلى معالجة مخاوف أمان الذاكرة بشكل أكثر شمولاً من الاقتراحات الأخرى الموجودة.

التطوير امتداد اللغة

مقارنة بين CBOR و MessagePack: معركة في التنسيق التسلسلي

2025-03-03

يكافح الكاتب لاختيار بين MessagePack و CBOR للغة برمجة مشتركة، مع إعطاء الأولوية للأداء وسهولة الفهم. يُعتبر MessagePack أسهل في الاستخدام، لكن CBOR أسرع بكثير في الترميز/فك الترميز (أسرع بحوالي 200٪ في اختبارات الأداء). على الرغم من وثائق CBOR الأكثر تعقيدًا، إلا أن تصميمها المتفوق يفوز في النهاية. يختار الكاتب CBOR، لكنه يعترف بالتأثير السياسي على قراره.

1 2 146 147 148 150 152 153 154 213 214