Category: التطوير

فايرفوكس يطلق أدوات جديدة للتركيز والخصوصية وتجربة تصفح متنقلة أكثر سلاسة

2025-09-02

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

GRiSP: بيئات تشغيل BEAM صغيرة لأنظمة مُضمّنة وفي الوقت الحقيقي

2025-09-02
GRiSP: بيئات تشغيل BEAM صغيرة لأنظمة مُضمّنة وفي الوقت الحقيقي

تُقدّم عائلة GRiSP ثلاث بيئات تشغيل Erlang/Elixir: Metal، وهي بيئة BEAM صغيرة الحجم للمُتحكّمات الدقيقة تتسع لـ 16 ميجابايت من ذاكرة الوصول العشوائي؛ وAlloy، وهو نظام Linux في الوقت الحقيقي قائم على Buildroot يدعم بيئات تشغيل متعددة؛ وForge، وهو حل قائم على Yocto يوفر إمكانية التخصيص والدعم على المدى الطويل. تتميز جميعها بسرعة بدء التشغيل والأمان وبدء التشغيل المباشر لـ BEAM، مما يوفر خيارًا جذابًا لحوسبة الحافة والتطبيقات في الوقت الحقيقي.

التطوير

كابوس تسجيل الدخول Next.js: صراع مع سجلات الإنتاج

2025-09-02
كابوس تسجيل الدخول Next.js: صراع مع سجلات الإنتاج

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

التطوير

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

2025-09-02

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

التطوير

قسم المبرمجين: حماية المستخدم والبيانات والحقيقة

2025-09-02

مستوحى من شعار لاتيني "Primum non nocere" (أولاً، لا ضرر)، يقترح الكاتب شعارًا جديدًا للمبرمجين: "Tuere usorem، data، veritatem" (حماية المستخدم، والبيانات، والحقيقة). هذا يبرز أهمية إعطاء الأولوية لتجربة المستخدم، وضمان أمان البيانات، والدفاع عن الحقيقة في مواجهة إمكانية استخدام التكنولوجيا لنشر المعلومات المضللة. الكاتب يطلب التعليقات والمناقشة حول هذه المبادئ التوجيهية الأخلاقية المقترحة.

SpatialStudio يضيف وظيفة write_string

2025-09-02
SpatialStudio يضيف وظيفة write_string

أضاف SpatialStudio، وهو أداة تحرير فيديو مكانية، مؤخرًا وظيفة write_string الجديدة. يُحسّن هذا الإضافة قدرات SpatialStudio بشكل كبير. شارك المطور Daniel Habib الرمز على GitHub، وحث المستخدمين على تجربة التحديث. حصدت مقاطع الفيديو ذات الصلة أكثر من 200 مشاهدة.

التطوير فيديو مكاني

هل نهايَة دعم أنظمة ٣٢ بت في نواة لينكس قريبة؟

2025-09-02

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

OpenBSD يضيف دعمًا لـ Raspberry Pi 5، ولكن مع مشكلات معروفة

2025-09-02

أضاف تحديث OpenBSD الأخير دعمًا لـ RAMDISK على Raspberry Pi 5 Model B. ومع ذلك، هناك مشكلات معروفة: لا يعمل التمهيد من وحدات التخزين PCIe HAT (بسبب عدم وجود دعم U-Boot)، وشبكة WiFi على لوحات Raspberry Pi 5 Model B "d0" معطلة، ولا يعمل المبرد النشط (المروحة) بسبب عدم وجود برامج تشغيل pwm/clock (عمل جارٍ).

التطوير

ريبِل: إطار عمل واجهة مستخدم جديد يجمع بين ريآكت، سوليد، وسفلت

2025-09-02
ريبِل: إطار عمل واجهة مستخدم جديد يجمع بين ريآكت، سوليد، وسفلت

ريبِل هو إطار عمل واجهة مستخدم تايب سكريبت لا يزال في مرحلة التطوير المبكر، ويجمع بين أفضل أجزاء ريآكت، سوليد، وسفلت. تم تصميمه كإطار عمل يضع لغة جافا سكريبت/تايب سكريبت أولوية، ويتميز بامتداد فريد (.ripple) ولغة فائقة تُحسّن تجربة المُطور وتعمل بشكل جيد مع نماذج اللغات الكبيرة (LLMs). يتميز بإدارة الحالة التفاعلية المُدمجة، وهندسة معمارية قائمة على المكونات، وبنية نحوية مشابهة لـ JSX، وأداء عالي. على الرغم من وجود أخطاء فيه ولا يزال في مرحلة ألفا، إلا أن ميزات ريبِل المبتكرة - مثل المتغيرات وخصائص الكائنات التفاعلية التي تبدأ بـ $، ودالة `untrack` للتحكم في التفاعلية، ومصفوفات التفاعلية، ودالة `effect` - تجعله مشروعًا مثيرًا للاهتمام.

التطوير

برنامج تظليل مخصص في Three.js يحاكي الملصقات المصنوعة من رقائق معدنية

2025-09-02
برنامج تظليل مخصص في Three.js يحاكي الملصقات المصنوعة من رقائق معدنية

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

WinBoat: تشغيل تطبيقات Windows بسلاسة على Linux

2025-09-02
WinBoat: تشغيل تطبيقات Windows بسلاسة على Linux

WinBoat، الذي لا يزال في مرحلة تجريبية، يسمح لك بتشغيل تطبيقات Windows على نظام Linux الخاص بك مع تكامل سلس. يتميز بواجهة أنيقة وتركيب آلي، مما يسمح لك بتشغيل أي تطبيق Windows تقريبًا كنافذة مستوى نظام تشغيل أصلي داخل بيئة Linux الخاصة بك. يمكنك الوصول إلى سطح مكتب Windows الكامل أو دمج تطبيقات فردية في سير عملك. كما تم تبسيط مشاركة الملفات بين Windows و Linux. على الرغم من أنه يتطلب موارد نظام محددة (ذاكرة الوصول العشوائي، وحدة المعالجة المركزية، التخزين، KVM، Docker، FreeRDP)، يقدم WinBoat حلاً مقنعًا للتوافق بين الأنظمة الأساسية. نرحب بالمساهمات والتعليقات!

التطوير

شرط التحقق من مطوري تطبيقات Android: مكتبة لتحذير المستخدمين

2025-09-02
شرط التحقق من مطوري تطبيقات Android: مكتبة لتحذير المستخدمين

مكتبة مفتوحة المصدر جديدة، `FreeDroidWarn`، تساعد مطوري تطبيقات Android على إبلاغ المستخدمين بمتطلب التحقق من هوية المطورين القادم من Google. بدءًا من عامي 2026/2027، ستحتاج التطبيقات على أجهزة Android المعتمدة إلى التحقق من هوية المطورين. تعرض هذه المكتبة مربع حوار تحذير عند بدء تشغيل التطبيق، مما يسمح للمطورين بإبلاغ المستخدمين دون الحاجة إلى مشاركة بياناتهم الشخصية. هذه المكتبة مرخصة بموجب ترخيص GPLv3 وسهلة التكامل.

ABC: لغة برمجة سهلة التعلم وقوية بشكل مدهش

2025-09-01

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

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

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

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

التطوير

تورسو: لغز 1 جيجابايت تم حله بواسطة LLN

2025-09-01
تورسو: لغز 1 جيجابايت تم حله بواسطة LLN

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

التطوير

تطوير تطبيق سويفت بمساعدة ChatGPT: من الرائع إلى التعطل

2025-09-01
 تطوير تطبيق سويفت بمساعدة ChatGPT: من الرائع إلى التعطل

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

التطوير

٢٠ قاعدة لصياغة المعرفة بكفاءة في التعلم

2025-09-01
٢٠ قاعدة لصياغة المعرفة بكفاءة في التعلم

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

التطوير

الخاصية الغامضة `@isolated(any)` في سويفت 6: ما تحتاج إلى معرفته

2025-09-01
الخاصية الغامضة `@isolated(any)` في سويفت 6: ما تحتاج إلى معرفته

تُدخل سويفت 6 الخاصية `@isolated(any)`، التي تصف عزل الدوال غير المتزامنة، والتي تبدو محيرة في البداية. إنها تتطلب دائمًا وسيطة، لكن هذه الوسيط لا يمكن أن تتغير. تشرح المقالة سبب إدخالها: لحل مشكلة فقدان معلومات العزل أثناء جدولة الدوال غير المتزامنة. توفر `@isolated(any)` الوصول إلى خاصية عزل الدالة، مما يسمح بجدولة أكثر ذكاءً، خاصة عند التعامل مع `Task` و `TaskGroup`، مما يضمن ترتيب تنفيذ المهام على MainActor. على الرغم من أنه يمكن تجاهلها في معظم الحالات، إلا أن فهم `@isolated(any)` أمر بالغ الأهمية لكتابة شفرة متزامنة فعالة وموثوقة عند التعامل مع عزل الدوال غير المتزامنة وجدولتها.

نسخ احتياطي مشفرة لـ ZFS باستخدام zfsbackrest: أداة تجريبية

2025-09-01
نسخ احتياطي مشفرة لـ ZFS باستخدام zfsbackrest: أداة تجريبية

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

التطوير

تطبيق Bear لتدوين الملاحظات يغير ترخيصه لمكافحة المنافسة غير العادلة

2025-09-01
تطبيق Bear لتدوين الملاحظات يغير ترخيصه لمكافحة المنافسة غير العادلة

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

التطوير

خادم NuGet خفيف الوزن باستخدام Node.js: مستودع الحزم الخاص بك في 10 ثوانٍ

2025-09-01
خادم NuGet خفيف الوزن باستخدام Node.js: مستودع الحزم الخاص بك في 10 ثوانٍ

هذا خادم NuGet خفيف الوزن مبني على Node.js، والذي ينفذ وظائف أساسية من واجهة برمجة التطبيقات NuGet v3 لنشر الحزم، والاستعلام عنها، وتنزيلها. لا يتطلب قاعدة بيانات، حيث يقوم بتخزين ملفات الحزم و nuspec مباشرة في نظام الملفات، مما يجعل الإعداد سريعًا وسهلاً - قم بتشغيله في 10 ثوانٍ. توجد واجهة مستخدم حديثة قائمة على المتصفح، تدعم عمليات تحميل متعددة للحزم، وإدارة حسابات المستخدمين، وإعادة تعيين كلمات مرور واجهة برمجة التطبيقات، والمزيد. تتوفر صورة Docker. متوافق مع dotnet restore وعملاء NuGet القياسيين، كما يسمح بنشر الحزم عبر HTTP POST باستخدام أدوات مثل cURL.

استخدام جيت لإنتاج الموسيقى: نهج المطور

2025-09-01

اكتشف موسيقي ومهندس برمجيات استخدامًا ذكيًا لـ Git، نظام التحكم في الإصدارات، في إنتاج الموسيقى. بدلاً من إنشاء العديد من نسخ ملفات المشروع (مثل my-cool-song-new-vocals-brighter-mix-4.rpp)، يستخدم الكاتب Git لتتبع الإصدارات، مما يبسط إدارة المشاريع واستعادة الإصدارات. توضح المقالة بالتفصيل تهيئة مستودع Git في Windows باستخدام Git Bash، وإنشاء ملف .gitignore لاستبعاد الملفات غير الضرورية، واستخدام واجهة مستخدم رسومية لـ Git لعرض الإصدارات المختلفة. على الرغم من أن Git ليس مثاليًا للملفات الثنائية الكبيرة (مثل ملفات WAV)، إلا أنه يكفي لإدارة ملف المشروع الرئيسي. يقترح الكاتب أيضًا استخدام GitHub للنسخ الاحتياطي وقائمة المهام، مما يمنح مشروع الموسيقى أساسًا موقعه الخاص على الإنترنت قابل للتحديث.

التطوير إنتاج موسيقى

إتقان تطوير الذكاء الاصطناعي: مركز موارد Vibe Coding

2025-09-01
إتقان تطوير الذكاء الاصطناعي: مركز موارد Vibe Coding

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

التطوير دروس البرمجة

التزامن المُرتّب في Go: تحقيق السرعة دون التضحية بالنظام

2025-09-01
التزامن المُرتّب في Go: تحقيق السرعة دون التضحية بالنظام

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

Chronicle: مجموعة أدوات عملية لـ Event Sourcing بلغة Go

2025-09-01
Chronicle: مجموعة أدوات عملية لـ Event Sourcing بلغة Go

Chronicle هي مجموعة أدوات عملية وآمنة من حيث النوع لـ Event Sourcing بلغة Go. فهي تبسط التحكم في الإصدارات من خلال دمج `aggregate.Base`، مما يضمن سلامة الأنواع باستخدام أنواع المجموعات. مع دعم العديد من الخلفيات (ذاكرة، SQLite، PostgreSQL)، تعالج Chronicle التزامن باستخدام القفل المتفائل، وتحسن الأداء باستخدام لقطات، وتوفر ميزات مثل بيانات التعريف التابعة للأحداث والمحولات للتشفير وتحويل البيانات. هذه المكتبة القوية تبسط Event Sourcing الحديثة في تطبيقات Go.

التطوير

CocoaPods Trunk سيصبح للقراءة فقط في ديسمبر 2026

2025-09-01

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

التطوير القراءة فقط

Nim: لغة برمجة أنظمة مُستَخَف بها

2025-09-01

Nim هي لغة برمجة أنظمة تجمع بين إيجاز Python وقوة C++. يستكشف هذا المقال نقاط القوة والضعف فيها بناءً على تجربة الكاتب. تتميز Nim بقدرات ممتازة في الترجمة المتقاطعة، وخصائص قوية للبرمجة الميتا، ونموذج إدارة الذاكرة (ORC/ARC في Nim 2) الذي ينافس C++ وRust. ومع ذلك، هناك حاجة لتحسين الأدوات وتجربة التصحيح. بشكل عام، Nim هي لغة برمجة أنظمة مقنعة، حيث توفر توازنًا بين الإيجاز والمرونة والأداء مما يجعلها مناسبة لتطبيقات متنوعة.

التطوير

الخروج من Google Authenticator: توليد رموز TOTP في سطر الأوامر

2025-09-01
الخروج من Google Authenticator: توليد رموز TOTP في سطر الأوامر

في محاولة للتقليل من الاعتماد على خدمات جوجل، قام الكاتب بتبسيط هاتفه الذي يعمل بنظام أندرويد ليستخدم فقط خرائط جوجل و Authenticator لرموز TOTP. ولتوليد رموز TOTP من سطر الأوامر، استخدم أداة oathtool، لكن عملية النقل ثبت أنها معقدة. تُفصل المقالة عملية نقل الرموز من Google Authenticator: تصدير رمز QR، وفك تشفيره باستخدام qrtool، واستخراج الأسرار باستخدام برنامج نصي بايثون (otpauth_migrate)، وأخيرًا توليد رموز TOTP باستخدام oathtool. يُبسط برنامج نصي Bash العملية. كما يتم تناول مخاوف الأمن المتعلقة بتخزين مفاتيح السر.

التطوير

إعادة التفكير في البرمجة التي تعتمد على الأحداث: نمط مراقب ثنائي الاتجاه في PHP

2025-09-01
إعادة التفكير في البرمجة التي تعتمد على الأحداث: نمط مراقب ثنائي الاتجاه في PHP

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

حدث بقوة قبل C++20: فك تشابك نموذج الذاكرة

2025-09-01

تتناول هذه المقالة بالتفصيل علاقة "حدث بقوة قبل" التي تم تقديمها حديثًا في C++20، والتي تحل مشكلة معقدة في نموذج ذاكرة C++. باستخدام مثال بسيط لبرنامج متعدد الخيوط، يشرح الكاتب تدريجيًا كيف أن ترتيب التعديل، وترتيب الاتساق، وعلاقة "حدث بقوة قبل" تقيد ترتيب التنفيذ المتزامن. كما تحلل المقالة سبب السماح ببعض عمليات التنفيذ التي تبدو وكأنها تنتهك نموذج ذاكرة C++ على بنيات Power، وتشرح كيف تقوم علاقة "حدث بقوة قبل" بإصلاح هذه التناقضات، مما يضمن في النهاية ترتيبًا كليًا واحدًا لجميع عمليات `memory_order::seq_cst`.

التطوير
1 2 12 13 14 16 18 19 20 213 214