自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 docker-compose+postsql多容器部署django-vue项目

一、docker-compose安装1、linux系统运行以下命令以下载 Docker Compose 的当前稳定版本sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose要安装其他版本的 Compose,请替换 1.29.2。2、将可执行权限应用于二进制文

2021-11-19 17:50:51 3417

原创 SQL经典训练(基于postgresql)

一、开窗函数row_number()方法1:第一步:按DepartmentId分组查出Employee 表中最高工资的信息select DepartmentId,max(Salary) from Employee group by DepartmentId第二步:关联Department表和Employee 表 用IN 语句查询部门名字和工资的关系。select Department.name as "Department",Employee.name as "Employ...

2021-11-09 14:28:00 2489 1

原创 初识RabbitMq

1、安装,因为Rabbitmq是erlang编写的,所以先安装erlang,在安装rabbitmq。 安装成功后可以登录RabbitMQ(http://localhost:15672 本地电脑)。 python操作RabbitMQ 主要用到pika库(不同版本库可能对应某些函数参数不一样)2、基本操作。。。。省略3、消息发布与订阅。 基本例子都是1对1的消息发送和接收,即消息只能发送到指定的queue里 但有些时候你想让你的消息被所有的queue收到(前提已......

2021-08-30 15:53:54 382

原创 vue3 与后端通信

前面vue简书篇已经搭建好了脚手架,这里就忽略,直接进入主题,由于要通信,简单写了个登录界面。这里的通信仅仅是代码开发时期的通信,不涉及到部署之后。

2023-07-13 16:37:25 2070

原创 算法 - 动态规划(二)

动态规划算法的基本思想是:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到时直接引用答案,不必重新求解。动态规划算法将问题的解决方案视为一系列决策的结果。题目描述:假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益。1.你可以买入一次股票和卖出一次股票,并非每天都可以买入或卖出一次,总共只能

2022-06-07 16:57:16 922 1

原创 算法 - 动态规划(一)

题目描述;给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。输入:nums = [0,3,7,2,5,8,4,6,0,1]输出:9解题思路:用哈希表存储每个端点值对应连续区间的长度。若数已在哈希表中:跳过不做处理。若是新数加入:

2022-05-19 16:08:19 656

原创 单词接龙II-(深度优先算法)

DFS(深度优先算法)深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。深度优先遍历使用的数据结构是栈(Stack),将访问过的节点标记后,并压入栈中,再遍历此时跟栈顶元素相关联的节点,将其中未标记的节点标记,并压入栈中……以此类推,当该栈顶的元素相关联的节点都被访问过了,则该元素弹出栈……直到栈空,.

2022-05-17 17:00:01 449

原创 哈希算法(字典)

1、数组中只出现一次的两个数字题目描述:一个整型数组里除了两个数字只出现一次,其他的数字都出现了至少两次。请写程序找出这两个只出现一次的数字。示例:输入:[1,4,1,6] 返回值:[4,6]输入:[1, 2, 3, 3, 3, 2, 9] 返回值:[1, 9]解题思路:既然有两个数字只出现了一次,我们就统计每个数字的出现次数。step 1:遍历数组,用哈希表统计每个数字出现的频率。step 2:然后再遍历一次数组,对比哈希表,找到出现频率为1的两个数字。step 3:最

2022-04-01 21:00:00 604

原创 猎人抓兔子 - (广度优先算法)

题目描述:假设有一只兔子,有4个排成一排的洞,编号为1和4。兔子每天晚上跳到相邻的一个洞里住,2号洞只能可以跳1号和3号洞,4号洞只能跳3号洞。而猎人每天白天检查其中的一个洞。猎人告诉你每天检查的洞的编号,分析一下是否一定能抓到兔子。如果能抓到,找出最优路径。这道题思路:想办法把兔子逼到最后一个洞或者第一个洞,这样它下一步只能跳一个洞就找到了,列举探索的思路也很重要,要分别列出当前可能藏的洞和下一次可能藏的洞。找准这两个变量很关键。...

2022-03-31 15:36:04 3414

原创 简书:Vue3

Teleport传送门组件Teleport 是一种能够将我们的模板移动到 DOM 中 Vue app 之外的其他位置的技术,可以不用管css样式。我们将它完全的和我们的 Vue 应用的 DOM 完全剥离,管理起来反而会方便容易很多。<Teleport to="body"> 需要传送到body下面的内容</Teleport>插槽slot:使用场景:比如有一个模块,除了一个小地方显示的东西不同,其他的内容都是一样的。那么我们怎么实现。1.这个小地方有几个状态写几.

2022-03-25 16:58:21 967

原创 缓存与数据库双写时的数据一致性.vue开源管理系统

在做系统优化时,想到了将数据进行分级存储的思路。因为在系统中会存在一些数据,有些数据的实时性要求不高,比如一些配置信息。基本上配置了很久才会变一次。而有一些数据实时性要求非常高,比如订单和流水的数据。所以这里根据数据要求实时性不同将数据分为三级。 第1级:订单数据和支付流水数据;这两块数据对实时性和精确性要求很高,所以不添加任何缓存,读写操作将直接操作数据库。 第2级:用户相关数据;这些数据和用户相关,具有读多写少的特征,所以我们使用redis进行缓存。 第3级:支付配置信息;这些

2022-02-15 11:42:40 155

转载 Tornado异步阻塞解决方案

在linux上 tornado 是基于 epoll 的事件驱动框架,在网络事件上是无阻塞的。但是因为 tornado 自身是单线程的,所以如果我们在某一个时刻执行了一个耗时的任务,那么就会阻塞在这里,无法响应其他的任务请求,这个和 tornado 的高性能服务器称号不符,所以我们要想办法把耗时的任务转换为不阻塞主线程,让耗时的任务不影响对其他请求的响应。在python3.2 上,增加了一个并行库 concurrent.futures,这个库提供了更简单的异步执行函数的方法。如果是在 2.7 ...

2021-12-02 10:45:50 1235

原创 vue父子组件传值

一、vue子组件向父组件传值1、定义子组件:2、定义父组件:二、父组件向子组件传值1、定义父组件:2、定义子组件:3、通过ref,v-slot传:适用于,界面中点击按钮弹框填写一些信息,如新增用户或者填写一个小的表格。<addUserRouter ref="addUser"><template v-slot: addUser></template></addUserRouter>addUserRouter为一...

2021-11-02 16:09:45 673

原创 django-channels+vue实现异地登录提示

一、说明1、本次要实现的功能是一个账号只能登录一次,第二次登录会被挤下,像QQ一样。场景:浏览器A或者电脑A登录admin账号,浏览器B或者电脑B也登录admin账号,则浏览器A或者电脑A会收到其他地方登录的提示并退出系统。2、本系统是采用token认证方式,登录成功后后端生成token传到前端然后保存到cookie中,同一个浏览器不管n个窗口打开都是用的同一个token(即一个窗口是登录状态,其他n个窗口保持一致)后端socket接连者用全局变量保存:[{连接者钩子函数地址: username}]

2021-10-26 12:02:16 2977

翻译 新手浅聊大型高并发系统架构

1. 大型高并发系统架构高并发的系统架构都会采用分布式集群部署,服务上层有着层层负载均衡,并提供各种容灾手段保证系统的高可用,流量也会根据不同的负载能力和配置策略均衡到不同的服务器上。Nginx,是一款非常高性能的http代理/反向代理服务器,服务开发中也经常使用它来做负载均衡。Nginx实现负载均衡的方式主要有三种:轮询、加权轮询、ip hash轮询。Nginx实现负载均衡通过upstream模块实现,其中加权轮询的配置是可以给相关的服务加上一个权重值,配置的时候可能根据服务器的性能、负载能力

2021-10-15 17:55:26 1019

原创 常用 Linux 命令汇总

一.文件和目录1、cd命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。cd/home 进入'/home'目录cd.. 返回上一级目录cd../.. 返回上两级目录cd 进入个人的主目录2、pwd命令,显示工作路径3、ls命令,查看文件与目录的命令,list之意ls查看目录中的文件ls-l显示文件和目录的详细资料ls-a...

2021-10-14 11:21:14 645 1

原创 vue使用cookie、localStorage和sessionStorage储存数据

一,cookie这里使用js-cookis:安装:npm install js-cookie --save在main.js中引入importjsCookiefrom'js-cookie'Vue.prototype.$cookie=jsCookie把他放在Vue原型l里, 在页面组件里可直接用this.$cookie调用在其他js文件中Vue.prototype.$cookie.set('token',response.data.token)调用支持各种语法数据的存储...

2021-10-12 16:48:19 4345

原创 redis使用场景

1、缓存string类型:例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。2、分布式数据共享String 类型,因为 Redis 是分布式的独立服务,可以在多个应用之间共享:例如:分布式Session,伴随着分布式锁。3、计数器、限流int类型,incr方法例如:文章的阅读量、微博点赞数、允许一定的延迟,先写入Redis再定时同步到数据库。以访问者的ip和其他信息作为key,访问一次增加一次计数,超过次数则返回false。例如登录次数限制

2021-09-14 16:57:54 171

原创 SQL基础语法

语法格式:select字段列表|*from表名[where搜索条件][groupby分组字段[having分组条件]][orderby排序字段排序规则][limit分页参数]Where条件查询可以在where子句中指定任何条件可以使用and或者or指定一个或多个条件where条件也可以运用在update和delete语句的后面where子句类似程序语言中if条件,根据mysql表中的字段值来进行数据的过滤-- 查询 users 表...

2021-09-13 17:01:33 905

原创 Celery基本应用

Celery是专注实时处理和任务调度的分布式任务队列。主要应用场景:1,web应用,当需要触发事件需要较长时间处理完成,可以交给celery进行异步执行,执行完后返回结果,这段时间不用等待,提高系统的吞吐量和响应时间。2,完成任务时,需要额外的事件处理,比如发送短信/邮件、推送消息、清理/设置缓存等。3,后台定时任务处理,celery可以帮助我们在不同服务器进行定时任务管理。主要特性:1,方便查询任务的进展情况,如执行结果,状态,消耗时间。2,可以利用功能齐全的后台管理进行任务的

2021-09-09 16:28:51 900 1

原创 docker单容器部署django项目+移植

说明:此项目部署采用docker下centos7镜像,然后以此镜像创建一个容器,在这里容器里面再安装各种项目所需环境和软件,主要有nginx、python、uwsgi、redis。数据库采用远程连接宿主机的数据库。此次操作跟在宿主机(虚拟机)下操作部署基本一样。只是为了熟悉一下docker操作。不同的是可以打包镜像然后移植到其他服务器上运行。1、拉取centos7,进入centos7容器docker pull centos:centos7docker ps或者docker ps -a查询一下有没有要

2021-09-01 17:36:46 545

原创 vue+axios封装+拦截

新建一个js文件importVuefrom'vue'importrouterfrom'@/router/index'importQsfrom"qs"importaxiosfrom'axios'//向外部暴露一个函数ajax//url请求路径,默认为空//parameter请求参数,默认为空对象//type请求方法,默认为POST//在周期函数中调用函数不行,周期函数执行太快了,没等到结果返回就执行完,所以都是unde...

2021-09-01 10:41:32 263

原创 Docker运行第一个HelloWorld+常用命令

安装完成后我们输入docker version来测试docker是否成功安装,通过图看到成功了且client端和server端偶读启动了。通过输入docker pull hello-world来拉取hello-world镜像通过docker images查看本地镜像这样我们就从仓库拉取到了HelloWorld的镜像,接下来我们来运行一下,通过输入docker run hello-world。运行成功。常用命令:docker pull hello-world...

2021-09-01 10:34:53 8808

原创 Django REST Framework序列化

from rest_framework import serializersfrom django.contrib.auth.models import Group, Permissionfrom master.models import Department, Regionfrom user.models import Userclass UserSerializer(serializers.Serializer): # read_only=True只读,不写进数据库,不校验, 前端..

2021-08-31 10:10:03 425

原创 爬虫+pandas+openpyxl处理数据整理到excel

爬虫模拟访问浏览器,selenium已经不能用,使用webdriver需要下载谷歌浏览器驱动chromedriver.exe放到python环境Scripts文件夹下from selenium import webdriveroption = webdriver.ChromeOptions()option.add_argument('--headless') # 浏览器不提供可视化页面# 设置浏览器下载文件的路径pref = {"download.default_directory": se.

2021-08-30 17:45:19 476

原创 django登录认证

mixins.ListModelMixin, mixins.CreateModelMixin, GenericViewSetmixin包括: CreateModelMixin 定义create方法 对应post ListModelMixin 有自己的方法list()可以重写,对应get方法 RetrieveModelMixin 定义retrieve方法 对应get方法 UpdateModelMixin ......

2021-08-30 16:36:35 839

原创 centos环境依赖安装+django-oracle-postgresql-redis

CENTOS : linux下安装某些软件 如果的当前用户是root,则有可能后面访问这些文件会存在权限问题,所以推荐要以普通用户安装这些软件。没有权限加上sudo就行。用chown 可以修改所有用户/组,最好不要以root用户安装软件,打开防火墙 有的端口不能访问。所以有时候得关闭防火墙或者打开某些端口python-django虚拟环境:每个项目都有自己单独的环境,所以都得创建一个env在当前目录创建了.virtualenv的虚拟环境,之后所有项目的env都可以放在这个文件夹下面。编辑...

2021-08-30 16:22:21 167

原创 vue笔记及打包

软件:Visual Studio Code安装的插件:1.Beautify 2.HTML CSS Support 3.HTML Snippets4.Live HTML Previewer 5.Live Server 6.MTA:SA Lua 7.Vetur8.npm Intellisense 9.Path Intellisense 10.snippet-creator11.Vue 2 Snippets 12.webpack 13.Webpack Progress14.Chinese什么的 让软件中

2021-08-30 16:11:08 306

原创 git命令基础管理

git init 新建一个空的仓库,把要提交的数据都暂时放在这个仓库中,然后再提交到git上面git status 查看状态git add . 将文件由 工作区 添加到 暂存区,暂存文件.添加所有文件, git add index.html添加一个文件,git add a.txt b.txt 同时添加两个文件 git add *.js 添加当前目录下的所有js文件git checkout 文件名 暂存区的内容恢复到工作区。不想上传了git commit -m '注释' 提交添加...

2021-08-30 15:41:13 131

原创 django + uwsgi + vue + nginx + centos7

此项目类似于前后端分离,要部署前端路由和后端接口。单项目部署一个server多项目部署在加多个server。其余类似在nginx.conf中首先第一行设置访问的权限,不设置的会出现Forbidden然后再server中设置如下,因为我vue请求后端接口的时候都以api开头,代表的开发环境时测试的IP,所以这里必须以api开头,把他部署在哪个服务器应该就代表哪个服务器的IP,所以这里必须以api开头,测试其他不行nginx.conf中如下:server{ listen 8996; ...

2021-08-30 15:27:28 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除