彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middleware)的使用EP07by Liu Yue/2022-08-30 标签: EP07 Go Iris jwt Middleware Web 中间件 使用 女神 实战 彩虹 框架 语言 进阶 长空 项目 高性能 前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。 Iris模板复用 在生成Token之前,首先我们需要对项目的模板进行优化改造,目前存在的页面模板有三块,分别是:首页模板(index.html)、登录......了解更多
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-登录与图形验证码(captcha)EP06by Liu Yue/2022-08-29 标签: captcha EP06 Go Iris Web 图形 女神 实战 彩虹 框架 登录 语言 进阶 长空 项目 验证码 高性能 书接上回,上一回我们按照“低耦合高内聚”的组织架构方针对项目的整体结构进行了优化,本回将会继续编写业务,那就是用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,校验通过后留存当前登录用户的信息,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。 登录逻辑 首先在逻辑层handler包中,创建用户模块文件user.go:package handlerimport ( "github.......了解更多
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目结构优化EP05by Liu Yue/2022-08-25 标签: EP05 Go Iris Web 优化 女神 实战 彩虹 框架 结构 语言 进阶 长空 项目 高性能 前文再续,上一回我们完成了用户管理模块的CURD(增删改查)功能,功能层面,无甚大观,但有一个结构性的缺陷显而易见,那就是项目结构过度耦合,项目的耦合性(Coupling),也叫耦合度,进而言之,模块之间的关系,是对项目结构中各模块间相互联系紧密程度的一种量化。耦合的强弱取决于模块间调用的复杂性、调用模块之间的方式以及通过函数或者方法传送数据对象的多少。模块间的耦合度是指模块之间的依赖关系,包括包含关系、控制关系、调用关系、数据传递关系以及依赖关系。项目模块的相互依赖......了解更多
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-完善用户管理EP04by Liu Yue/2022-08-23 标签: EP04 Go Iris Web 女神 完善 实战 彩虹 框架 用户 管理 语言 进阶 长空 项目 高性能 书接上回,上一回我们完成了用户管理页面的构建,并且通过前端的Vue.js框架动态地获取表单数据,同时异步请求后端Iris接口进行入库操作,过程中使用函数封装可复用的逻辑。 本回我们将继续完善用户管理功能。 唯一索引 虽然在之前的章节中已经完成了用户添加(注册)的功能,然而我们忽略了一个重要的细节,那就是用户名(username)应该是全局唯一的字段,而添加逻辑中并未做唯一性校验,事实上唯一性校验有两种方案,一种是入库......了解更多
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-用户系统EP03by Liu Yue/2022-08-22 标签: EP03 Go Iris Web 女神 实战 彩虹 框架 用户 系统 语言 进阶 长空 项目 高性能 前文再续,之前一篇我们已经配置好了数据库以及模板引擎,现在可以在逻辑层编写具体业务代码了,博客平台和大多数在线平台一样,都是基于用户账号体系来进行操作,所以我们需要针对用户表完成用户账号的CURD操作。 用户后台模板 首先用户操作逻辑主要在后台展现,所以模板应该单独生成admin文件夹,和前台模板进行逻辑隔离:cd viewsmkdir admin 随后创建用户管理页面模板user.html......了解更多
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-模板与数据库EP02by Liu Yue/2022-08-18 标签: EP02 Go Iris Web 女神 实战 彩虹 数据库 框架 模板 语言 进阶 长空 项目 高性能 书接上回,上次我们搭建好了项目入口文件,同时配置了路由体系,接着就可以配置项目的模板了,这里我们采用Iris内置的模板引擎,事实上,采用模板引擎并不意味着前后端耦合,模板中的数据保持其独立性即可,也就是说模板的数据操作交互方式采用http接口请求的形式,Iris并不参与模板逻辑,只返回Json格式的数据即可。前端集成数据双向绑定机制的框架Vue.js。 配置模板 Iris支持但不限于下面几种模板引擎:# Name P......了解更多
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目入口与路由EP01by Liu Yue/2022-08-16 标签: EP01 Go Iris Web 入口 女神 实战 彩虹 框架 语言 路由 进阶 长空 项目 高性能 书接上回,我们已经安装好Iris框架,并且构建好了Iris项目,同时配置了fresh自动监控项目的实时编译,万事俱备,只欠东风,彩虹女神蓄势待发。现在我们来看看Iris的基础功能,如何编写项目入口文件以及配置路由系统。 项目入口 事实上,Iris遵循的是单一入口模式,说白了就是单一入口文件main.go处理项目所有的来源请求,如此,项目就避免了因为多个文件处理不同的请求而增加的安全性风险,同时也更便于项目的统筹管理。......了解更多
急如闪电快如风,彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-初始化项目EP00by Liu Yue/2022-08-14 标签: EP00 golang Iris Web 初始化 女神 如风 实战 彩虹 急如 框架 长空 闪电 项目 高性能 Go 语言 在Golang Web编程的世界里,君不言高性能则已,言高性能必称Iris。彩虹女神的名号响彻寰宇、名动江湖,单论一个快字,无人能出其右,就连以简洁轻量著称于世的Gin也难以望其项背,只见彩虹女神Iris回眸一笑撩人心扉:“虽然你们也不是那么慢,但我还是快那么一点点......”,本次就让我们来一睹彩虹女神Iris的芳颜,感受宇宙最快Web框架的神乎其神。 女神本神(Iris) 选择一款框架有诸多的参考层面,比如灵活......了解更多
Python3.7+Django2.0.4配合Mongodb打造高性能高扩展标签云存储方案by Liu Yue/2020-03-23 标签: Django2.0 Mongodb python3.7 存储 打造 扩展 方案 标签 配合 高性能 书接上回,之前有一篇文章提到了标签云系统的构建:Python3.7+jieba(结巴分词)配合Wordcloud2.js来构造网站标签云(关键词集合),但是这篇只是浅显的说明了一下如何进行切词以及前端如何使用wordcloud2.js进行前端展示,本次主要讨论下标签分词切出来之后,如何进行存储。 假设我们目前文章-标签体系的需求是这样: 每篇文章都具有唯一的标题、描述以及 URL。 ......了解更多
使用python3和高性能全文检索引擎Redisearch进行交互by Liu Yue/2019-08-30 标签: 引擎 使用 进行 python3 全文检索 Redisearch 交互 高性能 上一篇介绍了一款高性能全文检索引擎Redisearch,它不仅性能强劲,部署也方便,这里介绍一下如何用python客户端和它进行交互。使用redisearch-python:https://github.com/RediSearch/redisearch-py 首先,安装 pip3 install redisearch ......了解更多