Comment coder un algorithme satellite et cuire une paella à partir de zéro

Bonjour lecteur! La version mise à jour de cet article (et de tous mes articles) est disponible gratuitement sur mon site Web: victoria.dev - Merci de votre lecture!

Et si je vous disais qu’à la fin de cet article, vous serez en mesure de calculer la période orbitale des satellites autour de la Terre en utilisant leurs altitudes moyennes et… Vous avez déjà syntonisé, n’avez-vous pas?

Ok, que diriez-vous de ça: je vais vous apprendre à faire de la paella!

Vrai fait: les gens sont beaucoup plus susceptibles d’accepter la complexité si elle vient avec la promesse de manger.

Et vous apprendrez à écrire une fonction qui remplit les fonctions que j'ai mentionnées ci-dessus, tout comme je l’ai fait pour ce défi freeCodeCamp.

Je vous promets qu’une leçon de morale primordiale vous sera bénéfique tous les jours pour le reste de votre vie. Ou, au moins, vous nourrir pour une nuit. Commençons.

La seule chose que je sache sur la paella, c’est qu’il s’agit d’une émoticône.

Sauf si vous lisez ceci sur un téléphone Samsung, dans ce cas, vous regardez un point chaud coréen.

L’une de mes choses préférées au sujet de la vie dans le monde aujourd’hui, c’est que c’est vraiment bien de savoir à peu près rien. Il y a cent ans, vous avez peut-être passé toute votre vie à ne rien savoir de plus à propos de la paella que le fait qu’il s’agit d’une émoticône. * Mais aujourd’hui? Vous pouvez simplement le regarder.

*C'était une blague.

Comme dans toutes les choses de la vie, lorsque nous ne sommes pas certains, nous nous tournons vers Internet. Dans ce cas, l'entrée pour paella sur Wikipedia, qui se lit comme suit:

“La Paella… est un plat de riz valencien. La paella a des racines anciennes, mais sa forme moderne trouve son origine au milieu du XIXe siècle près de la lagune d'Albufera sur la côte est de l'Espagne, à proximité de la ville de Valence. De nombreux non-Espagnols considèrent la paella comme un plat national espagnol, mais la plupart des Espagnols le considèrent comme un plat régional valencien. Les Valenciens, à leur tour, considèrent la paella comme l'un de leurs symboles d'identification.
Les types de paella comprennent la paella de Valence, la paella végétarienne / végétalienne (espagnol: paella de verduras), la paella de fruits de mer (espagnol: Paella de marisco) et la paella mixte (espagnol: paella mixta), parmi beaucoup d'autres. ”- Wikipedia

À ce stade, vous êtes probablement plein de questions. Dois-je parler à un valencien? Devrais-je suivre un cours en ligne sur l'histoire de l'Espagne? Quel type de paella devrais-je essayer de faire? Quelle est l'opinion commune des chefs modernes en ce qui concerne les types de paella?

Si vous voulez répondre à toutes ces questions, une chose est sûre: vous ne finirez jamais par faire de la paella. Vous passerez des heures et des heures à taper des questions dans les moteurs de recherche, et des années plus tard, vous vous réveillerez avec un Master en cuisine valencienne.

La méthode de la «question la plus importante»

Quand je me parle à voix haute en public (tout le monde ne le fait-il pas?), Je parle de «MIQ» (rime avec «Nick»). J'imagine aussi que MIQ est une puce à tortilla anthropomorphisée, plutôt craquante et plutôt adorable. Je ne peux pas vous dire pourquoi.

Le MIQ fait pivoter son corps triangulaire croquant pour me diriger dans la bonne direction. La bonne direction prend toujours la forme de la question la plus importante que vous devez vous poser à n'importe quel stade de la résolution de problèmes. La première question la plus importante est toujours la suivante:

Quelle est la portée de l'objectif que je veux atteindre?

Eh bien, vous voulez faire de la paella.

Le prochain MIQ devient alors: combien ai-je réellement besoin de savoir sur la paella pour pouvoir la fabriquer?

Vous avez déjà entendu ce conseil: tout problème important peut être divisé en plusieurs problèmes plus simples mais plus faciles à gérer. Dans cette petite constellation de problèmes minimes, il n’ya qu’un problème à résoudre pour obtenir le meilleur moyen de parvenir à une solution complète.

Dans le cas de la fabrication de la paella, nous avons besoin d’une recette. C’est un problème minime qu'un moteur de recherche peut résoudre pour nous:

Recette Paella Simple
Dans un bol moyen, mélanger 2 cuillères à soupe d'huile d'olive, du paprika, de l'origan, du sel et du poivre. Incorporer les morceaux de poulet pour bien les enrober. Couvrir et réfrigérer.
Chauffer 2 cuillères à soupe d'huile d'olive dans une grande poêle ou une poêle à paella à feu moyen. Incorporer l'ail, les flocons de piment rouge et le riz. Cuire en remuant pour enduire le riz d'huile, environ 3 minutes. Incorporer les fils de safran, la feuille de laurier, le persil, le bouillon de poulet et le zeste de citron. Porter à ébullition, couvrir et réduire le feu à moyen-doux. Laisser mijoter 20 minutes.
Pendant ce temps, faites chauffer 2 cuillères à soupe d'huile d'olive dans une autre poêle à feu moyen. Incorporer le poulet et l'oignon marinés; cuire 5 minutes. Incorporer le poivron et la saucisse; cuire 5 minutes. Incorporer les crevettes; cuire en retournant les crevettes jusqu'à ce que les deux côtés soient roses.
Étendre le mélange de riz sur un plateau de service. Garnir du mélange de viande et de fruits de mer. (allrecipes.com)

Et le tour est joué! Croyez-le ou non, nous y sommes déjà presque.

Avoir un ensemble d'instructions étape par étape, faciles à comprendre, constitue en réalité l'essentiel du travail. Il ne reste plus qu’à rassembler les ingrédients puis à faire la paella. À partir de ce moment, vos MIQ risquent de devenir moins nombreux et plus distants, et leur importance pourrait diminuer lentement par rapport au problème global. (Où puis-je acheter du paprika? Comment savoir quand la saucisse est cuite? Comment régler le minuteur sur mon téléphone pendant 20 minutes? Comment puis-je arrêter de penser à cette délicieuse odeur? Quel filtre Instagram rend le mieux compte de l'extase de cette paella à présent?)

La réponse à cette dernière question est «Nashville».

Je ne connais toujours pas le calcul des périodes orbitales des satellites

D'accord. Voyons le problème:

Retourne un nouveau tableau qui transforme l’altitude moyenne de l’élément en périodes orbitales.
Le tableau contiendra des objets au format {nom: 'nom', avgAlt: avgAlt}.
Vous pouvez lire sur les périodes orbitales sur wikipedia.
Les valeurs doivent être arrondies au nombre entier le plus proche. Le corps en orbite est la Terre.
Le rayon de la Terre est de 6367,4447 km et la valeur de la masse gravitationnelle (GM) de la Terre est de 398600,4418 km3s-2.
orbitalPeriod ([{name: "sputnik", avgAlt: 35873.5553}]) devrait renvoyer [{name: "sputnik", orbitalPeriod: 86400}].

En fait, pour calculer la période orbitale des satellites, nous avons également besoin d’une recette. Incroyable, ce que vous pouvez trouver sur Internet ces jours-ci.

Avec la permission de dummies.com (yup! #Noshame), voici notre recette:

C’est plutôt mignon, d’une certaine manière.

Cela peut paraître assez compliqué. Mais comme nous l’avons déjà vu, il nous suffit de répondre au prochain MIQ: que dois-je réellement savoir sur cette formule pour pouvoir l’utiliser?

Dans le cas de ce défi, pas trop. EarthRadius est déjà fourni, et avgAlt fait partie de notre objet arguments. Ensemble, ils forment le rayon, r. À l'aide de quelques requêtes de recherche et d'un voyage dans le temps mental jusqu'à votre cours de mathématiques au primaire, nous pouvons décrire cette formule en quelques mots d'anglais:

T, la période orbitale, est égal à 2 multiplié par Pi, à son tour multiplié par la racine carrée du rayon, r cubed, divisé par la masse gravitationnelle, GM.

JavaScript a une propriété Math.PI, ainsi que la fonction Math.sqrt () et la fonction Math.pow (). En utilisant ceux-ci combinés avec un calcul simple, nous pouvons représenter cette équation sur une seule ligne affectée à une variable:

var orbitalPeriod = 2 * Math.PI * (Math.sqrt (Math.pow ((earthRadius + avgAlt), 3) / GM).);

À l'envers:

  1. Ajouter earthRadius et avgAlt
  2. Cube le résultat de l'étape 1
  3. Diviser le résultat de l'étape 2 par GM
  4. Prendre la racine carrée du résultat de l'étape 3
  5. Multipliez 2 fois Pi fois le résultat de l'étape 4
  6. Attribuer la valeur renvoyée à orbitalPeriod

Croyez-le ou non, nous y sommes déjà presque.

Le prochain MIQ pour ce défi consiste à prendre l'objet arguments, à extraire les informations nécessaires et à renvoyer le résultat de notre équation dans le format requis. Il y a plusieurs façons de faire cela, mais je suis heureux avec une boucle simple:

fonction orbitalPeriod (arr) {
   var resultArr = [];
   for (var théière = 0; théière 
   return resultArr;
}

Si vous avez besoin d'un rappel sur les tableaux, consultez mon article sur iterating, qui présente les tableaux de petit-déjeuner! (5 minutes de lecture)

Ne regardez pas maintenant, mais vous venez d’acquérir la possibilité de calculer la période orbitale des satellites. Vous pouvez même le faire en faisant de la paella, si vous le souhaitez. Sérieusement. Mettez-le sur votre CV.

Tl; dr: la principale leçon de morale

Que ce soit pour la cuisine, le codage ou autre chose, les problèmes peuvent au premier abord sembler déroutants, insurmontables ou carrément ennuyeux. Si vous êtes confronté à un tel défi, rappelez-vous: ils sont beaucoup plus digestibles avec un côté de petits morceaux de MIQ.

Merci d'avoir lu!

Si vous avez aimé cet article, j'aimerais bien le savoir! Laissez une réponse ou tweetez-moi à ce sujet. Si vous voulez que les autres lisent aussi, cliquez pour applaudir!

Vous pouvez trouver ceci et d'autres articles expliquant les concepts de codage avec de la nourriture sur mon blog.