Category: التطوير

تقويم أعياد الميلاد Perl لعام 2024: "نصف حياتي مع Perl" بواسطة راندال شوارتز

2024-12-19

يقدم تقويم أعياد الميلاد Perl لعام 2024 عرض فيديو فريدًا من قبل راندال شوارتز بعنوان "نصف حياتي مع Perl". يستعرض راندال، وهو أحد رواد لغة Perl، رحلته مع هذه اللغة من بداياتها وحتى العصر الحديث، بما في ذلك مشاركته في إنشاء كتبي Camel و Llama، وحكاياته المضحكة عن كيفية إخضاعه لمنتدى comp.unix.questions باستخدام Perl 2. هذه هي المرة الأولى التي يتم فيها تضمين فيديو في تقويم أعياد الميلاد Perl، مما يوفر منظورًا جديدًا وجذابًا لتاريخ اللغة.

GreptimeDB: غوص عميق في معالجة الأخطاء في مشاريع Rust الكبيرة

2024-12-19
GreptimeDB: غوص عميق في معالجة الأخطاء في مشاريع Rust الكبيرة

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

التطوير

نظام تشغيل Piccolo OS متعدد المهام صغير الحجم لنظام Raspberry Pi Pico

2024-12-19
نظام تشغيل Piccolo OS متعدد المهام صغير الحجم لنظام Raspberry Pi Pico

Piccolo OS هو نظام تشغيل صغير متعدد المهام مصمم خصيصًا لنظام Raspberry Pi Pico، وهو يعمل بشكل أساسي كأداة تعليمية. يعرض أساسيات نظام تشغيل متعدد المهام التعاوني وهندسة Arm Cortex-M0+. يتم جدولة المهام بطريقة بسيطة، Round-robin، باستخدام مُشيرَين للمكدس MSP و PSP للتحويل بين السياقات والانتقال بين أوضاع Thread و Handler. على الرغم من تبسيط وظائفه، إلا أنه يُوضح بوضوح المبادئ الأساسية لأنظمة التشغيل متعددة المهام، مما يجعله مثاليًا لتعلم أساسيات أنظمة التشغيل.

التطوير

ScyllaDB تتحول إلى ترخيص مفتوح المصدر لمديرتها لقاعدة البيانات

2024-12-19
ScyllaDB تتحول إلى ترخيص مفتوح المصدر لمديرتها لقاعدة البيانات

أعلنت ScyllaDB عن انتقال منتجها الرئيسي، ScyllaDB Enterprise، من ترخيص مغلق المصدر إلى ترخيص مفتوح المصدر، مع توفير طبقة مجانية بجميع إمكانيات الإصدار التجاري. يهدف هذا التغيير إلى تبسيط عملية الإصدار المزدوج، وتوفير قيمة أكبر للمجتمع. في المستقبل، ستركز ScyllaDB على تدفق إصدار واحد، ودمج الميزات الأساسية لتحسين الأداء والكفاءة؛ ومن الأمثلة على ذلك زيادة سرعة إضافة/إزالة العقد بنسبة 30 ضعفًا من خلال البث القائم على الملفات، وترتيب أولويات عبء العمل لتحقيق التوازن بين أحمال العمل المتعددة على مجموعة واحدة. بالرغم من أن هذا قد لا يحظى بقبول البعض من مستخدمي البرمجيات المفتوحة المصدر، إلا أن ScyllaDB تعتقد أن هذا التغيير سيُفيد الشركة ويسرع التقدم نحو المعالم الرئيسية على خارطة الطريق: Raft للبيانات، والمرونة المثالية للوحدات، والتخزين الطبقي (S3).

فضح خرافة ذاكرة الوصول العشوائي: تحسين الوصول إلى الذاكرة

2024-12-19
فضح خرافة ذاكرة الوصول العشوائي: تحسين الوصول إلى الذاكرة

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

مُترجم MoonBit أصبح مفتوح المصدر: لغة برمجة عالية الأداء لـ WebAssembly

2024-12-19
مُترجم MoonBit أصبح مفتوح المصدر: لغة برمجة عالية الأداء لـ WebAssembly

بعد عامين من التطوير، أصبح مُترجم MoonBit، بما في ذلك واجهة Wasm الخلفية، مفتوح المصدر الآن! يهدف MoonBit إلى أن يكون لغة برمجة مُحسّنة لـ WebAssembly، تُعرف بسرعتها، وصغر حجمها، وسهولة استخدامها. يستخدم هذا الإصدار ترخيص SSPL مُعدّل، مما يسمح للمستخدمين باختيار ترخيص أعمالهم المُولّدة بحرية، ويسمح بتعديلات المُترجم لأغراض غير تجارية. اختار الفريق هذا الترخيص للحفاظ على الاستقرار بينما لا يزال المشروع في مرحلة تجريبية، ولمنع مُزوّدي خدمات الحوسبة السحابية الكبيرة من إساءة استخدام عملهم. في المستقبل، يخطط MoonBit لإتاحة المزيد من المكونات مفتوحة المصدر، وتوليد الإيرادات من خلال خدمات الاستضافة وواجهات برمجة التطبيقات الخاصة بالأجهزة، بهدف بناء نظام بيئي مجتمعي نابض بالحياة.

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

2024-12-19

تم تحسين sqleibniz، وهي أداة تحليل SQL ثابتة لنمط SQLite، باستخدام نصوص لوا لزيادة إمكانية التكوين والقدرة على التوسعة. يوضح الكاتب تفاصيل التكامل باستخدام مكتبة mlua في روست، بما في ذلك تحويل بنية البيانات، ونداءات دالة لوا، ومعالجة الأخطاء. تسمح نصوص لوا للمستخدمين بتعريف قواعد وخطافات مخصصة، مما يتيح تحليلاً ثابتاً مرناً، مثل التشخيصات المخصصة وفحوصات الأنماط. هذا يحسن بشكل كبير من إمكانية توسعة sqleibniz وتجربة المستخدم.

تركيب جملة SQL بدون قاعدة بيانات: مقدمة إلى Musoq

2024-12-18
تركيب جملة SQL بدون قاعدة بيانات: مقدمة إلى Musoq

Musoq هو مشروع مفتوح المصدر يسمح للمطورين باستعراض مصادر بيانات متنوعة مثل الملفات، والدلائل، والصور، باستخدام بناء جملة يشبه SQL، دون الحاجة إلى قاعدة بيانات. يتميز بواجهة برمجة تطبيقات قابلة للتوصيل تدعم مصادر بيانات متنوعة، بما في ذلك أنظمة الملفات، والأرشيفات، ومستودعات Git، ورموز C#، وموارد Docker و Kubernetes، وحتى أنه يدمج نماذج الذكاء الاصطناعي مثل OpenAI و Ollama لتحليلات متقدمة. يهدف Musoq إلى تبسيط استعراض البيانات، وزيادة كفاءة المطورين، خاصةً للاستعلامات العشوائية على مجموعات بيانات صغيرة إلى متوسطة الحجم. على الرغم من استخدامه لبناء جملة يشبه SQL، إلا أنه ليس متوافقًا تمامًا مع SQL؛ حيث يعطي الأولوية لبناء جملة سهل الاستخدام وتنفيذ فعال.

Solaar مفتوح المصدر: مدير أجهزة لينكس لأجهزة Logitech

2024-12-18
Solaar مفتوح المصدر: مدير أجهزة لينكس لأجهزة Logitech

Solaar هو مدير أجهزة لينكس مفتوح المصدر للعديد من لوحات المفاتيح والماوس وأجهزة Logitech الأخرى التي تتصل لاسلكيًا عبر أجهزة استقبال Unifying أو Bolt أو Lightspeed أو Nano، بالإضافة إلى العديد من أجهزة Logitech التي تتصل عبر كابل USB أو Bluetooth. إنه ليس برنامج تشغيل جهاز؛ بل يستجيب للرسائل الخاصة من الأجهزة التي يتم تجاهلها بخلاف ذلك بواسطة نظام إدخال Linux. يدعم Solaar إقران/إلغاء إقران الأجهزة مع أجهزة الاستقبال، وتكوين إعدادات الجهاز، وتكوين الأزرار المخصصة، وتشغيل القواعد استجابةً للرسائل الخاصة من الأجهزة. تتضمن خيارات التثبيت الحزم المُنشأة مسبقًا وتجميع التعليمات البرمجية المصدر.

التطوير

K8s Cleaner: تحسين مجموعات Kubernetes الخاصة بك

2024-12-18

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

جافا للبرامج الصغيرة: النصوص ودفاتر العمل

2024-12-18

تستكشف هذه المقالة فعالية جافا المدهشة في البرامج الصغيرة، خاصةً النصوص والبرمجة الاستكشافية. يوضح الكاتب كيف أن ميزات جافا، مثل الفئات الضمنية والسجلات والعدادات، تبسط الكود، مع تسليط الضوء على سهولة تشغيل نصوص جافا بدون تجميع (باستخدام JEP 330 و JEP 458). كما تمت مناقشة إدارة التبعيات الخارجية باستخدام JBang. يتعمق المقال في استخدام جافا ضمن دفاتر عمل Jupyter، مع الاعتراف بالقيود الحالية، لكن مع التعبير عن الأمل في التحسينات المستقبلية للنظام البيئي. تُظهر تجربة الكاتب في أتمتة المهام المملة قوة جافا مقارنةً بالبدائل مثل نصوص bash و Python، مع التأكيد على مزايا الكتابة الثابتة ودعم الأدوات القوية.

التطوير جافا النصوص

BlackSheep: إطار عمل ويب ASGI سريع وخفيف الوزن لـ Python

2024-12-18
BlackSheep: إطار عمل ويب ASGI سريع وخفيف الوزن لـ Python

BlackSheep هو إطار عمل ويب ASGI غير متزامن وسريع لـ Python، مستوحى من Flask و ASP.NET Core وعمل Yury Selivanov. يقدم واجهة سطر أوامر لإنشاء المشاريع بسرعة، ويدعم الربط التلقائي، وحقن التبعيات، وتوليد وثائق OpenAPI، واستراتيجيات متنوعة للمصادقة والترخيص. يتميز BlackSheep بقدرة عالية على التوافق مع أنظمة التشغيل وأوقات التشغيل المختلفة، ويتضمن ميزات مثل البرامج الوسيطة، وWebSocket، وSSE، وخدمة الملفات الثابتة، والتكامل مع Jinja2، مما يجعله مثاليًا لبناء تطبيقات ويب عالية الأداء.

GitHub Copilot: مساعدك في البرمجة بالذكاء الاصطناعي

2024-12-18
GitHub Copilot: مساعدك في البرمجة بالذكاء الاصطناعي

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

Zipshare: مشاركة شاشة Android بدون عناء لفِرَق الدعم

2024-12-18

يوفر Zipshare مشاركة شاشة Android سلسة، مثالية لفِرَق الدعم الداخلية التي تدعم موظفي التجزئة أو الموظفين الميدانيين. لا حاجة للتسجيل أو معرف الاجتماع للشخص الذي يشارك شاشته - فقط مشاركة فورية، مع خيار إضافة دردشة صوتية أو فيديو خاصة بك. من إنتاج Miso Software.

ISO 8583: لغة بطاقات الائتمان السرية

2024-12-18
ISO 8583: لغة بطاقات الائتمان السرية

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

تحديث محرك ألعاب Castle Game Engine: هدف ويب، ودعم IFC، والتعاون مع mORMot

2024-12-18
تحديث محرك ألعاب Castle Game Engine: هدف ويب، ودعم IFC، والتعاون مع mORMot

أعلن فريق Castle Game Engine عن تحديثات تشمل هدف ويب (باستخدام JS+WebAssembly لتشغيل الألعاب في المتصفح)، ودعم تنسيق IFC (فئات مؤسسة الصناعة) والتحرير التعاوني باستخدام mORMot2. يدعم هدف الويب حاليًا الوظائف الأساسية، ويجري تحسين دعم WebGL. يسمح دعم IFC بتحميل وتعديل وحفظ النماذج، مع تحسينات مستقبلية مخطط لها. لا يزال التحرير التعاوني قيد التطوير، ولكنه يسمح بالفعل بتعديل عالم 3D ومزامنة الخادم.

التطوير محرك ألعاب

Brisk: إطار عمل واجهة مستخدم رسومية متعدد المنصات بلغة C++20 لـالعرض عالي الأداء

2024-12-18
Brisk: إطار عمل واجهة مستخدم رسومية متعدد المنصات بلغة C++20 لـالعرض عالي الأداء

Brisk هو إطار عمل واجهة مستخدم رسومية حديث ومتعدد المنصات بلغة C++20، مصمم لإنشاء تطبيقات سريعة الاستجابة وعالية الأداء بسهولة. باستخدام بنية MVVM والقدرات التفاعلية، يتميز Brisk بعرض رسومي قابل للتطوير مع تسريع وحدة معالجة الرسومات، مما يجعله مثاليًا للمشاريع كثيفة الرسوميات. يدعم العديد من الخلفيات (D3D11، D3D12، Vulkan، OpenGL، Metal، WebGPU) ويتميز بواجهة مستخدم رسومية وصفية، وورقات أنماط، ودعم كامل لـUnicode. يخضع حاليًا للتطوير النشط، ومرحباً بالمساهمات.

Hadrius توظف مصمم واجهة مستخدم/تجربة مستخدم مؤسس، براتب يصل إلى 150 ألف دولار

2024-12-18
Hadrius توظف مصمم واجهة مستخدم/تجربة مستخدم مؤسس، براتب يصل إلى 150 ألف دولار

تعلن شركة Hadrius، وهي شركة ناشئة في مجال التكنولوجيا المالية مدعومة من Y Combinator، عن وظيفة شاغرة لمصمم واجهة مستخدم/تجربة مستخدم مؤسس. تستخدم الشركة الذكاء الاصطناعي لأتمتة العمليات الخلفية للشركات المالية، ومنع الأزمات المالية المستقبلية. الوظيفة بدوام كامل في مدينة نيويورك، براتب يتراوح بين 80 ألف دولار و150 ألف دولار، بالإضافة إلى أسهم تتراوح نسبتها بين 0.01% و0.15%. المرشح المثالي هو مصمم ماهر ذو خبرة في شركة تكنولوجيا تركز على التصميم، يجيد استخدام Figma، ويُظهر حماسًا تجاه مهمة Hadrius. يضم الفريق مهندسين من Google وChime وغيرها من الشركات الرائدة، وتشهد الشركة نموًا سريعًا، حيث يتضاعف دخلها كل ثلاثة أشهر.

أدوات قوية للقيادة: SQL والإحصاءات والقرارات القائمة على البيانات

2024-12-18
أدوات قوية للقيادة: SQL والإحصاءات والقرارات القائمة على البيانات

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

التطوير قيادة الهندسة

Canva تقلص أوقات بناء تكامل مستمر من ساعات إلى أقل من 30 دقيقة

2024-12-18
Canva تقلص أوقات بناء تكامل مستمر من ساعات إلى أقل من 30 دقيقة

قلص فريق هندسة Canva أوقات بناء التكامل المستمر (CI) بشكل كبير، من متوسط 80 دقيقة إلى أقل من 30 دقيقة، وأحيانًا تصل إلى 15 دقيقة فقط. تم تحقيق ذلك من خلال نهج متعدد الجوانب. لقد حددوا وحلوا مشاكل ذاكرة التخزين المؤقت لـ Bazel، وقاموا بتحسين بنية خطوط الأنابيب، وتحسين عمليات الخروج من مستودع Git وذاكرة التخزين المؤقت، واستخدموا تنفيذ البناء عن بُعد من Bazel (RBE). لعبت التجارب المكثفة، بما في ذلك اختبار أنواع مثيلات مختلفة وضبط إعدادات Bazel، دورًا بالغ الأهمية. أدت سلسلة من التحسينات المتزايدة إلى زيادة كفاءة CI بشكل كبير، وخفض التكاليف، وتحسين تجربة المطور.

مشروع جيثب ted: محرر ملفات قائم على آلة تورينج

2024-12-18
مشروع جيثب ted: محرر ملفات قائم على آلة تورينج

ted هي أداة سطر أوامر مكتوبة بلغة Go تسمح للمستخدمين بتحرير الملفات وفقًا لقواعد آلة تورينج المُقدّمة. مستوحاة من حاجة الكاتب لمعالجة ملفات السجلات، تستخدم ted آلات الحالة لاستخراج المعلومات المطلوبة بدقة. تدعم العديد من العمليات، بما في ذلك مطابقة التعابير العادية، وتنفيذ أوامر sed، وتعيين المتغيرات، والتقاط والتحكم في الإخراج، وتوفر ميزات مثل التقاط سطور متعددة، ومجموعات التقاط regex، وتحريك رأس/ذيل الملف.

تطبيق Homescreen: إعادة تعريف تجربة الشاشة الرئيسية

2024-12-18

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

استعادة بيانات المُستشعر: التحرر من السحابة

2024-12-18
استعادة بيانات المُستشعر: التحرر من السحابة

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

امتداد المتصفح "refoorest" متهم بخداع زراعة الأشجار

2024-12-18
امتداد المتصفح

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

تحسين أداء JSON في روبي: الجزء الأول

2024-12-18

تتناول هذه المدونة كيفية قيام الكاتب بتحسين أداء جوهرة JSON في لغة البرمجة روبي لتصبح واحدة من أسرع محركات تحليل وإنشاء JSON. وبدلاً من استخدام تقنيات معقدة، تم تطبيق تحسينات بسيطة بناءً على عملية تحديد المواقع، مثل تجنب عمليات الفحص الزائدة، وإعطاء الأولوية للشروط الأقل تكلفة، وتقليل تكاليف الإعداد، واستخدام جداول البحث. وتنطبق هذه التحسينات على كود كل من C و روبي. وقد أدت هذه التحسينات إلى زيادة كبيرة في أداء جوهرة JSON، مما جعلها تنافسية مع بدائل مثل oj، وتقليل الحاجة إلى استخدام تقنية Monkey Patching، وحل مشاكل الاستقرار والتوافق المرتبطة بـ oj.

التطوير

ImPlot3D: مكتبة رسم بياني ثلاثية الأبعاد عالية الأداء في الوضع الفوري تعتمد على Dear ImGui

2024-12-18
ImPlot3D: مكتبة رسم بياني ثلاثية الأبعاد عالية الأداء في الوضع الفوري تعتمد على Dear ImGui

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

مُفسّرٌ دَائِرِيٌّ مِتَا لبايثون: تنفيذ مُفسّر بايثون في بايثون

2024-12-18

تشرح هذه المقالة كيفية إنشاء مُفسّر دَائِرِيٌّ مِتَا لبايثون (MCI) باستخدام بايثون نفسه. يُعرف الـ MCI بأنه مُفسّر مكتوب بلغة البرمجة التي يُفسّرها، مما يسمح بتنفيذ مجموعة فرعية أو مجموعة شاملة من لغة المضيف. يُفصّل الكاتب عملية تنفيذ الـ MCI، بما في ذلك تحليل شفرة المصدر في بايثون، وإنشاء شجرة بناء جملة مجردة (AST)، و اجتياز الـ AST وتنفيذ الجُمَل، بالإضافة إلى مفاهيم أساسية مثل النطاق، وجداول الرموز، ومعالجة جُمَل التحكم في التدفق (مثل حلقات while وجُمَل if). يُقدّم هذا المثال فهمًا عميقًا لآلية المُفسّر، ويُبيّن كيفية الاستفادة من وحدة AST في بايثون والدوال المدمجة لبناء مُفسّرين أكثر تعقيدًا.

دفاتر Jupyter: اختبارات من طرف إلى طرف والتوثيق في واحد

2024-12-18

خلال تطوير مكتبة حوسبة الكم، استخدم الكاتب دفاتر Jupyter كدلائل مستخدم واختبارات من طرف إلى طرف. من خلال قراءة متغيرات البيئة (مثل SERVER_URL) داخل الدفاتر، تم تحقيق المعلمات، مما يسمح بتنفيذها من قبل المستخدمين وأنابيب CI/CD الآلية. تم استكشاف طريقتين لتنفيذ الدفاتر: nbclient للبساطة، و nbconvert/jq لمزيد من التحكم ولكن بزيادة التعقيد. اختار الكاتب سهولة استخدام nbclient، مدمجًا بشكل فعال صيانة الوثائق واختبارات الكود، مما يضمن سلامة كليهما مع كل طلب دمج.

ترويض الفوضى: تمركز وهيكلة معالجة الأخطاء في جو

2024-12-18
ترويض الفوضى:  تمركز وهيكلة معالجة الأخطاء في جو

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

التطوير جو
1 2 205 206 207 209 211 212 213 214