Archive for the 'ruby og rails' Category

Stadig flere leverandører kommer med utviklingsverktøy med støtte for både Ruby og Ruby on Rails.

Like over jul lanserer JetBrains, utvikleren bak det meget populære javaverktøyet IntelliJ, RubyMine.

RubyMine er ennå ikke lansert, men en Preview-versjon kan allerede i dag lastes ned og testes på Windows, Mac og Linux. Programmet er kommersielt, og vil helt sikkert koste noen tusenlapper.

Netbeans 6.1 er gratis og finnes allerede i dag i en ferdig versjon med Ruby-støtte.

Netbeans 6.1 ble litt treg etter min smak, og personlig sverger jeg fortsatt til Textmate, men RubyMine skal definitivt testes ut ved neste anledning.

posted by admin November 6, 2008 9:49 am     |     read comments (0)
April 4, 2008

RubyFools 2008 i Oslo

IMG_8337
Ole Friis Østergaard gjennomgår versjonshåndtering på databaseinnhold.

Endelig har jeg fått kose meg med Ruby-seminar i Oslo, og det ble en liten men hyggelig og interessant seanse.

Spesielt interessant fant jeg Ole Friis Østergaards gjennomgang av Rails plugins til versjonshåndtering av databaseinnhold. Noterte meg acts_as_versioned, acts_as_paranoid, deleted_at og acts_subversive. Disse kan logge databaseendringer og f.eks tilby undo/redo-funksjonalitet.

IMG_8333
Matz gjennomgår Rubys fortid og fremtid

Også fint å høre jordnære Matz, Rubys grunnlegger, beskrive Rubys begynnelse. Hvordan Japans økonomiske problemer på 1990-tallet, medførte masse fritid for den programmeringsspråk-interesserte japaneren, som dermed satte i gang med å lage språket som nå hylles av dataentusiaster over hele verden.

Dave Thomas keynote første dag var som alltid underholdende, og spesielt flott og merke at halleluja-stemningen som ofte preger slike arrangement ikke var tilstedeværende. Kanskje ikke så rart med tanke på at dette språket allerede har eksistert i 15 år.

Vi gleder oss til de 15 neste.

posted by admin April 4, 2008 10:00 pm     |     read comments (0)
September 21, 2007

RailsConf 2007 i Berlin

Fjorårets RailsConf i Chicago handlet mye om driftsproblemer og driftssetting. I år var dette et avsluttet kapittel. Med tre år på nakken er Rails for lengst voksen, og klar for de store oppgavene.

Hvordan takle millioner av brukere

Jason Hoffman
Jason Hoffman delte driftserfaring fra store Rails-
applikasjoner.

Jason Hoffman understreket dette ved å beskrive hvordan Rails flott kan håndtere tusentalls, ja faktisk hundretusentalls forespørsler per sekund. God systemarkitektur er i følge Hoffman løsningen. Å sørge for at nettsiden kan kjøre på flere samtidige servere, at trafikken kan fordeles geografisk eller utifra funksjonsområde. Bruke subdomener a’la upload.domain.com og download.domain.com. All statisk informasjon burde caches i en http-accelerator. Til nettsteder med opp mot 100 000 req/sec anbefalte han hardware-acceleratoren Big-IP, og software-acceleratoren Varnish til dem med rundt 10 000 req/sec.

Nye Ruby og Rails-verktøy

Mye har skjedd på verktøysfronten og både Borland og Sun jobber beinhardt med egne utiklingsverktøy, henholdsvis Netbeans 6 (ute i Beta nå) og Code Gear. Begge lover IDE-funksjoner lik Visual Studio, IntelliJ eller Eclipse. Når det er sagt, slike verktøy blir ofte store og tungkjørte, så mang en Rails-utvikler sverger fortsatt til Textmate på Mac eller en ordinær teksteditor på Windows.

David Heinemeier Hansson
David Heinemeier Hansson demonstrerte
2.0-nyheter.

Raskere virtuelle maskiner

Nye Ruby-implementasjoner er også på vei, som f.eks java-baserte JRuby, eller Rubinius som visstnok skal gi ytterligere ytelsesforbedringer i forhold til den vanlige Ruby-implementasjonen.

Nyheter i Rails 2.0

Rails-oppfinneren David Heinemeier Hansson gjennomgikk noen Rails 2.0-nyheter. Det skal bli enklere å lage to versjoner av samme side, f.eks en for adminbrukeren og en for vanlig brukere ved å knytte to controllere mot samme modell. Tilpassing til nye enheter forenkles også ved å knytte mime-typer mot forskjellig views, hvilket også skal kunne brukes for tilpassing mot mobiltelefoner a’la IPhone.

Les gjerne også Casper Fabricius sammendrag The DHH keynote – Rails 2.0 update

Og nå…

Så da er festen over for denne gang, tilbake til havrelefsa og arbeidspulten. Vi sees neste år!

posted by admin September 21, 2007 8:46 am     |     read comments (0)
November 10, 2006

Mitt første Ruby-script

Endelig har jeg laget mitt første ordentlige Ruby-script, og det over et år etter at jeg første gang skrev det obligatoriske puts “hello world!”.

Programmet er et overvåkningsscript som sjekker endringer på eksterne websider, og innebefattet bruk av Rubys standard-komponenter net/http, Date, MD5, filhåndtering og enkel dato-manipulering.

Installasjonen gjorde jeg med Ruby 1.8.5 One-Click Installer, som inkluderer teksteditorene Scite og Freeride.

Freeride så brukbar ut, men altfor få av windows-hotkeyene fungerte, hvilket er utrolig frustrerende for en hotkey-fantast som meg. Scite var noe bedre. Milevis fra noen killer-IDE, men nok til jobben jeg her skulle gjøre. Neste gang er jeg nok tilbake til Editplus, som er min favoritt til programmering av småscripts.

Som oppslagsverk brukte jeg Programming Ruby Second Edition av Dave Thomas. Det jeg leste om ruby-verktøyene, syntaksen og språket generelt var meget godt forklart, men oversikten over kjernebibliotekene ga meg lite. Eksemplene rundt net/http fikk jeg ikke til å fungere, og som vanlig var det Google som reddet meg der.

I håp om å sette opp en daglig cronjob, prøvde jeg å legge scriptet ut på min server hos www.pair.com. Dessverre fungerte det ikke der, antakelig grunnet noen manglende komponenter. Dette til tross for at Ruby 1.8.4 skal være installert. Skal forske på dette senere.

Inntil videre tikker scriptet fornøyd på min desktop-PC, hvilket i bunn og grunn er godt nok for denne gang.

posted by admin November 10, 2006 3:17 pm     |     read comments (0)

Flere av foredragene fra Rails Conference 2006 i Chicago er nå tilgjengeligjort på nettet.

Hør David Heinemeier Hanssons Keynote (dessverre uten slides) og Martin Fowlers keynote, begge med mange interessante betraktninger.

Flere Rails-relaterte foredrag finner du på Top 13 Ruby on Rails Presentations.

posted by admin August 15, 2006 10:24 pm     |     read comments (0)
railsconf_core_team.jpg
Rails Core Team – gjengen bak Rails med hovedmann David Heinemeier Hansson som nummer tre fra venstre.

Juni 2006 samlet USAs største Rails-entusiaster kreftene i en konferanse, sterkt preget av tre hovedområder: drift, programmeringstips og suksesseksempler.

Tre utfordringer

Rails har utfordringer rundt produksjonssetting og mangler webhotell-alternativer, noe den enorme tilstrømmingen til Capistrano-seansen demonstrerte. “Topp tre utfordringer”-lista til Dave Thomas inneholdt også produksjonssetting, i trespann med
ActiveRecord-forbedringer (for eksempel støtte for foreign keys) og bedre scaffolding (automatisk genererte forms).

railsconf_martin_fowler.jpg
Martin Fowler skrøt av ActiveRecords ORM-implementasjon.

Scaffolding fikk en god del pepper de to første dagene, og enkelte har til og med rådet utviklere til å droppe kodegenereringen og heller bygge html-koden fra bunnen av. Ruby-entusiasten Martin Fowler derimot, trakk frem scaffolding som et viktig skritt i retning av raskere utviklingssykluser og ActiveRecord som den beste ORM-implementasjonen til nå. En stor fjær i hatten til Rails-utviklerne der.

Problemer rundt webhoteller og ytelse ble også tilegnet to sesjoner. Stefan Kaez demonstrerte en rekke resultater av sine ytelsesanalyser, og anbefalte det kommersielle Windows-verktøyet Ruby Performance Validator. Alternativene mente han ikke var gode nok til å peke på hvor i koden ytelsesproblemene oppstod. Til alle som sliter med slike problemer foreslo han følgende:

  • Sjekk etter trege helper-klasser.
  • Unngå unødige medlemsvariable i controlleren.
  • Unngå unødige relasjoner.
    Om mulig bruk piggy backing for has_one og belongs_to-relasjoner.
  • Sjekk sessions-håndteringen.
    Minne er raskt, disk tregt etc.
  • link_to og url_for er trege og kan medføre ytelsesproblemer dersom de forekommer i stort antall.
    Vurder cacheing eller skriv om. Eller vent på hans template-optimaliserer
    som visstnok er på vei.

Last gjerne ned hele Kaes presentasjon eller følg med på hans blog RailsExpress.

De fleste med php-bakgrunn er vant til å kunne leie billige webhoteller ved å dele servermaskin med andre nettsteder. Dette er også mulig for Rails-applikasjoner. Geoffrey Grosenbach presenterte en rekke utfordringer rundt slik shared hosting og frarådet alle med forretningskritiske applikasjoner til å velge denne løsningen. Har man et enkelt system med mulighet for stor grad av cacheing, er likevel slike systemer mulig om man følger visse råd:

  • Drep døde prosesser daglig.
    Geoffrey gjør dette med en cron-jobb, men påpekte at dette ikke er bra om man har flere domener på samme webkonto. Mao. er en konto per domene å anbefale
  • Sett opp monitorering/varslingssystemer a’la dwatch, montastic.com eller heartbeat.highgroove.com

Det jobbes også med nye serverløsninger og Mongrel ble nevnt som en mulig vei for fremtidens delte servere.

GPS, BBC og Asterisk

Skulle man være skeptisk til hvorvidt Ruby og Rails er nyttig til annet en enkle databasedrevne systemer, var en rekke av seansene av interesse.

railsconf_bbc.jpg
Matt Biddulph hadde overført BBCs programarkiv til internett.

Matt Biddulph fortalte entusiastisk hvordan BBC hadde overført sitt to gigabyte programarkiv til den søkbare internett-tjenesten BBC Programme Catalogue. Utviklingen av systemet tok to måneder og var etter sigende godt mottatt hos BBC. Produkssjonssettingen tok derimot fire måneder, hvilket Biddulph forklarte med BBCs strenge produksjonssettingsrutiner, kombinert med Rails sine spesifikke serverkrav.

For å få MySQL databasen til å fungere tilfredsstillende måtte Biddulph skru av MySQLs stopwords liste. For ytelsestesting brukte de ytelsesverktøyet Siege.

Tidligere samme dag demonstrerte Doug Fales sin WalkingBoss-applikasjon. Dette programmet mottar koordinater og bevegelsesfiler fra en GPS og legger disse ut på Google Maps-satelitt-kart. Deretter kan man laste opp bilder og få bildene automatisk lagt ut på riktig posisjon på kartet. En slags kartdagbok.

Jim Freeze hadde brukt Ruby til å styre telefonsentraler ved hjelp av Open Source-prosjektet Asterisk. Med rimelige midler tilpasset han slike systemer for legekontorer. Vi fikk vite lite om Rails sitt bidrag til systemet, men det virket som kommunikasjonsformen med Asterisk foregikk med enkle Ruby-genererte tekstfiler.

Konklusjon

Rails-konferansen var en interessant seanse preget av mange gode foredragsholdere. Selv om Java-hetsen var stor og php kun en sjelden gang ble nevnt med hviskende stemme, legges det ikke skjul på at Rails også har sine problemer, for eksempel rundt drift og produksjonssetting.

Hvorvidt disse problemene løses det kommende år gjenstår å se. Inntil videre får hver enkelt selv vurdere om man vil satse for fullt på denne teknologien og om Bruce Tates får rett i sin spådom fra Javazone 2005 i Oslo, “Java is dead! Not like Elvis, but like Cobol”.

posted by admin July 2, 2006 3:11 pm     |     read comments (0)

Ruby on Rails feier som en vind over nettet om dagen. Dette rammeverket for internett-utvikling lover økt produktivitet, og lykkeligere utviklere. Jeg dro til Rails Conf 2006 i Chicago for å sjekke holdet i lovnadene.

Introdagen – vi installerer og lovpriser

rails_introdag.jpg
Installeringsfest: Mac-brukerne var i klart flertall og ble sterkt misunnet sin lekre TextMate-editor.

Dagen før selve konferansen ble en fullsatt sal nye og gamle entusiaster leiet gjennom Rails-universet av erfarne foredragsholderne. Målet var å få alles bærbare maskiner opp å kjøre med alle verktøy.

Stemningen var god og halleluja-faktoren noe høy, hvilket ikke er uvanlig for nye teknologier.

Noen av Rubys finesser og fallgruver beskrives (ja, det er selvfølgelig slikt her også;).

Ruby-programmering er en grunnleggende ferdighet i Rails-universet. Har du lyst til å lære dette fascinerende språket kan du sjekke ut boken Programming Ruby.

Nye Ruby utviklere sliter med å finne gode utviklingsverktøy, og her loves det ingen revolusjon. Mac-eiere er velsignet verktøyet Textmate, hvilket er en favoritt blant en stor andel av deltakerne. Windows-brukere anbefales alt fra JEdit, Eclipse med sin RadRails-plugin eller den vanlige mengden gode teksteditorer som Editplus og Textpad.

Ingen av disse editorene inneholder fullstendig autocomplete, debugging eller refactoring-funksjoner kjent fra Java og .Net-verktøy.

Editorenes hovedproblem ligger i Rubys dynamiske natur. Klasser endres runtime, hvilket gjør det vanskelig å forutse hva slags funksjoner eller attributter et objekt har.

Debugging

Selv om mangelen på en god editor er plagsom, har Rails noen ekstra kort i ermet. Med kommandoverktøyet script/console, gis tilgang til hele objektmodellen i systemet, hvorpå man kan kjøre alle kall mot businesslogikken, databasemodellen eller andre klasser i applikasjonen direkte fra kommandolinjen.

Dette kan også utnyttes mot produksjonssystemer, når for eksempel driftskritiske endringer gjøres mot databasen. Ved å kalle databaselaget (og ikke endre direkte via SQL), sikrer man at sikkerhetsrutiner og feilhåndteringsystemer i applikasjonen kjøres før endringen utføres.

Automatiserte tester

Rails-miljøet har kommet langt i bruk av automatiserte tester. Testmiljøer kan kjøres både med og uten databasekall, med og uten fil eller xml-håndtering (ved at f.eks Fil-klassen byttes ut med en enkel String-klasse o.l). Rubys dynamiske natur passer perfekt til slikt, og mulighetene utnyttes til fulle.

Fin dag for en god sak

Introdagen var en nyttig og god øvelse og vekket absolutt nysgjerrigheten både for Ruby og Rails. At dagen attpåtil var gratis, så lenge man hadde donert penger til et veldedig formål var en ekstra bonus. Til sammen ble over 8000 dollar gitt. En fin dag for en god sak.

Les også sammendraget fra hele konferansen.

posted by admin June 27, 2006 11:03 pm     |     read comments (0)
June 23, 2006

Rails Conf Chicago 2006

chicago_2006.jpg

Etter tre dager ferie er jeg nå tilbake foran PCen i forbindelse med Rails Conf her i Chicago.

Ruby og Rails er begge nye ting for mitt vedkommende, så i stedet for å rapportere daglig, kommer jeg med et sammendrag etter endt seminar. Inntil videre kan dere nyte et lite bilde fra denne flotte byen.

PS. Ikke hørt om Ruby eller Rails? Sjekk ut:

  • What’s Ruby – Japansk-utviklet programmeringsspråk med stadig økende tilhengerskare.
  • Rails – rammeverket som fikk Ruby opp på verdenshimmelen i fjor.
posted by admin June 23, 2006 3:17 am     |     read comments (1)