aiomysql与sqlalchemy的使用
之前一直使用tornado做项目,数据库一直使用mongo与redis居多,凭借其优异的异步特性工作的也很稳定高效,最近的项目需要使用 mysql ,由于之前在使用mongo与redis时所使用的moto与aioredis来异步的执行数据库操作,所以在网上查询了异步操作mysql的库, 本文记录一下异步操作中所遇到的问题与相应的解决方案。
之前一直使用tornado做项目,数据库一直使用mongo与redis居多,凭借其优异的异步特性工作的也很稳定高效,最近的项目需要使用 mysql ,由于之前在使用mongo与redis时所使用的moto与aioredis来异步的执行数据库操作,所以在网上查询了异步操作mysql的库, 本文记录一下异步操作中所遇到的问题与相应的解决方案。
在python中使用日志最常用的方式就是在控制台和文件中输出日志了,logging模块也很好的提供的相应的类,使用起来也非常方便,但是有时我们可能会有一些需求,如还需要将日志发送到远端,或者直接写入数据库,这种需求该如何实现呢?
经常会看到有些代码中使用 functools.partial
来包装一个函数,之前没有太了解它的用法,只是按照别人的代码来写,今天仔细看了一下它的用法,基本的用法还是很简单的。
最近在使用flask的时候,有一个比较麻烦的事情,在跳转网页的时候需要设置cookie,使用单独设置cookie与单独跳转都比较简单,
可以看到,设置cookie的response
最后是通过return 回来的,但是上面的网页跳转则是通过redirect()
函数返回的,所以这两个没法同时的使用。
查看redirect()
的源码
可以看到,其实redirect函数也是通过构造一个response最后再将这个resonse return 出去,所以我们是否可以构造一个类似于redirect函数中的response对象,然后设置好status code是不是就可以了呢?
运行上面的代码,发现停留在/test
页面,显示上面的make_response
的文字,并没有跳转,但是cookie中已经有display的cookie了,说明设置cookie成功了,跳转也成功了一半,只是它没有真正的跳转,还需要在网页上点击一下。
redirect函数中是通过 response.headers["Location"] = location
来设置的,在make_response
的返回响应对象中是通过response.location = 'xxxx'
来设置的
这时就可以正常的跳转了
在写一个系统时不得不考虑高并发时数据库的写入准确性问题,拿mongodb来说,比如要插入一条数据,如果存在则更新,如果不存在则插入新数据,如果在多线程会有哪些问题呢?
最近接触一些serverless的一些内容,基础的内容可以查看 我建议你了解一点儿Serverless ,AWS和国内的云平台提供serverless,我通过几篇文章由浅入深的记录一下在阿里云上使用serverless。
最近在python中使用日志处理的时候有一个新的需求,将日志写入到数据库中,一开始比较懒,写一个循环,定时的去读本地日志文件,将里面的内容直接写到数据库中,很显然这种处理很low,后来又在外面写了一个服务,但本质上还是用循环读的方式将读出来的内容发个post请求然后入库,这两种方式本质上是一样的,而且第二种在发post请求的时候还遇到了内容过多导致服务解析失败的问题。
在神经网络最后的输出层,通常会使用激活函数将最后一层神经元得到的数据再进行计算,最终得到一个输出的结果,这里称该函数为激活函数,比对输出表达式为,当最后一层输出元得到的数据大于0,则输出1,小于0则输出0,这种称为阶跃函数,常见的激活函数有阶跃函数,sigmoid,ReLU,tanh函数
最近着手于机器学习,但是苦于已将数学知识还给了老师多年,看着满屏的数学公式尤为头疼。 还好看了一篇关于卷积神经网络的数学基础以后,发现慢慢的可以看懂一些东西了,这里也记录一下自己的所学,千里之行始于足下,先从最基础的开学学习。
在进行python的开发过程中一直倡导使用虚拟环境来进行项目隔离,这样不会因为python的包不同而导致各种问题,但是以往为了图省事简单,安装包就一直使用pip install 进行全局安装,这样做其实很不好,最近也开始尝试使用虚拟环境来对项目进行隔离开发。