Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 7 sur 310 PremièrePremière 1234567891011121314151757107 ... DernièreDernière
Affichage des résultats 181 à 210 sur 9277
  1. #181
    En fait une vue c'est juste un alias, un peu comme un #define ou un typedef en C.

    Si j'écris "CREATE VIEW prout AS plein_de_trucs_compliqués..." et ensuite "SELECT * FROM prout", c'est exactement comme si j'écrivais "SELECT * FROM plein_de_trucs_compliqués".
    Il n'y a aucune mise en cache ni rien, c'est juste pour faciliter la vie du programmeur.
    Rust fanboy

  2. #182
    Ca n'empêche pas des mises en cache si le SGBD est bien fait. Et puis ta vue est certainement compilée et optimisée, tandis qu'une requête pas forcément.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  3. #183
    Justement je crois avoir lu que Postgree mettait en cache les résultats des vues dans les version antérieures, mais ça a été supprimé car ça causait vraiment trop de problèmes.
    Rust fanboy

  4. #184
    T'aurais pas intérêt à demander chez les barbus d'en face ?
    Les devs web risquent d'avoir en majorité une expérience limitée en sgbd. MySql suffit pour 90% des sites.

  5. #185
    Citation Envoyé par Tomaka17 Voir le message
    En fait une vue c'est juste un alias, un peu comme un #define ou un typedef en C.
    Et dernière question de noob, les vues, tu les crées en même temps que tes tables via PhpMyAdmin ou tu les déclares en début de code ?

  6. #186
    Non, ça se stocke une fois pour toute dans la base de données.
    Rust fanboy

  7. #187
    Citation Envoyé par Mdt Voir le message
    T'aurais pas intérêt à demander chez les barbus d'en face ?
    Les devs web risquent d'avoir en majorité une expérience limitée en sgbd. MySql suffit pour 90% des sites.
    On peut pas être dév Web et barbu ? Et tiens, pendant que j'y suis, le niveau moyen en SQL des développeurs Desktop est pas beaucoup plus flambard, loin de là.

    Tomaka >> Les vues sont effectivement compilées, et pour leur exécution (comme celle de toutes les requêtes SQL) un planificateur de requête définit la méthode optimale (utilisation d'index ou accès séquentiel, ordre des sous-requêtes etc.) pour obtenir les meilleures performances. Pour que le planificateur fonctionne correctement, il faut donc que Postgres dispose de statistiques à jour sur tes tables (nombre d'enregistrements notamment), et du fait du coût en processeur, il ne collecte pas de lui-même ces statistiques. Cela se fait en lançant la commande ANALYZE ou VACUUM ANALYZE à partir du back-end, et l'idéal est d'automatiser cette tâche d'administration dans un cron lancé quotidiennement. Si tu ne l'as jamais fait, les résultats peuvent être spectaculaires.

    A noter que PgAdmin affiche de manière graphique le résultat du planificateur de requêtes, ce qui est extrêmement pratique.

    Pour ce qui est de l'architecture de ton appli, tout passer en couches de vues n'est peut-être pas la meilleure idée. Il y a deux outils que tu n'as pas exploités, et qui peuvent la simplifier et améliorer les performances : les procédures stockées et les tables temporaires. Tu peux utiliser les premières pour renvoyer une valeur (comme une fonction) ou un enregistrement (comme une vue). Les secondes peuvent durer tout le temps de la session ou de la transaction, et stocker des résultats intermédiaires. Et comme il est possible d'utiliser les secondes dans les premières, il y a vraiment moyen je pense d'arriver à quelque chose de satisfaisant.

  8. #188
    J'ai le autovacuum d'activé, donc a priori ça devrait le faire à ce niveau là.

    Côté PGAdmin, j'ai rééssayé ce logiciel selon tes conseils et c'est vrai que c'est finalement pas dégeu. Par contre j'ai pas trouvé comment afficher le résultat du planificateur (en fait y a plein de trucs dont j'ai aucune idée de l'utilité, comme les certifications de sécurité, les modèles/analyseurs/dictionnaires FTS, XACT, etc. donc si ça se trouve c'est un de ces trucs).


    Après en ce qui concerne la formule, disons que là maintenant c'est en place, c'est testé et approuvé dans tous les sens, et je la sens moyen de modifier ça.
    Pour rappel j'ai pas dit que j'avais des problèmes de perf hein, j'ai juste mis ça sur la table pour vanter les louanges de postgre qui avait divisé par 40 le temps de calcul global
    En fait quand un mec envoie ses inputs, ça vide le cache côté PHP, et du coup il faut une seconde de calcul. Mais ça se fait quelque chose comme une fois par mois et par salarié (et ils sont pas très nombreux car cela ne concerne qu'une partie d'entre eux), donc je pense que cette seconde n'est pas très time-killing.
    Rust fanboy

  9. #189
    J'avais mal compris. Une seconde, ça va alors.

    Ceci dit, les conseils que j'ai donnés ne valent pas seulement pour l'amélioration des performances, mais aussi pour simplifier le schéma et faciliter ainsi la maintenance et les évolutions. Le problème de tout faire avec des vues inter-dépendantes, c'est que quand tu dois modifier ton schéma de base, ça devient vite problématique... Faut pas hésiter à utiliser toute la panoplie qu'offre Postgres.

  10. #190
    Tant qu'on est dans les SGBD, j'ai du mal à comprendre l'intérêt de la contrainte "exclude" (tout en bas du lien), à part des cas bizarres à base de circle comme dans l'exemple.

    Si tu mets (EXCLUDE colonne USING ==), c'est équivalent à une contrainte UNIQUE.
    Mais sinon, quel opérateur tu pourrais mettre à la place de == ? Si tu mets != ça veut dire que toutes les valeurs doivent être les mêmes, donc aucun intérêt.
    Si tu mets <, <=, >, >= ça marche certainement pas vu que l'ordre de comparaison n'est pas précisé, donc il faut forcément un opérateur qui donne le même résultat quel que soit l'ordre des opérandes.
    Rust fanboy

  11. #191
    Il n'y a pas que ces opérateurs, il y a aussi les opérateurs géométriques. C'est d'ailleurs l'exemple donné dans la doc que tu cites, la contrainte d'exclusion avec l'opérateur && (overlaps) empêche d'avoir en tables deux circles ayant une intersection.

  12. #192
    A rajouter dans les outils : CasperJS. Ce truc est magique pour faire des tests fonctionnels.

  13. #193
    Citation Envoyé par hijopr Voir le message
    A rajouter dans les outils : CasperJS. Ce truc est magique pour faire le travail des chefs de projet.
    Fixed


  14. #194
    Citation Envoyé par tenshu Voir le message
    Fixed
    Haha c'est pas faux

  15. #195
    Tiens sinon j'ai un petit problème à résoudre

    J'ai une appli (en fait celle dont on parle depuis 10 pages) en REST, et je sais qu'on va me demander d'écrire une petite page web dont le but sera de charger des données XML en AJAX, de les charger dans un formulaire HTML, et quand on clique sur "sauvegarder" de reconvertir ce formulaire en XML et de le réenvoyer en AJAX.

    Je pense que la méthode la plus simple sera de faire ça à la main (c'est à dire j'écris le formulaire à la main, le code jquery à la main), mais je me dis : quitte à faire ça, autant le faire proprement.

    Du coup je me suis un peu intéressé à XForms, dont le but exact est de faire ça.
    Il suffit théoriquement d'écrire un fichier XForms de ce genre :
    Code:
    <model>
      <instance src="/données/source.xml" />
      <submission method="put" target="/données/source.xml" />   <!-- syntaxe approximative -->
    </model>
    <input ref="/champs1"><label>Champs 1</label></input>
    <input ref="/champs2"><label>Champs 2</label></input>
    <input ref="/champs3"><label>Champs 3</label></input>
    Et le navigateur va automatiquement charger "/données/source.xml", remplir le formulaire, et tout et tout. Bref, exactement ce que je veux.
    Sauf qu'aucun navigateur ne supporte XForms. Du coup, n'existerait-il pas une solution (server side ou client side ou peu importe tant que ça marche) qui me permettrait par exemple de transformer mon XForms en HTML.
    J'ai vite fait essayé ce truc, mais il n'a pas l'air de supporter l'attribut src="" de <instance>.
    Rust fanboy

  16. #196
    Vu que tu utilises du Javascript pour envoyer et recevoir la réponse de ta requête AJAX, autant faire les choses bien et récupérer la réponse en json au lieu du XML.
    Et sinon, AngularJS devrait répondre à ta question.

  17. #197
    Citation Envoyé par Skiant Voir le message
    Vu que tu utilises du Javascript pour envoyer et recevoir la réponse de ta requête AJAX, autant faire les choses bien et récupérer la réponse en json au lieu du XML.
    Et sinon, AngularJS devrait répondre à ta question.
    Ouai enfin à la base c'est surtout une application déjà créée qui utilise le XML, jvais pas la modifier juste pour ça.

    AngularJS a l'air pas mal, mais apparemment y a rien de prévu pour le XML.
    Cela dit c'est effectivement pas une mauvaise idée de rajouter des attributs <input bind="//champs1" /> avec une fonction javascript "inject()".
    Evidemment pour une seule page ça ne fait pas trop gagner de temps, mais c'est élégant.
    Rust fanboy

  18. #198
    Parser du XML avec du JS c'est quand même bien relou. Le faire directement en JS brut, ça craint vu les différences d'implémentations, et le parsing avec jQuery est à peine meilleur.

    Tu peux pas avoir une modification mineure dans ton appli, avec un flag dans la requête pour qu'elle réponde avec du JSON à la place du XML ?
    Sinon, tu peux aussi utiliser des attributs "data-xxx" pour faire correspondre tes données avec les champs que tu récupères de façon plus rapide :

    Code:
    <input data-binding="fieldName">
    Code:
    $('#formId').find('input').each(function(){
        var fieldName = $(this).data('binding');
        $(this).val(responseData[fieldName]);
    });
    Dernière modification par Skiant ; 03/11/2012 à 23h56.

  19. #199
    La patern MVVM c'est assez fun je trouve


  20. #200
    Citation Envoyé par Skiant Voir le message
    Parser du XML avec du JS c'est quand même bien relou. Le faire directement en JS brut, ça craint vu les différences d'implémentations, et le parsing avec jQuery est à peine meilleur.

    Tu peux pas avoir une modification mineure dans ton appli, avec un flag dans la requête pour qu'elle réponde avec du JSON à la place du XML ?
    Sinon, tu peux aussi utiliser des attributs "data-xxx" pour faire correspondre tes données avec les champs que tu récupères de façon plus rapide :

    Code:
    <input data-binding="fieldName">
    Code:
    $('#formId').find('input').each(function(){
        var fieldName = $(this).data('binding');
        $(this).val(responseData[fieldName]);
    });
    Vu que c'est du REST, je pourrais renvoyer du JSON à la place du XML mais plutôt en traitant l'en-tête Accept.
    Après je vais peut être éviter, car avoir deux formats de données pour la même chose c'est un peu de la bidouille.

    Je trouve le parsing par jquery très bien, en fait il lui manque juste les namespaces mais il y a une extension pour ça.

    Code:
    <xml>
       <champs1>bonjour</champs1>
    </xml>
    Code:
    <input data-binding="xml champs1">
    Code:
    var xml = $.load('fichier.xml');
    $('#formId').find('input').each(function(){
        var fieldName = $(this).data('binding');
        $(this).val($(fieldName, xml).text());
    });
    Rust fanboy

  21. #201
    Pourquoi tu ne gères pas tout cela avec XSLT, piloté par javascript ?

  22. #202
    Ben là j'ai pas encore commencé à bosser dessus, j'anticipe juste comment je vais faire

    En fait je croyais que xsltforms ne supportait pas le <instance src="">, mais en fait il y a apparemment un .js à insérer manuellement.
    Rust fanboy

  23. #203
    Hello les canards, j'ai besoin de conseil.

    Un ami me demande de faire un site internet. Il veut que je fasse un site avec une prise en main d'une très, très grande facilité. (si il veut rajouter des pages plus tard, sans qu'il ne passe par moi).
    Dans son idée, se serait un site clé en main. Alors j'ai fais des recherches. Je suis tombé sur www.wix.com
    Les design sont sympa, le tarif est caché, ça à l'air d'être du flash du coup quid total sur le référencement... et des prix.. mais l'idée de manipulation du site est vraiment bien fait..

    Bref, que me conseillez-vous?

    edit: mes connaissances en site web sont assez faible.. Je ne connais que la base. HTML, CSS. je commence le javascript avec le site: www.siteduzero.com
    Fujifilm X-E2, 18-55 mm, autre cailloux à venir...
    http://www.flickr.com/photos/dreffan

  24. #204
    Je te conseille un wordpress.
    Pas confiance dans les solutions clé en main, même si je ne connais pas celle que tu cites.

  25. #205
    Citation Envoyé par Mdt Voir le message
    Je te conseille un wordpress.
    Pas confiance dans les solutions clé en main, même si je ne connais pas celle que tu cites.
    +1, Wordpress avec un thème gratuit ou commercial, éventuellement légèrement modifié (tu devrais t'en sortir plus que correctement avec tes connaissances en HTML/CSS) et ça ira comme sur des roulettes.

  26. #206
    Un nouveau working draft pour les grid css mega-

    Et ce qui est génial là dedans c'est que comme IE10 supporte déjà plus ou moins ça, on aura moins longtemps à attendre avant de les utiliser.
    Rust fanboy

  27. #207

  28. #208
    Citation Envoyé par Tomaka17 Voir le message
    En fait je croyais que xsltforms ne supportait pas le <instance src="">, mais en fait il y a apparemment un .js à insérer manuellement.
    XSLTForms est basé sur XSLT pour transformer les éléments XForms en balises HTML et en instructions Javascript.

    XSLTForms supporte effectivement instance/@src.

    Il faut donc insérer une processing-instruction pour que la transformation soit effectuée par le navigateur si celle-ci n'est pas, auparavant, appliquée côté serveur.

    -Alain

  29. #209
    Citation Envoyé par AlainCouthures Voir le message
    XSLTForms est basé sur XSLT pour transformer les éléments XForms en balises HTML et en instructions Javascript.

    XSLTForms supporte effectivement instance/@src.

    Il faut donc insérer une processing-instruction pour que la transformation soit effectuée par le navigateur si celle-ci n'est pas, auparavant, appliquée côté serveur.

    -Alain
    J'ai retesté et effectivement ça marche.
    En fait je pensais que ça ne marchait pas car le chargement du fichier XML qu'on met dans <instance src=""> n'est pas affiché dans Firebug, ce qui est d'ailleurs bizarre.

    Je me suis un peu amusé avec et effectivement c'est vraiment pas mal

    Par contre en ouvrant cet exemple avec chrome, j'ai une erreur au niveau du Javascript (une variable qui est null et qui ne devrait certainement pas l'être).
    J'ai remarqué ça parce que j'ai essayé d'utiliser <repeat> et j'obtiens exactement la même erreur même sous firefox.
    Rust fanboy

  30. #210
    Citation Envoyé par Tomaka17 Voir le message
    Un nouveau working draft pour les grid css mega-

    Et ce qui est génial là dedans c'est que comme IE10 supporte déjà plus ou moins ça, on aura moins longtemps à attendre avant de les utiliser.
    Je suis pas super méga emballé après 2 lectures.


Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •