Posted by superuser
Fri, 26 Mar 2010 10:32:00 GMT
In a previous post i described how to install ruby 1.8 and 1.9 on win32 platforms using the rubyinstaller.
Here i’ll show you how to install one more implementation of ruby on win32 platforms (Windows XP / 7 tested!). I’m talking for jruby.
What is JRuby?
JRuby is a ruby implementation for the java virtual machine. You can execute all your ruby stuff using only the Java Virtual Machine(JVM), in the same way that Groovy, Scala, and Clojure are designed for the JVM.
This is incredibly useful because your unix admin rarely will install a Ruby VM for your needs in a server where there is nothing more than Java. I really love ruby and i have no time to master java, so jruby it’s a GREAT solution.
Jruby – at the moment – is the only solution to deploy a Ruby app on GAE (Google App Engine).
Installation
- Extract in your favorite place (i use C:\jruby-1.4.0)
- Set JRUBY_HOME variable in your jruby home dir (C:\jruby-1.4.0)
C:\>set JRUBY_HOME=C:\jruby-1.4.0
- Add JRUBY_HOME\bin in your environment path
C:\>path=%JRUBY_HOME%\bin;%PATH%
Check that C:\jruby-1.4.0\bin has been added in your path:
C:\>echo %PATH%
C:\jruby-1.4.0\bin;C:\Python25;C:\Ruby\bin;C:\MinGW\bin;c:\ora92\
bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program
Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Support Tools\;C:\j2sdk1.4.2_17\bin\;
That’s all! You’re ready to use your new ruby implementation in JVM.
C:\>jruby -v
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3) (Java HotSpot(TM) C
lient VM 1.6.0_16) [x86-java]
Commands in Jruby: All the known commands in ruby are still valid, but you have to preceed them with jruby -S.
Posted in Ruby, Win32 | Tags jruby, Ruby, win32, Windows | no comments
Posted by superuser
Fri, 26 Feb 2010 08:41:00 GMT
Luis Lavena and the rubyinstaller group have made 2 very reliable versions of Ruby programming language for Windows platforms.
Unlike the old ruby installer, the 1.8.7 and 1.9.1 versions have been compiled with the MinGW compiler(v. 3.4.5) toolset. Easy installing for Windows is essential for the future of Ruby in the programming jungle, and RubyInstaller works perfectly good.
This article should be intended as a minimal guide to install both Ruby 1.8.7 and Ruby 1.9.1 on win32 platforms.
- Uninstall any previous installed Ruby version and remove the relative folders (for ex. C:\Ruby and/or C:\Ruby19 )
- Install Ruby 1.8.7-p249
- Accept the license (if you agree, of course)
- Select the destination path of your installation. (i use the default C:\Ruby). Below, in the same window
- Check the box Ruby executables to your PATH (IMPORTANT!) and “Associate .rb and .rbw files with this Ruby installation”
- Finish the installation

Ruby 1.8 is succesfully installed!
Now it’s time to install Ruby 1.9 .
- Install Ruby 1.9.1-p378
- Accept the license
- Select the destination path of your installation. (i use the default C:\Ruby19). Below, in the same window
- DO NOT select anything . Leave both check boxs unchecked.
- Finish the installation

Ruby 1.9 is succesfully installed!
To run Ruby 1.9 binaries you have to use absolute paths. C:\Ruby19\bin\whatever. That’s not so pretty!
To resolve this, i use an easy and smart method found on some discussions at the rubyinstaller google group.
The idea is to put some .bat (windows) scripts in the bin directory of the Ruby 1.8 installation to call internally the Ruby 1.9 binaries. In this way you do not have to add the Ruby 1.9 directory in your PATH env. variable. For my needs this work perfectly good.
In detail:
- Download Ruby-Bat.rar . Unrar it. Move the five included .bat files (gem19.bat, irb19.bat, rake19.bat, ri19.bat, ruby19.bat) in your ruby-1.8 (not 1.9) installation directory (in my case this is C:\Ruby\bin).
That’s all.
Open your command prompt and execute :
C:>irb19
C:>gem19 install rack
C:>ri19 array
C:>rake19 -h
It works!
If you want to know more, open with your favorite editor for example rake19.bat to see what’s inside:
@echo off
setlocal
set PATH=C:\Ruby19\bin;%WINDIR%\system32;%WINDIR%
ruby.exe -S rake %*
endlocal
If you need to make a custom ruby(v-1.9) binary just change the filename, substitute `rake` and save it in your ruby-1.8 (not 1.9) installation directory ( C:\Ruby\bin ). Not a perfect solution, but it just works as it should.
Posted in Ruby, Win32 | Tags install, Ruby, rubyinstaller, Windows | no comments
Posted by superuser
Sat, 05 Dec 2009 17:12:00 GMT
Η ομάδα Rubyst.es με χαρά ανακοινώνει την τρίτη συνάντηση των φίλων της Ruby την Πέμπτη 10 Δεκεμβρίου στις 6 το απόγευμα. Αυτή τη φορά έχουμε την τιμή να φιλοξενούμαστε στο Microsoft Innovation Center σε ένα εξαιρετικό χώρο με πολλή άνετη πρόσβαση για όλους. Θα προσπαθήσουμε να καλύψουμε θέματα για προχωρημένους και αρχάριους ενώ σε αυτή τη συνάντηση θα έχουμε μια ξεχωριστή σύνθεση ομιλητών από βετεράνους της Ruby και του Rails. Αναλυτικά:
Πέρα από τις κυρίως ομιλίες μας θα υπάρχει και μια σειρά μικρών, ολιγόλεπτων παρουσιάσεων και σας προσκαλούμε να παρουσιάσετε και εσείς αν το επιθυμείτε. Η λίστα ως προς το παρόν έχει ως εξής:
Σας περιμένουμε όλους την Πέμπτη 10/12 στις 6 το απόγευμα στο Microsoft Innovation Center (Βασ.Σοφίας 103, στάση Μετρό Μέγαρο Μουσικής)
Περισσότερα Rubyst.es , στην αντίστοιχη mailing list και στο Facebook group

Posted in News, Ruby | Tags Παρουσίαση, microsoft_innovation_center, Ruby, rubystes | no comments
Posted by superuser
Thu, 15 Oct 2009 04:22:00 GMT
Την Πέμπτη 15 Οκτωβρίου 2009, και ώρα 16:00 – 18:00, στη Τεχνόπολη, Γκάζι στα πλαίσια των εκδηλώσεων του Athens Digital Week θα γίνουν οι ακόλουθες παρουσιάσεις από τα μέλη της ομάδας μας:
- A blink into the Rails magic [Nick]
- Ruby on Rails and Web on Python [john]
- Creating administrator pages in a breeze [Panos]
- From PHP to Ruby On Rails [jim]
Περισσότερες λεπτομέρειες στη λίστα ηλεκτρονικού ταχυδρομείου
Φυσικά μην ξεχάσετε τη δεύτερη εκδήλωση αύριο 16/10 στο ΤΕΙ ΠΕΙΡΑΙΑ
-
Posted in RubyOnRails, News, Ruby | Tags Παρουσίαση, ΤΕΙ_Πειραιά, Rails, Ruby, RubyOnRails | no comments
Posted by superuser
Wed, 07 Oct 2009 18:32:00 GMT
Η ελληνική κοινότητα της Ruby (http://rubyst.es) διοργανώνει το
δεύτερο Athens Ruby Meetup στο ΤΕΙ Πειραιά την Παρασκευή 16 Οκτώβρη 19:30 στην Αίθουσα
λειτουργικών συστημάτων. Αν και η κοινότητα είναι σχετικά νεαρή και
ακόμα μικρή θα παρουσιασθούν θέματα που αφορούν αρχάριους και
προχωρημένους χρήστες της Ruby. Αναλυτικότερα θα γίνουν οι εξής
παρουσιάσεις:
- Deploying Rails applications στο appengine με JRuby [ PanosJee) ]
- Εναλλακτικά ruby web frameworks (Ramaze/Sinatra/…) [ vtypal ]
- Μetaprogramming σε Ruby [Jon Romero ]
- How-to make a Rails plugin [ Jim Myhreberg ]
- Open Discussion & QA
Στα πλαίσια της ανοιχτής συζήτησης τα μέλη θα συζητήσουν για θέματα
γύρω από τη Ruby αλλά και θα απαντήσουν σε απορίες κάθε ενδιαφερόμενου
είτε αρχάριου είτε προχωρημένου. Αν γράφετε ήδη σε Ruby ελάτε να
γνωριστούμε, αν όχι, ελάτε και θα μαγευτείτε από την καταπληκτική αυτή
γλώσσα, το οικοσύστημα της αλλά και την κοινότητα της!
2o Athens Ruby Meetup
Χάρτες του ΤΕΙ Πειραιά : map1 – map2 – map3
Google Maps και οδηγίες λεωφορείων
Διεύθυνση :
Δήμος Αιγάλεω, επί των οδών Π. Ράλλη & Θηβών 250.
Κτίριο Ε – Αίθουσα Ε02
Κτίριο Α – Αίθουσα Α116
Σχετικά με τη Ruby
Η Ruby είναι μια δυναμική γλώσσα προγραμματισμού που επιτρέπει στον
προγραμματιστή να γράφει ευκολοανάγνωστο κώδικα σε λίγες γραμμές. Τα
τελευταία χρόνια έχει μια ιδιαίτερη δυναμική χάρη στο web framework,
Ruby on Rails
Σχετικά με την ελληνική κοινότητα Ruby
Είμαστε μια νεοσύστατη κοινότητα προγραμματιστών που αγαπάμε να
γράφουμε προγραμμάτα σε Ruby. Θα μας βρείτε στο http://rubyst.es αλλά
και στη λίστα ηλεκτρονικού ταχυδρομείου http://groups.google.com/group/ruby-hellug
. Εχουμε κάνει μια συνάντηση εως τώρα αλλά έχουμε πολλές ιδέες για το
μέλλον και αναμένουμε και τη δική σου συμμετοχή για μια ενεργή
ελληνική κοινότητα γύρω από την αγαπημένη μας γλώσσα
Posted in News, Ruby | Tags Παρουσίαση, ΤΕΙ_Πειραιά, Ruby | no comments
Posted by superuser
Sat, 31 Jan 2009 07:38:00 GMT
Η πολυαναμενόμενη stable έκδοση 1.9 της Ruby είναι γεγονός. Μετά από εργασίες development πολλών χρόνων, μόλις χθές έγινε η ανακοίνωση έκδοσης της πρώτης σταθερής Ruby 1.9 δια στόματος του Yuki Sonoda.
Η έκδοση 1.9 είναι μια καταλυτική προσπάθεια της κοινότητας Ruby να εδραιώσει τη γλώσσα στην ελίτ του Object Oriented κόσμου. Ήδη η ruby μπορεί να τρέξει σε Java Virtual Machine (JVM) με τις ευλογίες της Sun, σε Windows χάρις στην ανάπυξη του IronRuby (συνεργάζεται άψογα με .NET) με την υποστήριξη της Microsoft, ενώ πλέον τρέχει και σε "έξυπνα" κινητά τηλέφωνα ((Ruby 1.9) Symbian, iPhone, Windows Mobile και RIM BlackBerry χάρις στο Rhomobile).
Οι κύριες αλλαγές στο 1.9 είναι η αλλαγή του αργού interpreter MRI με τον εξαιρετικά γρήγορο YARV (κατά μέσο όρο είναι 70% γρηγορότερος από τον 1.8.5 MRI!), και πλέον ο YARV υποστηρίζει πλήρως κωδικοποίηαη χαρακτήρων UTF-8, κάτι που λύνει τα προβλήματα που είχαμε με την επεξεργασία ελληνικών χαρακτήρων. Ελπίζω η νέα έκδοση της ruby να ωθήσει νέους και παλαιότερους έλληνες προγραμματιστές να ασχοληθούν με αυτή γιατί πραγματικά νομίζω το αξίζει.
-----
Κατεβάστε την νέα έκδοση μέσω ftp:
ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2
ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.gz
ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.zip
Posted in Ruby | Tags Ruby, Stable, YARV | no comments
Posted by superuser
Mon, 29 Dec 2008 10:22:00 GMT
Χρόνια Πολλά και Ευτυχισμένο το 2009
Το κάτωθι χριστουγεννιάτικο δέντρο κατασκευάστηκε ορίζοντας την συνάρτηση παραγοντικού, υπολογίζοντας τις πρώτες 32 τιμές του και τυπώνοντας στο κέντρο. Ο κώδικας Ruby:
def factorial(n)
if n <1
raise "The argument must be > 0"
elsif n ==1
return 1
else
return n * factorial(n-1)
end
end
print "\n"
print "ΧΡΟΝΙΑ ΠΟΛΛΑ\n".center(72)
1.upto(32) do |m|
print "#{factorial(m)}\n".center(42)
end
ΧΡΟΝΙΑ ΠΟΛΛΑ
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
87178291200
1307674368000
20922789888000
355687428096000
6402373705728000
121645100408832000
2432902008176640000
51090942171709440000
1124000727777607680000
25852016738884976640000
620448401733239439360000
15511210043330985984000000
403291461126605635584000000
10888869450418352160768000000
304888344611713860501504000000
8841761993739701954543616000000
265252859812191058636308480000000
8222838654177922817725562880000000
263130836933693530167218012160000000
Posted in Ruby | Tags Χριστουγενιάτικο_δέντρο, παραγοντική_συνάρτηση, Ruby | no comments
Posted by superuser
Tue, 18 Nov 2008 19:41:00 GMT
Μετά από την παρουσίαση του hpricot και τους τρόπους
ξεψαχνίσματος των σελίδων (x)html θα περάσουμε στο επόμενο στάδιο,
δλδ θα αρχίσουμε να ελέγχουμε και να μηχανοποιούμε τις εργασίες
πλοήγησης χρησιμοποιώντας το Mechanize (έχει καταγωγή από Python)
και εκεί θα δούμε πολύ ενδιαφέροντα πράγματα.
Αν πρέπει να ορίσω το Mechanize θα έλεγα πως είναι ένας αυτόματος υπολογιστικός
πλοηγητής κειμένου για τη γλώσσα προγραμματισμού ruby. Με το mechanize θα καταφέρουμε
να αυτοματοποιήσουμε τις εργασίες πλοήγησης, αφού θα μπορούμε να καλούμε ιστοσελίδες, να βρίσκουμε
και να επιλέγουμε συνδέσμους, να εισάγουμε στοιχεία σε φόρμες και να τις αποστέλλουμε. Αν
και το mechanize προβάλλει μόνο τα δυναμικά στοιχεία της σελίδας (links,
forms, buttons, ...) τα καλά νέα είναι πως συνεργάζεται - για την ακρίβεια
εξαρτάται από το hpricot, οπότε για τις στατικές πληροφορίες (κείμενο,
εικόνες, ...) θα καλούμε το hpricot. Πολλά έγραψα ας περάσω στα πειράματα
μου:
Εγκατάσταση
Ως συνήθως μέσω gems:
$ gem install mechanize --include-dependencies
Εξαρτήσεις και μέσο
Για κάθε παράδειγμα που ακολουθεί θα πρέπει να δηλώνονται:
require 'rubugems' # πιθανώς για windows Λ.Σ. να μην χρειάζεται
require 'mechanize'
agent = WWW::Mechanize.new
# agent.set_proxy("proxy.server.my", "8080") # MONON αν τρέχετε πίσω από proxy
Ο agent είναι στην ουσία το μέσο πλοήγησης. Αν πρέπει να κλικάρω σε ένα σύνδεσμο
ή να πατήσω ένα κουμπί θα καλέσω τον agent. Είναι αντικείμενο κλάσης WWW::Mechanize.
Πρώτο Τεστ
page = agent.get("http://www.google.gr/")
Η page (WWW::Mechanize::Page) αποτελείται από μια σειρά συστατικών που πιθανώς
να θέλουμε να εξετάσουμε {url}{meta}{title}{iframes}{frames}{links}{forms}.
Από αυτά τα πιο σημαντικά είναι οι σύνδεσμοι (links) που μας επιτρέπουν την πλοήγηση
και οι φόρμες που μας επιτρέπουν να εισάγουμε στοιχεία.
Για να έχετε μια γενική εικόνα μελετήστε τα περιεχόμενα της σελίδας με
pp page
ΣΥΝΔΕΣΜΟΙ (LINKS)
Το σύνολο των links που περιέχονται στη σελίδα είναι κλάσης WWW::Mechanize::List,
ενώ κάθε σύνδεσμος είναι τύπου WWW::Mechanize::Page::Link.
Εύρεση Όλων των Συνδέσμων
puts page.links # WWW::Mechanize::Page::List
Δεν είναι πολύ χρήσιμη αυτή η μορφή.
Αν θέλουμε όλο το κείμενο των links ή όλες τις διευθ.url των links, πολύ απλά θα
θα πρέπει να εφαρμόσουμε τη μέθοδο each στη λίστα.
# ___'Ολα τα ονόματα συνδέσμων__
page.links.each { |link|
puts link.text
}
# _____Όλες οι διευθύνσεις _________
page.links.each { |link|
puts link.href
}
Συνδυάζοντας τις δύο παραπάνω μπορούμε να αναπαράγουμε τα links σε κώδικα html
Για την ορθότητα του αποτελέσματος θα υποθέσουμε πως όλοι οι σύνδεσμοι είναι σε
απόλυτη διαδρομή δλδ ξεκινούν με http://www.google.gr/
page.links.each do |link|
puts "<a href=\"" + link.href + "\">" + link.text + "</a>"
end
Αν υπάρχει συνδυασμός σχετικών και απόλυτων διαδρομών συνδέσμων - όπως στην
περίπτωση της σελίδας google.gr, μπορείτε να λύσετε εύκολα το πρόβλημα.
Για παράδειγμα, στη συνέχεια κάνω ένα έλεγχο αν το link ξεκινάει από http (οπότε είναι
απόλυτη η διαδρομή), αν όχι προσθέτω το υπολλειπόμενο συστατικό δλδ το http://www.google.gr.
BASE = "http://www.google.gr"
page.links.each do |link|
if link.href =~ /^http/ then
puts "<a href=\"" + link.href + "\">" + link.text + "</a>"
else
puts "<a href=\"" + BASH + link.href + "\">" + link.text + "</a>"
end
end
Καθόλου άσχημα! Κατάφερα να συμμαζέψω όλα τα links και τα έχω έτοιμα προς χρήση.
Τι γίνεται αν θέλω κάποιο συγκεκριμένο link;
Εύρεση Συνδέσμων
Βρείτε κάποιο σύνδεσμο δίνοντας pp page.links. Για παράδειγμα:
#<WWW::Mechanize::Page::Link
#"Gmail"
#"http://mail.google.com/mail/?hl=el&tab=wm">
Παρατηρήστε πως μπορώ να διακρίνω ένα σύνδεσμο από το κείμενο του ("Gmail")
ή από το url του ("http://mail.google.com/mail/?hl=el&tab=wm").
Αν αναζητώ ένα link γνωρίζοντας ακριβώς το κείμενο του συνδέσμου ή το url
page.links.text('Gmail')
page.links.href('http://mail.google.com/mail/?hl=el&tab=wm')
Φυσικά τις περισσότερες φορές θα χρησιμοποιήσουμε μόνο κάποιο συστατικό του κειμένου
ή του url για να βρούμε το σύνδεσμο που ψάχνουμε. Σε αυτή την περίπτωση
χρησιμοποιούμε RegExp = regular expressions. Η ιδέα δεν αλλάζει, αλλά μπορεί να έχω
παραπάνω από ένα σύνδεσμο ως αποτέλεσμα αναζήτησης.
page.links.text(/mail/) # βρίσκει τα links που περιέχουν τη λέξη mail
page.links.href(/mail/) # βρίσκει links με url που περιέχει mail
Και τώρα ήρθε η ώρα να κλικάρουμε ένα link. Θυμάστε τον agent;
Λοιπόν η μορφή είναι agent.click [link] όπου [link] χρησιμοποιήστε τους άνωθεν τρόπους αναζήτησης
page_gmail = agent.click page.links.text("Gmail")
Διαπιστώστε πως μεταφερθήκατε στη σελίδα του Gmail με
pp page_gmail
Από κει και πέρα μπορείτε να πλοηγηθείτε ατελείωτα και να αυτοματοποιήσετε τις
αναζητήσεις σας. Να ψάξετε για νέα links και να συμπληρώσετε φόρμες. Αυτό θα παρουσιάσω στο δεύτερο μέρος του Mechanize.
Εύρεση, Συμπλήρωση και Αποστολή Μιας Φόρμας
Ας υποθέσουμε πως θέλουμε να βρούμε από το youtube.com βίντεο με θέμα "athens olympic games". Η κοινή πρακτική είναι να πάμε με τον browser στο youtube.com και στην πρώτη φόρμα που θα βρούμε να δηλώσουμε στο πεδίο αναζήτησης "athens olympic games". Ακριβώς την ίδια διαδικασία θα ακολουθήσω και με το mechanize.
require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
page = agent.get("http://www.youtube.com/")
Μέχρι εδώ όλα μας είναι γνωστά από την προηγούμενη παρουσίαση. Δώστε pp page και εστιάστε στη φόρμα:
#<WWW::Mechanize::Form
{name "searchForm"}
{method "GET"}
{action "/results"}
{fields
#<WWW::Mechanize::Form::Field:0x348ea88 @name="search_query", @value="">
#<WWW::Mechanize::Form::Field:0x348de58 @name="search_type", @value="">}
{radiobuttons}
{checkboxes}
{file_uploads}
{buttons}>
Αυτή είναι η πρώτη φόρμα αναζήτησης στην αρχική σελίδα του youtube.com . Για να την επιλέξω (παρατηρήστε πως υπάρχουν και άλλες) θα πρέπει να δηλώσω ή το όνομα της - δλδ. searchForm - ή τον controller(action) που θα επεξεργαστεί τη φόρμα μετά την αποστολή - δλδ /results. Πολλές φορές θα βρείτε φόρμες όπου δεν εμφανίζεται το όνομα τους, οπότε και θα πρέπει να δηλώνετε αναγκαστικά τον controller.
vres_form = page.form_with( :action => '/results' )
Στη φόρμα υπάρχουν δύο πεδία, to ένα με όνομα/@name "search query" και το άλλο με "search_type". Και τα δύο πεδία είναι κενά (@value = ""). Ας θέσουμε λοιπόν στο πεδίο search_query την τιμή "athens olympic games"
vres_form.search_query = "athens olympic games"
Δείτε πως ανανεώθηκε η τιμή της μεταβλητής @value του πεδίου search_query:
pp vres_form
#<WWW::Mechanize::Form
{name "searchForm"}
{method "GET"}
{action "/results"}
{fields
#<WWW::Mechanize::Form::Field:0x343e498
@name="search_query",
@value="athens olympic games">
#<WWW::Mechanize::Form::Field:0x343dca0 @name="search_type", @value="">}
{radiobuttons}
{checkboxes}
{file_uploads}
{buttons}>
Το μόνο που μας απομένει είναι να "πατήσουμε" το κουμπί αποστολής/submit. Πολύ απλά
myvideo_links = vres_form.click_button
Η νέα σελίδα (myvideo_links) περιέχει τα links των βίντεο σχετικά με τους ολυμπιακούς αγώνες της Αθήνας. Όπως και στο πρώτο μέρος μπορούμε να αποσπάσουμε τις ονομασίες των links και των url διευθύνσεων ή ότι άλλο επιθυμείτε να βρείτε. Για παράδειγμα :
myvideo_links.links.href(/watch\?v=/).each do |lnk|
puts lnk.text
end
Opening Ceremony Olympic Games 2004 Athens
2004 Olympic 800m Final
Fani Halkia wins 400mH in Athens Olympic Games 2004
Taekwondo Athens Olympic games 2004 -58 Men Chinese Tiapei vs Mexico Round 1
The Emblem of the 2004 Athens Olympic Games
2004 Olympic Judo Highlights 1/2
Olympic games in Athens - Syrtaki dancing - Lifetime moment
........
Posted in Ruby | Tags πλοήγηση, σύνδεσμοι, φόρμες, href, Mechanize, Ruby | no comments
Posted by superuser
Sun, 19 Oct 2008 19:41:00 GMT
Αν εργάζεστε σε Windows workstation μηχάνημα και θέλετε να δημιουργείτε προγράμματα Ruby μπορείτε να το κάνετε πολύ εύκολα. Η γλώσσα προγραμματισμού Ruby υποστηρίζεται πλήρως στα Windows, και μπορείτε να δουλεύετε όπως ακριβώς και στο Linux. Από το command prompt μπορείτε να διαχειρίζεστε κανονικά τα rubygems προγράμματα και να εκτελείτε τις εφαρμογές σας.
Στη δουλειά για να εξομαλύνω τον όγκο εργασίας, αυτοματοποίησα αρκετές επαναλαμβανόμενες εντολές με απλά προγράμματα Ruby. Για να μην επιβαρύνω τα 256mb μνήμης του pc επέλεξα τη βάση δεδομένων sqlite3 - που με εξέπληξε θετικά αφού είναι πολύ χρηστική και πραγματικά lite. Για τις εργασίες που χρειάζομαι στο γραφείο είναι ότι πρέπει! Φόρτωσα τη βιβλιοθήκη σύνδεσης sqlite3-ruby και το αγαπημένο μου ORM τη sequel (που δουλεύει άψογα και με την sqlite). Ο συνδιασμός sqlite3 + sequel είναι ιδεώδες για μικρές εφαρμογές που πρέπει να αναπτυχθούν σε συστήματα χαμηλών δυνατοτήτων και που πρέπει να ολοκληρωθούν γρήγορα. Στο τέλος έβαλα και ένα μινιμαλιστικό ruby application server ονόματι Ramaze αφού ήταν αδιανόητο - λόγω των πόρων που καταλαμβάνει - να βάλω Rails σε workstation μηχάνημα. Τελικά μου άρεσε τόσο πολύ το Ramaze, που σκέφτομαι να αντικαταστήσω τις περισσότερες Rails εφαρμογές μου με αυτό. Θα γράψω εκτενέστερα για το Ramaze σε επόμενη καταχώρηση.
Σε αυτό το άρθρο απλά θα περιγράψω πως να κάνετε την εγκατάσταση σε Windows 2000/XP των προαναφερθέντων δλδ. Ruby, SQLite3, SQLite3-ruby και Sequel. Δεν πρέπει να χρειαστείτε πάνω από 10 λεπτά.
Ruby
Από την επίσημη σελίδα της Ruby κατεβάστε τον installer. Επιλέξτε να γίνει η εγκατάσταση σε μια διαδρομή δίχως κενά (όπως π.χ. το γνωστό Program Files. C:\ruby ή κάτι άλλο παρόμοιο είναι εντάξει). Κλικάρετε την επιλογή αυτόματης υποστήριξη rubygems - δε θα χρειάζεται να καλείτε require rubygems. Δεν πρέπει να συναντήσετε δυσκολίες εδώ.
Μετά την εγκατάσταση ελέγξτε τα gems που περιέχει η αρχική εγκατάσταση.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\> gem list
*** LOCAL GEMS ***
fxri (0.3.6)
fxruby (1.6.16)
hoe (1.7.0)
hpricot (0.6)
log4r (1.0.5)
ptools (1.1.6)
rake (0.8.2)
ruby-opengl (0.60.0)
rubyforge (1.0.0)
test-unit (2.0.0)
win32-api (1.2.0)
win32-clipboard (0.4.4)
win32-dir (0.3.2)
win32-eventlog (0.5.0)
win32-file (0.5.5)
win32-file-stat (1.3.1)
win32-process (0.5.9)
win32-sapi (0.1.4)
win32-sound (0.4.1)
windows-api (0.2.4)
windows-pr (0.9.3)
SQLite3
Θα χρειαστεί να κατεβάσετε δύο αρχεία από το επίσημο site της SQLite.
Αποσυμπιέστε τα δύο zip αρχεία, και τοποθετήστε τα τρία αρχεία (
sqlite3.exe, sqlite3.def και sqlite3.dll) στον κατάλογο bin του καταλόγου εγκατάστασης της ruby. Στην περίπτωση μου είναι ο C:\ruby\bin (αν έχετε εγκαταστήσει αλλού, βρείτε τον φάκελο bin της εγκατάστασης σας). Αυτό είναι όλο η Sqlite3 είναι έτοιμη προς χρήση!
SQLite3-ruby
Δεν είναι τίποτε άλλο από ένα module που επιτρέπει στη Ruby να επικοινωνεί με τις βάσεις δεδομένων sqlite3 που πριν από λίγο εγκαταστήσαμε. Δυστυχώς στην τελευταία έκδοση (1.2.4) που διατίθεται δεν υπάρχει ακόμη win32-gem πακέτο δλδ για windows. Δεν πειράζει. Θα εγκαταστήσω την προηγούμενη έκδοση δλδ την 1.2.3
Από το command prompt δώστε :
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\> gem install sqlite3-ruby --version 1.2.3
και είμαστε έτοιμοι.
Sequel
Πρόκειται για ένα εργαλείο Αντικειμενο-Σχεσιακής Αντιστοίχησης [ORM = Object Relational Mapping]. Κάνει ό,τι ακριβώς και το Active Record στο Rails. Δλδ αντιστοιχεί τις καταχωρήσεις στη βάση δεδομένων με αντικείμενα / στιγμιότυπα κλάσης Ruby. Η αντιστοιχία είναι πολύ χρήσιμη και σας γλυτώνει από πολύπλοκα queries sql. Εγκαταστήστε σαν απλό rubygem.
C:\> gem install sequel
Posted in Ruby | Tags Ramaze, Ruby, Ruby, rubygems, Sequel, Sqlite, Sqlite3, Sqlite3, Windows | no comments
Posted by superuser
Sun, 19 Oct 2008 19:41:00 GMT
Αν εργάζεστε σε Windows workstation μηχάνημα και θέλετε να δημιουργείτε προγράμματα Ruby μπορείτε να το κάνετε πολύ εύκολα. Η γλώσσα προγραμματισμού Ruby υποστηρίζεται πλήρως στα Windows, και μπορείτε να δουλεύετε όπως ακριβώς και στο Linux. Από το command prompt μπορείτε να διαχειρίζεστε κανονικά τα rubygems προγράμματα και να εκτελείτε τις εφαρμογές σας.
Στη δουλειά για να εξομαλύνω τον όγκο εργασίας, αυτοματοποίησα αρκετές επαναλαμβανόμενες εντολές με απλά προγράμματα Ruby. Για να μην επιβαρύνω τα 256mb μνήμης του pc επέλεξα τη βάση δεδομένων sqlite3 - που με εξέπληξε θετικά αφού είναι πολύ χρηστική και πραγματικά lite. Για τις εργασίες που χρειάζομαι στο γραφείο είναι ότι πρέπει! Φόρτωσα τη βιβλιοθήκη σύνδεσης sqlite3-ruby και το αγαπημένο μου ORM τη sequel (που δουλεύει άψογα και με την sqlite). Ο συνδιασμός sqlite3 + sequel είναι ιδεώδες για μικρές εφαρμογές που πρέπει να αναπτυχθούν σε συστήματα χαμηλών δυνατοτήτων και που πρέπει να ολοκληρωθούν γρήγορα. Στο τέλος έβαλα και ένα μινιμαλιστικό ruby application server ονόματι Ramaze αφού ήταν αδιανόητο - λόγω των πόρων που καταλαμβάνει - να βάλω Rails σε workstation μηχάνημα. Τελικά μου άρεσε τόσο πολύ το Ramaze, που σκέφτομαι να αντικαταστήσω τις περισσότερες Rails εφαρμογές μου με αυτό. Θα γράψω εκτενέστερα για το Ramaze σε επόμενη καταχώρηση.
Σε αυτό το άρθρο απλά θα περιγράψω πως να κάνετε την εγκατάσταση σε Windows 2000/XP των προαναφερθέντων δλδ. Ruby, SQLite3, SQLite3-ruby και Sequel. Δεν πρέπει να χρειαστείτε πάνω από 10 λεπτά.
Ruby
Από την επίσημη σελίδα της Ruby κατεβάστε τον installer. Επιλέξτε να γίνει η εγκατάσταση σε μια διαδρομή δίχως κενά (όπως π.χ. το γνωστό Program Files. C:\ruby ή κάτι άλλο παρόμοιο είναι εντάξει). Κλικάρετε την επιλογή αυτόματης υποστήριξη rubygems - δε θα χρειάζεται να καλείτε require rubygems. Δεν πρέπει να συναντήσετε δυσκολίες εδώ.
Μετά την εγκατάσταση ελέγξτε τα gems που περιέχει η αρχική εγκατάσταση.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\> gem list
*** LOCAL GEMS ***
fxri (0.3.6)
fxruby (1.6.16)
hoe (1.7.0)
hpricot (0.6)
log4r (1.0.5)
ptools (1.1.6)
rake (0.8.2)
ruby-opengl (0.60.0)
rubyforge (1.0.0)
test-unit (2.0.0)
win32-api (1.2.0)
win32-clipboard (0.4.4)
win32-dir (0.3.2)
win32-eventlog (0.5.0)
win32-file (0.5.5)
win32-file-stat (1.3.1)
win32-process (0.5.9)
win32-sapi (0.1.4)
win32-sound (0.4.1)
windows-api (0.2.4)
windows-pr (0.9.3)
SQLite3
Θα χρειαστεί να κατεβάσετε δύο αρχεία από το επίσημο site της SQLite.
Αποσυμπιέστε τα δύο zip αρχεία, και τοποθετήστε τα τρία αρχεία (
sqlite3.exe, sqlite3.def και sqlite3.dll) στον κατάλογο bin του καταλόγου εγκατάστασης της ruby. Στην περίπτωση μου είναι ο C:\ruby\bin (αν έχετε εγκαταστήσει αλλού, βρείτε τον φάκελο bin της εγκατάστασης σας). Αυτό είναι όλο η Sqlite3 είναι έτοιμη προς χρήση!
SQLite3-ruby
Δεν είναι τίποτε άλλο από ένα module που επιτρέπει στη Ruby να επικοινωνεί με τις βάσεις δεδομένων sqlite3 που πριν από λίγο εγκαταστήσαμε. Δυστυχώς στην τελευταία έκδοση (1.2.4) που διατίθεται δεν υπάρχει ακόμη win32-gem πακέτο δλδ για windows. Δεν πειράζει. Θα εγκαταστήσω την προηγούμενη έκδοση δλδ την 1.2.3
Από το command prompt δώστε :
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\> gem install sqlite3-ruby --version 1.2.3
και είμαστε έτοιμοι.
Sequel
Πρόκειται για ένα εργαλείο Αντικειμενο-Σχεσιακής Αντιστοίχησης [ORM = Object Relational Mapping]. Κάνει ό,τι ακριβώς και το Active Record στο Rails. Δλδ αντιστοιχεί τις καταχωρήσεις στη βάση δεδομένων με αντικείμενα / στιγμιότυπα κλάσης Ruby. Η αντιστοιχία είναι πολύ χρήσιμη και σας γλυτώνει από πολύπλοκα queries sql. Εγκαταστήστε σαν απλό rubygem.
C:\> gem install sequel
Posted in Ruby | Tags Ramaze, Ruby, Ruby, rubygems, Sequel, Sqlite, Sqlite3, Sqlite3, Windows | no comments