(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': data().getTime(),įvykis:'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'); Bėgiai ir kitos transporto priemonės - The Codest
The Codest
  • Apie mus
  • Paslaugos
    • Programinės įrangos kūrimas
      • Priekinės dalies kūrimas
      • Galinės dalies kūrimas
    • Staff Augmentation
      • Priekinės dalies kūrėjai
      • Atgalinės versijos kūrėjai
      • Duomenų inžinieriai
      • Debesų inžinieriai
      • QA inžinieriai
      • Kita
    • Patariamoji tarnyba
      • Auditas ir konsultacijos
  • Pramonės šakos
    • Fintech ir bankininkystė
    • E-commerce
    • Adtech
    • Sveikatos technologijos
    • Gamyba
    • Logistika
    • Automobiliai
    • IOT
  • Vertė už
    • CEO
    • CTO
    • Pristatymo vadybininkas
  • Mūsų komanda
  • Case Studies
  • Sužinokite, kaip
    • Tinklaraštis
    • Susitikimai
    • Interneto seminarai
    • Ištekliai
Karjera Susisiekite su mumis
  • Apie mus
  • Paslaugos
    • Programinės įrangos kūrimas
      • Priekinės dalies kūrimas
      • Galinės dalies kūrimas
    • Staff Augmentation
      • Priekinės dalies kūrėjai
      • Atgalinės versijos kūrėjai
      • Duomenų inžinieriai
      • Debesų inžinieriai
      • QA inžinieriai
      • Kita
    • Patariamoji tarnyba
      • Auditas ir konsultacijos
  • Vertė už
    • CEO
    • CTO
    • Pristatymo vadybininkas
  • Mūsų komanda
  • Case Studies
  • Sužinokite, kaip
    • Tinklaraštis
    • Susitikimai
    • Interneto seminarai
    • Ištekliai
Karjera Susisiekite su mumis
Atgal rodyklė GRĮŽTI ATGAL
2020-04-24
Programinės įrangos kūrimas

Bėgiai ir kitos transporto priemonės

The Codest

Krzysztof Buszewicz

Vyresnysis Software Engineer

“Rails” yra su "Rack" suderinama sistema, skirta greitam programų kūrimui. Deja, dėl požiūrio "viskas iš dėžutės" ir aklo "Rails" elgesio dažnai prarandama programos kodo kokybė - tiek priėmimo (skaitomumo), tiek veikimo požiūriu.

Populiarios "Rails" ir "Rails-way" problemos

Problemos, paminėtos: straipsnis apie "Shopify

  • maršruto parinkimas,
  • prieš veiksmus,
  • dideli veiksmai valdikliuose,
  • privatūs metodai valdikliuose,
  • mišiniai naudojami vieną kartą,
  • logika vaizduose,
  • "ActiveRecord" grįžtamieji ryšiai,
  • Asociacijos,
  • “riebalų modeliai”.”

Papildomos problemos

  • Aktyvių įrašų patvirtinimai,
  • numanomas, o ne aiškus,
  • piktnaudžiavimas sausuoju,
  • delegacijos į asociacijas,
  • paslaugų iškvietimus modeliuose.

"Rails" alternatyvos

Kai kalbama apie Bėgiai į Ruby pasaulyje, turime keletą alternatyvų. Kitos "Rack" pagrindu sukurtos sistemos yra šios: - Sinatra, - Roda, - Hanami.

Kuo jie unikalūs?

Ir "Sinatra", ir "Roda" siūlo mus bloko maršrutizavimo sintaksė, tačiau Sinatroje maršrutizavimas yra sąrašas, o Rodoje - medis. Abiejuose karkasuose su modelio sluoksnio įgyvendinimu turime tvarkytis patys. Roda atveju pravartu naudoti Sequel brangakmenį.

Rodą įkvėpė Sinatra. Ji pati savaime yra labai lengva, tačiau turi daug įskiepių.

Hanami yra arčiausiai Bėgiai kai kalbama apie sritis, kurioms taikoma sistema. Svarbiausi skirtumai naudojimo požiūriu yra šie:

  • valdikliai Bėgiai prieš Hanami veiksmus,
  • specialios klasės / objektai, skirti konkrečiai HTTP užklausai tvarkyti, o ne vienas valdiklis, skirtas veiksmams, susijusiems su konkrečiu ištekliu (modeliu),
  • modelio sluoksnis, pagrįstas saugyklomis ir esybėmis, atskiriantis išliekamumą nuo likusios taikomosios programos, o ne aktyvaus įrašo modelis.

"Hanami" 1 versija griežtai riboja ROM, kuria ji pagrįsta, naudojimą (3 versija, o ji jau yra 5), todėl neverta naudoti ten siūlomo modelio sluoksnio. Tačiau, kadangi tai yra labai atvira sistema, gana lengva ten įdiegti savo modelį.

"Rails" priedai

Verta naudoti sprendimus, kurie nepriklauso nuo Bėgiai ir yra artimesni “gryniems” Ruby. Pristatyme paminėtos šios priemonės:

  • Sequel (ORM, alternatyva ActiveRecord),
  • ROM (objektų žemėlapis),
  • dry-rb bibliotekos: dry-validations, dry-system ir dry-monads.

Sequel lengva įdėti į projektas, ji pagrįsta įskiepiais ir taip pat įgyvendina aktyvaus įrašo modelį. Ji turi geresnį žemo lygio užklausų palaikymą nei Bėgiai‘ ActiveRecord.

ROM naudoja "Sequel", tačiau jo koncepcija yra versti įrašus iš duomenų bazės (-ių) į Ruby objektai. Juo siekiama greičio ir duomenys transformacija. Aiškiai atskiria atkaklumo sluoksnį programoje.

"Dry-rb" bibliotekos yra labai naudingos priemonės:

  • sausą patvirtinimą labai lengva naudoti API projektus ir leidžia puikiai kontroliuoti gaunamų duomenų teisingumą,
  • dry-system reikia šiek tiek praktikos ir kantrybės, kad kūrėjai ją perprastų, tačiau ji leidžia labai lanksčiai valdyti priklausomybes programoje ir atskirai įkelti projekto komponentus; jei norime naudoti šią biblioteką Bėgiai, galime naudoti sausus bėgius,
  • sausosios monados teoriškai yra sudėtinga sąvoka, tačiau praktiškai ją lengviau suprasti, todėl monados gali būti puikus būdas padidinti skaitomumą kodas nagrinėjant konkrečius atvejus, o ne šakotus if.

Išvados

Geriausia naudoti Bėgiai kad nereikėtų naudoti Bėgiai vieną dieną.

Šaltiniai

Straipsniai

  • Kodo kvapai "Rails" programėlėse (pagal "Shopify")
  • Hanami: repozytoria
  • Bėgių gidai

Rėmeliai

  • Sinatra
  • Roda
  • Hanami

Brangakmeniai

  • tęsinys
  • ROM
  • Biblioteka dry-rb
  • "Ruby" JSON schemos tikrintuvas (json-schema)
  • Pagy
  • Rodauth
  • rodauth-rails

Specifikacijos

  • Stovas
  • JSON schema

Skaityti daugiau:

Kas yra "Ruby on Jets" ir kaip sukurti programėlę naudojant šią programėlę?

1TP68Kalendorius. Naujas Codest's projektas, paremtas Vue.js

"Codest" kassavaitinė geriausių technologijų straipsnių ataskaita. Programinės įrangos kūrimas 50 mln. vienu metu veikiančių lizdų (10)

Susiję straipsniai

Išmaniojo telefono sveikatos priežiūros programėlės su širdies piktograma ir kylančia sveikatos diagrama, pažymėtos The Codest logotipu, iliustracija, vaizduojanti skaitmeninės sveikatos ir sveikatos technologijų sprendimus.
Programinės įrangos kūrimas

Sveikatos priežiūros programinė įranga: Sveikatos priežiūros paslaugos: tipai, naudojimo atvejai

Įrankiai, kuriais šiandien naudojasi sveikatos priežiūros organizacijos, nė iš tolo neprimena prieš kelis dešimtmečius naudotų popierinių kortelių. sveikatos priežiūros programinė įranga dabar padeda sveikatos sistemoms, pacientų priežiūrai ir šiuolaikiniam sveikatos priežiūros paslaugų teikimui klinikinėse ir...

GERIAUSIAS
Abstrakti mažėjančios stulpelinės diagramos su kylančia rodykle ir auksine moneta, simbolizuojančia ekonomiškumą arba taupymą, iliustracija. Viršutiniame kairiajame viršutiniame kampe pavaizduotas The Codest logotipas ir šūkis "In Code We Trust" šviesiai pilkame fone.
Programinės įrangos kūrimas

Kaip padidinti savo Dev komandą neprarandant produkto kokybės

Didinate savo kūrėjų komandą? Sužinokite, kaip augti neprarandant produkto kokybės. Šiame vadove aptariami ženklai, kad atėjo laikas didinti komandą, komandos struktūra, įdarbinimas, vadovavimas ir įrankiai - ir kaip The Codest gali...

GERIAUSIAS
Programinės įrangos kūrimas

Sukurkite ateičiai atsparias žiniatinklio programas: The Codest ekspertų komandos įžvalgos

Sužinokite, kaip The Codest puikiai kuria keičiamo dydžio interaktyvias žiniatinklio programas, naudodama pažangiausias technologijas ir užtikrindama vientisą naudotojų patirtį visose platformose. Sužinokite, kaip mūsų patirtis skatina skaitmeninę transformaciją ir verslo...

GERIAUSIAS
Programinės įrangos kūrimas

10 geriausių Latvijoje įsikūrusių programinės įrangos kūrimo įmonių

Naujausiame mūsų straipsnyje sužinokite apie geriausias Latvijos programinės įrangos kūrimo įmones ir jų inovatyvius sprendimus. Sužinokite, kaip šie technologijų lyderiai gali padėti pakelti jūsų verslo lygį.

thecodest
Įmonių ir didinimo sprendimai

"Java" programinės įrangos kūrimo pagrindai: A Guide to outsourcing Outsourcing Successfully

Išnagrinėkite šį esminį vadovą, kaip sėkmingai outsourcing "Java" programinę įrangą kurti, kad padidintumėte efektyvumą, įgytumėte patirties ir sėkmingai įgyvendintumėte projektus su The Codest.

thecodest

Prenumeruokite mūsų žinių bazę ir būkite nuolat informuoti apie IT sektoriaus patirtį.

    Apie mus

    The Codest - tarptautinė programinės įrangos kūrimo bendrovė, turinti technologijų centrus Lenkijoje.

    Jungtinė Karalystė - būstinė

    • 303B biuras, 182-184 High Street North E6 2JA
      Londonas, Anglija

    Lenkija - vietiniai technologijų centrai

    • Fabryczna biurų parkas, Aleja
      Pokoju 18, 31-564 Krokuva
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšuva, Lenkija

    The Codest

    • Pagrindinis
    • Apie mus
    • Paslaugos
    • Case Studies
    • Sužinokite, kaip
    • Karjera
    • Žodynas

    Paslaugos

    • Patariamoji tarnyba
    • Programinės įrangos kūrimas
    • Galinės dalies kūrimas
    • Priekinės dalies kūrimas
    • Staff Augmentation
    • Atgalinės versijos kūrėjai
    • Debesų inžinieriai
    • Duomenų inžinieriai
    • Kita
    • QA inžinieriai

    Ištekliai

    • Faktai ir mitai apie bendradarbiavimą su išoriniu programinės įrangos kūrimo partneriu
    • Iš JAV į Europą: Kodėl Amerikos startuoliai nusprendžia persikelti į Europą?
    • Technikos plėtros centrų užsienyje palyginimas: Tech Offshore Europa (Lenkija), ASEAN (Filipinai), Eurazija (Turkija)
    • Kokie yra svarbiausi CTO ir CIO iššūkiai?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autorinės teisės © 2026 The Codest. Visos teisės saugomos.

    lt_LTLithuanian
    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 lvLatvian is_ISIcelandic lt_LTLithuanian