当前位置:网站首页>Dix ans d'expérience dans le développement de programmeurs vous disent quelles compétences de base vous manquez encore?
Dix ans d'expérience dans le développement de programmeurs vous disent quelles compétences de base vous manquez encore?
2022-07-02 09:06:00 【Programmeur】
Un.、Analyse des sources
L'analyse des sources est une connaissance critique,Pour maîtriser cette connaissance critique,Peut être immuable,L'analyse des sources est ennuyeuse pour beaucoup de gens,C'est dur à comprendre..
Lecture du code source,Je pense qu'il y a trois points principaux:Base technique+Une forte curiosité intellectuelle+Patience.
Je pense que c'est le principal moteur de la lecture du code source.Je vois la plupart des programmeurs,Attitude à l'égard de l'apprentissage,En gros, ce sont ces niveaux.(C'est extrême.):
Se concentrer uniquement sur le projet lui - même,Je ne comprends pas.baiduUn instant..
En plus de bien faire le projet,Et lire des livres techniques sur le projet,Regarde.wikipedia.
En plus de lire des livres liés au projet,Et lireITLivres de l'industrie,Comme apprendre.JavaHeure,Et apprendre le langage de fonction,Par exemple:LISP.
Trouvez des projets open source,Essais approfondis de cadres tiers,Et écriredemo.
Lire le cadre de base、J2EESpécifications、DebugNoyau du serveur.
La plupart des procédures sont les suivantes:1Espèce,À la5L'élevage exige plus qu'un grand intérêt,Il faut du courage.:Je peux lire??En fait...,Tu peux lire..
Patience,C'est vraiment important.Parce que vous voyez rarement des articles ou des livres d'orientation qui lisent le code source,Et personne ne vous a demandé ou suggéré de lire.Vous êtes souvent coincé en lisant,Et un propriétaire de carte pourrait être coincé dans un labyrinthe.À ce moment - là,,Ce que vous devez faire,Ça pourrait être une interruption temporaire.,Regardez - le de l'extérieur.:Par exemple:APIStructure、Dessin du cadre.
La figure ci - dessous résume les points de connaissance des sources que je devrais apprendre le plus à l'heure actuelle.:

2.、Architecture distribuée
Les systèmes distribués sont un sujet ancien et vaste , Et ces dernières années, “Big Data” La montée du concept, Une nouvelle jeunesse et une nouvelle vitalité .En plus de ça,, Le système distribué est également un sujet qui met l'accent à la fois sur le modèle théorique et les techniques d'ingénierie . Par rapport à l'apprentissage automatique , Les étudiants qui étudient les systèmes distribués ont tendance à se sentir :“Facile à démarrer,C'est dur d'aller plus loin.”.C'est vrai., Il faut peu de connaissances mathématiques pour apprendre les systèmes distribués .
Les systèmes distribués sont un domaine de recherche complexe et vaste,Apprenez un ou deux cours en ligne,Lire un ou deux livres peut ne pas couvrir tout son contenu.
En général, La tâche d'un système distribué est de combiner organiquement plusieurs machines 、Connectez - vous., Qu'ils travaillent ensemble pour accomplir une tâche , Peut être une tâche de calcul , Ou une tâche de stockage . Si nous devions classer les recherches récentes sur les systèmes distribués , Personnellement, je pense qu'il pourrait y avoir trois parties :
Système de stockage distribué
Systèmes informatiques distribués
Système de gestion distribué
La figure ci - dessous est un résumé de la technologie distribuée la plus courante au cours des dernières années :

Trois、Microservices
Actuellement, les micro - services sont très chauds , Tout le monde prétend utiliser l'architecture des microservices , Mais qu'est - ce qu'une architecture de microservices? ? L'architecture des microservices est - elle une tendance? ?Pour ces questions, Nous manquons tous de clarté .
Pour résoudre divers problèmes dans le cadre d'une architecture monomère ,L'architecture des microservices a vu le jour. Au lieu de construire un énorme 、 Un monstre difficile à apprivoiser , Il vaut mieux diviser le service plus tôt. . L'idée centrale du micro - service est la séparation et le découplage des services ,Réduire la complexité. Le micro - service met l'accent sur le démontage fonctionnel , Assurer une fonctionnalité unique pour chaque service dans la mesure du possible , Selon le principe de la responsabilité unique (Single Responsibility Principle)Clarifier les rôles. Rendre les services plus légers , Pour être flexible 、Réutilisable, En fonction des besoins en ressources propres de chaque service , Déploiement séparé , Étendre horizontalement séparément .
Le graphique ci - dessous résume les points de connaissance que j'ai besoin d'apprendre sur les microservices :

Quatre、Optimisation des performances
Qu'il s'agisse de faire face à une entrevue de première ligne ou d'améliorer l'expérience du produit , L'optimisation des performances est un sujet incontournable .
L'objectif de l'optimisation est de permettre aux utilisateurs d'avoir “Allez”Des sentiments, Comment les utilisateurs se sentent - ils rapides? ?
La vitesse de chargement est vraiment rapide , L'utilisateur ouvre l'URL d'entrée et appuie sur Entrée pour voir la page immédiatement
La vitesse de chargement n'est pas plus rapide , Mais les utilisateurs pensent que votre site est rapide
L'optimisation des performances dépend de plusieurs facteurs , Y compris la collecte des ordures 、 Machines virtuelles et systèmes d'exploitation sous - jacents (OS)Paramètres. Il existe plusieurs outils à la disposition des développeurs pour l'analyse et l'optimisation ,Vous pouvez lire Java Tools for Source Code Optimization and Analysis Pour apprendre et utiliser .
Il faut comprendre que , Il n'y a pas deux applications qui peuvent utiliser la même optimisation , Et il n'y a pas d'optimisation parfaite java Chemin de référence de l'application . Utiliser les meilleures pratiques et insister pour que l'optimisation du rendement soit traitée de façon appropriée . Pour une optimisation vraiment maximale des performances ,Vous êtes Java Développeurs,Oui. Java Machine virtuelle(JVM) Bonne compréhension du système d'exploitation sous - jacent .
Les cinq systèmes de connaissances ci - dessus sont l'expérience que j'ai acquise au cours de mes années de pratique ,Sont les technologies les plus courantes.
Voici quelques - uns des principaux ensembles de connaissances que je résume que l'optimisation du rendement devrait apprendre à comprendre :

Cinq、JavaIngénierie
Le travail est bon.,Il faut d'abord utiliser ses outils.,Que ce soit petit blanc,Ou le développement avancé,Il faut d'abord choisir les bons outils. Améliorer l'efficacité du développement .Laissez - vous plus de temps pour réfléchir.

边栏推荐
猜你喜欢

Hengyuan cloud_ Can aiphacode replace programmers?

Minecraft空岛服开服

Function ‘ngram‘ is not defined

汉诺塔问题的求解与分析

Minecraft群組服開服

C#钉钉开发:取得所有员工通讯录和发送工作通知

Don't spend money, spend an hour to build your own blog website

Illegal use of crawlers, an Internet company was terminated, the police came to the door, and 23 people were taken away

Minecraft模组服开服

Linux安装Oracle Database 19c RAC
随机推荐
Win10 uses docker to pull the redis image and reports an error read only file system: unknown
队列管理器running状态下无法查看通道
Move a string of numbers backward in sequence
Loadbalancer dynamically refreshes Nacos server
京东高级工程师开发十年,编写出:“亿级流量网站架构核心技术”
C4D quick start tutorial - C4d mapping
Multi version concurrency control mvcc of MySQL
gocv边界填充
Sqli labs (post type injection)
Installing Oracle database 19C for Linux
使用递归函数求解字符串的逆置问题
随笔:RGB图像颜色分离(附代码)
kubernetes部署loki日志系统
我服了,MySQL表500W行,居然有人不做分区?
Use of libusb
【Go实战基础】gin 如何绑定与使用 url 参数
D interface and domain problems
Redis安装部署(Windows/Linux)
【Go实战基础】gin 如何设置路由
Qt的右键菜单