Ich habe lange gesucht, wie ich das ohne das pry-rails
gem hinbekomme.
Hier nun die Lösung: Packt das einfach in eure ~/.pryrc
:
Pry.config.hooks.add_hook(:before_session, :rails) do
if defined?(Rails)
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
end
Wer in dieser Jahreszeit nicht die Tomaten aus Nordafrika kaufen möchte (weil es
einfach total verrückt ist), trotzdem aber, wie ich, nicht auf seine wöchentliche
Dosis an Lycopin verzichten kann, sollte
auf jeden Fall auf Tomaten aus Glas und Dose zurückgreifen.
Für diese Tomatensuppe habe ich einfach eine halbe Flasche passierte Tomaten,
eine Dose ganze geschälte Tomaten, Olivenöl, eine Chili-Schote, Knoblauch und Oregano
eine halbe Stunde lang kochen lassen. Danach die Chili-Schote entfernen, alles
andere pürieren und mit Salz, Pfeffer und Apfelessig abgeschmecken. Kurz vorm servieren saure
Sahne, Käse, Pfeffer und Olivenöl draufpacken und fertig. Damit es vegan wird,
können natürlich alle Toppings mit ihrem rein pflanzlichen Äquivalent ausgetauscht
werden.
Wer gleich einen größeren Topf kocht und ihn im Kühlschrank oder auf dem Balkon
lagert, kann sich ein paar Tage lang ohne Aufwand nach der Kälte draußen schön
von innen aufwärmen, wenn er/sie nach Hause kommt.
Recently I saw some code where an archive table was queried for specific time
spans. For example, sum up all records for a specific month or year. The WHERE-clause
looked like this:
SELECT ... FROM archiv WHERE `date` LIKE '2012-12-% %:%:%'
My first intention was to refactor this with the documented sqlite datetime functions
but wanted to test how much faster it is. So I wrote two small Ruby scripts and
benchmarked it with time ruby bench.rb
(Tested on my Macbook Pro).
# bench.rb with LIKE
require 'sqlite3'
db = SQLite3::Database.new '/Users/ben/Downloads/solar.sqlite'
20.times do
# day span
db.execute("SELECT (MAX(`E-Total`) - MIN(`E-Total`)) FROM archiv WHERE `date` LIKE '2012-12-30 %:%:%'")
# month span
db.execute("SELECT (MAX(`E-Total`) - MIN(`E-Total`)) FROM archiv WHERE `date` LIKE '2012-12-% %:%:%'")
# year span
db.execute("SELECT (MAX(`E-Total`) - MIN(`E-Total`)) FROM archiv WHERE `date` LIKE '2012-%-% %:%:%'")
end
# bench.rb with strftime
require 'sqlite3'
db = SQLite3::Database.new '/Users/ben/Downloads/solar.sqlite'
20.times do
# day span
db.execute("SELECT (MAX(`E-Total`) - MIN(`E-Total`)) FROM archiv WHERE strftime('%Y-%m-%d', `date`) = '2012-12-30'")
# month span
db.execute("SELECT (MAX(`E-Total`) - MIN(`E-Total`)) FROM archiv WHERE strftime('%Y-%m', `date`) = '2012-12'")
# year span
db.execute("SELECT (MAX(`E-Total`) - MIN(`E-Total`)) FROM archiv WHERE strftime('%Y', `date`) = '2012'")
end
I ran all benchmarks three times and calculated the average.
| LIKE | strftime
-----+----------+-----------
real | 0m9.865s | 0m16.130s
user | 0m7.145s | 0m12.828s
sys | 0m2.691s | 0m3.246s
Surprisingly the LIKE-Operator is much faster then the strftime function. I don't
know why it is, but I will keep the code as it is.
Es gibt jetzt einen Topf, der einfache Sachen wie Suppe o.ä. kochen kann.
Der Prototyp wurde auf der gerade stattfindenden 29C3 vorgestellt.
SPIEGEL Online Artikel
Website von EveryCook
Quelle des Bildes: http://everycook.org/cms/images/startpage/121115everycookprinzip.png