Flask学习(flask介绍)
Flask是由Python语言编写开发而成的轻量级的Web开发框架,它的作者Armin Ronacher是个大神级人物,同样也是jinja,werkzeug的作者,所以不奇怪flask使用jiaja做为模板渲染,使用werkzeub做为wsgi,flask非常的小巧,也够简单,上手很快,在用了一段时间flask之后反过来学习flask原理,之前很多不理解的地方有了一个更清晰的认识,收益坡多,这里也不过多的去剖析源码,毕竟不是专业研发人士,先理解几个概念:
Flask是由Python语言编写开发而成的轻量级的Web开发框架,它的作者Armin Ronacher是个大神级人物,同样也是jinja,werkzeug的作者,所以不奇怪flask使用jiaja做为模板渲染,使用werkzeub做为wsgi,flask非常的小巧,也够简单,上手很快,在用了一段时间flask之后反过来学习flask原理,之前很多不理解的地方有了一个更清晰的认识,收益坡多,这里也不过多的去剖析源码,毕竟不是专业研发人士,先理解几个概念:
最近在分析oracle9i的statspack报告,statspack默认是不安装的,需要自己安装且要添加snapshot的定时生成计划,刚好有用到的job,schedule,还是比较强大,稍微记录下DBMS_SCHEDULER包的简单使用及参数说明.
工作中我们经常需要直接修改源文件,当然,我们都被建议最好别在源文件上直接做修改,要做好时刻备份的习惯,特别是重要的配置文件,如果需要直接修改源文件的话,我们一般都是先把源文件读入脚本然后再重定向到目标文件,目标文件重命名,源文件备份,linux下的话使用awk/sed一条命令就能搞定,python中有一个文件处理模块fileinput,比较实用
最近在做一个内部用的在线生成oracle性能数据的报表工具,那段时期刚好在看flask框架,所以整个项目是用flask来做,前端使用的bootstrap3,由于工作环境需要,大部分的机器还停留在IE9及以下阶段(什么年代了还IE9,真的好想骂人),直接使用的bootstrap会出现页面排版错位情况,bootstrap3开始已放弃对IE9的支持,只得另想办法,好在我们都站在巨人的肩膀上,办法还是有的,在这记录一下.
近期在做一个数据库后台管理系统,功能非常简单,就是定时获取oracle数据库的awr性能报告数据,结合highcharts生成图表.因为之前已经用python写了个模块,这次有个功能刚好可以直接用,就也直接想用python写了,这种小系统当然是用python的flask框架了,简单轻便,项目中有用到用户登陆功能,使用了flask-login,对这种内部小型的不需要太复杂权限应用系统实乃必备
在python中查询Oracle,首先当然是cx_Oracle,方便快捷,但是很无奈有时必须使用sqlplus命令的形式,比如生成oracle9i的statspack报告,cx_Oracle就无能为力了,同时,这也涉及到python中子进程调用的问题,简单的任务当然首选subprocess
年前接到一个小活,有一阶段是需要处理某一文件夹下的CSV文本文件,起初文件量不大,用python写了个小脚本批量串行处理,后来想想估计后期还有这样的需求,如果文件量较大的话,再使用单线程时间就会比较长了,所以周末改写了个并发脚本,所用时间节省也是之前的1/2(限于笔记本多进程切换消耗资源,理论应该还更短),还是比较给力,下面就总结下python的并发那点事.
有这样一句话:”Python下多线程是鸡肋,推荐使用多进程“,但是为什么这么说呢?要了解多线程多进程之前,首先要了解python的GIL.