- 博客(17)
- 收藏
- 关注
原创 怎么在group by分组后获取其他列的数据(窗口函数)
一.窗口函数有什么用聚合函数对结果集进行计算并且通常只返回一行,只会返回聚合的结果和聚合的那列。如果需要返回聚合列之外的列的结果则可以使用窗口函数。窗口函数也是基于结果集计算,与聚合函数不同的是窗口函数会把计算后的结果合并到原来的结果集上,返回多行并保持与结果集相同的行数。可以使用窗口函数的业务场景:排名问题:比如每个部门按业绩来排名topN问题:比如找出每个部门排名前N的员工进行奖励二.窗口函数语法除了pg内置的窗口函数rank(),dense_rank(), row_numbe(),la
2020-09-04 17:44:34 7835
原创 GOPL Exercise
EX 3.10练习 3.10: 编写一个非递归版本的comma函数,使用bytes.Buffer代替字符串链接操作。func comma(s string) string { var buf bytes.Buffer n := len(s) fmt.Println(n) if n <= 3 { return s } for i := n; i > 0; i-- { if i%3 == 0 && i != n { buf.WriteByte(','
2021-04-12 10:48:58 488
原创 PostgreSQL 实现多行数据与一条数据的互相转换
遇到一个场景是要把分组后的某个字段的多行数据组装成一个列表,开始我的做法是先查出全部数据,再遍历组装成一个 {key: list} 的结构来使用。但这样就比较繁琐,所以寻找了一种更加简便的做法。使用以下表为例:classgendername1MLiLei1FHanMM1MJim2FKate2MPeter场景一根据需求希望输出以下数据:classnames1LiLei,HanMM,Jim2Kate,
2020-07-21 18:21:12 2424
原创 使用docker对PostgreSQL进行版本数据迁移
简述当对PostgreSQL数据库进行版本更新时,需要迁移数据,可以使用pg_upgrade 。pg_upgrade (原名称为 pg_migrator) 允许数据在 PostgreSQL 数据文件中升级到PostgreSQL新的大版本而不需要数据的备份/还原,通常适用在升级大版本时,例如从8.4.7升级到当前 PostgreSQL的新最新版本。 在小版本之间升级往往是不需要的, 例如 从9.0.1升级到9.0.4。文档:http://www.postgres.cn/docs/10/pgupgrade
2020-06-10 11:37:45 1983 1
原创 Nginx根据前缀路径转发到不同的Flask服务
开端想通过不同的前缀路径经过nginx转发到不同的服务上,比如 /user/转发到用户服务,/other/转发到其他服务。首先配置nginx的location根据前缀匹配。server { listen 80; server_name example.com; location /user/ { proxy_pass http://127.0.0.1:5000; # 用户服务 } location /other/ {
2020-05-27 18:05:24 4316
原创 使用ProxyFix调整代理后的WSGI环境(解决Flask项目经代理后访问https跳转成http问题)
问题简述当flask项目经过nginx代理后,通过https访问,即使nginx设置了header X-Forwarded-Proto,但flask request中的wsgi.url_scheme仍然是http。解决一在url_for构造url的时候把scheme指定为header中的X-Forwarded-Proto。url_for("xxx.xxx”, _external=True, _scheme=request.headers.get("X-Forwarded-Proto", "http"
2020-05-16 23:01:31 2372
原创 基于python的redis分布式锁
python 的 enter 和 exit 魔术方法实现上下文管理。调用with后,enter()方法会被调用,返回值会赋值给as后面的变量。当with里的代码块被执行完或者异常退出后,将调用返回对象的__exit__()方法。class RedisLock(object): """redis dist lock @param name 锁名称 @param client...
2020-04-03 10:58:03 205
原创 acme.sh实现免费自动续期的https
acme.sh是什么?acme.sh 实现了 acme 协议, 可以从 let‘s encrypt(数字证书认证机构)生成免费的证书。并且可以自动化完成创建证书、安装证书、更新证书的流程。一、安装acme.shcurl https://get.acme.sh | sh创建一个bash的别名, 方便使用:alias acme.sh=~/.acme.sh/acme.sh二、生成证书生...
2020-03-25 20:25:11 11715 3
原创 JWT的生成和验证(djangorestframework-jwt版)
JWT是什么参考:https://www.cnblogs.com/cjsblog/p/9277677.html生成以及验证token因为本来也是django项目,所以运用了djangorestframework-jwt这个库。当然也可以用jwt直接encode生成token,decode验证token,djangorestframework-jwt只是封装了一些其他功能。django...
2020-03-17 21:07:40 1033 1
原创 使用GitLab CI/CD进行自动测试和部署
1.基本概念1.1 CI/CDCI,Continuous Integration,为持续集成。即在代码构建过程中持续地进行代码的集成、构建、以及自动化测试等;有了 CI 工具,我们可以在代码提交的过程中通过单元测试等尽早地发现引入的错误;CD,Continuous Deployment,为持续交付。在代码构建完毕后,可以方便地将新版本部署上线,这样有利于快速迭代并交付产品。1.2 GitL...
2019-10-09 11:26:55 11946
原创 Odoo + 微信小程序快速搭建商城补充订单评价功能
承接上一篇的内容。传送门:https://blog.csdn.net/qq_37816503/article/details/95122104当用户确认收货后,订单状态会来到待评价,提交评价后无法看到评价,经过查看后台后发现保存评价的接口是没有完成,所以决定自己动动手玩玩。建立评价模型首先创建评价的模型,除了具体评论内容,和好中差评论的选项外,还关联产品,订单,用户等模型。class R...
2019-07-13 11:51:27 963
原创 Odoo + 微信小程序快速搭建商城
准备工作1.搭建可以在开发者工具运行小程序环境。2.可以运行odoo10的环境。3.微信小程序商城应用的github上的一个项目。github地址:https://github.com/EastWorld/wechat-app-mall4.EastWorld/wechat-app-mall推荐的后台是api工厂,api工厂更加简单只要注册就可以马上体验到有后台的微信小程序商城。但是因为...
2019-07-09 01:17:30 4880
原创 日常练习_2
#笔记/日常练习/日常练习_2日常练习_21.输出数字 1-100,逢 3 的整倍数输出 Fizz,逢 5 的整倍数输出 Buzz,又是 3 又是 5 的整倍数输出 FizzBuzz。for i in range(101): if (i % 3 == 0) and (i % 5 == 0): print(str(i) + ' FizzBuzz') elif...
2019-06-24 16:19:27 196
原创 日常练习_1
正文:1.斐波那契数列。a = 0b = 1while b < 100: print(b) a, b = b, a + bresult_list = []for i in range(11): if i == 0 or i == 1: result_list.append(1) else: result_list....
2019-05-21 16:45:41 130
原创 Python脚本在Windows下以Service服务的形式定时运行
Python脚本在Windows下以Service服务的形式定时运行1.简介最近工作上有个需求,是需要在服务器中定时运行脚本。以前定时任务都是在linux上通过crontab或者shell脚本跑的,而这次是需要在windows的服务器上运行的。要完成这个需求,需要借助pywin32模块把脚本写成windows的服务形式。2.简单的服务程序用例这是一个相当于模版一样的代码,在相应的地方放进自...
2019-02-22 09:34:09 1093
原创 django + uwsgi + nginx 部署线上个人博客项目
django + uwsgi + nginx 部署线上个人博客项目前提: 在线上服务器上已经安装好了db(如mysql), 我的还有redis, 当然还有用到的python环境, 以及所有依赖包。环境: 阿里云ubuntu 16.04.5, python3.6.4, Django 2.0概要当请求的是静态资源的时候(css, js等)可以直接通过nginx直接访问到静态资源, 这是静态...
2019-02-22 09:32:58 213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人