Loss of 2018

I have not really written an article for about 2 months. I am really too busy during this period of time. I apologize to all readers first. 2018 has been nearly a week, I finally took the time to summarize 2018 on the weekend.

In this hurry in 2018, I read a lot of books, get to know a lot of people, understand a lot of different learning methods, but also experienced some enigmatic source code, write some not fine technical articles. I have indeed experienced a lot in this year, and I have also gained a lot of growth and insight, which I will also record here.

Those books from 2018

I bought a lot of books in 2018, but only a few have finished reading them so far. However, BEFORE BUYING books, I usually refer to the reviews of many places and their catalogues. I think the books I choose are still good.

  • “Kafka authority guide” Apache Kafka source code analysis “before the market basically no introduction to the message queue book, last year about the message queue kafka book out of several books, buy a good selection of books, chose these two books.

Apache Kafka source code analysis: this is a book written by the author of the home, if you want to understand the message queue implementation principle, some of the core ideas of the implementation, but you do not really want to use his actual combat, tuning him, then this book is enough, Read Kafka and other message queues in a whole new light. “The Definitive Guide to Kafka” : this book is kafka author recommended a book, in fact, I think can also be called Kafka combat, this book is not very deep principle, but for the actual combat scenario is very thorough. This book is essential if you want to use Kafka in a real business.

  • The evolution of large site technical architecture: believe a lot of people read rocket power “large site technical architecture” this is a book of 13 years, and the evolution of large site technical architecture also ali who wrote the book, if the book name you may think that this is the version 2.0, but the real content difference is a lot of, The author Xu Lingbo introduces many good ideas and techniques. For example, the evolution of the Central platform, the challenges of internationalization, especially the integration deployment, this technology has never been heard of before, but my level is limited, the implementation of the integration deployment is still not very clear. This book is also relatively thin, so you can read it in about two weeks. I highly recommend this book.
  • The Clean Way of Architecture: The Clean Way of Architecture is the crowning achievement of Uncle Bob, the inventor of the Clean myth. This book is not recommended for beginners (it certainly won’t hurt to read it), but it’s a great book for anyone who’s been working for a while. It’s a book that’s divided into chapters 34 chapters in total, and I particularly like the fact that these chapters are divided into chapters to help us summarize. Many of the things it introduces are very useful after work, if you want to not just write code programmer, to a higher level of progress, this book should be a great benefit to you.
  • “Code out efficient” : this book is believed to have a lot of people to buy without my recommendation, after all, Ali produced. Ali solitary as “alibaba Java development manual” formulated by the statute of trust has become a lot of company, many departments of the development rules, the book, of course, I personally think is likely to be more geared to the needs of a beginning, intermediate, for students also can read technology is better, after all, lonely also introduced a lot of some of his own experience. From computer fundamentals, to the Java language, to the JVM, and finally to personal growth. As a Javaer, I’m sure you’ll get a lot out of this book.
  • Effective Java3: Effective Java2 has been around for almost a decade, and while the content of the second edition still applies, now that Java11 is out, it’s clear that the Java6 specification isn’t enough. I bought this book because I planned to finish reading an English language book, but the Chinese version of the book was published in December, and you can buy it if you are interested. The third edition of Effective Java introduces many best practices for Java 7, Java 8, and Even Java 9. So this book should gradually replace Effective Java2 in the Java book world.
  • “Domain-driven Design” “Domain-Driven Design Essentials” : DDD has been rejuvenated by the popularity of microservices, and many DDD ideas have been used in our project reconfiguration. Many people get stuck in a dead end tactical mode from the start, thinking DDD is the congestion model. So here first recommend “domain driven design essence”, this book introduces the DDD strategic model, called DDD briefing but throughout this book without being charged tactical mode or congestion, etc., so the DDD essence should be his strategy modeling, domain division, etc., at the same time, this book is very thin, can read about a week, So it’s a great book for those of you who want to know about DDD. If you want to know more about DDD, you can read “Domain-driven Design”. Here I also recommend zhang Yi’s domain-driven course on GitChat, which has benefited me a lot.
  • Evolving Cloud Native: Microservices Best Practices in Cloud Native Architecture: For those who want to understand what microservices are and how to build a microservice architecture, this book can help. This book only read the first 3 chapters, the author’s level is really good. Interested can understand.
  • Design for Data-Intensive Applications: This book was recommended by another blogger, Kirito. It’s a great book, and I highly recommend it here. But it is thicker, if you want to finish reading this book, need a certain perseverance, so far I only read 3 chapters. This book introduces a lot of distributed systems, such as system reliability, maintainability, scalability, data coding, how to deal with unreliable clock and so on. This book is a good choice for those interested in distribution.

Learning methods

The year 2018 has seen a lot of paid knowledge, nuggets, GitChat, and Geek time, giving us more learning options. There are also more excellent open source projects, more public accounts, and more technical articles springing up.

Reading books

I don’t recommend reading only articles. Many articles are fragmented and inconsistent. If you want to learn Kafka, for example, there may be many articles that give you a general idea, but the real details still need to be read systematically by yourself. Of course, it is worth mentioning that there is no need for technical personnel to only read books on technology. For some books on methodology, they can also do some understanding of their own growth. I usually set a target for myself when reading books, such as which chapters to read today. Generally speaking, I will not read only one book at a time, but read several books together, and then only read an appropriate amount of books every day, which is similar to learning multiple subjects in school. Maybe I can adapt to this mode. So I hope the students who want to learn technology, reading can never be lost.

Read the documentation

A lot of people learn a thing, will walk into a myth, will first look at what this thing is to search online articles, how to use this thing, articles had again good also only some of their personal understanding, but the real author to introduce may be on his document, such as ali arthas, that paragraph of time open source really only need to read his documents, The basic principles and methods of use can be clearly understood.

Knowledge of pay

I have to say that 18 years of paying for knowledge is really popular, and many communities have adopted this model. Indeed, I agree with this model. The tech community is full of junk articles, and we waste a lot of time sifting through good articles. If an article charges, then the author I believe he will not lick a big face to write some articles without nutrition.

  • Geek time: knowledge pay to do the best I think should be geek time, geek time authors are really more famous people, write out of nature will not be bad, of course, do not what courses to buy, for their own have a good degree. After all, buy more you really don’t have time to see, of course, there are a few classes personally think or more water, so here to distinguish good.
  • GitChat: I only bought Domain Drive by Zhang Yi for GitChat courses, and the rest courses are not necessary for me. GitChat is a good place to go if you want to learn something and then you go to GitChat to search and see if there’s a corresponding article. Generally speaking, the quality of the article is a little bit better than the online search, and you can also communicate directly with the author.
  • Nugget book: I recommend redis and Netty, both of which are good books. The Nuggets have fewer courses, and the author’s reputation and publicity are weak. But the quality is still ok, hope the nuggets come on!

Read the source code

Read the source code this way of learning, relatively tired, after all, no predecessors to pave the way for you, you need to start from scratch to comb, understand. Of course, when you read the source code, you can also cooperate with some analysis articles on the network to read, it is possible to get twice the result with half the effort.

Read the source code also need to be targeted, not monkey moved corn like reading, like this framework to read this today, tomorrow would read that, like the system in general to read the source code needs to insist on, need to put the framework of the overall train of thought clear, some clever also need to pay attention to detail, the best you can read the source code of your Chinese annotation in it, Then use the article to record, to draw the author’s design ideas, such as some common class diagrams, architecture diagrams and so on.

If you are still only reading Spring,Mybatis source, there is no direction to read other so I can recommend a few good project source:

  • RocketMq: If you struggle to read Kafka’s Scala code, rocktMq code is the perfect place to read rocktMq code to learn how to achieve high performance storage and so on.
  • Sentinel: If you are interested in service limiting and service downscaling, you can check out the source code of this framework. It is very good because it is open source by Alibaba.
  • Arthas, JVM-Sandbox: The source code for both of these is very similar, the principle is very much the same, you can check arthas out and see how he monitors the performance of our services in real time, and of course you can learn about ASM, class loaders, etc. Jvm-sandbox is more user-friendly, there are many Chinese annotations to help you understand.
  • Caffeiene, Guava Cache: If you’re interested in caching, learn about these two.
  • Disruptor: This source code is highly recommended. It is much less code and easier to understand than middleware. You can learn about cache lines, ringbuffers, etc.

Of course, I have also written introduction to Caffeine, Guava, and Disruptor principles on my facebook page for those interested.

Foreign articles

In fact, many domestic technical articles are second-hand, so we still need to check some foreign articles, especially StackOverflower is indispensable when we look for bugs. Of course, what about poor English? For technical articles, English words are relatively simple and easy to understand. If you still can not use Youdao translation, Google is not very recommended here, translate this sentence into Chinese after their own test or Youdao translation is more accurate.

Of course, there are a lot of technical forums abroad, but there are too many things to read at ordinary times, so it is basically impossible to visit. If you are interested, I think it is useful to browse more, after all, technology news is relatively new.

Article on official account

Now the technical public number is a lot, the output of the article is also uneven, for the public number of this kind of article because it is difficult to form a set of technical knowledge system, so generally as similar to the news fast food to read, of course, for some very good articles also need to take notes. Let me recommend some of my top public accounts:

First is my own coffee latte, here is not more introduction, heh heh.

Technical sharing of Kirito: Kirito’s official account is basically original, and he is also a champion of Ali middleware service governance, and everyone calls him Ma Xu. He has written many articles about middleware Tianchi Competition, for those who like some technical optimization, service governance or Tianchi Competition, you can follow him.

Taro source code: as the name, like learning source code can pay attention to him, he wrote a lot of middleware source analysis articles.

Everyone who likes JVM and service governance can follow Wolfboy, who is a great leader in both areas.

Learn to write

Reading is a process of absorbing, but writing is not a process of rejecting knowledge. Writing an article is also a learning process, and when you decide to write an article (if it’s not hydrology), you will certainly look up a lot of data. When you write, you will find that in fact there are a lot of knowledge is you do not understand, this time will also query a lot of information. When you finish writing, other students will ask you questions or question you, which will help you do some intellectual self-reflection. So learn to write articles to believe that your technical, personal impact will be a great progress.

Know more people

This year, I met a lot of people through writing articles, and I found more and more that a person learning technology is closed. The reason why there are so many open source projects is that technology is communicative, not exclusive.

For example, I know Kirito this year, and I feel that tianchi Competition is very interesting under his influence. I can learn a lot from tianchi Competition, so I also decide to try it next season, even if IT is the last one.

I also set up a wechat group for technical exchange, in which I can get to know many different companies and people from different regions. Can also and they talk about different technical solutions or technical details, for some don’t understand the question, we are willing to answer questions, of course we had some good articles will also share in communication, of course can do some small talk is also very good of the industry, and of course, if you want to join I can focus on public number, then add me friends to pull you into the group.

The 2019 plan

2019 is coming, I think many people have done their own technology planning. Here are a few flags for yourself:

  • After the Spring Festival, try to write one article a week, four articles a month.
  • Finish all the books you didn’t finish in 2018.
  • Participate in a Tianchi competition.
  • Make more like-minded friends.

I hope we can do a determined to pursue the dream of the people, the trend of ambition, qiongshan away from the sea, unstoppable!

Denver annual essay | 2018 technical way with me The campaign is under way…

If you find this article helpful to you, your attention and forwarding will be my biggest support.