On dit que le temps passe vite quand on s'amuse. Pour moi, l'aspect ludique est particulièrement important dans le quotidien d'une startup et d'une entreprise en pleine croissance. C'est ce qui me permet de m'amuser, même si mes ressources énergétiques intérieures sont dévorées par l'activité de la semaine.
(Dans le prochain épisode, j'approfondirai le thème de l'humour sur le lieu de travail, juste parce que je le peux. "Pourquoi tant de sérieux ?)
En parlant de temps, 2 semaines se sont écoulées depuis ma dernière publication et il est donc temps de publier le 4ème épisode de notre #TheCodestReview série.
Liste des sujets traités cette semaine :
- S'initier au React
- Tout ce que vous avez toujours voulu savoir sur la mise en cache des vues dans Rails
- Le directeur de l'ingénierie en tant que recruteur principal
Le commentaire sur la mise en cache des vues a été fait par notre développeur fullstack et le podcast du responsable de l'ingénierie a été commenté par mon humble personne.
En tant que maître de l'application Paint et admirateur des GIF et des mèmes qui, comme les chocolats Merci, en disent plus que 1000 mots, j'ai décidé d'en ajouter ici une saveur. Et devinez quoi ?
Dark Sidious Vous pensez pouvoir m'arrêter GIF de GIFs Darthsidious
La dernière fois, nous avons décidé de mettre l'accent sur StimulusReflex qui attire l'attention de la communauté Ruby en tant que nouveau venu sur le marché, en tant qu'alternative à l'utilisation des outils modernes de gestion de l'information. Javascript dans les projets Rails afin d'éviter la surenchère.
Voir : StimulusReflex alias ReactiveRails
Pour que le combat soit à armes égales, j'ai voulu laisser React riposter à Stimulus. Comme je suis aussi un homme d'honneur bien connu, que je fais toujours ce que je dis et que je tiens mes promesses, c'est parti :
Dans le prochain épisode, j'ai le plaisir et l'enthousiasme d'annoncer que nous aurons un billet invité de l'ingénieur React de Vinted.com. Pour ceux d'entre vous qui n'ont jamais entendu parler de Vinted (peu de chances, mais toujours possible), Vinted est une place de marché de la mode originaire de Vilnius, en Lituanie, qui a atteint une évaluation de licorne en 2019. La plateforme est construite sur une base solide de Ruby on Rails soutenue par React sur la partie frontale.
Note complémentaire : ma femme adore Vinted et elle a presque complètement cessé d'utiliser OLX comme destination principale pour désencombrer notre garde-robe et vendre des vêtements d'occasion (c'était une vraie fan inconditionnelle) = VOUS FAITES BIEN LES CHOSES !
J'ai le privilège d'accueillir un premier contributeur invité dans notre série :
Meryl Streep Oui GIF de GIFs Merylstreep
Ugnė Kryževičiūtė - React ingénieur de Vinted
En lisant le titre du récent podcast de LadyBug ("Getting Hooked On React"), je m'attendais à ce qu'il traite principalement des Hooks React. Pourtant, bien qu'il n'ait pas plongé en profondeur dans les Hooks, le podcast a fourni une excellente introduction aux bases de la bibliothèque React pour JavaScript.
Ali et Emma du podcast LadyBug discutent des tenants et aboutissants de React - de la présentation générale de la bibliothèque et de ses avantages à des discussions animées sur les composants, la manipulation des données ou le cycle de vie de React, le tout présenté avec une pincée d'expérience personnelle. Il s'agit d'une écoute intéressante pour tout développeur front-end qui n'a pas encore eu l'occasion d'essayer les merveilles de React.
Ma première rencontre avec React remonte à environ trois ans, lorsque j'ai commencé mon parcours de développeur. Même si Ali et Emma suggèrent que le React peut sembler déroutant au début, d'après ma propre expérience, j'ai trouvé qu'il était relativement facile à utiliser au début et probablement le plus facile à faire progresser par rapport à d'autres frameworks frontaux. Il existe de nombreux tutoriels, articles, bibliothèques open-source et autres types de matériel d'apprentissage disponibles partout. Cependant, il faut être conscient du développement actif de React lorsque l'on parcourt ces ressources. Cet épisode du podcast de LadyBug ne fait pas exception - certains aspects et méthodes mentionnés sont déjà obsolètes depuis un certain temps. Il est donc préférable de suivre les conseils d'Emma elle-même et de consulter la documentation la plus récente.
React a beaucoup évolué et mûri, ce qui lui a permis d'atteindre les objectifs suivants code L'écriture est encore plus facile avec les Hooks, qui vous permettent d'utiliser les méthodes d'état et de cycle de vie sans écrire de composants de classe. Mais pour les débutants - comme Ali le fait remarquer avec justesse - la variété des façons dont vous pouvez écrire React (comme les composants classe/fonctionnel/hooks) ajoute une complexité supplémentaire, car il peut parfois être difficile de visualiser ce qui se passe. En outre, il peut être difficile de distiller ce dont vous avez besoin et de trouver des informations pertinentes concernant la mise en œuvre du code.
Parmi les principaux avantages de React, Ali souligne qu'il est basé sur des composants, ce qui permet la modularisation du code et facilite la collaboration avec d'autres développeurs. En outre, la possibilité d'utiliser JSX est une aide visuelle précieuse lorsque l'on travaille avec l'interface utilisateur dans le code JavaScript - il n'est pas nécessaire d'avoir des fichiers HTML distincts !
Ali et Emma ont également bien résumé la flexibilité qu'offre un système de composants. Un excellent exemple pratique est celui de mon entreprise, Vinted, qui a connu une croissance rapide en ce qui concerne le développement de ses activités. produit ainsi que la les équipes de développement Nous avons travaillé sur ce projet au cours des dernières années. React nous a apporté d'énormes avantages - il nous a permis d'écrire un code beaucoup plus propre, d'utiliser des composants d'interface utilisateur réutilisables et a rendu notre code plus facile à tester.
Dans l'ensemble, cet épisode du podcast LadyBug offre une discussion animée et charmante sur les principaux aspects du React. Je le recommande à tous ceux qui commencent leur voyage avec le React. Plein d'exemples amusants et d'analogies avec la vie réelle, l'épisode "accroche" sans problème l'attention de tous les auditeurs, y compris la mienne.
Les vues dans Rails deviennent malheureusement plus lentes avec le temps. En effet, le nombre d'objets stockés dans la base de données augmente. Cela entraîne des temps de requête plus longs et, bien sûr, un traitement plus long si vous faites quelque chose avec chacun des objets. Lorsque cela se produit, vous n'êtes pas laissé sans espoir car il existe la mise en cache des vues Rails.
Grâce à cela, vous pouvez gagner beaucoup de temps en chargeant des données lourdes de la base de données à partir du cache (chargement d'un fichier html unique sauvegardé au lieu d'interroger la base de données et de traiter les objets). Vous pouvez également rendre cette opération moins coûteuse dans le cas de partiels et d'objets différents - bien entendu, si les objets ne changent pas trop souvent. Vous pouvez également essayer de conserver les objets mis en cache dans des partiels séparés - et économiser par exemple le rendu de 19 messages sur 20 (éventuellement avec un grand nombre de champs).
Par défaut, la mise en cache de Rails utilise le file_store et conserve les données mises en cache dans les dossiers. Mais il ne supprime pas les anciennes entrées du cache (qui peuvent avoir expiré depuis longtemps). Cela peut conduire à un débordement de la quantité de fichiers ou même à un manque d'espace libre sur un serveur. L'autre méthode est memory_store, qui présente également des inconvénients (le cache étant conservé sur un seul serveur). Elle peut également dépasser la quantité de RAM conservée sur le serveur (ou le manque de cache s'il est supprimé en permanence). C'est pourquoi le meilleur mécanisme de cache à grande échelle est la méthode Memcached/Redis. Cela vous donne la possibilité d'utiliser une machine séparée pour conserver le cache qui peut être utilisé par tous les serveurs. Grâce à cela, il n'y aura pas de problème de manque de cache ou de finition de l'espace disque sur un serveur.
Dans Rails, le cache est conservé sur la base d'un identifiant, qui peut être donné directement sous la forme d'une chaîne de caractères ou généré automatiquement lorsque vous passez un objet à la fonction de cache. Dans le cas des objets, il s'agit le plus souvent de l'attribut updated_at. Vous pouvez également fournir une clé statique à partir des paramètres de l'objet.
Une autre méthode de mise en cache consiste à utiliser Javascript pour mettre à jour un champ qui est modifié une fois par jour. De cette manière, une date valide peut être affichée en permanence, sans qu'il soit nécessaire de rafraîchir le site web - qui peut être assez volumineux ou lent à exécuter.
Pour ne rien gâcher, la table ronde sur le rôle du responsable de l'ingénierie dans le processus d'embauche est très intéressante pour tous ceux qui se demandent quel est le bon moment pour le responsable technique d'intervenir dans le cycle d'entretien. À l'adresse CodestNous pratiquons en quelque sorte ce que les panélistes prêchent et notre CTO est le premier point de contact avec les ingénieurs qui postulent chez nous, tandis qu'à l'étape suivante, les entretiens sont menés par équipe avec lesquels les nouveaux arrivants potentiels travailleront en étroite collaboration. Voici quelques conseils que vous pouvez appliquer immédiatement pour améliorer votre recrutement en tant que directeur de l'ingénierie :
-
Passez en revue votre processus et assurez-vous de rejoindre le flux le plus tôt possible, idéalement en étant le premier point de contact avec les candidats, car les premières impressions jouent un rôle clé dans la façon dont votre entreprise est perçue par les meilleurs talents.
-
Contactez les responsables du recrutement les plus efficaces de votre organisation (peut-être celui qui vous a embauché à l'époque) et demandez-leur si vous pouvez assister à certains des entretiens qu'ils ont planifiés, vérifier leurs techniques, demander des conseils. Observez et apprenez. Participez à chaque entretien en faisant preuve d'une réelle curiosité à l'égard des candidats.
-
Rechercher le potentiel et embaucher pour le potentiel et la capacité à se développer rapidement.
-
Discutez de vos offres d'emploi avec tous vos ingénieurs et demandez-leur s'ils postuleraient à l'emploi. Si ce n'est pas le cas, demandez-leur ce qui ne va pas et appliquez leurs commentaires à l'offre d'emploi 2.0 que vous vous apprêtez à diffuser sur les sites d'emploi.
-
Considérez le premier entretien comme une occasion de créer une excellente relation avec vos futurs collègues potentiels.
Je vous encourage à regarder l'ensemble du panel vidéo, mais si vous aimez les podcasts et que vous aimez les écouter en conduisant, en faisant du sport ou en faisant la vaisselle, voici également un Spotify. lien.
Merci beaucoup d'avoir lu et si vous êtes arrivés jusqu'ici, j'apprécie votre temps et tout commentaire (qu'il soit positif ou négatif) est le bienvenu. LinkedIn ou à mon courriel.
Nous vous reviendrons bientôt avec le prochain épisode !
Yippie IWill See You Soon Dancing GIF de GIFs Yippieiwillseeyousoon
En savoir plus :
TheCodestReview #3 - jus hebdomadaire de génie logiciel
TheCodestReview #2 - jus hebdomadaire de génie logiciel
TheCodestReview #1 - jus hebdomadaire de génie logiciel