mac php开发套件_04007技术笔记___一名IT人员的在线技术笔记

Fastapi框架Websocket官方示例:https://fastapi.tiangolo.com/advanced/websockets/中有一个示例实现多个用户进行即时沟通,但这个示例只能实现多个用户在一起沟通,而不能实现多个用户随便分组随便沟通,因此对这个示例进行了修改实现了多房间多用户的沟通场景。修改的部分以及修改后的代码如下:fromtypingimportListfromfastapiimportFastAPI,WebSocket,WebSocketDisconnectfromfastapi.responsesimportHTMLResponseapp=FastAPI()html="""&lt...

WebSocket用于在Web浏览器和服务器之间进行任意的双向数据传输的一种技术,是HTML5的技术之一,放到现在也并不是一个多新鲜的东西,不过在没有WebSocket之前,要实现从服务器推消息给客户端确实觉得很别扭,比如使用轮询或者长连接的方式,这些方式都会增加客户端和服务端很多负担,都是一些间接的实现方案,但均不理想。而WebSocket协议则是一个真正实现全双工通迅的东西,其也是基于TCP实现,也包含初始的握手过程,但初次握手后可以进行多次数据双向传输过程。WebSocket接口的内容可以分...

Python的Fastapi框架中可以方便地使用Websocket,见官方文档:https://fastapi.tiangolo.com/advanced/websockets/但在使用websocket的时候碰到了报错,WARNING: Unsupportedupgraderequest.即当前的fastapi环境中并没有支持websocket的upgrade请求,客户端中的连接ws协议的js代码中也报错:handshake:Unexpectedresponsecode:400。    我的运行环境是uvicorn,是通过pipinstalluvicorn来安装,在之前开发API接口的时候一切正常,但在使用websockets时遇到了这个错误...

Python开发的时候经常会碰到两类错误,语法错误SyntaxError:invalidsyntax和异常Exception。在语法没有问题的前提下在运行期检测到的错误被称为异常,大多数的异常都不会被程序处理,都以错误信息的形式展现出来,且异常以不同的类型出现,这些类型都作为信息的一部分打印出来,如可能报的除数为0的错误ZeroDivisionError;比如使用assert(断言)用于判断一个表达式当为false的时候会触发抛出一个AssertionError异常等等。    异常捕捉可以使用try/except语句,先执行t...

February 1, 2021 -Monday

之前有文章提到过MQTT服务器emq,http://www.04007.cn/article/960.html可以认为它是一个轻量级的消息队列,因此需要提供给服务端比如查询客户端信息、发布消息和创建规则等功能。对此EMQX提供了HTTPAPI以实现与外部系统的集成,HTTPAPI服务默认监听8081端口,可通过etc/plugins/emqx_management.conf配置文件修改相关参数属性,或启用HTTPS监听。    关于EMQX的接口安全:EMQX的HTTPAPI使用Basic认证(opensnewwindow)方式,id和password须分别填写AppID和AppSecret。默认...

使用python在本地环境进行操作Excel导入正常通过,但放到服务器后也同样安装了xlrd模块,但在执行导入时报错xlrd.biffh.XLRDError:Excelxlsxfile;notsupported,如下:File"/usr/local/lib/python3.8/site-packages/xlrd/__init__.py",line170,inopen_workbookraiseXLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+';notsupported')xlrd.biffh.XLRDError:Excelxlsxfile;notsupported    后来发现xlrd扩展版本有变化同,xlrd官网:https://pypi.org/project/xlrd/...

喜欢调试的时候显示数据并显示一些其它的信息,比如区分是哪次调用的调试信息,比如友好的显示dict等相对复杂的数据类型,所以这里涉及到两个方面。一是统计函数被调用次数;二是格式化展示dict数据。    在类中对一个函数的调用次数进行统计比较方便,直接定义一个类属性来计数即可,但对于一个普通函数这样的方法就不能实现了,于是我们可以通过装饰器来实现。    装饰器(Decorators)是Python的一个重要功能,它是一个可以修改其他函数的功能的函...

之前想找一款免费、简洁、实用、好用的markdown软件,找来找去发现了一款叫Tea的笔记本应用,使用了一段时间,感觉这个Tea完全能满足我工作上的需求,做个记录也做个推荐。笔记类小软件很多,比如windows10自带的OneNote,还有印象笔记、有道云笔记等,也都有比较完整的功能,但也过于繁杂,我的目的就只是一个在本地存储的文档编辑、归类的软件而已。Tea恰好是这么一款干净好用的markdon笔记应用。    Tea官方地址:http://www.haocha.co/是一款由国人开发的实现markdo...

20210123122722_32811.jpeg

1.gitwarning:LFwillbereplacedbyCRLFin***file    偶然gitadd在进行代码提交的时候碰到警告warning:LFwillbereplacedbyCRLFin***file,原因是编辑的代码内容中存在符号转义问题,windows中的换行符为CRLF,而在linux下的换行符为LF,所以在执行add.时,git发现改动文件中引入了LF会发出警告你哪些文件不是纯CRLF文件,但git不会自动修改工作区的文件,而是对暂存区进行修改。我们也可不做任何处理,它只是会提示,对代码提交无影响。$gitadd.warning:LFwillbereplacedbyCRLFin***fileThefile...

January 23, 2021 -Saturday

在使用minio管理端上传文件并进行分享的时候,发现其在分享时带了一连串的参数,示例如下:http://127.0.0.1:9000/test/1.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=s1quest&X-Amz-Date=20210120T012119Z&X-Amz-Expires=432000&X-Amz-SignedHeaders=host&X-Amz-Signature=a963ff8330971这正是在创建分享的时候minio限制了只能分享一个带有一定有效期的链接,而且最长只有7天有效期,这肯定不好用啊!    要实现根据域名端口+桶+文件...

在jenkins发布代码前有必要进行代码自动化测试,而最终代码是否需要发布就需要依据自动化测试的结果来处理,jenkins中使用fabric模块调用远程服务器执行shell脚本,比如在方法中调用远程服务器执行docker容器中的代码自动测试,我们期望对run执行的shell脚本进行判断,目标实现逻辑如下:#取得shell执行结果result=run("dockerexec-itcontainpytest/app/--cov")#根据结果进行处理ifresult=="Ok":print("测试成功通过,继续发布")else:print("测试失败,终止发布")  &nbsp...

January 23, 2021 -Saturday

一、关于fabric    fabric是一个Python的库,同时它也是一个命令行工具。使用fabric提供的命令行工具,可以很方便地执行应用部署和系统管理等操作。fabric依赖于paramiko进行ssh交互,fabric的设计思路是通过几个API接口来完成所有的部署,因此fabric对系统管理操作进行了简单的封装,比如执行命令,上传文件,并行操作和异常处理等。二、fabric执行任务步骤    fabric执行任务的步骤如下:1.创建任务列表,这些任务就是fab命令行参数指定的任务,fab会保持这些任务的顺序2....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值