- 博客(42)
- 资源 (6)
- 收藏
- 关注
翻译 数据库的索引是怎么工作的?
译文:随着数据量逐渐增大,索引变得十分重要,有人可以解释一下索引到底是怎么工作的吗?为什么需要当数据存在硬盘型的存储设备上时,它是以数据块的形式存储的。这些数据块整个生命周期都会被访问,进行原子访问操作。磁盘的数据块被规划的和链表差不多;两者都含有数据的一部分,一个指向下一个节点(块)的指针,同时它们的存储也不是连续不断的。由于一定数量的数据只能被存储在一个区域,我们可以说搜索一个没有排序的区域需要全局搜索也就是N/2数据库的访问量(平均),N指的是数据量的大小。如果这个区域是一个non-key.
2021-03-09 13:42:44
423
翻译 线程安全(thread safe)是什么?
警告:我不是一个多线程编程的专家。事实上,甚至不能说我可以胜任这个东西。我的整个职业生涯,需要用到多线程来实现代码的次数也不多。所以请用一个怀疑的态度来看待我以下的所有观点。有一个我经常问的问题是:“这个代码是线程安全的吗?”,要回答这个问题,我们很显然要先知道线程安全是什么。但是在我们讨论这个问题前,我想先把另外一个问题搞清楚,还有一个我稍微问的没有那么多的问题是“Eric,为什么Michelle pfeiffer在照片里总是这么好看”,要回答这个难题,我咨询了一下维基百科:一个上镜的对象指的.
2021-03-03 14:15:43
3922
1
原创 flask延迟请求回调
有时候我们在响应的过程中需要对每一个响应做同一件事情时,可以用到flask的延迟请求装饰器例:对响应头添加统一的配置@app.after_requestdef after_request(response): response.headers.add('Access-Control-Allow-Origin', 'http://10.141.6.86:8080') response.headers.add('Access-Control-Allow-Headers', 'Acces.
2021-02-25 09:52:29
797
原创 记一次linux(centos)扩容操作
扩容前先查看一下系统是lVM根分区还是非LVM根分区。LVM:是linux环境对磁盘分区管理的一种机制,具体是什么可以百科查阅更多的资料。这里我们只需要用命令查看当前是不是LVM机制就可以了。查看当前是否是centoscat /etc/redhat-release 如何查看是否使用了LVM# 使用下面三个命令,LVM管理下会有反馈信息,非LVM查看不到信息$ pvdisplay$ vgdisplay$ lvdisplayLVM根分区扩容1 查看现有分区大小df -TH2 .
2021-02-23 14:25:12
199
原创 nginx 部署flask应用
编程语言:python项目后端:flask前端:vue 2.x准备工作1.将vue项目打包好# 打包命令yarn build2.将打包后的dist文件放到flask中,具体位置依自己项目结构参考(vue打包后的结构):参考(将这个文件夹里的index.html 和static文件夹放到flask中)。也可以一整个放进去,根据自己实际情况来,这里拜访的位置会影响项目静态资源的获取,也跟后面nginx配置静态文件位置有关。3.一切准备就绪后,在flask中添加一个根路由并设置好t.
2021-02-22 17:26:49
4937
2
原创 flask+vue build后遇到的问题和解决方法
开发环境说明后端:flask1.1.1前端:vue2.x+element-ui打包需要用到的命令这里用到的是yarn工具# 在vue前端项目目录下> yarn build执行完后,会在本地生成一个dist文件夹,文件夹中有一个index页面和一个static文件夹dist-----index.html -----staticflask中是如何设置的首先是创建APP时要指定template_folder的路径。先来看一下flask的目录照图示依次将文件放好。然后在
2021-02-22 16:20:36
901
原创 git stash 用法
有时候我们代码写到一半突然要切到别的分支上去改代码但是又不想把现在还没写完的代码上传到仓库这个时候就可以使用 git stash先将未完成的工作保存在本地一共三步将当前的所有工作保存git stashSaved working directory and index state WIP on production: 9c0b32d html 更新查看你的slash 列表git stash liststash@{0}: WIP on production: 9c0b32d h.
2021-02-03 10:28:44
222
原创 element 源码寻址
今天在用element-ui的时候发现原来写的一个popConfirm的 onConfirm方法失效了翻文档一切好像又ok仔细想想发现原来是最近把element-ui的版本升级了一下导致popConfirm的onConfirm方法已经改为了confirm有时候遇到这种问题真的很头疼,找半天也找不到错误的原因。接下来就记录下一种可以轻松定位错误原因的方法。那就是翻vue的element-ui组件源码element-ui 组件 源码位置找到对应组件的源码位置# \node_modules\el.
2021-02-03 09:46:37
559
原创 使用scp拷贝文件
scp 是一个方便在主机与主机之间拷贝文件的命令,这个命令可以帮你省下很多不必要的数据传输麻烦。直接上手# 从你的主机拷贝到目标主机# 路径建议写绝对路径scp current_linux_file_path hostname@ip_addrr:destination_linux_path# 从目标主机拷贝文件到本地scp user@your.server.example.com:/path/to/foo /home/user/Desktop/# 有时候需要拷贝的是整个文件夹# 加上.
2021-02-03 09:32:57
394
原创 MongoDB设置全局搜索
有时候我们想在collection里查找所有字段进行匹配,应该怎么做呢?其实MongoDB已经提供了这个功能 ----------> $text你需要做的只是多collection进行一次text配置即可配置步骤切换到你需要进行全局搜索的数据库,执行下面这个语句> db.user.createIndex({"$**":"text"})2.接下来你就可以进行全局搜索了> db.user.find({'$text': {'$search': key}},{'passwo.
2021-01-19 14:14:11
665
原创 MongoDB复杂数据聚合分组统计查询
直接上例子假设我们有一堆数据长这样{name:"/project/updateinfo", context:{ "url" : "http://xxxx1", "args" : { "id" : "coex", "nums" : "5" }}}{name:"/project/updateinfo", context:{ "url" : "http://xxxx1", "args" : { "id" : "coex", "nums" : "5" }}}{name:"/project/updatei.
2021-01-19 11:12:01
835
原创 MongoDB设置过期删除文件(一条命令搞定)
有时候我们插入数据不需要永久保留它,可不可以设置一个期限让数据库自动删除呢,MongoDB的TTL支持了这一功能,下面详细介绍一下这个功能的实现。
2020-12-23 17:03:00
763
原创 linux防火墙端口查看和开启
因为安全的原因,服务器的端口默认是不被开启这时,我们要通过防火墙来开启或者关闭端口需要掌握的命令# 查看防火墙是否开启了某个端口> sudo firewall-cmd --query-port=3306/tcp# 开启端口> sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent# 重启防火墙> sudo firewall-cmd --reload参考地址https://tojohnonly.
2020-09-15 15:42:00
1322
原创 pipenv的使用(vs virtualenv)
已经熟悉了python virtualenv的开发者看到了Pipfile文件可能会困惑。不应该是requirements.txt 吗?噢,原来这是python的另外一个虚拟环境工具pipenv的依赖文件。不用担心不会用这个新的工具,使用pipenv和virtualenv+pip 一样简单。下面就来简单介绍一下pipenv的使用。以下介绍的语法是基于linux开发环境,windows稍有不同(启动环境)安装pipenv 或virtualenv# virtualenv> pip ins.
2020-09-15 10:05:20
878
原创 go mod 配置代理(mac)
linux 下给go mod配置代理go version 1.14.6操作系统 mac需要掌握的命令> go version # 查看go的版本> go env # 查看当前go的环境> go env -w GO111MODULE=on # 开启go mod> go env -w GOPROXY=https://goproxy.io,direct # 配置走代理参考地址https://goproxy.io/zh/...
2020-09-10 16:34:29
1905
原创 git第一次初始化项目注意事项
说明第一次初始化项目的时候可能会遇到一些奇怪的问题,下面总结一下。需要掌握的git命令# 初始化git> git init# 查看git当前设置> git config -l# 查看当前git 的远端地址> git remote -v# 重命名remote地址> git remote set-url orgin "http://newaddr.git"# 添加需要push的文件> git add new.py # 添加单个文件> git ad.
2020-09-10 16:24:05
309
原创 mongodb添加用户验证
mongodb在默认的情况下是无认证启动的,也就是不需要密码就可以访问连接,如果公网开放的话,这是很危险的行为,数据可能会恶意篡改和删除,是一个很大的安全问题。所以生产环境下,势必要给mongodb加上用户验证并且关闭端口公网访问。那么只能给数据添加验证呢?非auth的情况下先关闭已启动的mongodb# 切换到admin数据库use admin# 关闭db.shutdownServer()# 如果关不掉提示认证信息,说明现在已经是认证方式启动的mongo,先输入密码db.auth("us
2020-08-13 16:18:26
1406
转载 怎么用waitress启动flask app
今天做一名stackoverflow的搬运工。找了很久没找到生产环境下waitress的启动方式,所以贴到csdn来。app1.pyfrom flask import Flaskapp = Flask(__name__)# app.run(host='0.0.0.0', port=8080,debug=True)run.pyfrom waitress import serveimport app1serve(app1.app, host='0.0.0.0', port=8080)启动
2020-08-07 17:20:19
5907
2
翻译 为什么Go不需要virtualenv
从python转go的程序员经常会好奇,go需不需要像virtualenv这样的工具?直接一点的答案就是不需要。这篇文章将提供几个观点和细节来告诉大家这是为什么。virtualenv在python的很多情况下都非常好用,简单的来说分为两种情形:运行和开发。运行对python来说,已经公布有太多太多互不兼容的版本了,甚至连它的包管理工具都有很多版本,比如pip。正因为这样,不同的开发者需要不用的包,而且通常它们是互不兼容的。python通常是需要被安装的,而且会希望能够在你安装的地方找到对应的包。在没
2020-08-05 17:13:32
2276
1
原创 gin 前后端分离跨域请求问题记录
使用到的框架和工具介绍前端框架:vue请求工具:axios后端框架:gin遇到的问题介绍1、请求没有修改过表头,这个应该很好解决,很多人已经提供了现成的方案import ( "github.com/gin-gonic/gin")func CORSMiddleware() gin.HandlerFunc { return func(c *gin.Context) { c.Writer.Header().Set("Access-Control-Allow-Origi
2020-08-05 15:40:16
712
原创 vue2.0+ 使用本地webpack包创建项目
有时候在公司代理网络下,需要用本地的webpack包来搭建项目。这时候可以用本地安装的方法。一共分三步# 1、从git上克隆一个包git clone https://github.com/vuejs-templates/webpack.git# 2、将这个包放在用户的.vue-templates 下mv webpack ~/.vue-templates/# 3 使用vue创建一个项目vue init webpack (porject_name) --offline...
2020-07-28 17:55:57
316
原创 brew安装nvm记录(两个报错)
brew 安装nvm两个报错记录1、Not a Valid Keg Error2、安装成功后终端command not foundNot a Valid Keg Error解决方法# 先把那个包删了,然后重装# 查看这个包ls -ld /usr/local/opt/nvm/# 然后删除rm -rf /usr/local/opt/nvm/# 再重装brew install nvm安装后command not found# 提示的原因是因为没有配置nvm的环境变量# 建议用 brew
2020-07-28 17:53:09
2530
原创 docker pull/push报错记录
docker push 报错一:<html> <head></head> <body> "\n <meta http-equiv="\"Content-Type\"" content="\"text/html;" charset="iso-8859-1\"" />\n <title>ERROR: The requested URL
2020-06-01 18:35:56
592
原创 docker基本操作命令
docker 操作记录docker进入正在运行的容器docker exec -it [names] /bin/bash查看当前容器的linux版本cat /proc/issuecat /proc/version (查看宿主机版本)查看当前容器docker psdocker ps -a 查看所有容器,包括停止的开启的一个新的容器docker run -it --name=‘name’ python:latest /bin/bashdocker 重命名docker rename
2020-06-01 17:46:00
281
原创 Mac代理环境下配置docker及docker个人仓库
docker代理配置和搭建docker个人仓库(mac)使用的docker-desktop版本:2.2.0.4使用的docker个人仓库是用ubuntu搭建的问题1:代理下push/pull不了外网(setting里配置一下代理)问题2:搭建个人仓库后,向仓库push,pull失败pull/push 失败的原因可能有两个,一个是因为没有设置insecure-registries,另一个是因为代理的原因。原因一:代理设置错误首先要弄清两个IP地址,一个是你的主机(假设192.168.0.1),
2020-06-01 17:38:04
2456
原创 HTML Javascript 以字符串格式添加元素到父元素中
往父元素里以字符串的形式插入一段html元素----demo演示html部分<div id="container"> <ul id="demo"> <li>1</li> <li>2</li> <li>3</li> </ul></div>JavaScript部分// 首先获取你要插入的父元素var yourbox = document.getElementBy
2020-05-20 16:09:27
981
1
原创 开发日记(git+redis)
个人开发时常用命令笔记目前开发环境是mac,所有以下终端命令以mac为准mac终端命令查看所有端口为5000的程序sudo lsot -I:5000redis 操作命令启动redisredis-server指定端口+配置文件启动redisredis-server /usr/local/redis-5.0.8/conf/redis.conf --port 6666客户端启动...
2020-05-18 15:40:24
354
原创 flask-socketio+gunicorn+gevent http 400 bad request
使用gunicorn启动用到了flask-socketio的项目时,出现了400 Bad request的错误提示。查阅官方文档:https://flask-socketio.readthedocs.io/en/latest/#gunicorn-web-server有关于用gunicorn以gevent的启动介绍和启动命令首先安装geventpip install gevent官方文档的启动介绍命令gunicorn -k gevent -w 1 module:app如果想以某个端口和ip
2020-05-14 17:43:47
1463
原创 flask eventlet api多线程异常日志记录
编程语言:python后端框架:flaskfrom flask_restplus import Api, Resourcefrom flask_socketio import SocketIOfrom eventlet import wsgi# 前面代码省略wsgi.server(eventlet.listen(('0.0.0.0', 8088)), app)异常点在于,当使用eventlet启动app的时候,用户api请求不能多线程,一个requst必须在前一个request完成后才能执
2020-05-13 10:35:39
809
原创 xlsxwriter导出文件出现警告:发现内容有问题,是否让我们尽量尝试修复?如果您信任此工作簿的源,请点击“是”。
这个问题跟你写入数据有关,可以查一查是否有用到 merge_range() 这个方法,如果merge_range() 被多次重复使用在同一片单元格中, 如果有的话,去掉就ok了。这个问题有git issues里被提到:https://github.com/jmcnamara/XlsxWriter/issues/351...
2020-05-08 17:15:59
5333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人