Sept PDG nuage bétail Hsu Wei: conception de l'architecture en perspective macro

Auteur | Hsu Wei

De « Xu classe d'architecture de style Wei »

Dans la technologie de l'information hautement développée d'aujourd'hui, chacun d'entre nous en tout temps, un accès partout aux appareils électroniques intelligents alimentés par le programme, y compris les téléphones mobiles (tels que l'iPhone, les téléphones appareil photo oppo), comprimés (par exemple, iPad), les montres (comme iWatch, petit génie montre intelligente), haut-parleurs (comme l'esprit Lynx), les voitures (comme la Tesla), et ainsi de suite.

Derrière c'est comment les choses fonctionnent? Sur lequel le seul système logiciel, ces petits appareils ont tendance à courir les milliers de modules logiciels, qui est si étroitement comment collaborer ensemble?

À cet égard, je l'habitude d'entrer en contact avec un grand nombre d'ingénieurs de développement de logiciels, ou les architectes, bon nombre de ces principes est peu abondante, bien que le « savoir », mais « je ne sais pas ce qu'il est exactement. » Certaines personnes peuvent même penser, à quoi est-il pour apprendre ceux-ci, à mon avis, c'est exactement ce que nous faisons partie d'un architecte très important d'un cours de base.

Pourquoi la nécessité d'établir une perspective macro?

En tant que travailleurs de la construction construire une maison là-bas (en charge de déplacer les briques) et les architectes (responsables de la conception de l'architecture) que le développement de systèmes logiciels ont également besoin d'avoir un programmeur (déplacer responsable « briques ») et architecte (responsable de la conception de l'architecture). En tant qu'architecte, d'abord nous avons besoin est la capacité de la capacité de macro-contrôle global.

Si l'application a comparé à un bâtiment, nous l'architecte du bâtiment, la nécessité de construire une bonne structure du bâtiment, la brique afin que les programmeurs peuvent remplir, comme nous le savons tous, la structure de la construction d'un bâtiment était si solide, dense et fondations inséparables.

Donc, nous devons d'abord commencer par les fondations des bâtiments, familiers avec le bâtiment. Après tout, plus vous apprendre à compter sur une infrastructure complète pour faire de l'architecture d'entreprise sera plus calme.

Mettre en place des points de connaissances infrastructure ne permet pas vraiment de les atteindre. Mais vous avez encore besoin de savoir ce que leur idée de base est de savoir quelles informations vous devez comprendre en profondeur afin que vous puissiez mieux les gérer.

Notre contenu entier de colonne Commencez par l'infrastructure, et enfin une transition progressive vers l'architecture d'entreprise, pour enfin terminer une application complète du processus de conception.

Eh bien, dans l'ouverture d'aujourd'hui du premier chapitre, nous devons tenir dans une perspective macro, à partir de l'infrastructure progressivement à disséquer dans la configuration globale d'une application, j'espère que grâce à l'article d'aujourd'hui, vous pouvez faire un programme pour toute l'image, à la forme compréhension complète.

Nous commençons à partir de zéro.

colonne recommandée, « leçon d'architecture Hsu Wei », en cliquant la fin du texte « En savoir plus. » Trial ou Inscrivez-vous

les applications d'infrastructure

Nous voulons étudier l'infrastructure d'un programme, en fait, à savoir le principe de fonctionnement de l'ordinateur et le fonctionnement du programme.

Peu importe quel type de dispositifs électroniques intelligents, téléphones portables ou, voitures mentionnant une valeur, ils peuvent être appelés « ordinateur ». Tous les ordinateurs peuvent être considérés comme un système unifié « Processeur central + mémoire + nombre de dispositifs d'entrée et de sortie. » Constitution.

processeur central, qui est, nous disons habituellement CPU, responsable de l'exécution des commandes sur commande, le stockage responsable de la sauvegarde des données, y compris nous commande d'observer, ainsi que les données stockées dans le stockage.

Après chaque tour de la puissance, le processeur central va commencer la lecture à un emplacement fixe à partir des données mémorisées (à savoir les instructions), et exécute la commande sur commande, l'exécution de l'exécution de l'instruction se poursuivra à l'instruction suivante. Ainsi a commencé un ordinateur de travail.

Vous pourriez dire, il est aussi simple que cela? Oui, il est aussi simple que cela.

Que ces mots simples, Pourquoi l'ordinateur pour terminer tant de travail complexe et diversifié?

Ce processus, à mon avis, se fondent principalement sur deux points.

Le premier est programmabilité. En général, un mode unité centrale de traitement (CPU) dans ces types comme suit.

  • classe informatique, qui est, soutenir une variété de mathématiques, nous sommes tous familiers, tels que l'addition, la soustraction, sin / cos et ainsi de suite.
  • classe I / O (mémoire morte de données), le dispositif d'entrée-sortie des données de lecture et des données d'écriture.
  • type d'instruction de saut, sous certaines conditions sont remplies, le programme passe à exécuter une nouvelle position actuelle.

Bien que, l'instruction CPU est un jeu d'instructions très limité, mais la séquence d'instructions exécutées par la CPU (ou « programme ») n'est pas fixe, comptant plutôt sur les données stockées dans le stockage - ingénieur logiciel (ou « programmeurs « écrit) logiciel pour décider. Les possibilités sont infinies séquence d'instructions, ce qui signifie la possibilité d'ordinateurs peuvent faire est sans fin.

Le second est un dispositif externe supporte une conception ouverte. Bien que nous soyons très, très ordinateur peut se connecter de nombreux types de périphériques externes, tels que les claviers, imprimantes, écrans, automobile et ainsi de suite, mais le CPU ne comprend pas ces dispositifs spécifiquement ce genre de capacité, et que ces dispositifs à l'échange de données. Il peut être fabriqué à partir d'un certain nombre de dispositifs (le numéro de dispositif est généralement appelé « port ») élément de données est lu, ou des données d'écriture à la section de port de l'appareil.

Par exemple, lorsque vous appuyez sur le clavier lorsque A, CPU peut lire un morceau de données du port connecté au clavier, ces données sont exprimées par vous appuyez sur « A », la période de transmission du port de données peut être connecté à l'unité centrale de traitement de l'imprimante pour conduire l'imprimante pour imprimer un texte spécifique, CPU peut également être envoyée au port où les données de la voiture du moteur, pour entraîner le moteur à tourner, permettant à la voiture de Voyage comme prévu.

Il est à noter que, le savoir de CPU est de savoir comment échanger des données avec ces appareils, mais ne comprend pas le sens de ce qui représente des données. Ces entreprises de périphériques externes tout en offrant périphérique matériel, souvent doivent également fournir du matériel et des logiciels de mise en correspondance, et la collaboration pour terminer la CPU, de sorte que les ingénieurs logiciels peuvent facilement utiliser ces appareils.

Comme on peut le voir de ce qui précède, Computer CPU est un modèle très simple, il est en lecture seule et d'écrire les données, les données calculées . Voilà pourquoi nous avons tendance à des ordinateurs appelés aussi « ordinateur », parce que la CPU du cerveau de l'ordinateur vraiment que faire « calcul. »

La conception de base du système, beaucoup d'entre nous sont conscients, c'est l'architecture informatique von Neumann. Juin 1945, von Neumann « projet de rapport sur la EDVAC » dans le titre du projet de 101 pages rapport final, définit la « architecture de von Neumann », il est également connu comme un ordinateur père. Je veux voir ici, vous ne devriez pas être difficile à comprendre sa grandeur, non?

Avec cette fondation après que le système informatique, nous pouvons écrire le logiciel.

Bien sûr, le premier problème que nous avons rencontré était Trop fatigué pour écrire des logiciels avec des instructions de la machine directe, mais ces machines ont des instructions comme hiéroglyphique, comme personne ne comprend , Ne peut pas maintenir.

Par conséquent, + Compilateur de langage de programmation Apparue. Le compilateur est responsable de notre langage humain est facile à comprendre, les instructions de la machine de conversion dans la machine à comprendre qu'une telle action serait grandement libéré le seuil de logiciel d'écriture.

Lorsque le logiciel d'écriture n'est pas un problème, Le deuxième problème que nous avons rencontré est de savoir comment vivre ensemble plusieurs logiciels sur le même ordinateur. Plus logiciels que vous écrivez des données à un conflit d'adresse mémoire avec la façon de faire? Ensemble pour envoyer une commande d'impression à l'imprimante comment faire? Certains logiciels peuvent secrètement saboter comment faire?

Par conséquent, système d'exploitation Apparue.

il Nous devons d'abord résoudre le problème de la gouvernance des logiciels . Il devrait mettre en place un mécanisme de sécurité pour vous assurer que votre PC contre les logiciels malveillants. En même temps, il faut aussi établir une collaboration entre l'ordre logiciel, de sorte que nous collaborions de la manière souhaitée. Telles que le stockage vous écrivez, alors je vais écrire ailleurs; Pour utiliser la file d'attente d'imprimante, vous plus, je peux ensuite imprimer.

En second lieu, le système d'exploitation est la base pour résoudre les problèmes de programmation Interface . Ces développement de logiciels d'interface de programmation d'une part, d'autre part offre un environnement coexistent plusieurs logiciels (multi-tâches), mettre en uvre la gestion des logiciels.

Par exemple, pour les écrans, les systèmes d'exploitation doivent fournir système de fenêtres multi-tâches pour éviter écran de multiples logiciels est désordre peint, pour le dispositif d'entrée du clavier, le système d'exploitation dans la fenêtre de mise au point, la saisie du clavier pour déterminer si l'événement est envoyé correctement au bon logiciel programme.

Vous constaterez que, aujourd'hui, nous avons développé le logiciel, déjà dans une certaine conception architecturale de base. Comme l'architecture informatique von Neumann, les systèmes d'exploitation et langages de programmation tels que ceux-ci sont ce que nous développons une application qui repose sur l'infrastructure.

Infrastructure Solutions sont quelques-uns des problèmes communs de non-entreprises, qui sont souvent peu importe quel type d'application que vous devez faire face à spécifique. De plus, l'infrastructure est généralement exist logiciel indépendant, il est également connu comme le logiciel de base.

Par exemple, nous connaissons Linux, Nginx, MySQL, PHP et d'autres logiciels sont tous les logiciels de base, le logiciel de base qui réduit considérablement la difficulté du développement d'applications. Dans la tendance actuelle du logiciel en tant que service, beaucoup de logiciels d'infrastructure de façon définitive pour fournir un service Internet, qui est appelée « cloud computing ».

colonne recommandée, « leçon d'architecture Hsu Wei », en cliquant la fin du texte « En savoir plus. » Trial ou Inscrivez-vous

l'architecture complète du programme est quoi?

programme de base fini, le regard let à un aperçu complet du programme d'architecture.

Dans le soutien de l'infrastructure plus puissante, les développeurs d'applications doivent se concentrer sur des questions plus convergence, plus l'efficacité de notre développement. Lorsque nous avons seulement besoin de se concentrer sur la façon dont l'application elle-même pour construire des problèmes d'affaires, nous disons qu'ils sont dans la conception de l'architecture commerciale de l'application (ou « Application Architecture »).

Bien que la structure de l'entreprise en raison de différents domaines d'application qui sont très différentes, mais une structure différente de l'entreprise, il y aura encore beaucoup de choses en commun. Ils suivent non seulement les mêmes principes architecturaux, vous pouvez également suivre le même paradigme de conception.

Certains modèles de conception de manière été guéri vers le bas cadre d'application. Par exemple, une zone d'interaction utilisateur du célèbre framework MVC (comme la langue angulaire JavaScript, le langage Zend PHP, langage Python Django), une variété de moteur de jeu dans le domaine du développement du jeu (comme la langue Phaser JavaScript, Unity3D langage C #) et ainsi de suite.

Pour une application de serveur, son système complet d'infrastructure suit à peu près comme:

Pour les applications clientes et de services côté de l'affaire, il y aura une très grande différence. Le client premier défi est le défi de la diversité.

systèmes d'exploitation, seuls PC ont Windows, Mac, Linux, etc. dizaines de téléphone a aussi Android, iOS, Windows Mobile, et ainsi de suite. Et en termes de type d'équipement est plus, non seulement les ordinateurs portables, les tablettes PC et les téléphones portables, les montres, les voitures, l'avenir sera plus diversifié.

Le premier besoin d'éliminer la diversité des clients et de fournir une interface de programmation multi-plateforme unifiée, est navigateur.

Probablement dans les yeux de beaucoup, le navigateur est un changement majeur dans la façon dont la distribution de logiciels, de sorte que le logiciel peut être prêt à l'emploi, ne nécessite aucune installation. Mais d'un point de vue technique, le logiciel de support du système d'exploitation sous-jacent peut faire la même chose pour prêt à l'emploi.

Apple a dans cette tentative respect sur iOS, vous avez sans doute remarqué, si vous êtes depuis longtemps ne pas utiliser le logiciel, l'iPhone sera effacé ce logiciel à partir d'un local, et l'utiliser la prochaine fois que vous venez de temps en arrière et installé automatiquement. Si le paquet est assez petit, alors ce comportement et les applications Web sans distinction. La différence est que seules les applications basées sur le Web ne sont pas des instructions de code machine, mais les bits d'ordre supérieur de JavaScript.

Parce que JavaScript commande d'ordre supérieur, de sorte que la taille du programme que le code de la machine aura l'avantage. Mais d'autre part, il est un mode de texte JavaScript, expression et inefficace que le code de la machine. Mais il est également en cours de changements au cours des dernières années, la technologie WebAssembly a commencé à prospérer, l'état du code de la machine comme navigateur JavaScript va changer progressivement, plus de possibilités que nous allons faire face au développement front-end.

L'état du navigateur est très spécial, on peut être considéré comme un système d'exploitation au-dessus du système d'exploitation. Une fois un navigateur populaire, les développeurs d'applications ont fait dans le navigateur, donc inévitablement conduire au système d'exploitation sous-jacent de tuyaux, qui sont les fournisseurs de système d'exploitation ne veulent pas voir.

Et si les utilisateurs du navigateur était relativement faible, le montant par lequel l'utilisateur peut toucher sur les petits, différents systèmes d'exploitation pour éliminer les différences de la valeur sous-jacente n'existe pas, les développeurs ne sont pas heureux de développer des applications au-dessus.

Nous savons que la guerre des navigateurs du PC ont frappé aujourd'hui, laissant essentiellement Chrome, Internet Explorer, Safari, Firefox et ainsi de suite. Fait intéressant, le champ de navigateur mobile semblait commencer à jouer de la Chine, qui est un petit programme de guerre micro-canal déclenché, le navigateur est une guerre sur sa nature.

Browser est une base de logiciel qui peut résoudre une grande partie du problème, en fonction de sa part de marché. Mais basé sur le même navigateur de base de la technologie peut également créer un cadre d'application multi-plateforme. Nous voyons React autochtones le long de cette ligne de pensée est d'aller. Bien sûr, ce n'est pas la seule façon, et d'autres seront basées sur des solutions multi-plateformes comme cette tradition QT.

Dans l'ensemble, pour une application cliente, son système complet d'infrastructure suit à peu près comme:

Pour les architectes, ne veulent juste savoir comment faire des affaires devrait se décomposer, toute l'application du fond au niveau supérieur de la superstructure, chaque couche doit être une variété de décisions. Faites première version iOS ou applets faire en premier? Sélectionnez la langue est Java ou Go? Ceux-ci font partie de l'architecture.

épilogue

Aujourd'hui, à partir du « comment les ordinateurs fonctionnent » pour commencer, prendre une vue d'ensemble d'un oiseau, un aperçu complet du système d'architecture du programme.

Certaines personnes peuvent voir le contenu d'aujourd'hui se sentirait un peu inquiet :. « L'architecte d'origine pour apprendre tant de choses, il semble être un architecte, loin de moi. »

Les bonnes nouvelles sont: nous devons dissiper cette crainte. Si nous avons la capacité de code d'écriture par rapport aux mouvements d'arts martiaux, alors les capacités d'architecture comme force interne. Pratiquer une bonne résistance interne, mouvements d'arts martiaux peut être pratique à utiliser. La capacité de l'infrastructure mise à niveau, en substance, est le processus de votre contexte de connaissances (les méridiens du corps) peignage à plusieurs reprises et la maîtrise. Avec la pensée de l'architecture est pas difficile, mais très nécessaire. Que vous soyez aujourd'hui est pas l'équipe d'un architecte, pour tout programmeur, avec la pensée de l'architecture vous permettra de devenir un facteur de différenciation clé.

Il est comme vous n'avez pas à engager l'industrie du cloud computing, mais vous avez encore besoin de comprendre la nature du cloud computing, le cloud computing a besoin de contrôler. Vous ne devez pas faire un navigateur, mais vous devez comprendre leur façon de penser, parce que vous comptez sur eux en profondeur.

Ensuite, nous allons continuer à étendre ce programme à parler de tous les aspects de l'architecture du système intérieur. Vous devez penser à ce que le contenu d'aujourd'hui et l'interprétation, bienvenue à me donner un cri, nous discutons ensemble. Si vous pensez que quelque chose qui accueillent également des articles partager à vos amis. Merci d'avoir écouté, nous au revoir à côté.

La nouvelle colonne | « classe d'architecture de style Wei Xu »

Durée limitée ¥ 99 Abonnez-vous à supporter par ¥ 30, 3 jours plus tard, le prix de restauration d'origine  ¥ 129

Cliquez pour mettre fin à la « En savoir plus. » colonne abonner.

[ufs]

Abonnez-Box Après l'ajout de petits opérateurs soeur dididisco canal Micro répondre Mots-clés "Old Xu" Peut être payé « En vedette 111 architectes anthologie » .

Cliquez sur « En savoir plus. » Abonnez-vous La rubrique:

Hokkaido devient passé, la vitesse à la foule!
Précédent
Guangdong plus embarrassantes villes, plus que la population de capitaux étrangers, mais il est devenu une « ville fantôme »
Prochain
la plus haute montagne, la montagne est non seulement la neige et la glace, il y a beaucoup de cadavres et les déchets du monde!
expérience futurs pères « enfants » ne peuvent pas supporter de lui adresser la parole face à la douleur
Deux 52 minutes mettre en déroute! Rockets 3 gardent tableau doit, Allemagne bel essai de 1 an fruit ours fou
Guangdong mise à niveau du tourisme: l'alimentation attrayante et pratique pour le libre exercice de la destination de loisirs international
le plus embarrassant « pays », « roi » en direct dans le château du monde tous les jours, mais seulement trois mètres carrés de terrain
Après avoir utilisé tapuscrit deux ans: il vaut la peine le recommander?
La délégation française a visité Zhejiang Xianju « transmettre précieux »: impatient de la profondeur de la coopération
2 trois poinçons champ Harden voler signes Akira assemblage 3 m, le bulbe « shift »?
tremblement de terre de Wenchuan dans le Sichuan effondré Yunyan Temple Temple Dongyue, réaménagement et plus tard a été brûlé
Comme pour Voyage en Thaïlande, mais vous ne pouvez pas savoir, des magasins « de routine » un peu plus
Conditions en Afrique est difficile, mais ceux qui travaillent en Afrique, mais ne veulent pas revenir au développement!
« marque Owen Pills » grand retour distal, petit Pierce 38 secondes deux fois pour frapper