- 博客(29)
- 资源 (33)
- 收藏
- 关注
原创 Flask+uwsgi+nginx负载均衡服务部署
先安装好环境:1.写一个flask程序:2.安装uwsgipip install uwsgi3.安装nginxmac 安装nginx:brew install nginxliunx服务器安装:sudo apt-get install nginx4.配置并启动uwsgi参数配置:[uwsgi]http=0.0.0.0:5001chdir=项目路径wsgi-file=启动文件callable=启动文件中的Flask 对象名称在u
2021-12-30 20:34:11 2594
原创 Mac环境:Nginx入门
Nginx是一款高性能的Web和反向代理服务器,今天我们就在MacOS(Mojave,版本10.14.6)环境下学习下Nginx。一、安装、启动、重启、停止NginxMac环境的安装比较简单,使用Homebrew安装即可: brew install nginx 安装后的路径如下:/usr/local/Cellar/nginx/usr/local/etc/nginx启动Nginx服务:sudo nginx验证下是否启动成功,在浏览器打开http://local.
2021-12-28 15:50:47 1758 1
原创 chrome 禁止跨域策略(CORS policy)
很多时候,后台小伙很兴奋的告诉你接口都ok了,可以继承对接,你用postman测了一下也通过了,然后当你在前端(web)里面想调试的时候, 却发现后台并没有配置跨越策略,也就是允许浏览器跨域请求,当你前去沟通,后台答应会很快解决之后,等了好久又没信了,明明很简单的问题咋就这么难吗?这样就影响前端调试进度了,比如我今天有遇到了……很委婉的请求对方修改一下策略,结果人家并不知道跨域跨相关的解决方案,普及之后对方答应修改,可是过去了两天依旧没啥动静……实在无法忍,又没啥...
2021-12-28 15:42:27 9468 1
原创 Linu系统使用crontab执行定时任务
先安装:apt-get install cron查看cron状态:service cron status如果是inactive (dead)状态,说明没有启动,用如下命令启动:service cron start帮助中文说明:crontab -e 编辑创建一个定时服务crontab -l 查看当前用户的定时任务crontab -r 删除当前用户的定时任务添加一个定时任务:crontab -e然后使用vim 编辑...
2021-12-16 18:44:35 803
原创 数仓模型命名规范
1. 词根设计规范词根属于数仓建设中的规范,属于元数据管理的范畴,现在把这个划到数据治理的一部分。完整的数仓建设是包含数据治理的,只是现在谈到数仓偏向于数据建模, 而谈到数据治理,更多的是关于数据规范、数据管理。表命名,其实在很大程度上是对元数据描述的一种体现,表命名规范越完善,我们能从表名获取到的信息就越多。比如:一部分业务是关于货架的,英文名是:rack, rack 就是一个词根,那我们就在所有的表、字段等用到的地方都叫 rack,不要叫成 别的什么。这就是词根的作用,用来统一命名,表达同一个含
2021-12-14 16:30:12 2764
原创 数据库表设计三范式(详解+例子)
第一范式(1NF):每一列都是不可分割的原子数据项(什么意思,每一项都不可分割,像下面的表格就能分割,所以它连第一范式都算不上) 分割后的样子(它就是第一范式了)第二范式:在1NF基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖) 几个重要的概念: 1.函数依赖:A-->B,如果通过A属性(属性组)的值,可以确定唯一的B属性的值,则称B依赖于A 例如:学号---->姓名 (学号、课程名称 的属性组)--&g..
2021-12-13 17:17:51 4674
原创 面向对象设计的SOLID原则
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。SRP The Single Responsibility Principle 单一责任原则 OCP The Open Closed Principle 开放封闭原则 LSP The Liskov Substitution Principle 里氏替换原则 DIP The Dependency Inversion
2021-12-13 16:46:36 207
原创 Chrome 浏览器如何修改 User-Agent
工作中,我们可能会发现某些网站在不同浏览器客户端上的表现不太一样,而这里主要判断的依据就是客户端的 User-Agent(后面简称 UA)。出于调试方便,我们会想是否有一个浏览器可以自定义修改 UA,从而达到伪装不同的客户端来访问同一网站的目的呢?答案就是万能的 Chrome。好了,废话不多说,下面就介绍两种方式来实现这个目的:0x01:通过在开发者工具里设置单一网站的访问 UA 0x001:打开 Chrome,访问需要调试的网站,调出开发者工具(Windows 上是 F12 或 Ctrl + S
2021-12-12 15:07:09 15749
原创 pgsql执行分析explain结果分析
EXPLAIN 的输出结构阅读到这里,我们已经知道了如何使用EXPLAIN 命令。接下来,我们将学习如何理解EXPLAIN 的输出,从而快速地定位问题。以下面的输出为例(该例子选自PostgreSQL官方文档),我们来分析下EXPLAIN 命令输出的结构:EXPLAIN ANALYZE SELECT *FROM tenk1 t1, tenk2 t2WHERE t1.unique1 < 100 AND t1.unique2 = t2.unique2 ORDER BY t1.fiveth
2021-12-12 13:30:52 8241
原创 pgsql创建函数返回表数据结果集注意点
创建一个函数:create or replace function gethotal(title varchar) returns TABLE ( name varchar, addr varchar ) language plpgsqlas$$begin return query select hotel_name, address
2021-12-12 13:00:39 976
原创 setup.py打包的时候,几个需要注意的点
import osfrom setuptools import setup, find_packages"""pip install --editable .表示从本地或开发者模式安装项目,-e, --editable <路径/网址>"""pwd = os.path.dirname(__file__)with open(os.path.join(pwd, 'README.md')) as f: README = f.read()setup( name='ge.
2021-12-08 11:23:50 245
原创 使用Pgsql创建自定义函数,生成uuid或等级
CREATE OR REPLACE FUNCTION uuid() RETURNS varchar AS$uuid_str$DECLARE uuid_str varchar;BEGIN uuid_str := (select array_to_string( array(select substring('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr.
2021-12-08 10:09:51 2338
原创 Pgsql函数的创建和使用
语法:CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name$ DECLARE declaration; [...] BEGIN < function_body > [...] RETURN { variable_name | value } END; $var.
2021-12-07 19:40:44 3213
原创 使用Click编写Python包,并发布到Pypi仓库
在包文件里面创建一个hello.py:import clickCONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])@click.command()@click.option('--count', default=1, help='Number of greetings.')@click.option('--name', prompt='Your name', help='The person to greet.')def
2021-12-07 17:59:51 1082
原创 SSH连接报错:connection is closed by foreign host
可能是ubuntu的ssh服务没有开启:需要开启ssh服务:
2021-12-07 16:10:32 3702
原创 ubuntu配置Selenium+Chromedriver
1、下载并安装最新的Google Chrome版本执行如下命令:wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb(如果出现dpkg错误,那么执行这步的指令,更新依赖包,然后再安装)sudo apt-get -f install2、下载并安.
2021-12-06 18:50:31 1966
原创 FinalShell/Xshell连接docker容器中的Ubuntu
具体流程: 1.先pull ubuntu镜像,2.安装ssh服务,3.修改root密码,4.finalshell登陆windows10doceker:Server Version: 19.03.5docker 环境:ubuntu一.先拉取镜像docker pull ubuntu运行容器:docker run --name iubuntu -t -i -d -p 3316:22 ubuntu参数: –name 指定生成的容器的名称-i: 以交互模式...
2021-12-06 18:02:04 3508 7
原创 数据库里的interval 关键字
select current_timestamp - interval '1' year;select current_timestamp - interval '2' month;select current_timestamp - interval '3' day;select current_timestamp - interval '4' hour;select current_timestamp - interval '5' minute;select current_timestam.
2021-12-02 17:50:54 938
原创 联合主键的数据,怎么添加假数据
-- auto-generated definitioncreate table tr_jiaotong_check_real_num( station_name varchar(255), station_no integer, station_telecode varchar(255) not null, station_train_code varchar(255) not null, train_date .
2021-12-02 17:49:24 184
转载 Python装饰器实战
写在前面python的装饰器是一种语法糖,是在不改变原有代码的前提下进行 追加新功能,如:登陆鉴权…装饰器由闭包实现闭包闭包三要素1.函数嵌套, 即外部函数嵌套一个内部函数;2.外部函数返回内部函数引用;3.内部函数使用外部函数的变量或者形参闭包范例def out(func): variable = 'This is out variable' def inner(): print(variable) func() return in...
2021-12-02 16:09:30 226
原创 json vs jsonb,及常用
JSON 与 JSONB 也是一对冤家。现在很多开源系统和开源软件都支持 JSON 与 JSONB,比如:Postgresql和MongoDB等。这也导致了面试中被问到 JSON 与 JSONB 的区别时,很多人不知所措!今天,我们就一起来看看它们之间到底有哪些区别?在 stackoverflow 上有一个解释,为了方便阅读,我贴在了下面。首先,hstore是一个扩展模块,它允许你保存key=>values键值对,且键值都只能是texts类型(但是,值也允许sql的NUL...
2021-12-02 14:09:59 1539
原创 row_to_json/array_agg/array_to_json的使用
row_to_json:array_agg:将行转成数组array_to_json:将数组转成json类型
2021-12-02 14:06:47 826
原创 SQL语句执行顺序 和部分优化
查询语句中select from where group by having order by的执行顺序1.查询中用到的关键词主要包含六个,并且他们的顺序依次为select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行from--where--group by--having--select--or...
2021-12-02 11:06:09 277
原创 sql的执行顺序
SQL语言的运行顺序,先执行上图中的第一步,然后再执行select子句,最后对结果进行筛选。distinct是在select子句中,而group by在第一步中,所以group by去重比distinct去重在效率上要高。
2021-12-02 10:57:46 963
原创 pkgutil获取包里面的所有模块列表,__import__和importlib.import_module
1、获取模块中的属性想要获取clazz包中a模块的所包含的方法,可以直接使用dir这个函数,可以看到show这个方法已经包含在其中from clazz import aprint(dir(a))"""['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'show']""""""2、获取包中的属性如果我...
2021-12-01 20:05:15 824
原创 DataGrip设置时区,Navacate没有结果,DataGrip有结果的问题
遇到一个问题,DataGrip查询是有数据的,但是Navacate查询没有数据,这可能就是因为时区设置不对导致的问题,因为DataGrip设置的时区默认是UTC时间,但是国内使用的话,就要使用国内时间。查看时间:(这是修改后的,修改前其实是-8小时的)新版本DataGrip以默认时区取世界标准时间。要想时间显示正常,需要将时区变为上海时区,可手动在连接配置里设置参数。如下图:操作步骤1.右键打开你想要修改的数据库连接的Properties菜单;2.点击Advanced按钮;.
2021-12-01 11:41:54 785
phpstudy-x64-V8版本安装包
2023-06-07
可以在浏览器里免费使用chatgpt的插件
2023-05-10
使用Python模块ppadb控制手机拍照
2023-05-08
使用Python的uiautomator2控制手机操作叮咚买菜
2023-05-08
使用Python画一个爱心图片来讨你的女朋友一笑
2023-05-08
Python识别ocr验证码的程序,识别率非常高
2023-05-08
使用Python脚本将 CSV 加载到 SQLite 数据库的脚本(带有类型推测)
2023-05-08
Python写的Grpc小案例Server端
2023-05-05
Python脚本的链式编程思想Demo
2023-04-28
Python脚本Clickhouse连接示例
2023-04-28
安卓Android版zerotier最新安装包
2023-04-28
Python企微定时打卡
2023-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人