Néha hallom, hogy az emberek panaszkodnak ügyfeleikre, mondván, hogy ők ragaszkodik valamihez a Rails használatával kapcsolatban, hogy túl sok Kool Aid volt. Ha toborzók, akkor szinte rosszul érzik magukat a gyomorban, hogy még egy Ruby on Rails ‘primadona’ fejlesztőt kell találniuk. Aztán elővesznek valami hasonlót ehhez a elképesztően tudatlanhoz összehasonlítás a Git és a PHP között hogy bebizonyítsák álláspontjukat. 'Nem is tudják, mit kérnek' - mondják.
Nekünk mint programozók , néha valóban úgy tűnik, hogy ügyfeleinknek fogalma sincs. Szeretjük eltúlozni az ilyen eseteket. Ha kicsit belegondolsz, nem tűnik helyesnek azt gondolni, hogy az az ember, aki pénzt ad nekem a dolgok felépítésére, valahogy korlátozott és „csak nem ér rá”. Valójában, Úgy gondolom, hogy az ügyfelek többsége nagyon jól tudja a lehetőségeit, és mégis még mindig úgy dönt, hogy elmegy Railsszel.
Megpróbálom elmagyarázni, hogy véleményem szerint mi teszi a Rails-t eléggé előnyössé ahhoz, hogy komolyan megfontolják őket rengeteg projekt és igény esetén.
mesterséges intelligencia és a gazdaság
Lehetséges, hogy senki sem tudna a Ruby előnyeiről, ha nem maga a Rails lenne. Vannak, akik szeretik kicsinyíteni Rubyt azzal, hogy azt mondják, hogy „Rubynak olyan könnyű” a „Rails nevű fényes páncélú lovagja”, és Rails nélkül a „Ruby lényegtelen lenne”. Nem tudom biztosan megmondani, hogy ez igaz-e vagy sem, de tudom, hogy hatalmas kár lenne, ha a világ kihagyna egy ilyen kiváló nyelvet. Tény: a Rails szerzője szándékosan választotta Rubyt, és a „vad” fogadása hatalmas érdeklődéssel megtérült. Amit akkor látott, azt ma sokan láthatják. Ruby valahogy lehetővé teszi a programozók számára egy speciális módszert, amelyet olyan nehéz megmagyarázni a „mosatlan tömegeknek”. Szóval, miért használjuk a Ruby on Rails-et? Ruby a programozókat boldoggá teszi, ahogyan hirdetik.
Míg a legtöbb fejlesztő egyetért abban, hogy a Ruby praktikus, egyesek úgy látják túl sok így. Aggódnak, hogy mi történhet a Ruby által megengedett összes szabadsággal, a visszaélések minden lehetőségével. Hadd illusztráljam néhány majomfoltozással:
'1'.to_i #=> 1 class String def to_i raise 'foobar' end end '1'.to_i #=> RuntimeError: foobar
Ez ilyen egyszerű: mindössze öt kódsorral vettünk egy meglévő osztályt, és felülírtuk annak viselkedését. Nohting szent - nem is vonós. Ezt a hibát könnyű lenne észrevenni, de a dolgok sokkal baljósabbá válhatnak:
class String def to_i self.to_f - 1.13 end end '2'.to_i #=> 0.8700000000000001
Csakúgy, bevezettünk egy hibát a String osztályba, amely rétegenként és összetettséggel burkolható be és fedhető el.
Szóval, gondolhat: Össze tudja-e keverni mindenki és anyjuk az értékes alkalmazásomat? Bár ez a viselkedés valóban ijesztőnek tűnik - valójában nem az. Öt év alatt Ruby segítségével , Pontosan nulla problémám volt ezzel a viselkedéssel. Lehet, hogy ellentmondásszerűnek tűnik, de akkor is, így 60 MPH-val halad az autók ellentétes irányban, csak egy vékony fehér vonal választja el az út közepén. A gyakorlatban mindkettő feltűnően jól működik.
További előny, hogy a Ruby sokoldalú eszköz. Mint ilyen, éles, késszerű élekkel rendelkezik. Szeretem azt gondolni, hogy a felnőttek jól tudják kezelni a késeket - a gyermekbiztosítás a gyerekeknek is megfelel ( Csipog ). Ha gyermekként kezelik az informatikában, akkor Paul Graham áldozatává válik Blub paradoxon : szerinted jobban jársz bizonyos funkciók nélkül, amelyeket nem értesz, vagy amelyeket valaki túl veszélyesnek mondott. Természetesen ma azt kérdezzük, 'miért használjuk a Ruby on Rails' -t; így ez egy másik vita. El kell ismerni, hogy Ruby hiányol néhány olyan funkciót, amely más nyelvekben megtalálható (Lisp hmm, hmm). Összességében a Ruby közel áll a „nyelvhatalmi kontinuum” csúcsához.
Az első néhány évem Ruby-val szerény volt. Annyit tanultam, hogy mások kódját olvastam át. Néha csodálkoztam; néha dühös voltam; de végül ez az ismeret lehetővé tette, hogy a korábbinál sokkal hatékonyabban kommunikáljak a számítógépemmel. Szinte sajnálom néhány más „bürokrácia” nyelvet, amelyek miatt a karikákon kell átugrani, csak azért, hogy átugorja őket, miközben azt mondják, hogy „Csak azt csinálom, ami a legjobb az Ön számára, ez a saját érdekében!”
Mély tiszteletben tartják a Rails DNS-ébe kötött pragmatizmust a lehető legalacsonyabb szinten. A Ruby előnyeivel együtt ez a pragmatizmus elegáns megoldásokat hoz létre és ösztönzi / inspirálja a Ruby on Rails fejlesztői közösség hogy ugyanezt tegyem. A pragmatizmust gyakran a Rails sátraként hirdetik, így ez az állítás nem új keletű, de az igazságra nemrégiben emlékeztettem, amikor egy barátom megpróbálta megmutatni, milyen 'klassz' Hibernálás tényleg. Küzdött. Éreztem a fájdalmát, mivel nem tudott számtalan opciót és konfigurációs paramétert beállítani, amelyeknek eleve a keret alapértelmezései kellett volna.
hamis hitelkártyaszámok 2017
Az életkor előrehaladtával a mesterséges bonyolultságra vonatkozó normáim egyre magasabbak lettek. Figyelembe véve, hogy 1989-ben kezdtem el gyártási kódot írni 11 évesen (kezdve egy szomszéd szomszédom projektjével.) Clipper Nyár ’87 ), Közel nulla toleranciám van a felesleges komplikációkkal szemben. A Rails pedig nagyon magas pontszámokat ért el azon a részlegen. Ez nem csak a „konfigurációval kapcsolatos egyezmény”; Az egész pragmatikus gondolkodásmódról beszélek, amelyet nagyra értékelnek és átjárnak a Rails közösségben.
A Rails a lehető legközelebb áll az angol nyelvhez (hacsak nem COBOL-t használ). Belsőként használja DSL , kiterjesztve Ruby-t a saját szemantikájával. A DSL elkészítése mindig veszélyes, mivel hatékonyan fejlesztesz egy új nyelvet. Mivel belső, nem kell külső értelmezőt használni, de bizonyos értelemben új nyelvnek tűnik. A Rails csapata jó egyensúlyt teremtett DSL-jével, ott használta, ahol van értelme, és csak ritkán túllicitálja, kiváló önkontrollt demonstrálva. Úgy gondolom, hogy bármely programozó, a Rails tapasztalatától függetlenül (és még néhány nem programozó is) megértheti ezt:
class User true acts_as_taggable acts_as_taggable_on :certificates, :expertise_kinds validates_presence_of :first_name, :last_name, :email has_many :translations has_attached_file :avatar, :styles => {:small => '240x240>'} has_attached_file :cv ...
Valójában, ha nem ismeri a Rubyt, ez furcsának tűnhet - szinte olyan, mintha nem egy programozási nyelv lenne. Ha rájössz, hogy ez csak metódus hívás zárójelek nélkül, akkor jó. Ennek ellenére a Rails DSL úgy érzi, hogy ez a speciális nyelv a követelmények leírására, bár valójában csak a Ruby kiváló szintaxisának intelligens elnevezése és velejárója.
A Rails egy sereg elkövetővel rendelkezik, amelyek biztosítják, hogy csúcsminőségben maradjanak. Sok projekt az életkor előrehaladtával párosul, a Rails esetében mégis szikrák repülnek, amikor döntéseket kell hozni. Úgy érzi, hogy a fenntartók (még mindig) valóban törődnek és azt akarják, hogy az emberek használják a Ruby on Rails alkalmazást, és megértsék annak előnyeit.
Sok projekt az életkor előrehaladtával párosul, a Rails esetében mégis szikrák repülnek, amikor döntéseket kell hozni. CsipogMaga a Rails alatt, mint cseresznye a tetején, Ruby áll a félelmetes csomagkezelőjével, RubyGems , összehasonlítható CPAN a csomagok számát tekintve - és figyelembe véve a CPAN korát, ez az állítás (enyhén szólva) nagyon hatásos. A Railsnek rövid kisiklása volt, amikor megpróbálta elkészíteni saját „Rails pluginjeit”. Szerencsére ez nem állt fenn, így a RubyGems továbbra is az egységes, kiváló forrás a nagyon fényes egyének által programozott kód számára.
ez a név a típus vagy más jellemzők körüli üres területre utal egy elrendezésben.
A hűvös nyelv, a gyakorlati webes keretrendszer és a kiváló közösség közötti szinergia eredményt ad Railsnek sokkal jobb, mint a részek összege.
Rails már a tömb körül van. Hipsterfajta módon ez már nem is olyan klassz. Ez jó dolog a technológiai verem kiválasztásakor: valami bizonyítottat akar. A Rails pedig éppen ilyen. Nemrég írtunk egy darabot, amely a legkülönfélébbről beszélt Rubintolmácsok és futásidők amelyek már elérhetők.
Tudom, tudom. Informatikai szakemberként nagyon értékelnem kellene 'komoly' dolgokat, és figyelmen kívül hagyja a 'csillám' . Lehet, hogy sekélynek tűnik, de szembe kell néznie vele:
Ez nem is a hiúságról szól; arról van szó, hogy minél több okos embert bevonzanak a vízbe a malomba. Ha figyelembe vesszük a kereteket, akkor a legjobb hely a tömegben lenni. Olyan keretrendszer kiválasztása, amelyre ezek az okos emberek összpontosítanak, egyszerűen azt jelenti, hogy sokkal több teret már lefedtek az Ön számára. És ezzel eljutok a következő pontomhoz.
Van egy puha pontom az apró vázakhoz. Szeretem, ha meg tudom érteni, hogy egy adott keretrendszer mit csinál és miért. Ebben az értelemben a Rails kissé dagadt, sőt időnként elsöprő.
Itt a dilemma: hányszor akarja ugyanazt a dolgot újra és újra megírni? Biztos vagyok benne, hogy némelyikét jobban át lehet írni, de időbe telik - sok időbe. Minél többet enged a Rails neked, annál kevesebbet kell aggódnod a funkcionalitás újraírása vagy újbóli megvalósítása miatt.
A Rails (ahogy mondani szokták) „akkumulátorokat tartalmaz”. Ez nem jó, ha nagyon kedveli a ritkaságot, vagy ha szükségesnek érzi, hogy átfogó ismeretekkel rendelkezzen minden működéséről. A gyakorlatban, ha elengedi félelmeit, úgy tűnik, hogy működik. A Rails ésszerű alapértelmezéseket tartalmaz szinte mindenre, amire szüksége van, és elég moduláris ahhoz, hogy elkerülje a szűk helyre szorítást.
Kérdezze meg újra, miért használja Ruby on Rails ? A Rails alkalmas mind a legmodernebb nyilvános weboldalakra, amelyek versenyeznek az Single Page JavaScript alkalmazásokkal, mind az összetett vállalati törzsrendszer-alkalmazásokra, amelyek általában kissé „csúnyábbnak” tűnnek (általánosabb, alacsonyabb hűségű felhasználói felülettel), de ezt kompenzálják. rengeteg bonyolult üzleti szabály és logika. Előnye, hogy sokoldalú és képes versenyezni mind a karcsú, mind a hatalmasokkal.
express js vs node js
A legtöbb általános probléma esetén a Rails rendelkezésére áll egy olyan komponens, amely szinte azonnal rendelkezésre áll, dokumentációival, amely folyamatosan meghaladja az átlagot (valahogy a Rails alapcsoportja meggyőzte a közreműködőket arról, hogy a dokumentumok írása klassz (bár mindannyian tudjuk, hogy ez nem), ami jól megírt, tömör és időtakarékos dokumentumokhoz vezet.
Ha félreteszi az egyszarvúakat és a pénteki öleléseket, egy hatalmas keretrendszerhez jut, amelyet felhasználhat mind a jövőbeli játékváltójához, mind pedig a következő közepes üzleti webhelyéhez. A csúcskategóriás drágakövek összességével pedig kéznél van egy arzenál, amely a számítógépes programozás legfényesebb ötleteit valósítja meg. Felhajtás nélkül.
Összefüggő: Időbélyeg csonkítása: Ruby on Rails ActiveRecord Tale