Category: التطوير

ترجمة جافا إلى كوتلن على نطاق واسع في ميتا: التغلب على ملايين سطور التعليمات البرمجية

2024-12-22
ترجمة جافا إلى كوتلن على نطاق واسع في ميتا: التغلب على ملايين سطور التعليمات البرمجية

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

كيف غيّر حديثٌ عبر جدارٍ مساري كَمُبرمجٍ

2024-12-21
كيف غيّر حديثٌ عبر جدارٍ مساري كَمُبرمجٍ

في عام 1983، كان مُبرمجٌ يعمل في شركة دفاع كبيرة يخطط للحصول على درجة الدكتوراه في الكيمياء. أدت محادثة عرضية عبر جدار مع مدير "مجموعة الحواسيب الصغيرة" المجاورة (هاوي تقنية) إلى دعوته لحضور اجتماع يتعلق بجهاز Apple II. هناك، كُلّف بمهمة إنشاء محاكي طرفية VT-100 بلغة تجميع 6502 في غضون أسبوع لتمكين رئيس الشركة من قراءة رسائل البريد الإلكتروني في المنزل. لم تُغيّر هذه التجربة مسار حياته المهنية فحسب، حيث انضم إلى مجموعة الحواسيب الصغيرة وأصبح المُبرمج الوحيد لأجهزة الكمبيوتر الشخصية في الشركة، بل قادته أيضًا إلى إنشاء شركته الخاصة. بعد سنوات، تأمل في كيفية تشكيل اللقاءات العشوائية والعلاقات بين الأشخاص لحياته بشكلٍ كبير.

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

فلسفة تصميم البرمجيات: ترويض التعقيد

2024-12-21

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

قائمة المصفوفات: بنية بيانات جديدة لمعالجة البيانات بكفاءة

2024-12-21
قائمة المصفوفات: بنية بيانات جديدة لمعالجة البيانات بكفاءة

تُقدم هذه المقالة بنية بيانات تُسمى "قائمة المصفوفات" (EoA)، وهي مشابهة لـ "هيكل المصفوفات" (SoA) الشائعة، ولكن مع استخدام القوائم في جوهرها. تجمع EoA العديد من قيم القائمة في مصفوفة، باستخدام علامة واحدة لتحديد نوع المصفوفة. هذا يقلل من استخدام الذاكرة وزيادة التكلفة في التنبؤ بالفروع، مما يؤدي إلى معالجة بيانات أكثر كفاءة، وهو مفيد بشكل خاص لتحسين SIMD. تستخدم المقالة نظام قاعدة البيانات TigerBeetle كمثال، توضح كيف تسمح EoA بمعالجة الدُفعات بكفاءة من خلال فصل مستوى التحكم ومستوى البيانات بشكل فعال، مما يؤدي إلى تحسين الأداء بشكل ملحوظ.

Yakari: أداة بناء الأوامر التفاعلية تبسط واجهات سطر الأوامر المعقدة

2024-12-21
Yakari: أداة بناء الأوامر التفاعلية تبسط واجهات سطر الأوامر المعقدة

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

التطوير واجهة تفاعلية

مكررات Go: التعامل مع واجهات برمجة التطبيقات الصفحية بكفاءة

2024-12-21

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

بيان خط أنابيب التسليم المستمر: بناء تسليم برمجيات أفضل

2024-12-21
بيان خط أنابيب التسليم المستمر: بناء تسليم برمجيات أفضل

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

Rivet: تشغيل وتوسيع تطبيقات الوقت الفعلي باستخدام الممثلين

2024-12-21
Rivet: تشغيل وتوسيع تطبيقات الوقت الفعلي باستخدام الممثلين

Rivet هي عبارة عن منصة لبناء وتوسيع تطبيقات الوقت الفعلي باستخدام نموذج الممثل. تتميز بـ RPC و حالة و أحداث مدمجة، مما يبسط تطوير التطبيقات الحديثة. توفر Rivet توسيعًا تلقائيًا، و نشر شبكة الحافة، وتشمل مراقبة مدمجة وقدرات تحديد موقع البيانات. مدعومة بواسطة Rust و FoundationDB و V8 isolates و بيئة تشغيل Deno، تضمن الأداء والكفاءة. Rivet مناسبة للتطبيقات التعاونية، و التطبيقات الأولية المحلية، و وكلاء الذكاء الاصطناعي، و خوادم الألعاب، و أكثر من ذلك.

SingleFile: حفظ صفحات الويب الكاملة كملفات HTML واحدة

2024-12-21
SingleFile: حفظ صفحات الويب الكاملة كملفات HTML واحدة

SingleFile هي إضافة ويب قوية وأداة سطر أوامر تحفظ صفحات الويب الكاملة كملف HTML واحد. تتوافق مع Chrome و Firefox و Edge والمزيد، وتوفر حفظ صفحات مريح، ومعالجة علامات تبويب متعددة، ووظائف تعليق، وحتى تسمح بتحميل صفحات محفظة إلى Google Drive أو GitHub. خصّص اختصارات لوحة المفاتيح والإعدادات لتناسب احتياجاتك.

تعلم اللغة الألمانية بكفاءة: هل Anki هو الحل؟

2024-12-21
تعلم اللغة الألمانية بكفاءة: هل Anki هو الحل؟

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

وداعًا لأخطاء سلاسل C: نهج أكثر أمانًا لمعالجة السلاسل

2024-12-21

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

كيف تعلم روبوت مراجعة كود الذكاء الاصطناعي أن يصمت

2024-12-21
كيف تعلم روبوت مراجعة كود الذكاء الاصطناعي أن يصمت

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

التطوير مراجعة الكود

إصدار محرر الترجمة Aegisub 3.4.0!

2024-12-21
إصدار محرر الترجمة Aegisub 3.4.0!

تم إصدار Aegisub 3.4.0! هذه الأداة المجانية، متعددة المنصات، ومفتوحة المصدر تجعل إنشاء وتحرير الترجمات سريعًا وسهلاً. وهي تتميز بأدوات تصميم قوية ومعاينة فيديو في الوقت الحقيقي. مثالية لكل من المحترفين والمبتدئين في مجال الترجمة.

تنفيذ خوارزمية رافت: غوص عميق في الإجماع الموزع

2024-12-21

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

Gazzetta: أفضل طريقة لقراءة الأخبار والروابط على Mastodon

2024-12-21

Gazzetta هو قارئ أخبار مصمم خصيصًا لـ Mastodon. على عكس عملاء Mastodon الآخرين الذين يركزون على تجربة الشبكة الاجتماعية، يعمل Gazzetta كقارئ RSS للمنصة. يوفر واجهة منفصلة تتيح للمستخدمين التركيز فقط على قراءة الأخبار والروابط. وتشمل الميزات متابعة الخوادم والحسابات لرؤية الروابط الشائعة، والبحث النصي الكامل، والتكامل مع Safari، وإدارة الإشارات المرجعية، وتصدير الروابط، وخيارات التخصيص الواسعة مثل أنماط الخطوط، وإخفاء الصور المصغرة، وفلترة الروابط حسب النطاق أو الكلمة الرئيسية أو اللغة.

التطوير قارئ أخبار

S2: ثورة في تخزين بيانات البث في السحابة

2024-12-21

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

(s2.dev)

مشغل تحسين محركات البحث الطفيلي يتجنب عقوبات جوجل

2024-12-21

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

دليل مرجع AP5: امتداد قائم على المنطق لـ Common Lisp

2024-12-21

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

FindMy.py: مكتبة Python شاملة للاستعلام عن شبكة FindMy من Apple

2024-12-21
FindMy.py: مكتبة Python شاملة للاستعلام عن شبكة FindMy من Apple

FindMy.py هي مكتبة Python توفر كل ما تحتاجه للاستعلام عن شبكة FindMy من Apple. وهي توحد نظام Find My المُجزّأ، مُقدّمةً حلاً متعدد المنصات يدعم أجهزة متعددة (AirTags، iDevices، إلخ) وطرق مصادقة متعددة (بما في ذلك SMS وTrusted Device 2FA). وتتميز بواجهات برمجة تطبيقات غير متزامنة ومتزامنة. المشروع حاليًا في مرحلة ألفا، وقد يتغير تصميم واجهة البرمجة، لكن الوظائف الأساسية مستقرة.

التطوير

MarkItDown: محول Markdown عبر الإنترنت مجاني

2024-12-21
MarkItDown: محول Markdown عبر الإنترنت مجاني

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

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

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

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

قواعد لتجنب الأخطاء الشائعة في تجميع السطور المضمنة الموسع

2024-12-21

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

NoDB: معالجة المدفوعات بدون قاعدة بيانات

2024-12-21
NoDB: معالجة المدفوعات بدون قاعدة بيانات

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

@celine/bibhtml الإصدار 3.0.3: نظام مرجعي قائم على مكونات الويب

2024-12-21
@celine/bibhtml الإصدار 3.0.3: نظام مرجعي قائم على مكونات الويب

أصدر نظام @celine/bibhtml، وهو نظام مرجعي قائم على مكونات الويب لوثائق HTML، الإصدار 3.0.3. يهدف إلى توفير تجربة مستخدم مشابهة لتجربة الإشارة في LaTeX/BibTeX، باستخدام Citation.js أسفل الغطاء، ويتدهور بشكل أنيق عندما تكون الاستشهادات والمراجع مشوهة أو تم تعطيل JavaScript. يدعم النظام أربعة تنسيقات للمرجع: BibTeX، ونص غير مُهيكل، وDOI، وWikidata، ويوفر ثلاثة عناصر مخصصة: ``، و``، و``، مما يُبسّط إدارة المراجع في HTML.

تطوّر ثوري: ترجمة آمنة من لغة سي إلى لغة روست

2024-12-21
تطوّر ثوري:  ترجمة آمنة من لغة سي إلى لغة روست

طور الباحثون طريقة جديدة لترجمة شفرة لغة سي إلى لغة روست بأمان. تعتمد هذه التقنية على التحليل الثابت والترجمة الموجهة بالنوع لتجنب الاعتماد على كتل `unsafe` في روست، مما يضمن سلامة الذاكرة. تم تطبيق هذه الطريقة بنجاح على شفرة من مكتبة التشفير HACL* ومكتبات EverParse، مما أدى إلى إنشاء مكتبة تشفير حديثة مؤكدة من 80,000 سطر مكتوبة بلغة روست خالصة - وهي الأولى من نوعها.

مطور برمجيات ينشئ لعبة ثلاثية الأبعاد شبه حقيقية باستخدام Bash

2024-12-20
مطور برمجيات ينشئ لعبة ثلاثية الأبعاد شبه حقيقية باستخدام Bash

قام مطور برمجيات يُدعى izabera بتطوير لعبة ثلاثية الأبعاد شبه حقيقية مُذهلة باستخدام لغة البرمجة النصية Bash. هذا المشروع، وهو تكريم للعبة Wolfenstein 3D الكلاسيكية، متوفر على GitHub كمصدر مفتوح. الشيفرة موجزة، لكن النتيجة مُبهرة، مما يُظهر قوة Bash وابتكار المطور. يحتوي المستودع على شفرة المصدر للعبة وأشرطة فيديو توضيحية. يمكن للمطورين المهتمين التحقق منها على GitHub.

التطوير تطوير الألعاب

أدوات بناء مونوريبو: توسيع نطاق قاعدة الكود الخاصة بك

2024-12-20

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

أمر DOS APPEND: جسر بين القديم والجديد

2024-12-20

أثناء إعادة بناء شفرة المصدر لـ DOS 2.11، واجه الكاتب تحديًا: لم يدعم المُجمِّع القديم MASM 1.25 البنية التحتية للمجلدات، مما تسبب في تعارض مع تنظيم الملفات الحديث باستخدام هيكل شجرة. لتجنب مجلد أحادي، استخدم الكاتب بذكاء أمر DOS APPEND. يُعد APPEND برنامج TSR (Terminate and Stay Resident) يقوم باعتراض مكالمات النظام مثل فتح الملفات والبحث في قائمة مسارات محددة مسبقًا إذا لم يتم العثور على الملف في الدليل الحالي. سمح هذا لـ MASM 1.25 بتحديد موقع الملفات داخل الهيكل الهرمي، وحل مشكلة عدم التوافق، وأبرز الفائدة المدهشة لـ APPEND في سيناريوهات محددة.

التطوير

io_uring تكتسب وظيفة جديدة لإنشاء العمليات

2024-12-20

يُفيد موقع LWN.net بتطوير ميزة جديدة لإنشاء العمليات في نظام io_uring الفرعي. يتم تنفيذ هذه الوظيفة من خلال عمليتين جديدتين من io_uring: IORING_OP_CLONE، التي تُنشئ عملية جديدة، وIORING_OP_EXEC، التي تُنفذ عملية execveat() لنظام التشغيل لتحميل برنامج جديد. هذا يعد بزيادة الكفاءة ويسمح بتنفيذ منطق أكثر تعقيدًا، مثل بحث المسار، بشكل غير متزامن داخل النواة. ومع ذلك، لا تزال هذه الميزة في مراحلها الأولى ولديها قيود، مثل الحاجة إلى تنفيذ عمليات io_uring بشكل متزامن داخل العملية الجديدة. ويهدف التطوير في المستقبل إلى زيادة المرونة ودمج الميزة في نواة لينكس الرئيسية في النهاية.

تطبيق Grayjay: تابع منشئي المحتوى، وليس المنصات

2024-12-20

Grayjay هو مشغل فيديو متعدد المنصات يجمع المحتوى من YouTube وPeerTube وTwitch وغيرها، مما يلغي الحاجة للتبديل بين منصات مختلفة. مع التركيز على خصوصية المستخدم، فإنه يخزن سجل المشاهدة محليًا ويوفر استيراد/تصدير البيانات والنسخ الاحتياطي التلقائي. الميزات تتضمن خلاصة محتوى مخصصة، وعرض على شاشة كبيرة، وتكامل Harbor للاتصال بالجمهور وعرض المحتوى.

1 2 203 204 205 207 209 210 211 212 213 214