<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Django on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/django/</link>
        <description>Recent content in Django on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 31 Aug 2025 15:25:22 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/django/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>InvenTree</title>
        <link>https://producthunt.programnotes.cn/en/p/inventree/</link>
        <pubDate>Sun, 31 Aug 2025 15:25:22 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/inventree/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1630345099947-271d4936bba8?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTY2MjUxMDd8&amp;ixlib=rb-4.1.0" alt="Featured image of post InvenTree" /&gt;&lt;h1 id=&#34;inventreeinventree&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/inventree/InvenTree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;inventree/InvenTree&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;img src=&#34;assets/images/logo/inventree.png&#34; alt=&#34;InvenTree logo&#34; width=&#34;200&#34; height=&#34;auto&#34; /&gt;
  &lt;h1&gt;InvenTree&lt;/h1&gt;
  &lt;p&gt;Open Source Inventory Management System &lt;/p&gt;
&lt;!-- Badges --&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://opensource.org/license/MIT&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/License-MIT-yellow.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License: MIT&#34;
	
	
&gt;&lt;/a&gt;&lt;img src=&#34;https://img.shields.io/github/v/tag/inventree/inventree&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub tag (latest SemVer)&#34;
	
	
&gt;
&lt;img src=&#34;https://github.com/inventree/inventree/actions/workflows/qc_checks.yaml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CI&#34;
	
	
&gt;
&lt;a class=&#34;link&#34; href=&#34;https://inventree.readthedocs.io/en/latest/?badge=latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://readthedocs.org/projects/inventree/badge/?version=latest&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Documentation Status&#34;
	
	
&gt;&lt;/a&gt;
&lt;img src=&#34;https://github.com/inventree/inventree/actions/workflows/docker.yaml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Docker Build&#34;
	
	
&gt;
&lt;a class=&#34;link&#34; href=&#34;https://app.netlify.com/sites/inventree/deploys&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://api.netlify.com/api/v1/badges/9bbb2101-0a4d-41e7-ad56-b63fb6053094/deploy-status&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Netlify Status&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://dev.azure.com/InvenTree/InvenTree%20test%20statistics/_build/latest?definitionId=3&amp;amp;branchName=testing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://dev.azure.com/InvenTree/InvenTree%20test%20statistics/_apis/build/status%2Fmatmair.InvenTree?branchName=testing&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Performance Testing&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://bestpractices.coreinfrastructure.org/projects/7179&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://bestpractices.coreinfrastructure.org/projects/7179/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;OpenSSF Best Practices&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://securityscorecards.dev/viewer/?uri=github.com/inventree/InvenTree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://api.securityscorecards.dev/projects/github.com/inventree/InvenTree/badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;OpenSSF Scorecard&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://sonarcloud.io/summary/new_code?id=inventree_InvenTree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://sonarcloud.io/api/project_badges/measure?project=inventree_InvenTree&amp;amp;metric=sqale_rating&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Maintainability Rating&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://codecov.io/gh/inventree/InvenTree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://codecov.io/gh/inventree/InvenTree/graph/badge.svg?token=9DZRGUUV7B&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;codecov&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://crowdin.com/project/inventree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://badges.crowdin.net/inventree/localized.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Crowdin&#34;
	
	
&gt;&lt;/a&gt;
&lt;img src=&#34;https://img.shields.io/github/commit-activity/m/inventree/inventree&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub commit activity&#34;
	
	
&gt;
&lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/r/inventree/inventree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/docker/pulls/inventree/inventree&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Docker Pulls&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/inventree/InvenTree/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/stars/inventree?style=social&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub Org’s stars&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://twitter.com/inventreedb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/twitter/follow/inventreedb?style=social&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Twitter Follow&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/InvenTree/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/reddit/subreddit-subscribers/inventree?style=social&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Subreddit subscribers&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://chaos.social/@InvenTree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/dynamic/json?label=Mastodon&amp;amp;query=followers_count&amp;amp;url=https%3A%2F%2Fchaos.social%2Fapi%2Fv1%2Faccounts%2Flookup%3Facct=InvenTree&amp;amp;logo=mastodon&amp;amp;style=social&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Mastdon&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
    &lt;a href=&#34;https://demo.inventree.org/&#34;&gt;View Demo&lt;/a&gt;
  &lt;span&gt; · &lt;/span&gt;
    &lt;a href=&#34;https://docs.inventree.org/en/latest/&#34;&gt;Documentation&lt;/a&gt;
  &lt;span&gt; · &lt;/span&gt;
    &lt;a href=&#34;https://github.com/inventree/InvenTree/issues/new?template=bug_report.md&amp;title=[BUG]&#34;&gt;Report Bug&lt;/a&gt;
  &lt;span&gt; · &lt;/span&gt;
    &lt;a href=&#34;https://github.com/inventree/InvenTree/issues/new?template=feature_request.md&amp;title=[FR]&#34;&gt;Request Feature&lt;/a&gt;
  &lt;/h4&gt;
&lt;/div&gt;
&lt;!-- About the Project --&gt;
&lt;h2 id=&#34;star2-about-the-project&#34;&gt;:star2: About the Project
&lt;/h2&gt;&lt;p&gt;InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications. A powerful plugin system provides support for custom applications and extensions.&lt;/p&gt;
&lt;p&gt;Check out &lt;a class=&#34;link&#34; href=&#34;https://inventree.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;our website&lt;/a&gt; for more details.&lt;/p&gt;
&lt;!-- Roadmap --&gt;
&lt;h3 id=&#34;compass-roadmap&#34;&gt;:compass: Roadmap
&lt;/h3&gt;&lt;p&gt;Want to see what we are working on? Check out the &lt;a class=&#34;link&#34; href=&#34;https://github.com/inventree/InvenTree/issues?q=is%3Aopen&amp;#43;is%3Aissue&amp;#43;label%3Aroadmap&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;roadmap tag&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://github.com/inventree/InvenTree/milestone/42&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;horizon milestone&lt;/a&gt;.&lt;/p&gt;
&lt;!-- Integration --&gt;
&lt;h3 id=&#34;hammer_and_wrench-integration&#34;&gt;:hammer_and_wrench: Integration
&lt;/h3&gt;&lt;p&gt;InvenTree is designed to be &lt;strong&gt;extensible&lt;/strong&gt;, and provides multiple options for &lt;strong&gt;integration&lt;/strong&gt; with external applications or addition of custom plugins:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/api/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InvenTree API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/api/python/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/plugins/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Plugin interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/plugins/integrate/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Third party tools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- TechStack --&gt;
&lt;h3 id=&#34;space_invader-tech-stack&#34;&gt;:space_invader: Tech Stack
&lt;/h3&gt;&lt;details&gt;
  &lt;summary&gt;Server&lt;/summary&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;https://www.python.org/&#34;&gt;Python&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://www.djangoproject.com/&#34;&gt;Django&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://www.django-rest-framework.org/&#34;&gt;DRF&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://django-q.readthedocs.io/&#34;&gt;Django Q&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://docs.allauth.org/&#34;&gt;Django-Allauth&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Database&lt;/summary&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;https://www.postgresql.org/&#34;&gt;PostgreSQL&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://www.mysql.com/&#34;&gt;MySQL&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://www.sqlite.org/&#34;&gt;SQLite&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://redis.io/&#34;&gt;Redis&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;Client&lt;/summary&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;https://react.dev/&#34;&gt;React&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://lingui.dev/&#34;&gt;Lingui&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://reactrouter.com/&#34;&gt;React Router&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://tanstack.com/query/&#34;&gt;TanStack Query&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://github.com/pmndrs/zustand&#34;&gt;Zustand&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://mantine.dev/&#34;&gt;Mantine&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://icflorescu.github.io/mantine-datatable/&#34;&gt;Mantine Data Table&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://codemirror.net/&#34;&gt;CodeMirror&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;DevOps&lt;/summary&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;https://hub.docker.com/r/inventree/inventree&#34;&gt;Docker&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://crowdin.com/project/inventree&#34;&gt;Crowdin&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://app.codecov.io/gh/inventree/InvenTree&#34;&gt;Codecov&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://sonarcloud.io/project/overview?id=inventree_InvenTree&#34;&gt;SonarCloud&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://packager.io/gh/inventree/InvenTree&#34;&gt;Packager.io&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/details&gt;
&lt;!-- Getting Started --&gt;
&lt;h2 id=&#34;toolbox-deployment--getting-started&#34;&gt;:toolbox: Deployment / Getting Started
&lt;/h2&gt;&lt;p&gt;There are several options to deploy InvenTree.&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;&lt;h4&gt;
    &lt;a href=&#34;https://docs.inventree.org/en/latest/start/docker/&#34;&gt;Docker&lt;/a&gt;
    &lt;span&gt; · &lt;/span&gt;
    &lt;a href=&#34;https://inventree.org/digitalocean&#34;&gt;&lt;img src=&#34;https://www.deploytodo.com/do-btn-blue-ghost.svg&#34; alt=&#34;Deploy to DO&#34; width=&#34;auto&#34; height=&#34;40&#34; /&gt;&lt;/a&gt;
    &lt;span&gt; · &lt;/span&gt;
    &lt;a href=&#34;https://docs.inventree.org/en/latest/start/install/&#34;&gt;Bare Metal&lt;/a&gt;
&lt;/h4&gt;&lt;/div&gt;
&lt;p&gt;Single line install - read &lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/start/installer/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;the docs&lt;/a&gt; for supported distros and details about the function:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget -qO install.sh https://get.inventree.org &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; bash install.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Refer to the &lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/start/install/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;getting started guide&lt;/a&gt; for a full set of installation and setup instructions.&lt;/p&gt;
&lt;!-- Mobile App --&gt;
&lt;h2 id=&#34;iphone-mobile-app&#34;&gt;:iphone: Mobile App
&lt;/h2&gt;&lt;p&gt;InvenTree is supported by a &lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/app/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;companion mobile app&lt;/a&gt; which allows users access to stock control information and functionality.&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;&lt;h4&gt;
    &lt;a href=&#34;https://play.google.com/store/apps/details?id=inventree.inventree_app&#34;&gt;Android Play Store&lt;/a&gt;
     &lt;span&gt; · &lt;/span&gt;
    &lt;a href=&#34;https://apps.apple.com/au/app/inventree/id1581731101#?platform=iphone&#34;&gt;Apple App Store&lt;/a&gt;
&lt;/h4&gt;&lt;/div&gt;
&lt;!-- Security --&gt;
&lt;h2 id=&#34;lock-code-of-conduct--security-policy&#34;&gt;:lock: Code of Conduct &amp;amp; Security Policy
&lt;/h2&gt;&lt;p&gt;The InvenTree project team is committed to providing a safe and welcoming environment for all users. Please read our &lt;a class=&#34;link&#34; href=&#34;CODE_OF_CONDUCT.md&#34; &gt;Code of Conduct&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;InvenTree is following industry best practices for security. Our security policy is included &lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;in this repo&lt;/a&gt;. We provide dedicated security pages on &lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/security/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;our documentation site&lt;/a&gt;.&lt;/p&gt;
&lt;!-- Contributing --&gt;
&lt;h2 id=&#34;wave-contributing&#34;&gt;:wave: Contributing
&lt;/h2&gt;&lt;p&gt;Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the &lt;a class=&#34;link&#34; href=&#34;https://docs.inventree.org/en/latest/develop/contributing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;contribution page&lt;/a&gt;.&lt;/p&gt;
&lt;!-- Translation --&gt;
&lt;h2 id=&#34;scroll-translation&#34;&gt;:scroll: Translation
&lt;/h2&gt;&lt;p&gt;Native language translation of the InvenTree web application is &lt;a class=&#34;link&#34; href=&#34;https://crowdin.com/project/inventree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;community contributed via crowdin&lt;/a&gt;. &lt;strong&gt;Contributions are welcomed and encouraged&lt;/strong&gt;.&lt;/p&gt;
&lt;!-- Sponsor --&gt;
&lt;h2 id=&#34;money_with_wings-sponsor&#34;&gt;:money_with_wings: Sponsor
&lt;/h2&gt;&lt;p&gt;If you use InvenTree and find it to be useful, please consider &lt;a class=&#34;link&#34; href=&#34;https://github.com/sponsors/inventree&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sponsoring the project&lt;/a&gt;.&lt;/p&gt;
&lt;!-- Acknowledgments --&gt;
&lt;h2 id=&#34;gem-acknowledgements&#34;&gt;:gem: Acknowledgements
&lt;/h2&gt;&lt;p&gt;We want to acknowledge &lt;a class=&#34;link&#34; href=&#34;https://github.com/partkeepr/PartKeepr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PartKeepr&lt;/a&gt; as a valuable predecessor and inspiration.
Find a full list of used third-party libraries in the license information dialog of your instance.&lt;/p&gt;
&lt;h2 id=&#34;heart-support&#34;&gt;:heart: Support
&lt;/h2&gt;&lt;p&gt;This project is supported by the following sponsors:&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://github.com/MartinLoeper&#34;&gt;&lt;img src=&#34;https://github.com/MartinLoeper.png&#34; width=&#34;60px&#34; alt=&#34;Martin Löper&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/lippoliv&#34;&gt;&lt;img src=&#34;https://github.com/lippoliv.png&#34; width=&#34;60px&#34; alt=&#34;Oliver Lippert&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/lfg-seth&#34;&gt;&lt;img src=&#34;https://github.com/lfg-seth.png&#34; width=&#34;60px&#34; alt=&#34;Seth Smith&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/snorkrat&#34;&gt;&lt;img src=&#34;https://github.com/snorkrat.png&#34; width=&#34;60px&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/spacequest-ltd&#34;&gt;&lt;img src=&#34;https://github.com/spacequest-ltd.png&#34; width=&#34;60px&#34; alt=&#34;SpaceQuest Ltd&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/appwrite&#34;&gt;&lt;img src=&#34;https://github.com/appwrite.png&#34; width=&#34;60px&#34; alt=&#34;Appwrite&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/PricelessToolkit&#34;&gt;&lt;img src=&#34;https://github.com/PricelessToolkit.png&#34; width=&#34;60px&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/cabottech&#34;&gt;&lt;img src=&#34;https://github.com/cabottech.png&#34; width=&#34;60px&#34; alt=&#34;Cabot Technologies&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/markus-k&#34;&gt;&lt;img src=&#34;https://github.com/markus-k.png&#34; width=&#34;60px&#34; alt=&#34;Markus Kasten&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/jefffhaynes&#34;&gt;&lt;img src=&#34;https://github.com/jefffhaynes.png&#34; width=&#34;60px&#34; alt=&#34;Jeff Haynes&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/dnviti&#34;&gt;&lt;img src=&#34;https://github.com/dnviti.png&#34; width=&#34;60px&#34; alt=&#34;Daniele Viti&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/Islendur&#34;&gt;&lt;img src=&#34;https://github.com/Islendur.png&#34; width=&#34;60px&#34; alt=&#34;Islendur&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/Gibeon-NL&#34;&gt;&lt;img src=&#34;https://github.com/Gibeon-NL.png&#34; width=&#34;60px&#34; alt=&#34;Gibeon-NL&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/Motrac-Research-Engineering&#34;&gt;&lt;img src=&#34;https://github.com/Motrac-Research-Engineering.png&#34; width=&#34;60px&#34; alt=&#34;Motrac Research&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/trytuna&#34;&gt;&lt;img src=&#34;https://github.com/trytuna.png&#34; width=&#34;60px&#34; alt=&#34;Timo Scrappe&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/ATLAS2246&#34;&gt;&lt;img src=&#34;https://github.com/ATLAS2246.png&#34; width=&#34;60px&#34; alt=&#34;ATLAS2246&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/Kedarius&#34;&gt;&lt;img src=&#34;https://github.com/Kedarius.png&#34; width=&#34;60px&#34; alt=&#34;Radek Hladik&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;With ongoing resources provided by:&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://depot.dev?utm_source=inventree&#34;&gt;&lt;img src=&#34;https://depot.dev/badges/built-with-depot.svg&#34; alt=&#34;Built with Depot&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://inventree.org/digitalocean&#34;&gt;
    &lt;img src=&#34;https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg&#34; width=&#34;201px&#34; alt=&#34;Servers by Digital Ocean&#34;&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://www.netlify.com&#34;&gt; &lt;img src=&#34;https://www.netlify.com/v3/img/components/netlify-color-bg.svg&#34; alt=&#34;Deploys by Netlify&#34; /&gt; &lt;/a&gt;
  &lt;a href=&#34;https://crowdin.com&#34;&gt; &lt;img src=&#34;https://crowdin.com/images/crowdin-logo.svg&#34; alt=&#34;Translation by Crowdin&#34; /&gt; &lt;/a&gt; &lt;br&gt;
&lt;/p&gt;
&lt;!-- License --&gt;
&lt;h2 id=&#34;warning-license&#34;&gt;:warning: License
&lt;/h2&gt;&lt;p&gt;Distributed under the &lt;a class=&#34;link&#34; href=&#34;https://choosealicense.com/licenses/mit/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MIT&lt;/a&gt; License. See &lt;a class=&#34;link&#34; href=&#34;https://github.com/inventree/InvenTree/blob/master/LICENSE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LICENSE.txt&lt;/a&gt; for more information.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Python-100-Days</title>
        <link>https://producthunt.programnotes.cn/en/p/python-100-days/</link>
        <pubDate>Sun, 04 May 2025 15:26:27 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/python-100-days/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1674763766874-a779ba110133?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NDYzNDM1MTd8&amp;ixlib=rb-4.0.3" alt="Featured image of post Python-100-Days" /&gt;&lt;h1 id=&#34;jackfruedpython-100-days&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/jackfrued/Python-100-Days&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;jackfrued/Python-100-Days&lt;/a&gt;
&lt;/h1&gt;&lt;h2 id=&#34;python---100天从新手到大师&#34;&gt;Python - 100天从新手到大师
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;作者&lt;/strong&gt;：骆昊&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：如果访问 GitHub 比较慢的话，可以关注我的知乎号（&lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/people/jackfrued&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Python-Jack&lt;/strong&gt;&lt;/a&gt;），上面的&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/c_1216656665569013760&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;“&lt;strong&gt;从零开始学Python&lt;/strong&gt;”&lt;/a&gt;专栏（对应本项目前 20 天的内容）比较适合初学者，其他的专栏如“&lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/column/c_1620074540456964096&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;数据思维和统计思维&lt;/strong&gt;&lt;/a&gt;”、“&lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/column/c_1217746527315496960&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;基于Python的数据分析&lt;/strong&gt;&lt;/a&gt;”、“&lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/column/c_1628900668109946880&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;说走就走的AI之旅&lt;/strong&gt;&lt;/a&gt;”等也在持续创作和更新中，欢迎大家关注、点赞和评论。如果希望免费学习打卡或者参与问题讨论，可以加入下面的 QQ 交流群（三个群加一个即可），请不要重复加群，也不要在群里发布广告和其他色情、低俗或敏感内容。如果有付费学习或付费咨询的需求，可以添加我的私人微信（微信号：&lt;strong&gt;jackfrued&lt;/strong&gt;），备注好自己的称呼和需求，我会为大家提供力所能及的帮助。&lt;/p&gt;
&lt;img src=&#34;res/python_study_qq_group.png&#34; style=&#34;zoom:30%;&#34;&gt;
&lt;p&gt;本项目对应的部分视频已经同步到 &lt;a class=&#34;link&#34; href=&#34;https://space.bilibili.com/1177252794&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bilibili&lt;/a&gt;，有兴趣的小伙伴可以点赞、投币、关注，一键三连支持一下！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;python应用领域和职业发展分析&#34;&gt;Python应用领域和职业发展分析
&lt;/h3&gt;&lt;p&gt;简单的说，Python是一个“优雅”、“明确”、“简单”的编程语言。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;学习曲线低，非专业人士也能上手&lt;/li&gt;
&lt;li&gt;开源系统，拥有强大的生态圈&lt;/li&gt;
&lt;li&gt;解释型语言，完美的平台可移植性&lt;/li&gt;
&lt;li&gt;动态类型语言，支持面向对象和函数式编程&lt;/li&gt;
&lt;li&gt;代码规范程度高，可读性强&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Python在以下领域都有用武之地。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;后端开发 - Python / Java / Go / PHP&lt;/li&gt;
&lt;li&gt;DevOps - Python / Shell / Ruby&lt;/li&gt;
&lt;li&gt;数据采集 - Python / C++ / Java&lt;/li&gt;
&lt;li&gt;量化交易 - Python / C++ / R&lt;/li&gt;
&lt;li&gt;数据科学 - Python / R / Julia / Matlab&lt;/li&gt;
&lt;li&gt;机器学习 - Python / R / C++ / Julia&lt;/li&gt;
&lt;li&gt;自动化测试 - Python / Shell&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;作为一名Python开发者，根据个人的喜好和职业规划，可以选择的就业领域也非常多。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python后端开发工程师（服务器、云平台、数据接口）&lt;/li&gt;
&lt;li&gt;Python运维工程师（自动化运维、SRE、DevOps）&lt;/li&gt;
&lt;li&gt;Python数据分析师（数据分析、商业智能、数字化运营）&lt;/li&gt;
&lt;li&gt;Python数据科学家（机器学习、深度学习、算法专家）&lt;/li&gt;
&lt;li&gt;Python爬虫工程师（不推荐此赛道！！！）&lt;/li&gt;
&lt;li&gt;Python测试工程师（自动化测试、测试开发）&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：目前，&lt;strong&gt;数据科学赛道是非常热门的方向&lt;/strong&gt;，因为不管是互联网行业还是传统行业都已经积累了大量的数据，各行各业都需要数据科学家从已有的数据中发现更多的商业价值，从而为企业的决策提供数据的支撑，这就是所谓的数据驱动决策。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;给初学者的几个建议：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Make English as your working language.&lt;/strong&gt; （让英语成为你的工作语言）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practice makes perfect.&lt;/strong&gt; （熟能生巧）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;All experience comes from the mistakes you&amp;rsquo;ve made.&lt;/strong&gt; （所有的经验都源于你犯过的错误）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Don&amp;rsquo;t be a freeloader.&lt;/strong&gt; （不要当伸手党）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Either outstanding or out.&lt;/strong&gt; （要么出众，要么出局）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;day0120---python语言基础&#34;&gt;Day01~20 - Python语言基础
&lt;/h3&gt;&lt;h4 id=&#34;day01---初识python&#34;&gt;Day01 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/01.%e5%88%9d%e8%af%86Python.md&#34; &gt;初识Python&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Python简介
&lt;ul&gt;
&lt;li&gt;Python编年史&lt;/li&gt;
&lt;li&gt;Python优缺点&lt;/li&gt;
&lt;li&gt;Python应用领域&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安装Python环境
&lt;ul&gt;
&lt;li&gt;Windows环境&lt;/li&gt;
&lt;li&gt;macOS环境&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day02---第一个python程序&#34;&gt;Day02 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/02.%e7%ac%ac%e4%b8%80%e4%b8%aaPython%e7%a8%8b%e5%ba%8f.md&#34; &gt;第一个Python程序&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;编写代码的工具&lt;/li&gt;
&lt;li&gt;你好世界&lt;/li&gt;
&lt;li&gt;注释你的代码&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day03---python语言中的变量&#34;&gt;Day03 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/03.Python%e8%af%ad%e8%a8%80%e4%b8%ad%e7%9a%84%e5%8f%98%e9%87%8f.md&#34; &gt;Python语言中的变量&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;一些常识&lt;/li&gt;
&lt;li&gt;变量和类型&lt;/li&gt;
&lt;li&gt;变量命名&lt;/li&gt;
&lt;li&gt;变量的使用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day04---python语言中的运算符&#34;&gt;Day04 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/04.Python%e8%af%ad%e8%a8%80%e4%b8%ad%e7%9a%84%e8%bf%90%e7%ae%97%e7%ac%a6.md&#34; &gt;Python语言中的运算符&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;算术运算符&lt;/li&gt;
&lt;li&gt;赋值运算符&lt;/li&gt;
&lt;li&gt;比较运算符和逻辑运算符&lt;/li&gt;
&lt;li&gt;运算符和表达式应用
&lt;ul&gt;
&lt;li&gt;华氏和摄氏温度转换&lt;/li&gt;
&lt;li&gt;计算圆的周长和面积&lt;/li&gt;
&lt;li&gt;判断闰年&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day05---分支结构&#34;&gt;Day05 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/05.%e5%88%86%e6%94%af%e7%bb%93%e6%9e%84.md&#34; &gt;分支结构&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;使用if和else构造分支结构&lt;/li&gt;
&lt;li&gt;使用match和case构造分支结构&lt;/li&gt;
&lt;li&gt;分支结构的应用
&lt;ul&gt;
&lt;li&gt;分段函数求值&lt;/li&gt;
&lt;li&gt;百分制成绩转换成等级&lt;/li&gt;
&lt;li&gt;计算三角形的周长和面积&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day06---循环结构&#34;&gt;Day06 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/06.%e5%be%aa%e7%8e%af%e7%bb%93%e6%9e%84.md&#34; &gt;循环结构&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;for-in循环&lt;/li&gt;
&lt;li&gt;while循环&lt;/li&gt;
&lt;li&gt;break和continue&lt;/li&gt;
&lt;li&gt;嵌套的循环结构&lt;/li&gt;
&lt;li&gt;循环结构的应用
&lt;ul&gt;
&lt;li&gt;判断素数&lt;/li&gt;
&lt;li&gt;最大公约数&lt;/li&gt;
&lt;li&gt;猜数字游戏&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day07---分支和循环结构实战&#34;&gt;Day07 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/07.%e5%88%86%e6%94%af%e5%92%8c%e5%be%aa%e7%8e%af%e7%bb%93%e6%9e%84%e5%ae%9e%e6%88%98.md&#34; &gt;分支和循环结构实战&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;例子1：100以内的素数&lt;/li&gt;
&lt;li&gt;例子2：斐波那契数列&lt;/li&gt;
&lt;li&gt;例子3：寻找水仙花数&lt;/li&gt;
&lt;li&gt;例子4：百钱百鸡问题&lt;/li&gt;
&lt;li&gt;例子5：CRAPS赌博游戏&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day08---常用数据结构之列表-1&#34;&gt;Day08 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/08.%e5%b8%b8%e7%94%a8%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e4%b9%8b%e5%88%97%e8%a1%a8-1.md&#34; &gt;常用数据结构之列表-1&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建列表&lt;/li&gt;
&lt;li&gt;列表的运算&lt;/li&gt;
&lt;li&gt;元素的遍历&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day09---常用数据结构之列表-2&#34;&gt;Day09 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/09.%e5%b8%b8%e7%94%a8%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e4%b9%8b%e5%88%97%e8%a1%a8-2.md&#34; &gt;常用数据结构之列表-2&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;列表的方法
&lt;ul&gt;
&lt;li&gt;添加和删除元素&lt;/li&gt;
&lt;li&gt;元素位置和频次&lt;/li&gt;
&lt;li&gt;元素排序和反转&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;列表生成式&lt;/li&gt;
&lt;li&gt;嵌套列表&lt;/li&gt;
&lt;li&gt;列表的应用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day10---常用数据结构之元组&#34;&gt;Day10 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/10.%e5%b8%b8%e7%94%a8%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e4%b9%8b%e5%85%83%e7%bb%84.md&#34; &gt;常用数据结构之元组&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;元组的定义和运算&lt;/li&gt;
&lt;li&gt;打包和解包操作&lt;/li&gt;
&lt;li&gt;交换变量的值&lt;/li&gt;
&lt;li&gt;元组和列表的比较&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day11---常用数据结构之字符串&#34;&gt;Day11 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/11.%e5%b8%b8%e7%94%a8%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e4%b9%8b%e5%ad%97%e7%ac%a6%e4%b8%b2.md&#34; &gt;常用数据结构之字符串&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;字符串的定义
&lt;ul&gt;
&lt;li&gt;转义字符&lt;/li&gt;
&lt;li&gt;原始字符串&lt;/li&gt;
&lt;li&gt;字符的特殊表示&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;字符串的运算
&lt;ul&gt;
&lt;li&gt;拼接和重复&lt;/li&gt;
&lt;li&gt;比较运算&lt;/li&gt;
&lt;li&gt;成员运算&lt;/li&gt;
&lt;li&gt;获取字符串长度&lt;/li&gt;
&lt;li&gt;索引和切片&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;字符的遍历&lt;/li&gt;
&lt;li&gt;字符串的方法
&lt;ul&gt;
&lt;li&gt;大小写相关操作&lt;/li&gt;
&lt;li&gt;查找操作&lt;/li&gt;
&lt;li&gt;性质判断&lt;/li&gt;
&lt;li&gt;格式化&lt;/li&gt;
&lt;li&gt;修剪操作&lt;/li&gt;
&lt;li&gt;替换操作&lt;/li&gt;
&lt;li&gt;拆分与合并&lt;/li&gt;
&lt;li&gt;编码与解码&lt;/li&gt;
&lt;li&gt;其他方法&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day12---常用数据结构之集合&#34;&gt;Day12 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/12.%e5%b8%b8%e7%94%a8%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e4%b9%8b%e9%9b%86%e5%90%88.md&#34; &gt;常用数据结构之集合&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建集合&lt;/li&gt;
&lt;li&gt;元素的变量&lt;/li&gt;
&lt;li&gt;集合的运算
&lt;ul&gt;
&lt;li&gt;成员运算&lt;/li&gt;
&lt;li&gt;二元运算&lt;/li&gt;
&lt;li&gt;比较运算&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;集合的方法&lt;/li&gt;
&lt;li&gt;不可变集合&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day13---常用数据结构之字典&#34;&gt;Day13 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/13.%e5%b8%b8%e7%94%a8%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e4%b9%8b%e5%ad%97%e5%85%b8.md&#34; &gt;常用数据结构之字典&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建和使用字典&lt;/li&gt;
&lt;li&gt;字典的运算&lt;/li&gt;
&lt;li&gt;字典的方法&lt;/li&gt;
&lt;li&gt;字典的应用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day14---函数和模块&#34;&gt;Day14 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/14.%e5%87%bd%e6%95%b0%e5%92%8c%e6%a8%a1%e5%9d%97.md&#34; &gt;函数和模块&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;定义函数&lt;/li&gt;
&lt;li&gt;函数的参数
&lt;ul&gt;
&lt;li&gt;位置参数和关键字参数&lt;/li&gt;
&lt;li&gt;参数的默认值&lt;/li&gt;
&lt;li&gt;可变参数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;用模块管理函数&lt;/li&gt;
&lt;li&gt;标准库中的模块和函数&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day15---函数应用实战&#34;&gt;Day15 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/15.%e5%87%bd%e6%95%b0%e5%ba%94%e7%94%a8%e5%ae%9e%e6%88%98.md&#34; &gt;函数应用实战&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;例子1：随机验证码&lt;/li&gt;
&lt;li&gt;例子2：判断素数&lt;/li&gt;
&lt;li&gt;例子3：最大公约数和最小公倍数&lt;/li&gt;
&lt;li&gt;例子4：数据统计&lt;/li&gt;
&lt;li&gt;例子5：双色球随机选号&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day16---函数使用进阶&#34;&gt;Day16 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/16.%e5%87%bd%e6%95%b0%e4%bd%bf%e7%94%a8%e8%bf%9b%e9%98%b6.md&#34; &gt;函数使用进阶&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;高阶函数&lt;/li&gt;
&lt;li&gt;Lambda函数&lt;/li&gt;
&lt;li&gt;偏函数&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day17---函数高级应用&#34;&gt;Day17 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/17.%e5%87%bd%e6%95%b0%e9%ab%98%e7%ba%a7%e5%ba%94%e7%94%a8.md&#34; &gt;函数高级应用&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;装饰器&lt;/li&gt;
&lt;li&gt;递归调用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day18---面向对象编程入门&#34;&gt;Day18 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/18.%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8b%e5%85%a5%e9%97%a8.md&#34; &gt;面向对象编程入门&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;类和对象&lt;/li&gt;
&lt;li&gt;定义类&lt;/li&gt;
&lt;li&gt;创建和使用对象&lt;/li&gt;
&lt;li&gt;初始化方法&lt;/li&gt;
&lt;li&gt;面向对象的支柱&lt;/li&gt;
&lt;li&gt;面向对象案例
&lt;ul&gt;
&lt;li&gt;例子1：数字时钟&lt;/li&gt;
&lt;li&gt;例子2：平面上的点&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day19---面向对象编程进阶&#34;&gt;Day19 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/19.%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8b%e8%bf%9b%e9%98%b6.md&#34; &gt;面向对象编程进阶&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;可见性和属性装饰器&lt;/li&gt;
&lt;li&gt;动态属性&lt;/li&gt;
&lt;li&gt;静态方法和类方法&lt;/li&gt;
&lt;li&gt;继承和多态&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day20---面向对象编程应用&#34;&gt;Day20 - &lt;a class=&#34;link&#34; href=&#34;./Day01-20/20.%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8b%e5%ba%94%e7%94%a8.md&#34; &gt;面向对象编程应用&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;扑克游戏&lt;/li&gt;
&lt;li&gt;工资结算系统&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day2130---python语言应用&#34;&gt;Day21~30 - Python语言应用
&lt;/h3&gt;&lt;h4 id=&#34;day21---文件读写和异常处理&#34;&gt;Day21 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/21.%e6%96%87%e4%bb%b6%e8%af%bb%e5%86%99%e5%92%8c%e5%bc%82%e5%b8%b8%e5%a4%84%e7%90%86.md&#34; &gt;文件读写和异常处理&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;打开和关闭文件&lt;/li&gt;
&lt;li&gt;读写文本文件&lt;/li&gt;
&lt;li&gt;异常处理机制&lt;/li&gt;
&lt;li&gt;上下文管理器语法&lt;/li&gt;
&lt;li&gt;读写二进制文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day22---对象的序列化和反序列化&#34;&gt;Day22 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/22.%e5%af%b9%e8%b1%a1%e7%9a%84%e5%ba%8f%e5%88%97%e5%8c%96%e5%92%8c%e5%8f%8d%e5%ba%8f%e5%88%97%e5%8c%96.md&#34; &gt;对象的序列化和反序列化&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;JSON概述&lt;/li&gt;
&lt;li&gt;读写JSON格式的数据&lt;/li&gt;
&lt;li&gt;包管理工具pip&lt;/li&gt;
&lt;li&gt;使用网络API获取数据&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day23---python读写csv文件&#34;&gt;Day23 - &lt;a class=&#34;link&#34; href=&#34;23.Python%e8%af%bb%e5%86%99CSV%e6%96%87%e4%bb%b6.md&#34; &gt;Python读写CSV文件&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;CSV文件介绍&lt;/li&gt;
&lt;li&gt;将数据写入CSV文件&lt;/li&gt;
&lt;li&gt;从CSV文件读取数据&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day24---python读写excel文件-1&#34;&gt;Day24 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/24.%e7%94%a8Python%e8%af%bb%e5%86%99Excel%e6%96%87%e4%bb%b6-1.md&#34; &gt;Python读写Excel文件-1&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Excel简介&lt;/li&gt;
&lt;li&gt;读Excel文件&lt;/li&gt;
&lt;li&gt;写Excel文件&lt;/li&gt;
&lt;li&gt;调整样式&lt;/li&gt;
&lt;li&gt;公式计算&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day25---python读写excel文件-2&#34;&gt;Day25 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/25.Python%e8%af%bb%e5%86%99Excel%e6%96%87%e4%bb%b6-2.md&#34; &gt;Python读写Excel文件-2&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Excel简介&lt;/li&gt;
&lt;li&gt;读Excel文件&lt;/li&gt;
&lt;li&gt;写Excel文件&lt;/li&gt;
&lt;li&gt;调整样式&lt;/li&gt;
&lt;li&gt;生成统计图表&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day26---python操作word和powerpoint文件&#34;&gt;Day26 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/26.Python%e6%93%8d%e4%bd%9cWord%e5%92%8cPowerPoint%e6%96%87%e4%bb%b6.md&#34; &gt;Python操作Word和PowerPoint文件&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;操作Word文档&lt;/li&gt;
&lt;li&gt;生成PowerPoint&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day27---python操作pdf文件&#34;&gt;Day27 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/27.Python%e6%93%8d%e4%bd%9cPDF%e6%96%87%e4%bb%b6.md&#34; &gt;Python操作PDF文件&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;从PDF中提取文本&lt;/li&gt;
&lt;li&gt;旋转和叠加页面&lt;/li&gt;
&lt;li&gt;加密PDF文件&lt;/li&gt;
&lt;li&gt;批量添加水印&lt;/li&gt;
&lt;li&gt;创建PDF文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day28---python处理图像&#34;&gt;Day28 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/28.Python%e5%a4%84%e7%90%86%e5%9b%be%e5%83%8f.md&#34; &gt;Python处理图像&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;入门知识&lt;/li&gt;
&lt;li&gt;用Pillow处理图像&lt;/li&gt;
&lt;li&gt;使用Pillow绘图&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day29---python发送邮件和短信&#34;&gt;Day29 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/29.Python%e5%8f%91%e9%80%81%e9%82%ae%e4%bb%b6%e5%92%8c%e7%9f%ad%e4%bf%a1.md&#34; &gt;Python发送邮件和短信&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;发送电子邮件&lt;/li&gt;
&lt;li&gt;发送短信&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day30---正则表达式的应用&#34;&gt;Day30 - &lt;a class=&#34;link&#34; href=&#34;./Day21-30/30.%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e7%9a%84%e5%ba%94%e7%94%a8.md&#34; &gt;正则表达式的应用&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;正则表达式相关知识&lt;/li&gt;
&lt;li&gt;Python对正则表达式的支持
&lt;ul&gt;
&lt;li&gt;例子1：输入验证&lt;/li&gt;
&lt;li&gt;例子2：内容提取&lt;/li&gt;
&lt;li&gt;例子3：内容替换&lt;/li&gt;
&lt;li&gt;例子4：长句拆分&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day3135---其他相关内容&#34;&gt;Day31~35 - 其他相关内容
&lt;/h3&gt;&lt;h4 id=&#34;python语言进阶&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;./Day31-35/31.Python%e8%af%ad%e8%a8%80%e8%bf%9b%e9%98%b6.md&#34; &gt;Python语言进阶&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;重要知识点&lt;/li&gt;
&lt;li&gt;数据结构和算法&lt;/li&gt;
&lt;li&gt;函数的使用方式&lt;/li&gt;
&lt;li&gt;面向对象相关知识&lt;/li&gt;
&lt;li&gt;迭代器和生成器&lt;/li&gt;
&lt;li&gt;并发编程&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;web前端入门&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;./Day31-35/32-33.Web%e5%89%8d%e7%ab%af%e5%85%a5%e9%97%a8.md&#34; &gt;Web前端入门&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;用HTML标签承载页面内容&lt;/li&gt;
&lt;li&gt;用CSS渲染页面&lt;/li&gt;
&lt;li&gt;用JavaScript处理交互式行为&lt;/li&gt;
&lt;li&gt;Vue.js入门&lt;/li&gt;
&lt;li&gt;Element的使用&lt;/li&gt;
&lt;li&gt;Bootstrap的使用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;玩转linux操作系统&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;./Day31-35/34-35.%e7%8e%a9%e8%bd%acLinux%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f.md&#34; &gt;玩转Linux操作系统&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;操作系统发展史和Linux概述&lt;/li&gt;
&lt;li&gt;Linux基础命令&lt;/li&gt;
&lt;li&gt;Linux中的实用程序&lt;/li&gt;
&lt;li&gt;Linux的文件系统&lt;/li&gt;
&lt;li&gt;Vim编辑器的应用&lt;/li&gt;
&lt;li&gt;环境变量和Shell编程&lt;/li&gt;
&lt;li&gt;软件的安装和服务的配置&lt;/li&gt;
&lt;li&gt;网络访问和管理&lt;/li&gt;
&lt;li&gt;其他相关内容&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day3645---数据库基础和进阶&#34;&gt;Day36~45 - 数据库基础和进阶
&lt;/h3&gt;&lt;h4 id=&#34;day36---关系型数据库和mysql概述&#34;&gt;Day36 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/36.%e5%85%b3%e7%b3%bb%e5%9e%8b%e6%95%b0%e6%8d%ae%e5%ba%93%e5%92%8cMySQL%e6%a6%82%e8%bf%b0.md&#34; &gt;关系型数据库和MySQL概述&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;关系型数据库概述&lt;/li&gt;
&lt;li&gt;MySQL简介&lt;/li&gt;
&lt;li&gt;安装MySQL&lt;/li&gt;
&lt;li&gt;MySQL基本命令&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day37---sql详解之ddl&#34;&gt;Day37 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/37.SQL%e8%af%a6%e8%a7%a3%e4%b9%8bDDL.md&#34; &gt;SQL详解之DDL&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;建库建表&lt;/li&gt;
&lt;li&gt;删除表和修改表&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day38---sql详解之dml&#34;&gt;Day38 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/38.SQL%e8%af%a6%e8%a7%a3%e4%b9%8bDML.md&#34; &gt;SQL详解之DML&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;insert操作&lt;/li&gt;
&lt;li&gt;delete操作&lt;/li&gt;
&lt;li&gt;update操作&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day39---sql详解之dql&#34;&gt;Day39 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/39.SQL%e8%af%a6%e8%a7%a3%e4%b9%8bDQL.md&#34; &gt;SQL详解之DQL&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;投影和别名&lt;/li&gt;
&lt;li&gt;筛选数据&lt;/li&gt;
&lt;li&gt;空值处理&lt;/li&gt;
&lt;li&gt;去重&lt;/li&gt;
&lt;li&gt;排序&lt;/li&gt;
&lt;li&gt;聚合函数&lt;/li&gt;
&lt;li&gt;嵌套查询&lt;/li&gt;
&lt;li&gt;分组操作&lt;/li&gt;
&lt;li&gt;表连接
&lt;ul&gt;
&lt;li&gt;笛卡尔积&lt;/li&gt;
&lt;li&gt;内连接&lt;/li&gt;
&lt;li&gt;自然连接&lt;/li&gt;
&lt;li&gt;外连接&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;窗口函数
&lt;ul&gt;
&lt;li&gt;定义窗口&lt;/li&gt;
&lt;li&gt;排名函数&lt;/li&gt;
&lt;li&gt;取数函数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day40---sql详解之dcl&#34;&gt;Day40 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/40.SQL%e8%af%a6%e8%a7%a3%e4%b9%8bDCL.md&#34; &gt;SQL详解之DCL&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建用户&lt;/li&gt;
&lt;li&gt;授予权限&lt;/li&gt;
&lt;li&gt;召回权限&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day41---mysql新特性&#34;&gt;Day41 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/41.MySQL%e6%96%b0%e7%89%b9%e6%80%a7.md&#34; &gt;MySQL新特性&lt;/a&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;JSON类型&lt;/li&gt;
&lt;li&gt;窗口函数&lt;/li&gt;
&lt;li&gt;公共表表达式&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;day42---视图函数和过程&#34;&gt;Day42 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/42.%e8%a7%86%e5%9b%be%e3%80%81%e5%87%bd%e6%95%b0%e5%92%8c%e8%bf%87%e7%a8%8b.md&#34; &gt;视图、函数和过程&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;视图
&lt;ul&gt;
&lt;li&gt;使用场景&lt;/li&gt;
&lt;li&gt;创建视图&lt;/li&gt;
&lt;li&gt;使用限制&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;函数
&lt;ul&gt;
&lt;li&gt;内置函数&lt;/li&gt;
&lt;li&gt;用户自定义函数（UDF）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;过程
&lt;ul&gt;
&lt;li&gt;创建过程&lt;/li&gt;
&lt;li&gt;调用过程&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day43---索引&#34;&gt;Day43 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/43.%e7%b4%a2%e5%bc%95.md&#34; &gt;索引&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;执行计划&lt;/li&gt;
&lt;li&gt;索引的原理&lt;/li&gt;
&lt;li&gt;创建索引
&lt;ul&gt;
&lt;li&gt;普通索引&lt;/li&gt;
&lt;li&gt;唯一索引&lt;/li&gt;
&lt;li&gt;前缀索引&lt;/li&gt;
&lt;li&gt;复合索引&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;注意事项&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day44---python接入mysql数据库&#34;&gt;Day44 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/44.Python%e6%8e%a5%e5%85%a5MySQL%e6%95%b0%e6%8d%ae%e5%ba%93.md&#34; &gt;Python接入MySQL数据库&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;安装三方库&lt;/li&gt;
&lt;li&gt;创建连接&lt;/li&gt;
&lt;li&gt;获取游标&lt;/li&gt;
&lt;li&gt;执行SQL语句&lt;/li&gt;
&lt;li&gt;通过游标抓取数据&lt;/li&gt;
&lt;li&gt;事务提交和回滚&lt;/li&gt;
&lt;li&gt;释放连接&lt;/li&gt;
&lt;li&gt;编写ETL脚本&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day45---大数据平台和hivesql&#34;&gt;Day45 - &lt;a class=&#34;link&#34; href=&#34;./Day36-45/45.%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%b9%b3%e5%8f%b0%e5%92%8cHiveSQL.md&#34; &gt;大数据平台和HiveSQL&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Hadoop生态圈&lt;/li&gt;
&lt;li&gt;Hive概述&lt;/li&gt;
&lt;li&gt;准备工作&lt;/li&gt;
&lt;li&gt;数据类型&lt;/li&gt;
&lt;li&gt;DDL操作&lt;/li&gt;
&lt;li&gt;DML操作&lt;/li&gt;
&lt;li&gt;数据查询&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day4660---实战django&#34;&gt;Day46~60 - 实战Django
&lt;/h3&gt;&lt;h4 id=&#34;day46---django快速上手&#34;&gt;Day46 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/46.Django%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b.md&#34; &gt;Django快速上手&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Web应用工作机制&lt;/li&gt;
&lt;li&gt;HTTP请求和响应&lt;/li&gt;
&lt;li&gt;Django框架概述&lt;/li&gt;
&lt;li&gt;5分钟快速上手&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day47---深入模型&#34;&gt;Day47 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/47.%e6%b7%b1%e5%85%a5%e6%a8%a1%e5%9e%8b.md&#34; &gt;深入模型&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;关系型数据库配置&lt;/li&gt;
&lt;li&gt;使用ORM完成对模型的CRUD操作&lt;/li&gt;
&lt;li&gt;管理后台的使用&lt;/li&gt;
&lt;li&gt;Django模型最佳实践&lt;/li&gt;
&lt;li&gt;模型定义参考&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day48---静态资源和ajax请求&#34;&gt;Day48 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/48.%e9%9d%99%e6%80%81%e8%b5%84%e6%ba%90%e5%92%8cAjax%e8%af%b7%e6%b1%82.md&#34; &gt;静态资源和Ajax请求&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;加载静态资源&lt;/li&gt;
&lt;li&gt;Ajax概述&lt;/li&gt;
&lt;li&gt;用Ajax实现投票功能&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day49---cookie和session&#34;&gt;Day49 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/49.Cookie%e5%92%8cSession.md&#34; &gt;Cookie和Session&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;实现用户跟踪&lt;/li&gt;
&lt;li&gt;cookie和session的关系&lt;/li&gt;
&lt;li&gt;Django框架对session的支持&lt;/li&gt;
&lt;li&gt;视图函数中的cookie读写操作&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day50---报表和日志&#34;&gt;Day50 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/50.%e5%88%b6%e4%bd%9c%e6%8a%a5%e8%a1%a8.md&#34; &gt;报表和日志&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;通过&lt;code&gt;HttpResponse&lt;/code&gt;修改响应头&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;StreamingHttpResponse&lt;/code&gt;处理大文件&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;xlwt&lt;/code&gt;生成Excel报表&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;reportlab&lt;/code&gt;生成PDF报表&lt;/li&gt;
&lt;li&gt;使用ECharts生成前端图表&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day51---日志和调试工具栏&#34;&gt;Day51 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/51.%e6%97%a5%e5%bf%97%e5%92%8c%e8%b0%83%e8%af%95%e5%b7%a5%e5%85%b7%e6%a0%8f.md&#34; &gt;日志和调试工具栏&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;配置日志&lt;/li&gt;
&lt;li&gt;配置Django-Debug-Toolbar&lt;/li&gt;
&lt;li&gt;优化ORM代码&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day52---中间件的应用&#34;&gt;Day52 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/52.%e4%b8%ad%e9%97%b4%e4%bb%b6%e7%9a%84%e5%ba%94%e7%94%a8.md&#34; &gt;中间件的应用&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;什么是中间件&lt;/li&gt;
&lt;li&gt;Django框架内置的中间件&lt;/li&gt;
&lt;li&gt;自定义中间件及其应用场景&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day53---前后端分离开发入门&#34;&gt;Day53 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/53.%e5%89%8d%e5%90%8e%e7%ab%af%e5%88%86%e7%a6%bb%e5%bc%80%e5%8f%91%e5%85%a5%e9%97%a8.md&#34; &gt;前后端分离开发入门&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;返回JSON格式的数据&lt;/li&gt;
&lt;li&gt;用Vue.js渲染页面&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day54---restful架构和drf入门&#34;&gt;Day54 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/54.RESTful%e6%9e%b6%e6%9e%84%e5%92%8cDRF%e5%85%a5%e9%97%a8.md&#34; &gt;RESTful架构和DRF入门&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;REST概述&lt;/li&gt;
&lt;li&gt;DRF库使用入门&lt;/li&gt;
&lt;li&gt;前后端分离开发&lt;/li&gt;
&lt;li&gt;JWT的应用&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day55---restful架构和drf进阶&#34;&gt;Day55 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/55.RESTful%e6%9e%b6%e6%9e%84%e5%92%8cDRF%e8%bf%9b%e9%98%b6.md&#34; &gt;RESTful架构和DRF进阶&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;使用CBV&lt;/li&gt;
&lt;li&gt;数据分页&lt;/li&gt;
&lt;li&gt;数据筛选&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day56---使用缓存&#34;&gt;Day56 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/56.%e4%bd%bf%e7%94%a8%e7%bc%93%e5%ad%98.md&#34; &gt;使用缓存&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;网站优化第一定律&lt;/li&gt;
&lt;li&gt;在Django项目中使用Redis提供缓存服务&lt;/li&gt;
&lt;li&gt;在视图函数中读写缓存&lt;/li&gt;
&lt;li&gt;使用装饰器实现页面缓存&lt;/li&gt;
&lt;li&gt;为数据接口提供缓存服务&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day57---接入三方平台&#34;&gt;Day57 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/57.%e6%8e%a5%e5%85%a5%e4%b8%89%e6%96%b9%e5%b9%b3%e5%8f%b0.md&#34; &gt;接入三方平台&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;文件上传表单控件和图片文件预览&lt;/li&gt;
&lt;li&gt;服务器端如何处理上传的文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day58---异步任务和定时任务&#34;&gt;Day58 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/58.%e5%bc%82%e6%ad%a5%e4%bb%bb%e5%8a%a1%e5%92%8c%e5%ae%9a%e6%97%b6%e4%bb%bb%e5%8a%a1.md&#34; &gt;异步任务和定时任务&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;网站优化第二定律&lt;/li&gt;
&lt;li&gt;配置消息队列服务&lt;/li&gt;
&lt;li&gt;在项目中使用Celery实现任务异步化&lt;/li&gt;
&lt;li&gt;在项目中使用Celery实现定时任务&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day59---单元测试&#34;&gt;Day59 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/59.%e5%8d%95%e5%85%83%e6%b5%8b%e8%af%95.md&#34; &gt;单元测试&lt;/a&gt;
&lt;/h4&gt;&lt;h4 id=&#34;day60---项目上线&#34;&gt;Day60 - &lt;a class=&#34;link&#34; href=&#34;./Day46-60/60.%e9%a1%b9%e7%9b%ae%e4%b8%8a%e7%ba%bf.md&#34; &gt;项目上线&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Python中的单元测试&lt;/li&gt;
&lt;li&gt;Django框架对单元测试的支持&lt;/li&gt;
&lt;li&gt;使用版本控制系统&lt;/li&gt;
&lt;li&gt;配置和使用uWSGI&lt;/li&gt;
&lt;li&gt;动静分离和Nginx配置&lt;/li&gt;
&lt;li&gt;配置HTTPS&lt;/li&gt;
&lt;li&gt;配置域名解析&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day6165---网络数据采集&#34;&gt;Day61~65 - 网络数据采集
&lt;/h3&gt;&lt;h4 id=&#34;day61---网络数据采集概述&#34;&gt;Day61 - &lt;a class=&#34;link&#34; href=&#34;./Day61-65/61.%e7%bd%91%e7%bb%9c%e6%95%b0%e6%8d%ae%e9%87%87%e9%9b%86%e6%a6%82%e8%bf%b0.md&#34; &gt;网络数据采集概述&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;网络爬虫的概念及其应用领域&lt;/li&gt;
&lt;li&gt;网络爬虫的合法性探讨&lt;/li&gt;
&lt;li&gt;开发网络爬虫的相关工具&lt;/li&gt;
&lt;li&gt;一个爬虫程序的构成&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day62---数据抓取和解析&#34;&gt;Day62 - 数据抓取和解析
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./Day61-65/62.%e7%94%a8Python%e8%8e%b7%e5%8f%96%e7%bd%91%e7%bb%9c%e8%b5%84%e6%ba%90-1.md&#34; &gt;使用&lt;code&gt;requests&lt;/code&gt;三方库实现数据抓取&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./Day61-65/62.%e7%94%a8Python%e8%a7%a3%e6%9e%90HTML%e9%a1%b5%e9%9d%a2-2.md&#34; &gt;页面解析的三种方式&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;正则表达式解析&lt;/li&gt;
&lt;li&gt;XPath解析&lt;/li&gt;
&lt;li&gt;CSS选择器解析&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day63---python中的并发编程&#34;&gt;Day63 - Python中的并发编程
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./Day61-65/63.Python%e4%b8%ad%e7%9a%84%e5%b9%b6%e5%8f%91%e7%bc%96%e7%a8%8b-1.md&#34; &gt;多线程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./Day61-65/63.Python%e4%b8%ad%e7%9a%84%e5%b9%b6%e5%8f%91%e7%bc%96%e7%a8%8b-2.md&#34; &gt;多进程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./Day61-65/63.Python%e4%b8%ad%e7%9a%84%e5%b9%b6%e5%8f%91%e7%bc%96%e7%a8%8b-3.md&#34; &gt;异步I/O&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day64---使用selenium抓取网页动态内容&#34;&gt;Day64 - &lt;a class=&#34;link&#34; href=&#34;./Day61-65/64.%e4%bd%bf%e7%94%a8Selenium%e6%8a%93%e5%8f%96%e7%bd%91%e9%a1%b5%e5%8a%a8%e6%80%81%e5%86%85%e5%ae%b9.md&#34; &gt;使用Selenium抓取网页动态内容&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;安装Selenium&lt;/li&gt;
&lt;li&gt;加载页面&lt;/li&gt;
&lt;li&gt;查找元素和模拟用户行为&lt;/li&gt;
&lt;li&gt;隐式等待和显示等待&lt;/li&gt;
&lt;li&gt;执行JavaScript代码&lt;/li&gt;
&lt;li&gt;Selenium反爬破解&lt;/li&gt;
&lt;li&gt;设置无头浏览器&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day65---爬虫框架scrapy简介&#34;&gt;Day65 - &lt;a class=&#34;link&#34; href=&#34;./Day61-65/65.%e7%88%ac%e8%99%ab%e6%a1%86%e6%9e%b6Scrapy%e7%ae%80%e4%bb%8b.md&#34; &gt;爬虫框架Scrapy简介&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Scrapy核心组件&lt;/li&gt;
&lt;li&gt;Scrapy工作流程&lt;/li&gt;
&lt;li&gt;安装Scrapy和创建项目&lt;/li&gt;
&lt;li&gt;编写蜘蛛程序&lt;/li&gt;
&lt;li&gt;编写中间件和管道程序&lt;/li&gt;
&lt;li&gt;Scrapy配置文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day6680---python数据分析&#34;&gt;Day66~80 - Python数据分析
&lt;/h3&gt;&lt;h4 id=&#34;day66---数据分析概述&#34;&gt;Day66 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/66.%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e6%a6%82%e8%bf%b0.md&#34; &gt;数据分析概述&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;数据分析师的职责&lt;/li&gt;
&lt;li&gt;数据分析师的技能栈&lt;/li&gt;
&lt;li&gt;数据分析相关库&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day67---环境准备&#34;&gt;Day67 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/67.%e7%8e%af%e5%a2%83%e5%87%86%e5%a4%87.md&#34; &gt;环境准备&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;安装和使用anaconda
&lt;ul&gt;
&lt;li&gt;conda相关命令&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安装和使用jupyter-lab
&lt;ul&gt;
&lt;li&gt;安装和启动&lt;/li&gt;
&lt;li&gt;使用小技巧&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day68---numpy的应用-1&#34;&gt;Day68 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/68.NumPy%e7%9a%84%e5%ba%94%e7%94%a8-1.md&#34; &gt;NumPy的应用-1&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建数组对象&lt;/li&gt;
&lt;li&gt;数组对象的属性&lt;/li&gt;
&lt;li&gt;数组对象的索引运算
&lt;ul&gt;
&lt;li&gt;普通索引&lt;/li&gt;
&lt;li&gt;花式索引&lt;/li&gt;
&lt;li&gt;布尔索引&lt;/li&gt;
&lt;li&gt;切片索引&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;案例：使用数组处理图像&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day69---numpy的应用-2&#34;&gt;Day69 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/69.NumPy%e7%9a%84%e5%ba%94%e7%94%a8-2.md&#34; &gt;NumPy的应用-2&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;数组对象的相关方法
&lt;ul&gt;
&lt;li&gt;获取描述性统计信息&lt;/li&gt;
&lt;li&gt;其他相关方法&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day70---numpy的应用-3&#34;&gt;Day70 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/70.NumPy%e7%9a%84%e5%ba%94%e7%94%a8-3.md&#34; &gt;NumPy的应用-3&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;数组的运算
&lt;ul&gt;
&lt;li&gt;数组跟标量的运算&lt;/li&gt;
&lt;li&gt;数组跟数组的运算&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;通用一元函数&lt;/li&gt;
&lt;li&gt;通用二元函数&lt;/li&gt;
&lt;li&gt;广播机制&lt;/li&gt;
&lt;li&gt;Numpy常用函数&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day71---numpy的应用-4&#34;&gt;Day71 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/71.NumPy%e7%9a%84%e5%ba%94%e7%94%a8-4.md&#34; &gt;NumPy的应用-4&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;向量&lt;/li&gt;
&lt;li&gt;行列式&lt;/li&gt;
&lt;li&gt;矩阵&lt;/li&gt;
&lt;li&gt;多项式&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day72---深入浅出pandas-1&#34;&gt;Day72 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/72.%e6%b7%b1%e5%85%a5%e6%b5%85%e5%87%bapandas-1.md&#34; &gt;深入浅出pandas-1&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建Series对象&lt;/li&gt;
&lt;li&gt;Series对象的运算&lt;/li&gt;
&lt;li&gt;Series对象的属性和方法&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day73---深入浅出pandas-2&#34;&gt;Day73 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/73.%e6%b7%b1%e5%85%a5%e6%b5%85%e5%87%bapandas-2.md&#34; &gt;深入浅出pandas-2&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;创建DataFrame对象&lt;/li&gt;
&lt;li&gt;DataFrame对象的属性和方法&lt;/li&gt;
&lt;li&gt;读写DataFrame中的数据&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day74---深入浅出pandas-3&#34;&gt;Day74 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/74.%e6%b7%b1%e5%85%a5%e6%b5%85%e5%87%bapandas-3.md&#34; &gt;深入浅出pandas-3&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;数据重塑
&lt;ul&gt;
&lt;li&gt;数据拼接&lt;/li&gt;
&lt;li&gt;数据合并&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据清洗
&lt;ul&gt;
&lt;li&gt;缺失值&lt;/li&gt;
&lt;li&gt;重复值&lt;/li&gt;
&lt;li&gt;异常值&lt;/li&gt;
&lt;li&gt;预处理&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day75---深入浅出pandas-4&#34;&gt;Day75 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/75.%e6%b7%b1%e5%85%a5%e6%b5%85%e5%87%bapandas-4.md&#34; &gt;深入浅出pandas-4&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;数据透视
&lt;ul&gt;
&lt;li&gt;获取描述性统计信息&lt;/li&gt;
&lt;li&gt;排序和头部值&lt;/li&gt;
&lt;li&gt;分组聚合&lt;/li&gt;
&lt;li&gt;透视表和交叉表&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据呈现&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day76---深入浅出pandas-5&#34;&gt;Day76 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/76.%e6%b7%b1%e5%85%a5%e6%b5%85%e5%87%bapandas-5.md&#34; &gt;深入浅出pandas-5&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;计算同比环比&lt;/li&gt;
&lt;li&gt;窗口计算&lt;/li&gt;
&lt;li&gt;相关性判定&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day77---深入浅出pandas-6&#34;&gt;Day77 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/77.%e6%b7%b1%e5%85%a5%e6%b5%85%e5%87%bapandas-6.md&#34; &gt;深入浅出pandas-6&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;索引的使用
&lt;ul&gt;
&lt;li&gt;范围索引&lt;/li&gt;
&lt;li&gt;分类索引&lt;/li&gt;
&lt;li&gt;多级索引&lt;/li&gt;
&lt;li&gt;间隔索引&lt;/li&gt;
&lt;li&gt;日期时间索引&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day78---数据可视化-1&#34;&gt;Day78 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/78.%e6%95%b0%e6%8d%ae%e5%8f%af%e8%a7%86%e5%8c%96-1.md&#34; &gt;数据可视化-1&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;安装和导入matplotlib&lt;/li&gt;
&lt;li&gt;创建画布&lt;/li&gt;
&lt;li&gt;创建坐标系&lt;/li&gt;
&lt;li&gt;绘制图表
&lt;ul&gt;
&lt;li&gt;折线图&lt;/li&gt;
&lt;li&gt;散点图&lt;/li&gt;
&lt;li&gt;柱状图&lt;/li&gt;
&lt;li&gt;饼状图&lt;/li&gt;
&lt;li&gt;直方图&lt;/li&gt;
&lt;li&gt;箱线图&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;显示和保存图表&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day79---数据可视化-2&#34;&gt;Day79 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/79.%e6%95%b0%e6%8d%ae%e5%8f%af%e8%a7%86%e5%8c%96-2.md&#34; &gt;数据可视化-2&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;高阶图表
&lt;ul&gt;
&lt;li&gt;气泡图&lt;/li&gt;
&lt;li&gt;面积图&lt;/li&gt;
&lt;li&gt;雷达图&lt;/li&gt;
&lt;li&gt;玫瑰图&lt;/li&gt;
&lt;li&gt;3D图表&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day80---数据可视化-3&#34;&gt;Day80 - &lt;a class=&#34;link&#34; href=&#34;./Day66-80/80.%e6%95%b0%e6%8d%ae%e5%8f%af%e8%a7%86%e5%8c%96-3.md&#34; &gt;数据可视化-3&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Seaborn&lt;/li&gt;
&lt;li&gt;Pyecharts&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day8190---机器学习&#34;&gt;Day81~90 - 机器学习
&lt;/h3&gt;&lt;h4 id=&#34;day81---浅谈机器学习&#34;&gt;Day81 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/81.%e6%b5%85%e8%b0%88%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0.md&#34; &gt;浅谈机器学习&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;人工智能发展史&lt;/li&gt;
&lt;li&gt;什么是机器学习&lt;/li&gt;
&lt;li&gt;机器学习应用领域&lt;/li&gt;
&lt;li&gt;机器学习的分类&lt;/li&gt;
&lt;li&gt;机器学习的步骤&lt;/li&gt;
&lt;li&gt;第一次机器学习&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day82---k最近邻算法&#34;&gt;Day82 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/82.k%e6%9c%80%e8%bf%91%e9%82%bb%e7%ae%97%e6%b3%95.md&#34; &gt;k最近邻算法&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;距离的度量&lt;/li&gt;
&lt;li&gt;数据集介绍&lt;/li&gt;
&lt;li&gt;kNN分类的实现&lt;/li&gt;
&lt;li&gt;模型评估&lt;/li&gt;
&lt;li&gt;参数调优&lt;/li&gt;
&lt;li&gt;kNN回归的实现&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day83---决策树和随机森林&#34;&gt;Day83 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/83.%e5%86%b3%e7%ad%96%e6%a0%91%e5%92%8c%e9%9a%8f%e6%9c%ba%e6%a3%ae%e6%9e%97.md&#34; &gt;决策树和随机森林&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;决策树的构建
&lt;ul&gt;
&lt;li&gt;特征选择&lt;/li&gt;
&lt;li&gt;数据分裂&lt;/li&gt;
&lt;li&gt;树的剪枝&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;实现决策树模型&lt;/li&gt;
&lt;li&gt;随机森林概述&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day84---朴素贝叶斯算法&#34;&gt;Day84 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/84.%e6%9c%b4%e7%b4%a0%e8%b4%9d%e5%8f%b6%e6%96%af%e7%ae%97%e6%b3%95.md&#34; &gt;朴素贝叶斯算法&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;贝叶斯定理&lt;/li&gt;
&lt;li&gt;朴素贝叶斯&lt;/li&gt;
&lt;li&gt;算法原理
&lt;ul&gt;
&lt;li&gt;训练阶段&lt;/li&gt;
&lt;li&gt;预测阶段&lt;/li&gt;
&lt;li&gt;代码实现&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;算法优缺点&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day85---回归模型&#34;&gt;Day85 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/85.%e5%9b%9e%e5%bd%92%e6%a8%a1%e5%9e%8b.md&#34; &gt;回归模型&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;回归模型的分类&lt;/li&gt;
&lt;li&gt;回归系数的计算&lt;/li&gt;
&lt;li&gt;新数据集介绍&lt;/li&gt;
&lt;li&gt;线性回归代码实现&lt;/li&gt;
&lt;li&gt;回归模型的评估&lt;/li&gt;
&lt;li&gt;引入正则化项&lt;/li&gt;
&lt;li&gt;线性回归另一种实现&lt;/li&gt;
&lt;li&gt;多项式回归&lt;/li&gt;
&lt;li&gt;逻辑回归&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day86---k-means聚类算法&#34;&gt;Day86 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/86.K-Means%e8%81%9a%e7%b1%bb%e7%ae%97%e6%b3%95.md&#34; &gt;K-Means聚类算法&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;算法原理&lt;/li&gt;
&lt;li&gt;数学描述&lt;/li&gt;
&lt;li&gt;代码实现&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day87---集成学习算法&#34;&gt;Day87 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/87.%e9%9b%86%e6%88%90%e5%ad%a6%e4%b9%a0%e7%ae%97%e6%b3%95.md&#34; &gt;集成学习算法&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;算法分类&lt;/li&gt;
&lt;li&gt;AdaBoost&lt;/li&gt;
&lt;li&gt;GBDT&lt;/li&gt;
&lt;li&gt;XGBoost&lt;/li&gt;
&lt;li&gt;LightGBM&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day88---神经网络模型&#34;&gt;Day88 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/88.%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%e6%a8%a1%e5%9e%8b.md&#34; &gt;神经网络模型&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;基本构成&lt;/li&gt;
&lt;li&gt;工作原理&lt;/li&gt;
&lt;li&gt;代码实现&lt;/li&gt;
&lt;li&gt;模型优缺点&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day89---自然语言处理入门&#34;&gt;Day89 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/89.%e8%87%aa%e7%84%b6%e8%af%ad%e8%a8%80%e5%a4%84%e7%90%86%e5%85%a5%e9%97%a8.md&#34; &gt;自然语言处理入门&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;词袋模型&lt;/li&gt;
&lt;li&gt;词向量&lt;/li&gt;
&lt;li&gt;NPLM和RNN&lt;/li&gt;
&lt;li&gt;Seq2Seq&lt;/li&gt;
&lt;li&gt;Transformer&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;day90---机器学习实战&#34;&gt;Day90 - &lt;a class=&#34;link&#34; href=&#34;./Day81-90/90.%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0%e5%ae%9e%e6%88%98.md&#34; &gt;机器学习实战&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;数据探索&lt;/li&gt;
&lt;li&gt;特征工程&lt;/li&gt;
&lt;li&gt;模型训练&lt;/li&gt;
&lt;li&gt;模型评估&lt;/li&gt;
&lt;li&gt;模型部署&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;day9199---团队项目开发&#34;&gt;Day91~99 - &lt;a class=&#34;link&#34; href=&#34;./Day91-100&#34; &gt;团队项目开发&lt;/a&gt;
&lt;/h3&gt;&lt;h4 id=&#34;第91天团队项目开发的问题和解决方案&#34;&gt;第91天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/91.%e5%9b%a2%e9%98%9f%e9%a1%b9%e7%9b%ae%e5%bc%80%e5%8f%91%e7%9a%84%e9%97%ae%e9%a2%98%e5%92%8c%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.md&#34; &gt;团队项目开发的问题和解决方案&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;软件过程模型&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;经典过程模型（瀑布模型）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;可行性分析（研究做还是不做），输出《可行性分析报告》。&lt;/li&gt;
&lt;li&gt;需求分析（研究做什么），输出《需求规格说明书》和产品界面原型图。&lt;/li&gt;
&lt;li&gt;概要设计和详细设计，输出概念模型图（ER图）、物理模型图、类图、时序图等。&lt;/li&gt;
&lt;li&gt;编码 / 测试。&lt;/li&gt;
&lt;li&gt;上线 / 维护。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;瀑布模型最大的缺点是无法拥抱需求变化，整套流程结束后才能看到产品，团队士气低落。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;敏捷开发（Scrum）- 产品所有者、Scrum Master、研发人员 - Sprint&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;产品的Backlog（用户故事、产品原型）。&lt;/li&gt;
&lt;li&gt;计划会议（评估和预算）。&lt;/li&gt;
&lt;li&gt;日常开发（站立会议、番茄工作法、结对编程、测试先行、代码重构……）。&lt;/li&gt;
&lt;li&gt;修复bug（问题描述、重现步骤、测试人员、被指派人）。&lt;/li&gt;
&lt;li&gt;发布版本。&lt;/li&gt;
&lt;li&gt;评审会议（Showcase，用户需要参与）。&lt;/li&gt;
&lt;li&gt;回顾会议（对当前迭代周期做一个总结）。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;补充：敏捷软件开发宣言&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;个体和互动&lt;/strong&gt; 高于 流程和工具&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工作的软件&lt;/strong&gt; 高于 详尽的文档&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;客户合作&lt;/strong&gt; 高于 合同谈判&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;响应变化&lt;/strong&gt; 高于 遵循计划&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;角色：产品所有者（决定做什么，能对需求拍板的人）、团队负责人（解决各种问题，专注如何更好的工作，屏蔽外部对开发团队的影响）、开发团队（项目执行人员，具体指开发人员和测试人员）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;准备工作：商业案例和资金、合同、憧憬、初始产品需求、初始发布计划、入股、组建团队。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;敏捷团队通常人数为8-10人。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;工作量估算：将开发任务量化，包括原型、Logo设计、UI设计、前端开发等，尽量把每个工作分解到最小任务量，最小任务量标准为工作时间不能超过两天，然后估算总体项目时间。把每个任务都贴在看板上面，看板上分三部分：to do（待完成）、in progress（进行中）和done（已完成）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;项目团队组建&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;团队的构成和角色&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;编程规范和代码审查（&lt;code&gt;flake8&lt;/code&gt;、&lt;code&gt;pylint&lt;/code&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Python中的一些“惯例”（请参考&lt;a class=&#34;link&#34; href=&#34;./%e7%95%aa%e5%a4%96%e7%af%87/Python%e7%bc%96%e7%a8%8b%e6%83%af%e4%be%8b.md&#34; &gt;《Python惯例-如何编写Pythonic的代码》&lt;/a&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;影响代码可读性的原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代码注释太少或者没有注释&lt;/li&gt;
&lt;li&gt;代码破坏了语言的最佳实践&lt;/li&gt;
&lt;li&gt;反模式编程（意大利面代码、复制-黏贴编程、自负编程、……）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;团队开发工具介绍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;版本控制：Git、Mercury&lt;/li&gt;
&lt;li&gt;缺陷管理：&lt;a class=&#34;link&#34; href=&#34;https://about.gitlab.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gitlab&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;http://www.redmine.org.cn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redmine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;敏捷闭环工具：&lt;a class=&#34;link&#34; href=&#34;https://www.zentao.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;禅道&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://www.atlassian.com/software/jira/features&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JIRA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;持续集成：&lt;a class=&#34;link&#34; href=&#34;https://jenkins.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jenkins&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://travis-ci.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Travis-CI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;请参考&lt;a class=&#34;link&#34; href=&#34;Day91-100/91.%e5%9b%a2%e9%98%9f%e9%a1%b9%e7%9b%ae%e5%bc%80%e5%8f%91%e7%9a%84%e9%97%ae%e9%a2%98%e5%92%8c%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.md&#34; &gt;《团队项目开发的问题和解决方案》&lt;/a&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;项目选题和理解业务&#34;&gt;项目选题和理解业务
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;选题范围设定&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CMS（用户端）：新闻聚合网站、问答/分享社区、影评/书评网站等。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;MIS（用户端+管理端）：KMS、KPI考核系统、HRS、CRM系统、供应链系统、仓储管理系统等。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;App后台（管理端+数据接口）：二手交易类、报刊杂志类、小众电商类、新闻资讯类、旅游类、社交类、阅读类等。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其他类型：自身行业背景和工作经验、业务容易理解和把控。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;需求理解、模块划分和任务分配&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;需求理解：头脑风暴和竞品分析。&lt;/li&gt;
&lt;li&gt;模块划分：画思维导图（XMind），每个模块是一个枝节点，每个具体的功能是一个叶节点（用动词表述），需要确保每个叶节点无法再生出新节点，确定每个叶子节点的重要性、优先级和工作量。&lt;/li&gt;
&lt;li&gt;任务分配：由项目负责人根据上面的指标为每个团队成员分配任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;制定项目进度表（每日更新）&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;模块&lt;/th&gt;
          &lt;th&gt;功能&lt;/th&gt;
          &lt;th&gt;人员&lt;/th&gt;
          &lt;th&gt;状态&lt;/th&gt;
          &lt;th&gt;完成&lt;/th&gt;
          &lt;th&gt;工时&lt;/th&gt;
          &lt;th&gt;计划开始&lt;/th&gt;
          &lt;th&gt;实际开始&lt;/th&gt;
          &lt;th&gt;计划结束&lt;/th&gt;
          &lt;th&gt;实际结束&lt;/th&gt;
          &lt;th&gt;备注&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;评论&lt;/td&gt;
          &lt;td&gt;添加评论&lt;/td&gt;
          &lt;td&gt;王大锤&lt;/td&gt;
          &lt;td&gt;正在进行&lt;/td&gt;
          &lt;td&gt;50%&lt;/td&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;2018/8/7&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;2018/8/7&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;删除评论&lt;/td&gt;
          &lt;td&gt;王大锤&lt;/td&gt;
          &lt;td&gt;等待&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;2&lt;/td&gt;
          &lt;td&gt;2018/8/7&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;2018/8/7&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;查看评论&lt;/td&gt;
          &lt;td&gt;白元芳&lt;/td&gt;
          &lt;td&gt;正在进行&lt;/td&gt;
          &lt;td&gt;20%&lt;/td&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;2018/8/7&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;2018/8/7&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;需要进行代码审查&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;评论投票&lt;/td&gt;
          &lt;td&gt;白元芳&lt;/td&gt;
          &lt;td&gt;等待&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;2018/8/8&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;2018/8/8&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OOAD和数据库设计&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;UML（统一建模语言）的类图&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;通过模型创建表（正向工程），例如在Django项目中可以通过下面的命令创建二维表。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-Shell&#34; data-lang=&#34;Shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python manage.py makemigrations app
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python manage.py migrate
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用PowerDesigner绘制物理模型图。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;通过数据表创建模型（反向工程），例如在Django项目中可以通过下面的命令生成模型。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-Shell&#34; data-lang=&#34;Shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python manage.py inspectdb &amp;gt; app/models.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;第92天docker容器技术详解&#34;&gt;第92天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/92.Docker%e5%ae%b9%e5%99%a8%e6%8a%80%e6%9c%af%e8%af%a6%e8%a7%a3.md&#34; &gt;Docker容器技术详解&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Docker简介&lt;/li&gt;
&lt;li&gt;安装Docker&lt;/li&gt;
&lt;li&gt;使用Docker创建容器（Nginx、MySQL、Redis、Gitlab、Jenkins）&lt;/li&gt;
&lt;li&gt;构建Docker镜像（Dockerfile的编写和相关指令）&lt;/li&gt;
&lt;li&gt;容器编排（Docker-compose）&lt;/li&gt;
&lt;li&gt;集群管理（Kubernetes）&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第93天mysql性能优化&#34;&gt;第93天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/93.MySQL%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96.md&#34; &gt;MySQL性能优化&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;基本原则&lt;/li&gt;
&lt;li&gt;InnoDB引擎&lt;/li&gt;
&lt;li&gt;索引的使用和注意事项&lt;/li&gt;
&lt;li&gt;数据分区&lt;/li&gt;
&lt;li&gt;SQL优化&lt;/li&gt;
&lt;li&gt;配置优化&lt;/li&gt;
&lt;li&gt;架构优化&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第94天网络api接口设计&#34;&gt;第94天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/94.%e7%bd%91%e7%bb%9cAPI%e6%8e%a5%e5%8f%a3%e8%ae%be%e8%ae%a1.md&#34; &gt;网络API接口设计&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;设计原则
&lt;ul&gt;
&lt;li&gt;关键问题&lt;/li&gt;
&lt;li&gt;其他问题&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;文档撰写&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第95天使用django开发商业项目day91-10095使用django开发商业项目md&#34;&gt;第95天：[使用Django开发商业项目](./Day91-100/95.使用Django开发商业项	目.md)
&lt;/h4&gt;&lt;h5 id=&#34;项目开发中的公共问题&#34;&gt;项目开发中的公共问题
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;数据库的配置（多数据库、主从复制、数据库路由）&lt;/li&gt;
&lt;li&gt;缓存的配置（分区缓存、键设置、超时设置、主从复制、故障恢复（哨兵））&lt;/li&gt;
&lt;li&gt;日志的配置&lt;/li&gt;
&lt;li&gt;分析和调试（Django-Debug-ToolBar）&lt;/li&gt;
&lt;li&gt;好用的Python模块（日期计算、图像处理、数据加密、三方API）&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;rest-api设计&#34;&gt;REST API设计
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;RESTful架构
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.ruanyifeng.com/blog/2011/09/restful.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;理解RESTful架构&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.ruanyifeng.com/blog/2014/05/restful_api.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RESTful API设计指南&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RESTful API最佳实践&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;API接口文档的撰写
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://rap2.taobao.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RAP2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://yapi.demo.qunar.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;YAPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.django-rest-framework.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;django-REST-framework&lt;/a&gt;的应用&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;项目中的重点难点剖析&#34;&gt;项目中的重点难点剖析
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;使用缓存缓解数据库压力 - Redis&lt;/li&gt;
&lt;li&gt;使用消息队列做解耦合和削峰 - Celery + RabbitMQ&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第96天软件测试和自动化测试&#34;&gt;第96天：&lt;a class=&#34;link&#34; href=&#34;Day91-100/96.%e8%bd%af%e4%bb%b6%e6%b5%8b%e8%af%95%e5%92%8c%e8%87%aa%e5%8a%a8%e5%8c%96%e6%b5%8b%e8%af%95.md&#34; &gt;软件测试和自动化测试&lt;/a&gt;
&lt;/h4&gt;&lt;h5 id=&#34;单元测试&#34;&gt;单元测试
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;测试的种类&lt;/li&gt;
&lt;li&gt;编写单元测试（&lt;code&gt;unittest&lt;/code&gt;、&lt;code&gt;pytest&lt;/code&gt;、&lt;code&gt;nose2&lt;/code&gt;、&lt;code&gt;tox&lt;/code&gt;、&lt;code&gt;ddt&lt;/code&gt;、……）&lt;/li&gt;
&lt;li&gt;测试覆盖率（&lt;code&gt;coverage&lt;/code&gt;）&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;django项目部署&#34;&gt;Django项目部署
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;部署前的准备工作
&lt;ul&gt;
&lt;li&gt;关键设置（SECRET_KEY / DEBUG / ALLOWED_HOSTS / 缓存 / 数据库）&lt;/li&gt;
&lt;li&gt;HTTPS / CSRF_COOKIE_SECUR  / SESSION_COOKIE_SECURE&lt;/li&gt;
&lt;li&gt;日志相关配置&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Linux常用命令回顾&lt;/li&gt;
&lt;li&gt;Linux常用服务的安装和配置&lt;/li&gt;
&lt;li&gt;uWSGI/Gunicorn和Nginx的使用
&lt;ul&gt;
&lt;li&gt;Gunicorn和uWSGI的比较
&lt;ul&gt;
&lt;li&gt;对于不需要大量定制化的简单应用程序，Gunicorn是一个不错的选择，uWSGI的学习曲线比Gunicorn要陡峭得多，Gunicorn的默认参数就已经能够适应大多数应用程序。&lt;/li&gt;
&lt;li&gt;uWSGI支持异构部署。&lt;/li&gt;
&lt;li&gt;由于Nginx本身支持uWSGI，在线上一般都将Nginx和uWSGI捆绑在一起部署，而且uWSGI属于功能齐全且高度定制的WSGI中间件。&lt;/li&gt;
&lt;li&gt;在性能上，Gunicorn和uWSGI其实表现相当。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;使用虚拟化技术（Docker）部署测试环境和生产环境&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;性能测试&#34;&gt;性能测试
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;AB的使用&lt;/li&gt;
&lt;li&gt;SQLslap的使用&lt;/li&gt;
&lt;li&gt;sysbench的使用&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 id=&#34;自动化测试&#34;&gt;自动化测试
&lt;/h5&gt;&lt;ol&gt;
&lt;li&gt;使用Shell和Python进行自动化测试&lt;/li&gt;
&lt;li&gt;使用Selenium实现自动化测试
&lt;ul&gt;
&lt;li&gt;Selenium IDE&lt;/li&gt;
&lt;li&gt;Selenium WebDriver&lt;/li&gt;
&lt;li&gt;Selenium Remote Control&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;测试工具Robot Framework介绍&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第97天电商网站技术要点剖析&#34;&gt;第97天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/97.%e7%94%b5%e5%95%86%e7%bd%91%e7%ab%99%e6%8a%80%e6%9c%af%e8%a6%81%e7%82%b9%e5%89%96%e6%9e%90.md&#34; &gt;电商网站技术要点剖析&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;商业模式和需求要点&lt;/li&gt;
&lt;li&gt;物理模型设计&lt;/li&gt;
&lt;li&gt;第三方登录&lt;/li&gt;
&lt;li&gt;缓存预热和查询缓存&lt;/li&gt;
&lt;li&gt;购物车的实现&lt;/li&gt;
&lt;li&gt;支付功能集成&lt;/li&gt;
&lt;li&gt;秒杀和超卖问题&lt;/li&gt;
&lt;li&gt;静态资源管理&lt;/li&gt;
&lt;li&gt;全文检索方案&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第98天项目部署上线和性能调优&#34;&gt;第98天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/98.%e9%a1%b9%e7%9b%ae%e9%83%a8%e7%bd%b2%e4%b8%8a%e7%ba%bf%e5%92%8c%e6%80%a7%e8%83%bd%e8%b0%83%e4%bc%98.md&#34; &gt;项目部署上线和性能调优&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;MySQL数据库调优&lt;/li&gt;
&lt;li&gt;Web服务器性能优化
&lt;ul&gt;
&lt;li&gt;Nginx负载均衡配置&lt;/li&gt;
&lt;li&gt;Keepalived实现高可用&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;代码性能调优
&lt;ul&gt;
&lt;li&gt;多线程&lt;/li&gt;
&lt;li&gt;异步化&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;静态资源访问优化
&lt;ul&gt;
&lt;li&gt;云存储&lt;/li&gt;
&lt;li&gt;CDN&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;第99天面试中的公共问题&#34;&gt;第99天：&lt;a class=&#34;link&#34; href=&#34;./Day91-100/99.%e9%9d%a2%e8%af%95%e4%b8%ad%e7%9a%84%e5%85%ac%e5%85%b1%e9%97%ae%e9%a2%98.md&#34; &gt;面试中的公共问题&lt;/a&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;计算机基础&lt;/li&gt;
&lt;li&gt;Python基础&lt;/li&gt;
&lt;li&gt;Web框架相关&lt;/li&gt;
&lt;li&gt;爬虫相关问题&lt;/li&gt;
&lt;li&gt;数据分析&lt;/li&gt;
&lt;li&gt;项目相关&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;第100天---补充内容&#34;&gt;第100天 - &lt;a class=&#34;link&#34; href=&#34;./Day91-100/100.%e8%a1%a5%e5%85%85%e5%86%85%e5%ae%b9.md&#34; &gt;补充内容&lt;/a&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;面试宝典&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python 面试宝典&lt;/li&gt;
&lt;li&gt;SQL 面试宝典（数据分析师）&lt;/li&gt;
&lt;li&gt;商业分析面试宝典&lt;/li&gt;
&lt;li&gt;机器学习面试宝典&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;机器学习数学基础&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;深度学习&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;计算机视觉&lt;/li&gt;
&lt;li&gt;大语言模型&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
