Arsenick | 0 #41 |
|
---|---|---|
J'aime glander ici
Inscrit: 13/12/2006 00:12
Post(s): 6493
Karma: 1039 |
Citation :
@Wiliwilliam_ dans son premier post ? Citation :
Et la n'est même pas mentionner un passage par le front-end! Citation :
En DB tu ne stock que les données non calculable afin d'en assurer la persistance. Par exemple, "vieMax" et "degatReçu" mais pas "vieActuel" car tu peux le calculer en faisant "vieMax" - "degatReçu"(exemple bateau pour expliquer le principe) Citation :
Nope on stock les données qui une fois récupérée serviront à PHP pour reformer une page HTML. Donc en DB "personnage.vieMax" = 9 et dans ton php : <?php $vieMax = getFromDB("SELECT vieMax FROM personnage WHERE perso_ID = 8");?> ... <h2>Points de vie maximum : <?php echo $vieMax; ?></h2> L'avantage de ma méthode c'est que demain je décide de faire un logiciel java, pas besoin de changer ma DB. Plus fort encore, je fais cohabiter le logiciel java et la page web sans aucun soucis. C'est le principe du multi-tier: tu peux changer l'UI ou le data sans impacter les autres. Citation :
Un attribut dans ta table de jointure => perso_ID, item_ID, item_Level. Citation :
Début 2000 c'était courant pourtant et sur le fond c'est pas plus ridicule que de stocker la structure de ton objet. Citation :
Si, quand ton serveur est HS et que t'as pas de backup . En informatique, il n'y a pas de problème, il n'y a que des solutions qu'on a pas encore trouver... Et je confesse m'être emporter sur le terme "JavaScript".
Contribution le : 16/03/2016 21:14
|
|
Signaler |
Invité | 0 #42 |
|
---|---|---|
FantômeInvité
|
@-Flo- @skitty
Je comprends bien qu'on a pas toujours le choix, mais si on doit conserver les données d'un tableau dans la db, c'est que ça mérite ses colonnes pour faire les query adéquat ! ( Et puis, si on utilise du JSON,autant utiliser des db qui l'utilise pour stocker ce type de donnée,non ? )
Contribution le : 16/03/2016 21:50
|
|
Signaler |
Skity | 0 #43 |
|
---|---|---|
Je masterise !
Inscrit: 29/12/2013 23:48
Post(s): 2024
Karma: 521 |
Citation :
T'inquiètes Flo, je sais que c'est loin d'être optimisé avec du JSON Mais pour ce qu'à besoin Wili, sachant qu'il n'a peut être pas forcément l'habitude, je pense que ça reste l'une des solution relativement simple pour lui Citation :
Oui tout à fait. Pour ça qu'il aurait été mieux dès le départ de bien structurer la base de données en tables par type (item, perso, ...) et faire des jointure comme il a pu être évoqué depuis le début. Cependant, Wiliwilliam a peut être déjà fait en une bonne partie de la structure et n'est peut être pas prêt à tout re faire. D'où trouver une solution d'une simple et de deux qui évite de tout re faire. C'est sûr qu'au bout d'un moment ça peut devenir une usine à gaz. Mais après, ça dépend à quel fréquence va être utilisé ton appli.
Contribution le : 16/03/2016 21:52
|
|
Signaler |
Fichtre | 0 #44 |
|
---|---|---|
Je m'installe
Inscrit: 20/11/2014 19:41
Post(s): 144
|
@wiliwilliam je pense que tu as besoin de pratiquer un peu plus le coté "structuration" avant de te lancer dans un projet.
Par exemple rien que le fait d’écrire tes bases/tables sur papiers pour avoir une vue claire de ce que tu devras coder t’enlève un poids énorme. Là tu t'es lancé dans un projet sans savoir à la base comment faire quoi. A cause de ça tu te retrouves avec des contraintes et la peur de devoir reprendre un travail que tu as déjà fait, ce qui est à mon avis inévitable maintenant. Tu veux donc faire un jeu, avec des objets, bien ! J'aime beaucoup cette idée, j'ai moi même fait un template dans le style "Livre dont vous êtes le héro" juste pour le fun. (si si, la programmation c'est fun!) Pour les objets possédés, tu DOIS faire une table a part entière. Projette toi et imagine la gestion d'inventaire, la mise a jour etc. Si tu dois a chaque fois decompiler le champ objet, en faire un tableau, l'editer etc, ça devient vite lourd, a la fois dans le code mais aussi pour le serveur. Par contre si tu fais une requête directement sur l'ID de l'objet possédé, tout devient plus rapide ! Et puis c'est la base du php orienté objet de faire des choses comme ça. Redondance dans les requêtes et compagnie. Et dis toi que si tu penses que c'est impossible, c'est que tu ne sais juste pas le faire. Pour ton projet, il faut que tu passes par de l'asynchrone, c'est le mieux. Et ce que dit Arsenick est vraiment à retenir.
Contribution le : 17/03/2016 04:41
|
|
Signaler |
Invité | 0 #45 |
|
---|---|---|
FantômeInvité
|
Je plussoie mon vdd, si je peux te conseiller de te renseigner sur les modèles E/A et logique avant de t'attaquer à la db ( Bon,c'est de l'analyse, mais ça aide ! )
Contribution le : 17/03/2016 06:45
|
|
Signaler |
Wiliwilliam | 0 #46 |
|
---|---|---|
La loi c'est moi
Inscrit: 07/04/2012 19:19
Post(s): 38209
Karma: 18938 |
@Cornflake
C'est retenu j'ai commencé ce projet entre autre pour apprendre le sql Ce projet est pour les koreusiens au passage :roll: Sssshhhhhhhhhh!!!!!
Contribution le : 17/03/2016 09:15
|
|
Signaler |
Arsenick | 0 #47 |
|
---|---|---|
J'aime glander ici
Inscrit: 13/12/2006 00:12
Post(s): 6493
Karma: 1039 |
Citation :
C'est à mon sens le meilleur moyen d'apprendre: die and retry :lol: . Et c'est la où je ne suis pas forcément d'accord avec @Skity: il vaux mieux recommencer 4 fois un truc complexe et faire un truc propre que de faire un truc sale parce que c'est plus simple. Sa méthode est pas mauvaise en soi et je ne critique pas le côté fonctionnel (même si on pourrai croire), juste que je pense qu'on s'éloigne des bests practice de la POO. Et pour ta DB, tu peux utiliser MySql Workbench qui permet de visualiser / crée facilement un diagramme de table. Il permet aussi de générer le code de création des tables mais ça je le déconseil tant qu'on ne maîtrise pas la création. Et tant qu'à y être, 3 bonnes devises (selon moi bien sur ) en informatique: - Keep It Simple, STUPID! (KISS) => Plus un programme est simple, plus il est facile à maintenir, plus il est facile d'y ajouter des fonctionnalités. Fini l'époque code-pelote de laine où même le devs à peur de mettre les doigts parce que toucher une ligne ici va crée 15 bugs la-bas... ^^ - Apprendre à marché avant de vouloir courir => Les outils qui facilité la vie c'est bien mais sans maîtrise de la base, les meilleurs outils au monde donneront un résultat de merde parce que mal utiliser. Et surtout c'est plus facile de mettre les mains dans le cambouis quand l'outils à merder ^^. - Un bon développeur est faignant => si on dois écrire 3 fois enfin copier/coller 2 fois (faut pas déconner :D) le même bout de code c'est qu'il y a moyen de faire du refactoring (=> KISS!).
Contribution le : 17/03/2016 12:05
|
|
Signaler |
Invité | 0 #48 |
|
---|---|---|
FantômeInvité
|
Je plussoie Arsenick et Fichtre et Cornflake : prends le temps, dès le début, de faire les choses "bien".
1/ Analyser ton projet avant même de commencer à coder. Tu évalues les objets à mettre en place et les interactions entre eux : t'as fait 90% du boulot. 2/ Et comme a dit Arsenick, si tu commences à avoir des soucis de dépendance, à recoder plusieurs fois la même chose, à devoir ajouter des attributs à tes classes, et toutes ces petites emmerdes ; pose-toi, re-analyse, recode des parties que t'as déjà codé s'il le faut. Ceci est NORMAL. Ton analyse de départ ne peux pas tout anticiper, et c'est pour ça que tu analyses ton projet, et ton code, tout au long de la production. Peu importe la dimension du projet, l'analyse te fera toujours gagner du temps (pour le dit projet, ou pour les suivants :D)
Contribution le : 17/03/2016 14:36
|
|
Signaler |
Skity | 0 #49 |
|
---|---|---|
Je masterise !
Inscrit: 29/12/2013 23:48
Post(s): 2024
Karma: 521 |
Je plussoie mes VDDs
Contribution le : 17/03/2016 19:29
|
|
Signaler |
Arsenick | 0 #50 |
|
---|---|---|
J'aime glander ici
Inscrit: 13/12/2006 00:12
Post(s): 6493
Karma: 1039 |
@Wiliwilliam_ Si tu veux je peux te faire un petit diagramme avec quelques classes genre perso / item / inventaire si ça te parais plus clair qu'à l'écrit.
Contribution le : 18/03/2016 11:28
|
|
Signaler |
Wiliwilliam | 0 #51 |
|
---|---|---|
La loi c'est moi
Inscrit: 07/04/2012 19:19
Post(s): 38209
Karma: 18938 |
non non c'est bon
Contribution le : 18/03/2016 11:30
|
|
_________________
>> Récompenses si tu passes en article << |
||
Signaler |
AshySlashy | 0 #52 |
|
---|---|---|
J'aime glander ici
Inscrit: 05/04/2007 11:48
Post(s): 8201
Karma: 1358 |
J'ai pas tout lu, mais je ne dirais qu'une chose:
Sérialise ! C'est rapide, c'est sale et ça marche ! Le reste osef, sauf si tu veux en faire ton métier.
Contribution le : 29/03/2016 16:59
|
|
Signaler |