Direkt zum Hauptbereich

Ruby On Rails

Die letzten Tage hatte ich hier ja einiges zum Thema RoR (RubyOnRails) berichtet, welches für die oder den einen wohl etwas zu "geeky" war.

Ich hatte mich vorletztes Jahr mit CakePHP beschäftigt, und damals schon gelesen, dass es sich an RoR anlehnt, es nachahmt für PHP.
Zu dieser Zeit hatte ich nur einen normalen Webhosting-Vertrag und konnte die Sprache Ruby gar nicht zum laufen bringen, so dass ich mich ebenn für CakePHP entschied.

Dann kam der Sommer und ich legte alles wieder weg.

Letztes Jahr dann beschloss ich, das Rad nicht neu erfinden zu wollen, und nach langer Recherche im Netz und auf amazon kaufte ich ein Buch über Joomla-Extentions.

Ich hatte schon mit dem Vorgänger Mambo gearbeitet, so war mir die Architektur grob bekannt, aber seit neuestem gibt es auch bei joomla ein Framework, und das CMS baut nur noch darauf auf.

Und das Programmieren von Extensions schien auch wunderbar einfach zu gehen (bis auf den Installer, wozu eine kommerzielle IDE fast nötig ist),
aber irgendwie war mir das alles viel zu viel, auch wenn Joomla 3 "per default" barrierefrei ist mit Bootstrap im Back- und Frontend.

Nebenbei und grundlegend für alle meine Überlegungen war ein eigener Server, auf dem noch andere Hilfs-Software laufen sollte, um meine Idee komplett umzusetzen.

Wer nun also einen eigenen Server hat, der kann dann aber auch machen, was er will, oder? So schaute ich mir Ruby an, und landete natürlich auch hier: Ruby vs. PHP

Man sieht dort zum Beispiel dieses:

PHP
foreach range (1, 10) as $i {
  echo $i;
}

Ruby
(1..10).each do |i|
  print i
end

Weil alles in Ruby ein Objekt ist, kommt man schnell vorwärts;
erstens, weil int und string fehlen; und zweitens, weil man auch sowas machen kann:

3.times {puts "Ho!"} # Ho! Ho! Ho!

Und dann kommt dazu noch Rails, welches ein wunderbares Framework ist, um schnell ans Ziel zu kommen, dabei aber nicht wirklich zu monströs zu wirken. Schnell hatte ich bootstrap integriert und konnte Links setzen.

Nun kann ich den Hype um RoR vollkommen verstehen, denn die Kombination von Ruby und Rails ist einfach unschlagbar, weil sie dynamisch ist und ja, das Programmieren spassig macht; auch wenn dies für viele der Hauptgrund ist, warum sie beides ablehnen, denn harte Arbeit darf kein Spass machen.

Nachdem ich nun alles eingerichtet hatte, und ja, das dauerte auch seine Zeit, aber anstatt richtige Puzzles mache ich sowas, konnte ich mit folgendes Befehlen meine Anwendung ins Netz bringen:

git add .
git commit -m "neues commit"
git push
cap deploy

Sollte nun aber mal was schief gehen, dann kann mit git und capistrano einfach eine Version zurück, und fertig! Ich kann sogar Dateien löschen, und dann wieder nachladen ausm Repository - herrlich!!!

Und nicht zu vergessen, selbst wenn RoR teils nicht ganz so perfomant ist, arbeiten große Seiten wie Twitter (teils, also das UI) und BBC damit; und die große und dynamische Gemeinschaft gibt einem viel Hilfe.

Experimentiert einfach herum, und auch findet man Rails-Hoster schon ab 4,99 EUR im Monat.


Kommentare

Beliebte Posts aus diesem Blog

rails + carrierwavve + plupload = multiple file upload

Right now I am very happy! I finished my work on creating a file upload method in rails for more than one file, altogether handled by rails sessions and as objects. First I had to learn a bit more about how rails works and I achieved that by reading a lot: books, screencasts and blogs. In this blog post I like to share what I accomplished, but without the hussle of putting code blocks in here, so watch out for bold formatted text as that is the code. My goal was to have one site with just the pure option of uploading files. All file handling would be done behind the scenes by myself logging onto my server. That said you are not going to see any fancy CRUD here. Lets start then! And dont forget to versioning your app BEFORE you try something new! [e.g. git] > rails g scaffold Photo title:string Now add carrierwave to you Gemfile and run > bundle install >rails g uploader Photo Alltogether you have model, controller, views and an uploader folder with the Ph...

LEGO Alternativen: Sluban und COBI

Ich habe vor kurzem wieder Feuer gefangen für LEGO. Und das kam durch die Dokumentation über die Errichtung des LEGO-Hauses in Billund. Also habe ich meine Steine gereinigt und die Kinder fangen gerade an, auch mal etwas zu bauen. Teilweise stammen meine Steine aus den 1970ern, 1980er und viel aus den 1990ern - alles passt noch wunderbar aufeinander. Viele Designs von LEGO gehen doch Wege, die ich selber nicht so toll finde. Ausserdem verstehe ich nicht, dass etliche Designs aufgegeben wurden. Letztere Sets findet man dann zu horrenden Preisen auf den einschlägigen Plattformen. Also sah ich mich um, denn das Patent für das Baustein-Prinzip ist abgelaufen und andere Firmen produzieren auch Stecksteine. Sluban ... ist Mist und wird von mir nie mehr gekauft. Die Firma stiehlt von LEGO, hat aber auch interessante Designs. Gerade bei militärischen Sachen findet der Fan einige gut aussehende Sets. Aber die Steine wirken nicht besonders toll, es gibt Macken, die Anleitung kön...

debian 6 vserver - a new installation due to centOS update problem - my steps

My centOS vserver broke down after a "yum update" and even the centOS community forum could not give an answer within 24h. In my books that is poor for the almighty and stable centOS. Bare in mind that I am just a normal user of linux, no professional and definitely no expert when it comes to server, but I can read, try and share my findings: debian 6 installation steps via ssh secure your server: adduser foobar for security purposes  change /etc/sshd/sshd_conf to PermitRootLogin no now you can login as foobar and change to root via su - visudo for sudo command permissions and put this at the bottom: foobar   ALL=(ALL) ALL change hostname change hostname in /etc/hostname and in /etc/hosts reboot login via rsa key rather than password locally do ssh-keygen ssh-copy-id -i foobar@hostname... ssh now works without passwords but with keys (for easy deployment) install ruby and rails via rvm login as root always good to have: sudo apt-get install...