Category: التطوير

ملاحظات إصدار HTMX v2.0.4: إصلاحات الأخطاء والتحسينات

2024-12-14
ملاحظات إصدار HTMX v2.0.4: إصلاحات الأخطاء والتحسينات

تُفصّل ملاحظات إصدار HTMX v2.0.4 العديد من إصلاحات الأخطاء والتحسينات. يركز هذا الإصدار على تحسينات الاستقرار والتوافق، بما في ذلك إصلاحات لمشاكل Shadow DOM المتداخلة، وتحسين سلوك `hx-boost` في النماذج، ودعم أفضل لمكونات الويب وShadow DOM، وامتدادات مُحدّثة لتحسين الأداء والموثوقية. كما يتضمن ذلك تعديلات على دالة `htmx.ajax`، وتحسينات في معالجة أحداث `hx-trigger`.

أستاذ الدكتوراه يُحسّن الكتابة تلقائيًا باستخدام نصوص Shell

2024-12-14

لإصلاح أسلوب كتابة طلابه في الدكتوراه، أنشأ أستاذ ثلاثة نصوص Shell لاكتشاف الإفراط في استخدام الصيغة المبنية للمفعول، والكلمات الغامضة، والكلمات المكررة. وبدمجها في نظام بناء LaTeX الخاص بهم، تشجع هذه النصوص على اتخاذ خيارات واعية لتحقيق الوضوح والدقة، بدلاً من الالتزام الأعمى بقواعد النحو. يدعو الأستاذ المبرمجين إلى استخدام الأتمتة لمكافحة نقاط الضعف في الكتابة، ويُوصي بموارد مثل "Style: The Basics of Clarity and Grace".

تحديث macOS 15.2 يُعطّل ميزة نسخ النظام: المستخدمون يواجهون كابوسًا في نسخ البيانات الاحتياطي

2024-12-14

تسبب خطأ خطير في macOS 15.2 في تعطيل ميزة نسخ النظام، مما أدى إلى فشل عمليات نسخ البيانات الاحتياطي مع ظهور خطأ "المورد مشغول", خاصةً عند محاولة نسخ أقسام Preboot أو Recovery. يشرح المطور Dave Nanian أن المشكلة نابعة من تعليمات برمجية خاصة بشركة أبل، ولا يوجد حاليًا حل سهل لها. يضطر المستخدمون إلى الاعتماد على حلول نسخ احتياطي تابعة لجهات خارجية، باستخدام طريقة "نسخ احتياطي - جميع الملفات" مع تحديث ذكي لاستعادة بياناتهم بعد تثبيت نظيف للنظام. هذه المشكلة تسبب إحباطًا كبيرًا للمستخدمين، خاصةً مع اقتراب موسم العطلات.

Farebox: مشروع توجيه متعدد الوسائط في Rust

2024-12-14
Farebox: مشروع توجيه متعدد الوسائط في Rust

Farebox هو تطبيق سريع لخوارزمية RAPTOR بلغة Rust، مصمم للآلات ذات الذاكرة المحدودة. يستخدم Valhalla للعمليات الانتقالية وتوجيه المسافات القصيرة، ويدعم التوجيه متعدد الوكالات والواعي بالمناطق الزمنية. يهدف المشروع إلى تكملة OpenTripPlanner، وتوفير خدمة إضافية للمناطق غير المغطاة بالمثيلات الحالية. يتم استخدام تعيين الذاكرة لجداول المواقيت للسماح بتغطية عالمية بمثيل واحد، وتقليل تكاليف الاستضافة. تشمل الخطط المستقبلية دعم GTFS-RT، وربما rRAPTOR لحساب مسارات متزامنة عبر أوقات مغادرة متنوعة.

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

لغة البرمجة لون: لغة لوا ثابتة النوع

2024-12-14
لغة البرمجة لون: لغة لوا ثابتة النوع

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

التطوير ثابتة النوع

SCCS: فندق الشيفرة المصدرية بعد 50 عامًا

2024-12-13

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

الهندسة السداسية في روبي أون ريلز: مسار نحو الفصل

2024-12-13
الهندسة السداسية في روبي أون ريلز: مسار نحو الفصل

تتناول هذه المقالة تطبيق الهندسة السداسية (نمط المنافذ والمحولات) في تطبيقات روبي أون ريلز. واجه الكاتب صعوبة في البداية مع هذا النمط، حتى أدرك أن مصطلح "المحول" يشير مباشرةً إلى نمط المحول في نمط العصابة الأربعة. تشرح المقالة بالتفصيل مفاهيم المنافذ الواردة والصادرة، وكيفية استخدام المحولات لفصل منطق التطبيق عن الخدمات الخارجية (مثل قواعد البيانات، والسجلات، والبريد الإلكتروني، إلخ). يمكن لوحدات التحكم في روبي أون ريلز أن تعمل كمحولات HTTP، لكن الكاتب يؤكد على تجنب استخدام ActiveRecord مباشرةً. بدلاً من ذلك، تستخدم مستودعات مخصصة للوصول إلى البيانات، مما يحسن الفصل والصيانة. وتختتم المقالة بتشجيع مطوري روبي أون ريلز على تبني الهندسة السداسية لتطبيقات أكثر قوة وسهولة في الصيانة.

إعادة استخدام الهواتف الذكية القديمة كعقد في مجموعة Kubernetes باستخدام postmarketOS

2024-12-13
إعادة استخدام الهواتف الذكية القديمة كعقد في مجموعة Kubernetes باستخدام postmarketOS

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

تجاوز إجراءات التخفيف في نواة Windows: غوص عميق في Violet Phosphorus

2024-12-13

تتناول هذه المقالة بالتفصيل كيفية تجاوز إجراءات التخفيف الحديثة في نواة Windows 10 و 11، مثل SMEP و VBS. يصف الكاتب تقنية Violet Phosphorus العالمية لتجاوز VBS/SMEP، مع توفير رمز PoC وسلسلة ROP. يشرح آلية عمل SMEP و VBS، ويُظهر كيفية استغلال ثغرة أمنية في برنامج تشغيل HackSysExtremeVulnerableDriver لاستخدام أدوات ROP ووظيفة MiGetPteAddress لتعديل إدخالات جدول الصفحات، مما يسمح بتنفيذ التعليمات البرمجية في النواة. كما يوضح الكاتب كيفية استخدام shellcode SYSRET من Kristal-G للعودة إلى وضع المستخدم. هذه مورد قيّم لمطوري استغلال النواة وباحثي الأمن، مصنف ضمن فئة التطوير.

إصدار مكتبة Node.js EPUB @smoores/epub

2024-12-13
إصدار مكتبة Node.js EPUB @smoores/epub

تم إصدار مكتبة Node.js جديدة، وهي @smoores/epub، والتي تتيح للمطورين فحص وتعديل وإنشاء منشورات EPUB 3. توفر المكتبة واجهات برمجة تطبيقات عالية المستوى تبسط التفاعل مع مواصفات EPUB، مثل تعيين العنوان واسترجاع معلومات المؤلف. كما توفر واجهات برمجة تطبيقات منخفضة المستوى تحكمًا دقيقًا في بنية EPUB، مما يتيح مهامًا مثل إضافة فصول وبيانات وصفية. تعتمد مكتبة @smoores/epub على fast-xml-parser، وتوفر إمكانيات قوية لتحليل XML ومعالجته، مما يسهل التعامل بكفاءة مع محتوى XML في ملفات EPUB.

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

إعادة التشغيل المجدولة: نهج وقائي

2024-12-13

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

مايكروسوفت تطلق مشروع MarkItDown مفتوح المصدر: أداة لتحويل الملفات إلى Markdown

2024-12-13
مايكروسوفت تطلق مشروع MarkItDown مفتوح المصدر: أداة لتحويل الملفات إلى Markdown

أصدرت مايكروسوفت مشروع MarkItDown مفتوح المصدر، وهو أداة بايثون لتحويل أنواع مختلفة من الملفات (بما في ذلك PDF وPowerPoint وWord وExcel والصور والصوت وHTML) إلى تنسيق Markdown. تتميز الأداة بواجهة برمجة تطبيقات بسيطة، وتدعم مجموعة واسعة من أنواع الملفات، وتتضمن ميزات OCR والنسخ الصوتي لتحسين الوظائف، مما يجعلها مثالية لتحليل النصوص أو الفهرسة. الاستخدامات مفتوحة للمساهمات، والمشروع ملتزم بقواعد سلوك المصدر المفتوح لمايكروسوفت.

جمع الدورات المتزامن: مؤشرات ذكية مع جمع القمامة في Rust لـ Scheme

2024-12-13

تشرح هذه المقالة بالتفصيل تنفيذ جامع دورات متزامن في Rust للمؤشرات الذكية مع جمع القمامة (Gc) داخل مُفسّر Scheme. يعمل Gc بشكل مشابه لـ Arc>، مع دعم قابلية التعديل الداخلية، والنسخ، والإرسال عبر مؤشرات الترابط. تشرح المقالة بالتفصيل تنفيذ Gc، بما في ذلك قابلية التعديل الداخلية الآمنة للخيوط باستخدام الإشارات الضوئية وأقفال القراءة/الكتابة، وتفاصيل تنفيذ جمع الدورات المتزامن بناءً على خوارزمية Bacon وRajan. وهذا يشمل سمة Trace، وكشف الدورات، وآليات التعامل مع التعديلات المتزامنة.

HyperDX توظف مهندسين متخصصين في التطبيقات الكاملة، والواجهة الأمامية، والواجهة الخلفية

2024-12-13
HyperDX توظف مهندسين متخصصين في التطبيقات الكاملة، والواجهة الأمامية، والواجهة الخلفية

تعلن شركة HyperDX، المدعومة من Y Combinator، عن وظائف شاغرة لتوظيف مهندسين متخصصين في التطبيقات الكاملة، والواجهة الأمامية، والواجهة الخلفية. تبني HyperDX منصة مراقبة مفتوحة المصدر وسهلة الاستخدام للمطورين، بهدف استبدال أدوات مثل Datadog و New Relic، لمساعدة المهندسين على تحديد مشاكل الإنتاج بسرعة أكبر. توفر الشركة رواتب تنافسية وخيارات العمل عن بُعد، وتستهدف المهندسين ذوي الخبرة.

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

صانع ألعاب يبني لعبة إطلاق نار بالليزر: من لعبة ليغولاند إلى متعة الهالوين مع ESP32

2024-12-13
صانع ألعاب يبني لعبة إطلاق نار بالليزر: من لعبة ليغولاند إلى متعة الهالوين مع ESP32

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

التطوير صانع

دوالت التجزئة الجديدة Rain Hashes: السرعة والأمان مجتمعين

2024-12-13
دوالت التجزئة الجديدة Rain Hashes: السرعة والأمان مجتمعين

أصدرت DOSAYGO Research مجموعة جديدة من دوال التجزئة تسمى Rain Hashes، والتي تتضمن خوارزميتي Rainbow وRainstorm. تتميز Rainbow بسرعتها الاستثنائية، مما يجعلها مثالية للتجزئة العامة. وقد اجتازت تنفيذها بلغة C++ جميع اختبارات SMHasher3، وتتميز بكودها المختصر والكفؤ. أما Rainstorm، فتُعطي الأولوية للأمان؛ على الرغم من عدم مراجعتها رسميًا، إلا أن تصميمها يدمج عناصر من دوال التجزئة المشفرة، ويقدم أحجامًا للإخراج من 64 إلى 512 بت. يوفر المشروع تنفيذات بلغات C++ وWASM وNode.js، بالإضافة إلى أداة سطر أوامر واختبارات قياسية لتسهيل التقييم والاستخدام.

التطوير دالة التجزئة

ويب أوريجامي: لغة برمجة جديدة لتبسيط إنشاء مواقع الويب

2024-12-13

ويب أوريجامي هي لغة برمجة جديدة صُممت لتبسيط إنشاء مواقع الويب الصغيرة والمتوسطة الحجم. باستخدام بناء جملة موجز يكمل HTML و CSS، يمكن للمستخدمين وصف بنية موقع الويب باستخدام صيغ مشابهة لتلك الموجودة في جداول البيانات، وتحويل البيانات والملفات إلى HTML وغيرها من موارد موقع الويب من خلال برامج بسيطة. حتى بدون معرفة JavaScript، يمكن إنشاء ميزات مثل البحث النصي الكامل و خلاصات RSS. يوفر ويب أوريجامي واجهة سطر أوامر، ووظائف مدمجة، ومكتبة async-tree، مع دعم ملحقات JavaScript. مفهومه الأساسي هو تجريد إنشاء مواقع الويب كتغيير للبيانات، مما يجعل إنشاء ونشر مواقع الويب فعالاً، منخفض التكلفة، وسهل الفهم.

ثغرات أمنية ناتجة عن مُولِّد الأعداد العشوائية الضعيف في Dart/Flutter

2024-12-13
ثغرات أمنية ناتجة عن مُولِّد الأعداد العشوائية الضعيف في Dart/Flutter

كشف بحث Zellic عن العديد من الثغرات الأمنية التي تسببها مُولِّد الأعداد العشوائية (PRNG) الضعيف في Dart/Flutter. أدى عيب في تهيئة دالة `Random()` داخل مجموعة أدوات تطوير Dart إلى عدم كفاية الانتروبيا في المفاتيح المُولَّدة، مما جعلها عرضة لهجمات القوة الغاشمة. سمح هذا للمهاجمين بالوصول بسهولة إلى Dart Tooling Daemon، مما مكنهم من قراءة أو كتابة ملفات مساحة العمل، بل وحتى تنفيذ تعليمات برمجية عشوائية. علاوة على ذلك، تأثرت مشاريع Proton Wallet وSelfPrivacy أيضًا بهذا المُولِّد الضعيف، حيث واجهت ثغرات تشفير ومشاكل تتعلق بكلمات مرور قابلة للتنبؤ. على الرغم من إصلاح الثغرة الأمنية، يُحث المطورون على توخي الحذر عند استخدام دالة `Random()`، واستخدام `Random.secure()` عندما تكون هناك حاجة إلى أعداد عشوائية آمنة تشفيرياً.

التطوير

فكرة ثورية: تطبيق مبادئ Magit على نظام التحكم في الإصدارات jj

2024-12-13

يقترح الكاتب نهجًا مبتكرًا: تطبيق واجهة التحكم في الإصدارات Magit من Emacs (التي تستخدم ملفات نصية كواجهة مستخدم) على نظام التحكم في الإصدارات jj الناشئ. تشير المقالة إلى أن واجهة المستخدم النصية لـ Magit توفر الكفاءة والقدرة على النقل. من خلال الاستفادة من بروتوكول LSP، يمكن تنفيذ تجربة مشابهة لـ Magit في محررات متعددة، مما يتجنب التطوير المتكرر. يتوقع الكاتب إنشاء ملفات نصية محددة (مثل .jj/status.jj) واستخدام ميزات LSP مثل الرموز الدلالية، ونطاقات الطي، والانتقال إلى التعريف، لتحقيق عمليات تحكم في الإصدارات مشابهة لـ Magit. والهدف النهائي هو إنشاء واجهة مستخدم فعالة ومتعددة المنصات للتحكم في الإصدارات jj.

التطوير

الاتساق النهائي: التحديات والأنماط في الأنظمة الموزعة

2024-12-13
الاتساق النهائي: التحديات والأنماط في الأنظمة الموزعة

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

إتقان تصحيح أخطاء Ruby: من puts إلى الأدوات الاحترافية

2024-12-13
إتقان تصحيح أخطاء Ruby: من puts إلى الأدوات الاحترافية

تتناول هذه المدونة من JetBrains RubyMine مختلف الأساليب المتبعة في تصحيح أخطاء كود Ruby، بدءًا من عبارات puts البسيطة وصولًا إلى وحدات التحكم التفاعلية (IRB و Pry) و أداة تصحيح الأخطاء القوية (byebug، debug، و أداة تصحيح أخطاء RubyMine). باستخدام مثال خطأ في العالم الحقيقي، تبرز هذه المدونة نقاط القوة والضعف لكل أداة، وتوجه المطورين لاختيار أداة التصحيح المناسبة لتحسين الكفاءة. وتؤكد المقالة على أن تصحيح الأخطاء الفعال لا يقتصر فقط على إصلاح الأخطاء، بل يتضمن فهم الكود بشكل أساسي لكتابة تطبيقات Ruby أكثر قوة.

مُجمِّع راست: بنية ترميز تدريجي قائم على الاستعلامات

2024-12-13

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

إعادة هيكلة التعليمات البرمجية في C++: أفضل التقنيات والممارسات

2024-12-13
إعادة هيكلة التعليمات البرمجية في C++: أفضل التقنيات والممارسات

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

مأزق مشروع جيت بشأن دمج لغة البرمجة راست

2024-12-13

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

إصدار Trinity Desktop Environment R14.1.3: خفيف الوزن، وكفاءة عالية، ومثالي للأجهزة القديمة

2024-12-13

أصدر فريق مشروع Trinity Desktop Environment (TDE) الإصدار R14.1.3، وهو بيئة سطح مكتب خفيفة الوزن ومجانية مصممة للمستخدمين الذين يفضلون تجربة أنيقة وفعالة. يدعم هذا الإصدار توزيعات Linux و BSD و DilOS المختلفة، ويتميز بمتطلبات نظام منخفضة، مما يجعله مثاليًا للأجهزة القديمة. يتضمن R14.1.3 العديد من التحسينات، مثل دمج واجهة برمجة تطبيقات بوابة سطح المكتب XDG، ووحدة جديدة لإعدادات لوحة اللمس، ومواضيع جديدة ومخططات ألوان، ودعم لتطبيقات ولغات برمجة متنوعة مثل Python 3.13. يحث المشروع على التبرعات لدعم استمرارية تطويره.

استبدال التعليمات البرمجية السريع في Elixir/Erlang: عمليات نشر بدون توقف

2024-12-13

تتناول هذه المقالة إمكانيات استبدال التعليمات البرمجية السريع في Elixir/Erlang، مما يسمح بتحميل وتنزيل التعليمات البرمجية أثناء وقت التشغيل دون الحاجة إلى إعادة تشغيل النظام لتحديثات التطبيقات. يوضح مثال بسيط لوحدة KV الاستبدال السريع يدويًا، بينما يتم تقديم أوامر c/1 و r/1 في iex وأداة Relups لتسهيل إدارة التطبيقات وتحديثات الإصدارات. تشرح المقالة تطبيقات Erlang والإصدارات و appups و relups، مفصّلةً استخدام أداة Distillery لإنشاء إصدارات التطبيقات وإصدارات التحديث، مما يحقق في النهاية عمليات نشر بدون توقف ويمنع انقطاعات الخدمة.

ترويض نماذج اللغات الكبيرة: دليل عملي لتجنب المشاكل

2024-12-12

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

سترايب تحقق في ارتفاع غير متوقع لأخطاء DNS: تحقيق في شبكة معقدة

2024-12-12
سترايب تحقق في ارتفاع غير متوقع لأخطاء DNS: تحقيق في شبكة معقدة

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

حلقة For المتواضعة في Rust: الأداء وسهولة القراءة

2024-12-12

تتناول هذه المقالة المقايضات بين حلقة `for` البسيطة ونهج البرمجة الوظيفية مثل `map` و `fold` في Rust، مع مراعاة كل من الأداء وسهولة القراءة. من خلال معايير مقارنة طرق مختلفة في عمليات المتجهات والمتجهات المتداخلة، يجد الكاتب أن `map` تتفوق غالبًا على حلقات `for` في التحويلات البسيطة، مما يوفر أسلوبًا أكثر وضوحًا. ومع ذلك، بالنسبة للسيناريوهات الأكثر تعقيدًا، مثل جعل المتجهات المتداخلة مسطحة أو معالجة الأخطاء، تُظهر حلقات `for` ميزة أداء كبيرة وتُبقي على وضوح أكبر للرمز. يدافع الكاتب عن نهج عملي، واختيار أفضل أداة للمهمة بدلاً من تفضيل البرمجة الوظيفية بشكل أعمى.

التطوير الأداء حلقة For

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

2024-12-12
وردبريس ضد رأس المال الاستثماري: معركة من أجل مستقبل المصدر المفتوح

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

1 2 206 207 208 209 210 211 213