Note : Since the project was launched to the 8w+ star, I have been receiving feedback that the basic part (the content of the first 15 days) is difficult for novices, and it is recommended to have a supporting video for explanation. Recently, I recreated a project called “Python-Core-50-Courses” 123 from the basic part of the content . This part of the content was rewritten in a simpler and more popular way and accompanied by a video explanation . Beginners can pay attention to this new project. If domestic users are slow to access GitHub, they can also pay attention to the “Learn Python from scratch” 39 column on my Zhihu Python-Jack 15 . The column will continue to be updated, and the content of “data analysis” that everyone is looking forward to will also be coming soon Online, welcome everyone to pay attention to my columns, articles and answers in Zhihu .
The creation is not easy. Thank you for your rewards and support. The money will basically not be used to buy coffee. Instead, it will be donated to people in need through platforms such as Tencent Charity, Meituan Charity, and Didi Chuan ( click to 3 learn about donations). Those who need to join the QQ exchange group can scan the QR code below. The exchange group will provide you with learning resources and answers to questions , and will continue to bring you free online Python experience courses and industry open courses , so stay tuned.
Application case-Convert Fahrenheit temperature to Celsius temperature / Enter the radius of the circle to calculate the circumference and area / Enter the year to determine whether it is a leap year
if statement-simple if / if-else structure / if-elif-else structure / nested if
Application case-User authentication / Interchange of imperial units and metric units / Decide what to do by rolling the dice / Converting percentile scores to grade system / Evaluation of piecewise function / Enter the length of three sides, if they can form a triangle, calculate the perimeter and area
Application scenarios of loop structure-condition/indentation/code block/flow chart
while loop-basic structure / break statement / continue statement
for loop-basic structure / range type / branch structure in loop / nested loop / end program early
Application case-1~100 summation / judging prime numbers / guessing the number game / printing the nine-nine table / printing the triangle pattern / monkeys eating peaches / hundred money and hundred chickens
Manage functions with modules-the concept of modules / use custom modules to manage functions / what happens when naming conflicts (the same module and different modules)
The use of string-calculation length / subscript operation / slicing / common methods
Basic usage of list-define list / use the following table to access elements / subscript out of range / add element / delete element / modify element / slice / loop traversal
Common List Operations-Concatenation / Copy (Copy Elements and Copy Array) / Length / Sort / Reverse / Find
Generate list-use range to create a list of numbers / generate expressions / generators
Use of tuples-define tuples / use values in tuples / modify tuple variables / tuples and list conversion
Basic usage of collection-the difference between collection and list / create collection / add element / delete element / empty
Common Set Operations-Intersection / Union / Difference / Symmetric Difference / Subset / Superset
The basic usage of the dictionary-the characteristics of the dictionary / create a dictionary / add elements / delete elements / take values / empty
Common dictionary operations-keys() method/ values() method/ items() method/ setdefault() method
Basic exercises-marquee effect / find the largest element in a list / statistical test score average / Fibonacci sequence / Yang Hui triangle
Comprehensive case-Two-color ball number selection / Tic-Tac-Toe
Method in class-instance method/class method/static method
Operator overloading-add / sub / or /getitem / setitem / len / repr / gt / lt / le / ge / eq / ne / contains
The relationship between classes (of objects)-association/inheritance/dependency
Inheritance and polymorphism-what is the inheritance/ syntax of inheritance/ calling parent method/ method rewriting/ type determination/ multiple inheritance/ diamond inheritance (diamond inheritance) and C3 algorithm
Comprehensive Case-Salary Settlement System / Automatic Book Discount System / Customized Score
Advanced string operations-escape characters / original strings / multi-line strings / in and not in operators / methods at the beginning of is / join and split methods / strip related methods / pyperclip module / invariant strings and variable characters Use of String/StringIO
Introduction to regular expressions-the role of regular expressions / metacharacters / escapes / quantifiers / grouping / zero-width assertions / greedy matching and lazy matching laziness / using the re module to implement regular expression operations (matching, searching, replacing, capturing)
Use regular expressions-re module / compile function / group and groups method / match method / search method / findall and finditer method / sub and subn method / split method
Application Case-Use regular expressions to verify the input string
Reminder : The content of data analysis and machine learning is in the code folder. It is the code and notes written in jupyter notebook. You need to start jupyter notebook and then open the corresponding file for learning. Relevant documents will continue to be supplemented in 2020, and I hope you will continue to pay attention.
Feasibility analysis (whether the research is done or not), and output the “feasibility analysis report”.
Requirement analysis (study what to do), output “requirements specification” and product interface prototype diagram.
Outline design and detailed design, output conceptual model diagram (ER diagram), physical model diagram, class diagram, sequence diagram, etc.
Coding/testing.
Go online/maintenance.The biggest disadvantage of the waterfall model is that it cannot embrace changes in requirements. The product can only be seen after the entire process is over, and the team morale is low.
Agile Development (Scrum)-Product Owner, Scrum Master, R&D Staff-Sprint
Product Backlog (user story, product prototype).
Planning meetings (evaluation and budgeting).
Daily development (stand-up meeting, Pomodoro Technique, pair programming, test first, code refactoring…).
Review meeting (Showcase, users need to participate).
Retrospective meeting (a summary of the current iteration cycle).
Supplement: Manifesto for Agile Software Development
* **Individuals and interactions are** higher than processes and tools * **Working software is** higher than detailed documentation * **Customer cooperation is** higher than contract negotiation * **Responding to changes is** better than following a plan
Roles: product owner (the person who decides what to do and can approve the demand), team leader (solve various problems, focus on how to work better, shield the external influence on the development team), development team (project executive, Specifically refers to developers and testers).
Preparation work: business case and capital, contract, vision, initial product requirements, initial release plan, shareholding, and team formation.
Agile teams usually have 8-10 people.
Estimation of workload: Quantify the development tasks, including prototype, logo design, UI design, front-end development, etc., try to break down each work to the minimum amount of tasks, the minimum task amount standard is that the working time cannot exceed two days, and then estimate the overall project time . Post each task on the Kanban board, which is divided into three parts: to do (to be completed), in progress (in progress) and done (completed).
Project team formation
Team composition and roles
Note: Thank you Ms. Fu Xiangying for helping me draw the following beautiful company organization chart.
Project topic selection and business understanding
Topic selection range setting
CMS (user terminal): news aggregation website, Q&A/sharing community, film review/book review website, etc.
MIS (user side + management side): KMS, KPI assessment system, HRS, CRM system, supply chain system, warehouse management system, etc.
App background (management terminal + data interface): second-hand trading, newspapers and magazines, niche e-commerce, news information, travel, social, reading, etc.
Other types: own industry background and work experience, business is easy to understand and control.
Requirements understanding, module division and task allocation
Need understanding: brainstorming and competitive product analysis.
Module division: draw a mind map (XMind), each module is a branch node, and each specific function is a leaf node (expressed in verbs). It is necessary to ensure that each leaf node cannot regenerate a new node, and determine each leaf The importance, priority and workload of the node.
Task assignment: The project leader assigns tasks to each team member according to the above indicators. 1
Develop project schedule (updated daily)
ModuleFeaturespersonnelstatuscarry outWorking hoursPlan startedActual startEnd of planActual endRemarks
Installation and configuration of Linux common services
Use of uWSGI/Gunicorn and Nginx
Comparison of Gunicorn and uWSGI
For simple applications that do not require a lot of customization, Gunicorn is a good choice. The learning curve of uWSGI is much steeper than that of Gunicorn. Gunicorn’s default parameters can already be adapted to most applications.
uWSGI supports heterogeneous deployment.
Since Nginx itself supports uWSGI, Nginx and uWSGI are generally bundled and deployed online, and uWSGI is a fully functional and highly customized WSGI middleware.
In terms of performance, Gunicorn and uWSGI are actually comparable.
Use virtualization technology (Docker) to deploy test and production environments