فهم الأمر lsof: الكشف عن الملفات المفتوحة لعملية ما

2025-06-06

يستخدم هذا المقطع من التعليمات البرمجية الأمر `lsof -p $(echo $$)` لإدراج جميع الملفات المفتوحة لعملية zsh الحالية. تعرض النتيجة تفاصيل مثل معرف العملية، والمستخدم، ونوع مُعرّف الملف، والجهاز، والحجم، والمسار، مما يوفر صورة واضحة لتفاعلات العملية مع نظام الملفات. وهذا أمر لا يُقدّر بثمن لفهم سلوك العملية وإصلاح تسربات مُعرّفات الملفات.

اقرأ المزيد

التحقق من صحة الهوية المعتمدة على ملفات تعريف الارتباط في Axum: من المُستخرجين إلى البرامج الوسيطة

2025-06-05

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

اقرأ المزيد

لماذا يجب عليك التخلص من منشئي الاستعلامات واعتماد SQL الخام

2025-01-25

تدعو هذه المقالة إلى كتابة استعلامات قواعد البيانات مباشرةً في SQL بدلاً من الاعتماد على منشئي الاستعلامات. من خلال أمثلة متعددة، يوضح الكاتب كيف أن ميزات SQL (مثل `IS NULL`، و `COALESCE`، و `ARRAY_REMOVE`، و `STRING_TO_ARRAY`) تتعامل ببراعة مع المعلمات الاختيارية، والمصفوفات، والتصفح، والتحديثات بالدفعات، مما يقلل من تعقيد منطق Rust. هذا النهج يبسط الشفرة، ويحسن القابلية للقراءة والاختبار، ويتيح إجراء اختبارات و تصحيح أخطاء أسهل لقاعدة البيانات. يجادل الكاتب بأن SQL الخام يكون أنظف وأكثر كفاءة من أنماط المنشئ المعقدة في أغلب الأحيان.

اقرأ المزيد