PyDto实现记录 实现背景 因为python语言的特性,在业务数据返回方面,没有类似JAVA DTO的概念实现主体,苦于目前返回的数据结构都需要自己写代码整合,所以需要模仿JAVA DTO的概念写一个工具包,方便定义返回结构体。 诉求 例如在返回一个用户数据的时候,python的sqlalchemy或者某一个类直接返回所有的结构数据,甚至会带上token等敏感数据,这时候通常会在返回前使用代码拼装整合,变动结构也需要变动代码。理解JAVA DTO概念后想到是否有类似的包,可以在数据层与业务层之间进行拦截,根据定义好的结构直接返回相应数据结构。 思路 如果要方便使用,肯定不能在sqlalchemy或者字典或者对象本身进行操作,需要进行隔离,那么选用的方式就是类继承的形式,将数据解析以及自动拼装的方法封装进去。 字典与类的形式相对简单,容易解析多层结构,但是遇到sqlalchemy需要进行调用返回链表数据结构,所以需要特殊的方式进行处理。 if type(obj) != dict and not hasattr(obj, "iter"): for key_name, k_typ.... 模仿JAVA DTO概念的实现的包PyDto DTO
前~~~ 本站目的是介绍一些基本应用,组件的组合应用就看每个人的理解了,文档也是很多的就不详细写了。每一篇基本都是基础应用,看文档应该是每个程序员的基本人生吧,感谢。 起步 本介绍的目的是方便大家来使用一些基本组件,爬数据不是目的,偷取别人的私密数据也是违规的,所以仁者见仁智者见智,大家搞一些爱好的基本分析还是可以的。 在爬一些简单数据的时候,一般会遇到几种问题,常见的呢就是:跨域、登录验证乱七八糟的,不过这些都和我今天说的方法没啥关系,因为今天用的是selenium库,也就是自动化web测试工具。一般用selenium做测试的比较多,在我们这里,使用他做一些其他有趣的事情。 环境 python3 的环境,这个就不说了 有了环境之后安装selenium包 pip3 install selenium -i https://pypi.doubanio.com/simple 老规矩还是豆瓣源,速度快 安装了库是无法使用的,我们还需要chromedriver这种浏览器驱动才行,fox或者chrome都支持,不过我习惯用chromedriver,这里都已chromedriver来举例了,反正也..... 简单的爬虫程序 Python
Balabala 在写AGV调度的时候发现python的并发调度性能不是很高,并且会有很多调度线程挂掉的事件发生,所以想利用Go的高并发去做一些可行的调度,就想到了去写一个go版本的调度控制给py调用,由此,开始搞一个小demo记录一下 Go简单程序编写 安装Go语言 还是老规矩,用了ubuntu18的系统,以ubuntu18为主 先去下一下官网的包,我下的版本是go1.13.4.linux-amd64 下好之后随便解压个位置,比如 tar xf go1.13.4.linux-amd64.tar.gz -C /home/用户名/go 解压到/home/用户名/go文件夹下,需要配置全局变量 sudo vim ~/.bashrc 在最后一行加上两行配置 export GOPATH=/home/用户名/go export PATH=$GOPATH/bin:$PATH 就不多说了这俩。。 验证一下是否成功 go version 成功的话,返回如下 go version go1.13.4.linux-amd64 最简单程序编写 go程序编写就不多说了,文档也很多,就简单的写个返回字符.... Go打包动态库,python调用 Go
FastApi(简介篇) 开篇 最近又抽空看了看开源的框架,由于近一年python使用的比较多,所以关注了一下python的web框架情况,其中一款官方称其为“One of the fastest Python frameworks available”的框架比较引人注目,刚看的时候并不是被性能方面的介绍吸引,而是他的集成docs,以下先来看一下框架自动生成的效果。 文档页面,集测试、文档功能于一体,还是比较好用的,哈哈。 趁热打铁再来看一下性能方面 fastapi稳居第一 看一下以往用的非常多的flask、django等都排在了后面。 FastApi简介 总结来说,就是快、好用、好看 快速启动FastApi应用 因为官方对python3.6表现出了很好的亲和力,那么我们在这也会使用python3.6进行构建。 因为我本人用的是Ubuntu18的系统,以下关于应用安装部分,以linux为准。 sudo apt-get install python3 这里关于python3的安装就不再赘述了,windows直接下载相关安装包即可。 接下来开始安装FastApi的库 pip3 ins....... FastAPI简单使用 FastApi