风起而翼鸣,且听绝云间那不绝如缕的羽音
(。・∀・)ノ
-
virtualenv 在 Windows 中无法激活 2024.02.28
PyCharm 新建项目时选择了带上虚拟环境,但发现虚拟环境无法激活。一开始以为是多版本共存的问题,但排查后发现是activate.bat
文件编码的问题。 -
DOT 令牌相关机制 2024.02.20
正常来说应该继承OAuthLibMixin
写一个类视图,调用create_token_response()
来生成和刷新令牌、调用create_revocation_response()
来撤销令牌,但如果要手动实现某些过程,可以参考此篇帖子的伪代码。 -
正确标注集合与映射 2024.01.31
列出列表(list)、元组(tuple)、集合(set)、字典(dict)等常见集合与映射正确的类型标注,并且贴出来源文档和 PEP。 -
默认值导致抽象泄漏 2024.01.30
在一些情况下,函数参数的默认值与抽象的约定不一致,需要调用者参阅源码了解编写场景,导致抽象泄漏。 -
类与类型 2023.12.22
通过内置函数isinstance
、issubclass
、type
分析类型(type)、类(class)、对象(object)的关系。 -
管理不同环境下的 Django Settings 2023.12.21
使用 Django 原生方法和第三方库 django-environ 来管理和配置不同环境下的 Settings ,包括配置方式、文件架构、环境管理的简述。 -
字典中键的顺序 2023.12.21
记录dict
和OrderedDict
的特性以及一般使用中值得注意的点。 -
日期时间的格式化 2023.11.14
Python 3.7 (Windows) 中,date
和datetime
实例的strftime
方法不支持中文,本文列出了想到和查到的四种解决方法,前三种需要依赖 Django REST Framework。 -
如何直接运行 Python 脚本 2023.09.05
Python 3.3+ (Windows) 附带了一个名为 py.exe 的启动器,可以将调用转发到本地(包括虚拟环境)不同版本的 Python ,还可以识别脚本中的 shebang 行。 -
浅析基于 Django 衍生的类视图 2023.08.10
顺着 Django 的View
、DRF 的APIView
和GenericAPIView
三个基类的脉络梳理了各种类视图的派生关系,以及与各种 Mixin 的交联。 -
为自身定义 copy 方法 2022.08.17
一些类自带了能够复制自身的copy()
方法,例如list
、dict
、Decimal
等。文章列出了三种为类自身(不借助内置的 copy 库)实现这个方法的办法,以及之间的联系和优缺。 -
任意进制转十进制 2022.08.17
使用内置函数及列表推导式完成任意进制(文本)转到十进制(整数)的思路。 -
十进制转任意进制 2022.08.17
使用关键字yield
将普通的除N求余法函数改写为生成器函数,加快转换速度。 -
推导式 2021.11.05
用简单的 ascii 拆分标注推导式语句的语法结构。 -
文件打开模式 2021.10.21
以表格形式展示文件打开模式r
、w
、a
、x
与+
、t
、b
搭配的行为与含义。 -
使用乘号复制变量引起的问题 2020.12.20
有N个月的盈亏数据(每个月要么盈利要么亏损),按月份统计盈亏(分开统计是为了看到亏损了多少),使用字典列表List[Dict]
存储,列表下标就是月份,发现结果的每个月的数据都相等。 -
字典添加二级键值的问题 2020.12.19
Python 的字典允许在 键 不存在的情况下使用下标语法进行插入,但这种情况仅对最后一级生效,换言之就是不能一次性新建多个层级。这里描述了这个问题,并给出了比较省事的解决方法。
-
在 IntelliJ 插件开发中使用 bundle 2023.09.06
展示以语言包的语言为主、系统语言为辅的 bundle 语音查找以及相应的 i18n 工具类代码。 -
运算精度 2019.11.20
Java的+
、-
、*
、/
的最低运算精度是int
,有些情况可能会导致上溢或下溢进而偏离预期。
-
LeetCode 20:有效的括号 2024.01.10
判断由纯括号组成的表达式是否正确。 -
LeetCode 12:整数转罗马数字 2024.01.09
将整数转换为诸如XII
、IV
的罗马数字。整数的取值范围是[1, 3999]
。 -
LeetCode 13:罗马数字转整数 2024.01.08
将诸如XII
、IV
的罗马数字转换为整数。输入的罗马数字的取值范围是[1, 3999]
。 -
连续自然数之和 2020.04.06
对一个给定的自然数M,求出所有的连续的自然数段(连续个数大于1),这些连续的自然数段中的全部数之和为M。实际是公差为1的等差数列求和,解法是将数列长度作为遍历变量,动态求出数列的第一个数和最后一个数,再使用数列求和公式求出总和,并与输入进行比较,决定是否输出。 -
多个整数连接为最大整数问题 2020.03.13
有n个正整数(n<=20),将它们对应的字符串连接成一排,组成一个最大的多位整数。文中对在 Java 中的作答作了分析。 -
NOIP 380:校门外的树 2020.03.12
分析了题目中迷惑了我的部分,并描述了“将所有区间抽象为起点和终点,叠加到一条线段上”,从而使运算时间更少的方法。 -
Excel 地址转换 2020.01.20
将一个整数转换为Excel的列号,整数范围为 [1, 2147483647]。Excel的列编号规则是用 A~Z 分别表示 1~26,超出后进一位,转换算法属于进制转换的变种。
-
配置 Django 控制台 2024.01.24
在 PyCharm 社区版中将 Python 控制台配置为 Django 控制台。当然,这个配置仅针对当前项目,不会影响其它项目。 -
微信扫码支付的响应 2024.01.24
本地调试返回的一些响应,不代表全部。不过之前的解析做得比较混乱,这里记个备忘。
见贡献指南。
仓库中的内容默认允许在 CC 署名-非商业性使用-禁止演绎 4.0 协议下传播,包括文字、图片、代码等,对于不遵循或不再遵循该协议的内容会在内容里或仓库中的其它位置另行约定。