Category: التطوير

مهندس مؤسس: بناء أنظمة البيانات التي تعمل بالذكاء الاصطناعي في PropRise

2025-02-07
مهندس مؤسس: بناء أنظمة البيانات التي تعمل بالذكاء الاصطناعي في PropRise

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

التطوير

TRRE: التعبيرات النظامية الانتقالية - ما هو أبعد من التعبيرات النظامية الكلاسيكية

2025-02-07
TRRE: التعبيرات النظامية الانتقالية - ما هو أبعد من التعبيرات النظامية الكلاسيكية

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

صعود البرمجيات الشخصية: مدعوم بالذكاء الاصطناعي

2025-02-07

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

مدقق الاستعارات الحتمي في Inko: توازن بين تخصيص المكدس والتحقق في وقت التجميع

2025-02-07

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

التطوير

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

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

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

التطوير

نموذج LLM أقل من 100 ميجابايت قابل للتثبيت الآن عبر pip: تقديم llm-smollm2

2025-02-07
نموذج LLM أقل من 100 ميجابايت قابل للتثبيت الآن عبر pip: تقديم llm-smollm2

مكوّن إضافي جديد، llm-smollm2، يضم نموذج LLM SmolLM2-135M-Instruct مُكمّن بحجم أقل من 100 ميجابايت، مما يجعله قابلًا للتثبيت عبر pip. يفصل الكاتب عملية إنشاء المكوّن الإضافي، بدءًا من البحث عن نموذج مناسب أقل من 100 ميجابايت (محدود بقيود حجم PyPI) وحتى كتم سجلات llama-cpp-python التفصيلية وتعبئة المكوّن الإضافي لنشره على PyPI. على الرغم من قدرات النموذج المحدودة، إلا أنه يُقدّم كأداة تعليمية قيّمة لفهم تقنية LLM.

التطوير كمّنة النموذج

توليد تضاريس وهيدرولوجيا واقعية باستخدام تآكل هيدروليكي قائم على الجسيمات

2025-02-07

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

Kubernetes: تشبيه مدهش لأنظمة الكيان-المكون

2025-02-07

يكشف هذا المنشور عن تشابه ملحوظ بين نموذج إدارة الموارد في Kubernetes ونمط نظام الكيان-المكون (ECS) المستخدم بشكل شائع في تطوير الألعاب. تعكس كائنات Kubernetes كيانات ECS، وتمتلك مُعرفات فريدة؛ وتتوافق أقسام `spec` و `status` مع المكونات، وتمثل الحالة المطلوبة والحالة المرصودة على التوالي؛ بينما تعمل وحدات التحكم والجدولة و Kubelet كأنظمة، تُوفق بين التناقضات بين الحالة المطلوبة والحالة الفعلية. يُوضح هذا التشابه المعماري تصميم Kubernetes ويُقدم رؤى جديدة حول طبيعته الإعلانية.

التطوير

هيكتور مارتن، مُطوّر نواة لينكس، يستقيل

2025-02-07

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

جوجل ريكابتشا مقابل اللائحة العامة لحماية البيانات: مخاطر الخصوصية والحلول

2025-02-07

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

التطوير

جامع القمامة الفارغ في برامج الصواريخ: تسرب الذاكرة؟ ليست مشكلة!

2025-02-07
جامع القمامة الفارغ في برامج الصواريخ: تسرب الذاكرة؟ ليست مشكلة!

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

التطوير تسرب الذاكرة

مسافات بيضاء في HTML: غوص عميق في الفوضى والحلول المحتملة

2025-02-07
مسافات بيضاء في HTML: غوص عميق في الفوضى والحلول المحتملة

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

`، وخاصية CSS `white-space`، وكيف تؤدي هذه القواعد إلى نتائج عرض غير متوقعة. كما تحلل المقالة التحديات التي تواجهها أدوات التنسيق التلقائي، وأنظمة إدارة المحتوى، وأدوات التصغير عند التعامل مع المسافات البيضاء في HTML. ويتم اقتراح حل محتمل: استخدام بناء جملة اقتباسات للتمييز بين المسافات البيضاء للرمز ومسافات البيضاء المرئية للمستخدم، على الرغم من أنه يُعترف بأن هذا سيكون تغييرًا كبيرًا. وأخيرًا، يقترح الكاتب بعض النصائح العملية للتخفيف من المشاكل الناتجة عن معالجة المسافات البيضاء في HTML، ويقترح إضافة كيان HTML جديد `&ncsp;` لتمثيل مسافة غير قابلة للانهيار.

التطوير مسافات بيضاء

وصول كاميرا جوجل أندرويد XR: سهولة استخدام الهاتف

2025-02-07
وصول كاميرا جوجل أندرويد XR: سهولة استخدام الهاتف

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

تجربة إجابات الذكاء الاصطناعي في ستاك أوفر فلو: وصفة للكارثة؟

2025-02-07
تجربة إجابات الذكاء الاصطناعي في ستاك أوفر فلو: وصفة للكارثة؟

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

التطوير

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

2025-02-07
arXivLabs: تعاون مجتمعي على ميزات arXiv الجديدة

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

التطوير

توحيد معايير أمان الذاكرة: طريق نحو برمجيات آمنة

2025-02-07

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

لغة التجميع 6502: دليل للمبتدئين في الحوسبة القديمة

2025-02-07

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

التطوير

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

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

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

التطوير

بناء فريقك الأحمر للتنمية: تجنب الأخطاء المحرجة

2025-02-06
بناء فريقك الأحمر للتنمية: تجنب الأخطاء المحرجة

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

مستكشف الكومة: أداة تصحيح أخطاء قوية لكومة glibc

2025-02-06
مستكشف الكومة: أداة تصحيح أخطاء قوية لكومة glibc

يُعدّ `explore_heap` أداة تصحيح أخطاء لكومة glibc يتم تحميلها عبر `LD_PRELOAD`، مما يسمح بالفحص والتلاعب التفاعليين بذاكرة الكومة للبرنامج. من خلال تحميل `libheap_explorer.so` و مقاطعة البرنامج بإشارة SIGINT (Ctrl+C)، يدخل المستخدمون إلى بيئة REPL لتخصيص و تحرير الكتل، وطباعة قوائم الكتل الحرة، و tcache، و fastbin، و قوائم bin، مما يساعد في تصحيح أخطاء المشكلات المتعلقة بالذاكرة. تم اختباره حاليًا على glibc 2.41+ من Arch Linux، و يتطلب التكيف مع إصدارات glibc الحديثة الأخرى تعديل الثوابت.

مسؤولو صيانة نواة لينكس يرفضون استخدام لغة البرمجة Rust: حرب لغات البرمجة

2025-02-06
مسؤولو صيانة نواة لينكس يرفضون استخدام لغة البرمجة Rust: حرب لغات البرمجة

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

التطوير

إصلاح كبير في تشفير Go 1.24: تحقيق الامتثال لمعيار FIPS 140-3

2025-02-06

أعادت Go 1.24 هيكلة حزم التشفير الخاصة بها بشكل كبير لتحقيق الامتثال لمعيار FIPS 140-3. وهذا يمثل قفزة كبيرة إلى الأمام، حيث تميزت بتطبيق نقي بلغة Go (وتجميع Go) لوحدة تشفير معتمدة من FIPS 140-3، مما يلغي الاعتماد على cgo أو استدعاءات النظام. كما تم تحديث Microsoft Go 1.24، حيث أضاف دعمًا تجريبيًا لنظام macOS ودعمًا محسنًا لنظام Azure Linux، ولكنه لا يزال يستخدم مكتبات النظام للتشفير، وهو ما يختلف عن النهج الرسمي في Go. تتحكم متغيرات بيئية جديدة مثل GODEBUG=fips140=on و GOFIPS140=latest في وضع FIPS؛ حيث يتم تفعيله تلقائيًا بواسطة وقت التشغيل على الأنظمة المتوافقة مع FIPS (Azure Linux، و Windows).

التطوير

واجهة برمجة تطبيقات لالتقاط لقطات شاشة مواقع الويب بدون خادم: القوة الدافعة وراء Abbey AI

2025-02-06
واجهة برمجة تطبيقات لالتقاط لقطات شاشة مواقع الويب بدون خادم: القوة الدافعة وراء Abbey AI

طور جوردون كامير واجهة برمجة تطبيقات قوية لجمع بيانات الويب لدعم منصة الذكاء الاصطناعي Abbey. تعمل هذه الواجهة برمجيا محليا، وتأخذ عنوان URL كمدخل، ثم تُعيد بيانات الموقع ولقطات الشاشة. تعمل بتقنية Playwright و Docker، وتُنفذ جافا سكريبت، وتتضمن ميزات أمنية مثل حدود الذاكرة وعزل العمليات، وتُعيد استجابة متعددة الأجزاء مع بيانات JSON، ومحتوى الصفحة، وما يصل إلى 5 لقطات شاشة. يتم التحكم في الوصول من خلال مفاتيح API، مع تخصيص تخصيص الذاكرة ومعلمات لقطات الشاشة.

الخدمة كبديل للبرامج (SaaSS): تهديد آخر لحرية الحوسبة الخاصة بك

2025-02-06

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

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

مستكشف صفحات SQLite: واجهة رسومية لإلقاء نظرة داخل قواعد البيانات الخاصة بك

2025-02-06
مستكشف صفحات SQLite: واجهة رسومية لإلقاء نظرة داخل قواعد البيانات الخاصة بك

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

التطوير

هجرة خادم ألعاب ضخم من سكالا 2.13 إلى سكالا 3: ملحمة استمرت عامًا

2025-02-06
هجرة خادم ألعاب ضخم من سكالا 2.13 إلى سكالا 3: ملحمة استمرت عامًا

تُفصّل هذه التدوينة رحلة الكاتب في هجرة خادم ألعاب جوال متعدد اللاعبين قيد الإنتاج، عمره أربع سنوات، من سكالا 2.13 إلى سكالا 3. فشلت المحاولة الأولى بسبب إزالة ميزات أساسية في سكالا 3 (تعليقات ماكرو، إسقاطات النوع) والتغييرات الضخمة في التعليمات البرمجية اللازمة. بعد عام، تم تحقيق هجرة ناجحة من خلال نهج متعدد الجوانب: تطبيق وقائي لتركيب سكالا 3 في قاعدة بيانات سكالا 2، واستخدام أدوات فحص التعليمات البرمجية في IntelliJ، ومولدات التعليمات البرمجية المصدر المخصصة من sbt لإنتاج عدسات Monocle، وحلول إبداعية لإسقاطات النوع. تضمنت التحديات التي تم مواجهتها تعارضات في التبعيات وأوقات تجميع بطيئة، تم حلها من خلال إنشاء نسخة معدلة من مكتبة، وتحسين التعليمات البرمجية باستخدام Tuple.Map من سكالا 3، وتقنيات أخرى. على الرغم من العقبات، تُبرز الهجرة قوة وقيمة إمكانيات البرمجة الفوقية في سكالا 3.

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

مُجمِّع JIT وبيئة تشغيل Java بلغة Common Lisp: OpenLDK

2025-02-06
مُجمِّع JIT وبيئة تشغيل Java بلغة Common Lisp: OpenLDK

OpenLDK هو مُجمِّع Just-In-Time (JIT) وبيئة تشغيل لـ Java، مُنفَّذ بالكامل بلغة Common Lisp. يُسوّي الفجوة بين Java و Common Lisp من خلال ترجمة Bytecode Java تدريجيًا إلى Lisp، ثم يُجمِّعه إلى رمز آلة أصلي. يُتيح هذا النهج الفريد تعيينًا سلسًا لصفوف Java إلى صفوف نظام كائنات Common Lisp (CLOS)، مما يُمكّن من التكامل السهل بين قواعد بيانات Java و Common Lisp. على الرغم من أنه ليس مُصمَّمًا لأداء عالي، إلا أن OpenLDK يُقدّم حلًا عمليًا لدمج مكتبات Java في سير عمل Lisp. يدعم حاليًا نظام Linux و SBCL بشكل أساسي، وهو قيد التطوير، مع العديد من الميزات التي لم تُنفَّذ بعد، مثل دعم ملفات الصفوف التي تتجاوز Java 8 والتحقق من Bytecode.

التطوير مُجمِّع JIT

ترقية كبيرة لـ GitHub Copilot: وضع الوكيل و إصدار Copilot Edits

2025-02-06
ترقية كبيرة لـ GitHub Copilot: وضع الوكيل و إصدار Copilot Edits

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

مكامن الخطر في إعادة هيكلة الكود: متى لا يجب إعادة الهيكلة؟

2025-02-06
مكامن الخطر في إعادة هيكلة الكود: متى لا يجب إعادة الهيكلة؟

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

التطوير

الأنابيب الافتراضية: طريقة بسيطة وفعالة لمحاكاة المياه فوق التضاريس

2025-02-06
الأنابيب الافتراضية: طريقة بسيطة وفعالة لمحاكاة المياه فوق التضاريس

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

1 2 166 167 168 170 172 173 174 213 214