Auf meinem Zweitblog( die nächste Blogleiche
) habe ich einige has_finder / named_scope Beispiele veröffentlicht.
has_finder/ named_scope Beispiele
27. Januar 2010 · Keine Kommentare
→ Keine KommentareTags: rails · ruby
Standardabweichung mit Ruby berechnen
27. Januar 2010 · Keine Kommentare
Heute ein kleines Skript, um die Standardabweichung mit Ruby zu berechnen. Erweiterungen und Optimierungen bitte als Kommentar. Gerne auch in anderen Sprachen.
Details zur Standardabweichung gibt es hier
#!/usr/bin/ruby -w
include Math
# werte, für die die standardabweichung berechnet werden soll
arrValues = [ 4.58, 4.53, 4.1, 4.05 ]# mittelwert der werte
fMedian = 0
arrValues.each do |fValue|
fMedian += fValue
end
fMedian /= arrValues.size.to_f
puts “Mittelwert = ” + fMedian.to_s# summieren
fStandardDeviation = 0
arrValues.each do |fValue|
fStandardDeviation += (fValue – fMedian)**2
end
puts “Zwischensumme = ” + fStandardDeviation.to_s# durch anzahl teilen
fStandardDeviation /= arrValues.size.to_f
puts fStandardDeviation# wurzel ziehen
fStandardDeviation = Math.sqrt(fStandardDeviation)# auf 3 stellen runden
fStandardDeviation = “%.3f” % fStandardDeviationputs “rating = ” + fStandardDeviation.to_s
→ Keine KommentareTags: ruby
Aptana – svn: Malformed network data
27. Januar 2010 · Keine Kommentare
Am Wochenende gabs bei mir ein kleines svn-Problem mit Aptana unter (K)ubuntu. svn commit bzw. update lieferten ein svn: Malformed network data. Auf der Konsole lief alles problemlos.
Der Vorschlag von
http://blog.maxdunn.com/articles/2006/12/07/svn-malformed-network-data-error-in-eclipse, Subclipse auf Version 1.2 zu aktualisieren, änderte nix an der Fehlerausgabe.
http://islandlinux.org/howto/installing-javahl-subclipse-eclipse-ubuntu-7-10 half mir dann weiter.
sudo apt-get -u install libsvn-javahl
Die folgenden NEUEN Pakete werden installiert:
libsvn-java libsvn-javahl
Die Startvariablen noch um den Pfad erweitern.
aptanastudio.ini -> Djava.library.path=/usr/lib/jni
Fertig
→ Keine KommentareTags: Allgemein
LoadAvg mit Ruby auslesen
15. Januar 2010 · Keine Kommentare
Hier eine kleine Klasse zum Auslesen des Load Averages unter *nix/ Linux-Systemen.
class LoadAvg
def loadavg
File.open('/proc/loadavg','r').readline.split.slice(0,3)
end
def self.get() self.new.loadavg end
end
Der Aufruf erfolgt dann mit LoadAvg.get.
→ Keine KommentareTags: ruby
mal wieder aptana(radrails)
24. September 2009 · Keine Kommentare
Was ist eigentlich bei Aptana los? Sind da ein paar Investoren abgesprungen? Der Code von Radrails liegt jetzt auch auf Github. Falls jemand einen Link mit Infos hat, was da los war/ist.
→ Keine KommentareTags: rails
Query Optimierung
12. Mai 2009 · Keine Kommentare
Eine klassische DB-Abfrage erzeugt unter Rails ein ‘select *’. Logisch, Rails weiß ja nicht, was wir benötigen.
Als Beispiel:
@u = User.find(params[:id])
MySQL-Query:
SELECT * FROM `users` WHERE (`users`.`id` = 54312)
Wir benötigen aber nur den Namen, Permalink und die ID.
Optimierung von Hand:
@u = User.find(params[:id],:select=>['name, permalink,id'])
SELECT name,permalink,id FROM `users` WHERE (`users`.`id` = 54312)
Besser…
Man könnte jetzt alle DB-Abfragen von Hand optimieren. Der Aufwand ist bei einer größeren Rails-Anwendung aber schon heftig.
config.gem "methodmissing-scrooge",:lib=>'scrooge',:source => "http://gems.github.com"
der environment.rb hinzufügen und
rake gems:install
ausführen.
→ Keine KommentareTags: rails
NetBeans
11. Dezember 2008 · 2 Kommentare
In den letzten Tagen war ich auf der Suche nach einer kleinen IDE für mein Laptop. Durch Mongrel, Aptana, MySQL & Firefox ist mein Reisebegleiter ständig am Limit. Nebenbei bin ich mit Aptana nicht mehr wirklich zufrieden. Updatefehler, Programmabstürze und die Performance sind aktuell schon nervig.
Bin jetzt über einen NetBeans-Beitrag gestolpert. Die Vorschaubilder schauen jedenfalls vielversprechend aus.
Hat jemand Informationen zum Speicherverbrauch und der Performance?
→ 2 KommentareTags: Allgemein · rails · ruby
Baumstruktur mit Ruby/ Rails importieren
7. Dezember 2008 · Keine Kommentare
Zur Weihnachtszeit sollte man es ja etwas gemütlicher angehen lassen. Also eine kleine REXML-Geschichte. Das Skript importiert ein Nested Set in die Datenbank von Rails.
[Mehrlesen →]
→ Keine KommentareTags: rails · ruby
Datenbank mit Rails optimieren
5. Dezember 2008 · Keine Kommentare
Hier zwei kleine Rake-Tasks zur DB-Optimierung.
Aufruf:
rake db:optimize_tables bzw.
rake db:optimize_databases
namespace :db do
desc "tabellen optimeren"
task
ptimize_tables => :environment do
tables=ActiveRecord::Base.connection.select_values("show tables;")
tables.each do |table|
puts "optimiere #{table}..."
ActiveRecord::Base.connection.select_values("optimize table #{table};")
puts "done"
end
end
desc "alle datenbanken optimeren"
task
ptimize_databases => :environment do
dbs=ActiveRecord::Base.connection.select_values("show databases;")
dbs.each do |db|
puts "optimiere tabellen von #{db}..."
unless db=="information_schema"
tables=ActiveRecord::Base.connection.select_values("show tables from #{db};")
tables.each do |table|
puts "optimiere #{table}..."
ActiveRecord::Base.connection.select_values("optimize table #{db}.#{table};")
puts "done"
end
puts "done"
end
end
end
end
→ Keine KommentareTags: rails
Kontonummern und Bankleitzahlen mit Ruby überprüfen
15. September 2008 · 1 Kommentar
Wer Kontonummern und Bankleitzahlen mit Ruby überprüfen muss, kann auf unser kleines C- Programm zurückgreifen. Details gibt es hier
Beispiel:
require 'ktoblzcheck'
$bc="20030700"
$an="0"
puts "Testing Bank Code: #{$bc} / Account No. #{$an}"
KtoBlzCheck.new do |kbc|
name,location=kbc.find($bc)
if name
puts "Bank found! #{name} located in #{location}"
else
puts "Bank not found!"
end
case kbc.check($bc,$an)
when KtoBlzCheck::ERROR
puts "Failed, bank code and account number don't match"
when KtoBlzCheck::OK
puts "Success, valid combination of bank code and account number"
when KtoBlzCheck::UNKNOWN
puts "Unknown."
when KtoBlzCheck::BANK_NOT_KNOWN
puts "Unknown bank code"
else
puts "Never reached
"
end
end
→ 1 KommentarTags: ruby