Django搭建适用于自己项目的logging系统 django的日志系统是基于python的Logging模块来搭建的日志系统分为4个部分① loggers:用户使用的一个日志接口,将日志传递给handlers进行处理 ② handlers:用于处理loggers的程序,控制日志输出到哪里,可以是文件,也可以是console。 ③ Filters:过滤日志等级的程序,控制一定等级的日志进入handlers进行处理 ④ Formatters :用于 2020-04-23 Django Django 日志
0-1背包问题的解法(动态规划、回溯算法) 0-1 背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大? 假设: n = 5 w = [2,5,1,3,6] v = [2,4,5,2,3] c = 9 按照动态规划的五大步骤进行分析: ① 状态定义:要计算背包物品的总价值,我们可以设定一个空间来存储该总价值 ② 状态转移方程:建模,创 2020-04-22 算法 算法 动态规划
django-redis使用原生客户端 django-redis使用redis的原生接口django-redis所暴露的接口相比于原生redis客户端的api肯定不是完全的,如果我们需要在项目中使用redis原生客户端的话,django-redis提供了一种方式来返回一个Redis对象,以此来调用api。这样有效的避免了使用原生接口再次配置一次 使用方法如下: 12345# 我们首先需要导入一个创建连接的类from django_red 2020-04-21 Redis Django Django Redis
django中的Queryset的两大特性---惰性 and 缓存 ①惰性②缓存Queryset是可迭代的查询集,而不是简单的列表,查询集中包含了多个查询结果对象。解析来来一下这两大特性。 一、惰性results = Test.objects.all() # 此时并不会进行实际的数据库查询 list_results = [for result in results] # 只有在实际使用迭代的时候才会进行数据库的查询 二、缓存根据上面实际查询数据库后返回的lis 2020-04-21 Django Django 缓存
Ubuntu上安装fastdfs分布式文件系统 Unbutu 16.04上安装fastdfs分布式文件系统2020年4月19号日晚,由于自己太蠢,手抖,快要写完了,不小心关闭了,网站,没有保存。写了将近两个多小时的详细配置教程,就这样没了,不想再重写了。 等我有时间了再补上吧 这里附上安装过程中参考的挺不错的博主的文章: https://www.jianshu.com/p/300faeb62a9e https://www.cnblogs.com 2020-04-19 Linux Linux fastdfs
5. 最大回文子串 题目: Leetcode 5.最大回文子串 (中等) (二刷)解题思路该题目使用暴力法肯定是不行的哦(Leetcode给出的测试案例,我是用动态规划都达到了4000+ms,更别提暴力法了,时间复杂度都爆掉了) 接下来我们来看一下动态规划如何解题 一、何为动态规划?(DP)动态规划:简而言之,就是当前的值需要依赖前一个值计算求得,进而求得全局最优解。 注:全局最优,局部可不一定最优哦,要和贪心 2020-04-17 算法 算法 动态规划
42. 接雨水 题目: Leetcode 42.接雨水 (二刷) (困难)解题思路本题的一个核心之一是木桶效应:取一个柱子两端较短的那个用作积水的参考。 核心之二是先选出最高的一个木板,然后分别从两边向最高木板过度,根据条件计算出积水量。 采用动态规划: ① 状态定义:即定义我们需要的参数,本地需要求最大积水量,可以看出是求全局最优解。因此我们定义一个total_water来存储积水的最大值。left记录了每次 2020-04-16 算法 算法 动态规划
1. 两数之和 题目:Leetcode 1.两数之和 (简单) (二刷)解题思路:如何提高效率,字典映射相对于列表来说能够有效提高搜索的速率,而惰性生成相对于list来说也会减少内存的消耗。 代码:1234567891011class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: m = 2020-04-15 算法 算法 字典
2. 两数相加 题目: Leetcode 2.两数相加 (中等) (二刷)解题思路:这道题考察了链表的递归,以及进位如何处理。 通过仔细阅读题目,我们可以发现,进位是往后进的。所以递归的时候,我们在返回的时候需要判断是否有进位,如果有的话,我们需要重新修正后面的结点。 代码:1234567891011121314class Solution: def addTwoNumbers(self, l1: Lis 2020-04-15 算法 链表 递归
github使用详解 --- 接受pull request GitHub中会有贡献者提交代码上来,也就是pull_request,那么我们如何处理提交的代码呢?一般通过fork其他人的项目,然后修改代码,最后pull_request给项目的原始创建者。 处理别人提交上来的的pull_request步骤如下:1.收到别人的pull_request,首先需要在本地创建一个分支 git branch test_user 通过 git branch 可以查看目前本 2020-04-15 Git Git