Développeur Web RoR

Aller au contenu | Aller au menu | Aller à la recherche

mardi 31 janvier 2012

Text : le gem qui contient un liste d'algorithme de chaine (distance de levenshtein, Soundex, Metaphone,...)

Le gem ruby text rend disponible certains algorithmes pour les chaines de caractères (Soundex, levenshtein, Metaphone). Ce rubygem peut-être pratique pour connaitre les similitudes entre deux chaines (levenshtein). A retenir !

Pour info : 

Soundex : est un algorithme phonétique d'indexation de noms par leur prononciation en anglais britannique (http://fr.wikipedia.org/wiki/Soundex)

Levenshtein : mesure la similarité entre deux chaînes de caractères. (http://fr.wikipedia.org/wiki/Distance_de_Levenshtein)

Metaphone : est un algorithme phonétique, algorithme pour indexer les mots selon leur sonorité lorsque prononcé en anglais. (http://fr.wikipedia.org/wiki/Metaphone)

mercredi 25 janvier 2012

Créer une application rubyonrails avec une version spécifique de rails

Comment faire pour utiliser une version spécifique de rails ? Ce n'est pas très compliqué : rails _VERSION_.

Exemples 

rails _3.0.7_ new myapp

rails _3.1.3_ new myapp

rails _3.2.0_ new myapp

Pour connaitre les versions de rails installées sur le système il suffit de faire :

gem list rails

Le but était pour moi de vérifier les différences entre des squelettes d'appli rails sous différentes versions. N'oubliez pas : "meld" pour faire des diff de fichiers sous linux c'est top.

lundi 23 janvier 2012

Les ressources / articles web dev de ces derniers jours

Voici les quelques ressources que j'ai trouvé intéressante ces derniers jours (ça fait office de post-it en ce qui me concerne).

Framework html / css / js : http://www.99lime.com/

jQuery highlighter de code (marche avec Ruby !) : http://steamdev.com/snippet/

Utilisation de VIM : tutorial découverte par Synbioz : http://www.synbioz.com/blog/2012/01/18/l_utilisation_de_vim

Impress.js (Sur la ferme du web) : http://www.lafermeduweb.net/billet/impress-js-creez-des-presentations-de-type-prezi-en-javascript-1273.html

User interface Futurico (attention payant, mais peut être une bonne source d'inspi !) : http://www.behance.net/gallery/Futurico-User-Interface-Pro/2650227

Autre user interface : http://www.webdesignerdepot.com/2012/01/free-download-balio-web-ui-kit/

Inspiration de design web : http://www.queness.com/community-news/10453/30-beautiful-web-design-examples-from-behance-and-deviantart

En espérant que cette petite compilation vous servira...

vendredi 13 janvier 2012

Faire un zip d'une arborescence en ruby avec rubyzip

Donc le petit code cadeau du jour : faire un zip d'une arborescence en ruby (1.8 et 1.9) avec rubyzip.

require 'rubygems'
require 'zip/zip'
require 'zip/zipfilesystem'
# Dossier à explorer
rootdir = "Mon_dossier"
base_path = [rootdir]
base_zip_path = [rootdir]
# Fonction qui explore une arborescence et ajoute les fichiers dans un zip
def explore_and_add(zipf, pathrep, zippathrep)
  zipf.mkdir(File.join(zippathrep))
  
  (Dir.entries(File.join(pathrep)) - ['.', '..']).each{ |entry|
    diskpath = File.join(pathrep, entry)
    if not File.directory?(diskpath) then
      # Ajoute le fichier dans le zip avec la même structure
      zipdiskpath = File.join(pathrep, entry)
      puts diskpath
      zipf.add(
        diskpath,
        zipdiskpath
      )
    else
      # Ajoute le répertoire et descend dans l'arborescence
      pathrep << entry
      zippathrep << entry
      zipf = explore_and_add(zipf, pathrep, zippathrep)
      pathrep.delete_at(-1)
      zippathrep.delete_at(-1)
    end
  }
  return zipf
end
filename = "zip_" + Time.now.to_i.to_s + ".zip"
Zip::ZipFile.open(filename, Zip::ZipFile::CREATE) { |zipfile|
  zipfile = explore_and_add(zipfile, base_path, base_zip_path)
}

mercredi 14 décembre 2011

Timecop : le gem qui permet de voyager dans le temps et le stopper comme Hiro Nakamura

Timecop est donc un gem qui permet de voyager dans le temps et le stopper. De la même manière que FakeWeb, j'ai découvert Timecop sur http://railscasts.com/episodes/276-testing-time-web-requests?view=asciicast

Page de doc et source : https://github.com/jtrupiano/timecop

Très pratique pour les tests, mais également pour effectuer des simulations utilisant le temps.

Article à lire sur les mocks (http://fr.wikipedia.org/wiki/Mock_(programmation_orient%C3%A9e_objet)).

Bon code.

mardi 13 décembre 2011

Puts ne vous suffit plus, pretty print pp est là

Quand on n'utilise pas de débuggeur, Puts est très pratique. Il peut également être intéressant de pretty_printer dans un fichier :

require 'pp'

# Pour afficher en console (ou dans le log du serveur en dev)

pp la_variable

# De cette manière vous pouvez écrire dans le fichier "un_fichier.txt" (pratique pour comparer des fichiers avec meld après...)

# 100 représente la longueur des lignes dans le fichier texte en nombre de caractères.

PP.pp(la_variable, File.open("un_fichier.txt","w"),100)

C'était l'astuce Ruby du mardi matin !

vendredi 9 décembre 2011

FakeWeb : un gem qui permet de simuler une réponse via Net::http en ruby

Le gem est apparu dans un railscast, il n'y a pas longtemps.

Voici la doc : http://fakeweb.rubyforge.org/ qui est très bien faites d'ailleurs. Pratique pour les tests unitaires et fonctionnels de méthode qui utilise une API distante.

Article à lire sur les mocks (http://fr.wikipedia.org/wiki/Mock_(programmation_orient%C3%A9e_objet)).

Bon code.

- page 1 de 11