Category: التطوير

هندسة عكسية لمحرك المزامنة في Linear: دراسة مفصلة

2025-05-31
هندسة عكسية لمحرك المزامنة في Linear: دراسة مفصلة

تُجري هذه الدراسة المفصلة هندسة عكسية لمحرك المزامنة في Linear (LSE)، مُظهِرةً حلها الأنيق للتحديات مثل دعم نماذج البيانات التعسفية، وتوفير ميزات غنية (المزامنة الجزئية، ومراقبة الأذونات، والتراجع/إعادة التنفيذ، والتوفر دون اتصال، وسجل التعديلات)، وتوفير تجربة رائعة للمطورين. يُحلل المؤلف تشغيل LSE، بما في ذلك تعريف النماذج، واستخدام MobX، وعملية التمهيد، وإنشاء قاعدة البيانات المحلية، وترطيب البيانات الكسول، ومزامنة العميل والخادم، وآليات التراجع/إعادة التنفيذ، من خلال غوص عميق في رمز الواجهة الأمامية لـ Linear. تشرح المقالة كيفية تعريف LSE للنماذج والبيانات الوصفية، وكيفية إجراء التمهيد والتحميل الكسول، وكيفية التعامل مع المعاملات، والترقيات التزايدية، وحل النزاعات. يهدف LSE إلى تمكين المطورين من إنشاء تطبيقات تعاونية دون الحاجة إلى أن يكونوا خبراء في محركات المزامنة.

التطوير محرك المزامنة

عودة Redis 8.0 مفتوحة المصدر ومقارنة الأداء مع Valkey

2025-05-31
عودة Redis 8.0 مفتوحة المصدر ومقارنة الأداء مع Valkey

أثار قرار Redis Inc. المثير للجدل في العام الماضي بإغلاق مصدر Redis صدمة في مجتمع المصدر المفتوح، لكن المجتمع ردّ بإنشاء فرع Valkey. والآن، أصبح Redis 8.0 مفتوح المصدر مرة أخرى، وعاد المبدع الأصلي، Antirez. تقارن هذه المقالة أداء Valkey 8.1 و Redis 8.0، وتُظهر تفوق Valkey على Redis 8.0 من حيث الإنتاجية والوقت اللازم للاستجابة، خاصةً مع تمكين مؤشرات I/O. كما تستكشف تقنيات تحسين تخصيص النواة، وحدود اختبارات القياس.

التطوير

إتقان TestFlight: دليل شامل لاختبار تطبيقات بيتا

2025-05-31
إتقان TestFlight: دليل شامل لاختبار تطبيقات بيتا

ترغب في تجربة أحدث التطبيقات قبل أي شخص آخر؟ TestFlight هو الحل! يقدم هذا الدليل شرحًا شاملاً لطريقة تثبيت واختبار تطبيقات بيتا، بما في ذلك دعوات البريد الإلكتروني/الروابط العامة، والتثبيت على أنظمة iOS وiPadOS وmacOS وtvOS وvisionOS وwatchOS، وإدارة التحديثات التلقائية، واختبار الإصدارات السابقة ومجموعات الإصدارات، وحتى اختبار تطبيقات iMessage وApp Clips. كما يفصل فترات الاختبار والاعتبارات المهمة، مما يضمن تجربة اختبار بيتا سلسة وردود فعل قيّمة للمطورين.

Changefly ID: التحقق من الهوية من الجيل التالي لإنترنت أكثر أمانًا

2025-05-30

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

التطوير

الخيوط الافتراضية أكلت ذاكرتي: قصة زاحف ويب

2025-05-30
الخيوط الافتراضية أكلت ذاكرتي: قصة زاحف ويب

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

تحول المفكرة: نهاية البساطة؟

2025-05-30
تحول المفكرة: نهاية البساطة؟

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

التطوير محرر النصوص

متتبع أشعة ضوئية بسيط بلغة J: تجربة ممتعة بشكل مدهش

2025-05-30

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

التطوير لغة البرمجة J

Stack AI توظف مهندسين 10x لتمكين استخدام الذكاء الاصطناعي

2025-05-30
Stack AI توظف مهندسين 10x لتمكين استخدام الذكاء الاصطناعي

تبحث شركة Stack AI، وهي شركة ناشئة في مجال الذكاء الاصطناعي مدعومة من Y Combinator و Gradient Ventures، وأسسها اثنان من حملة الدكتوراه من معهد ماساتشوستس للتكنولوجيا، عن مهندسين واجهة أمامية 10x! إنهم يبنيون منصة سهلة الاستخدام وخالية من التعليمات البرمجية تتيح الوصول إلى نماذج اللغات الكبيرة، مما يسمح لأي شخص بإنشاء تطبيقات ذكاء اصطناعي ذات تأثير إيجابي. تتكامل Stack AI مع أفضل نماذج الذكاء الاصطناعي (OpenAI، Anthropic، Google) ومصادر بيانات متنوعة، وتضم أكثر من 85000 مستخدم وأكثر من 300 عميل يدفعون. يتطلب هذا المنصب إتقان React و TypeScript وتركيزًا قويًا على تجربة المستخدم. إذا كنت شغوفًا بالذكاء الاصطناعي وترغب في العمل في بيئة شركة ناشئة ديناميكية، فهذه هي فرصتك لإحداث فرق حقيقي.

التطوير

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

2025-05-30
ما وراء البرمجة بالشعور: نهج مسؤول للتنمية بمساعدة الذكاء الاصطناعي

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

التطوير عملية التطوير

أوتوماتيك تعود عن قرارها وتعطي الأولوية لتطوير ووردبريس

2025-05-30
أوتوماتيك تعود عن قرارها وتعطي الأولوية لتطوير ووردبريس

قامت شركة أوتوماتيك، الشركة الأم لـ WordPress.com، بشكل مفاجئ بإلغاء قرارها بتعليق مساهماتها في مشروع ووردبريس. يأتي هذا بعد إعلان الشهر الماضي بأن عام 2025 سيشهد إطلاق الإصدار 6.8 فقط. تكشف المراسلات الداخلية عن رغبة الرئيس التنفيذي مات مولينويغ في إصدار النسخة 6.9 هذا العام، مع إضافة تحديثات لإدارة النظام ووظائف ذكاء اصطناعي. تتزايد التكهنات حول دوافع هذا التغيير، حيث يشير البعض إلى ضغوط أو مخاوف تتعلق بالسمعة، أو رابط مباشر مع النزاع القانوني الجاري بين أوتوماتيك و WP Engine. تتهم أوتوماتيك شركة WP Engine بالاستفادة من مشروع ووردبريس مفتوح المصدر دون المساهمة فيه، بينما ترد WP Engine بأن أوتوماتيك تسيء فهم قانون العلامات التجارية. لا تزال الأسباب غير واضحة، لكن التزام أوتوماتيك المتجدد يضيف منعطفًا هامًا لسرد قصة ووردبريس.

التطوير

جدولة المهام الخفيفة مع Wasp وPgBoss: حل أنيق بشكل مدهش

2025-05-30
جدولة المهام الخفيفة مع Wasp وPgBoss: حل أنيق بشكل مدهش

تتناول هذه المقالة جدولة المهام الخفيفة في تطبيقات React وNode.js باستخدام Wasp وPgBoss. يستفيد PgBoss من موثوقية PostgreSQL وقابلية توسيعه لإدارة مهام الخلفية بكفاءة، بينما يبسط Wasp تعريف المهام وتكوينها. تستخدم المقالة تطبيق تتبع نتائج التنس لإظهار إنشاء كل من مهام الجدولة مرة واحدة (مثل إرسال بريد إلكتروني يومي ملخص للمباراة) والمهام المتكررة (مثل رسائل البريد الإلكتروني اليومية). هذه الإعدادات مثالية للمشاريع الصغيرة أو الشركات الناشئة في مرحلة مبكرة، مما يلغي الحاجة إلى خدمات خارجية معقدة. ومع ذلك، بالنسبة للمهام عالية التحميل أو كثيفة الحساب، يوصى بنظام معالجة مهام مخصص.

التطوير جدولة المهام

CatBench v0.3: تطبيق بحث المتجهات Postgres مع مراقبة الأداء الآن

2025-05-30

CatBench، وهو تطبيق تجريبي يستخدم Postgres وPgVector مع 25000 صورة للحيوانات الأليفة، يقدم الآن مخططات لإنتاجية النظام ووقت استجابة الاستعلامات على مستوى مثيل قاعدة البيانات. في السابق، كان بإمكان المستخدمين استعراض محرك التوصيات، وعرض صور القطط، وتوصيات المنتجات بناءً على مشتريات القطط المماثلة، ومعاينة مقاييس أداء استعلامات SQL للخلفية. الإصدار v0.3 يضيف قسم مراقبة يعرض نشاط مثيل Postgres بشكل عام ووقت استجابة SQL. الخطط المستقبلية تتضمن تنظيف الشفرة، وزيادة حجم مجموعة الصور إلى 9 ملايين صورة، وإضافة مراقبة لجودة الاستدعاء لاكتشاف الاحتيال، ودعم قواعد بيانات أخرى.

التطوير بحث المتجهات

Asdf Overlay: مكتبة تراكب نوافذ Windows فائقة السرعة

2025-05-30
Asdf Overlay: مكتبة تراكب نوافذ Windows فائقة السرعة

Asdf Overlay هي مكتبة تراكب نوافذ Windows فائقة السرعة وسهلة الاستخدام، ترسم فوق ذاكرة التخزين المؤقت لإطار النافذة من خلال ربط الخلفيات الرسومية. تستخدم نسيجًا مشتركًا لوحدة معالجة الرسومات لتجنب نسخ ذاكرة التخزين المؤقت لإطار النافذة عبر وحدة المعالجة المركزية، مما يسمح بتقديم تراكبات بأي حجم دون فقدان الأداء. تدعم العديد من واجهات برمجة التطبيقات، بما في ذلك OpenGL و DX9-DX12 و Vulkan، وتوفر ميزات مثل التحكم في التقاط الإدخال. تم استخدامها بالفعل في مشاريع مثل تراكبات الكلمات في اللعبة وتراكبات اللعبة، وتتطلب Node.js و pnpm وإصدارًا محددًا من مُجمِّع Rust و MSVC. بعد تثبيت التبعيات، قم بالبناء باستخدام `pnpm build`. يتم توفير أمثلة وطرق تصحيح الأخطاء متعددة.

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

محول جداول إكسل/جوجل شيتس إلى جداول ماركدون

2025-05-30
محول جداول إكسل/جوجل شيتس إلى جداول ماركدون

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

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

Sequor: منصة عمل تعتمد على SQL لدمج واجهات برمجة التطبيقات API الموثوقة

2025-05-30
Sequor: منصة عمل تعتمد على SQL لدمج واجهات برمجة التطبيقات API الموثوقة

Sequor هي عبارة عن منصة عمل مفتوحة المصدر تعتمد على SQL، مصممة لبناء تكاملات واجهات برمجة التطبيقات (API) الموثوقة داخل مجموعات البيانات الحديثة. إنها توفر بديلاً قوياً لمتصلات SaaS من النوع «صندوق أسود»، مما يمنح فرق البيانات تحكماً كاملاً في خطوط أنابيب التكامل الخاصة بهم. من خلال دمج تنفيذ واجهة برمجة التطبيقات مع قاعدة البيانات الخاصة بك، يتيح Sequor تدفق بيانات ثنائي الاتجاه، باستخدام SQL للتحويلات والتحليلات ومنطق العمل. هذا النهج الموحد يقضي على الحدود التقليدية بين عمليات iPaaS و ETL. النهج الذي يركز على الكود أولاً (YAML للعمليات، Jinja/Python للمعلمات، SQL للمنطق) يسمح بالتحكم في الإصدار والتعاون وCI/CD والتطوير المحلي. يمكّنك Sequor من امتلاك عمليات التكامل الخاصة بك والتحكم فيها وتوسيع نطاقها بشكل شفاف، باستخدام تقنيات مفتوحة مألوفة وتجنب الاحتجاز بواسطة SaaS.

Cap: بديل مفتوح المصدر وخفيف وخاص لـ CAPTCHA

2025-05-30
Cap: بديل مفتوح المصدر وخفيف وخاص لـ CAPTCHA

Cap هو بديل CAPTCHA خفيف، حديث، ومفتوح المصدر يستخدم برهان عمل SHA-256. إنه سريع، خاص، وسهل التكامل للغاية. يتكون من عنصر واجهة مستخدم JavaScript (@cap.js/widget) ومكون على جانب الخادم (@cap.js/server)، يوفر Cap العديد من الإضافات ويدعم بيئات التشغيل ولغات البرمجة المتعددة. يعمل حتى بشكل مستقل في Docker. مقارنةً بـ hCaptcha، فإن Cap أصغر بمقدار 250 مرة، وباستخدام برهان العمل، لا يتطلب أي تتبع للمستخدم. مفتوح المصدر بالكامل، يقدم Cap أوضاعًا مثل الوضع غير المرئي والوضع العائم لتلبية الاحتياجات المختلفة.

التطوير برهان العمل

vrs: بيئة تشغيل متزامنة قائمة على لغة Lisp لبرمجة ممتعة

2025-05-30
vrs: بيئة تشغيل متزامنة قائمة على لغة Lisp لبرمجة ممتعة

vrs هو مشروع طموح لبيئة تشغيل برامج شخصية يهدف إلى تقديم تجربة برمجة ممتعة وفعالة من خلال الجمع بين أفضل الأفكار من أنظمة مثل Emacs وErlang وUnix. يستخدم لهجة Lisp مضمنة تسمى Lyric، تدعم عمليات خفيفة الوزن، وتبادل الرسائل، وتسجيل الخدمات، والقدرة على تشغيل ملايين العمليات دون حظر النظام. يمكن للمطورين استخدام أداة سطر الأوامر vrsctl للبرمجة التفاعلية و تصحيح الأخطاء، بالإضافة إلى وضع Emacs يسمى `lyric-mode` من أجل تطوير فعال. vrs قيد التطوير المكثف، لكن نموذج التزامن المبتكر ولهجة Lisp سهلة الاستخدام تُظهر إمكانات كبيرة.

التطوير

برهان عمل في أقل من ثانية: الفوز بجائزة KernelCTF بقيمة 51000 دولار باستخدام AVX-512

2025-05-30
برهان عمل في أقل من ثانية: الفوز بجائزة KernelCTF بقيمة 51000 دولار باستخدام AVX-512

في مايو 2025، اكتشف فريق Crusaders of Rust واستغل ثغرة use-after-free في مُخطط حزم Linux، بهدف الفوز بجائزة KernelCTF من Google بقيمة 51000 دولار. يصف الكاتب مساهمته الأساسية: تحسين عمل الإثبات في المسابقة (دالة تأخير قابلة للتحقق، أو VDF) باستخدام تعليمات AVX-512IFMA. من خلال التحسينات الرياضية، ونقل الكود إلى C++، والضبط الدقيق على مستوى التجميع، قاموا بخفض وقت التنفيذ من 1.4 ثانية إلى 0.21 ثانية مذهلة، مما ضمن فوز الفريق بتقديم قياسي بلغ 3.6 ثوانٍ. هذا يُظهر فهماً عميقاً للأجهزة منخفضة المستوى والسعي الدؤوب لتحقيق الأداء.

التطوير تحسين VDF

مؤشرات ومستويات دي بروين: حل مشكلة التقاط المتغيرات في حساب لامدا

2025-05-30
مؤشرات ومستويات دي بروين: حل مشكلة التقاط المتغيرات في حساب لامدا

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

مايكروساندبوكس: تنفيذ آمن للكود غير الموثوق

2025-05-30
مايكروساندبوكس: تنفيذ آمن للكود غير الموثوق

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

اختفاء لغـة البرمجة W++ الغامض وظهورها كمصدر مفتوح

2025-05-30
اختفاء لغـة البرمجة W++ الغامض وظهورها كمصدر مفتوح

W++ هي لغة برمجة تجريبية ممتعة مصممة للتعلم والفوضى والميمات. بعد تحقيق أكثر من 33000 عملية تنزيل في سوق VSCode ، تم إزالتها بشكل غامض. يحتوي هذا المستودع على رمز المصدر الكامل ، بما في ذلك محلل دلالي و محلل نحوي ومترجم مكتوب بلغة C # ، بالإضافة إلى امتداد VSCode مخصص. مع دعم لامدا غير متزامن ونهج "كائن موجه للبرمجة في بعض الأحيان ليس ممتازًا" (OOPSIE) الفريد ، تهدف W++ إلى إظهار أن لغات البرمجة التي تم إنشاؤها كمزحة يمكن أن تعلم مهارات قيّمة.

التطوير

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

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

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

التطوير

التغييرات المثيرة للجدل في إصدار MinIO المجتمعي تثير غضبًا واسعًا

2025-05-30
التغييرات المثيرة للجدل في إصدار MinIO المجتمعي تثير غضبًا واسعًا

أزال MinIO، وهو حل شائع لتخزين الكائنات مفتوحة المصدر، ميزات إدارة رئيسية قائمة على الويب من إصداره المجتمعي، مما أثار ردود فعل سلبية من المستخدمين. يتطلب الإصدار المجاني الآن من المستخدمين الاعتماد على أدوات سطر الأوامر أو الترقية إلى خطة مدفوعة. دفع هذا القرار، الذي شبهه البعض بـ "enshittification"، العديدين إلى استكشاف بدائل مثل SeaweedFS و Garage و Zenko. ويصر MinIO على أن التغييرات ضرورية لدعم تطوير المشروع.

التطوير

إضافة جيت التفاعلية بلغة Go: وظائف محسّنة

2025-05-30
إضافة جيت التفاعلية بلغة Go: وظائف محسّنة

يوفر هذا التنفيذ بلغة Go لوظيفة الإضافة التفاعلية في جيت (git add -i, git add -p) تجربة مستخدم مُحسّنة. بالإضافة إلى تكرار ميزات البرنامج النصي الأصلي بلغة بيرل، فإنه يضيف وظائف قوية: تصفية عالمية باستخدام تعبيرات عادية، وتقسيم تلقائي للقطع، وتحسين البحث/التنقل. يمكن تثبيته كأمر جيت، ويتضمن اختبارات وحدات شاملة. استمتع بالتحكم المُحسّن في تنظيم تغييراتك!

التطوير

النشر الأحادي لـ Rust/Axum و Svelte/SvelteKit: حل أنيق؟

2025-05-30

تقدم هذه المقالة نهجًا غير تقليدي لنشر تطبيقات الصفحة المفردة (SPAs) في تطوير الويب: تضمين تطبيق SPA المُنشأ مباشرةً في الملف الثنائي للخلفية. هذا يبسط عملية النشر (ملف ثنائي واحد) والرمز (بدون معالجة CORS)، ولكنه يزيد من حجم الملف الثنائي واستخدام الذاكرة ويقلل قليلاً من تجربة المطور (بدون إعادة تحميل سريع). يستخدم الكاتب Rust/Axum و Svelte/SvelteKit لإثبات ذلك، مفصلًا إعداد monorepo باستخدام أداة إنشاء Moon واستخدام مكتبة rust-embed لتضمين منتجات إنشاء الواجهة الأمامية. والنتيجة هي تطبيق SPA بسيط يسترد البيانات ويتنقل داخل الخلفية.

التطوير

دالة eval في راكت: أداة قوية، لكن استخدمها بحذر

2025-05-30

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

مؤشرات OrioleDB الجسرية: تحقيق التوازن بين السرعة والنظام البيئي

2025-05-30
مؤشرات OrioleDB الجسرية: تحقيق التوازن بين السرعة والنظام البيئي

يقدم OrioleDB مؤشرات جسرية، وهو حل ذكي لدمج النظام البيئي الغني لمؤشرات PostgreSQL غير B-tree (مثل GIN و GiST) مع الحفاظ على بنيته MVCC وخالية من الكومة. عمود افتراضي `iptr` ومؤشر جسر خفيف الوزن يقومان بتعيين مؤشرات PostgreSQL إلى البنية الداخلية لـ OrioleDB. يسمح هذا بدعم أنواع المؤشرات المختلفة. على الرغم من إضافة بعض العبء على الاستعلام (بحث إضافي)، إلا أن هذه التكلفة تكون عادةً ضئيلة بالنسبة للمؤشرات المعقدة (مثل بحث ANN من pg_vector). هذه الابتكار يسمح للمستخدمين بالاستفادة من ملحقاتهم المفضلة دون التضحية بالأداء.

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

C++ الحديث: إتقان RAII (اكتساب الموارد هو التهيئة)

2025-05-30

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

التطوير

الذيول الخالية من الأقفال في C++: غوص عميق في الذرات وترتيب الذاكرة

2025-05-30

تتناول هذه المقالة تعقيدات العمليات الذرية وترتيب الذاكرة في C++، وتنتهي بتطبيق أساسي لذيول الخالية من الأقفال. يشرح الكاتب بدقة عدم قابلية تقسيم العمليات الذرية وتأثير نماذج ترتيب الذاكرة المختلفة (relaxed, release-acquire, seq_cst) على البرمجة المتزامنة، باستخدام أمثلة توضيحية لإظهار كيفية منع سباقات البيانات. ثم يتم محاولة إنشاء ذيل خالٍ من الأقفال يعتمد على قائمة مرتبطة، مع شرح تفصيلي لعمليات enqueue و dequeue. ومع ذلك، يعترف الكاتب بأن التنفيذ غير مكتمل، خاصةً أنه لا يعالج مشكلة ABA. المقالة دليل شامل يناسب القراء الذين لديهم بعض الخبرة في برمجة C++ المتزامنة.

مدير أسرار OpenBao يقدم مساحات أسماء لتعزيز الأمان والقابليّة للتطوير

2025-05-30
مدير أسرار OpenBao يقدم مساحات أسماء لتعزيز الأمان والقابليّة للتطوير

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

1 2 72 73 74 76 78 79 80 213 214