Category: التطوير

Apache Hudi: عمليات الإدراج والمسح والتحديث المتزايد للبيانات الضخمة

2025-01-23
Apache Hudi: عمليات الإدراج والمسح والتحديث المتزايد للبيانات الضخمة

Apache Hudi عبارة عن منصة بيانات مفتوحة المصدر، مبنية على تنسيق جدول مفتوح عالي الأداء لإدخال البيانات، وفهرستها، وتخزينها، وتقديمها، وتحويلها، وإدارتها عبر بيئات بيانات سحابية متعددة. يدعم تنسيقات ومصادر بيانات متنوعة، ويوفر عمليات التزام ذرية مع دعم التراجع/الاستعادة، بالإضافة إلى إمكانيات سريعة لعمليات الإدراج والمسح والتحديث. تساهم إحدى أنظمة الفهرسة القابلة للتوسع في تسريع الاستعلامات، بينما يدعم الاستعلامات الفورية والمتزايدة واسترجاع البيانات عبر الزمن. كما أنه متكامل مع مخازن البيانات الوصفية مثل Apache Hive Metastore.

إعادة تشكيل مسابقة أبحاث الطلاب في ACM: التركيز على الملاحظات

2025-01-22
إعادة تشكيل مسابقة أبحاث الطلاب في ACM: التركيز على الملاحظات

على الرغم من أن مجتمع لغات البرمجة يضم مبادرات إرشادية مثل PLMW و SIGPLAN-M و PLTea، إلا أن هناك جزءًا أساسيًا مفقودًا: التوجيه بشأن عرض الأبحاث. يجادل المؤلفون بأن مسابقة أبحاث الطلاب في ACM (SRC)، على الرغم من نيتها في المساعدة، تعاني من نهج يركز على المنافسة يُطغى على آليات الملاحظات الخاصة بها. وهذا يترك الباحثين الشباب يفتقرون إلى المهارات الأساسية لعرض أعمالهم بفعالية. الحل المقترح هو إعادة تركيز SRC على تقديم ملاحظات عالية الجودة من الخبراء، بما في ذلك زيادة عدد المراجعين الخبراء، وتقديم ملاحظات مفصلة، وأرشفة ملخصات موسعة. ويهدف هذا إلى تحسين مهارات العرض التقديمي لدى الطلاب وزيادة ظهور أبحاثهم.

إتقان فن الرفض لدى مدير المنتج: اجتماعات فعّالة وإدارة الأولويات

2025-01-22
إتقان فن الرفض لدى مدير المنتج: اجتماعات فعّالة وإدارة الأولويات

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

كابوس أمان الخيوط: تعطل غامض على ARM64، حتى مع Rust الآمن

2025-01-22
كابوس أمان الخيوط: تعطل غامض على ARM64، حتى مع Rust الآمن

أثناء نقل كود مدخلات/مخرجات الشبكة من Python إلى Rust في EdgeDB، ظهر تعطل غامض على منصات ARM64. في البداية، تم الاشتباه في أنه حالة توقف، لكن السبب الجذري تبين أنه سلوك غير آمن للخيوط في وظيفتي `setenv` و `getenv`. على ARM64، تستخدم مكتبة `openssl-probe` وظيفة `setenv` لتعيين متغيرات البيئة، بينما تقوم خيط آخر باستدعاء `getenv` بشكل متزامن. هذا يعيد تخصيص مصفوفة `environ`، مما يؤدي إلى تعطل. تمثّل الحل في تبديل الجزء الخلفي TLS من reqwest من rust-native-tls إلى rustls. هذا يبرز كيف حتى في Rust الآمن للذاكرة، يمكن للتفاعلات مع مكتبة C القياسية أن تُدخِل مشاكل أمان الخيوط.

أصول أوامر يونكس الشائعة

2025-01-22

تستكشف هذه المقالة أصول الأوامر الرئيسية في التسلسل الهرمي لأوامر يونكس/لينكس. من أدوات يونكس الأساسية مثل `cat` و `ls` و `grep` إلى مساهمات من بي إس دي و جنو وغيرها من المشاريع، يتتبع الكاتب بعناية سلالة العديد من الأدوات. يوفر هذا منظورًا تاريخيًا رائعًا حول تطور هذه الأنظمة الأساسية وسيُعجب به هواة سطر الأوامر ومطوري النظم على حد سواء.

هجرة سهلة من ووردبريس إلى هوغو

2025-01-22

تبسط خدمة wp2hugo عملية نقل مدونتك من ووردبريس إلى هوغو. تتكون العملية من ثلاث خطوات: تصدير محتوى ووردبريس، وتحميل الملف على wp2hugo، والنقر على زر التحويل. تدعم النسخة المجانية تحويل 3 صفحات و5 مقالات، بينما تقوم النسخة المدفوعة بتحويل كل شيء. وفر ساعات من النسخ والتنسيق اليدوي!

المنطق للمبرمجين: مقدمة سهلة لحساب المتتاليات

2025-01-22

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

جداول هاش سريعة ومصفوفات ديناميكية في لغة C

2025-01-22

تشرح هذه المقالة كيفية تنفيذ مكافئات سريعة في لغة C لهياكل البيانات `std::unordered_map` و `std::vector` في لغة C++. من خلال إنشاء مُخصص ذاكرة مخصص، وسلاسل مُعدّة، ودالة هاش فعّالة، يقدم الكاتب تنفيذات لجداول هاش مسطّحة وهرمية، بالإضافة إلى مصفوفة ديناميكية. كما تتناول المقالة دمج السلاسل، ومعالجة متغيرات البيئة، وتحسين أمان جداول الهاش، باستخدام Address Space Layout Randomization (ASLR) لتحسين مقاومة التصادمات.

التطوير جداول الهاش

PyVista: عرض ثلاثي الأبعاد للجميع

2025-01-22
PyVista: عرض ثلاثي الأبعاد للجميع

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

التطوير

VPTERNLOG: الكفاءة المدهشة للعمليات الثلاثية

2025-01-22

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

(pvk.ca)

NotepadJS: تطبيق مفكرة PWA بسيط

2025-01-22
NotepadJS: تطبيق مفكرة PWA بسيط

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

التطوير مفكرة

شركة ستراك الناشئة من واي كومبيناتور تبحث عن مهندس أمان نقاط النهاية الأول (ويندوز)

2025-01-22
شركة ستراك الناشئة من واي كومبيناتور تبحث عن مهندس أمان نقاط النهاية الأول (ويندوز)

تبحث شركة ستراك الناشئة المدعومة من واي كومبيناتور عن مهندس أمان نقاط النهاية الأول (ويندوز) لتصميم وتطوير حلول أمان نقاط النهاية المتقدمة. يتطلب الدور أكثر من 5 سنوات من الخبرة في تطوير البرمجيات، وإتقان لغات البرمجة سي/سي++ وسي#، والخبرة في بنية نظام ويندوز وواجهات برمجيات التطبيقات، بالإضافة إلى الخبرة في بناء أدوات مراقبة نقاط النهاية أو وكلاء الأمان. توفر ستراك اكتشاف البيانات ومنع تسرب البيانات (DLP) بدون وكلاء، لحماية بيانات SaaS، والسحابة، والذكاء الاصطناعي التوليدي، ونقاط النهاية على منصات مثل O365، وسلاك، وجوجل درايف. هذا منصب عن بُعد يقدم راتباً يتراوح بين 135,000 و 200,000 دولار أمريكي، بالإضافة إلى حصة كبيرة في الشركة.

هرم الاختبارات قد مات؛ عاش إناء الاختبارات!

2025-01-22
هرم الاختبارات قد مات؛ عاش إناء الاختبارات!

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

إصدار OpenVox 8.11: فرع Puppet مفتوح المصدر الذي تدعمه المجتمع!

2025-01-22

تم إصدار OpenVox 8.11، وهو تطبيق مفتوح المصدر من Puppet مدعوم من قِبل المجتمع! وهو مكافئ وظيفيًا لـ Puppet، ومصمم كبديل مباشر، على الرغم من أنه لم يتم اختباره بشكل كامل بعد. عملية النقل بسيطة - فقط استبدال الحزم - لكنها تستخدم حاليًا مستودعات apt|yum.overlookinfratech.com. لا يُنصح باستخدامه في بيئات الإنتاج الحرجة حتى الآن. تقدم Overlook InfraTech خدمة نقل مدفوعة، وتخطط لإنشاء لجنة توجيه معايير Puppet™️ لتوجيه مستقبل OpenVox. يهدف OpenVox إلى: تحديث قاعدة التعليمات البرمجية والنظام البيئي؛ ودعم أنظمة التشغيل وإصدارات Ruby الحالية؛ والتركيز على احتياجات المجتمع؛ وإضفاء الطابع الديمقراطي على دعم النظام الأساسي؛ والحفاظ على مجتمع مفتوح المصدر نشط.

التطوير

FLAME: نموذج لغة صغير لصيغ جداول البيانات

2025-01-22
FLAME: نموذج لغة صغير لصيغ جداول البيانات

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

بعد عام على التخلي عن React: نجاح Scholarly في عرض الخادم

2025-01-22

حافظت شركة Scholarly، وهي شركة سريعة النمو، على مجموعة تقنية بسيطة بشكل ملحوظ: Rails وStimulus وMySQL، بالإضافة إلى Turbo وActionCable لتحسين التفاعل. تُظهر خبرتها بعد عام من التخلي عن React أن هذا النهج لعرض الخادم يحسّن بشكل كبير كفاءة الاختبار وسرعة التطبيق وإنتاجية المطورين. مقارنةً بواجهات المستخدم الأمامية JS المعقدة، يقلل هذا النهج الخفيف من تكاليف صيانة التعليمات البرمجية ويقلل من المخاطر، مما يسمح للفريق بتقديم قيمة أسرع، مع التركيز على أهداف العمل الرئيسية.

التطوير

Evo: إعادة تصور نظام التحكم في الإصدارات

2025-01-22
Evo: إعادة تصور نظام التحكم في الإصدارات

Evo هو نظام حديث للتحكم في الإصدارات، مع أولوية للاستخدام دون اتصال، مصمم لتبسيط سير عمل التطوير وتحسين التعاون في الفريق. وداعًا لفروع Git المعقدة والصراعات المزعجة في الدمج. يستخدم Evo مساحات عمل بدلاً من الفروع، ويدعم دمجًا ذكيًا لملفات JSON و YAML، ويقدم مصادقة مدمجة وتوقيع التزام اختياري. فلسفته الرئيسية هي البساطة والكفاءة والموثوقية. تم بناؤه باستخدام Go، وهو يدعم الملفات الكبيرة والأذونات الدقيقة.

جوهر التجريدات الناجحة: عزل التعقيد

2025-01-22
جوهر التجريدات الناجحة: عزل التعقيد

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

التطوير إدارة التعقيد

غيوم واقعية في 10 أسطر من التعليمات البرمجية: تحليل "Tiny Clouds" من Shadertoy

2025-01-22
غيوم واقعية في 10 أسطر من التعليمات البرمجية: تحليل

يُنتج مُظلّل "Tiny Clouds" على Shadertoy غيومًا واقعية بشكل مُذهل باستخدام 10 أسطر فقط من التعليمات البرمجية. تتعمق هذه المقالة في تعقيدات التعليمات البرمجية، مُفسرة طريقة التتبع العكسي للأشعة الذكية، وعينات حركة براون الكسرية (FBM)، وتقنيات المزج ألفا. تكشف عن كيفية تحقيق عرض عالي الجودة للغيوم مع هذا الكم المُختصر من التعليمات البرمجية. كما يستكشف الكاتب تحسينات مُثيرة للاهتمام في التعليمات البرمجية، مثل استخدام وحدات ماكرو لتقليل الطول، واستخدام دالة جيب التمام لإضافة عشوائية لمظهر أكثر طبيعية. يُبرز التحليل قوة الترميز الفعال والخوارزميات الذكية في تحقيق نتائج بصرية مُبهرة.

Wine 10.0: دعم أملس لتشغيل تطبيقات Windows على Linux

2025-01-22
Wine 10.0: دعم أملس لتشغيل تطبيقات Windows على Linux

أصدر فريق Wine الإصدار Wine 10.0 رسميًا، والذي يمثل عامًا كاملاً من التطوير المكثف مع أكثر من 6000 تغيير. يقدم هذا الإصدار المستقر تحديثات رئيسية تهدف إلى تحسين الأداء والتوافق والخبرة البصرية عند تشغيل تطبيقات Windows على Linux (وغيرها من الأنظمة الأساسية غير Windows). تشمل التحسينات الدعم الكامل لمعمارية ARM64EC، والمحاكاة x86 64 بت، وتحسين المقياس عالي الدقة DPI، بالإضافة إلى تحديثات Direct3D و Vulkan.

التطوير توافق Windows

مبدأ الاستبدال لِيسكوف: المعنى الحقيقي للوراثة

2025-01-22
مبدأ الاستبدال لِيسكوف: المعنى الحقيقي للوراثة

تتناول هذه المقالة بالتفصيل مبدأ الاستبدال لِيسكوف (LSP)، وهو مبدأ من مبادئ SOLID غالبًا ما يُسوء فهمه. باستخدام مثال المربع والمستطيل الكلاسيكي، توضح المقالة الانتهاكات الشائعة لـ LSP: حيث تفشل الأنواع الفرعية في استبدال الأنواع الأساسية بالكامل. ينصح الكاتب باستخدام التركيب والواجهات بدلاً من الميراث لتجنب انتهاكات LSP، مع تقديم مثال عملي على معالجة المدفوعات. كما تُحدد الانتهاكات الشائعة لـ LSP، مثل إلقاء الاستثناءات غير المتوقعة وإرجاع نتائج غير متناسقة مع النوع الأساسي، وكيفية ضمان الامتثال لـ LSP من خلال اختبارات العقود وشروط ما قبل/بعد التنفيذ الواضحة. في النهاية، تؤكد المقالة أن LSP يتجاوز الميراث: فهو يتعلق بالتوافق السلوكي وتلبية التوقعات. يؤدي اتباع LSP إلى رمز أكثر موثوقية وقابلية للصيانة.

JReleaser: إصدارات المشاريع بدون عناء

2025-01-21

يبسط JReleaser عملية إصدار المشاريع، ويدعم العديد من اللغات مثل Java وGo وNode.js. يقوم بإنشاء حزم بسهولة لأنظمة أساسية متنوعة (Homebrew، Snapcraft، إلخ)، وينشرها على خدمات مثل GitHub وGitLab، وحتى يقوم بإنشاء سجلات التغييرات تلقائيًا والإعلان عن الإصدارات على Twitter. سواء كنت تستخدم سطر الأوامر أو Maven أو Gradle أو Ant، فإن JReleaser يبسط سير عملك، مما يسمح لك بالتركيز على التطوير.

Sigstore: تأمين سلسلة توريد البرمجيات مفتوحة المصدر

2025-01-21
Sigstore: تأمين سلسلة توريد البرمجيات مفتوحة المصدر

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

وداعًا، Kamal: نشر Rails باستخدام Dokku

2025-01-21
وداعًا، Kamal: نشر Rails باستخدام Dokku

يوفر Kamal من Basecamp حلاً لنشر Rails على الخوادم العارية، لكنه ليس أسهل أداة للاستخدام. تُبرز هذه المقالة بديلاً أبسط: Dokku - وهو في الأساس Heroku ذاتية الاستضافة. يقدم الكاتب دليلًا خطوة بخطوة لنشر تطبيق Rails باستخدام Dokku، بما في ذلك التثبيت، وإنشاء التطبيق، وتكوين قاعدة البيانات (PostgreSQL)، وإعداد متغيرات البيئة، وتكوين النطاق و SSL (مع Let's Encrypt)، واستخدام Procfile للعمليات web و release. يقدم قسم إضافي جوهرة Deployless، التي تعمل على أتمتة عملية النشر بالكامل لتحقيق الكفاءة.

التطوير

التاريخ الغريب لعلامات الربط في التعابير النمطية: لماذا `$` و `^`؟

2025-01-21
التاريخ الغريب لعلامات الربط في التعابير النمطية: لماذا `$` و `^`؟

يتناول هذا المنشور الأصول التاريخية لاستخدام `$` و `^` كعلامات ربط للأسطر في التعابير النمطية. بالرجوع إلى محرر النصوص QED، كان `$` يمثل في البداية نهاية المخزن المؤقت، ثم قام Ken Thompson بتكييفه ليدل على نهاية السطر في regex. و ربما يرجع اختيار `^` إلى مجموعة الأحرف المحدودة في آلة الكتابة Teletype Model 35، حيث كان `^` موجودًا بالفعل في ASCII-67. لم يكن هذا خيار تصميمًا ذكيًا، بل كان نتيجة لقيود الأجهزة ومجموعة الأحرف في تلك الحقبة، ليصبح تقليدًا في التعابير النمطية.

كيف تُسهّل نقاط القوة للغات عائلة Lisp بناء تطبيقات بيوإنفورماتكس معقدة ومرنة

2025-01-21

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

Foqos: استعادة تركيزك باستخدام NFC

2025-01-21

Foqos هو تطبيق تركيز يستخدم تقنية NFC لمساعدة المستخدمين على البقاء مركزين. أنشئ ملفات تعريف متعددة لسياقات مختلفة (العمل، الدراسة، وقت النوم، إلخ). اكتب هذه الملفات الشخصية على علامات NFC للتنشيط الفوري بلمسة واحدة - بدون الحاجة إلى إلغاء القفل أو فتح التطبيق. Foqos مجاني وخاص ومفتوح المصدر إلى الأبد. لا اشتراكات، ولا تتبع، ولا جمع بيانات. فقط تركيز نقي.

التطوير تطبيق تركيز

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

2025-01-21

استخدم الكاتب نماذج اللغات الكبيرة لمساعدة الترميز، في البداية باستخدام إعداد ContinueDev + OpenRouter. ارتفعت التكاليف بشكل غير متوقع. كشف التحقيق أن ملفات Jupyter Notebook (.ipynb) تحتوي على محتوى مخفي كبير (مخرجات التعليمات البرمجية، والبيانات الوصفية، والصور المشفرة بـ base64)، مما أدى إلى زيادة كبيرة في عدد الرموز وزيادة تكاليف استدعاء LLM. كان الحل هو تحويل ملفات .ipynb إلى ملفات .py وإزالة الصور المشفرة بـ base64. أدى ذلك إلى خفض التكاليف بنسبة 94% وكذلك زمن الوصول. تسلط هذه التدوينة الضوء على أهمية الإدخال المدروس عند استخدام LLMs وتوصي بالتحقق من التكاليف بانتظام.

التطوير

بإرشاد جمال مجموعة الاختبارات الخاصة بنا: قصة راست، يو إكس إن، والدقة الهندسية

2025-01-21

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

التطوير اختبارات

الوصول إلى أقصى حد لعمليات تثبيت حزم Alpine: تحدٍّ صعب من نوع NP

2025-01-21

تتناول هذه المقالة تجربةً لتحديد الحد الأقصى لعدد حزم Alpine Linux التي يمكن تثبيتها في وقت واحد. قام الكاتب بتحليل ملفات APKINDEX الخاصة بـ Alpine، واستخراج التبعيات والنزاعات وعلاقات التوفير للحزم. تم تحويل هذه العناصر إلى قيود لحلّ PuLP. نجحت التجربة في تثبيت 98.5% من الحزم من المستودع الرئيسي و 97.8% من المستودع الرئيسي + المجتمع. هذا يُظهر تحسين تثبيت الحزم خوارزميًا، مما يوفر رؤى حول إنشاء صور حاويات أنحف.

التطوير حل القيود
1 2 179 180 181 183 185 186 187 213 214