Category: التطوير

تخصيص السجلات في المُجمعات: غوص عميق

2025-02-17
تخصيص السجلات في المُجمعات: غوص عميق

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

التطوير تخصيص السجلات

السيف ذو الحَدين لأدوات الترميز بالذكاء الاصطناعي: السرعة مقابل الفهم

2025-02-17
السيف ذو الحَدين لأدوات الترميز بالذكاء الاصطناعي: السرعة مقابل الفهم

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

(nmn.gl)
التطوير أساليب التعلم

مطور برامج تشغيل مفتوحة المصدر المخضرم يستقيل بسبب مخاوف تتعلق بالشمولية

2025-02-17

استقال مطور برامج تشغيل Nouveau، كارول هيربست، من منصبه كمسؤول عن برنامج تشغيل رسومات Linux NVIDIA مفتوح المصدر، بسبب خلافات مع مجتمع kernel Linux الرئيسي بشأن الشمولية والاحترام. في استقالته، ذكر هيربست اعتقاده بأن مجتمع البرمجيات المفتوحة المصدر يجب أن يعمل على أساس مبادئ المساواة والاحترام، معربًا عن عدم موافقته على البيانات التي أطلقها مسؤولون آخرون واعتبرها حصرية. وقد ذكر عبارة "نحن الخط الأزرق الرفيع" كمثال على مصدر قلقه، مسلطًا الضوء على الضرر الذي تسببه مثل هذه البيانات. في حين سيواصل مطورو Red Hat، Lyude Paul و Danilo Krummrich، مهمة الصيانة، تعمل Red Hat أيضًا على تطوير NOVA، وهو برنامج تشغيل جديد لنظام NVIDIA مفتوح المصدر قائم على Rust.

برنامج إعداد Windows 95: قصة معقدة بشكل مدهش لنظام تشغيل مصغر

2025-02-17
برنامج إعداد Windows 95: قصة معقدة بشكل مدهش لنظام تشغيل مصغر

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

التطوير

oklch() في CSS Color 4: تغيير جذري لأنظمة التصميم

2025-02-17
oklch() في CSS Color 4: تغيير جذري لأنظمة التصميم

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

الدليل النهائي لتعيين مسار PATH في Bash و Zsh و Fish

2025-02-17

يوفر هذا الدليل شرحًا شاملاً حول كيفية إضافة الدلائل إلى متغير بيئة PATH الخاص بك عبر قذائف مختلفة مثل bash و zsh و fish. وهو يتناول المشاكل الشائعة، مثل تحديد ملف التكوين الصحيح، ومعالجة الإدخالات المكررة، وتكوين PATH ضمن وظائف cron. يستخدم المؤلف أمثلة من العالم الحقيقي لإرشادك خلال العملية، مما يضمن أن تتمكن من تشغيل البرامج بنجاح بعد إتقان تكوين PATH.

أسطورة تاريخ كوبول 1875: هياكل بيانات فعالة، وليس عيبًا في اللغة

2025-02-17
أسطورة تاريخ كوبول 1875: هياكل بيانات فعالة، وليس عيبًا في اللغة

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

SuperSplat 2.0: تحديث رئيسي لمنصة النمذجة ثلاثية الأبعاد مفتوحة المصدر

2025-02-17
SuperSplat 2.0: تحديث رئيسي لمنصة النمذجة ثلاثية الأبعاد مفتوحة المصدر

تلقّت منصة SuperSplat مفتوحة المصدر لتحرير ونشر نماذج Gaussian Splats ثلاثية الأبعاد تحديثًا رئيسيًا! انتقلت إلى نطاق جديد، superspl.at، وهي الآن توفر نشرًا على الويب. يمكن للمستخدمين مشاركة إبداعاتهم بسهولة عبر الإنترنت عن طريق تسجيل الدخول إلى حساباتهم على PlayCanvas. كما تضيف الإصدار 2.0 أيضًا مخططًا زمنيًا لإنشاء رسوم متحركة لطيران الكاميرا، ونسق ملف مشروع جديد .ssproj لحفظ وتحميل المشاريع، وتدعم تجارب الواقع المعزز والواقع الافتراضي الغامرة على Meta Quest 2/3، وهواتف Android الذكية، وApple Vision Pro. SuperSplat مشروع مفتوح المصدر برخصة MIT، وترحب بالمساهمات من المجتمع!

التطوير

Lumigo Copilot: حلّ مشكلة التصحيح في ثوانٍ، وليس ساعات

2025-02-16
Lumigo Copilot: حلّ مشكلة التصحيح في ثوانٍ، وليس ساعات

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

التطوير تحليل السجلات

مولد كود 6502 يتفوق على GCC و LLVM

2025-02-16

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

التطوير

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

2025-02-16
اختراق لتحسين كفاءة أوامر الشل: تحديد الأوامر السابقة بسرعة باستخدام الرموز

هل تبحث عن أوامر وتعيد تشغيلها بشكل متكرر في سجل شل الخاص بك؟ يشارك الكاتب خدعة ذكية: أضف معرفات أيقونات أو نصوص قبل الأوامر (مثل: ✅; ./utils/check.sh). لا تؤثر هذه المعرفات على تنفيذ الأمر، لكنها تحسن بشكل كبير التعرف البصري، مما يسمح لك بالعثور على الأمر المطلوب بسرعة وتقليل الإحباط من التمرير المتكرر عبر السجل. إنها طريقة بسيطة وفعالة لتحسين كفاءة شل.

Caddy: خادم الويب الآمن المعتمد من قبل الأوساط الأكاديمية

2025-02-16
Caddy: خادم الويب الآمن المعتمد من قبل الأوساط الأكاديمية

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

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

أزمة حوكمة إلم: رواية مساهم

2025-02-16

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

تخلص من طرق الحصول على القيم و تعيينها: تبنّي عدم التغيير ورمز أنظف

2025-02-16
تخلص من طرق الحصول على القيم و تعيينها: تبنّي عدم التغيير ورمز أنظف

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

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

جهود مجتمع فيم البطولية بعد وفاة برايم مولينار

2025-02-16
جهود مجتمع فيم البطولية بعد وفاة برايم مولينار

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

التطوير فيم

إعادة التفكير في واجهة برمجة تطبيقات الوقت في لغة C: نهج حديث

2025-02-16

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

OpenVINO تضيف تأثيرات الذكاء الاصطناعي إلى Audacity

2025-02-16

أصدرت Intel مجموعة من المكونات الإضافية للذكاء الاصطناعي تعمل بتقنية OpenVINO لبرنامج Audacity، والتي توفر إمكانيات لقمع الضوضاء، والنسخ، وإنشاء الموسيقى، وفصلها. تعمل وظيفة قمع الضوضاء بشكل مشابه لأداة Audacity المدمجة؛ وتقوم وظيفة النسخ، التي تعمل بواسطة Whisper.cpp، بنسخ وترجمة الصوت؛ وتستخدم وظيفتا إنشاء الموسيقى وإعادة مزج الأنماط تقنية Stable Diffusion لإنشاء موسيقى جديدة؛ وتقوم وظيفة فصل الموسيقى بتقسيم المقاطع إلى أصوات، وآلات موسيقية، أو مكونات فردية مثل الطبول والباس. في الوقت الحالي، تتوفر نسخة Windows فقط للتنزيل على GitHub.

Rust: ابتلاع النظام البيئي لـ JavaScript بالسرعة

2025-02-16
Rust: ابتلاع النظام البيئي لـ JavaScript بالسرعة

تُعرف Rust بسرعتها، وموثوقيتها، وكفاءة ذاكرتها، وهي تتقدم بسرعة في النظام البيئي لـ JavaScript. تواجه العديد من أدوات بناء واجهة المستخدم الأمامية، بما في ذلك Webpack و Babel و Prettier، تحديات من بدائل تعتمد على Rust، مثل SWC و esbuild و Rome. توفر أدوات Rust هذه تحسينات كبيرة في الأداء، وقد اعتمدتها مشاريع مثل Next.js و Deno. على الرغم من أن منحنى تعلم Rust شديد الانحدار، إلا أن مزاياها في الأداء ودعم WebAssembly يجعلها قوة أساسية في مستقبل أدوات JavaScript. تظهر مشاريع جديدة مثل Rspack و Biome، مما يعزز تأثير Rust في هذا المجال.

التطوير

10 إعدادات مثبتة لنسخ جذور تكوين Terraform: غوص عميق

2025-02-16
10 إعدادات مثبتة لنسخ جذور تكوين Terraform: غوص عميق

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

بايثون تحتفظ بصدارتها في مؤشر تيوبي لشهر فبراير

2025-02-16
بايثون تحتفظ بصدارتها في مؤشر تيوبي لشهر فبراير

يُظهر مؤشر تيوبي لشهر فبراير استمرار بايثون في تصدر قائمة لغات البرمجة الأكثر شعبية. وعلى الرغم من سمعتها بالبطء، إلا أن شعبيتها بين غير المتخصصين في هندسة البرمجيات تبقيها في المقدمة. كما شهدت لغات برمجة تركز على السرعة مثل ++C و Go و Rust تقدمًا في الترتيب. وقد ارتفع ترتيب SQL إلى المرتبة السابعة، بينما انخفض ترتيب Go إلى المرتبة الثامنة، وعادت Delphi/Object Pascal إلى قائمة العشرة الأوائل. بشكل عام، يعكس المؤشر مشهدًا ديناميكيًا في عالم البرمجة، حيث تُعد السرعة وسهولة الاستخدام من أهم اهتمامات المطورين.

التطوير مؤشر تيوبي

دليل تطوير إضافات GIMP 3.0: نظرة على Python 3 و GTK 3

2025-02-16

يوشك إصدار GIMP 3.0 على الظهور، ويأتي مع حزمة تقنية مُحدّثة تعتمد على GTK 3 و Python 3، مما يسهّل عملية تطوير الإضافات ويجعلها أكثر استدامة. تُلخّص هذه المقالة الموارد اللازمة لتطوير إضافات GIMP 3، بما في ذلك دروس Python 3، ووثائق واجهة برمجة التطبيقات، ومكان تخزين الإضافات. وتُشير إلى إمكانية كتابة الإضافات بلغات C، و Python 3، و Scheme، و JavaScript، و Vala، مع التوصية باستخدام مجلد `~/.config/GIMP/3.0/plug-ins/` لتخزين الإضافات. كما تتناول المقالة مُفسّر الأوامر Python التفاعلي في GIMP، وكيفية التعامل مع وحدات Python الخارجية.

التطوير تطوير إضافات

Remco: أداة خفيفة الوزن لإدارة التكوين

2025-02-16
Remco: أداة خفيفة الوزن لإدارة التكوين

Remco هي أداة خفيفة الوزن لإدارة التكوين مستوحاة من confd. تحافظ على تحديث ملفات التكوين المحلية باستخدام بيانات من مخازن القيمة الرئيسية مثل etcd أو Consul ، ومعالجة موارد القوالب وإعادة تحميل التطبيقات تلقائيًا. على عكس confd ، يدعم Remco أزواجًا متعددة من المصدر / الوجهة وواجهات خلفية لكل مورد قالب ، ويستخدم محرك قوالب Pongo2 ، ويتضمن ميزات مثل حصاد عمليات zombi ، ودعم المكونات الإضافية لواجهات خلفية إضافية ، وإنشاء مرشحات قوالب مخصصة بسهولة باستخدام JavaScript. التثبيت بسيط ، مع خيارات للبناء من المصدر أو تنزيل ثنائيات مُجمّعة مسبقًا.

التطوير إدارة التكوين

Gixy: أداة فحص أمان تكوين Nginx

2025-02-16
Gixy: أداة فحص أمان تكوين Nginx

Gixy أداة لتحليل تكوين Nginx لمنع التكوينات غير الآمنة وأتمتة اكتشاف العيوب. تدعم Python 3.6-3.13، وقد تم اختبارها بشكل أساسي على أنظمة GNU/Linux. تكتشف Gixy العديد من مشاكل تكوين Nginx، مثل ثغرات حقن HTTP. التثبيت مرن، ويدعم pip و yum و Docker. يمكن للمستخدمين تحديد مسار الملف أو استخدام أنابيب الإدخال، وتخطي الاختبارات. Gixy يتم صيانتها بنشاط وترحب بالمساهمات في الكود وتحسين الوثائق.

التطوير التدقيق

تشغيل نماذج اللغات الكبيرة محليًا على جهاز Mac باستخدام Ollama

2025-02-16
تشغيل نماذج اللغات الكبيرة محليًا على جهاز Mac باستخدام Ollama

أعلنت أبل عن Apple Intelligence في مؤتمر WWDC 2024، ووعدت بـ "الذكاء الاصطناعي للجميع"، لكن وصوله يبدو بعيدًا. في هذه الأثناء، يتيح لك Ollama تشغيل نماذج اللغات الكبيرة (LLMs) مثل llama3.2 محليًا على جهاز Mac الخاص بك. فكر في الأمر على أنه "Docker لنماذج اللغات الكبيرة" - من السهل سحب وتشغيل وإدارة النماذج. يعمل Ollama بواسطة llama.cpp، ويستخدم ملفات Modelfiles للتكوين ومعيار OCI للتوزيع. يوفر تشغيل النماذج محليًا مزايا في الخصوصية والتكلفة والسرعة والموثوقية. يوفر Ollama واجهة برمجة تطبيقات HTTP لسهولة التكامل مع التطبيقات، كما هو موضح في Nominate.app، والذي يستخدمه لإعادة تسمية ملفات PDF بشكل ذكي. تشجع المقالة المطورين على بناء الجيل التالي من التطبيقات التي تعمل بالذكاء الاصطناعي الآن باستخدام Ollama، بدلاً من انتظار وعود أبل.

التطوير

البوابة الخلفية الخفية لمُجمِّع C من Ken Thompson: تأمل في الثقة

2025-02-16

في ورقته البحثية "Reflections on Trusting Trust"، يروي Ken Thompson، المُشارك في إنشاء نظام يونكس، قصة مُرعبة حول بوابة خلفية ذاتية التكاثر قام بإدراجها في مُجمِّع C. ستقوم هذه البوابة الخلفية بحقن نفسها تلقائيًا في برنامج تسجيل الدخول أثناء عملية التجميع، مما يمنحه حق الوصول غير المصرح به. والجزء المُخيف؟ حتى إزالة البوابة الخلفية من التعليمات البرمجية المصدر لن يمنع المُجمِّع من إعادة إدراجها أثناء عملية التجميع. تُعد هذه القصة بمثابة تذكير صارخ بحدود الثقة في البرامج وصعوبة ضمان الأمان الكامل، حتى مع مراجعة التعليمات البرمجية المصدر.

خليج المكسيك: لغة برمجة تُغيّر القواعد

2025-02-16
خليج المكسيك: لغة برمجة تُغيّر القواعد

تم تغيير اسم DreamBerd إلى خليج المكسيك، وهي لغة برمجة غريبة الأطوار ذات ميزات غير عادية. تنتهي الجمل بعلامات تعجب، ورمز الفاصلة المنقوطة هو عامل التشغيل "ليس"، وهناك أربعة أنواع من الإعلان (const const، const var، var const، var var)، وتبدأ المصفوفات من الفهرس -1، ويتم دعم فهرس الأعداد العائمة، وكلمة المفتاح `when` تتحقق من طفرات المتغيرات، وهناك جامع قمامة، ودورة حياة المتغيرات قابلة للتخصيص (بما في ذلك دورات الحياة السلبية لرفع المتغيرات)، وليس هناك أي حلقات. عملية التثبيت معقدة، والقيم المنطقية يمكن أن تكون صحيحة أو خاطئة أو ربما، وتحدد المسافات البيضاء أولوية العمليات الحسابية، ويتم دعم الكسور وأسماء الأعداد، والمسافة البادئة هي 3 مسافات بدقة، وهناك العديد من عوامل التشغيل المقارنة، وإعلان الدوال مرن، والقسمة على صفر تعود غير معرف، والسلاسل يمكن إعلانها بطرق متعددة، ويتم دعم الاستيفاء بالعملات الإقليمية، وعلامات النوع اختيارية، ويتم دعم أنواع التعبيرات العادية، وكلمات المفتاح `previous` و `next` و `current` تصل إلى سجل المتغيرات. يمكن تقسيم التعليمات البرمجية إلى ملفات متعددة باستخدام خمسة علامات تساوي أو أكثر. وهي تدعم عكس التعليمات البرمجية، والمتغيرات العالمية، والإدراج التلقائي لعلامات التعجب والأقواس وعلامات الاقتباس. كما يدعم خليج المكسيك النص الغني وآلية تنفيذ قائمة الانتظار لوظائف غير متزامنة.

التطوير تصميم غريب

ما وراء الـسبرينتات التي تستغرق أسبوعين: استكشاف ShapeUp و Plan>Build>Ship و GSD

2025-02-16
ما وراء الـسبرينتات التي تستغرق أسبوعين: استكشاف ShapeUp و Plan>Build>Ship و GSD

هل سئمت من الـسبرينتات التقليدية التي تستغرق أسبوعين في منهجية سكرم؟ تستعرض هذه المقالة ثلاث بدائل: ShapeUp و Plan>Build>Ship و GSD. يركز ShapeUp على دورة تطوير مدتها ستة أسابيع، تبدأ بمرحلة شاملة لـ "التشكيل"، تليها مرحلة اتخاذ القرارات في "طاولة الرهانات"، وأخيراً مرحلة "البناء". يُجنّب هذا الأسلوب السرعة والاندفاع التي تُميّز دورات الـسبرينت القصيرة. أما Plan>Build>Ship فهو نموذج شلال مبسّط، حيث تتولى كل ميزة فريق عمل مخصص، من التخطيط إلى التسليم. أما GSD (Get Shit Done)، التي اشتهرت بها شركة Shopify، فتُركّز على التنفيذ الفعّال، وذلك باستخدام أداة Vault الداخلية لتتبع تقدم المشاريع، مع التركيز على المشاريع بدلاً من المهام، مما يعزز التعاون بين فرق العمل. تتميّز هذه الأساليب الثلاثة بخصائص فريدة، وتُوفّر لفرق المنتجات خيارات أكثر، وتساعدها في إيجاد عملية التطوير الأنسب لظروفها.

التطوير تطوير المنتج

لعب الألعاب مع تمرير وحدة معالجة الرسومات على نظام Qubes OS: ملحمة التصحيح

2025-02-15
لعب الألعاب مع تمرير وحدة معالجة الرسومات على نظام Qubes OS: ملحمة التصحيح

يُفصّل هذا الدليل العملية المعقدة لإعداد تمرير وحدة معالجة الرسومات للعب داخل مدير الجهاز الظاهري لنظام Qubes OS. يتطلب الأمر فهمًا قويًا لأنظمة لينكس و GRUB و IOMMU وتقنية افتراضية Xen. يغطي الدليل المتطلبات المسبقة للأجهزة، وتحديد مجموعات IOMMU، وتعديل GRUB لإخفاء وحدة معالجة الرسومات، وحل مشكلة معلمة `max-ram-below-4g`، وتثبيت/تكوين برامج تشغيل وحدة معالجة الرسومات داخل الجهاز الظاهري. بالنسبة لوحدات معالجة رسومات Nvidia، يُوصى باستخدام برامج تشغيل `nvidia-open`. تمت مناقشة الاختلافات بين إعدادات أجهزة لينكس الظاهرية وأجهزة Windows الظاهرية، بالإضافة إلى حلول استخدام VirtualGL و Vulkan للمشاكل المحتملة. يتم توفير نصوص الأتمتة، ويتم سرد المشاكل الشائعة والحلول الخاصة بها. كن مستعدًا لرحلة تصحيح أخطاء تتطلب الكثير من الصبر والوقت.

Jellyfin: خادم وسائط مفتوح المصدر، مجاني، يركز على الخصوصية، ومدعوم من المجتمع

2025-02-15
Jellyfin: خادم وسائط مفتوح المصدر، مجاني، يركز على الخصوصية، ومدعوم من المجتمع

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

التطوير خادم وسائط

3DBenchy يصبح ملكًا للجمهور: نهاية ملحمة الترخيص

2025-02-15
3DBenchy يصبح ملكًا للجمهور: نهاية ملحمة الترخيص

تم إصدار نموذج الطباعة ثلاثية الأبعاد الشهير 3DBenchy في المجال العام! في أعقاب جدل حول قيام Prusa Printables بإزالة النماذج المشتقة بسبب تقرير من طرف ثالث، قام صاحب حقوق النشر NTI Group، معًا مع المبدع الأصلي Daniel Norée والرئيس التنفيذي السابق لشركة Creative Tools، Paulo Kiefe، بنقل 3DBenchy وموقعه على الويب إلى المجال العام. يسمح هذا بالتنزيل والتعديل المجانيين، مما يحل مشاكل الترخيص ويمنع النزاعات المستقبلية. يمكن للمجتمع الآن استخدام وتكييف هذا النموذج الأيقوني بحرية.

التطوير
1 2 158 159 160 162 164 165 166 213 214