Avant de répondre à cette question, laissez-moi vous donner un exemple : un programmeur doit-il apprendre les mathématiques ?
Certains développeurs disent pourquoi apprendre les mathématiques. Les choses dont nous disposons actuellement ne sont-elles pas suffisantes ? L'écriture de code ne nécessite pas de mathématiques.
J'ai envie de dire que l'algorithme des gens qui disent ça ne doit pas être bon !
Prenant comme exemple le système de recommandation, l'algorithme de filtrage collaboratif, l'algorithme de réduction de dimensionnalité et l'algorithme de recommandation interactif basé sur l'évaluation
Pour les algorithmes de réduction de dimensionnalité, vous devez d'abord établir un système de coordonnées, puis supposer une modélisation par équation. Trouver la variance de cartographie
Par exemple, l'algorithme de filtrage collaboratif suppose que les livres que l'utilisateur 1 aime sont A, B et C. Les livres que l'utilisateur 2 aime sont A, C, E, F. Les livres que l'utilisateur 3 aime sont B, D
Le problème que nous devons résoudre est le suivant : décider si le livre F doit être recommandé à 1. Ensuite, il faut d'abord savoir quels sont les types de A, B, C, D, E, F puis les modéliser (modélisation discrète, mathématique)
Ensuite, lorsqu'un développeur écrit du back-end ou du front-end (application mobile), il n'écrit que l'interface et certaines fonctions de connexion et d'enregistrement, ainsi que la publication de contenu. Ceux-ci ne nécessitent pas de mathématiques. Donc, si vous êtes développeur d'une barre de chant (application) et que vous souhaitez recommander des chansons basées sur les chansons chantées par les utilisateurs, utiliserez-vous les mathématiques ?
Enfin, revenons à cette question, vous n'avez pas besoin d'envisager le clustering ou la distribution pour un petit nombre d'utilisateurs temporaires, mais si votre nombre d'utilisateurs augmente fortement. Et vous n'avez pas assez de fonds. que feriez-vous?
Ce n'est que lorsque vous vous tenez haut que vous pouvez voir loin !
Docker est en grande partie un outil de gestion des opérations et de la maintenance destiné aux développeurs.
Bien sûr, si vous n'avez pas besoin de publier un projet complet et que vous n'avez pas votre propre produit Web App, vous n'avez vraiment pas besoin de Docker.
Docker a un plus large éventail d'utilisations dans l'environnement de production réel. Il peut utiliser très peu de ressources pour créer un cluster s'il n'est utilisé que dans l'environnement de développement, c'est vraiment un gaspillage de ressources.
C'est toujours nécessaire. Après tout, Docker est toujours différent d'une machine physique, il est impossible de simplement l'utiliser et de le maintenir après le développement. Docker est très utile pour la construction d'environnements, et il est nécessaire de l'apprendre.
Au moins, c'est une manière de résoudre des problèmes, et ce n'est pas mal même comme réserve de connaissances.
Pourquoi utiliser Docker ? Docker est très puissant en déploiement. Si vous faites du développement, il vous manque peut-être encore quelque chose. Par exemple, utilisez strace pour suivre le processus dans le conteneur. Bien qu’il puisse être utilisé en mode privilégié, il existe encore de nombreux pièges en mode privilégié.
Projet d'environnement Laravel créé par moi-même : https://github.com/Jamlee/docker-laravel
Par rapport à la VM, Docker présente des avantages évidents en termes de légèreté, de complexité de configuration et d'utilisation des ressources. À mesure que la technologie Docker continue de mûrir, de plus en plus d'entreprises commencent à envisager d'utiliser Docker pour améliorer leurs systèmes informatiques.
Aujourd'hui, un certain nombre de startups liées à Docker ont vu le jour en Chine, parmi lesquelles il existe un projet de gestion de conteneurs-csphere https://csphere.cn/. Ayez une idée des scénarios d'application actuels de Docker, etc.
Avant de répondre à cette question, laissez-moi vous donner un exemple : un programmeur doit-il apprendre les mathématiques ?
Certains développeurs disent pourquoi apprendre les mathématiques. Les choses dont nous disposons actuellement ne sont-elles pas suffisantes ? L'écriture de code ne nécessite pas de mathématiques.
J'ai envie de dire que l'algorithme des gens qui disent ça ne doit pas être bon !
Prenant comme exemple le système de recommandation, l'algorithme de filtrage collaboratif, l'algorithme de réduction de dimensionnalité et l'algorithme de recommandation interactif basé sur l'évaluation
Pour les algorithmes de réduction de dimensionnalité, vous devez d'abord établir un système de coordonnées, puis supposer une modélisation par équation. Trouver la variance de cartographie
Par exemple, l'algorithme de filtrage collaboratif suppose que les livres que l'utilisateur 1 aime sont A, B et C. Les livres que l'utilisateur 2 aime sont A, C, E, F. Les livres que l'utilisateur 3 aime sont B, D
Le problème que nous devons résoudre est le suivant : décider si le livre F doit être recommandé à 1. Ensuite, il faut d'abord savoir quels sont les types de A, B, C, D, E, F puis les modéliser (modélisation discrète, mathématique)
Ensuite, lorsqu'un développeur écrit du back-end ou du front-end (application mobile), il n'écrit que l'interface et certaines fonctions de connexion et d'enregistrement, ainsi que la publication de contenu. Ceux-ci ne nécessitent pas de mathématiques. Donc, si vous êtes développeur d'une barre de chant (application) et que vous souhaitez recommander des chansons basées sur les chansons chantées par les utilisateurs, utiliserez-vous les mathématiques ?
Enfin, revenons à cette question, vous n'avez pas besoin d'envisager le clustering ou la distribution pour un petit nombre d'utilisateurs temporaires, mais si votre nombre d'utilisateurs augmente fortement. Et vous n'avez pas assez de fonds. que feriez-vous?
Ce n'est que lorsque vous vous tenez haut que vous pouvez voir loin !
Si l’on considère l’avenir, c’est encore nécessaire. Après tout, plus vous comprenez, plus vous aurez de choix à l’avenir.
Pratique DevOps.
Docker est en grande partie un outil de gestion des opérations et de la maintenance destiné aux développeurs.
Bien sûr, si vous n'avez pas besoin de publier un projet complet et que vous n'avez pas votre propre produit Web App, vous n'avez vraiment pas besoin de Docker.
Docker a un plus large éventail d'utilisations dans l'environnement de production réel. Il peut utiliser très peu de ressources pour créer un cluster s'il n'est utilisé que dans l'environnement de développement, c'est vraiment un gaspillage de ressources.
Je n'utilise que vagrant pour l'environnement de développement. C'est très pratique, Docker n'est pas nécessaire.
C'est toujours nécessaire. Après tout, Docker est toujours différent d'une machine physique, il est impossible de simplement l'utiliser et de le maintenir après le développement. Docker est très utile pour la construction d'environnements, et il est nécessaire de l'apprendre.
Au moins, c'est une manière de résoudre des problèmes, et ce n'est pas mal même comme réserve de connaissances.
Pourquoi utiliser Docker ? Docker est très puissant en déploiement. Si vous faites du développement, il vous manque peut-être encore quelque chose. Par exemple, utilisez strace pour suivre le processus dans le conteneur. Bien qu’il puisse être utilisé en mode privilégié, il existe encore de nombreux pièges en mode privilégié.
Projet d'environnement Laravel créé par moi-même : https://github.com/Jamlee/docker-laravel
Par rapport à la VM, Docker présente des avantages évidents en termes de légèreté, de complexité de configuration et d'utilisation des ressources. À mesure que la technologie Docker continue de mûrir, de plus en plus d'entreprises commencent à envisager d'utiliser Docker pour améliorer leurs systèmes informatiques.
Aujourd'hui, un certain nombre de startups liées à Docker ont vu le jour en Chine, parmi lesquelles il existe un projet de gestion de conteneurs-csphere https://csphere.cn/. Ayez une idée des scénarios d'application actuels de Docker, etc.