Category: التطوير

وداعًا، مُولِّدات المواقع الثابتة: مدونتي الآن بلغة HTML الخام

2025-02-10

سئمت من التحديثات المستمرة ومشاكل التوافق مع مُولِّدات المواقع الثابتة، فقد خضعت مدونتي للعديد من التحديثات، وأخيرًا استقرت على استخدام لغة HTML الخام، مع استخدام md-block لـ Markdown و highlight.js لتمييز بناء الجملة. إن مشغلات الصوت والفيديو المدمجة في المتصفح وعمر HTML الطويل يُخلّصاني من مشاكل توافق السمات ويضمن توفر المحتوى على المدى الطويل.

شكرًا لك بوتستراب: قصيدة مطور

2025-02-10

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

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

py3-TTS-Wrapper: مكتبة نص إلى كلام موحدة متعددة المنصات

2025-02-10
py3-TTS-Wrapper: مكتبة نص إلى كلام موحدة متعددة المنصات

py3-TTS-Wrapper هي مكتبة بايثون توفر واجهة موحدة لسهولة دمج العديد من خدمات تحويل النص إلى كلام (TTS) مثل AWS Polly و Google TTS و Microsoft Azure TTS. تدعم SSML للتحكم المُحسّن، مما يسمح بتخصيص الصوت واللغة والحجم والنبرات والسرعة. وتشمل الميزات البث وإخراج الملفات ودعم محركات العمل دون اتصال بالإنترنت (eSpeak-NG و PicoTTS). سواء كنت بحاجة إلى TTS في مشروعك أو كنت ترغب في استكشاف محركات TTS مختلفة، فإن py3-TTS-Wrapper يبسط العملية.

التطوير

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

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

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

التطوير

نقاط ضعف مستخدم الطرفية: حتى الخبراء يواجهون صعوبات

2025-02-09

كشف استطلاع رأي أُجري على 1600 مستخدم للطرفية عن إحباطات مستمرة، حتى بين المستخدمين ذوي الخبرة (40٪ لديهم خبرة تزيد عن 21 عامًا). وتشمل المشاكل الرئيسية تذكر بناء جملة الأوامر (awk و jq و sed وما إلى ذلك)، واختصارات لوحة المفاتيح (tmux، محرري النصوص)، والتنقل بين عدم الاتساق بين الأنظمة (اختلافات نظام التشغيل، اختلافات المحررين). ظهرت أيضًا تكوين الألوان، والنسخ/اللصق (عبر SSH و tmux وما إلى ذلك)، وصعوبة اكتشاف الأدوات المفيدة، ومنحنى التعلم الحاد، وإدارة سجل shell، والوثائق غير الكافية بشكل متكرر. وتبرز النتائج الصعوبات المستمرة التي يواجهها حتى المستخدمون ذوو الخبرة مع تفاصيل الطرفية الدقيقة، مما يؤكد الحاجة إلى تحسين تجربة المستخدم.

ثلاثة أيام من الجحيم: من أداة مساعدة بايثون إلى تطبيق ويب

2025-02-09
ثلاثة أيام من الجحيم: من أداة مساعدة بايثون إلى تطبيق ويب

أمضى الكاتب ثلاثة أيام في محاولة تحويل أداة مساعدة بايثون بسيطة إلى تطبيق ويب. فشلت المحاولات الأولية باستخدام إطارات Flask وBottle بسبب مشاكل CORS وتعقيدات طلبات غير متزامنة. ثبت أن الغوص في واجهة برمجة التطبيقات Fetch في جافا سكريبت وواجهة برمجة تطبيقات REST في Node.js أمر مرهق للغاية للحفاظ عليه. في النهاية، عاد الكاتب إلى تطبيق Bottle الأصلي، وقَبِل وقت انتظار المستخدم لإكمال الطلب مقابل رمز أبسط وأسهل في الصيانة. هذا يبرز أهمية الخيارات التكنولوجية: في بعض الأحيان، يكون الحل الأبسط هو الأفضل.

التطوير

أفضل الممارسات في PostgreSQL: بناء نظام قاعدة بيانات قوي وموثوق

2025-02-09
أفضل الممارسات في PostgreSQL: بناء نظام قاعدة بيانات قوي وموثوق

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

التطوير

الإعلان عن جوائز Ada/SPARK Crate of the Year!

2025-02-09
الإعلان عن جوائز Ada/SPARK Crate of the Year!

أُعلنت نتائج جوائز Ada/SPARK Crate of the Year لعام 2024! فاز ليونيل دراغي بجائزة Ada Crate of the Year عن BBT، وهي أداة سطر أوامر تستخدم مواصفات سلوك سهلة الفهم بلغة Markdown لاختبارات آلية. وحصل كيفن تشادويك على جائزة SPARK Crate of the Year عن elogs، وهي مكتبة تسجيل آمنة للذاكرة (معتمدة من SPARK بمستوى الفضة) تسمح للمستخدمين بتحديد الحد الأقصى لطول الرسالة. وأخيرًا، فاز مترجم Lisp القابل للتضمين من برنت سيدل، bbs_lisp، بجائزة Embedded Crate of the Year، مما يُظهر نقاط القوة في Ada في الأنظمة المضمنة.

التطوير

حرب راست الطويلة من أجل نواة لينكس

2025-02-09
حرب راست الطويلة من أجل نواة لينكس

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

التطوير

التغلب على نظام الملفات الثابت في Steam Deck باستخدام Nix و Home Manager

2025-02-09
التغلب على نظام الملفات الثابت في Steam Deck باستخدام Nix و Home Manager

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

التطوير

arXivLabs: بناء ميزات arXiv الجديدة مع المتعاونين من المجتمع

2025-02-09
arXivLabs: بناء ميزات arXiv الجديدة مع المتعاونين من المجتمع

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

التطوير

التوقيع على طلبات واجهة برمجة التطبيقات: المصائد وأفضل الممارسات

2025-02-09

تتناول هذه المقالة التحديات الأمنية المرتبطة بتوقيع طلبات واجهة برمجة التطبيقات، وتحديداً صعوبات توقيع كائنات JSON. ويشير الكاتب إلى أن التوقيع البسيط باستخدام HMAC آمن، لكن التوقيع المباشر داخل كائن JSON قد يؤدي إلى مشاكل متعددة، مثل وجود عدة تمثيلات مكافئة لـ JSON تؤدي إلى فشل التحقق من صحة التوقيع. وتقارن المقالة وتحليلات عدة طرق للتوقيع، بما في ذلك توحيد JSON، وإضافة بيانات توقيع زائدة، واستخدام تنسيقات بديلة. وتوضح أمثلة من مخططات التوقيع الخاصة بـ AWS و Flickr مخاطر الأمان الناجمة عن التنفيذات المعيبة. وفي النهاية، يوصي الكاتب بإعطاء الأولوية لـ TLS وتجنب التوقيع المباشر على JSON، واختيار التوقيع الخارجي لضمان أمان طلبات واجهة برمجة التطبيقات.

توسيع نطاق PostgreSQL: مشكلات غريبة وحلول للشركات الناشئة سريعة النمو

2025-02-09
توسيع نطاق PostgreSQL: مشكلات غريبة وحلول للشركات الناشئة سريعة النمو

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

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

2025-02-09
كاناتا: إعادة تعيين لوحة المفاتيح متعددة المنصات لزيادة الراحة

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

التطوير

أداء محير لجمع القمامة من الجيل

2025-02-09

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

التطوير

فهم العمارة القائمة على الخلايا من خلال كارثة الزومبي

2025-02-09
فهم العمارة القائمة على الخلايا من خلال كارثة الزومبي

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

التفرع الشرطي على وحدة معالجة الرسومات: الخرافة مقابل الواقع

2025-02-09

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

التطوير الظل التحسين

دليل أمثلة FlashLearn: دليل بدء تشغيل سريع لأنماط الذكاء الاصطناعي

2025-02-09
دليل أمثلة FlashLearn: دليل بدء تشغيل سريع لأنماط الذكاء الاصطناعي

يوفر FlashLearn دليلًا لأمثلة البرامج النصية لتمكين المستخدمين من البدء بسرعة في استخدام نماذج الذكاء الاصطناعي الخاصة به. ما عليك سوى تثبيت FlashLearn، وتعيين مفتاح API الخاص بك، وتشغيل البرامج النصية بلغة Python المقدمة (مثل sentiment_classification.py) لتجربة وظائف مثل تصنيف المشاعر. سيتم عرض النتائج على وحدة التحكم وفي ملف results.jsonl.

السحر الدنيوي للتكنولوجيا: احتضان العمل الشاق

2025-02-09
السحر الدنيوي للتكنولوجيا: احتضان العمل الشاق

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

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

الوصول عن بُعد إلى Home Assistant بدون عنوان IP عام: حل ZeroTier

2025-02-09

تشرح هذه المقالة كيفية الوصول عن بُعد إلى خادم Home Assistant الخاص بك باستخدام خدمة ZeroTier المجانية، حتى بدون عنوان IP عام. يشرح الكاتب سبب عدم تمكن العديد من مستخدمي المنازل الذين يستخدمون الإنترنت اللاسلكي من الوصول عن بُعد مباشرة، ثم يستعرض عملية تكوين ZeroTier: إنشاء حساب، وإعداد شبكة افتراضية، وتكوين إضافة Home Assistant، واتصال الجهاز المحمول. يختتم الكاتب تحذيره من أن ZeroTier يعتمد على بنية تحتية تابعة لجهات خارجية، ويوصي بالحصول على عنوان IP عام وإعداد نفق VPN قياسي للأمان على المدى الطويل.

التطوير

منحنى تأثير نماذج اللغة الكبيرة على مهندسي البرمجيات

2025-02-09
منحنى تأثير نماذج اللغة الكبيرة على مهندسي البرمجيات

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

التطوير

daily-notes.nvim: إضافة قوية لملاحظات دورية في Neovim

2025-02-09
daily-notes.nvim: إضافة قوية لملاحظات دورية في Neovim

daily-notes.nvim إضافة لـ Neovim لإنشاء ملاحظات دورية للكتابة اليومية والتخطيط، مستوحاة من ميزة مماثلة في Obsidian و Journal.nvim. تتيح هذه الإضافة تنسيقات تواريخ مخصصة، واستراتيجيات متعددة لتحليل التواريخ، وتوفر أوامر :DailyNote و :FuzzyTime لإنشاء وإدارة الملاحظات بسهولة. تدعم الملاحظات اليومية والأسبوعية، وتتعامل مع تعبيرات التواريخ الغامضة مثل "الثلاثاء القادم"، "قبل أسبوعين"، إلخ. تم اختبارها بشكل أساسي على Arch Linux، لكن من المفترض أن تعمل على أنظمة UNIX الأخرى.

التطوير

واجهات Go: التحقق الثابت وقت التجميع، والإرسال الديناميكي وقت التشغيل

2025-02-09

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

إدارة الهندسة: تأملات من الخندق

2025-02-09
إدارة الهندسة: تأملات من الخندق

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

استعادة التحكم في متصفحك: علامات مرجعية وإضافات

2025-02-09

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

هل ستقضي التجريد البرمجي على الحضارة؟ دحض ادعاء مثير للجدل من مطور ألعاب

2025-02-08

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

إعادة لف تلقائية لاختبارات NuttX اليومية

2025-02-08
إعادة لف تلقائية لاختبارات NuttX اليومية

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

ملفات GIF في عام 2025: AVIF و WebP والفيديو تحتلّ الصدارة

2025-02-08
ملفات GIF في عام 2025: AVIF و WebP والفيديو تحتلّ الصدارة

يُحدّث هذا المقال مقالًا من عام 2022 حول بدائل GIF. أصبح ترميز الفيديو AV1 وملف AVIF المتحركة مدعومين الآن في جميع المتصفحات (مع بعض التحفظات على Safari). يظلّ WebP منافسًا قويًا نظرًا لحجمه ودعمه الواسع في المتصفحات. يدعم JPEG-XL الصور الثابتة، لكن دعم الرسوم المتحركة محدود. يستكشف المقال أيضًا استخدام عنصر ``، ويقارن بين مشفرات AV1 و VP9، ويبرز استعلامات الوسائط للفيديوهات المتجاوبة. على الرغم من أن AVIF واعد، إلا أن مشاكل معدل الإطارات الحالية وأخطاء المتصفح في Safari تجعل من الصعب تقديم توصية عامة. يعتمد الخيار الأفضل على احتياجات المشروع والتسويات المتعلقة بتوافق المتصفح.

من ساعات إلى 360 مللي ثانية: هندسة زائدة لحل لغز

2025-02-08

حاول الكاتب حل لغز سودوكو بهدف إيجاد الحل الذي ينتج أكبر قاسم مشترك أعظم ممكن بين تسعة أرقام مكونة من تسعة أرقام مشكلة من الصفوف. فشلت المحاولات الأولية باستخدام مُحلل Z3 في إيجاد حل في غضون ساعات. استخدم الكاتب بعد ذلك عدة استراتيجيات تحسين: تحليل رياضي لتقليل مساحة البحث، وخوارزمية BFS، وتحسينات متكررة لوظيفة `is_good`، بالانتقال من HashSet إلى bitset، وأخيرًا استخدام SIMD للحساب المتجهي. قلل تعدد مؤشرات الترابط ومزامنة الخيوط المُحسّنة من وقت الحل من ساعات إلى 360 مللي ثانية، محققًا تسريعًا بأكثر من 1600 مرة. على الرغم من أن الإجابة المُشفّرة قد أثبتت أنها الأسرع، إلا أن المقال يُظهر كيف أن حتى المشاكل الحسابية البسيطة على ما يبدو توفر مكاسب أداء كبيرة من خلال التحسين الخوارزمي الدقيق.

التطوير

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

2025-02-08

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

التطوير التنسيق
1 2 164 165 166 168 170 171 172 213 214