window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Rööpad ja muud transpordivahendid - The Codest
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2021-06-30
Tarkvaraarendus

Rööpad ja muud transpordivahendid

The Codest

Krzysztof Buszewicz

Vanem Software Engineer

Rails on Rackiga ühilduv raamistik, mis on keskendunud kiirele rakenduste arendamisele. Kahjuks põhjustavad "kõik karbist välja" lähenemine ja pime Rails-käitumine sageli rakenduskoodi kvaliteedi langust nii vastuvõtu (loetavuse) kui ka toimimise osas.

Populaarsed Rails ja Rails-tee probleemid

Probleemid, mida on mainitud dokumendis: artikkel Shopify kohta

  • marsruutimine,
  • before-actions,
  • suured tegevused kontrollerites,
  • privaatsed meetodid kontrollerites,
  • üks kord kasutatud mixins,
  • loogika seisukohtades,
  • ActiveRecordi tagasikutsud,
  • Assotsiatsioonid,
  • "rasvased mudelid".

Täiendavad probleemid

  • Aktiivse kirje valideerimine,
  • kaudne üle selgesõnalise,
  • DRY kuritarvitamine,
  • delegatsioonid ühendustele,
  • teenusekutsed mudelites.

Alternatiivid Rails'ile

Kui tegemist on Rööpad aastal Ruby maailmas on meil mitu alternatiivi. Teised Rackil põhinevad raamistikud on järgmised: - Sinatra, – Roda, – Hanami.

Mis teeb nad ainulaadseks?

Nii Sinatra kui ka Roda pakuvad meile plokkide marsruutimise süntaksit, kuid marsruutimine Sinatras on nimekiri ja Rodas - puu. Mõlemas raamistikus peame me ise tegelema mudelikihi rakendamisega. Roda puhul on hea mõte kasutada Sequel gemi.

Roda on inspireeritud Sinatrast. See on iseenesest väga kerge, kuid sellel on palju pluginaid.

Hanami on kõige lähemal Rööpad kui tegemist on raamistikuga hõlmatud valdkondadega. Kõige olulisemad erinevused kasutuse osas on järgmised:

  • kontrollerid sisse Rööpad vs. tegevused Hanamis,
  • spetsiaalsed klassid/objektid, mis tegelevad konkreetse HTTP päringuga, mitte üks kontroller konkreetse ressursiga (mudeliga) seotud tegevuste jaoks,
  • mudelikiht, mis põhineb repositooriumidel ja entiteetidel, eraldades püsivuse ülejäänud rakendusest, mitte aktiivse kirje muster.

Hanami versioon 1 piirab tugevalt ROMi kasutamist, millel ta põhineb (versioon 3, ja see on juba 5), nii et seal pakutud mudelikihti ei tasu kasutada. Kuna tegemist on aga väga avatud raamistikuga, siis on üsna lihtne rakendada seal mudelit oma.

Rails'i lisad

Tasub kasutada lahendusi, mis ei sõltu Rööpad ja on lähemal "puhtale" Ruby. Esitluses mainitud vahendid on järgmised:

  • Sequel (ORM, alternatiiv ActiveRecordile),
  • ROM (objekti kaardistaja),
  • dry-rb raamatukogud: dry-validations, dry-system ja dry-monads.

Sequel on lihtne panna projekt, see põhineb pistikprogrammidel ja rakendab ka aktiivse kirje mustrit. Sellel on parem madala taseme päringute tugi kui Rööpad' ActiveRecord.

ROM kasutab Sequel'i, kuid selle kontseptsioon on tõlkida andmebaasi(de) kirjete ja Ruby esemed. Selle eesmärk on kiirus ja andmete ümberkujundamine. Eraldab selgelt püsivusekihi rakenduses.

Dry-rb raamatukogud on väga kasulikud tööriistad:

  • Kuivvalideerimist on API-projektides väga lihtne kasutada ja see võimaldab suurt kontrolli sissetulevate andmete õigsuse üle,
  • dry-system vajab arendajatel veidi pratcice'i ja kannatust, et sellest aru saada, kuid see võimaldab väga paindlikult hallata sõltuvusi rakenduses ja laadida projekti komponente eraldi; kui me tahame seda raamatukogu kasutada Rööpad, saame kasutada kuiva rööpaid,
  • kuiv-monaadid on teoorias keeruline mõiste, kuid praktikas on see lihtsamini mõistetav, tulemuseks monaadid võivad olla suurepärane võimalus suurendada loetavust kood võttes arvesse konkreetseid juhtumeid, mitte hargnevaid if'e.

Järeldused

Kõige parem on kasutada Rööpad et te ei peaks kasutama Rööpad ühel päeval.

Allikad

Artiklid

  • Kood lõhnab Railsi rakendustes (Shopify poolt)
  • Hanami: repozytoria
  • Rööbasteed Juhendid

Raamistik

  • Sinatra
  • Roda
  • Hanami

Kalliskivid

  • Järjekord
  • ROM
  • Biblioteki dry-rb
  • Ruby JSON skeemi valideerija (json-schema)
  • Pagy
  • Rodauth
  • rodauth-rails

Spetsifikatsioonid

  • Riiuli
  • JSON skeem

Loe edasi:

Mis on Ruby on Jets ja kuidas seda kasutades rakendust luua?

Vuelendar. Uus Codesti projekt, mis põhineb Vue.js-l.

Codesti iganädalane aruanne parimatest tehnikaartiklitest. Tarkvara ehitamine 50 miljoni samaaegse pistikupesa jaoks (10)

Seotud artiklid

Tarkvaraarendus

Tulevikukindlate veebirakenduste loomine: The Codest ekspertide meeskonna ülevaade

Avastage, kuidas The Codest paistab skaleeritavate, interaktiivsete veebirakenduste loomisel silma tipptehnoloogiatega, mis pakuvad sujuvat kasutajakogemust kõigil platvormidel. Saate teada, kuidas meie eksperditeadmised aitavad kaasa digitaalsele ümberkujundamisele ja äritegevusele...

THECODEST
Tarkvaraarendus

Top 10 Lätis asuvat tarkvaraarendusettevõtet

Tutvu Läti parimate tarkvaraarendusettevõtete ja nende innovaatiliste lahendustega meie viimases artiklis. Avastage, kuidas need tehnoloogiajuhid saavad aidata teie äri edendada.

thecodest
Enterprise & Scaleups lahendused

Java tarkvaraarenduse põhitõed: A Guide to Outsourcing Successfully

Tutvuge selle olulise juhendiga, kuidas edukalt outsourcing Java tarkvara arendada, et suurendada tõhusust, pääseda ligi eksperditeadmistele ja edendada projekti edu The Codest abil.

thecodest
Tarkvaraarendus

Ülim juhend Poola allhanke kohta

outsourcing kasv Poolas on tingitud majanduslikust, hariduslikust ja tehnoloogilisest arengust, mis soodustab IT kasvu ja ettevõtlussõbralikku kliimat.

TheCodest
Enterprise & Scaleups lahendused

Täielik juhend IT-auditi vahendite ja tehnikate kohta

IT-auditid tagavad turvalised, tõhusad ja nõuetele vastavad süsteemid. Lisateavet nende tähtsuse kohta leiate kogu artiklist.

The Codest
Jakub Jakubowicz CTO & kaasasutajad

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

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