UTF、Unicode 和 ASCII 编码的关系
9月 20, 2019
说 UTF 需要先说 Unicode,而说 Unicode 需要先说 ASCII,这三者正好是历史的发展一步步进化而来的,是计算机领域为了解决全世界各种文字之间的编码统一问题而给出的通用解决方案。 ASCII 码表 # ASCII(Americ ...
说 UTF 需要先说 Unicode,而说 Unicode 需要先说 ASCII,这三者正好是历史的发展一步步进化而来的,是计算机领域为了解决全世界各种文字之间的编码统一问题而给出的通用解决方案。 ASCII 码表 # ASCII(Americ ...
工作中的需求,需要一个基于 Django 的数据脱敏解决方案,我们的目标是要用 AES 对称加密算法,接入不能影响现有业务逻辑,数据迁移方便,失败可以回滚,最好可以开源。经过调研与开发,我最终产出了一个开源项目:luoji ...
Django ORM 框架虽然很好用,但是如果不注意,在查询时很容易引发 N + 1 的查询问题。 N + 1 问题 # 考虑 文章+作者 这样的 Model 层设计,在这个模型中,Author 和 Article 是一对多的关系。 from django.db import models from django.contrib.auth.models import User class Author(models.Model): user = models.ForeignKey(User) name = models.CharField(max_length=64) class Article(models.Model): title = ...
Gitlab 的 CI/CD 功能可能是区别于 GitHub 的一个最有价值的功能之一。接触了 CI/CD 以来,很多以前需要手动测试、打包、部署的工作,现在都可以通过编写 .gitlab-ci.yml 来实现了,一方面持久化、规范化了部署服务的操作流程,另一方面 CI/CD 功能与 Gitlab 深度结 ...
Docker 介绍 # Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker 允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器), ...
本文重点关注魔兽世界的重大历史走向,以及世界中各个地方的风土和人情,目的是让自己在玩游戏的时候能够理顺剧情,经常 AFK 的话也能前后关联起来,魔兽世界的世界观确实太大,另外游戏的很多玩法比如职业、天赋、专业 ...
中间件是 Django 用来处理请求和响应的钩子框架。它是一个轻量级的、底层级的“插件”系统,用于全局性地控制 Django 的输入或输出。 MIDDLEWARE # Django 自带了一些已经内置的中间件,你可以直接使用,它们被记录在 built-in middleware reference 中。 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', ...
内连接 # 内连接为默认连接方式,只有两张表都匹配的行才显示。 SELECT * from a INNER JOIN b on a.name=b.name; 左(外)连接 # 左边的表不加限制,会全部显示出来,右边的只会显示符合搜索条件的记录,不匹配的记录会以 null 显示。 SELECT * from a LEFT JOIN b on a.name=b.name; ...
设计一个 Django 的软删除方案,要求数据库在删除的时候不能物理删除数据,同时尽量不要太侵入代码业务。 这里用到了 Django 的 Manager,它赋予了 Django Model 操作数据库的能力,每个 Model 都包含一个 Manager,比如我们常用的 objects ...
最近又重新接触 DRF,翻看文档发现,当时很难理解的东西,如今一看就懂了,顺带看了源码,也比较容易理解,至少比 Django 的源码简单不少。下面开始从 DRF 的设计和源码两个方面,结合自己的看法,谈谈DRF。 APIView # APIView 是 DRF 概 ...