Gem MySql 2.7 Symbol not found: _mysql_init
Dalla versione 2.2 di Rails la libreria di ruby di MySql inclusa in rails non verrà più supportata.
DEPRECATION WARNING: You're using the Ruby-based MySQL library that ships with Rails. This library will be REMOVED FROM RAILS 2.2. Please switch to the offical mysql gem: `gem install mysql`
Per coloro che hanno installato mysql tramite port eseguire:
sudo gem install mysql -- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config >> Account.all
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle
Expected in: dynamic lookup
dyld: Symbol not found: _mysql_init
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle
Expected in: dynamic lookup /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle
/Library/Ruby/Gems/1.8/gems/mysql-2.7/mysql.bundle rm -rf /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle Rails 2.1 e Ruby 1.8.7

L'altro ieri è stato rilasciato il magior update di Rails 2, e le novità sono davvero interessanti, prendo esempio da Rayan's Scraps e vi scrivo un piccolo elenco:
- UTC Migration Versioning
- Specifying Gem Dependencies
- Partial Updates
- Dirty Objects
- Has One :through
- Has Finder Functionality
- Easier Timezones
- Pluggable Controller Caching
Da notare che è anche stato rilasciato Ruby 1.8.7 . Ruby in questa versione stabile e dovrebbe essere pronto per gli ambienti di produzione.
Da notare che oltre alla correzione di numerosi bug e miglioramento delle performance è stato introdotto il back-port di Ruby 1.9 (le enumerazioni in particolare).
Maggiori informazioni sono disponibili qui
A tutto Ajax

Google, ha da poco annunciato le Ajax Library. Questo nuovo servizio permette di includere nei propri siti i file .js di blasonati framework quali:
Tutto ciò offre grossi vantaggi quali:
- Compressione del javascript lato server (google)
- Alta velocità di accesso
- Supporto a vita (nell'hosting)
- Molteplici versioni dello stesso framework
- Versioni snellite del framework
Da notare anche che se molti sviluppatori iniziano ad utilizzarla, diventa più probabile che il "navigatore" ha già scaricato il framework da un'altro sito, quindi quando visiterà il vostro non il suo browser non avrà bisogno di riscaricarlo... ottimo no?
Bene, ora se volete inziare a divertirvi dovete
Includere nel vostro sito:
<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script> <script src="http://www.google.com/jsapi"></script>
google.load("prototype", "1.6.0.2"); Ovviamente, come avrete notato google mette a disposizione varie versioni dello stesso framework in modo da non generare conflitti, per vedere l'elenco andate qui
Rubinius on Rails

Sono lieto di scrivervi che pochi giorni fa Evan Phoenix ha annunciato la possibilità di eseguire Rails su Rubinius.
Rubinius è una virtual machine / compilatore di nuova concezione per Ruby. In sostanza persegue l'obiettivo di fornire elevate performance nell'esecuzione di codice Ruby.
Evan, però avverte che al momento l'esecuzione di Rails su Rubinius è ancora poco performante.
Sono contento perché come sapete ad oggi il problema delle performance di ruby iniziano a farsi sentire e pesantemente.
Le future alternative potrebbero quindi essere oltre a Rubinius:
Ruby 1.9 molto veloce, ma allo stato attuale è impossibile far girare Rails.
JRuby ottimo, in grado di eseguire rails ma poco compatibile con le svariate librerie scritte in c.
IronRuby una implementazione .net
MacRuby una implementazione bastata su Objective-C
Su MacRuby, mi riprometto di far un bel articolo!
Akelos, Rails su PHP... forse

Akelos, si aggiunge alla sfilza di framework nati per "imitare" Rails.
Ho dato un occhio al sito e ho notato che in perfetto stile Rails c'e' anche uno screencast
Da quel che ho potuto vedere penso che questo a differenza di Symfony , CakePHP che hanno preso strade "loro" rimane molto fedele a Rails.
Credo sia ottimo per chi viene dal PHP, e non vuole apprendere altri linguaggi di programmazione e ammira l'agilita' di sviluppo di Rails.
Pero' tengo a sottolineare che la velocita' di sviluppo in questo caso non e' tanto dovuta al framework che si usa ma principalmente dal linguaggio di programmazione, e si sa che Ruby e' tutt'altra vita rispetto a php.
Offriamo Lavoro per programmatori Ruby on Rails
Ciao a Tutti,
come sapete siamo una giovane webagency di Varese, stiamo cercando 1 o 2 programmatori Ruby On Rails, lavoriamo su progetti interessanti e vari con grosse aziende. Ci occupiamo della realizzazione che va dal semplice sito, all'ecommerce, al gestionale, interfacce eBay etc...
Il lavoro è estremamente dinamico (come del resto la socità) e quando abbiamo disponiblità ci dedichiamo a progetti opensource alcuni qui: http://rails.lipsiasoft.com/wiki/lipsiadmin e qui sul blog.
Apprezziamo molto le inziative...
Offriamo un buon contratto e un buon stipendio e se necessario vi forniamo un MacBook.
I requisiti sono:
- Conoscenza Ruby on Rails (almeno di base)
- CSS/HTLM (w3c e tableless)
- MySql
Non esitate a mandarci il vostro cv qui: info@lipsiasoft.com
Ciao e a presto
Lipsiadmin! L'Admin per Ruby on Rails tuttofare

Finalmente il primo dei miei progetti (di quest'anno) si e' realizzato.
Di cosa si tratta?
Uno degli annosi problemi di noi sviluppatori Ruby On Rails e' da sempre la gestione del backend del sito sul quale lavoriamo.
Pensate alla gestione degli utenti... permessi layout grafica html etc etc... non vi stufa dover ripetere sempre gli stessi passi?
Anche a me, cosi' mi sono creato una sorta di scaffold, che utilizziamo come societa' da circa un anno.
Ma cosa ha di speciale? Bhe' soluzioni simili ce ne sono tantissime ma penso che la mia sia la versione piu' leggera, veloce ed espandibile.
Partiamo con le premesse ovvero, il nostro admin e' bastato su un framework molto famoso EXTJS nella sua versione piu' recente.
Abbiamo deciso di utilizzare EXTJS per la sua semplicita' e la sua potenza, principalmente per quanto concerne la realizzazione di ottime griglie e del layout della pagina.

script/plugin install git://github.com/Lipsiasoft/lipsiadmin.git
script/generate lipsiadmin http://demoadmin.lipsiasoft.org/admin
DemoAdmin.zip
Login: info@lipsiasoft.com
Password: admin Javascripts dinamici in Rails 2.0.
Rieccomi, ieri mi sono visto uno screencast carino, qui e volevo segnalarvi anche a voi questa utile funzione.
Partiamo dal fatto che probabilmente è utile nei backend di un sito. Vi faccio un esempio, mettiamo che usate javascript per la gestione del login...
E' spesso molto utile poter intervenire con codice Ruby nei nostri JS ma fino alla precedente versione di Rails io intervenivo con un mio plugin Embedded Javascript che mi permetteva di usare i file ejs con codice ruby + javascript.
Ora tutto ciò come vi ho anticipato sopra è molto più semplice e non abbiamo bisogno di utilizzare plugin di terze parti.
Nella pagina seguente vi mostro un piccolo esempio.
Per prima cosa dobbiamo generare un controller, io lo chiamo javascripts in modo che quando lo includerò nella mia vista non dovrò inserire la path.
Quindi scriviamo nella nostra console:
$ script/generate controller javascripts Ora apriamo javascripts_controller.rb e inseriamo un metodo come segue:
# javascripts_controller.rb
@user = current_user
end
A questo punto nulla di più semplice creiamo un file admin.js.erb in /views/javascript/ e scriviamo:
//admin.js.erb
<% if @useradmin? %>
alert'Benvenuto Amministratore'
<% end %>
Infine dobbiamo creare una rotta in modo tale che quando scriveremo nel nostro browser una rotta che permetta l'interpretazione del nostro nuovo JavaScript
map.connect 'javascripts/:action.:format', :controller => 'javascripts'
Bene, se punterete il vostro browser in http://localhost:3000/admin.js dovreste vedere il codice se siete "amministratori".
Ovviamente questo è un codice d'esempio che spiega a grandi linee uno scenario di utilizzo... il resto spetta a voi e ricordate che come per le pagine html se ci sono 2 file con lo stesso nome nelle viste e nella directory public hanno precedenza i file che si trovano in public, ciò significa che se avete già un file in /public/javascripts/admin.js ha precedenza su quello che avete in /views/javascripts/admin.js.erb
Buon divertimento e se avete qualche consiglio da darmi non esitate!
Thin: un velocissimo server web per Ruby on Rails

Volevo informarvi che finalmente abbiamo a disposizione un "nuovo" server web, Thin la sua fatures più interessante (la notate nel grafico) è che rispetto a Mongrel è molto più veloce.
Thin è basato su 3 librerie:
- Mongrel parser che fornisce velocità e sicurezza
- Event Machine, una libreria network I/O che è molto scalabile, performante e stabile
- Rack, una interfaccia minimale tra webserver e Ruby frameworks
Bene, ora non vi resta che installarlo cosi:
sudo gem install thin e inizializzarlo così
cd /directory/rails/app
thin start oppure se necessitate di configurazione per ambienti di produzione potete usare Rack rackup. Create un file config.ru e scrivete:
require 'thin'
app = proc do |env|
[ 200, { 'Content-Type' => 'text/html' }, ['hi'] ]
end
run app Per avviarlo invece basterà
rackup -s thin Rilasciato Rails 2.0.2
Leggo che è stato rilasciato Rails 2.0.2, una piccola update del nostro amato framework nella sua versione più affascinante... La 2.
Questo aggiornamento apporta miglioramenti, in termini di stabilita, sicurezza e correzzione bug.
Vediamo brevemente un elenco delle modifiche apportate:
SQLite3 è il nuovo database di default
questa dicono che è la funzione più importante apportata... il motivo? Semplice, oltre ad essere più veloce operare su db SQLite, ha il suo peso il fatto che è installato di default in Leopard, il quale è già provvisto di tutte le gemme per farlo funzionare correttamente. Considerando che ad oggi l'editor più utilizzato dai Railsiti è TextMate e che questo è disponibile solo per piattaforme mac la dice lunga sul perché di questa modifica.
Migliorate le performance su I/O.
E' stata aggiunta una nuova riga (di default) in config/enviroments/production.rb
In questo modo, rails evita di verificare ogni volta se ci sono stati cambiamenti ai nostri template, riducendo le richieste I/O riducendo (drasticamente solo nel caso avete un server datato) i tempi di esecuzione.config.action_view.cache_template_loading = true
Ricordatevi che dopo questa modifica per vedere correttamente i template, non basta più fare un commit, ma dovrete riavviare il vostro server web.
Bene bene bene... direi che possiamo installarla no?
Quindi digitate semplicemente
gem install railsDi segutio trovate il changelog... le modifiche non son mica finite...
oppure se avete problemi
gem install rails --source http://gems.rubyonrails.org
CHANGELOG RAILS 2.0.2
Action Pack
Added delete_via_redirect and put_via_redirect to integration testing #10497 [philodespotos]
Allow headers[‘Accept’] to be set by hand when calling xml_http_request #10461 [BMorearty] Added OPTIONS to list of default accepted HTTP methods #10449 [holoway]
Added option to pass proc to ActionController::Base.asset_host for maximum configurability #10521 [chuyeow]. Example:
ActionController::Base.asset_host = Proc.new { |source| if source.starts_with?(’/images’) “http://images.example.com” else “http://assets.example.com” end }
Fixed that ActionView#file_exists? would be incorrect if @first_render is set #10569 [dbussink]
Added that Array#to_param calls to_param on all it’s elements #10473 [brandon] Ensure asset cache directories are automatically created. #10337 [Josh Peek, Cheah Chu Yeow]
render :xml and :json preserve custom content types. #10388 [jmettraux, Cheah Chu Yeow]
Refactor Action View template handlers. #10437, #10455 [Josh Peek]
Fix DoubleRenderError message and leave out mention of returning false from filters. Closes #10380 [Frederick Cheung] Clean up some cruft around ActionController::Base#head. Closes #10417 [ssoroka]
Active Record
Ensure optimistic locking handles nil #lock_version values properly. Closes #10510 [rick]
Make the Fixtures Test::Unit enhancements more supporting for double-loaded test cases. Closes #10379 [brynary]
Fix that validates_acceptance_of still works for non-existent tables (useful for bootstrapping new databases). Closes #10474 [hasmanyjosh]
Ensure that the :uniq option for has_many :through associations retains the order. #10463 [remvee]
Base.exists? doesn’t rescue exceptions to avoid hiding SQL errors. #10458 [Michael Klishin]
Documentation: Active Record exceptions, destroy_all and delete_all. #10444, #10447 [Michael Klishin]
Active Resource
Added more specific exceptions for 400, 401, and 403 (all descending from ClientError so existing rescues will work) #10326 [trek]
Correct empty response handling. #10445 [seangeo]
Active Support
Ruby 1.9 compatibility. #1689, #10466, #10468 [Cheah Chu Yeow, Pratik Naik, Jeremy Kemper]
TimeZone#to_s uses UTC rather than GMT. #1689 [Cheah Chu Yeow]
Refactor of Hash#symbolize_keys! to use Hash#replace. Closes #10420 [ReinH]
Fix HashWithIndifferentAccess#to_options! so it doesn’t clear the options hash. Closes #10419 [ReinH]
Rails
Changed the default database from mysql to sqlite3, so now running “rails myapp” will have a config/database.yml that’s setup for SQLite3 (which in OS X Leopard is installed by default, so is the gem, so everything Just Works with no database configuration at all). To get a Rails application preconfigured for MySQL, just run “rails -d mysql myapp” [DHH]
Turned on ActionView::Base.cache_template_loading by default in config/environments/production.rb to prevent file system stat calls for every template loading to see if it changed (this means that you have to restart the application to see template changes in production mode) [DHH]
Introduce `rake secret` to output a crytographically secure secret key for use with cookie sessions #10363 [revans]
Fixed that local database creation should consider 127.0.0.1 local #9026 [parcelbrat] Fixed that functional tests generated for scaffolds should use fixture calls instead of hard-coded IDs #10435 [boone]
Added db:migrate:redo and db:migrate:reset for rerunning existing migrations #10431, #10432 [matt]
RAILS_GEM_VERSION may be double-quoted also. #10443 [James Cox] Update rails:freeze:gems to work with RubyGems 0.9.5. [Jeremy Kemper]
Archivio post: 1 2
Categories
- Altro (17)
- Comunicati Stampa (2)
- Fedora (1)
- Linux (17)
- Mac (45)
- Ruby (20)
- Ruby on Rails (39)
- Tutorials (20)
- Windows (13)
Archivi
- October 2008 (1)
- June 2008 (1)
- May 2008 (5)
- April 2008 (2)
- March 2008 (1)
- January 2008 (3)
- December 2007 (5)
- November 2007 (5)
- October 2007 (9)
- September 2007 (1)