Another year is about to end, year-end review and New Year planning is to do up.

In the past few years, I always regretted that I had wasted a lot of precious time and taken many detours when I graduated from college. I was slow in my career and personal growth. However, the past is not remonstrated, know the coming can be pursued, from now on don’t let the future to regret.

A review,

In fact, no clear plan was specified at the beginning of the year, only a general goal of continuous technical learning. In the middle of the year, a review and planning was made:

Summary of the First Half of 2020 1. Reading comprehension and blog output of Art Exploration (10 articles);
2. Started the operation of wechat official accounts: 76 followers now; Start a gold digger blog.
3. Learned Glide source code but did not output it; Learning to output the OKHTTP article;
4. Completed the reconstruction of the business in charge of the project (which took a lot of time)
Second Half 2020 Targets(Basically 2 articles per week) 1. Art exploration “Activity startup process” blog completion; Further understanding: Binder underlying mechanism, architecture design capabilities
2. Third-party libraries: Retrofit, greenDAO, RxJava, leakCanary, Glide
3. New technologies: MVVM, Jetpack mastery (output article), Kotlin introduction, Flutter understanding,
4. Learning and output articles from startup, layout, drawing, stalling and memory optimization;
5. Fan 200 on official account; CSDN nuggets continue to publish;
6. Algorithmic data structure learning

Specific plan for the second half of 2020 and its completion

In July In August On September On October In November, On December
Framework (Read Advanced Encryption) App and activity startup process, 100% Understand Context, 0% Understand ActivityManagerService WindowManagerService, 0% Java virtual machines, 0% Dalvik and ART, 0% Understand ClassLoader hotfix, Hook, plug-in, 0%
Performance tuning (Output blog) Start optimization, 100% Layout (understood, no blog output) Memory (understood, no blog output) Caton (understood, not output blog) Package size (understand, not output blog)
The new technology Jetpack, 70% MVVM, used but not output Understand Kotlin learning, 0% Understand flutter, 0%
Tripartite library (output blog) retrofit 0% rxjava 0% Componentized √ arouter, 80% LeakCanary, (Learning, not exporting blog) eventBus greenDAO

It can be seen that the technical plan for the second half of the year is very low. A complete review will be made below.

Let’s take a look at where I’ve spent my time this year.

In the first quarter

  1. Mainly to continue to consolidate the understanding of basic knowledge, output 5 blog:

Android advanced basic series: Handler, Android message mechanism comprehensive grasp

Android Advanced Basic series: Android animation in detail

Android Advanced Basics series: Android threads and thread pools

Interviewer: Child threads really can’t update the UI?

  1. At work, I was mainly responsible for business reconstruction.

  2. I started Posting articles on the nuggets and my official account simultaneously.

In the second quarter

  1. Mainly learned the picture loading framework Glide, network request framework okHttp, and output 5 blog:

Nested sliding universal solution -NestedScrollingParent2

You want series: Network request framework OkHttp3 full solution series – (I) basic use of OkHttp

OkHttp: OkHttp: OkHttp: OkHttp: OkHttp: OkHttp

You want series: network request frame OkHttp3 full solution series – (3) the interceptor, rounding 1: retry redirection, Bridges, cache (key)

Network Request framework OkHttp3 Full solution series – (4) Interceptor details 2: Connect, request services (key)

  1. At work, I continued to complete the major restructuring of the business, and learned to use the componentized technology.

In the third quarter

  1. I mainly learned the knowledge of performance optimization, shared relevant knowledge within the group, and output 3 blogs:

How to start an Activity on Android10.0

The Android Performance Optimization you want series: Boot Optimization!

“Finally Understood” Series: Android Screen Refresh Mechanisms – VSync, Choreographer Understand!

  1. In addition to business requirements, I also completed the optimization of start-up speed.

  2. In September, I spent a long time preparing for my grade promotion reply and finally got promoted smoothly. I would like to thank the group leader for his guidance. This is the first time for me to prepare a defense PPT in such detail.

In the fourth quarter

  1. I mainly learned and used Jetpack, summarized componentization knowledge, and output three blogs:

“Finally Understand” series: Android componentization, comprehensive mastery!

Jetpack AAC will Lifecycle Lifecycle!

“Finally understand” series: Jetpack AAC complete analysis (ii) LiveData complete master!

Among them, the componentized article has been read more than 10,000 times and received more than 300 likes on Nuggets. I am very happy, which shows that my article has been recognized by more people. It also shows that knowledge output not only helps oneself to deepen understanding, but also really helps many people.

  1. The fourth quarter was the quarter where I worked the most hours. I’m in charge of business requirements, I’m in charge of following up on a new project, and I’ve been working on an im component that’s new to me. I spent a few weekends working on work, something that would never have happened before. But these things are finishing up now.

summary

  1. Total output blog 16.

  2. In-depth understanding of Android advanced basics, learning performance optimization, JetPack, componentization, tripartit Glide/OkHttp

  3. I applied and practiced these technologies in my work, completed the follow-up of a project, and realized the instant messaging module.

  4. Nuggets currently Lv3, 495 concern; Follow it on wechat public account 422.

(Wechat official account: Hu Feiyang)

Second, the problem of

I was able to apply the technology to the project and summarize and output it into a blog.

But through the review, found the following problems.

1. No plan was specified at the beginning of the year

Without an overall goal and action plan, it is easy to have a black hole in time, such as watching videos, wechat, staying up late on weekends, etc.

At the end of the year, we must harvest something. If you don’t know anything for a year and nothing changes, you’ll find that you can’t remember anything.

Starting today, make a detailed plan every year to make sure you make progress toward what you want to become.

2. Low completion

The plan in the middle of the year looks very detailed, with time arrangement and action content, but the final completion is really very low.

Because goal setting is not SMART and there is no PDCA cycle in the execution process.

3. Time utilization

  1. Usually work efficiency is low, but did not think of ways to improve efficiency. Issues such as component independent debugging were not resolved until December.
  2. Lack of basic ability, encountered many same problems, but no systematic learning or solving, resulting in low efficiency of problem solving.

New Year’s resolutions

Technology related

in content completion note
January 1.JetPack series: ViewModel, MVVM architecture, Room (database), output 3 blogs; 2. Courses: Introduction to algorithm, algorithm sorting, sorting and merging; Algorithm problem 10. Completion %75:3 blogs have been output; Algorithm overview, algorithm sort see half. Do not make. The unfinished part of algorithm learning will be made up in February. In January, the overall ease, but slightly less efficient.
February 1. Performance optimization series: layout, output 1 blog; 2. Learning courses: recursion and exhaustion, greed and divide and conquer, dynamic planning and backtracking; Algorithm problem 10. Layout optimization is not output; The course read, did not do Chinese New Year and then Fenli
March 1. Performance Optimization series: Memory &leakCanary, output 1 blog; 2. 10 arithmetic questions. Blog not output, not done See house to buy a house
April 1. Performance optimization series: Caton &BlockCanary, package volume, output 2 blogs; 2. 10 arithmetic questions. No blog output; Complete 25 questions The blog currently owes 4 performance tuning posts; Prepare for a second interview
May AOP series: APT, AspectJ, ASM, output 1 blog; 2. 10 arithmetic questions. Blog not output; Complete 30 questions Currently, there are 4 papers on performance optimization and 1 on AOP. The interview
June AOP series: APT, AspectJ, ASM, output 2 blogs; 2. 10 arithmetic questions. No blog output, 5 posts completed Currently, there are 4 papers on performance optimization and 1 on AOP. The interview
July 1. Android source code: understand Context, AMS, WMS; Based on “Advanced Decryption”, output 1 blog; 2. 10 arithmetic questions. Article not output The interview offer
August 1. Android source code: Java virtual machine, ClassLoader; Based on “Advanced Decryption”, output 1 blog; 2. 10 arithmetic questions. Article not output Three lines, entry, participate in activities
September 1. Kotlin learning; 2. Understanding of design patterns: “Android source code design pattern analysis and combat”, chapter 1-6; 3. Understand HTTPS and encryption. 4. 10 algorithm questions. Reading plug-in Development, A Brief History of Mankind Wutong Mountain, participate in activities
October 1. Kotlin learning; 2. Understanding of design patterns: “Android source code design pattern analysis and combat”, chapter 7-10; 3. Understand signatures and hardening. 4. 10 algorithm questions. After reading Plug-in Development, A Brief History of Mankind Three gate Island, participate in activities
November 1. Kotlin learning; 2. Understanding of design patterns: “Android source code design pattern analysis and combat”, chapter 11-14; 3. Java foundation strengthened; 4. 10 algorithm questions.
December 1. Kotlin learning; 2. Design pattern understanding: “Android source code design pattern analysis and combat”, chapter 15-18; 3. 10 algorithm questions.
  1. At least 12 blog posts in total;
  2. Complete mastery of performance optimization
  3. Knowledge of using AOP
  4. Data structures and algorithms, at least 120 questions;
  5. Master Kotlin
  6. Deep understanding of using common design patterns
  7. In this process, the number of public accounts has reached 2000; Nuggets upgrade Lv4

Life related

Health: blood acid value 530->428, drink more water, eat less seafood with shell, animal viscera, soy products, limit alcohol.

Hobbies: Basketball every week; Visit Hong Kong (Disneyland, Sea World, Zoo); Scenery line; To the top of the bottom

Movies: Watch 10 movies

Read: A Brief History of Humans, Rich Dad, Poor Dad, the World’s Wild Cats

The above goals and plans basically satisfy SMART, and the rest is implementation.

Four, outlook

Check the execution result at the end of each month, PDCA cycle, adjust the plan according to the situation.

Everyone has a vision of what they want to be. To achieve it, you need to clarify the gap between the present and what you want to do in the future. Then, Just do it!

.

Your likes and comments are great encouragement to me!

Welcome to follow my official account, wechat search Hu Feiyang, the update of the article can be received as soon as possible.

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