[Actu] Maintenance le 15 octobre

Répondre
Partager Rechercher
@Zeldarion : Mettre un tri c'est tout sauf compliqué. Inner join + indexage bien foutu et ça passe tout seul.
Et au pire tu change rien côté serveur et effectue un "sort" coté interface (côté client), et le tour est joué.
Même en seconde STT j'arrivais à faire mieux que les codeurs de Square Enix.
Et c'est pas comme si ils avaient pas eut le temps de trouver une solution, c'est une demande qui date de l'alpha.

Alors tout porte à croire que ce n'est pas qu'ils ne peuvent pas, mais qu'ils ne veulent pas se donner la peine de prendre le temps de le faire.

Edit : Dans les autres mmo tu vois des tri de partout, c'est pas pour autant que ces jeux ont plus de latence/lag que FFXIV, bien au contraire.
Ex : les compétences chez les maîtres de classes triés par level...
Bon déjà un petit plus vers l'amélioration !
Espérons que tout le monde joue le jeu et respecte les différentes allées. (Et avoir plusieurs servants pour pouvoir les respecter!)
Citation :
Publié par Kuwento
[...]
Comme d'habitude, c'est tellement facile de parler.
Je rigolerais d'en voir certains devant le chef de service qui leurs dirait:
"Vas-y, fait moi cette modification si simple". Puis de les voir pleurer car ils n'arrivent pas à faire fonctionner leurs idées avec le reste du code.
Citation :
Publié par Freudd
Comme d'habitude, c'est tellement facile de parler.
Je rigolerais d'en voir certains devant le chef de service qui leurs dirait:
"Vas-y, fait moi cette modification si simple". Puis de les voir pleurer car ils n'arrivent pas à faire fonctionner leurs idées avec le reste du code.
C'est facile de parler car c'est mon métier effectivement.
Ose demander à un développeur si c'est facile de rajouter un tri à une requête...
zeldarion c'était un exemple pour illustrer la simplicité du tri qui consiste à faire un order by, je vais pas détailler quelles tables indexer et quels champs sélectionner ce n'est pas le but....le tri est une fonction de base qui est indispensable pour gérer un ensemble et techniquement c'est TRES facile à faire à partir d'une BDD (si elle est correctement structurée).

freudd : la conception moderne doit être évolutive et modulaire, de plus concevoir quelque chose de tellement rigide qu'il est difficile d'ajouter un tri n'est rien d'autre qu'une erreur de conception impliquant un couplage abbérant (cf.: la cathédrale).
Citation :
Publié par Kuwento
C'est facile de parler car c'est mon métier effectivement.
Ose demander à un développeur si c'est facile de rajouter un tri à une requête...
Si tu es dévellopeur, tu es sensé savoir qu'il est facile, dans la théorie de faire presque tout, mais qu'il est difficile de le faire sans produire des interactions buggés avec le reste du système...
une requête n'a jamais été un souci, c'est la multiplication des requêtes simultanées qui provoque des instabilités et des risques sur la structure des données.
Citation :
Publié par Freudd
Si tu es dévellopeur, tu es sensé savoir qu'il est facile, dans la théorie de faire presque tout, mais qu'il est difficile de le faire sans produire des interactions buggés avec le reste du système...
Attend, y a une différence entre développer un énorme module, et rajouter un order by à la fin d'une requête (et encore c'est uniquement une des plusieurs solutions).

C'est pas comme si ils avaient eut 5 ans de travail pour le faire.
Autant qu'il y ai du retard sur quelque chose de plus complexe comme la non implémentation des NM je veux bien le concevoir, autant des choses aussi rudimentaire qu'un tri sur un inventaire, non.

Faut pas tout mélanger

@makkura : Faut arrêter de croire que de rajouter un order by va multiplier les requêtes jusqu'à un stade critique : c'est completement faux.
De plus, on peut très bien effectuer un tri côté client sans impacter le serveur.
Citation :
Publié par Kuwento
C'est pas comme si ils avaient eut 5 ans de travail pour le faire.
Autant qu'il y ai du retard sur quelque chose de plus complexe comme la non implémentation des NM je veux bien le concevoir, autant des choses aussi rudimentaire qu'un tri sur un inventaire, non.
Je veux bien, ça aurait du être fait bien avant, mais on ne peut pas dire qu'il "suffit" de mettre une ligne de code.
C'est bien plus complexe et tu es sensé le savoir.
Citation :
Publié par Kuwento
De plus, on peut très bien effectuer un tri côté client sans impacter le serveur.
ouep, j'y ai pensé après
On ne peut pas dire que faire un tri soit simple ou compliqué, ça dépend juste de la base de données.
Or moi quand je ne connais pas, je ne parle pas.

Mais bon après on a des génies qui en seconde était déjà plus fort que les codeurs de Square Enix, donc bon peut être qu'ils savent comment est structuré la base de données et quels impacts auront un order by sur le reste de la base de données et des requêtes.

Bref en théorie c'est très simple, mais la théorie c'est pas de la théorie pour rien.
C'était de l'ironie, pour dire que c'est pas qu'ils ne peuvent pas, mais qu'ils n'ont pas pris le temps.

Et encore une fois, le tri n'est pas forcément obligé d'être traité côté serveur, donc rien à voir avec un order by ou un quelconque impact sur la base de donnée.

Moi quand je ne connais pas, je ne parle pas.
Alors je ne suis pas une sommité en la matière (en fait j'y connais rien), mais quand tu fais une modification coté client elle n'est donc pas appliqué coté serveur.

Ce qui veut dire qu'à chaque interaction qu'aura ton inventaire avec le serveur (vente au npc, craft, obtention d'un item, etc), tu devras envoyer les données du client au serveur et modifier alors la base de données qui est elle gérée par le serveur.
Ca me paraît très lourd comme procédure.

Ou tu peux trier ton inventaire coté client mais de façon purement graphique, c'est à dire qu'à chaque interaction avec le serveur tu retrouveras ton inventaire non trié (en gros aucun intérêt).


Après je dis peut être n'importe quoi, mais ça me paraît difficile de gérer l'inventaire via le client.
Citation :
Publié par Zeldarion
Alors je ne suis pas une sommité en la matière (en fait j'y connais rien), mais quand tu fais une modification coté client elle n'est donc pas appliqué coté serveur.

Ce qui veut dire qu'à chaque interaction qu'aura ton inventaire avec le serveur (vente au npc, craft, obtention d'un item, etc), tu devras envoyer les données du client au serveur et modifier alors la base de données qui est elle gérée par le serveur.
Ca me paraît très lourd comme procédure.

Ou tu peux trier ton inventaire coté client mais de façon purement graphique, c'est à dire qu'à chaque interaction avec le serveur tu retrouveras ton inventaire non trié (en gros aucun intérêt).


Après je dis peut être n'importe quoi, mais ça me paraît difficile de gérer l'inventaire via le client.
Oui je pense aussi que tu te trompes.

Le tri de l'inventaire est une fonction d'affichage et doit donc être traité côté client. Ton tri va se faire sur un critère, exemple alphabétique ou "type d'objet". Le tri ne demande rien au serveur mis à part l'envoie de la liste complète des objets de l'inventaire (en gros une fois à chaque ouverture de ta fenêtre d'inventaire si on ne cherche aucune optimisation).

Côté serveur, ton inventaire c'est une liste d'ID d'objets de la base, savoir si l'ID456 est avant l'ID7640 dans la base n'a aucune importance. Ce qui compte pour le serveur c'est de savoir que ID456 et ID7640 sont dans ton inventaire.

Parlons des interactions modifiant le contenu de l'inventaire (et non juste son affichage). Imagine que tu vendes "Une peau de dodo+1" qu'elle soit en première ligne de ton inventaire ou en 46ieme ligne, tu vas envoyer comme requête au serveur "Vente ID5670". Côté base on t'enlèvera l'objet de ton inventaire, on te crédite les gils et on renvoie ces info. au client qui met à jour les différents champs de ton interface.

Ce que je veux dire, c'est que le tri est une fonction d'affichage et que le serveur s'en bat les disques durs. Ce qui compte pour le serveur c'est les actions de modification du contenu de ton inventaire.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés