Outils pour utilisateurs

Outils du site


issue151:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
issue151:c_c [2019/12/03 13:15] d52frissue151:c_c [2019/12/03 16:20] andre_domenech
Ligne 18: Ligne 18:
  
 Ainsi, je demande aux lecteurs s'ils peuvent me recommander un livre, un cours, une série de vidéos ou un podcast sur le développement piloté par les tests (ce peut être général/sans lien avec un langage, centré sur Python et/ou centré sur le Web (par exemple, jest/React). Si je reçois assez de réponses, j'en ferai la liste dans l'article du mois prochain de façon à ce que tous ceux qui sont intéressés puissent y trouver ce qu'ils cherchent. Tous ceux qui ont des recommandations peuvent me joindre par lswest34+fcm@gmail.com. Ainsi, je demande aux lecteurs s'ils peuvent me recommander un livre, un cours, une série de vidéos ou un podcast sur le développement piloté par les tests (ce peut être général/sans lien avec un langage, centré sur Python et/ou centré sur le Web (par exemple, jest/React). Si je reçois assez de réponses, j'en ferai la liste dans l'article du mois prochain de façon à ce que tous ceux qui sont intéressés puissent y trouver ce qu'ils cherchent. Tous ceux qui ont des recommandations peuvent me joindre par lswest34+fcm@gmail.com.
 + 
 **Rust **Rust
  
Ligne 25: Ligne 25:
 Rust Rust
  
-Ceci est en lien avec mon article du mois dernier sur Rust - j'ai complètement oublié de mentionner Redox. Redox OS est un projet Open Source vraiment très intéressant pour construire un noyau de type Unix dans Rust. Ce n'est pas nécessairement un remplaçant intégral de Linux pour le moment (et ce n'est garanti qu'il y arrive), mais le concept me paraît très intéressant. C'est aussi l'opportunité idéale pour voir un peu de code Rust, ou si vous n'avez jamais été témoin d'un OS en cours de construction. Le site Web est : https://www.redox-os.org/+Ceci est en lien avec mon article du mois dernier sur Rust - j'ai complètement oublié de mentionner Redox. Redox OS est un projet Open Source vraiment très intéressant pour construire un noyau de type Unix dans Rust. Ce n'est pas nécessairement un remplaçant intégral de Linux pour le moment (et ce n'est pas garanti qu'il y arrive), mais le concept me paraît très intéressant. C'est aussi l'opportunité idéale pour voir un peu de code Rust, ou si vous n'avez jamais été témoin d'un OS en cours de construction. Le site Web est : https://www.redox-os.org/
  
  
Ligne 54: Ligne 54:
 Paramétrage non-standard Paramétrage non-standard
  
-À côté des deux points ci-dessus, il y avait quelques autres choses que j'ai fait qui n'apparaissent dans aucune liste : +À côté des deux points ci-dessus, il y avait quelques autres choses que j'ai faites qui n'apparaissent dans aucune liste : 
-••Je n'ai pas utilisé le système de traduction i18n. 95% du texte réel du site venait de fichiers mdx et, par conséquent, ils étaient traduit automatiquement. +••Je n'ai pas utilisé le système de traduction i18n. 95 % du texte réel du site venait de fichiers mdx et, par conséquent, ils étaient traduit automatiquement. 
-••Pour les 5% restants, je suis passé par un simple if/else en JSX ({locale === “en” ? “English” : “Deutsch”}). Si la conception avait utilisé plus de texte, j'aurai, probablement, intégré quelque chose comme react-i18next ou react-intl partout (un exemple est disponible dans le dépôt cité plus haut, mais, comme il est basé sur le code que j'avais à ce moment-là, il m'a semblé qu'il reste encore du travail pour l'implémenter).+••Pour les 5 % restants, je suis passé par un simple if/else en JSX ({locale === “en” ? “English” : “Deutsch”}). Si la conception avait utilisé plus de texte, j'aurais, probablement, intégré quelque chose comme react-i18next ou react-intl partout (un exemple est disponible dans le dépôt cité plus haut, mais, comme il est basé sur le code que j'avais à ce moment-là, il m'a semblé qu'il reste encore du travail pour l'implémenter).
  
  
Ligne 62: Ligne 62:
 • The menu, unfortunately, required me to load both translations (into aliased queries) so that I could generate the menu. If, at some point, Gatsby allows you to pass a variable into a StaticQuery, it might be possible to do it differently. As it is, this isn’t a huge issue. Just configure a reusable variable based on the current locale, and then map your way through it.** • The menu, unfortunately, required me to load both translations (into aliased queries) so that I could generate the menu. If, at some point, Gatsby allows you to pass a variable into a StaticQuery, it might be possible to do it differently. As it is, this isn’t a huge issue. Just configure a reusable variable based on the current locale, and then map your way through it.**
  
-••Quelques composants n'utilisaient pas les requêtes graphql ; aussi, j'ai simplement transmis la locale, plutôt que de paramétrer un contexte dédié. S'il y avait eu plus de niveaux pour ces composants, j'aurai probablement utilisé un contexte pour cela.+••Quelques composants n'utilisaient pas les requêtes graphql ; aussi, j'ai simplement transmis la locale, plutôt que de paramétrer un contexte dédié. S'il y avait eu plus de niveaux pour ces composants, j'aurais probablement utilisé un contexte pour cela.
 ••Le menu, malheureusement, m'obligeait à charger les deux traductions (dans des requêtes avec alias) de sorte que je puisse générer le menu. Si, à un endroit particulier, Gatsby vous permettait de passer une variable dans un StaticQuery, il pourrait être possible de le faire différemment. Comme c'est maintenant, ce n'est pas un gros problème. Configurez simplement une variable réutilisable basée sur la locale en cours et et tirez-en votre solution avec elle. ••Le menu, malheureusement, m'obligeait à charger les deux traductions (dans des requêtes avec alias) de sorte que je puisse générer le menu. Si, à un endroit particulier, Gatsby vous permettait de passer une variable dans un StaticQuery, il pourrait être possible de le faire différemment. Comme c'est maintenant, ce n'est pas un gros problème. Configurez simplement une variable réutilisable basée sur la locale en cours et et tirez-en votre solution avec elle.
  
Ligne 79: Ligne 79:
 **Speaking of tweaking and improving, here’s a slightly off-topic tip. I’ve recently had to rework a React app that relied way too heavily on Redux. I realize that Redux is useful and was popular for a time. That being said, if you choose to use Redux, please use it only for global state. Realistically, you shouldn’t need to ever rely on a state manager, as state is baked right into React. It’s especially easy with hooks (useState and useContext)! However, if you want to use Redux, just make sure that it’s actually global state in the sense that it’s used in 90% of files. If not, it’s most likely either local state, or something that should become a context somewhere along the DOM and passed in only to the children of the component. It will make a noticeable speed difference if your state changes trigger the minimum required re-renders.** **Speaking of tweaking and improving, here’s a slightly off-topic tip. I’ve recently had to rework a React app that relied way too heavily on Redux. I realize that Redux is useful and was popular for a time. That being said, if you choose to use Redux, please use it only for global state. Realistically, you shouldn’t need to ever rely on a state manager, as state is baked right into React. It’s especially easy with hooks (useState and useContext)! However, if you want to use Redux, just make sure that it’s actually global state in the sense that it’s used in 90% of files. If not, it’s most likely either local state, or something that should become a context somewhere along the DOM and passed in only to the children of the component. It will make a noticeable speed difference if your state changes trigger the minimum required re-renders.**
  
-À propos d'ajustement et d'amélioration, voici un conseil un peu hors-sujet. J'ai dû récemment retravailler une appli en React qui s'appuyait trop largement sur Redux. Je sais que Redux est utile et a eu un moment de popularité. Ceci dit, si vous choisissez d'utiliser Redux, ne l'utilisez que pour un « state global » (appelé aussi « store »). En réalité, vous ne devriez jamais faire confiance à un gestionnaire de state, car les états (state) sont directement fondus dans React. C'est particulièrement facile avec les crochets (hooks UseState et useContext) ! Cependant, si vous voulez utiliser Redux, assurez-vous simplement que c'est vraiment un état global dans ce sens qu'il est utilisé dans 90% des fichiers. Sinon, il vaut mieux utiliser, soit l'état local, soit quelque chose qui deviendrait un contexte quelque part dans le DOM et transmis seulement aux enfants du composant. Cela fera un différence notable de vitesse si votre changement d'état déclenche les réaffichages requis minimum.+À propos d'ajustement et d'amélioration, voici un conseil un peu hors sujet. J'ai dû récemment retravailler une appli en React qui s'appuyait trop largement sur Redux. Je sais que Redux est utile et a eu un moment de popularité. Ceci dit, si vous choisissez d'utiliser Redux, ne l'utilisez que pour un « state global » (appelé aussi « store »). En réalité, vous ne devriez jamais faire confiance à un gestionnaire de state, car les états (state) sont directement fondus dans React. C'est particulièrement facile avec les crochets (hooks UseState et useContext) ! Cependant, si vous voulez utiliser Redux, assurez-vous simplement que c'est vraiment un état global dans ce sens qu'il est utilisé dans 90 % des fichiers. Sinon, il vaut mieux utiliser, soit l'état local, soit quelque chose qui deviendrait un contexte quelque part dans le DOM et transmis seulement aux enfants du composant. Cela fera un différence notable de vitesse si votre changement d'état déclenche les réaffichages requis minimum.
  
 **I hope this article has been interesting to some. I’m looking forward to hearing from my readers in response to my question. If you’re working on a Gatsby site with multiple languages - what was your approach? As always, all comments, questions, and suggestions can be sent to me at lswest34+fcm@gmail.com. ** **I hope this article has been interesting to some. I’m looking forward to hearing from my readers in response to my question. If you’re working on a Gatsby site with multiple languages - what was your approach? As always, all comments, questions, and suggestions can be sent to me at lswest34+fcm@gmail.com. **
  
-J'espère que cet article en a intéressé quelques uns. Je suis impatient de vous lire en réponse à ma question. si vous travaillez sur un site Gatsby avec plusieurs langues, quelle a été votre approche ?  Comme d'habitude, les questions et suggestions peut m'être envoyées à lswest34+fcm@gmail.com.+J'espère que cet article en a intéressé quelques-uns. Je suis impatient de vous lire en réponse à ma question. si vous travaillez sur un site Gatsby avec plusieurs langues, quelle a été votre approche ?  Comme d'habitude, les questions et suggestions peuvent m'être envoyées à lswest34+fcm@gmail.com.
  
issue151/c_c.txt · Dernière modification : 2019/12/03 17:08 de auntiee