Blog: bugstack.cn Github: github.com/fuzhengwei/… Collect a series of original articles

Precipitation, share, grow, let yourself and others can gain something! 😄

One, foreword

What are the common jobs of Internet companies?

The launch of a project in the Internet will require the cooperation between various types of work. From the perspective of RESEARCH and development, product requirements will be accepted, which will be handed over to test and verification, and finally the project will be delivered and launched. In fact, in addition to this, there will also be business, operation, UI design, operation and maintenance to cooperate with project initiation, use and operation and maintenance.

Figure 18-1, Collaboration among Internet workers.

In addition to a line of work, there is cross-departmental collaboration between the same type of work. Such as:

  • Product stage: Part of the services in product A need to be supported by another department to develop related services. Then the products of both sides need to coordinate the time rhythm and cooperate with the launch.
  • Research and development stage: undertake the interdepartmental docking function of the product. The two sides will define the docking interface, the docking time, and the final online joint investigation.
  • Test phase: test and verify according to product function node, r&d development process and interface description.

Finally, the exchange of work with the department and the cooperation of cross-department work ensured that all materials needed in the project development process were on line as scheduled.

Next, let’s talk about the execution process of each stage in the project launch. Of course, not all development follows this process. It varies slightly depending on the size of the company, the size of the project, and the pattern of the architecture. Therefore, it can only be used as reference learning without forced convergence.

Second, time rhythm

  • Levels: ⭐ ⭐ ⭐ ⭐
  • Matters: Define project development time nodes
  • Personnel: Business, product, R&D team leader, test team leader, architect, core project members
  • Description: This definition of timing is very important. It can be project manager initiated or product initiated. Generally a lot of time Internet companies send a project, often hear the boss saidI want it at this time. This sentence may seem unreasonable, but in order to survive, in order to quickly stop the market, under the executive is a must go online time.butIf you want to meet the online time, you need to confirm the overall time rhythm. Such asWhen do business and product requirements be clearly identified.When did you develop PRD.When did r&d get to beta.When will the test be completed.ifWithout such a time rhythm, the risk will be higher as the responsibility personnel in front spend all their time.Just like the final research and development only 4 days, testing only 2 days, that with the BUG online! ? So overall control is responsible for the project.

Third, resource input

  • Levels: ⭐ ⭐ ⭐
  • Matters: R&D resource input
  • Personnel: architects, developers, testers
  • Description: From the perspective of RESEARCH and development, research and development needs to be involved in the whole process of engineering development, cooperative testing (bug correction), project launching, etc., which is a long period of work. However, the time cost invested in a certain stage will be different, so it can be invested according to a certain proportion of resources (1 is 100%, 0.8 is 80%). Then, when a new project comes down, it is necessary to arrange resource investment according to the recent principle and the project personnel investment situation. If there are many projects, the allocation of resources is not reasonable. It may cause the project to be submitted for testing late or some functions are all submitted for testing by the same developer, and eventually cannot be corrected. And that leads to the risk of project delay.

Iv. Research and development, testing and launch stage

  • Levels: ⭐ ⭐ ⭐ ⭐
  • Matters: RESEARCH and development, testing and launch stage
  • Personnel: developer, tester, architect/technical lead
  • Description: This stage includes a lot of content, mainly from the perspective of research and development to see the link up and down personnel. The R & D takes over the product requirements and starts to design. After the design is completed, the R & D leads the design review. There are many people involved in this stage (R & D, architect, test, product, etc.). Reasonable design of functions is also an important part of ensuring resource use effectively, and a reasonable architecture of another requirement will pave the way for subsequent iterations of requirements.It’s like a women’s room to a men’s room. If you don’t have a pipe to drain your urine, you’re in trouble.The final research and development needs to submit the corresponding results, especially the test report, interface documents, single test information. If the development does not have complete unit test coverage, then the daily work of fixing bugs will be a lot after the testing.When the development and testing work is doneNext comes the launch. On the eve of the launch, there will be a report on the launch of RESEARCH and development, and at the same time, all parties will cooperate with and prepare the corresponding online configuration data and permissions for products and applications. Finally go online to complete the operation and use of delivered products.

V. Project review

  • Levels: ⭐ ⭐ ⭐ ⭐
  • Matters: Project review
  • Personnel: For r&d and testing personnel
  • Description: The review may be summarized and summarized in several directions due to accidents, technical summary, sharing and growth, so as to avoid the occurrence of similar things. The content of the review will generally include the use of technical aspects, such as DB, application development, gateway, etc., as well as the construction of business domain logic.
  • Checking the DB:
    1. The number of database connections can be increased based on service scenarios
    2. Do not use complex nesting and function classes for business queries
    3. The anti-repulsion logical field is strengthened to avoid repulsion problems
    4. Index field initialization detection and slow query optimization
  • Resume service:
    1. The design of all marketing scenarios should comply with the standard process and the consistency of cache use
    2. In terms of capital flow settlement, the verification of anti-repetition design is strengthened, and the test environment is simulated in various scenarios
    3. Depending on the external support system, the pressure gauge will be notified to report the flow according to the volume of business development
    4. Strengthen the code review quality of all core function processes in r&d side, and continuously optimize according to the development volume
    5. R & D side of the code quality improvement regularly review problems and optimization, through exercise to constantly strengthen the quality
    6. Pay attention to the development branch in the process of research and development, test, repair and online, to avoid problems caused by confusion and merger
    7. All service process monitoring and charts are configured and logs are printed to facilitate the timely tracking of online exceptions
    8. Full-link pressure measurement in core scenarios can effectively ensure quality and reduce traffic risks
  • Replay function:
    1. Functional logic encapsulation optimization, caching, threading, validation
    2. Log integrity check, input, output, exception
    3. Timeout period and retry convention for calling external interfaces
    4. Abnormal display of emergency problems, test environment retrace
  • Redeployment:
    1. Deploy the service according to the pressure test standard
    2. Core services: Two equipment rooms and three equipment rooms
    3. Non-core business isolation RPC interface configuration
    4. Adjust JVM, connection count, log, and other parameters as needed
  • Double disk interface:
    1. Integrity of functional validation
    2. Retestability of abnormal processes
    3. Scope of data indicator monitoring
    4. Check regularly after new on-line

To sum up, it may only be a summary review of a project, so as to facilitate new staff to accept and understand the key content of the project. If the team can timely and effectively summarize the technology and implement the data, it can effectively do a good job in the technology inheritance.

Six, summarized

  • Generally, the development process of medium and large projects in the Internet involves many processes and needs reasonable control. Otherwise, there may be some risks in the process, which may lead to the project not being launched as scheduled. Of course, not all projects need to be handled in this way, for example, some small function iteration and simple requirements development, can simplify the process, rapid iteration.Thatch pit, pigsty, three-bedroom or different, can not be generalized
  • Do technical analysis, review, summary, induction, precipitation of technical data is very valuable, can not only pass on the project development experience to the new, but also let everyone do their own technical growth. And through the review and summary, can extract more new ideas and improve the technical atmosphere.
  • Well, that’s the conclusion of this chapter. There may be different perspectives and results for a particular you or company. If there are some good points can discuss learning with each other. In addition, I recently learned a new thing to share with you:The opposite of roll-in is outsourcing, the opposite of contract is divorce!

Seven, series recommendation

  • Work 3 years, see what data can monthly salary 30K?
  • BATJTMD, large factory recruitment, are recruiting what kind of Java programmers?
  • College four years to graduation work 5 years of learning route resources summary
  • · Take the Offer from the big factory
  • Relearning Java Design Patterns as a PDF download, more than 150,000 downloads