当前位置:网站首页>The 17 year growth route of Zhang Liang, an open source person, can only be adhered to if he loves it
The 17 year growth route of Zhang Liang, an open source person, can only be adhered to if he loves it
2022-07-04 15:35:00 【Shardingsphere community】
When one is in a state of continuous pursuit and sharp thinking , What value and freedom will he gain ?
Some people say , Programmers who have typed 10000 lines of code , You can write a basic entry Guide , It is a reference for beginners . Programmers who code more than 100000 lines , Be able to write an advanced technical manual , For people who are caught in the bottleneck of development “ Point one or two ”. And completed nearly ten million lines of code “ Top players ”, There is no need to carry out tedious “ Narrator biography ”, Its existence itself , It will bring strong positive incentives and value enlightenment to the public .
Zhang Liang introduced to you today , It is what we describe , Written nearly ten million lines of code “ Divine player ”. When focusing on participating in the construction of open source projects , Zhang Liang submitted a total of 9,138,592 Line code .2372 In the day , Zhang liang “ Sit still ”, The average contribution is nearly every three days 10,000 Line code . In the persistence day after day , Submit... Every day 3、4 Sub code is a must in Zhang Liang's personal life , Even more punctual than the daily three meals 、 high frequency .
Huge data , Compare with the industry , It's amazing creativity . Mental strength , Compare with all living beings , There are very few .
Talk about the supporting force behind it , Zhang Liang summed it up in eight words :『 Because of love , So diligence .』 This love has supported him to experience role switching again and again : From an ordinary developer to the creator of the world's top open source projects , And then to become a startup company CEO. Seventeen years , Zhang Liang's role is constantly improving , What remains unchanged is his initial enthusiasm and intention to devote himself to the open source industry . For Zhang Liang , The 20 inch display in front of him not only builds a multidimensional world that allows him to enjoy his enthusiasm and advantages , A huge picture about the history and future development of the open source industry has also quietly formed in his eyes ...
One 、 Practice in the code world 『 Perfectionism 』 Pursue elegant code , It's learning , It's art
In Zhang Liang's code world , Elegant code constitutes a beauty of order , It is he who pursues in the code world 『 Perfectionism 』 Main methods .
idea : Use elegance as “ technology ” Give the soul
Students who are familiar with Zhang Liang know ,『 grace 』, It's the word he has been talking about . The project architecture should be elegant 、 The program should run gracefully 、 The look and feel of the code should be more elegant .
But at first, Zhang Liang was not an advocate of elegant code . Set the time back to more than ten years ago ,21 In the early years of the century , The creativity of programmers is far from being stimulated , Most of them are step-by-step , Take the written lines of code as tools to realize functions , As for design spirituality 、 Readability , It's impossible to talk about .
But the truth is , For development , Ensure the legibility of the code while realizing the simplicity of the code 、 Easy to maintain and expand , This is knowledge 、 Also art . Code is more than just a tool to implement requirements , It is also the embodiment of understanding and abstraction of the business field .
How elegant code should be interpreted ? What kind of code is excellent and elegant ? In the reading 《 Clean code 》 when , Zhang Liang found the answer :
Elegant code is like military regulations , Strict and orderly , Require software engineers to be organized , Need a clear rule bottom line ;
Elegant code is hierarchical 、 Clear thinking , The abstraction level of code is required to be the same ;
Elegant code can be decoupled between modules , And the relationship is clearer ;
Elegant code needs to be minimalist .
“ Make the code beautiful ”, It's not just about comments 、 Format and other visual effects . There are still many details to consider , For example, whether the variable name is obtained properly 、 Whether the division of rights and responsibilities between classes and functions is clear, and so on . Beyond details and attitude , It will also test whether a developer has strong overall architecture design ability . Is the architecture design reasonable , Whether the functional branches are balanced , Are important factors that test the elegance of a project itself .
But it is not easy to practice elegant code in projects , How to measure the elegance of the code in the project ? How to keep the overall elegance and robustness of the project ? These also start with why we should participate in open source . Because only in the open source ecosystem , To maximize the value of elegant code , It is also related to whether the code written by developers can match the higher-level open source ecosystem .
grope : Trial and error in the open source community
Human growth 、 mature , It needs time and practice . Before growing into a top player in the open source circle , Zhang Liang experienced a trial and error 、 The process of continuously optimizing yourself .
In the past , Enterprises often form several typical chimney business architectures around different businesses , Programmers will only serve their own chimney . This leads to the non opening of codes between departments , Because there is no need to show it to outsiders , Furthermore, developers lack the motivation to write documents . At the same time, because the functions within the enterprise are not interconnected , There are many tools with overlapping capabilities . therefore , In order to make technology in the industry 、 Free flow between fields , The collaboration between teams is closer and tacit , Reduce the repeated work of making wheels , We need a platform or community to undertake such capabilities , Allow developers to submit new functional branches at any time , Add richer features and functions , Form an open source code culture , Create a better engineer atmosphere .
This is the meaning of participating in open source .
When Zhang Liang was still in college, he learned for the first time in the practical programming course Apache Tomcat when , He has a strong interest in open source . When we see that the world's top projects are arranged into neat typefaces and written into textbooks , When forming a neat and elegant beauty , A desire springs up in Zhang Liang's heart :“ I also want to write something that can be selected into the textbook 、 Software popular all over the world .”
Therefore, Zhang Liang believes , Technical people should have more sober judgment and cognition , Instead of sticking to real conditions and traditional paths , We should think from a higher dimension , Reconstruct a network architecture that better matches the infrastructure . This is Zhang Liang facing the open source field , The first step to successfully build top open source projects in the future .
In terms of technical value , Find an accurate anchor for your personal development . This anchor point , It must conform to the industry 、 Industry development trend , In order to make open source projects have a longer life cycle and broader development space .
Anchor point : Rewrite the infrastructure for distributed architecture
at that time , It coincides with the high-speed explosion of China's Internet . Pursue elegant code on one side 、 Polish your own technology , While striving to share the technological value with more people , Zhang Liang is also keenly aware of the emergence of the real world “ Discordant vibrato ”—— At that time, the Internet world was mostly a traditional centralized data architecture , But it is increasingly difficult to match with the domestic realistic environment that is developing at a high speed .
With the continuous expansion of online application scenarios , The process of database fragmentation is accelerating , Database architecture 、 agreement 、 function 、 Applicable scenarios are becoming more and more diverse . In terms of database architecture , The centralized database evolved from the stand-alone system coexists with the original distributed oriented new generation database ; In terms of database protocol ,MySQL and PostgreSQL These two main open source ecosystems and the ecosystem provided by manufacturers also occupy a place in the database system ; Each database has more and more unique functions and applicable scenarios .
therefore , Fragmentation has become the general trend in the field of database , The database of a single category cannot be applied to all scenarios , It can only be applied to one or several good scenes .
Therefore, we need to start from actual combat , Match the demand of Chinese Internet , The advantages and uniqueness of creating open source projects . It is against this background , The era will open source 、 Elegant code is bound with Zhang Liang .
Two 、 Open the open source universe “ The gate of honor ” from “ The first one works hard ” To “ To win ”
The process of incubating open source communities , It is also Zhang Liang's personal precipitation 、 Broaden your horizons 、 The process of opening the pattern .
From the initial 3 Modules have grown to today 220 A module , Become Apache The road of honor for top projects ,ShardingSphere I have been walking for seven years . The story goes back to the original starting point , from ElasticJob To Sharding-JDBC Until then ShardingSphere. Seven years , The open source project led by Zhang Liang has experienced a development process from no one cares about it to a little famous and then to shine . All iterations , They are all polished by diligent thinking and a lot of reconstruction .
In the operation of open source projects , Zhang Liang with a firm will , Spend a lot of time 、 Put your energy into the project . Seven years , Zhang Liang is right ShardingSphere Carry out continuous grinding 、 restructure . stay ShardingSphere Within the community , The amount of code contributed by Zhang Liang once reached 80% above . With ShardingSphere Growth along the way 、 The transformation of 、 upgrade , Zhang Liang's understanding and cognition of the open source world has also changed :『 After open source , How to make the whole project run stably for a long time ?』
“ The reputation of a successful open source project belongs to the community , There is an essential difference between a mature community and an individual's open source project .”
Open source is not a personal game , Several small projects have been unknown since they first set foot in open source , To ElasticJob Preliminary results , Until then Sharding-JDBC Evolve into Apache ShardingSphere And grow into a world-class open source project . Zhang Liang understands , If you want to do a good open source project , Let the project flourish , Then the best way is to gather community forces . You can be the founder of this project 、 Is the leader , But it can't be the only owner .
When I first entered the open source community , Zhang Liang will pay close attention to comments from others , Because it's common to get flushed with a function ,『 perfect 』 It's a word he often talks about . But sometimes , I think it's perfect , But in others' eyes “ Not enough practical ”.『 One thousand thousand , Even in the same scene , Everyone's understanding of functions and requirements is also different . A project belonging to one person , And projects belonging to the community , There are essential differences 』.
The difference is that , The upper limit of individual projects is restricted by individual ability , The depth and breadth of its development , It all depends on the technology and vision of the original author . But from a macro perspective , Open source projects belonging to the community , If you want to have a very high development limit , Rely more on the community 『 multifarious 』 Scenarios and requirements . Zhang Liang thinks that ,“ Accept and welcome the diverse voices of the community , And effectively select constructive voices ” It is a way for open source projects to achieve substantial growth 、 The necessary process to make the open source community stronger . At the level of personal spirit , The source of Zhang Liang's sense of achievement is also changing : From the dominant spirit of ownership gradually stabilized , Instead, the pattern is higher 、 The family spirit with a broader vision .
With the enthusiastic participation of global technology geeks , Now ShardingSphere It has basically become an indispensable part of programmers' use , Its functions are more widely used 、 Its user base also shows an exponential growth trend . For the current ShardingSphere Come on , The project just caught up with the opportunity of the Internet explosion in China ,ShardingSphere The functions match the development needs of China's Internet . Because it is infrastructure oriented , It can be said that ShardingSphere It is the background database of Internet enterprises 『 Just need to 』, This is also ShardingSphere The uniqueness of .
After years of grinding and testing ,ShardingSphere stay Apache The foundation comes from “ seed ” Grow into “ Hand down disciples ”, The vitality of the community has also become stronger after joining the foundation ,ShardingSphere The community has gradually become a global developer 、 Technology geek 、 Open source enthusiasts and others collide with each other . The community is for all right ShardingSphere Interested people provide open technology 、 The same conversation and common enthusiasm , Become a global exchange stronghold across time and space .
3、 ... and 、 In the business quadrant Build a for global technicians “ Dazzling stage ”
There is no shortage of excellent and intelligent developers in China , But what is lacking is an environment that allows developers to continue to work hard , And the cornerstone of a stable project .
Zhang Liang thinks that , Excellent open source projects are similar to classic dramas . The value of classic drama will be performed by different actors 、 In a surprising breakthrough after breakthrough, time-honored . Its charm will be passed on from generation to generation , Call on people to participate at the behavioral level , It also resonates with everyone at the spiritual level .
It is with this original intention , Zhang Liang plans to work in his beloved open source field , For the global technical people to build a can sprinkle enthusiasm 、 Give full play to your talents “ stage ”.2021 Beginning of the year , With the efforts of Zhang Liang and many founders ,SphereEx The company came into being . The company uses open source projects ShardingSphere Based on , oriented B End customers provide professional business solutions .“ Open source and business are not mutually exclusive . On the contrary , The two can promote each other's development in a more complementary way , Open source can bring a solid user base to commercial companies , And business can also feed open source , So as to establish a more perfect 、 Friendly community ecology .”
From a pioneer in the open source field to an entrepreneur who actively accepts the baptism of business and capital examination , In the face of this change , Zhang Liang admitted that entrepreneurship has expanded his ability boundary :“ When I act as ShardingSphere When the project leader , It's more about playing the role of Technology Manager ShardingSphere Think and make decisions in top-level design , More inclined to product thinking . When my identity is SphereEx Business operators , I think more about how to design the transfer SphereEx Sustainable business model , How to make a reasonable balance between customer demand and market demand . The founders and technology managers of the company focus on different things , Technology managers focus on code quality and product architecture design , And company managers will pay more attention to cash flow 、 revenue 、 Business strategy 、 Team building, etc .”
Facing the treacherous business circles , Zhang Liang said that although entrepreneurship is challenging , But in the process of commercial operation of the company , His original intention of loving the open source industry and the excitement generated when facing challenges have not changed . From technology to business , In fact, it's like upgrading to a different scene , Trump cards can be used in all situations . Zhang Liang thinks that , No matter what kind of scenario you are facing , The important thing is to have a structured thinking .“ First of all, you need to have the ability of static architecture , This requires you to have a global perspective , Only in this way can we design a suitable and complete underlying structure . On the other hand , You should also have a vision of dynamic architecture , Only in this way can we be flexible with the changes of the real environment , Make the static structure more dynamic .”
In the field of love , People will willingly give themselves “ Set rules ”, And stick to it . There is no such rule , He will not be himself .
For Zhang Liang , Devote 100% enthusiasm and energy to the open source field , Is willing to set up for themselves for many years 、 And stick to it 、 Stick to it “ The rules ”.
On the open source journey , Zhang Liang always follows the call of love in his heart , With a steady stream of courage and perseverance , Continue to move forward on the road of open source : Experienced several project refactoring 、 The bitterness of transformation ; After nearly ten years of technical study 、 The dormant period of accumulation ; I have also tasted the reality of bearing a huge amount of code of nearly ten million lines alone ... but , After the storm , He also gained beyond his personal perspective , Bigger 、 Enrich 、 Multidimensional value and freedom .
A passionate pursuit of personal interests 、 Fight side by side with like-minded friends 、 Let the vision in your heart be realistic “ Perfect landing ”、 Let personal value be infinitely magnified through global collaboration , And feed back the value 、 Benefit everyone .... These realistic levels of achievement , It forms the colorful scenery on Zhang Liang's way to Kaiyuan .
For Zhang Liang , Love of open source , It's an endless process . And the open source universe is brighter 、 A vast future , Just like Zhang Liang , Persistent pursuit of open source 、 Unique thinking and unlimited love of open source people in the joint construction , Come slowly .
Welcome to the link , Learn more :
Apache ShardingSphere Official website :https://shardingsphere.apache.org/
Apache ShardingSphere GitHub Address :https://github.com/apache/shardingsphere
SphereEx Official website :https://www.sphere-ex.com
边栏推荐
- MySQL learning notes - data type (numeric type)
- LeetCode 35. Search the insertion position - vector traversal (O (logn) and O (n) - binary search)
- 一篇文章学会GO语言中的变量
- Detailed explanation of MySQL composite index (multi column index) use and optimization cases
- lnx 高效搜索引擎、FastDeploy 推理部署工具箱、AI前沿论文 | ShowMeAI资讯日报 #07.04
- LeetCode 1184. 公交站间的距离 ---vector顺逆时针
- MySQL - MySQL adds self incrementing IDs to existing data tables
- Unity动画Animation Day05
- 进制乱炖
- 都在说DevOps,你真正了解它吗?
猜你喜欢
Redis 解决事务冲突之乐观锁和悲观锁
31年前的Beyond演唱会,是如何超清修复的?
Deep learning neural network case (handwritten digit recognition)
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
Go zero micro service practical series (IX. ultimate optimization of seckill performance)
Analysis of nearly 100 million dollars stolen and horizon cross chain bridge attacked
.Net 应用考虑x64生成
一篇文章搞懂Go语言中的Context
开源人张亮的 17 年成长路线,热爱才能坚持
lnx 高效搜索引擎、FastDeploy 推理部署工具箱、AI前沿论文 | ShowMeAI资讯日报 #07.04
随机推荐
Unity script API - time class
MySQL federated primary key_ MySQL creates a federated primary key [easy to understand]
MySQL - MySQL adds self incrementing IDs to existing data tables
进制形式
暑期复习,一定要避免踩这些坑!
干货 | fMRI标准报告指南新鲜出炉啦,快来涨知识吧
Case sharing | integrated construction of data operation and maintenance in the financial industry
Unity脚本生命周期 Day02
Shell 编程基础
Quelles sont les perspectives de l'Internet intelligent des objets (aiot) qui a explosé ces dernières années?
一篇文章学会GO语言中的变量
Redis 發布和訂閱
Go zero micro service practical series (IX. ultimate optimization of seckill performance)
进制乱炖
压力、焦虑还是抑郁? 正确诊断再治疗
Logstash ~ detailed explanation of logstash configuration (logstash.yml)
js平铺数据查找叶子节点
selenium 浏览器(2)
夜天之书 #53 Apache 开源社群的“石头汤”
[differential privacy and data adaptability] differential privacy code implementation series (XIV)