Skip to content

Latest commit

 

History

History
43 lines (22 loc) · 3.04 KB

File metadata and controls

43 lines (22 loc) · 3.04 KB

أسئلة شائعة

ملاحظة: مسودة ترجمة تحتاج مراجعة.

لماذا Actix Web وليس Axum؟

Actix Web ناضج ومختبر في الإنتاج ويستخدمه المؤلف في مشاريع عملاء فعلية. نفس نمط التراتب يعمل في Axum مع اختلافات طفيفة في middleware.

لماذا SQLx وليس Diesel أو SeaORM؟

SQLx يعطي تحقق SQL في وقت الترجمة وهو async بطبيعته. لا يوجد تجريد ORM يعطيك سرعة تطوير أعلى من كتابة SQL مباشرة.

لماذا workspace بـ 7 crates لقالب بداية؟

لأن القالب مصمم ليكبر مع المشاريع الحقيقية. قالب بـ crate واحدة يعمل حتى يصل المشروع إلى 50 ملفًا، ثم كل تغيير يستدعي إعادة بناء كاملة. ترتيب workspace يُبقي البناء التزايدي سريعًا ويفرض البنية الطبقية من اليوم الأول.

هل يمكنني حذف الصناديق التي لا أحتاجها؟

نعم. إذا لم يكن مشروعك يحتاج نطاق المستخدمين المرجعي، احذف crates/users/، أزله من members في Cargo.toml الجذر، وأزل استدعاء users::configure من صندوق api.

لماذا Fluent وليس JSON بسيطًا؟

Fluent يتعامل مع صيغ الجمع والنوع والاستيفاء بشكل صحيح عبر اللغات بطريقة لا توفرها استعلامات serde_json::Value. العربية لديها ست صيغ جمع (صفر، واحد، اثنان، قليل، كثير، آخر) ونوع نحوي — قاموس بسيط ينتج نصًا مكسورًا.

هل يُبطئ التدويل المسار الساخن؟

لا. حُزَم Fluent تُجمَّع مرة واحدة عند الإقلاع. استعلام الطلب الواحد هو وصول HashMap وتنسيق رسالة — أقل من 100 ميكروثانية على الأجهزة العادية.

لماذا وصف OpenAPI بالإنجليزية فقط؟

لأن وثائق API يقرأها المطورون، وطلاقة المطور في الإنجليزية افتراض معقول لقالب backend. ترجمة rustdoc و OpenAPI تضاعف سطح الصيانة بفائدة ضئيلة.

كيف أضيف نقاط نهاية للمشرفين؟

أضف مسارات تأخذ AdminOnly كوسيط في الـ handler. انظر المثال في crates/users/src/handlers.rs::list — مُستخرج AdminOnly يرجع 403 تلقائيًا لغير المشرفين.

هل يمكنني استخدام MySQL أو SQLite بدلاً من Postgres؟

ليس جاهزًا. التبديل يحتاج استبدال خاصية postgres في SQLx بـ mysql أو sqlite، إعادة كتابة الهجرات (بعض SQL خاص بـ Postgres)، وإزالة الأنواع الخاصة بـ Postgres. دعم قواعد البيانات المتعددة مخطط لـ v3.0.