技术文章

Django Rest framework 之 节流

元气小坏坏 提交于 2021-02-18 18:31:22
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) django rest framework 之 版本(四) django rest framework 之 解析器(五) django rest framework 之 序列化(六) django rest framework 之 分页(七) django rest framework 之 视图(八) 一、节流 1、简介 节流又叫限流,限制访问。就是通常一个用户在多次请求一个页面,或者点击一个链接的时候,前几次点击是没有问题的,但是一旦连续几次之后,就会出现 访问受限,离下一次访问还有50秒 等的字样,在<code>django rest framework</code> 中有一个专门的组件来做限制访问。 2、思路 一旦一个用户向资源发送请求,那么根据用户的身份就有两种情况,匿名用户和认证用户。那么根据用户的身份怎么做限制访问?就是要找到用户的唯一标识。 匿名用户:对于匿名用户,唯一能用来标识的只有 请求的IP 。 认证用户:认证用户的用户名,或者用户ID等。 用户标识的问题解决了,假设设置的是每分钟只能访问5次,也就是5次/min。当用户发送请求,可以拿到用户的唯一标识

2019,Go fighting on my coding way!

烈酒焚心 提交于 2021-02-18 18:31:09
2018是让我想去回忆却不堪回忆的一年。 这一年我经历了高考的洗礼,来到了计算机系;却又经历了算法的“折磨”,在沮丧和自我怀疑中走上了“思而不学则殆”的错误道路。 想想自己,课上老师讲解算法就没有听懂,课下也没有花时间琢磨消化,而作业做不出来百度和请教学长以后也没有进行任何总结,当然,课外也没有在洛谷和leetcode上刷任何题目。空谈算法的重要性,空抱怨自己不行,却没有想办法解决自己逻辑思维不清晰的问题。换言之,陷入了消极备战的状态。 在学期的后期,我接连学习了回溯,分治,贪心,动规,深搜和广搜。可以说,这几种算法是我们计算机系大一学生最应该掌握的几种基本算法了。如果这些都不能好好掌握,那么大二的数据结构又应该何从谈起?那我以后还在这个系如何有颜面混下去?编程能力和逻辑能力都不佳,那我究竟能够从计算机系获得什么能力? 上大学之前和大一上学期,我一直有一种错误的认识,就是大学还和高中一样,老师不仅负责引路,还负责把我们每个人都教会。现在发现不是的。更多时候,师父领进门修行在个人。关键是,对于算法,上课的那点时间,老师只能浮于表面,纯粹是介绍有这么一种算法,距离我们真正学会应用,还差得远呢!而OJ上的题目也特别基本,仅仅通过你的作业题,怎么可能熟练地掌握算法知识的要义!(就连基本的类型都不全) 到了学期末,我才发现我的同学们,不是在课外OJ上刷题就是在钻研算法竞赛的书,比如紫书。

ZStack实践汇 | ZStack+Docker支撑GPU业务实践

自古美人都是妖i 提交于 2021-02-18 18:30:51
背景 ZStack所聚焦的IaaS,作为云计算里的底座基石,能够更好的实现物理资源隔离,以及服务器等硬件资源的统一管理,为上层大数据、深度学习Tensorflow等业务提供了稳定可靠的基础环境。 近年来,云计算发展探索出了有别于传统虚拟化、更贴近于业务的PaaS型服务,该类型依赖于docker实现,如K8S等典型的容器云,可以直接从镜像商店下载封装好业务软件的镜像,更加快捷地实现业务部署。 此外,GPU场景也是客户业务的典型场景,相比于CPU的运算特点,在数据分析、深度学习有着明显的优势。 ZStack是如何与容器结合,以IaaS+PaaS的组合拳,为上层业务提供支撑的呢?本篇文章带大家了解一下,如何在ZStack 上部署 centos7.6 虚拟机,在虚拟机里部署docker,以及如何使用nvidia-docker实现在容器里调用GPU的业务场景。 环境 虚机系统:Centos 7.6 虚机内核:Linux 172-18-47-133 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux docker版本:docker-ce 19.03 nvidia-docker版本:nvidia-docker-1.0.11.x86_64 显卡:RTX6000 Cuda版本

阿里云文件存储CPFS正式商业化,提供云上高性能并行文件系统

故事扮演 提交于 2021-02-18 18:30:40
2018年3月份,阿里云推出文件存储CPFS产品。在经过近一年的上线公测后,CPFS即将迎来商业化,将为更多的客户提供云上高性能的并行文件存储。 坚如磐石的高性能计算存储 文件存储CPFS针对计算密集型的业务场景,如基因计算、石油勘探、气象分析。机器学习、大数据分析和媒体文件处理等,提供阿里云完全托管的高性能计算存储,完美满足用户对于性能、安全的苛刻要求。 超高吞吐和IOPS CPFS将数据条带化后均匀分布在存储集群上,实现计算节点并行访问,因此吞吐和IOPS可随存储节点的数量线性增长。同时,支持高带宽低延时的Infiniband网络用于数据交互,整个存储集群可提供超高的聚合带宽和IOPS。 盘古2.0 CPFS持久化存储基于飞天盘古2.0分布式存储系统,通过极致的性能优化,实现磁盘读写的超高性能。支持多份数据拷贝,可以提供11个9的数据可靠性,并完美通过了阿里双十一超高压力的考验。 深度优化的高可用性 所有节点均为高可用设计。实现集群内秒级别的故障检测,并由CPFS集群调度器自动将服务切换到其他节点,同时兼顾负载均衡。整个切换过程用户不感知,提供远高于传统两节点HA的高可用性。 弹性可扩展 支持在线的扩容,由于所有数据均以条带化的方式存储并且支持扩容以后的自动负载平衡,可满足性能的线性增长并且即时利用扩容节点的吞吐和存储能力,满足业务增长需要的更多容量与性能的诉求。 低成本

双目立体匹配

自作多情 提交于 2021-02-18 18:30:19
点击 蓝色 字关注我们吧! 好久没有更新和视觉相关的内容了,相信小伙伴们已经等呆好久了。 1 立体匹配定义 立体匹配是立体视觉研究中的关键部分(双目匹配与深度计算(三角化),直接法中也有一定关系)。其目标是在两个或多个视点中匹配相应像素点,计算视差。通过建立一个能量代价函数,对其最小化来估计像素点的视差,求得深度。如图:双目视差与深度的关系 极线约束:所谓极线约束就是说同一个点在两幅图像上的映射,已知左图映射点p1,那么右图映射点p2一定在相对于p1的极线上,这样可以减少待匹配的点数量。 2 分类 ①根据算法运行时约束的作用范围:分为局部(local)匹配算法和全局(Global)匹配算法。 ②基于生成的视差图:可分为稠密(Dense)匹配和稀疏(Sparse)匹配。 稠密匹配:是基于生成的视差图,对于所有像素都能生成确定视差值,称为稠密匹配。 稀疏匹配:只选择关键像素点[通常为角点或者边缘点]计算视差值的方法称为稀疏匹配,该算法计算速度较快,但后续还需要通过插值算法计算缺失像素点的视差值,因此应用场景上有很大限制。 3 全局和局部匹配 3.1 全局匹配: 其中数据项 描述了匹配程度,平滑项 体现了定义场景的约束,C是匹配代价,P是不同两像素 p 和 q 视差的函数,一般称之为惩罚项(penalty),当 p 点和 q 点视差不相等时,P>0,且与两者差值越大,P值越大。当 p 和

Activiti7整合SpringBoot(十二)

巧了我就是萌 提交于 2021-02-18 18:30:04
1 SpringBoot 整合 Activiti7 的配置 为了能够实现 SpringBoot 与 Activiti7 整合开发,首先我们要引入相关的依赖支持。 所以,我们在工程的 pom.xml 文件中引入相关的依赖,具体依赖如下所示: < properties > < project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding > < project.reporting.outputEncoding > UTF-8 </ project.reporting.outputEncoding > < java.version > 1.8 </ java.version > </ properties > < dependencies > < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-jdbc </ artifactId > </ dependency > < dependency > < groupId > mysql </ groupId > < artifactId > mysql-connector-java </ artifactId > </

android studio运行卡慢的解决方案

别说谁变了你拦得住时间么 提交于 2021-02-18 18:29:48
androidstudio安装目录下 bin/studio64.exe.vmoptions 文件:配置文件 将参数调大,比如。 -Xms2048m -Xmx2048m -XX:MaxPermSize=2048m -XX:ReservedCodeCacheSize=1024m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -da -Djna.nosys=true -Djna.boot.library.path= -Djna.debug_load=true -Djna.debug_load.jna=true -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Didea.paths.selector=AndroidStudio2.2 -Didea.platform.prefix=AndroidStudio -Didea.jre.check=true 来源: oschina 链接: https://my.oschina.net/u/3980622/blog/2243773

单源最短路径---Bellman-Ford算法

心不动则不痛 提交于 2021-02-18 18:29:34
传送门: Dijkstra Bellman-Ford SPFA Floyd 1.Dijkstra算法的局限性 像上图,如果用dijkstra算法的话就会出错,因为如果从1开始,第一步dist[2] = 7, dist[3] = 5;在其中找出最小的边是dist[3] = 5;然后更新dist[2] = 0,最终得到dist[2] = 0,dist[3] = 5,而实际上dist[3] = 2;所以如果图中含有负权值,dijkstra失效 2.Bellman-Ford算法思想 适用前提:没有负环(或称为负权值回路),因为有负环的话距离为负无穷。 构造一个最短路径长度数组序列dist 1 [u] dist 2 [u]...dist n-1 [u],其中: dist 1 [u]为从源点v0出发到终点u的只经过一条边的最短路径长度,并有dist 1 [u] = Edge[v0][u] dist 2 [u]为从源点v0出发最多经过不构成负权值回路的两条边到终点u的最短路径长度 dist 3 [u]为从源点v0出发最多经过不构成负权值回路的三条边到终点u的最短路径长度 ................ dist n-1 [u]为从源点v0出发最多经过不构成负权值回路的n-1条边到终点u的最短路径长度 算法最终目的是计算出dist n-1 [u],即为源点到顶点u的最短路径长度 初始:dist

EF Core 迁移整理

杀马特。学长 韩版系。学妹 提交于 2021-02-18 18:29:19
创建迁移 PowerShell Add-Migration InitialCreate 多数据源 Add-Migration InitialCreate -Context MyDbContext -OutputDir Migrations\SqlServerMigrations Add-Migration InitialCreate -Context MySqliteDbContext -OutputDir Migrations\SqliteMigrations Console dotnet ef migrations add InitialCreate dotnet ef migrations add InitialCreate --context MyDbContext --output-dir Migrations/SqlServerMigrations dotnet ef migrations add InitialCreate --context MySqliteDbContext --output-dir Migrations/SqliteMigrations 更新数据库 PowerShell Update-Database Console dotnet ef database update 删除迁移 PowerShell Remove-Migration

在Docker上安装MSSQL(SQL Server)

别说谁变了你拦得住时间么 提交于 2021-02-18 18:09:37
在转移到Mac OS X 阵营之后,如果想在本机上安装微软的mssql-server数据库有三种方式: 第一种是在本机上安装 MSSQL for Linux 版本。 第二种是安装Windows虚拟机,然后在 虚拟机 里面使用ISO文件进行安装。 第三种也就是我要讲的方式,就是使用 Docker 进行安装。 第一种方式和第二种方式缺点就是要自己找安装包,第三种方式直接通过Docker的命令 docker search mssql 就能搜索出来,然后拉取创建容器即可。 微软也提供了相应的 帮助文档 镜像是微软官方的,但docker hub 奇怪的是并没有把其标示为OFFICIAL。 1.下载镜像 docker pull microsoft/mssql- server-linux 使用该命令就可以把数据库的docker镜像下载下来。 2.创建并运行容器 docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux 这个密码需要复杂密码,要有大小写和特殊符号,替换yourStrong(!)Password成你自己的密码就行。如果只Linux服务器,可以不用端口映射