“Live up to the time, the creation of non-stop, this article is participating in 2021 year-end summary essay competition”

preface

Originally the last article said to stop writing this year, but when you read this article hydrology I admit I hit my face. After all, everything can not escape the true law of incense, not because of what else, is greedy nuggets of gift.

You need music in the background and you’re holding a dumpling without a drop of oil in it

The year-end inventory

I have done a lot of things this year, so I have gained a lot. I really didn’t want to write any inventory, because I was too tired to work alone in Versailles. All of today’s content should have been covered in previous articles, without providing any portals.

But do much, wrong certainly also a lot of ah, this year or a few accidents, to tell the truth is quite make a person’s attitude, and the problem is relatively difficult to locate are relatively high. But the whole year is still down, and soon it will be a New Year, and we need to rush.

This year has also given you a lot of hot chicken output technology, in fact, I am very satisfied with very happy, but now everyone calls me shrimp roll. In fact, I just like technology. I think what I do is fun. If some people haven’t used it before, I would like to share it with you.

Payment and Push

This is something I was working on at the beginning of the year, and I was expecting to integrate several SDKS for payment and push sharing into the plugin and then reduce the cost of access for the business side. Because we integrate packages based on flavor and package names in our repository, we avoid some invalid code being introduced into the project. This is a relatively successful one, as most apps have already switched to this framework.

Since there was a lot of stuff going on, and I was worried about version number management, I abstracted the plugin base and integrated them all together with AutoService, so that each can be distributed independently with the version number of the Classpath, so that several SDK child plug-ins can be aggregated together through simple permutations and combinations. At the same time fixed the large version, so that convenient and AGP can be synchronized.

The advantage is that it can reduce the developer’s perception of these SDKS and achieve the purpose of SDK cohesion. The specific content has also been introduced in the previous article.

Gradle upgrades

At the beginning of this year, I assisted in the upgrade of AGP4.1.0 version in ABU Dhabi. I found that the larger the engineering structure, the more difficult it was to upgrade the basic configuration. But it was also a challenge for me, and I actually kind of liked it.

Of course, the androidx and kotlin updates have had some strange problems. But in the end it was a bit of a stumbling block.

Finally, in my own demo project, I tried to upgrade my project to AGP7.0.0 version.

KSP is kind of interesting

At the beginning of the year, I experimented with the KSP function in the toy project of the original routing. Then, by chance, a new KSP was written at the end of the year to complete the task of starting groups.

Generally speaking, this thing is the same as APT. I think everyone can try it, but there is a big difference between high and low versions, but it is still acceptable.

Kotlin delicious

At the beginning of the year, I thought I had a good Kotlin level, then I learned how to handle proxy when I provided proxy support for viewbinding for business classmates in the middle of the year, and then I applied diffUtils on my own.

The other thing is that at the end of the year, I realized that writing DSLS in Kotlin was a lot more fun than Java, so I started to consciously move my code that way. Kotlin is really sweet, YYds.

Gradle knowledge learning

I learned a lot about Gradle this year and implemented some of them. After practical application, it will be found that the gap with some theoretical knowledge is still relatively large. Let me give you a piece of advice: find a direction you like and keep studying it. Even if it can’t be applied to the project, if it can be turned into a demo, it will have a greater harvest than if you finish reading an article. Sometimes WHEN I write articles, I don’t write very clearly about some special details, but you will have a sense of what pit you have stepped on.

This year also solved some weird gradle compilation problems, such as java9, lambda, etc. There is to try the next KTS, found pretty easy to use.

Yaml formats

It turns out that in the engineering process, this data format is actually very useful, simple, and very clear. It’s error prone, but it’s a lot easier to do than XML or JSON.

Lint new play

In the middle of this year, because the Ministry of Industry and Information Technology strengthened the supervision over various apps, we needed to provide some long-term and sustainable governance schemes so that the developers and apps could continue to perceive these risky operations, so on this basis, WE developed Lint from others and applied it into the project.

Privacy compliance

The most important tasks in the second half of the year, and the most problematic ones, are mainly privacy compliance, internal Lint, AOP hook modifications to the tripartite SDK, and runtime hooks for testing.

Go back to boot optimization

When I was in Hello, I was theoretically responsible for initiating the optimized posture, and then I was mainly responsible for assisting in troubleshooting and observing time-consuming operations. There is some understanding of the general methods and details.

This time, I was arranged to reorganize the work related to the whole startup process due to the privacy management in Ahdub. Later, I modified this part through DAG. In addition, I also completed a demo and added some of my own opinions.

The old Ali framework code is still too old to embrace change.

Hilt try

We tried the new stack in the second half of the year and found it was much better overall than service discovery.

All for coroutines

Before, some business students said that they wanted to upgrade retrofit version, but because we changed the source code of Retorfit, this part of the code has not been upgraded for about one or two years. We found a time to upgrade the source code, and then added back the logic of customization, so that the business students can enjoy it.

The source code to compile

We moved some of the code we had lost outside the warehouse back to the warehouse, while preserving some of the original convenience through our own means. As a whole, giving all blocks of code a chance to compile at once is a great benefit to large-scale engineering.

plthook

At the end of the year, I finished the pthread hook mentioned before. The second article introduced ASM replacement, but it was not strong enough for the native part, so I finished the braggart at the end of the year, and I was very happy.

The joys and pains of the scaffolding

In fact, the base frame department is not as good as we think on the surface, and a large part of the time is actually to provide customer service. Business students may face online users, while chicken frame students directly face all development students.

I spent a lot of time helping business students locate problems and then providing all kinds of weird support.

But because the chicken rack can play more things, so in this department your skill level will be faster, and access to more and more interesting things.

Help to recruit people

In the middle of the year, I helped the department to recruit people, and also assisted some net friends to conduct android interviews, which was also helpful to myself. We grew up together.

After all, there will be a lot of people and things, find the interview is actually more of a test of an interviewer. After all, he’s the one who needs to know your stack. Otherwise, he’s not going to get the best out of the candidate.

At the same time, I also found that from the perspective of HR, it is actually quite difficult. The right people are hard to find.

Difficulties and confusion

The more code you write, the more problems you have, and I had a few accidents myself at the end of the year. I had had oneself introspect actually, because of oneself paralytic carelessness mostly, but should give a problem only still can let oneself from close. Adults still need to have their own ways to relieve stress. For example, I love gluing and playing games. It is good to use spare time to let myself free, at least to get rid of the negative energy brought by work.

Don’t worry, worry won’t change you in any way. In fact, adults need to learn to recognize that we are just people, not geniuses. We can’t change the world, we have to settle for mediocrity. Selling anxiety to middle-aged people is not appropriate. After all, people get older and you will face the same anxiety selling when you reach your age. Adjust your attitude, be optimistic, be positive.

Looking ahead to next year?

Actually, I’m lying flat, but I still like the joy that technology can bring.

Pack force like the wind always accompany me, if you can, I still want to do a can continue to output a little bit of technology of the people, come on.

I’d write code until I was 60 if I could.