Le 23 septembre 2008 12:02, Nicolas G a écrit :
> sur une application en cours j'ai ajouté mon propre agenda relativement
> simple
> 15 minutes par rdv sur des plages horaires définies, pas plusieurs rdv à une
> même heure ...
>
> actuellement je sors une vue dans laquelle :
> je recueille tous les rdv du jour
> j'incrémente ensuite chaque 15 minutes (et au bout de 3 chaque heure bien
> sur :-) )
> à chaque incrémentation je teste si il existe un rdv corespondant
> auquel cas je l'affiche
> sinon le rdv est indiqué libre (avec un appel possible vers un partiel
> et variable locale)
>
> ce qui me donne une liste tout comme il faut
> néammoins je fais sur un petit serveur ( PPC 2x 450 Mhz) et pour trois
> journées cela le met à genou pour 4-5 sec alors en production sur 5-6 postes
> ...(même si le serveur sera plus costaud)
> existe -il un algo plus élégant et donc moins gourmand ?
Pour paraphraser Renaud, "du code vaut mieux qu'un long baratin",
surtout que je ne suis pas sûr d'avoir bien compris (on affiche les rdvs
du jour ou les rdvs de 3 journées ?)
Pour corriger un algo, ça peut aider que tu exhibes le code qui va avec.
Bon on va supposer que c'est pour les rdvs d'un jour, on a rdvs, les rdvs
d'un jour. On peut passer par un hash.
On a une méthode d'instance:
class Rendezvous < AR::B
def plage_horaire
# retourne par exemple la plage horaire sous forme de clé :'09h15'
end
end
hash = rdvs.index_by(&:plage_horaire)
Avec hash[:'09h15'], j'ai soit un rdv soit nil.
Donc quand je parcours mes plages horaires, il me suffit d'examiner
hash avec la bonne clé.
" je teste si il existe un rdv corespondant auquel cas je l'affiche"
on sait pas trop comment tu fais ça, puisqu'on n'a pas le code, mais
en supposant que ça équivaut à un rdvs.include? ... c'est en O(n)
alors que mon hash lookup est (normalement) en O(1).
Si tu affiches les rdvs de plusieurs jours alors la clé doit contenir
comme information le jour.
> est-il possible d'afficher un lien
avec <a href=... ?
> pour voir les trois jours suivant et ainsi de suite ? j'ai pensé utiliser
T'affiches les rdvs d'un jour ou les rdvs du jour (aujourd'hui ?)
si pour afficher les rdvs d'un jour, ton appli a une url qui porte
l'information de la date, que ce soit dans le query string ou pas,
t'as la date et tu peux générer facilement des urls pour date +1, date + 2...
> une variable date dans session mais est-ce correct d'utiliser la
> session pour cela ?
C'est possible. T'en as pas besoin si c'est dans l'url,
par exemple les urls de blog : /posts/2008/09/23
-- Jean-François.
--
ça dépend
http://twitter.com/underflow_
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---