偶遇新的问题---部署虚拟环境中的uwsgi(已解决) 一 背景第二次部署django项目到uwsgi上,吸取了第一次部署的经验和教训,没想到第二次部署又遇到了新的问题—–找不到django包。 因为第一次是在阿里云上直接部署,当时的项目不再虚拟环境,所以全局只有一个uwsgi,而第二个项目在虚拟环境中,所以问题就出现了,也许经过我的这番话,您可能察觉到问题所在,您可以独自取解决,也可以慢慢往下看。 二 问题所在往往python很多部署的问题都 2020-09-01 Uwsgi 部署 Uwsgi
Linux上使用supervisor管理各个进程 一 背景做项目时,要启动蛮多的服务,一个个手打指令启动,觉得蛮累的,想起之前部署过一个项目时候用了supervisor管理celery和daphne,那么这次就将该项目所需的都由supervisor统一管理吧~ ** 二 为什么要使用supervisor**1.简单方便:相比于自己写shell脚本启动,暂停,中止,监听各个子进程的复杂程度来说,使用supervisor避免了重复造轮子,可以 2020-08-30 Linux Supervisor Linux Supervisor
结合源码分析Python的 Descriptors的原理和使用 一 什么是Descriptors描述器,是指一个包含 绑定行为的 对象,对其属性的访问被描述器协议中所定义的方法覆盖。所定义的方法有__get()__,__set()__,__del()__,如果某个类实现了这三个方法中的一个,那么该实例就被称作描述器。 定义形式如下: 12345descr.__get__(self, obj, type=None) -> valuedescr.__set 2020-08-25 Python 源码分析 Python 源码分析
15. 三数之和 (三指针解) 原题:题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum 解题思路一开始想使用暴力解法,时间复杂度接近O(n³),同时难以消除 2020-08-25 算法 算法 三指针
探索elasticsearch从安装到运用到项目中----踩了不少坑 主机环境8GB,操作系统Manjaro,Python3.6.6 , Django2.2之前用whoosh+haystack+jieba实现的搜索,感觉速度不是特别快,这次学习下elasticsearch+haystack+ik实现搜索功能。 elasticsearch是一个分布式的搜索引擎,支持集群,部署在不同的机器上。同时支持分词插件,比如ik分词,可视化插件kibana等。 我所理解的elas 2020-08-25 ElasticSearch Django Django ElasticSearch
11. 盛水最多的容器 (双指针解) 原题:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-wa 2020-08-25 算法 算法 双指针
深入理解Queryset源码之内置缓存特性 一 背景之前做了篇笔记,简单介绍了下Queryset的两大性质—–缓存和惰性,当时初学Django,也并没有阅读下QuerySet的底层源码。 现做此笔记,详细的从代码角度理解下什么样的操作会去查询数据库,什么样的操作会去创建清除QuerySet内置的缓存。 浏览了网上的一些博客,大多数都只是字面谈了谈Queryset的缓存和惰性两大性质,有些写的也是错的,因此我就自己去源码寻找正确的答案,毕 2020-08-22 Django 源码分析 Django 源码分析
Python递归和迭代解二叉树前序,中序,后序遍历 题目:二叉树的前序,中序,后序遍历前序关键词:根左右 中序关键词:左根右 后序列关键词:左右根 题目来源Leetcode: 前序遍历 中序遍历 后序遍历 代码:前序:123456789101112131415161718192021222324252627282930313233class TreeNode: def __init__(self, x): self.va 2020-08-20 算法 Python 算法 队列 DFS Python 二叉树 递归栈 BFS
对DRF的APIView执行流程的源码学习 跟着源码学习下DRF的APIView执行流程原理一 入口函数as_view() 方法——入口{width=90%} 说明: 一般通过urlconf中配置路由时,需绑定类视图的as_view()方法。注意必须以类名.as_view()形式调用,而不能实例化调用,因为@classonlymethod中重写了__get__内置方法进行限制。 {width=90%} 二 基类中的as_view() 2020-08-19 Django DRF 源码分析 Python Django 源码分析 DRF
分享Redis中bittop和bitcount的有趣的实例 利用redis的bitop和bitcount来实现每日的用户量快速统计和单独用户的一段时间的登录次数用bitop的位逻辑运算来计算每日的用户量的思路来源于一篇外文博客。 地址:https://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/ 因为是篇英文博客,因此我借着这个机会锻炼英语阅读能力, 2020-08-18 Redis Redis