Technologie nauc.cz

|

Nauc.cz běží na poměrně známém webovém frameworku Ruby on Rails. Vývoj potřebujeme dělat co nejefektivněji, takže PHP frameworky, které jsou oproti Railsům polovičaté, nás nezaujaly (ale nejdál došlo Yii ;). Trochu méně obvyklé je použití databáze MySQL. Ta je známá z jednoduchých webových aplikací v PHP a část vývojářů ji v pokročilých nasazení zavrhuje. Já k nim nepatřím :-)

MySQL má podle mě několik výhod.

  1. rychlost
  2. mám s ní delší zkušenosti z provozu webhostingu
  3. dobře se škáluje a replikuje, Slony u Postgresu mi připadalo dost složité a těžkopádné, v cloudu pak můžeme použít Amazon RDS nebo Google cloud SQL.
  4. chybějící pokročilé SQL funkce stejně nahrazuje DAO frameworku nebo je nepoužíváme

Proč ne nějaká noSQL databáze? Hlavně s žádnou nemám produkční zkušenosti a při hraní si s Mongo mi nepřipadala tak zajímavá, abych se jí víc věnoval. Do budoucna se uvidí.

Nastavení databáze v Ruby on Rails

Nastavení databáze v Ruby on Rails

Nahrávání souborů uživatelů, například materiálů nebo prezentací k jejich školení, je zatím otázka. Nabízí se S3 od Amazonu, ale potřebujeme k nim řídit přístup a model, kdy by všechna data šla z S3 ke klientovi přes aplikační servery se mi nezdá nejefektivnější (i když to tak nejspíš dopadne).

Podobná možnost by byla ukládat soubory do databáze jako blob. Ale předpokládám, že soubory budou ve velikostech stovek kB nebo jednotek MB. To není moc efektivní, takže databáze to nebude.

Pokud někomu vstaly vlasy na hlavě hrůzou, že nad tím vůbec uvažuji, mrkněte na http://suchy.blog.root.cz/2007/02/08/to-blob-or-not-to-blob/.

V dalších příspěvcích se podíváme dál :-)

6 komentářů u “Technologie nauc.cz

  1. Marku, to je super, že jsi zvolil Ruby on Rails. Myslím že Ti to oproti PHP zrychlí vývoj tak dvojnásobně :-) Taky Tě tímto vítám v české Ruby komunitě. Kdybys potřeboval s něčím poradit nebo pomoct, anebo sis chtěl jen pokecat o Ruby/Rails, tak přijď na irc.freenode.net do kanálu #rubyonrails.cz. Rádi pomůžeme když můžeme.

    MySQL je v pohodě. Na Vaši věc by se možná opravdu zrovna hodilo MongoDB, CouchDB nebo Riak. Když přijdeš na IRC, tak třeba @karmi dělá hodně s CouchDB (např. Ataxo Social Insider), @daeltar dělá tuším s MongoDB (Fakturoid), našel by se asi i někdo na Riak. Na některé věci by se Vám mohl hodit i Redis, ten je v Ruby komunitě taky hodně populární. Jinak celkem není problém použít v jedné aplikaci dohromady jak MySQL, tak Mongo i Redis.

    Jak vyřešit tu záležitost s S3 Ti určitě taky někdo poradí, to sou všechno věci, který už 100x někdo řešil, tak není třeba lámat si hlavu znovu ;-)

    Hodně zdaru s dalším vývojem, těším se že pokecáme.

    • Ahoj,

      díky, o Ruby/Rails určitě pokecáme :-)

      Dokumentový databáze ještě omrknu a když tak se zeptám. Mongo jsem nějakou dobu zpátky zkoušel a nějak mě neoslovilo. CouchDB jsem trochu viděl na jedné přednášce @karmi a vypadalo to dobře. Jak jsem psal, ještě se uvidí.

      S3 jsem už použil (i když ne v Ruby), tak by to neměl být problém. Je super, že k těmhle tématům je toho na netu dost.

      Takže díky za komentář a o programování rád někdy pokecám:-)

      Marek

  2. Koukam, ze netbeans a RoR. To je stare netbeans, kter jeste ruby a RoR podporovalo? Nebo je na to nejaky plugin?

    • Je to aktuální Netbeans 7.0.1.

      Před nějakou dobou dali Rails (i Ruby a dost jiných věcí) do pluginů, ale instaluje se to přímo v IDE, tak je to v pohodě.

  3. Zdavím,fakt pekná stránka a prvé čo nás oslovilo s kolegom pri jej pozeraní je rýchlosť reakcií. Preto nás hneď zaujalo v čom je to robené. Po zistení, že to je RoR ste ma potešili, lebo aktuálne od novembra som sa začal učiť a pracovať v práci s RoR. Pekný projekt, držím palce nech sa Vám sem prihlasujú školitelia. Ešte otázka dizajn ste robili cez twitter bootstrap?

    • Také zdravím,

      jsme rádi, že se Vám náš projekt líbí.

      Design je náš vlastní, z bootstrapu jsme použili jenom tooltip (v administraci). Ale celkově je to děláno podobných stylem jako bootstrap. Například ikonky, které jsou v bootstrapu, pochází od kolegy Jana Kovaříka – http://glyphicons.com/.