Category: التطوير

rv: طريقة قابلة للتكرار وسريعة وواضحة لإدارة حزم R

2025-05-16
rv: طريقة قابلة للتكرار وسريعة وواضحة لإدارة حزم R

rv هي أداة ثورية لإدارة حزم R تسمح لك بإدارة حزم R وتثبيتها بطريقة قابلة للتكرار وسريعة وواضحة. من خلال تحديد إصدار R، والمستودعات، والاعتماديات في ملف تكوين (rproject.toml)، يقوم الأمر `rv sync` بمزامنة المكتبة، وملف التكوين، وملف القفل، بينما يوفر الأمر `rv plan` معاينة. يدعم الإعدادات المخصصة للحزم والمستودعات، مما يسمح بتثبيت حزم محددة وحزمها المقترحة. تم كتابة rv بلغة Rust وتأتي مع وثائق تفصيلية للتثبيت والاستخدام.

التطوير إدارة حزم R

رسائل خطأ مُجمِّع راست: عقد من التطور

2025-05-16

تستكشف هذه المقالة تطور رسائل خطأ مُجمِّع راست على مدار العقد الماضي. من خلال تحليل مخرجات الخطأ من إصدارات راست المستقرة المختلفة، بدءًا من الإصدار 1.0، يُظهر الكاتب تحسينات كبيرة في الوضوح، وقابلية القراءة، وتجربة المستخدم. وتشمل المعالم الرئيسية إدخال رموز أخطاء رقمية في الإصدار 1.2.0، ورسائل أخطاء ملونة مع تلميح `rustc --explain` في الإصدار 1.26.0. ويبرز الكاتب الجهد المستمر لمئات المساهمين، مما يدل على الاهتمام بالتفاصيل والتحسين التدريجي داخل مجتمع راست. كما يتم ملاحظة بعض التناقضات الطفيفة والمسلية بين الإصدارات، مما يبرز الجانب البشري في هذا المشروع الشامل.

التطوير رسائل الخطأ

استراتيجيات التخزين المؤقت لمواقع الويب عالية الأداء ومنخفضة التكلفة

2025-05-16
استراتيجيات التخزين المؤقت لمواقع الويب عالية الأداء ومنخفضة التكلفة

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

Erlang-RED: إعادة تصميم خلفية Node-RED بلغة Erlang

2025-05-16
Erlang-RED: إعادة تصميم خلفية Node-RED بلغة Erlang

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

التطوير

عيد ميلاد سعيد يا جافا – 30 عامًا! حوار مع جيمس جوسلينج

2025-05-16
عيد ميلاد سعيد يا جافا – 30 عامًا! حوار مع جيمس جوسلينج

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

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

بناء منتجات الحد الأدنى القابلة للتطبيق (MVPs): السرعة والتركيز وتجنب الأخطاء الشائعة

2025-05-16
بناء منتجات الحد الأدنى القابلة للتطبيق (MVPs): السرعة والتركيز وتجنب الأخطاء الشائعة

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

التطوير

SQL-tString: إنشاء استعلامات SQL آمنة في Python

2025-05-16
SQL-tString: إنشاء استعلامات SQL آمنة في Python

SQL-tString هي مكتبة Python قوية تتيح إنشاء استعلامات SQL باستخدام t-strings (مثل f-strings) مع منع ثغرات حقن SQL. تدعم الاستعلامات المُعلمات، وتتعامل مع المعلمات الاختيارية وشروط قيم NULL، وتتكيف بشكل مرن مع لهجات قواعد البيانات المختلفة (تدعم أنماط المعلمات qmark و $). كما أنها متوافقة مع الإصدارات السابقة من Python 3.12 و 3.13.

Jetrelay: خادم نشر/اشتراك عالي الكفاءة يستخدم ميزات نواة لينكس

2025-05-16

يُعد Jetrelay خادم نشر/اشتراك متوافقًا مع Jetstream من Bluesky، ويحقق كفاءة عالية جدًا باستخدام 500 سطر من التعليمات البرمجية فقط. من خلال استخدام ميزات نواة لينكس بذكاء، مثل `sendfile()` و `io_uring` و `fallocate()`، ينقل Jetrelay البيانات ويدير التخزين الدائم بأقل قدر من العبء على مساحة المستخدم. يسمح هذا له بتشبع اتصال شبكة 10 جيجابت في الثانية باستخدام 8 نوى وحدة معالجة مركزية فقط. يتجنب التصميم نسخ البيانات غير الضرورية ويستخدم مدخلات/مخرجات غير متزامنة للتعامل بكفاءة مع آلاف اتصالات العملاء المتزامنة.

التطوير

عشر سنوات من إساءة استخدام الإصدار التجريبي: ملحمة رائعة للمصدر المفتوح

2025-05-16
عشر سنوات من إساءة استخدام الإصدار التجريبي: ملحمة رائعة للمصدر المفتوح

تعتمد شركة شبه حكومية تحقق إيرادات سنوية قدرها 130 مليون دولار أمريكي بشكل كبير على منصة مفتوحة المصدر، وهي Xen Orchestra، لبنيتها التحتية لتكنولوجيا المعلومات. والمثير للدهشة، على مدار عقد من الزمن، قامت بإساءة استخدام فترة التجربة المجانية التي تستمر لمدة 30 يومًا، حيث سجلت ما لا يقل عن 60 حسابًا - من عناوين البريد الإلكتروني للشركة إلى عناوين البريد الإلكتروني الشخصية، بل وقامت برقمها بشكل تدريجي ([email protected]، [email protected]...). وعلى الرغم من توفر نسخة مجانية مفتوحة المصدر، إلا أنها تواصل استخدام النسخة التجريبية وترفض الدعم المدفوع. وهذا يثير قلقًا داخل مجتمع المصدر المفتوح بشأن آليات الاختبار واستدامة مشاريع المصدر المفتوح.

استخراج MRR من بيانات Stripe: المُعضلات والتنفيذ باستخدام SQL

2025-05-16
استخراج MRR من بيانات Stripe: المُعضلات والتنفيذ باستخدام SQL

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

مشكلة الامتثال لرخصة MIT في Ollama

2025-05-16
مشكلة الامتثال لرخصة MIT في Ollama

يواجه Ollama، وهو عميل نموذج لغة كبير مفتوح المصدر يعتمد على llama.cpp، مشكلة في الامتثال للترخيص. يُبلغ المستخدم عن عدم وجود إشعار حقوق النشر لـ llama.cpp، المطلوب بموجب رخصة MIT، في توزيعات Ollama الثنائية. هذا يتطلب إضافة معلومات حقوق النشر المناسبة إلى الملفات الثنائية لضمان الامتثال لرخصة MIT.

التطوير رخصة MIT

البرمجة بالذكاء الاصطناعي: سلاح ذو حدين؟

2025-05-16

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

التطوير

إصدار CPython 3.14 بدون GIL: إطلاق العنان لقوة المعالجات المتعددة النواة

2025-05-16
إصدار CPython 3.14 بدون GIL: إطلاق العنان لقوة المعالجات المتعددة النواة

يُمثل إصدار CPython 3.14.0b1 خطوة مهمة نحو بايثون متعدد الخيوط، حيث يتم إزالة قفل المُفسِّر العام (GIL). لعبت Quansight دورًا محوريًا في تمكين استخدام الإصدار التجريبي من الإصدار بدون GIL في سير عمل الإنتاج الحقيقي مع التبعيات المعقدة. يؤدي إزالة GIL إلى إطلاق العنان لقدرات الحوسبة الكاملة لوحدات المعالجة المركزية ووحدات معالجة الرسوميات متعددة النواة، مما يعالج القيود التاريخية لبايثون في الحوسبة المتوازية. يتطلب هذا عمليات مراجعة شاملة لأمان الخيوط في الحزم الموجودة لإصلاح سباقات البيانات. قامت Quansight، بالتعاون مع Meta، بتكييف العديد من المكتبات الأساسية (NumPy و Pandas وما إلى ذلك) وحسنت CPython نفسه من أجل أمان الخيوط. لا تزال التحديات قائمة، لكن الإصدار بدون GIL يمثل مستقبل بايثون، ويعد بتحسينات كبيرة في الأداء.

التطوير

Logitloom: تصور توليد نماذج اللغة الكبيرة باستخدام أشجار مسار الرموز

2025-05-16
Logitloom: تصور توليد نماذج اللغة الكبيرة باستخدام أشجار مسار الرموز

Logitloom أداة لتصور عملية توليد نماذج اللغة الكبيرة (LLM) من خلال إنشاء "أشجار مسار الرموز" (looming). تدعم نماذج مثل Deepseek-v3 ونموذج 405-base من Hyperbolic، ويتطلب من المستخدمين تقديم مفاتيح API. تساعد Logitloom المطورين على فهم آليات LLM الداخلية بشكل أفضل وهي حاليًا بدون ترخيص.

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

مفاهيم خاطئة حول تصميم القائم على المجال (DDD) في واجهة المستخدم الأمامية: لا يتعلق الأمر بعمل DDD *في* Angular

2025-05-16
مفاهيم خاطئة حول تصميم القائم على المجال (DDD) في واجهة المستخدم الأمامية: لا يتعلق الأمر بعمل DDD *في* Angular

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

Wasmer توظف: مهندس مُجمِّع لمساعدة WebAssembly على تشكيل مستقبل الحوسبة السحابية

2025-05-16
Wasmer توظف: مهندس مُجمِّع لمساعدة WebAssembly على تشكيل مستقبل الحوسبة السحابية

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

التطوير

توسيع نظام OpenHarmony البيئي: زيادة في مقترحات تكييف المكتبات

2025-05-16
توسيع نظام OpenHarmony البيئي: زيادة في مقترحات تكييف المكتبات

شهد مجتمع نظام التشغيل مفتوح المصدر OpenHarmony مؤخراً زيادة في مقترحات تكييف العديد من مكتبات الجهات الخارجية، بما في ذلك pako و snappyjs و brotli و hi-base32 و is-png و EventBus. تهدف هذه المقترحات إلى دمج هذه المكتبات في OpenHarmony، مما يحسن وظائفه وأداءه. وتشمل عروضاً توضيحية لنظام HarmonyOS والالتزام بمواصفات OHPM. وهذا يدل على النمو المستمر وتوسيع نطاق نظام OpenHarmony البيئي، مما يجذب المزيد والمزيد من المطورين.

بإذنه تعالى: مايكل ريابوشكين، بطل مجتمع SoCal Python

2025-05-16
بإذنه تعالى: مايكل ريابوشكين، بطل مجتمع SoCal Python

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

متصفح Dia: متصفح أصلي قائم على الذكاء الاصطناعي يواجه تحديات

2025-05-16
متصفح Dia: متصفح أصلي قائم على الذكاء الاصطناعي يواجه تحديات

بعد وضع متصفحها Arc في وضع الصيانة، أطلقت شركة المتصفح (BCNY) متصفح Dia، وهو متصفح أصلي قائم على الذكاء الاصطناعي. يتميز Dia بواجهة دردشة في الشريط الجانبي تعمل بواسطة GPT 4.1، ويميز بذكاء بين أنواع البحث. ومع ذلك، يشغل الشريط الجانبي مساحة كبيرة جدًا، مما يؤثر على تجربة المستخدم؛ بالإضافة إلى ذلك، لا تزال بعض الميزات قيد التطوير. على الرغم من تفوق Dia في حجب الإعلانات، إلا أن BCNY تواجه تحديات في التميز في سوق المتصفحات التنافسي.

التطوير

بُنى البيانات الخالية من الأقفال: توازن بين الأداء والمخاطر

2025-05-16

يتناول هذا المقال بالتفصيل تطبيق مصفوفة خالية من الأقفال، `LockFreeArray`، في لغة Rust. يستخدم هذا التطبيق العمليات الذرية وقائمة فارغة لتحقيق الإدراج والاسترجاع الخالي من الأقفال عبر عدة مؤشرات ترابط، مما يلغي عبء الأداء الناتج عن الأقفال. يشرح المقال بالتفصيل `AtomicPtr` و `AtomicUsize` و `compare_exchange`، ودور ترتيب الذاكرة الحاسم. تُظهر المقاييس المعيارية ميزة أداء كبيرة مقارنة بـ `Mutex>>` (أسرع بمعدل 83.19%). ومع ذلك، يُشدد المقال على المخاطر المتأصلة في البرمجة الخالية من الأقفال، والتي تتطلب فهمًا عميقًا لنماذج الذاكرة والعمليات الذرية لتجنب سباقات البيانات وتسربات الذاكرة.

I Dropped My Phone The Screen Cracked: مكتبة ويب صوتية لبرمجة الصوت المبسطة

2025-05-16
I Dropped My Phone The Screen Cracked: مكتبة ويب صوتية لبرمجة الصوت المبسطة

I Dropped My Phone The Screen Cracked هي مكتبة ويب صوتية مبتكرة تبسط إنشاء وتكوين وربط عقد الصوت في المتصفح باستخدام سلسلة الطرق والمحليات على غرار CSS. تدعم تعريف وحدات الماكرو وإنشاء الإضافات، مما يجعل برمجة الصوت سهلة مثل ربط جهاز توليد صوت نمطي، مما يسمح بمعالجة صوتية معقدة بطريقة موجزة وفعالة. يمكن للمطورين إنشاء وربط عقد الصوت بسهولة من خلال سلسلة الطرق، وتعديلها باستخدام المحليات، واستخدام وحدات الماكرو لتغليف سلاسل العقد في وحدات قابلة لإعادة الاستخدام، مما يحسن من إمكانية قراءة الكود وصيانته.

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

معالجة الأخطاء الأنيقة في Puppeteer مع تقارير Buglestack

2025-05-16
معالجة الأخطاء الأنيقة في Puppeteer مع تقارير Buglestack

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

التطوير

Teal: لهجة Lua ثابتة النوع

2025-05-16

Teal هي لهجة من Lua ثابتة النوع، تُضيف إلى Lua تعليقات نوعية للمصفوفات، والخرائط، والسجلات، والواجهات، وأنواع الاتحاد، والعامة. تهدف إلى ملء مكانة مشابهة لـ TypeScript في عالم JavaScript، ولكن مع الحفاظ على بساطة Lua وقابلية النقل والتضمين. يقوم مُجمِّع Teal، `tl`، بتجميع أكواد المصدر `.tl` إلى ملفات `.lua`. يتم التثبيت عبر LuaRocks، مع توفير ثنائيات مُجمَّعة مسبقًا لأنظمة Linux و Windows. يُوصى باستخدام Cyan، أداة البناء المصممة لـ Teal، للمشاريع الأكبر حجمًا. تتوفر أيضًا امتدادات لـ VS Code و NeoVim. المشروع مفتوح المصدر برخصة MIT.

التطوير

gkrellm: أداة قوية لمراقبة نظام لينكس

2025-05-16

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

التطوير

مصائد مقارنة الأعداد العائمة: ما يجب أن تعرفه

2025-05-15
مصائد مقارنة الأعداد العائمة: ما يجب أن تعرفه

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

التطوير

فخ المُبَادَرة في C++: دقائق `=default`

2025-05-15

تتناول هذه المقالة عالم المُبَادَرة المُحير في لغة البرمجة C++. يُظهر مثال بسيط التأثير الكبير لمكان كتابة `=default` على مُبَادَرة أعضاء الهياكل: أعضاء الهياكل التي تحتوي على `=default` في الإعلان يتم تهيئتها بصفر (قيمة 0)، بينما تلك التي تحتوي على `=default` في التعريف لها قيم غير محددة، مما يؤدي إلى سلوك غير مُعرف عند قراءتها. تشرح المقالة بالتفصيل الفروقات بين المُبَادَرة الافتراضية، المُبَادَرة بالقيمة، والمُبَادَرة بصفر، وتُشدد على أهمية تهيئة المتغيرات بشكلٍ صريح لتجنب الأخطاء المحتملة ومخاطر الأمان.

جوجل تعزز إنتاجية المطورين من خلال إكمال التعليمات البرمجية شبه الدلالي الهجين القائم على التعلم الآلي

2025-05-15
جوجل تعزز إنتاجية المطورين من خلال إكمال التعليمات البرمجية شبه الدلالي الهجين القائم على التعلم الآلي

طور باحثو جوجل نظامًا جديدًا مبتكرًا لإكمال التعليمات البرمجية شبه الدلالي الهجين القائم على مُحوِّل (Transformer)، يجمع بين التعلم الآلي (ML) ومحركات دلالية قائمة على القواعد (SEs) لتحسين إنتاجية المطورين بشكل كبير. يُدمج النظام ML و SEs بثلاث طرق: 1) إعادة ترتيب اقتراحات الرمز المميز المفرد من SE باستخدام ML؛ 2) تطبيق إكمالات سطر واحد وأكثر باستخدام ML والتحقق من الصحة باستخدام SE؛ و 3) استخدام استمرار سطر واحد وأكثر بواسطة ML لا اقتراحات دلالية لرمز مميز مفرد. أظهرت دراسة استمرت ثلاثة أشهر شملت أكثر من 10000 مطور داخلي في جوجل انخفاضًا بنسبة 6% في وقت تكرار الترميز باستخدام إكمال ML لسطر واحد. حاليًا، يتم إنشاء أكثر من 3% من التعليمات البرمجية الجديدة من خلال قبول اقتراحات إكمال ML. يدعم النظام ثماني لغات برمجة ويدمج عمليات فحص دلالية لضمان صحة التعليمات البرمجية، مما يعزز ثقة المطورين وكفاءتهم بشكل كبير.

تحقق من السنة الكبيسة في ثلاث تعليمات

2025-05-15

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

هل تقضي نماذج اللغات الكبيرة على Stack Overflow؟

2025-05-15

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

التطوير

ما وراء REST: لماذا تُعدّ مُزامنة الحالة مستقبل تطبيقات الويب

2025-05-15

أثناء بناء تطبيقات الويب باستخدام React وTypescript وخادم REST من Rust/Axum، واجه الكاتب تحديات كبيرة مع نهج نقل الحالة في REST لما يُعدّ في جوهره مشاكل في مُزامنة الحالة. باستخدام مثال بسيط لإدخال النص، يبرز المقال مشاكل مثل حالات السباق من الطلبات المتزامنة، ومؤشرات التحميل غير الدقيقة، والاتساقات عبر مثيلات التطبيق المتعددة. الكاتب يدافع عن التحوّل إلى بروتوكولات مُزامنة الحالة، مثل تلك القائمة على CRDTs، لتحسين الكفاءة والقضاء على الأخطاء الشائعة المرتبطة بـ REST.

التطوير
1 2 86 87 88 90 92 93 94 213 214