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

Hello everyone, I am Melo, a backstage trainee who will be leaving us for nearly a year in 2021. The one-year practice career is coming to an end. Taking advantage of the New Year, I will seize the end of my career and make a review of 2020 and 2021.

👊🏿 Summer vacation before college

At the end of the college entrance examination, I just felt that the exam was very collapse, and I didn’t want to talk about the exam paper. When I got home, I just immersed myself in games and lived every day without doing anything. I didn’t have the courage to face the college entrance examination. When I applied for the college entrance examination, I was torn between going out of province and not going out of province, 211 or computer resources (studio atmosphere and resources), and finally chose the latter. When I had finished playing games, I settled down and realized that although there was a big difference between the university I was studying and the simulation IN my daily life, I was lucky that the major I was studying was still the computer class I had always dreamed of, and I began to pick up my dream. Began to consult fellow students, began to learn C language on B website, Weng Kai teacher’s course is really lively and interesting, there are a lot of interesting thinking questions, so “play” to the school……

I still have the screenshots

👊🏾 freshman on –> planted more head

After school, I do not know from what I heard in the acm, although more or studio, want to own precipitation may be accumulated for a long time, finally complete a satisfaction of the project, rather than in four or five hours of exciting pleasure, but try holding the attitude, or to try once, after all, the studio is a freshman began to recruit new next term.

💪 ACM tour

In the process of preparing for the interview and written test of the design Department of Acm Association, I first contacted the websites of Hangdian OJ and Luogu. There are two ways for the assessment of the design Department, one is to do questions, the other is to design posters (I have forgotten all the PS in high school, so I regret not taking notes at that time). Finally, I just passed the written test by relying on the C language I learned in summer vacation and weng Kai’s thinking questions, and successfully joined the design Department of Acm Association. In the association, I got to know a lot of good brothers and leaders (many of them are OI students, we started many, many years earlier), and began to brush questions while accepting algorithm training classes, all towards the final freshman contest……. Before the freshman competition, I also went to practice in the monthly competition of the association. At that time, I felt pretty good and got good grades. However, I found that I just wanted to achieve one goal and forgot to calm down and realize whether the competition was fun for me. In the end, freshmen could enter the training team if they were ranked according to the monthly competition, but unexpectedly, in order to accommodate more freshmen, this year’s freshmen competition focused on math and thinking questions rather than specific algorithm questions, which I thought was unfair to non-members of the association. But in the weekdays those simulation, thinking of their own do not attach importance to, do not in the past to add more expansion, a change on GG, and the freshman game really suddenly out of a lot of strange faces a lot of big guy ah-ha (really big guy is not rare to play month game), and finally in the final is a more head, failed to enter the team.

Combined with the growth of college entrance examination failure

In fact, after another failure in the college entrance examination, I still did not want to face it like the college entrance examination and did not want to talk about the topic. I went to the canteen and felt sorry for my brother. I had been asking questions and all my efforts seemed to be in vain. But this time it’s different, or I’m a little more mature, and I think about whether I’m enjoying the process or whether it’s just for the goal of making the team. After thinking about it for a few minutes, I remembered that when I chose university, I focused on studio projects. What I am more used to and what I want is to accumulate a complete project for a long time. At the same time, I realized that he had just utilitarian in order to achieve a certain goal, will often go to choice “priority”, feel what is more important, what questions should be no test can’t put so much thought into above, new game like the university entrance exam, are suddenly variable is very big, is very different from his usual simulation.

But if you always read that the variable is very big, the topic is very different, in fact, sometimes you just avoid the problem, maybe the final failure is because you do not draw conclusions from one’s own experience, do not go into the nature of the problem, the total habitual utilitarian to “topic”.

Some little notes that I’ve accumulated

STL learning in c++

Los valley records

Of course many are duplicate AC records lol

How to know….

Without the goal of entering the training team in the freshman competition, it also gave me the opportunity to prepare for the major diversion of the college, and I had more time and thoughts to prepare for my studies. Finally, I got the desired results and was transferred to the desired class — Software Engineering Excellence Class.

C language courses

The main implementation is a vending machine, can realize the basic user registration, login into the vending machine interface to buy, the administrator CRUD goods, the main technology is: file flow operation, dynamic linked list (at that time the lesson is here)

The main page

Customer interface

Administrator interface



Graphical interface version

Because school does not let use VS behind, we must use ancient artifact Turbo c + + (really Li Dapu, finally take the version of the above to go to the school curriculum design competition, won the second prize) poking fun at the time the class set contest is held until a big near the final, with a stranger unfamiliar code really interest, Emmm didn’t have much expectation for the competition itself. When she saw that some students even prepared PPT for the defense of the competition, she did not pay much attention to it.

The main page

Customer interface

Administrator interface



I’m so laughable, I just made this one

👊🏽 Freshman winter vacation

After finishing the exam, it’s time to pick up the original goal — go to the studio and change your degree.

My brothers and sisters in Yi Class really helped me a lot, and I was glad to sign up for another club at that time. The two clubs were completely different in nature. Yi Class brought me not only front-end and background knowledge, but also the studio atmosphere and the cultural characteristics of university clubs. During the winter vacation, I also asked for the learning route with my senior, so I chose the backstage path clearly. I was watching the basic course of Teacher Gao Qi at that time, knocking on the door, and the studio began to prepare to recruit a new time.

👊🏼 big –> Change degree

🤙 Studio tour

Soon after the semester began, studios began to recruit new students one after another. After listening to several information sessions, I liked the enthusiastic attitude of my fellow r&d students and the active atmosphere of the information sessions, so I made up my mind to concentrate on the assessment of R&D. To say that ACM has exercised its thinking and code power, it has exercised its complex business logic processing ability and the processing of the coupling degree between various links during the two rounds of assessment. The studio assessment cycle is relatively long, divided into two rounds, although not as exciting as the competition, but when it comes to DDL, I can’t help but continue to optimize and improve the function.

The first round of examination – Salt system notes

The content of our first round of assessment was to design a local note-taking software, similar to tembrio. At this stage, the technical requirements were much earlier than JavaWeb, and optimization and GUI took up a large part. I prefer tree structure to comb notes, so I decided to make this function. Corresponding to Swing, there is a Tree control.



The UI is going to have to play by the rules. Swing is really ugly

The second round of assessment — webpage wechat

The second round of assessment will need to use JavaWeb, but also need to learn the front end of three sets to build a web page wechat out!! Yes, almost a lot of functions of wechat we have achieved, online chat also need to use WebSocket.

Emm: But I felt that 65% of my energy was in the front end of the second round of assessment. Haha, I took all the good things packaged during the first round of assessment and used them directly. I will talk about relevant things later.

Finally, I went through two rounds of assessment, from learning the Java foundation in winter vacation to making a webpage wechat in the second round of assessment, involving a lot of knowledge points, such as JavaWeb, MySQL, Git, Websocket, and more importantly optimization: Framework cannot be used because the inspection requirements, optimization level mainly adopted reflection + generic packaging good BaseDao data layer, and write a database connection pool, factory pattern production corresponding JavaBean + configuration file (later changed to dynamic proxy + factory has generated proxy objects), dynamic proxy to realize global exception handling and log printing, The clever use of singleton patterns, builder patterns, etc., these optimizations are the real fun of writing projects!

About these optimizations, if later have time, will come to fill the blog! That the flag

👊🏻 big summer vacation

After the assessment, it was almost the end of the semester, and I didn’t have the opportunity to continue learning background knowledge until the winter vacation. At this stage, I had to rise to the learning of the framework. At that time, I was full of awe and eager to try to use the framework, starting from Mybatis, and then to Spring and SpringMVC….. , but suddenly feel, a lot of original assessment optimization tool class, proud of things, in fact, people are packaged, directly out of the box…. At this stage, writing code becomes more about knowing how to use it and remembering how to use it, and our focus becomes more on business and architecture. At this stage, I didn’t have time to go deep into the principles of the framework, so I lost the fun of learning the new framework. I changed my learning plan, intending to learn the basic and eternal things well first — data structure and design pattern. In the process of learning data structure, on the one hand, I consider that there will be data structure courses in the next semester, and on the other hand, I hope to start the daily rhythm of LeetCode as early as possible. However, at the beginning, the questions were not so purposeful. I just brushed them randomly, which module topics I learned. In this way, I started from some special operations of linked lists and LeetCode topics, learned stacks and queues, and finally learned the chapter of quick sorting. Design patterns, off and on factory patterns, singleton patterns,

My listing

  1. Git consolidation and combat simulation conflicts
  2. Maven dependency principles
  3. spring
  4. springmvc
  5. mybatis
  6. springboot
  7. mybatis-plus
  8. Design patterns (scattered mainly for summer vacation)
  9. Multithreading and concurrent locking (mainly for the beginning of the term, there are some unfinished)
  10. Data Structures and Algorithms (to Sort)
  11. Nginx(many advanced levels not yet learned)
  12. Linux Server Application
  13. Shiro permission framework

Try their project

It was the first time for team development. Although there was no offline cooperation, we only cooperated online. We jointly developed a small program for studio recruitment and a background management app for studio recruitment, and understood the development process of a project for the first time.

  1. Each group discussed the requirements document, and then the background began to design the database, load the environment, and the UI began to draw.
  2. UI sketch, set the sketch.
  3. Front end and Android get the original artwork and start drawing the page.
  4. The front end and Android decide what interface is needed, the parameters of the interface to pass back parameters and so on, and then distribute the interface tasks to us to write in the background.
  5. The background starts to write the interface, and then after the test is ok, write the interface documentation, and hand it to the front end and Android.
  6. After the testing phase is complete, the background starts to configure some of the environments, interceptors and things that will be needed after launch, and also some optimizations.

Project optimization

  1. Global exception handling
  2. The AOP implementation prints exception logs separately to a specific file
  3. WebSocket implements real-time App notification
  4. Mybatis interceptor logs
  5. Automatic calibration of parameters
  6. Prevent XSS attacks

👊 Sophomore –> Precipitation technology

Finally, after the online cooperative development of the winter vacation, we came to the school studio and assigned us a good position. Finally, we could be happy to be a “worker”. With the station, there is no need to rush to the library every day to grab a charging position, and the library closes early in the evening and has to go back to the dormitory. I had a lot of free time in the first semester. Before I really started developing projects, I reviewed what I learned in the winter vacation and learned Linux, Nginx, Redis and Maven private servers.

The first maintenance project

Soon, we got our first project, the maintenance project inherited by our brother. At the beginning, I was desperate when I got my brother’s project. The complexity of the project is very high, and the correlation between modules is very strong. Usually, we need to combine the module association diagram and module function flow chart written by my brother, and then call the web console interface to debug the module to have a clear understanding of the module.

harvest

Learned how to read other people’s projects

  1. If there is an interface document, see the interface document first. Then, with the web console, set breakpoint debug on the corresponding interface in the background to understand the call process of the interface
  2. If possible, you can also open the front-end project and search for an interface name directly

First project from scratch (yet to be optimized)

This project is mainly to realize a system of booking tickets and queuing up to call the number on site, which is similar to hospital registration. A specific time period is booked in advance and the number is called on site. Coincidentally, knowledge of concurrency and Redis is used in this project. On this piece of optimization, the following will be specifically taken out to talk about, say, since the start of the project, it is rarely more.

Technology stack harvest

  1. RestTemplate invokes the interface
  2. MapStruct implements VO and PO conversion
  3. Multi-data Source Configuration
  4. SpringBoot is removed from yML deployment and bat is running
  5. Timing task
  6. JMeter concurrent testing
  7. Wechat authorized login, evoke a scan function
  8. Various dates in Java

My listing

  1. Data structure to figure (the main focus, almost two or three days will do the problem, but mainly school anyview platform) – do the project is rarely more text, next time certain!

In September and October, I will do more problems. In November, I will start to follow the school’s tree course, and in December, I will follow the school’s graph. During this period, I will still focus on the project

  1. Dubbo+ ZooKeeper app (10-12 to 10-17)
  2. Redis (cluster, Sentinel mode, etc., have not been added to the blog, this area is also a bit watery (not for activity)) (intermittently 10-21 to 11-4)
  3. Maven private server (intermittent 10-22 to 10-24)
  4. mybatis-plus
  5. JUC (Scattered notes, write them up when you are free)
  6. JWT (a small piece of note, but important)
  7. Nginx project application (various jumps between servers)
  8. SpringCloud components (mostly video learning, not real play)
  9. Docker (video), RocketMQ primer

🍔 has problems

Volume?

Although he is not very volume, at ordinary times before the exam will begin to a bit more volume, like says, a freshman to acm, in new course before the class, inside is a little resistance to think off until after the game as far as possible to learn seriously, and a big studio during the examination, nearby of friend didn’t go to class, a lot of staying up late to work, I seem to be cautious and conscientious to have a class HHH but really learn or wait until the end of the game, the studio assessment is over, and the exam month can be a good roll, brush previous years exercises, equivalent to the assessment has been fully engaged in learning, continue to go deep into the background direction of the knowledge also have to wait until the winter vacation.

Does this volume make sense?

Though finally get results, also is not bad, but the feeling is not very substantial reveal technology level, are some of the other Buff addition, the school first-class scholarship, award for the best learning pacesetter, yet a freshman on level 4 exam 605 points, which is also a week ago in the crash test on a sophomore level 6 (said to the already hemp).

When you’re in the middle of a storm, you need to be yourself

Now flow came to the most “volume” class, determined to this year not volume of me, sometimes it is difficult to do ah feed!! But was slowly becoming less “volume”, is now approaching exam week, haven’t started preparing (even think while everyone in the review, some lessons they have to listen to at ordinary times can wait a little, don’t want to assign so much time on the reference appendix, exam week so chunks of time and then learn some new technology is better than HHHH), belongs to is bad… I just don’t know if I’m gonna suck too much and fail.

Comprehensive ability

impatience

If there is a problem in the project, they will want to solve it as soon as possible. Instead of learning systematically, they blindly look for a solution with the mentality of trying, and can’t calm down and think seriously.

Almighty or none

For a lot of things, will try to learn a little bit more carefully to do a little bit more seriously, will not say too much screening importance, learn carefully, take notes, write a blog, and then diverge and review knowledge points. However, due to these summary and divergent time, I have less energy to learn new knowledge, and my vision is slightly narrowed, and the technology stack used has not been updated.

  • In this column, the studio will review some of the lessons when recruiting new students: Talk about Java

However, I feel that the so-called fast learning, is just a lot of contact, can use it? Truly in-depth principle or partial minority.

Soft power

Will try to jump out of the comfort zone, who is not willing to take the initiative to your performance, now a minister in the community, and the studio bear head, a lot of large and small activities, recreational activities require planning and organization, although the feeling is just a simple “labor”, but want to do really well, still need to consider many aspects need more members with a good idea, Coordinate all departments to present the best of us to others.

Learning methods

Too many notes

In the process of learning, they will excessively pursue the integrity and orderliness of notes. Before finding a learning video, they will be used to looking for ready-made comprehensive notes. They only value the integrity, but not the mastery. A lot of usage notes can actually do not need to remember too much, these will be checked on the Internet.

  • What you should really do is take summary, reflective, or memorizing notes.

Psychosomatic state

I stayed in the studio for a long time and didn’t exercise for a whole day. I usually came here after having lunch in the morning or at noon, and slept for 20-30 minutes leaning on the computer chair at noon. I had take-out for dinner and stayed there until about 10.30 in the evening.

Next semester to try to go back early in the evening, catch up with 10 o ‘clock can go to the playground run a step!

🍥 thanks nuggets

Nuggets, before our studio assessment, the front side is equipped with a nuggets blog website, that was the first time to hear about this platform. Later, in the summer vacation, my friend forwarded a blog of the Nuggets and was attracted by the fresh style of the Nuggets at first sight. He joined the Nuggets on July 28 this summer vacation. (We won’t really start until October.)



At the beginning, I started to write continuously because of the Activities of the Nuggets (Bushi). Although I accumulated a lot of notes, I still need to polish them up to form a blogDivergent knowledge point!!

The atmosphere and style of this community are very suitable for the taste of us young people. The community and app are gradually becoming known. I often talk about nuggets with my friends and share nuggets with them.

More wen

On October

End of October -> November

People didn’t expect this love-hate relationship “- >” could cause so much attention, to write this article, it was a friend is learning to Java questions on this, simply adjusted notes, a divergence of the stream flow operation (small voice bb, instead of those who seriously conception of data structure and algorithm, nobody see mew: ahaha Thank you very much for your comments, spread the relevant knowledge points and improve this article.

Since November, I have been busy with the project. I just threw the scattered notes up intermittently without adding more polish. I hope I can sort them out later

Harvest the prize

A mug from the blogger’s comments section

Thank you ** @sivvi **

Tripe activity speakers and slippers

Air conditioning blanket for the Event in November

Bad weather has not been removed (lazy……)

And I’ve been on a hot streak lately and I’ve won the lottery!

🍻 New Year

The winter holiday

This semester’s project and the next semester will be used to recruit new small program, APP with the distributed knowledge learned optimization!! The depth of distribution should not be explored for the time being, while there is a chunk of time during the winter break to dig into the JVM and design mode, concurrent trivia, MySQL advanced.

Second semester of sophomore year

The school wants to open design net and operating system finally, as the stepping-stone of interview later, want to chew well, open reading mode! At the same time, there is also an algorithm class, you can pick up those algorithms freshman year, follow in the footsteps of Sister Three leaf!!

Most importantly, I hope I am no longer an “all-round” person, can specialize in a certain field, or source code, or algorithm, or competition, or open source projects!! Also want to know what competitions, open source projects are more worthy of participation, as far as the current understanding is still relatively little, welcome to exchange!!

Wish: always young, always tearful, always on the road…