"Four years summary" Daguai upgrade the road a program of the Apes

grateful to you

Unconsciously, the bank has four years time, write a blog also wrote four years. In 2020 about to enter a new year, wrote this article for themselves over the past four years, an analysis and summary, both as their year-end summary, but also hope you readers, you grow slightly inspired Developer .

table of Contents

First, why write a blog? (Interested in the origin of the difficult start to write, thousands of Revision of a poem peace of mind)

Why write a blog? This problem is also small series have to ask yourself, every time thinking are fragments, never seriously thought about, if I have to answer directly, then I might use two words to describe the hobby.

1. So what hobby is how did this happen?

Thinking fee through the brain, finally got the answer, the answer is, because of fear, because I was lazy.

  • ? So what exactly afraid of it afraid of making mistakes, fear of making mistakes, afraid I do not know how to solve the wrong;
  • Why is it lazy? Lazy to make mistakes again, I do not know how to handle the rush too lazy to make mistakes.

So where each encounter problems or do not understand, after all thinking the resulting product will be recorded in a note down. A good memory as bad written in fact, that is the truth. But the truth until graduation Xiao Bian understand, it has always been a small series before the Battle of Five slag. Because it is so slag school education has also been a small series of the biggest weaknesses, but also because they are aware of a slag school, because they know their weaknesses, so it can not relax the pursuit of new knowledge. Wu not past the bridge, known to those who can be traced. Here again it is recommended to read this article to the readers, a good memory as bad written, be sure to take notes. Each note is a personal wealth. Might someday you doing things or solve problems provide important inspiration and clues.

2. How do I force myself to develop the habit of taking notes?

This thing is very difficult to develop a habit of, young parents told us to form good habits of reading, but said so many years, did not develop in the learning stage. (PS: This sentence only learn slag into effect, because small very good person or a lot). Then the next Xiao Bian said, I understand, and to provide a Solution:

  • a. Pragmatism
  • b. develop a plan

pragmatism

I do not know that we have not noticed, most developers are not very good, reading could not read in English study period, not to mention the word dictation, but the line after a period of time, can even separate reading plain English documents and write words. Xiao Bian took that effect known as pragmatism, not before learning English, mainly do not know a word they learn what will be useful, where will use. So I have not learn. But as developers, we understand, I learned the word I would use at which place.
Therefore, we first determine the direction before to develop the habit of taking notes, something which needs to take notes, those things do not have to take notes. For example, I note taking direction is direction-technical, management and design notes remember very little.

Develop a plan

Adhere to a month to take notes. Xiao Bian habits are learning Java Web development, when, when we have not yet graduated from college, because in the school of Java basically count entry, and did not participate in any real items, so the school organizations to participate in a training institution, as a practice assessment. Tuition is 1.5w yuan (This amount is what my family 1/3-year revenue), for a period of five months. Actual may be less, accounting down tuition is RMB 100+ per day. If you do not learn something every day, I feel sorry for his family. How to prove their harvest it? Xiao Bian was the practice is taking notes.
So in the computer records of a folder. Daily learning knowledge points are recorded a note. I did not expect really insist on 30 days. Later in this note I find a lot of credit for working time legislation. I also laid a real prison of Java basic skills. Xiao Bian believe that any one thing as long as a month will force a habit. What do you think?

Second, write a blog what's the use? (Study break rolls, getting a God)

What is the use to blog, write a blog to bring their own what's the catch?

1. secondary learning, indexing

When the process when our knowledge of the problems encountered or learning to be recorded, it is actually a second thought. For example, we might want to clutter the knowledge we learn to perform and summarized. In the process and summarized in this invisible knowledge is summarized and classified systems. And connect with you has knowledge points. This is similar to a record Mysql data, and this data is added to an index, when faced with a similar problem, you might not think of how to solve, but can you remember a note before recording, when you look at the notes to find the solution to the problem. This approach has helped countless small series to solve the problem.

2. consolidation of knowledge

There is a word called half-comprehended, how to determine that they are really not fully understand or grasp it? If there is a knowledge point, our own understanding, then we speak to others is when will be able to speak to understand each other in the face of the other questions, the answers to the questions, can be thought the other doubts. But if in the face of the other side of the question, can not answer it, or simply do not understand the talk, then in fact we do not understand myself. That this time should be how do? Phone in hand, the world I have. Direct Baidu Google search where you unknown, to supplement the knowledge you notes.

3. active learning, to avoid problems

In the new people just entering the industry, you may encounter a lot of problems in the system, such as the problems of Spring. Can not find Bean, injection failures, circular dependencies. And so on. Will certainly rush, affect the progress of the project, affecting their work mood and pace of work, came home from work at night may sleep all sleep is not practical. (PS: Small series in the first year is the case)? How to solve it this time how to make us happy coding, take full advantage of the project rhythm, stay out of time with a girlfriend?

Xiao Bian that only one method. That is a positive issue, take the initiative to find the root of the problem. Read more source of knowledge common development framework, and recorded. So when you know you can achieve the principles of the framework of the initiative to avoid the problem and quickly solve the problem.

Ask a question, Spring is how to resolve circular dependencies?

The question I asked 10 students to develop, probably nine do not give me be clear. But if you read this article, Xiao Bian give a Liezi you will understand. The text below the figure, I wrote in 2018, when development framework comments.

/**
 * 为什么不解决循环依赖问题?
 * 1. 循环依赖本来就是一种错误的编程导致的,与其在使用时候发现,不如在服务启动就提前发现。
 * 2. 循环依赖创建的对象,就跟错误的递归调用一样,极容易造成内存溢出,等无法自动修复的系统级异常。
 * <p>
 * 如何解决循环依赖的问题?
 * 1. 发现有循环依赖,就先实例化对象(前提1.Bean有无参构造;前提2.单例模式,不支持原型模式)
 * 2. 实例化对象(不进行属性注入),因为都是单例,所以到单例里面分别获取这两个循环依赖的对象,进行互相注入依赖对象
 * <p>
 * 伪代码实现
 * <pre>
 * class A{
 *     B b;
 * }
 * class B{
 *     A a;
 * }
 *
 * A a = new A();
 * B b = new B();
 * a.setB(a);
 * b.setA(b);
 *
 * </pre>
 *
 * @author liuxin
 * @version Id: SingletonBeanRegistry.java, v 0.1 2018/10/29 2:21 PM
 */

HanFramework

如果你对文字的描述还是看不明白,就看伪代码。 Spring只是把伪代码给实现而已,其实原理就跟伪代码一样很简单。

以上的主要想说的是,多学习框架源码,因为框架是很庞大的,很系统化的,所以更要系统化记笔记。这样就能快乐编程了。留出更多时间来配女朋友了。 但是学习的前期是很痛苦的,所以要先死后生,终有破茧成蝶的一天。

三、四年打怪升级路?( 道阻且长,行则将至 行而不辍,未来可期)

回顾过去的三年多时间,很多东西历历在目,经历过无数个加班,也通过无数个宵。但从未后悔,也未敢抱怨。这其中大部分加班都是在上海度过的,下面回顾2016~2019。

1. 2016 - 2017 记录问题,总结问题

小编工作的第一年。也是小编的疯狂成长期。这一年也是SpringBoot真正开始流行的一年,于是这一年小编写了36篇关于SpringBoot的笔记。但是这个时候的笔记偏向于实用主义,这些笔记帮我快速解决了很多问题。

2. 2018 - 发现问题,避免问题

前一年总是在被动的解决问题,让小编我加了很多的班,最终致使小编找不到女朋友,于是痛定思痛,主动去找问题,正视问题。这一年开始了对框架源码的疯狂学习(PS: 学习时间仅仅占用我生活时间的很小一部分,小编并没有很爱学习),主要是看一点记一点,先将问题记成知识点,然后再将知识点连成片,最后在将片连成面。最终形成自己关于框架的知识面(PS: 只要你对Spring形成自己的知识面,那么就可以轻松独立面对任何Java方面的框架的源码 )。因为天下文章一大抄,看你会抄不会抄,抄来抄去有提高,框架之间也是互相借鉴和学习的。我们也可以拿来主义,先拿来,后改造利用。形成新的轮子。现在回顾想想挺简单,但是实际学习并不容易,但是只要不放弃,坚持记笔记。问题就能迎刃而解。如果不是有记笔记的习惯,小编早就放弃了。现在小编不能说对Spring全部知识点都掌握,但是可以说掌握百分之六七十。最起码遇到问题不在紧张,不在惊慌。这个时候你就可以对同事说。

稳住,不要慌,有我在。

3. 2019 - 了解问题,解决问题

在经历了扎实的前两年学习,基本到第三年就遇不到什么问题,这里不是指不会遇到问题,而是说,遇不到那种值得让你记笔记的问题了(但是实际也会有,并不多)。因为大部分问题,你都可以通过自己的知识体系而化解了。这个时候就开始要主动的去找问题,并提出解决方案了。这一年小编开始重复造轮子,很多人质疑过重复造轮子是浪费时间,但是小编想说的是如果从学习角度想,重复造轮子是最容易提升自己的一个重要手段,因为在造轮子的过程中才会真正体会到框架的设计者们为什么会这样去设计,这样设计的好处在哪里。
这一年小编在业余时间独自开发了三个为解决问题而设计的开源项目。

  • a. Easy-sentinel

Easy-sentinel一款专门为SpringBoot项目设计的限流组件,利用Redis+lua从而来实现高性能和分布式的能力。使用比较简单。通过半嵌入式的开发即可使用分布式注解。


  • b. Spring-turnoff


Spring-turnoff Turnoff就是简化代码而产生的,通过类似于Hystrix的注解方法,来实现相同的功能,Turnoff主要是利用BeanPostProcessor后置处理器来完成,代码非常简单,只依赖Spring,无论是Dubbo分布式还是SpringCloud分布式,还是单体应用都可以使用。


  • c. Tomato

Tomato专门为SpringBoot项目设计的幂等组件,让天下没有难写的防重代码。 基于控制时间两种防重策略 策略一: 滑动窗口策略 每次请求设置当前请求的控制时间,控制时间内请求均会被拦截。 策略二: 固定窗口策略 仅仅为第一次请求生成一个控制时间,控制时间内相同的请求会被拦截,控制时间过期后,以此类推。


四、收获(微雨过,小荷翻,榴花开欲然 )

1. 技能栈

业务时间不断的独立开发,让小编掌握了一条龙的开发流程及中小型企业技术体系如何升级到完善,从设计前端到后端均可独立完成。

设计主要是(PS + 作图网站)、前端(Vue + Ant + Element UI)、后端(Java体系,Python作为脚本,服务监控到,日志查询ELK)、运维(Centos运维命令,NginxWeb服务器)、域名购买认证备案到域名解析。但是这些还不够,其实大多数开发者都可以做到这一点,其实小编主要想说的是,金无足赤人无完人,人外有人天外有天,既然选择了开发行业,就不能停止学习,因为新技术总是日新月异,不进则退,而作为开发者,你的技术体系就是你的生存之道。所以学习不能停。如果有技术问题可以和小编一起留言沟通。

2. 不断完善的个人博客网站

另外通知一下,经过一夜的开发,博客的文章目录功能正式上线了,只为读者拥有更好的阅读体验。各位看官同学,如果对网站有要求或者建议,可以给小编私信或者网站留言。

3. 游戏

王者荣耀至今停留在了钻石水平无任何进步,还好刺激战场是几个赛季的王牌选手。

五、路在何方 ?(翻山涉水两肩霜花)

路一直在脚下,但是向何方走,就取决于我们自己,小编也在问自己到底是有技术路线还是管理路线。但是目前给自己的答案是25岁之前走技术路线,25岁之后开始慢慢积累管理方面的知识。但是技术路线也不会停止,毕竟这个是小编的爱好,如果不是爱好支撑着,可能早就放弃了。回家采菊东篱下,悠然见南山了。

这个问题是所有技术人的问题,尽早计划未雨绸缪吧。

六、总结(逝者如斯夫,不舍昼夜)

以上就是就是小编对过去四年的回忆和总结,收获不多,但是应该还好。在2020年,小编会写更多的系列性文章,在头条和程序猿升级课网站(小编的个人网站),希望能够为各位新人或者迷茫中的同学,指点迷津,少走弯路。最后提前祝大家新年快乐,过年回家注意人身财产安全。

Thank you for reading this article from the program ape upgrade lesson All rights reserved. Should reprint, please indicate the source: ape upgrade program courses (https://blog.springlearn.cn/)

Published 234 original articles · won praise 116 · Views 250,000 +

Guess you like

Origin blog.csdn.net/Message_lx/article/details/104045052