前文再续,上一回我们完成了用户管理模块的CURD(增删改查)功能,功能层面,无甚大观,但有一个结构性的缺陷显而易见,那就是项目结构过度耦合,项目的耦合性(Coupling),也叫耦合度,进而言之,模块之间的关系,是对项目结构中各模块间相互联系紧密程度的一种量化。耦合的强弱取决于模块间调用的复杂性、调用模块之间的方式以及通过函数或者方法传送数据对象的多少。模块间的耦合度是指模块之间的依赖关系,包括包含关系、控制关系、调用关系、数据传递关系以及依赖关系。项目模块的相互依赖越多,其耦合性越强,同时表明其独立性越差,愈加难以维护。项目结构优化目前IrisBlog项目的问题就是独立性太差,截至目前为止,
前文再续,上一回我们完成了用户管理模块的CURD(增删改查)功能,功能层面,无甚大观,但有一个结构性的缺陷显而易见,那就是项目结构过度耦合,项目的耦合性(Coupling),也叫耦合度,进而言之,模块之间的关系,是对项目结构中各模块间相互联系紧密程度的一种量化。耦合的强弱取决于模块间调用的复杂性、调用模块之间的方式以及通过函数或者方法传送数据对象的多少。模块间的耦合度是指模块之间的依赖关系,包括包含关系、控制关系、调用关系、数据传递关系以及依赖关系。项目模块的相互依赖越多,其耦合性越强,同时表明其独立性越差,愈加难以维护。项目结构优化目前IrisBlog项目的问题就是独立性太差,截至目前为止,
前文再续,之前一篇我们已经配置好了数据库以及模板引擎,现在可以在逻辑层编写具体业务代码了,博客平台和大多数在线平台一样,都是基于用户账号体系来进行操作,所以我们需要针对用户表完成用户账号的CURD操作。用户后台模板首先用户操作逻辑主要在后台展现,所以模板应该单独生成admin文件夹,和前台模板进行逻辑隔离:cdviewsmkdiradmin随后创建用户管理页面模板user.html:用户管理菜单用户管理用户名密码提交模板目录架构如下:└──views├──admin│└──user.html├──index.html└──test.htmlviews根目录模板为前台模板,而admin目录下模板
前文再续,之前一篇我们已经配置好了数据库以及模板引擎,现在可以在逻辑层编写具体业务代码了,博客平台和大多数在线平台一样,都是基于用户账号体系来进行操作,所以我们需要针对用户表完成用户账号的CURD操作。用户后台模板首先用户操作逻辑主要在后台展现,所以模板应该单独生成admin文件夹,和前台模板进行逻辑隔离:cdviewsmkdiradmin随后创建用户管理页面模板user.html:用户管理菜单用户管理用户名密码提交模板目录架构如下:└──views├──admin│└──user.html├──index.html└──test.htmlviews根目录模板为前台模板,而admin目录下模板
书接上回,上一回我们按照“低耦合高内聚”的组织架构方针对项目的整体结构进行了优化,本回将会继续编写业务,那就是用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,校验通过后留存当前登录用户的信息,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。登录逻辑首先在逻辑层handler包中,创建用户模块文件user.go:packagehandlerimport( "github.com/kataras/iris/v12")//用户登录模板funcUser_signin(ctxiris.Context){ ctx.View("/signin.html")}这里通过上
书接上回,上一回我们按照“低耦合高内聚”的组织架构方针对项目的整体结构进行了优化,本回将会继续编写业务,那就是用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,校验通过后留存当前登录用户的信息,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。登录逻辑首先在逻辑层handler包中,创建用户模块文件user.go:packagehandlerimport( "github.com/kataras/iris/v12")//用户登录模板funcUser_signin(ctxiris.Context){ ctx.View("/signin.html")}这里通过上
前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。Iris模板复用在生成Token之前,首先我们需要对项目的模板进行优化改造,目前存在的页面模板有三块,分别是:首页模板(index.html)、登录页模板(signin.html)、后台用户管理页模板(/admin/user.html),虽然页面并不多,但不难发现,有很多重复的代码,比方说,首页模板和登录页模板都有公共的头部导航菜
前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。Iris模板复用在生成Token之前,首先我们需要对项目的模板进行优化改造,目前存在的页面模板有三块,分别是:首页模板(index.html)、登录页模板(signin.html)、后台用户管理页模板(/admin/user.html),虽然页面并不多,但不难发现,有很多重复的代码,比方说,首页模板和登录页模板都有公共的头部导航菜
第五章使用嵌入式Python(二)在Python脚本文件(.py)中还可以使用irispython命令执行Python脚本。考虑Windows系统上的文件C:\python\test.py,其中包含以下代码:#printthemembersoftheFibonacciseriesthatarelessthan10print('Fibonacciseries:')a,b=0,1whilea可以从命令行运行test.py,如下所示:C:\InterSystems\IRIS\bin>setIRISUSERNAME=C:\InterSystems\IRIS\bin>setIRISPASSWORD=C:
第五章使用嵌入式Python(二)在Python脚本文件(.py)中还可以使用irispython命令执行Python脚本。考虑Windows系统上的文件C:\python\test.py,其中包含以下代码:#printthemembersoftheFibonacciseriesthatarelessthan10print('Fibonacciseries:')a,b=0,1whilea可以从命令行运行test.py,如下所示:C:\InterSystems\IRIS\bin>setIRISUSERNAME=C:\InterSystems\IRIS\bin>setIRISPASSWORD=C: