django drf源码之API版本管理
API版本在开发过程中可能会有多版本的API,因此需要对API进行管理。django drf中对于版本的管理也很方便。
http://www.example.com/api/v1/info
http://www.example.com/api/v2/info
上面这种形式就是很常见的版本管理
在restful规范中,后端的API需要体现出版本
在django drf中,共有三种形式的版本管理
通过GET参数传递
通过URL路由进行传递
通过请求头进行传递
下面将对这三种方法逐一介绍
1、通过get请求传递版本信息视图函数代码
1234567891011121314from rest_framework.views import APIViewfrom rest_framework.response import Responsefrom rest_framework.versioning import QueryParameterVersioningclass HomeView(APIView): versioning_class = QueryParameterVersion ...
CloudSim Installation
CloudSim安装与测试用例运行0、CloudSim简介
CloudSim是由澳大利亚墨尔本大学的网格实验室和Gridbus项目共同推出的开源云计算仿真平台;
CloudSim是基于Java语言开发的,可实现跨平台运行;
CloudSim有助于加快面向云计算平台的算法设计与测试速度,可降低开发的成本;
用户可以通过CloudSim提供的众多核心类来进行大规模的云计算基础设施的建模与仿真。
1、准备工作
一台Windows操作系统的电脑
Java配置
Maven下载与配置
工具下载(下面两个都可以,二选一即可)
Eclipse
IDEA(推荐)
CloudSim下载(本次实验使用CloudSim 5.0)
注:以上所有软件的安装包均可在百度网盘中下载
链接:https://pan.baidu.com/s/12JT4gDKbOLvHIeqyGbgE6A提取码:3fd5
1.1 Java配置首先需要再本地配置好Java的环境,这里不过多赘述,可以参考下面的教程
注:本文中使用的是jdk8的版本
1.1.1 安装Java8双击下载好百度网盘中的文件,选择你的安装路径即可
...
面试准备2024.md
自我介绍面试官您好,我叫xxx,目前是南京邮电大学计算机学院研二的学生,很荣幸能够参加xx公司的(暑期)实习面试。我在研一学年专业成绩排名第三,获得了研究生国家奖学金,同时目前发表了一篇SCI二区的论文,并且公开了两项发明专利,已经达到毕业条件。
我之前有过一段在博世软件中心实习的实习的经历,实习的项目主要是后端开发项目,在里面我主要负责的工作是:用户登录、权限管理、数据可视化工作。
除此之外,我在去年8月份参加了中国软件杯大学生软件设计大赛,参赛的项目是智能简历解析系统,在其中我主要做的工作是:整个系统的开发工作,最终我们团队获得了国家级二等奖,并且申请了一项发明专利。
平时自己也会写写自己的个人博客,同时我也买了一台阿里云的服务器,在上面搭建一些小的应用来练手。
如果能够有幸通过面试的话,我可以实习的时间为为4到6个月。
之前CSDN、知乎上分享了一篇基于Picgo+gitee+Typora搭建个人笔记系统获得了300多点赞;
HR面试个人技能部分JavaSE==和equals()的区别==对于基本数据类型和引用类型有些区别:
对于基本数据类型,==比较的是值
对于引用数据类型, ...
PROM1014-级数求和
级数求和思路在死循环中进行级数求和,每一轮循环进行判断,是否大于输入的K,大于则返回当前的n值
代码123456789k = int(input())n = 1sum_num = 0while True: sum_num += 1 / n if sum_num > k: break n += 1print(n)
PROM1011-忠诚的骑士
忠诚的骑士思路分组的思想,判断输入的数字应该在第几组,然后判断该数字在当前分组的第几个位置,然后进行求和
代码123456789101112131415161718192021222324252627282930313233def cal(n, index): sum = 0 for i in range(1, n): sum += i * i sum += n * index return sumif __name__ == '__main__': k = int(input()) # if k == 1: # print(1) p = k s = k * (k + 1) // 2 while k <= s: p = p - 1 s = p * (p + 1) // 2 # 检测在第三组第几个位置 nums = [] # print(nums) # print('p =', p) # print(& ...
PROM1010-萌萌摘苹果
萌萌摘苹果思路遍历苹果高度列表,判断是否能够到苹果,然后将能够到的苹果高度添加到一个新列表,循环结束之后,对两个列表长度进行比较,若长度一样返回Yes,否则返回No
代码12345678910111213n = int(input())height = [int(x) for x in input().split(' ')]high = int(input())get_height = []for i in height: if i <= high+30: get_height.append(i)print(len(get_height))if len(get_height)==len(height): print('Yes')else: print('No')
PROM1008-回文回文
回文回文思路由样例输入输出来看,如果有字母大小写均存在但是回文的话返回Yes。因此将字符串统一转成小写,然后进行回文判断
代码1234567huiwen = input()huiwen = huiwen.lower()# print(huiwen, '1111')if huiwen == huiwen[::-1]: print('Yes')else: print('No')
PROM1007-斐波那契数列
斐波那契数列思路
递归
Python解答会超时
滚动数组
时间复杂度较低 Python也不会超时
代码1234567891011n = int(input())p,q,r = 0,1,1if n<2: print(n)else: for i in range(2,n): p = q q = r r = p + q print(r)
PROM1006-最大公约数和最小公倍数
最大公约数和最小公倍数代码1234567891011def gcd(m, n): if m < n: return gcd(n, m) while n: m, n = n, m % n return mif __name__ == '__main__': nums = [int(x) for x in input().split(' ')] print(gcd(nums[0], nums[1]), nums[0]*nums[1] // gcd(nums[0], nums[1]))
PROM1001-求最值问题
求最值问题代码1print(sum([int(x) for x in input().split(' ')]))