(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=? 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Sliedes un citi transportlīdzekļi - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2020-04-24
Programmatūras izstrāde

Sliedes un citi transporta līdzekļi

The Codest

Krzysztof Buszewicz

Vecākais Software Engineer

Rails ir ar Rack saderīga sistēma, kas paredzēta ātrai lietojumprogrammu izstrādei. Diemžēl “viss no kastes” pieeja un akla Rails-way uzvedība bieži vien izraisa lietojumprogrammas koda kvalitātes zudumu gan uztveres (lasāmības), gan darbības ziņā.

Populāras Rails un Rails-way problēmas

Problēmas, kas minētas: raksts par Shopify

  • maršrutēšana,
  • pirms darbības,
  • lielas darbības kontrolieros,
  • privātās metodes kontrolieros,
  • vienreiz izmantotie sajaukumi,
  • loģika skatos,
  • ActiveRecord izsaukumi,
  • Asociācijas,
  • “trekni modeļi.”

Papildu problēmas

  • Aktīvo ierakstu apstiprinājumi,
  • netiešā, nevis tiešā,
  • ļaunprātīga DRY lietošana,
  • delegācijas asociācijās,
  • pakalpojumu izsaukumi modeļos.

Rails alternatīvas

Kad runa ir par Sliedes in the Rubīns pasaulē mums ir vairākas alternatīvas. Citas uz Rack balstītas sistēmas ir šādas: - Sinatra, - Roda, - Hanami.

Ar ko tie ir unikāli?

Gan Sinatra, gan Roda piedāvā mums bloka maršrutēšanas sintakse, bet Sinatra maršrutēšana ir saraksts, bet Roda - koks. Abos ietvarstruktūrās ar modeļa slāņa implementāciju mums jātiek galā pašiem. Roda gadījumā ir lietderīgi izmantot Sequel gem.

Roda ir iedvesmojusies no Sinatras. Tā pati par sevi ir ļoti viegla, taču tai ir daudz spraudņu.

Hanami ir vistuvāk Sliedes attiecībā uz jomām, uz kurām attiecas sistēma. Svarīgākās atšķirības izmantošanas ziņā ir šādas:

  • kontrolieri Sliedes pret darbībām Hanami laikā,
  • īpašas klases/objekti, kas apstrādā konkrētu HTTP pieprasījumu, nevis viens kontrolieris darbībām, kas saistītas ar konkrētu resursu (modeli),
  • modeļa slānis, kas balstīts uz repozitorijiem un vienībām, atdalot noturību no pārējās lietojumprogrammas, nevis aktīvo ierakstu modeli.

Hanami 1. versija stingri ierobežo ROM, uz kura tā ir balstīta, izmantošanu (3. versija, un tā jau ir 5. versija), tāpēc nav vērts izmantot tur piedāvāto modeļa slāni. Tomēr, tā kā tas ir ļoti atvērts ietvars, ir diezgan viegli tajā ieviest savu modeli.

Papildinājumi sliedēm

Ir vērts izmantot risinājumus, kas nav atkarīgi no Sliedes un ir tuvāk “tīrai” Rubīns. Prezentācijā minētie rīki ir šādi:

  • Sequel (ORM, alternatīva ActiveRecord),
  • ROM (objektu kartētājs),
  • dry-rb bibliotēkas: dry-validations, dry-system un dry-monads.

Sequel ir viegli ievietot projekts, tā ir balstīta uz spraudņiem un īsteno arī aktīvo ierakstu modeli. Tam ir labāks zema līmeņa vaicājumu atbalsts nekā Sliedes‘ ActiveRecord.

ROM izmanto Sequel, bet tā koncepcija ir tulkot ierakstus datubāzē(-ēs) un datubāzē(-ēs). Rubīns objekti. Tā mērķis ir ātrums un dati pārveidošana. Skaidri nodala noturības slāni lietojumprogrammā.

Dry-rb bibliotēkas ir ļoti noderīgi rīki:

  • sauso validāciju ir ļoti viegli izmantot. API projektiem un nodrošina lielisku kontroli pār ienākošo datu pareizību,
  • dry-system ir nepieciešama neliela pieredze un pacietība, lai izstrādātāji to saprastu, taču tā ļauj ļoti elastīgi pārvaldīt atkarības lietojumprogrammā un izolēti ielādēt projekta komponentus; ja mēs vēlamies izmantot šo bibliotēku Sliedes, mēs varam izmantot sausās sliedes,
  • sausās monādes teorētiski ir sarežģīts jēdziens, bet praksē tas ir vieglāk saprotams, rezultātā monādes var būt lielisks veids, kā palielināt lasāmību. kods aplūkojot konkrētus gadījumus, nevis sazaroties ar if.

Secinājumi

Vislabāk ir izmantot Sliedes lai nebūtu jāizmanto Sliedes vienu dienu.

Avoti

Raksti

  • Koda smaržas Rails lietotnēs (pēc Shopify)
  • Hanami: repozytoria
  • Rails ceļveži

Rāmji

  • Sinatra
  • Roda
  • Hanami

Dārgakmeņi

  • Turpinājums
  • ROM
  • Bibliotēkas dry-rb
  • Ruby JSON shēmas validators (json-schema)
  • Pagy
  • Rodauth
  • rodauth-rails

Specifikācijas

  • Plaukts
  • JSON shēma

Lasīt vairāk:

Kas ir Ruby on Jets un kā ar to izveidot lietotni?

1TP61Kalendārijs. Jauns Codest projekts, kas balstīts uz Vue.js

Codest iknedēļas pārskats par labākajiem tehnoloģiju rakstiem. Programmatūras veidošana 50M vienlaicīgu ligzdu (10)

Saistītie raksti

Ilustrācija viedtālruņa veselības aprūpes lietotnei ar sirds ikonu un pieaugošo veselības diagrammu, kas apzīmēta ar The Codest logotipu, kurš pārstāv digitālās veselības un HealthTech risinājumus.
Programmatūras izstrāde

Veselības aprūpes programmatūra: Mārketinga programmatūra: veidi, izmantošanas gadījumi

Šodien veselības aprūpes organizāciju rīcībā esošie rīki vairs neatgādina papīra diagrammas, kas tika izmantotas pirms vairākiem gadu desmitiem. veselības aprūpes programmatūra tagad atbalsta veselības aprūpes sistēmas, pacientu aprūpi un mūsdienīgu veselības aprūpes sniegšanu klīniskajās un...

TĀKĀDĒJAIS
Abstrakta ilustrācija ar lejupejošu joslu diagrammu ar augošu bultiņu un zelta monētu, kas simbolizē izmaksu efektivitāti vai ietaupījumus. Augšējā kreisajā stūrī redzams The Codest logotips ar saukli "In Code We Trust" uz gaiši pelēka fona.
Programmatūras izstrāde

Kā paplašināt izstrādātāju komandu, nezaudējot produkta kvalitāti

Palielināt izstrādātāju komandu? Uzziniet, kā augt, nezaudējot produkta kvalitāti. Šajā rokasgrāmatā aplūkotas pazīmes, kas liecina, ka ir pienācis laiks paplašināt komandu, komandas struktūra, pieņemšana darbā, vadība un rīki, kā arī tas, kā The Codest var...

TĀKĀDĒJAIS
Programmatūras izstrāde

Uz nākotni noturīgu tīmekļa lietojumprogrammu veidošana: The Codest ekspertu komandas ieskats

Uzziniet, kā The Codest izceļas mērogojamu, interaktīvu tīmekļa lietojumprogrammu izveidē, izmantojot modernākās tehnoloģijas un nodrošinot viengabalainu lietotāja pieredzi visās platformās. Uzziniet, kā mūsu zināšanas veicina digitālo transformāciju un biznesa...

TĀKĀDĒJAIS
Programmatūras izstrāde

Top 10 Latvijā bāzēti programmatūras izstrādes uzņēmumi

Mūsu jaunākajā rakstā uzziniet vairāk par Latvijas labākajiem programmatūras izstrādes uzņēmumiem un to inovatīvajiem risinājumiem. Uzziniet, kā šie tehnoloģiju līderi var palīdzēt uzlabot jūsu biznesu.

thecodest
Uzņēmumu un mērogošanas risinājumi

Java programmatūras izstrādes pamati: A Guide to Outsourcing Successfully

Izpētiet šo būtisko rokasgrāmatu par veiksmīgu outsourcing Java programmatūras izstrādi, lai uzlabotu efektivitāti, piekļūtu speciālajām zināšanām un sekmīgi īstenotu projektus ar The Codest.

thecodest

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian is_ISIcelandic lvLatvian