
分类目录归档:backend
[ SQLAlchemy关系 ]
在 SQLAlchemy 中,engine、metadata、table、column 和 mapper 是用来构建和管理数据库模型的不同概念,它们之间有着一定的关系。
Engine:
- Engine 是 SQLAlchemy 中的核心概念之一,它代表着数据库的底层连接。Engine 负责与数据库建立连接,并且执行 SQL 语句。
Metadata:
- Metadata 是用来存储数据库模型元数据的容器。它包含了数据库中所有表的描述信息,例如表的名称、列的信息等。
Table:
- Table 表示数据库中的一张表格,它是由 metadata 定义的。每个 Table 对象通常对应着数据库中
[ RabbitMQ消息丢失 ]
RabbitMQ在每个阶段都有可能使消息发生丢失
我们在这里把他们简单归结为三个层面
层面一 :生产者发送消息没有到达交换机或者没有到达绑定的队列。
层面二:RabbitMQ宕机可能导致的消息的丢失。
层面三:消费者宕机导致消息丢失。
层面一的解决方法常见的是
1.生产者确认机制
RabbitMQ提供了publisher confirm机制来避免消息发送到Mq的过程中丢失,消息发送到Mq以后,会返回一个结果给发送者,表示消息的发送成功。
情况一:发送成功 生产者正常发送消息到队列之后会返回一个publish-confirm ack 这个意思是告诉生产者已经接收到消息了。
情况二:发送失败
[ Django DRF 权限Permissions ]
DjangoObjectPermissions
这个权限类与 Django 的标准对象权限框架相关联,该框架允许对模型进行每个对象的权限。为了使用这个权限类,你还需要添加一个支持对象级权限的权限后端,比如 django-guardian
与 一样,此权限只能应用于具有属性或方法的视图。仅当用户经过身份验证并分配了相关的每对象权限和相关模型权限时,才会授予授权。DjangoModelPermissions.queryset.get_queryset()
POST请求要求用户具有对模型实例的权限。add
PUT请求要求用户具有对模型实例的权限。PATCH change
DELETE请求要求用户具有
[ Django中间件常用的钩子函数 ]
process_request(): 完成请求对象的创建 process_view(): 完成用户访问网址与路由地址的匹配, 单为执行视图函数 process_exception():在执行视图函数的期间发生异常 process_response(): 完成视图函数的执行, 但是尚未将响应返回浏览器
[ 什么是metaclass? ]
metaclass即元类, 踏实创建类的类, 所有类都是由元类调用new方法创建的, 重写元类可以自由的控制创建类的过程, 比如使用元类创建单例模式, 或者django的orm框架实现原理就是通过重写元类来实现的.
[ django中使用mongodb ]
[ DRF排序 ]
django 的 drf排序
先按照formNo, 再title, 再按照created时间倒排序
class EformSchemaLogsViewSet(
mixins.RetrieveModelMixin,
mixins.ListModelMixin,
viewsets.GenericViewSet):
queryset = EformSchemaLogs.objects.all()
serializer_class = EformSchemaLogsSeria[ 算法题 ]
计算重复字符串的数量(移动窗口)
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"p[ Sql题目 ]
第二高的薪水
已解答 中等 相关标签 相关企业 SQL Schema Pandas Schema Employee 表:
| Column Name | Type |
|---|---|
| id | int |
| salary | int |
在 SQL 中,id 是这个表的主键。 表的每一行包含员工的工资信息。
查询并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None) 。 查询结果如下例所示。
示例 1:
输入: Employee 表:
| id | salary |
|---|---|
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
输出:
| Second |
|---|