Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() السكك الحديدية ووسائل النقل الأخرى - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2021-06-30
تطوير البرمجيات

السكك الحديدية ووسائل النقل الأخرى

The Codest

كرزيستوف بوزيفيتش

Software Engineer كبير Software Engineer

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

مشاكل القضبان وريلز-واي الشائعة

المشاكل المذكورة في: مقالة على Shopify

  • التوجيه,
  • قبل الإجراءات,
  • إجراءات كبيرة في وحدات التحكم,
  • الطرق الخاصة في وحدات التحكم,
  • المخلوطات المستخدمة مرة واحدة,
  • المنطق في المشاهدات,
  • استدعاءات ActiveRecord الاسترجاعات,
  • الجمعيات,
  • "العارضات البدينات"

مشاكل إضافية

  • عمليات التحقق من صحة السجل النشط,
  • الضمني على الصريح,
  • إساءة استخدام جاف,
  • الوفود إلى الجمعيات,
  • مكالمات الخدمة في النماذج.

بدائل القضبان

عندما يتعلق الأمر ب القضبان في روبي العالم، لدينا العديد من البدائل. تشمل الأطر الأخرى القائمة على Rack ما يلي: - سيناترا, – روضة, – هانامي.

ما الذي يجعلها فريدة من نوعها؟

يقدم لنا كل من Sinatra و Roda بناء جملة توجيه كتلة، لكن التوجيه في Sinatra عبارة عن قائمة وفي Roda - شجرة. في كلا الإطارين، علينا التعامل مع تنفيذ طبقة النموذج بأنفسنا. في حالة Roda، من الجيد استخدام جوهرة Sequel.

رودا مستوحى من سيناترا. إنه خفيف جداً في حد ذاته، ولكنه يحتوي على الكثير من الإضافات.

هانامي هو الأقرب إلى القضبان عندما يتعلق الأمر بالمجالات التي يغطيها الإطار. وأهم الاختلافات من حيث الاستخدام هي:

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

يحدّ الإصدار 1 من Hanami بشدة من استخدام ROM الذي يستند إليه (الإصدار 3، وهو بالفعل 5)، لذلك لا يستحق استخدام طبقة النموذج المقترحة هناك. ومع ذلك، نظرًا لأنه إطار مفتوح للغاية، فمن السهل جدًا تنفيذ النموذج الخاص بك هناك.

مكملات القضبان

من المفيد استخدام حلول لا تعتمد على القضبان وأقرب إلى "النقاء" روبي. الأدوات المذكورة في العرض التقديمي هي:

  • Sequel (ORM، بديل لـ ActiveRecord),
  • ذاكرة القراءة فقط (راسم خرائط الكائنات),
  • مكتبات Dry-rb: التحقق الجاف، والنظام الجاف، والوحيد الجاف.

من السهل وضع التكملة في المشروعفهو يعتمد على المكونات الإضافية وينفذ أيضًا نمط السجل النشط. لديه دعم استعلام منخفض المستوى أفضل من القضبان' أكتيف ريكورد.

يستخدم ROM Sequel، لكن مفهومه هو الترجمة بين السجلات في قاعدة (قواعد) البيانات و روبي الكائنات. يهدف إلى السرعة وتحويل البيانات. يفصل بوضوح طبقة المثابرة في التطبيق.

المكتبات الجافة-رب هي أدوات مفيدة للغاية:

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

الاستنتاجات

من الأفضل استخدام القضبان بحيث لا تضطر إلى استخدام القضبان يوم واحد.

المصادر

المقالات

  • رائحة الكود في تطبيقات رايلز (بواسطة Shopify)
  • هانامي: ريبوزيتوريا
  • أدلة القضبان

أطر العمل

  • سيناترا
  • روضة
  • هانامي

الأحجار الكريمة

  • الجزء الثاني
  • ذاكرة القراءة فقط
  • بيبليوتيكي دري-رب
  • مدقق مخطط JSON روبي (json-schema)
  • باجي
  • روداوث
  • قضبان روداوث

المواصفات

  • الرف
  • مخطط JSON

اقرأ المزيد:

ما هو Ruby on Jets وكيفية إنشاء تطبيق باستخدامه؟

Vuelendar. مشروع كودست جديد يستند إلى Vue.js

تقرير كودست الأسبوعي لأفضل المقالات التقنية. بناء برمجيات لـ 50 مليون مقبس متزامن (10)

مقالات ذات صلة

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

إنشاء تطبيقات ويب مستقبلية: رؤى من فريق خبراء The Codest

اكتشف كيف تتفوق شركة The Codest في إنشاء تطبيقات ويب تفاعلية قابلة للتطوير باستخدام أحدث التقنيات، وتقديم تجارب مستخدم سلسة عبر جميع المنصات. اكتشف كيف تقود خبرتنا التحول الرقمي والأعمال التجارية...

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

أفضل 10 شركات لتطوير البرمجيات في لاتفيا

تعرّف على أفضل شركات تطوير البرمجيات في لاتفيا وحلولها المبتكرة في أحدث مقالاتنا. اكتشف كيف يمكن لهذه الشركات الرائدة في مجال التكنولوجيا المساعدة في الارتقاء بأعمالك.

thecodest
الحلول المؤسسية وحلول التوسعة

أساسيات تطوير برمجيات جافا: دليل للاستعانة بمصادر خارجية بنجاح

استكشف هذا الدليل الأساسي حول تطوير برمجيات جافا outsourcing بنجاح لتعزيز الكفاءة والوصول إلى الخبرة وتحقيق نجاح المشروع باستخدام The Codest.

thecodest
تطوير البرمجيات

الدليل الشامل للاستعانة بمصادر خارجية في بولندا

إن الطفرة في outsourcing في بولندا مدفوعة بالتقدم الاقتصادي والتعليمي والتكنولوجي، مما يعزز نمو تكنولوجيا المعلومات والمناخ الملائم للأعمال.

ذا كوديست
الحلول المؤسسية وحلول التوسعة

الدليل الكامل لأدوات وتقنيات تدقيق تكنولوجيا المعلومات

تضمن عمليات تدقيق تكنولوجيا المعلومات وجود أنظمة آمنة وفعالة ومتوافقة. تعرف على المزيد حول أهميتها من خلال قراءة المقال كاملاً.

The Codest
ياكوب جاكوب جاكوبوفيتش CTO وشريك مؤسس CTO

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic