Les splat en Ruby, l'équivalent des kwargs en python
TIL what is this offical repository :
Only debian with some useful package to build dependencies (needed when you install some gem for example)
For example ruby:2.3 Dockerfile use a buildpack-deps image
Summary: In general, after making a change to the Gemfile(5) , you should first try to run bundle install, which will guarantee that no other gem in the Gemfile(5) is impacted by the change. If that does not work, run bundle update(1).
Enfin trouvé la solution à mon probleme d'encoding :
incompatible character encodings utf-8 and ascii-8bit
Tout ça a cause d'un bug de la gem mysql qui pense que certaines chaines récupérées en base sont encodée en ascii-8bit alors que pas du tout.. La solution est simple : utiliser la gem mysql2 à la place qui résout ce probleme. Ce genre de bug rend fou car on a beau chercher une logique, il n'y en a pas, bref merci Google :-)
Ok intéressant, gestion des gem, freeze, avec bundle
Really cool :)
Good to know about accept language format :
Example : fr,en-US;q=0.7,en;q=0.3
q value is between 0 and 1 (default value is 1)
the bigger it is the the higher is the priority to select a language
Here client says :
I prefer fr (q=1)
Then en-US (q=0.7)
Then..
Une surcouche pour utiliser selenium-webdriver
L'appel d'une fonction peut se faire avec ou sans parenthèse :
foo() ou foo
Ensuite, un Hash peut avoir plusieurs formes..
{'a' => 12}
où 'a' peut être n'importe quoi : string (comme ici), mais aussi objet,
symbol : exemple :
{:a => 12}
La nouvelle syntaxe, valable uniquement si les clés sont des symboles :
{a: 12, b: 'toto'}
Et enfin quand on call une méthode qui peut prendre un hash en argument (entre autre), pas besoin de mettre les { }
foo({a: 12, b:14})
ou
foo(a: 12, b:14)
ou
foo a: 12, b:14
How to make --no-ri --no-rdoc the default for gem install?
.gemrc :
gem: --no-document
errs = []
def test_server(errs, server)
lambda do |options|
begin
server =~ /(.+)@(.+)/
server_name, user = $2, $1
puts server_name
s = Net::SSH.start(server_name, user)
s.close
s = server
rescue Errno::EHOSTUNREACH, SocketError
puts "echec connexion #{server} : #{$!}"
errs << server
s = nil
end
return s
end
end
Net::SSH::Multi.start(:on_error => :warn) do |session|
session.use &test_server(errs, 'root@srv-04')
session.use &test_server(errs, 'root@srv-07')
session.use &test_server(errs, 'root@srv-08')
session.use &test_server(errs, 'root@fail-08.local')
session.exec( "hostname" )
session.loop
end
unless errs.empty?
puts "The command failed on #{errs.size} hosts"
end
Pour avoir ruby compilé readline (en installant avec rbenv)
Tuto interactif pour commencer avec ruby on rails
framework web ruby
Pour faire tourner des appli ruby on rails en prod
C'est parti pour un peu de ruby. Pourquoi ? Puppet, Redmine, Ruby inside
Note perso : le ruby c'est trop what the fuck comme langage.
Je comprends pas, d'après les ruby man : "Ruby est un langage open-source dynamique qui met l'accent sur la simplicité et la productivité. Sa syntaxe élégante en facilite la lecture et l'écriture."
Elégante et facilite la lecture et l'écriture... pour moi c'est tout l'inverse, j'ai jamais autant galéré à lire du code.. Peut-être que je suis trop habitué à lire du code pas élégant et pas facile à lire T_T
C'est parti, encore un langage.. Moi qui voulait me mettre à Python sérieusement, je ne pourrais pas tout faire. Pourquoi ruby ? Puppet/Redmine.