Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
7414 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  1175  1176  1177  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°2123412
gatsu35
Blablaté par Harko
Posté le 26-01-2012 à 10:53:43  profilanswer
 

Reprise du message précédent :
Tu lui dis de faire un replace de 3 d'entre eux, pour faire un replaces des 3 premiers, tu passes aussi par une regexp (enfin en JS c'est comme ça).
J'avais oublié que le PHP était un langage pour les prolos :o


---------------
Blablaté par Harko
mood
Publicité
Posté le 26-01-2012 à 10:53:43  profilanswer
 

n°2123426
skeye
Posté le 26-01-2012 à 11:29:43  profilanswer
 

gatsu35 a écrit :

Tu lui dis de faire un replace de 3 d'entre eux, pour faire un replaces des 3 premiers, tu passes aussi par une regexp (enfin en JS c'est comme ça).
J'avais oublié que le PHP était un langage pour les prolos :o


 
str_replace fait ça très bien en une ligne compréhensible par le premier bozo venu.[:dawak]
Mais tu dois avoir raison, c'est parce-que php c'est nul.[:doc petrus]


---------------
Can't buy what I want because it's free -
n°2123428
FlorentG
Posté le 26-01-2012 à 11:46:51  profilanswer
 

skeye a écrit :

str_replace fait ça très bien en une ligne compréhensible par le premier bozo venu.[:dawak]


Et c'est la méthode la plus rapide, str_replace + explode sur un seul token. Surtout si le texte est grand, genre recommendation HTML4 au format texte, c'est presque 2x plus rapide que preg_split.  
 
Sur des petits textes par contre, la différence est négligeable. A voir suivant taille/nombre.

n°2123440
skeye
Posté le 26-01-2012 à 13:33:09  profilanswer
 

FlorentG a écrit :


Et c'est la méthode la plus rapide, str_replace + explode sur un seul token. Surtout si le texte est grand, genre recommendation HTML4 au format texte, c'est presque 2x plus rapide que preg_split.  
 
Sur des petits textes par contre, la différence est négligeable. A voir suivant taille/nombre.


Si c'est à peu près aussi rapide et plus compréhensible, je vois pas pourquoi on se fait chier à discuter.[:dawak]


---------------
Can't buy what I want because it's free -
n°2123447
FlorentG
Posté le 26-01-2012 à 14:05:28  profilanswer
 

skeye a écrit :

Si c'est à peu près aussi rapide et plus compréhensible, je vois pas pourquoi on se fait chier à discuter.[:dawak]


Exactement [:petrus75]

n°2123450
Paulp
~, sweet ~
Posté le 26-01-2012 à 14:16:09  profilanswer
 

Mon point de vue de lurker :

  • Si la propreté du code prime, on utilise une regexp : c'est fait pour, ça marche en une ligne, ...
  • Si la compréhension par les anti-regexp prime, on utilise une regexp avec un petit commentaire pour expliquer ce qu'elle fait. Si vous avez des collègues qui ne parlent pas SQL, vous stockez tout en CSV pour qu'ils puissent comprendre le code ?
  • Si les performances priment, on fait une boucle caractère par caractère, pour éviter de parcourir 4 fois la chaîne de caractères

n°2123452
skeye
Posté le 26-01-2012 à 14:24:05  profilanswer
 

Paulp a écrit :

Mon point de vue de lurker :

  • Si la propreté du code prime, on utilise une regexp : c'est fait pour, ça marche en une ligne, ...
  • Si la compréhension par les anti-regexp prime, on utilise une regexp avec un petit commentaire pour expliquer ce qu'elle fait. Si vous avez des collègues qui ne parlent pas SQL, vous stockez tout en CSV pour qu'ils puissent comprendre le code ?
  • Si les performances priment, on fait une boucle caractère par caractère, pour éviter de parcourir 4 fois la chaîne de caractères


  • En quoi la regexp est plus propre? Parce-que ça le fait en une ligne et pas deux?[:pingouino dei]
  • Super exemple, c'est exactement le même style de substitution, un échange SGBD=>CSV, par rapport à un choix entre différentes fonctions de manipulations de chaines de caractères.[:el g]
  • Lolzor. Une extension PHP pour y ajouter un explode qui prend un array de caractères délimiteurs, tant que t'y es.


---------------
Can't buy what I want because it's free -
n°2123454
FlorentG
Posté le 26-01-2012 à 14:28:19  profilanswer
 

Paulp a écrit :

  • Si les performances priment, on fait une boucle caractère par caractère, pour éviter de parcourir 4 fois la chaîne de caractères

Connaissant PHP, ça sera malheureusement la solution la plus lente. Ça fonctionnerait sous forme d'extension (en C donc), mais le code PHP étant tellement plus lent que le code natif [:sadnoir]
 

skeye a écrit :

  • Lolzor. Une extension PHP pour y ajouter un explode qui prend un array de caractères délimiteurs, tant que t'y es.

Voilà :o Les vrais hommes ont leur propre extension :o

n°2123456
Paulp
~, sweet ~
Posté le 26-01-2012 à 14:47:23  profilanswer
 

skeye a écrit :


 

  • En quoi la regexp est plus propre? Parce-que ça le fait en une ligne et pas deux?[:pingouino dei]
  • Super exemple, c'est exactement le même style de substitution, un échange SGBD=>CSV, par rapport à un choix entre différentes fonctions de manipulations de chaines de caractères.[:el g]
  • Lolzor. Une extension PHP pour y ajouter un explode qui prend un array de caractères délimiteurs, tant que t'y es.

  • La regexp est plus propre parce que faite pour.

Il est plus propre d'utiliser une fonction qui fait exactement ce qu'on veut, plutôt que d'en combiner deux pour arriver au même résultat ...

  • Mon propos n'est pas de comparer SQL, CSV ou les regexp.

Quand on a le choix entre un outil simple mais pas tout à fait adapté et un outil complexe (et encore, doit-on considérer les regexps comme complexes) et parfaitement adapté, je trouve dommage de privilégier l'outil simple juste pour les collègues qui ne sont pas capables de chercher ce qu'est une regexp ...
A réagir comme ça, on nivelle par le bas. Alors qu'en utilisant une regexp, le collègue se renseignera et progressera.

FlorentG a écrit :


Connaissant PHP, ça sera malheureusement la solution la plus lente. Ça fonctionnerait sous forme d'extension (en C donc), mais le code PHP étant tellement plus lent que le code natif [:sadnoir]


Effectivement ... Autant pour moi.

n°2123457
nraynaud
lol
Posté le 26-01-2012 à 14:57:43  profilanswer
 

Paulp a écrit :


 

  • La regexp est plus propre parce que faite pour.

Il est plus propre d'utiliser une fonction qui fait exactement ce qu'on veut, plutôt que d'en combiner deux pour arriver au même résultat ...

  • Mon propos n'est pas de comparer SQL, CSV ou les regexp.

Quand on a le choix entre un outil simple mais pas tout à fait adapté et un outil complexe (et encore, doit-on considérer les regexps comme complexes) et parfaitement adapté, je trouve dommage de privilégier l'outil simple juste pour les collègues qui ne sont pas capables de chercher ce qu'est une regexp ...
A réagir comme ça, on nivelle par le bas. Alors qu'en utilisant une regexp, le collègue se renseignera et progressera.

 
Paulp a écrit :


Effectivement ... Autant pour moi.


ça me rappelle le boulet qui a voulu utiliser des regex dans mon équipe, j'ai dû passer 3h à lire les docs qu'il n'avait manifestement pas lues sur les switches, les fermetures non greedy et utf 8. Sans compter le temps à faire passer des chaînes dedans pour tester si ça décrit effectivement la grammaire qu'on imagine.


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 26-01-2012 à 14:57:43  profilanswer
 

n°2123460
skeye
Posté le 26-01-2012 à 14:59:31  profilanswer
 

Paulp a écrit :


 

  • La regexp est plus propre parce que faite pour.

Il est plus propre d'utiliser une fonction qui fait exactement ce qu'on veut, plutôt que d'en combiner deux pour arriver au même résultat ...

  • Mon propos n'est pas de comparer SQL, CSV ou les regexp.

Quand on a le choix entre un outil simple mais pas tout à fait adapté et un outil complexe (et encore, doit-on considérer les regexps comme complexes) et parfaitement adapté, je trouve dommage de privilégier l'outil simple juste pour les collègues qui ne sont pas capables de chercher ce qu'est une regexp ...
A réagir comme ça, on nivelle par le bas. Alors qu'en utilisant une regexp, le collègue se renseignera et progressera.

 

Du code de qualité :
1) Fait ce qu'on lui demande.
2) Avec des perfs raisonnables.
3) Est facile à maintenir.

 

Pour moi, tu ne gagnes rien ici à utiliser des regexp, à-part éventuellement embrouiller un novice à qui on a demandé de rajouter un caractère délimiteur. Avec les regexp, mêmes des mecs qui préconisent la solution comme gatsu sont incapables de les taper sans y réfléchir et se sentir obligé d'y accoler un "(ou un truc du style)". Avec deux fonctions simples connues de tous c'est trivial.
Bref, chacun ses priorités...si la tienne c'est de faire perdre du temps à tout le monde pour le plaisir de te dire que tu auras fait chier pendant 5 minutes progresser le mec qui passera derrière, grand bien t'en fasse! [:dawa]


Message édité par skeye le 26-01-2012 à 14:59:54

---------------
Can't buy what I want because it's free -
n°2123461
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-01-2012 à 14:59:31  profilanswer
 

Paulp a écrit :


 

  • La regexp est plus propre parce que faite pour.

Il est plus propre d'utiliser une fonction qui fait exactement ce qu'on veut, plutôt que d'en combiner deux pour arriver au même résultat ...


Non, la regexp est plus souple mais pas faite "pour splitter une chaîne selon 4 délimiteurs". La force des regexps est justement de pouvoir s'adapter à quasiment toutes les situations de recherche/split de chaînes. Un système plus souple permet de faire beaucoup de choses et est donc souvent puissant, ce qui est le cas des regexp, mais ça n'en fait pas une solution adaptée pour tout. En l'occurrence, au contraire, je pense que ce n'est pas le meilleur choix.
Précise plutôt ta définition de "code propre".

Paulp a écrit :

Quand on a le choix entre un outil simple mais pas tout à fait adapté et un outil complexe (et encore, doit-on considérer les regexps comme complexes) et parfaitement adapté, je trouve dommage de privilégier l'outil simple juste pour les collègues qui ne sont pas capables de chercher ce qu'est une regexp ...


C'est la base du travail en équipe [:spamafote] Y a un type qui repassera derrière ton code un jour et s'il faut corriger un problème dans une regexp monstrueuses (pas forcément le cas ici) et qu'il ne connaît pas, il va en chier. La courbe de progression sur les regexp est loin d'être rapide et, à mon sens, n'est pas souvent justifiée. Perso j'en utilise quasiment jamais, mais peut-être que j'ai jamais eu à faire de gros traitements sur des chaînes, je sais pas. Mais à choisir, je préfère un mec qui sache organiser et architecturer du code plutôt qu'un gourou des regexp.

Paulp a écrit :

A réagir comme ça, on nivelle par le bas. Alors qu'en utilisant une regexp, le collègue se renseignera et progressera.


Les bienfaits de ladite progression restent à prouver ; perso je n'en suis pas convaincu.
 
Le principe de dire "si le mec connaît pas, il a qu'à chercher/apprendre" a ses limites. D'une part c'est faire preuve d'une grande prétention voire de mépris, et d'autre part c'est partir du principe que "c'est normal de connaître tel ou tel concept". Ba non, ça dépend du concept et ça dépend du contexte dans lequel il est utilisé.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2123466
Paulp
~, sweet ~
Posté le 26-01-2012 à 15:17:16  profilanswer
 

Je ne dis pas qu'il faut forcer le type à devenir un guru des regexps. Mais c'est lui rendre service que de le forcer à chercher ce que /[;,\s\.]/ veut dire s'il n'a jamais vu de regexp.
 
Dans ce cas précis, je maintiens que c'est ce que j'aurais fait ...
 
 Après c'est de l'enculage de mouches de débattre de quelle solution est la plus propre. Ça dépend du style de chacun, et je ne juge pas cette solution mieux que l'autre. Juste plus propre, parce qu'elle fait en une ligne ce que l'autre solution fait en deux lignes (et sans perte de clarté pour qui connaît un minimum les regexps).
 
On peut résumer cette question à "doit-on considérer que la regexp "/[;,\s\.]/" est compréhensible par n'importe quel développeur ?". Pour moi, la réponse est oui.

n°2123467
skeye
Posté le 26-01-2012 à 15:26:34  profilanswer
 

Paulp a écrit :

On peut résumer cette question à "doit-on considérer que la regexp "/[;,\s\.]/" est compréhensible par n'importe quel développeur ?". Pour moi, la réponse est oui.


C'est réducteur.  
Tout développeur va comprendre, mais moins vite qu'en voyant un str_replace() suivi d'un explode(). Et en cas de besoin de modifier, la différence de temps passé par le développeur moyen sera nettement plus importante, et la regexp sera source de plus d'erreurs.


---------------
Can't buy what I want because it's free -
n°2123470
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-01-2012 à 15:27:57  profilanswer
 

Paulp a écrit :

Je ne dis pas qu'il faut forcer le type à devenir un guru des regexps. Mais c'est lui rendre service que de le forcer à chercher ce que /[;,\s\.]/ veut dire s'il n'a jamais vu de regexp.
[...]
On peut résumer cette question à "doit-on considérer que la regexp "/[;,\s\.]/" est compréhensible par n'importe quel développeur ?". Pour moi, la réponse est oui.


Pour cette partie du post, ba moi je trouve pas. Comme dit plus haut, la courbe d'apprentissage est lourde, surtout au début. Que signifient les crochets ? Et pourquoi y a un \ devant le . ? Si t'as jamais joué avec des regexps, c'est comme a dit nraynaud : va falloir aller se farcir toute la doc et faire 150 tests tout ça pour exploser une chaîne sur 4 tokens et que maintenant il en faut un 5ème :/ C'est overkill.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2123471
nraynaud
lol
Posté le 26-01-2012 à 15:29:11  profilanswer
 

Paulp a écrit :

Je ne dis pas qu'il faut forcer le type à devenir un guru des regexps. Mais c'est lui rendre service que de le forcer à chercher ce que /[;,\s\.]/ veut dire s'il n'a jamais vu de regexp.


non, vraiment pas. C'est le même gars qui voulait forcer tout le monde à jouer avec

Code :
  1. cond ? : action();

genre c'est la meilleure invention du monde après le file à couper le beurre.

 

Les regexes sont difficiles à lire et à écrire, à partir d'une grammaire qu'on a en tête, il est difficile de créer la regex correspondante, à partir d'une regex il est difficile de comprendre la grammaire visée. Il y a même des alertes de sécurité régulières sur des regexes (notamment dans le rewriting apache)

 

T'as déjà fait une multiplication en chiffre romains ? c'est la merde, pourtant pendant des centaines d'années on a cru que c'était ce qu'il se faisait de mieux comme notation et simplement que la multiplication était dure en soit. Quand on a trouvé la notation positionnelle, tout à changé, même la division était un peu plus gérable, et là 1) on a pu passer à des calculs un peu plus balaises 2) on s'est rendu compte que la représentation compte énormément, et que c'est pas toujours le calcul qui est compliqué 3) que finalement, faute de mieux on peut s'adapter à des représentations assez tordues des choses.

 

Tu mets par dessus un petit Curse of Knowledge et t'as la totale.

 

edit : ma marotte du moment ce sont plutôt les parser combinators.


Message édité par nraynaud le 26-01-2012 à 15:30:27

---------------
trainoo.com, c'est fini
n°2123472
FlorentG
Posté le 26-01-2012 à 15:33:45  profilanswer
 

Notons au passage que la regexp

/[;,\s\.]/


Est complètement fausse pour l'exemple, parce que \s va matcher aussi tout ce qui est \r, \n, \t, etc.
Faut mettre un espace littéral :

/[;, \.]/


Donc on peut déjà voir comment on peut tout niquer facilement sans s'en rendre compte [:ddr555]


Message édité par FlorentG le 26-01-2012 à 15:34:33
n°2123474
Paulp
~, sweet ~
Posté le 26-01-2012 à 15:35:56  profilanswer
 

Vous comprenez mes arguments et je comprends les votres, je pense qu'on a fait le tour de la question ... je me remets donc au boulot ...

n°2123481
mechkurt
Posté le 26-01-2012 à 16:24:42  profilanswer
 

Just for the troll :

Code :
  1. $t_temp = explode(' ', str_replace(array('.',';',','), ' ', $string));


Et hop ça tient sur une ligne  [:darth21]  
 
 
Plus sérieusement j'en appelle au Guru du JS car j'ai un pb de select dans un li triable avec Mootools qui ne fonctionne pas sur Chrome et Safari :
http://jsfiddle.net/csfD2/1/
 
C'est pour un générateur de formulaire, j'ai des bloc triables avec des paramètres de config. (champ de saisie, validation, etc.) et ça fonctionne bien sur IE9 / FF9 mais par contre l'event ne semble pas fonctionner, on peut cliquer sur le label, du coup avoir le focus et après changer les valeurs avec les fleches mais la liste déroulante en fonctionne pas ! :- /
 
Je précise que je suis pas une super flèche en JS, (c'est pourquoi j'utilise une librairie ^^).
 
A votre avis c'est un bug à remonter à Mootools ?
Y'a une solution simple à mettre en place ?
C'est pour un backoffice, au pire je peux envoyer chier les gars en leur disant d'utiliser FF mais bon...

Message cité 1 fois
Message édité par mechkurt le 26-01-2012 à 16:31:09
n°2123497
The Gr Exp​erience
Posté le 26-01-2012 à 17:44:25  profilanswer
 

Salut tout le monde.
 
Question, même si j'ai aucune idée de si je suis au bon endroit, je me lance car c'est blabla@ :o
 
Je suis graphiste et pour le compte d'une petite assoc je me suis proposé de remettre en forme leur site web qui ne ressemble à rien. Ils n'y connaissent pas grand chose donc pour les MAJ de contenu je me suis dis que WordPress est fait pour eux.
Cependant ils souhaitent que le site déjà existant reste en ligne (site réalisé avec un logiciel payant à la con qui fait déplacer des blocs) le temps que je mette en place le prochain, du coup je ne sais pas comment faire car pour pouvoir créer du contenu il faut que j'installe Wordpress sur le FTP ce qui risque de faire je ne sais quoi au site actuel (non ?)
Il y a la possibilité de l'installer et de bosser dessus sans l'activer ? Sinon avez vous une solution ?
 
Merci  :)

n°2123501
flo850
moi je
Posté le 26-01-2012 à 17:56:19  profilanswer
 

installe le future site dans un dossier , genre site.de.ton.assoc.xxx/wordpress  
 
une fois qu'il sera finalisé, tu vireras eventuellement le site actuel et fera une redirection site.de.ton.assoc.xxx/ vers site.de.ton.assoc.xxx/wordpress

n°2123502
The Gr Exp​erience
Posté le 26-01-2012 à 18:10:58  profilanswer
 

flo850 a écrit :

installe le future site dans un dossier , genre site.de.ton.assoc.xxx/wordpress  
 
une fois qu'il sera finalisé, tu vireras eventuellement le site actuel et fera une redirection site.de.ton.assoc.xxx/ vers site.de.ton.assoc.xxx/wordpress


 
Merci !
 
Je récapitule histoire de pas faire connerie :o
 
Je créé un dossier genre site.de.lassoc.fr/wordpress
J'installe WordPress dedans et je fais mes modifs que je peux publier et visualiser sans que ça n'affecte le site de base
Une fois finaliser je supprime l'ancien site et je copie/colle le contenu du dossier WordPress à la racine du FTP
 
J'ai bon ?

n°2123536
gelatine_v​elue
Posté le 27-01-2012 à 00:00:09  profilanswer
 

The Gr Experience a écrit :


 
Merci !
 
Je récapitule histoire de pas faire connerie :o
 
Je créé un dossier genre site.de.lassoc.fr/wordpress
J'installe WordPress dedans et je fais mes modifs que je peux publier et visualiser sans que ça n'affecte le site de base
Une fois finaliser je supprime l'ancien site et je copie/colle le contenu du dossier WordPress à la racine du FTP
 
J'ai bon ?


 
Non ca c'est casse gueule, fait plutot une redirection de lassoc.fr/ vers lassoc.fr/wordpress. Si quelque chose foire ca te permettra de revenir a l'ancien site facilement.

n°2123550
The Gr Exp​erience
Posté le 27-01-2012 à 08:38:22  profilanswer
 

Merci beaucoup !

n°2123557
flo850
moi je
Posté le 27-01-2012 à 09:10:21  profilanswer
 

en plus le paramétrage de wordpress te demandera des chemin d'install et des chemins web
Si tu déplace le dossier, tu recommences

n°2123566
The Gr Exp​erience
Posté le 27-01-2012 à 09:55:12  profilanswer
 

Oui je viens de voir ça... :o

n°2123615
the real m​oins moins
Posté le 27-01-2012 à 11:49:00  profilanswer
 

Ouais enfin ça se change hein. Des urls en -wordpress/, beurk...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°2123828
masklinn
í dag viðrar vel til loftárása
Posté le 29-01-2012 à 15:21:14  profilanswer
 

Quelqu'un a joué avec ClojureScript ici? (pas CoffeScript, attention)

 

(et accessoirement, quelqu'un a de vraies ressources sur tester des applications JS complexes?)


Message édité par masklinn le 29-01-2012 à 15:59:57

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2123891
masklinn
í dag viðrar vel til loftárása
Posté le 29-01-2012 à 22:42:08  profilanswer
 

Un tuto CSS3 de qualité: http://visualidiot.com/articles/css3 [:implosion du tibia]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2123894
gelatine_v​elue
Posté le 30-01-2012 à 00:14:38  profilanswer
 


 
Give me my 5 minutes back.

n°2123901
FlorentG
Posté le 30-01-2012 à 08:10:25  profilanswer
 


Le n°7 (Nausea) est pas mal tiens [:imposion du tibia]

n°2123904
flo850
moi je
Posté le 30-01-2012 à 10:14:28  profilanswer
 

J'ai un petit soucis de compréhension avec $.deferred()
c'est résolu

Code :
  1. var Query = function (sql) {
  2.    this.sql = sql;
  3. };
  4.  
  5. Query.prototype.execute = function (transaction, parameters) {
  6.    parameters = parameters || [];
  7.    var that = this;
  8.    var dfd = $.Deferred();
  9.    console.log(this.sql);
  10.  
  11.    transaction.executeSql(
  12.        this.sql,
  13.        parameters,
  14.        function (transaction, resultSet) {
  15.            console.log('succes ' + that.sql);
  16.            dfd.resolve(transaction, resultSet);
  17.        },
  18.        function (transaction, resultSet) {
  19.            console.log('echec ' + that.sql);
  20.            dfd.reject(transaction, resultSet);
  21.        }
  22.    );
  23.    return dfd.promise();
  24. };
  25.  
  26.  
  27. var db = window.openDatabase("****", "1.0", "***", 1000000);
  28. db.transaction(
  29.    function (transaction) {
  30.        var q = new Query('insert into contact(name,provider,provider_id) VALUES(?,?,?)');
  31.        var dfds = [];
  32.        for (var i = 0; i < 1000; i++) {
  33.            dfds[i] = q.execute(transaction, ['moi', 'dummy', 0]);
  34.        }
  35.  
  36.       /*$.when(dfds).then(     CAY SALE  utilise apply et ça fonctionne  */
  37.        $.when.apply($,dfds).then(
  38.            function (transaction, resultSet) {
  39.                console.log('fini en succès');
  40.                console.log(resultSet);
  41.            },
  42.            function (transaction, error) {
  43.                console.log('fini en erreur');
  44.                console.log(error);
  45.            }
  46.        );
  47.    }
  48. );


 
et a console me dit


1000  init.js:29 insert into contact(name,provider,provider_id) VALUES(?,?,?)
 init.js:59 fini en succ�s
init.js:60 undefined
1000 init.js:35 succes insert into contact(name,provider,provider_id) VALUES(?,?,?)


donc then est appelé avant que toutes mes fonctions passées au when ne soient terminée :cry:

 
edit : apply est mon amis en fait, pour appeleer when avec les bons params
 
Je laisse la solution ici


Message édité par flo850 le 30-01-2012 à 10:22:13
n°2123906
masklinn
í dag viðrar vel til loftárása
Posté le 30-01-2012 à 10:19:51  profilanswer
 

$.when ne prend pas un array de parameters, mais des varargs :D

 

Là tu lui files un Array, c'est pas un deferred (ou une promesse) donc il considère que c'est résolu et il résout sa promesse interne :D.

 

Utilise $.when.apply(null, dfds) pour lui filer un array de deferreds, ça devrait mieux marcher.

 

(les paramètres des fonction que tu files à .then vont pas marcher, btw, $.when génère un paramètre pour chaque deferred, en tout cas sur .done, donc tu vas avoir arguments.length === arguments.dfds)

 

(et comme tes deferred résolvent 2 paramètres, chaque arg va être une paire de [txns, rs])


Message édité par masklinn le 30-01-2012 à 10:24:13

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2123907
flo850
moi je
Posté le 30-01-2012 à 10:23:14  profilanswer
 

j'ai trouvé la solution pour le when entre temps ( ou plutôt j'ai branché mon cerveau )

 

il est où le problème avec then ?
edit : typo : ok , je regarde ça

 

Message cité 1 fois
Message édité par flo850 le 30-01-2012 à 10:24:55
n°2123908
masklinn
í dag viðrar vel til loftárása
Posté le 30-01-2012 à 10:24:45  profilanswer
 

flo850 a écrit :

j'ai trouvé la solutio pour le when entre temps ( ou plutôt j'ai branché mon cerveau )

 

il est ouù le problème avec then ?


J'ai ajouté des infos.

 

edit: j'vois pas ce que tu veux dire


Message édité par masklinn le 30-01-2012 à 10:34:24

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2123909
flo850
moi je
Posté le 30-01-2012 à 10:26:46  profilanswer
 

faut qu'on arrête les edit, c'est compliqué à suivre  

n°2123910
flo850
moi je
Posté le 30-01-2012 à 10:34:36  profilanswer
 

:jap: ça fonctionne
Il me reste deux questions :  

  • les requêtes s’exécutent en parallèle dans n'importe quel ordre avec $.when, est ce que ça tire parti des plusieurs core/proc de la machine ?
  • si je veux chaîner dans un ordre prédéfini, est ce que j'ai une solution plus élégante que de construire une chaîne de pipe/done ?  

n°2123911
masklinn
í dag viðrar vel til loftárása
Posté le 30-01-2012 à 10:36:06  profilanswer
 

flo850 a écrit :

:jap: ça fonctionne
Il me reste deux questions :  

  • les requêtes s’exécutent en parallèle dans n'importe quel ordre avec $.when, est ce que ça tire parti des plusieurs core/proc de la machine ?

$.when collecte juste les réponses, il connaît même pas la sémantique de ton bordel.

flo850 a écrit :

  • si je veux chaîner dans un ordre prédéfini, est ce que j'ai une solution plus élégante que de construire une chaîne de pipe/done ?

non, mais tu peux bâtir ton abstraction à toi.


Message édité par masklinn le 30-01-2012 à 10:37:16

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2123913
flo850
moi je
Posté le 30-01-2012 à 10:52:33  profilanswer
 

Je reformule : le fait de lancer plein de requetes asynchrones indépendantes en javascript  pourrait rendre le truc parallelisable. Est ce que c'est le cas ? parceque les quad arrivent sur tablette /téléphone , ce serait bien si ça en tirait parti.
 
:jap:

n°2123914
Shinuza
This is unexecpected
Posté le 30-01-2012 à 11:10:08  profilanswer
 

flo850 a écrit :

Je reformule : le fait de lancer plein de requetes asynchrones indépendantes en javascript  pourrait rendre le truc parallelisable. Est ce que c'est le cas ? parceque les quad arrivent sur tablette /téléphone , ce serait bien si ça en tirait parti.
 
:jap:

Ça dépend de l'implémentation dans la VM. Mais je doute fortement qu'un quad serait mis à profit. L'implémentation de Deferred repose sur setTimeout(fn, 0[4]); qui, afaik, déplace l'execution dans une autre queue. Pour tirer parti de tes quads il te faudrait utiliser des WebWorkers.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2123915
flo850
moi je
Posté le 30-01-2012 à 11:11:23  profilanswer
 

phonegap ne les supporte pas :/

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  1175  1176  1177  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)