Here to record the technical points encountered in the work, as well as some of their own thoughts on life, published on Wednesday or Friday.
cover
A still from Prime Minister Liu Luopan
digression
There were several students who replied “Js Advanced programming version 4 “in the message before, but none of them received the reply of the download link. Took some time to put the download link into the official account yesterday. Reply to “Version 4” for a download link.
There was a problem configuring the download file. The PDF file is in the nginx directory, so you need to add configuration file download related configuration. The personal configuration is as follows:
location /book { # root /usr/share/nginx/html; autoindex on; autoindex_exact_size off; autoindex_localtime on; if ($request_filename ~* ^.*? \.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){ add_header Content-Disposition: 'p_w_upload; '; }}Copy the code
If you click the file link, error 403 May be reported. Error 403 is usually caused by insufficient permissions. Therefore, you need to change the read and write permissions of files. The command is as follows:
chmod 777 file
Copy the code
In this way, the file can be downloaded normally, combined with the automatic reply function of the public account, very convenient.
Then we move on to the topic of the title: how to define, analyze, and solve the problem. This is a topic that our group shared and discussed two days ago. Personally, I have gained a lot, so I think it is worth sharing.
Define the problem
In the Language environment of Chinese, the word problem is abstract and difficult to explain concretely. Google it and you’ll get the following explanation:
Question means a question to be answered or answered; The situation is serious enough to warrant discussion or to be resolved.
But switching to the English context, we can find three words for the concept of problem: question,trouble and problem.
- The first is a
question
Question usually means doubt. For questions, we usually just need answers. For example, when we usually have a requirements meeting, the product manager will ask the following question after talking about a requirement: Do you have any questions about this logic? “At this point, ask your question and the product manager can answer it immediately.
- The second is
trouble
“Trouble” translates as “trouble”. When faced with difficult problems, we usually need help and support from others. For example, in the process of development, there is a particularly complex function, which cannot be realized by our own technical ability. At this time, we need to find a student with stronger technical ability to support us, for example, let him help us realize a complex function to ensure the smooth progress of the project.
- The third is
problem
The problem represented by problem has the highest degree of difficulty among the three types of problems and usually requires a systematic solution. For example, the project we do this time needs to share the link to wechat from the enterprise and report the information of users who click the link, but the user information cannot be obtained simply by clicking.
After investigation, our solution is to use the webpage authorization ability of the public account to obtain user information for reporting, so that we can accurately solve this problem.
With this in mind, we can make a simple definition, or categorization, of our problems. Is it a question, a problem or a problem? With this in mind, we can take the next step of analyzing these problems.
To analyze problems
Problem analysis is the process of finding the cause of a problem. This time, we took the project delay as an example to analyze, because the project delay is something we have basically encountered, and there are many reasons summarized. Such as:
- I did not pay enough attention to the project and did not follow up the environment configuration required by the project development in time
- The product manager improvised a new request
- The progress of testing classmates is slow
- Personal technical ability leads to problems that cannot be solved
- Dealing with issues left over from history wastes a lot of time
- I had to deal with something else at the moment
- The business logic is not deeply understood, and the business logic is found not to work during the development process
- The UI design draft is behind, leading to the failure of development
- Problems in the development process
- Project priority
And so on.
When we run into a problem, our first reaction is to look for some external cause: the UI was drafted too late to be developed; The project manager temporarily added new requirements; The test is too slow and so on.
Few people will explain the cause of a problem from their own perspective. For example, this delay is due to my personal technical ability is not enough, or I did not follow up a problem in time, etc.
A big part of the reason for this phenomenon is the fear of taking responsibility and the fear of having a bad effect on oneself. But this is not the right way to solve the problem.
We can start by listing the immediate cause of the problem, such as the UI design being late. But the UI is lagging and we’re just waiting for it? Can we do something less UI dependent first, or can we prototype first?
In fact, if we analyze the problems encountered, we will find that many of the direct objective causes of problems are actually caused by our failure to play their own subjective initiative.
Therefore, when analyzing the problem, we need to find out the cause of the problem comprehensively as far as possible. We should not only see the external and objective factors that cause problems, but also start from ourselves and find out our own internal factors. In this way, we can grow up in our future work and life.
To solve the problem
When it comes to problem solving, what we usually do is we go where there is a problem. The advantages of this method are: high efficiency, quick effect. But in the long run, it doesn’t do much for our personal growth.
There is a concept in management: structured thinking. We can use this way of thinking to solve problems in a structured way. The process roughly has five steps:
- 1) Clarify the problem: clarify the gap between the status quo and the goal
- 2) Analyze the problem: Analyze all the potential causes of the gap (problem tree)
- 3) Hypothesize: Hypothesize some of the reasons
- 4) Test hypothesis: Collect data to verify the hypothesis
- 5) Propose solutions: Propose corresponding solutions according to the reasons
For example: why is the mouth of the beverage bottle designed to be round?
It is assumed that the circular design has the following advantages: tight sealing, beautiful appearance, and easy production. So are these advantages really true? If true, can these points also support other design schemes? If these advantages are not true, what are the alternatives? What are the advantages of the alternative?
After such layer by layer of thinking and analysis, we can come up with multiple solutions to solve the problem, A, B and C. We just need to choose the right one from these options.
This kind of problem-solving mindset is often encountered in the reporting process. For example: you have to report to the superior leadership, we can not directly say to the superior leadership: leadership, we now meet a problem, how to do this problem? If you do, you’ll most likely get the following response: What do you think you should do? .
The correct way to deal with the problem must be that we make various analyses and assumptions in advance, come up with several plans, give our own suggestions, and then let the superior leaders to measure and make the final decision.
In this analysis and assumptions, our ability to deal with problems will continue to improve.
The last
- Wechat search public account
Javascrpt advanced programming
, welcome to follow