mysql返回包分析 perl_Perl语言Web框架Mojolicious开发实战(一)——开篇

ff12c763de3d4957c14591322cac6211.png

Mojolicious(以下简称Mojo)是Perl语言中知名的异步开发框架。部署简单、依赖较少,非常的简洁轻巧。具体的赞美,可以自己搜索百度百科,我就不多说了。

实际上Mojo的开发思维十分跟得上流行趋势的,学好了Mojo再去学习Django、Flask或者是Spring Boot在思路上算是大同小异了。

如果说相似,Mojo与Flask算是最相似了,我花一周时间简单看了Flask狗书之后很快就可以拿来干活了。Mojo和Flask都是可以写成单文件应用的,不过Mojo的扩展性更强,构建大型项目仅需要注意目录结构和包导入即可,官方甚至提供专门用于单文件扩展大型项目的命令工具。而Flask就比较弱了,那个文件之间的blueprint,太头疼了。

Perl学习曲线陡,近些年整体式微。Perl在国内,中文材料已经有五六年时间都没有出新了。比方说Perl的大骆驼,居然连多线程thread都没讲。我还是后来学Python的threading转头回来特地找了找才发现,苦了我呦,当时没见过thread只能学Coro协程,那也是费半天劲。

Mojo更不用说了,国内连个像样的介绍都没有,有些作者照搬官方文档——最后还半途而废了。当时我也是硬着头皮,啃官方文档一点一点搞懂的。

当时之所以要做Web开发,主要是为了运维。公司有套Juniper的VPN系统,一直作为公司对外的访问门户,我每天都要拿出时间来处理OA系统中申请单——给员工、合作单位、供应商、经销商建账户、配置安全策略,还要做好记录。日复一日,耗时,枯燥,实在是干够了。从那时起萌生了一种想法:学门编程语言,开发个系统——申请人在系统里面提交申请单,经过流程审批,信息整理到数据库并且自动配置到VPN系统里面。多美好啊。

后来阴差阳错的首先学了Perl,有种49年入国军的感觉。。。 。。。中文文档太老的没法用,英文文档太吃力,苦哇。

但是再学python和Django又得耽误几个月,等不起啊。没办法了,硬着头皮开干。

经过4个月的开发,4个月的上线,BUG修复的差不多了,当初设想的各项功能也实现了。今天经过粗略的修改,我在码云上发布了开源版本:

liudashang/账户信息管理系统_Perl语言web框架Mojolicous开发样例​gitee.com
18c2dad6d4e3aec7e4ee1d09e5a23062.png

然后,在往后的日子里,我会根据这套系统,编写专栏讲解Mojolicious框架的使用。

今天算是前言吧。先说明系统中用到的技术:

1.前端页面,一共两个,一个登陆页面、一个业务界面,直接使用的Vue+Axios+ElementUI。

2.后端与前端通信,主要使用Mojo的Json接口。

3.工作流程审批,使用了CPAN上的Workflow模块。

4.数据库,使用了Mojo::MySql模块,在DBI基础上再次封装的,支持异步,十分好用,但是与Mojo的JSON接口一样,大量依赖perl的“引用”。

5.XML文件操作,由于公司VPN系统没有API之类的配置接口,只用通过手动导出配置文件,然后上传到该系统里面处理后,在手动导入回去。

6.Selenium,这个在Python自动化测试和爬虫领域很火,其实Perl也有模块且与Python的比基本一样。后来把“5”中VPN系统配置文件导入导出的工作,在后台服务器用selenium实现了一遍,算是完全自动化了。

下一篇,先讲Mojolicious基本使用方法吧(翻译官方文档)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值