Geplaatst door Remco van 't Veer
wo, 20 dec 2006 10:30:00 GMT
De JRuby bijeenkomst die gisteren door Finalist georganiseerd is in Rotterdam was een groot succes. Een goede opkomst van tegen de 50 man en natuurlijk super helden Charles en Thomas.
Charles heeft een introductie Ruby gegeven en daarna JRuby gedemonstreerd met jirb
(zie ook de webstart versie van Thomas). Een beetje Java Swing in JRuby, windowtje maken met een knop en een label erop. Daarna heeft hij een kleine Swing DSL laten zien; swingbuilder. Vooral die laatste was erg leuk omdat dat goed laat zien waarom het goed is om Ruby te hebben op het Java Platform. Lompe stukken Java code kunnen zo gemakkelijk ver-DSL-t worden.
Na een korte pauze heeft Thomas een Rails inleiding/demo gegeven op JRuby. Daarna heeft Charles nog het aanroepen van EJB’s laten zien en een development build van Netbeans laten zien waar al wat Ruby en Rails support in zit.
Erg leuke avond, hopelijk komt er binnenkort weer een kans om een super ster te ontmoeten!
Geplaatst in ruby, ruby on rails, events, java | 1 reactie
Geplaatst door Michiel de Mare
ma, 18 dec 2006 12:41:00 GMT
Het wordt tijd om eens wat meer aandacht te besteden aan je ontwikkelomgeving voor Rails. Er zijn een aantal veelgebruikte keuzes: RadRails (voor Eclipse), de JRuby jongens zijn enthousiast over Netbeans, alle rails core-developers schijnen TextMate te gebruiken, maar ik gebruik gewoon VIM!
Er is een Rails-plugin die extra functionaliteit toevoegt aan VIM. Een van de belangrijkste features is navigatie: met gf ga je naar de file waar je cursor boven staat, met :R en :A ga je naar de ‘related’ (bv. migration voor een model) of de ‘alternate’ (bv. functionele test voor een controller) file.
Verder is er een :Rpreview functie om de actie van de controller waar je cursor in staat te openen in een browser. Ook zijn er wrappers voor alle scripts, zodat je bv. generate controller kunt doen en meteen de nieuwe controller geopend wordt.
Er is ook een hele lijst met afkortingen, zodat je alleen ‘pa[’ hoeft te typen in plaats van ‘params[’, en :a voor ’:action => ’.
Al met al van harte aanbevolen voor Vimmers!
Geplaatst in ruby on rails | 1 reactie
Geplaatst door Michiel de Mare
ma, 18 dec 2006 12:40:57 GMT
Morgen vindt de lezing over JRuby door Charles Nutter plaats in Rotterdam. Het is nog niet te laat om je hier op te geven.
We hopen jullie daar te zien!
Geplaatst in ruby on rails | geen reacties
Geplaatst door Danny Lagrouw
do, 07 dec 2006 20:19:00 GMT
In het enterprise-verantwoorde tijdschrift Informatie (november 2006) is een inleidend artikel over Ruby en Ruby on Rails geplaatst. Een mooie gelegenheid om RoR onder de aandacht te brengen van een nog groter publiek. Het artikel is hier als pdf (1MB) te downloaden; zie verder ook de site van Informatie.
P.S. Jaja, het staat natuurlijk vol met fouten die alleen de echte RoR-kenners er uit halen. Kom maar op met dat commentaar!
Geplaatst in ruby, ruby on rails, nieuws | 3 reacties
Geplaatst door Matthijs Langenberg
di, 14 nov 2006 11:38:00 GMT
Al sinds de
web-2.Oh hype gestart is worden mooie
URL’s als
/articles/show/my-first-article
en
/users/profile/quentin
geprefereerd boven
/articles/show/324
en
/users/profile/1225
.
Maar er kleven ook grote nadelen aan
URL’s als
/categories/meat/recipes/chunky-bacon
,
je stapt in feite van het gebruik van oplopende integers voor
primary keys af.
Wat is het nut van je id
veld in je articles
tabel wanneer je
in je URL’s het title
veld gebruikt om artikelen de identificeren?
Want wat gebeurd er wanneer een gebruiker de titel van een artikel aan zou passen?
Lees verder...
Geplaatst in ruby on rails, tips | 3 reacties
Geplaatst door Matthijs Langenberg
do, 02 nov 2006 07:18:00 GMT
In de komende release van Rails gaat REST een belangrijke rol spelen, maar wat is REST nu eigenlijk?
REST staat voor
REpresentational State Transfer, dit betreft het opvragen en wijzigen van
resources waarbij
gebruik wordt gemaakt van de vier standaard
HTTP request methoden (namelijk:
GET
,
POST
,
PUT
en
DELETE
).
REST is gebaseerd op het feit dat elke
HTTP methode een te ondernemen actie op
een resource (een ‘model’) vertegenwoordigt. Dit maakt het mogelijk om dezelfde
URL voor meerdere acties te gebruiken.
Stel dat ik het eerste artikel van een blog zou willen opvragen:
En nu wil ik hetzelfde artikel verwijderen:
Zoals je ziet blijft de
URL hetzelfde en gebruik ik alleen een ander
HTTP request.
Aangezien requests binnenkomen bij een controller houd dit dus in dat er een mapping plaatsvind van
HTTP methode
naar controller actie en wel als volgt:
HTTP verb |
Controller Action |
CRUD Action |
GET |
show |
READ |
POST |
create |
CREATE |
PUT |
update |
UPDATE |
DELETE |
destroy |
DESTROY |
Lees verder...
Geplaatst in ruby on rails, edge | 4 reacties
Geplaatst door Matthijs Langenberg
ma, 23 okt 2006 11:28:00 GMT
Binnenkort ga ik een serie artikelen schrijven over de nieuwe features die in edge rails, de ontwikkel versie van rails (ook wel trunk genoemd), te vinden zijn.
Om jullie daar van mee te kunnen laten genieten vertel ik eerst hoe het mogelijk is om een applicatie in edge rails te laten draaien.
De makkelijkste methode is om de meegeleverde
rake taken te gebruiken.
Door in een bestaande rails applicatie
rake rails:freeze:edge
uit te voeren wordt er een checkout van de trunk in ‘vendor/rails’ gedaan.
Echter de directories en bestanden die gegenereerd zijn toen je
rails my_app_name
uitvoerde zijn niet bijgewerkt,
hier is ook aan gedacht (uit
rake --tasks
):
rake rails:update # Update both configs, scripts and public/javascripts from Rails
.
rails my_edge_app
cd my_edge_app
rake rails:freeze:edge
rake rails:update
Hoewel ik het volste vertrouwen in de meegeleverde rake tasks heb geef ik toch de voorkeur aan een andere aanpak.
Als ik nu eerst eens een checkout doe van de trunk versie en daar het ‘rails’ script uit vis,
weet ik zeker dat mijn gehele applicatie ‘edge’ is, dit doe je op de volgende manier:
mkdir -p my_edge_app/vendor
cd my_edge_app
svn export http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
ruby vendor/rails/railties/bin/rails
Wanneer je deze applicatie gaat importeren in subversion is het aan te raden om de vendor/rails map eerst te verwijderen voor de import te doen,
hiermee voorkom je namelijk dat je de hele rails trunk meeneemt subversion in.
Wanneer je subversion gebruikt is het aan te raden om de rails trunk als externals te gebruiken (dit is dus alleen mogelijk met een project in subversion).
svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/trunk/" vendor
svn update #Zal de laatste trunk in vendor/rails plaatsen.
Elke keer als
svn update
wordt uitgevoerd zal vendor/rails ook geupdate worden.
You live on the edge!
Volgens mij maakt het niet uit welke van de twee methoden gebruikt om edge rails te gebruiken, persoonlijk geef ik de voorkeur aan de laatste,
maar er zullen ongetwijfeld nog andere methoden zijn.
In ieder geval kun je nu gebruik maken van de nieuwste features, waarvan ik RESTful routes en ActiveResource de meest indrukwekkende features vind, hierover later meer.
Geplaatst in ruby on rails, edge | geen reacties
Geplaatst door Danny Lagrouw
ma, 16 okt 2006 10:04:00 GMT
LogicaCMG organiseert een aantal gratis toegankelijke sessies onder de noemer Guru4Pro. Op donderdagavond 2 november a.s. zal guru Chad Fowler een sessie verzorgen over innovaties in softwareontwikkeling. Hij zal in deze Guru4Pro ingaan op de kerninnovaties binnen het Rails framework (en de hype daarachter), met de bedoeling om de geleerde lessen naar andere omgevingen, zoals Java/J2EE, te vertalen die daar hun voordeel mee kunnen doen.
Chad Fowler is o.a. auteur van Rails Recipes en co-auteur van de Pickaxe, is organisator van RubyConf en RailsConf, en geeft regelmatig workshops over Ruby on Rails.
Deelname aan deze avond (inclusief diner en meet&greet met Chad) is geheel gratis. Voor meer informatie en aanmelding: www.logicacmg.com/nl/guru4pro.
Geplaatst in ruby, ruby on rails, events | 4 reacties
Geplaatst door Remco van 't Veer
za, 23 sep 2006 05:37:00 GMT
Vorige week was ik in London om RailConf Europe bij te wonen. Het waren 2 dagen maal 4 tracks met in totaal 40 presentaties. Helaas heb ik ze niet allemaal bij kunnen wonen. Zie voor wat ik wel bij heb gewoond m’n privé blog artikelen over de eerste en de tweede dag.
Lees verder...
Geplaatst in ruby on rails, events | geen reacties
Geplaatst door Michiel de Mare
do, 31 aug 2006 13:22:00 GMT
Eén van de leuke uitbreidingen van Rails op Ruby is de to_proc
methode in de Symbol
class. Op een plek waar Ruby een Proc
verwacht (na een ampersand bijvoorbeeld) maar een ander object tegenkomt, roept Ruby de to_proc
methode van dat object aan, die, indien aanwezig, een proc teruggeeft die gebruikt kan worden. Voorbeeld: ['hallo','lezertjes'].map &:upcase
geeft ['HALLO','LEZERTJES']
.
Ook argumenten worden ondersteund. Als je map
bijvoorbeeld aanroept op een Hash
worden er twee argumenten (key en value) meegegeven. Om de key door de value te delen doe je dit: {33 => 11,39 => 3}.map &:div
, wat geeft [3,13]
.
Er is alleen één probleem. Ruby maakt geen onderscheid tussen arrays en meerdere argumenten. De to_proc
implementatie gaat uit van meerdere argumenten; probeer je een array mee te geven dan gaat het mis: [[1,2,3],[4,5,6],[7,8,9]].map &:first
Je verwacht: [1,4,7]
, maar je krijgt NoMethodError: undefined method `first' for 1:Fixnum
Ruby 2 gaat als het goed is onderscheid maken tussen arrays en meerdere argumenten. Tot die tijd moeten we de blocks maar even uitschrijven…
Update:
Symbol is natuurlijk niet de enige class die hiervoor te misbruiken is. Hier een variant voor de Regexp:
class Regexp;
def to_proc; Proc.new {|a|
a.send source.to_sym
};end;
end
[[1,2],[3,4]].map &/first/
Geplaatst in ruby, ruby on rails | geen reacties