ZSJ Blog

Thinking will not overcome fear but action will.

Vue3项目模板创建

create project mkdir ZsjTest.Web npm create vite@latest zsjtest.web -- --template vue-ts cd ZsjTest.Web npm install npm run dev add eslint npm intsall eslint -D npm init @eslint/config (注意各个选项) n...

使用.net core进行DDD开发实践

解决方案结构 WebApi: 向外部提供Api Application: 应用服务接口层,同时包括DTO Application.Impl: 应用服务层接口对应的实现,调用领域服务来实现应用层接口 Domain: 领域层,包括领域服务接口 Domain.Repository: 领域层的仓储抽象类 Domain.Repository.Impl: 领域层的仓储抽象类对应的实现 DomainSvc...

Axios封装

Axios封装能改善原生框架的不足,能够智能感知参数类型,不需要每次调用时使用try-catch处理错误,能够支持路径参数替换。具体封装方法如下: 创建一个api目录和对应的子目录,用来保存所有与api调用相关的操作,目录结构如下: config目录保存各个Apiy请求的配置信息,interceptor目录保存各个拦截器,method目录保存具体的api调用方法,request目录旋转a...

Babel7 babelrc文件设置和常用插件

Babel7 babelrc文件 { "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": [ [ "@babel/plugin-proposal-decorators", { "legacy":...

RSA计算过程及RSA密钥生成代码

RSA计算过程 1. 取两个质数p, q p = 23, q = 29 2. 计算n = p*q = 23 * 29 = 667 667用二进制表示为1010011011 共十位,这个位数就是RSA中的位数 3. 计算n的欧拉函数φ(n) = (p-1)*(q-1) = 22 * 28 = 616 4. 随机选择整数e,1 < e <φ(n),并且e与φ(n)互质,选择13,实际...

JWT分发新Token时失效旧Token

JWT分发新Token时失效旧Token JWT是无状态的,但其中可以带上iat字段(即Issue At时间),每次用户申请token时,记录下该用户的last iat时间,后续token校验时,检查token的iat时间,如果iat时间小于用户的last iat时间,则token无效。 IdentityServer4 添加iat IdentityServer4生成的JWT里有可能没有ia...

VS2017 调试时编辑并继续功能

VS2017 调试时编辑并继续功能 VS2017安装好后在调试时如果修改代码会报Changes are not allowed while code is running错误,只需要将Tools->Options->Debug->General下的Enable Edit and Continue选项去掉即可在调试时编辑并继续。

使用机器名访问HyperV虚拟机

使用机器名访问HyperV虚拟机 HyperV创建虚拟机后,如果使用远程桌面访问,有时会出现能使用IP地址访问,不能使用机器名访问的情况,针对使用Default Switch网络的可以使用以下方式解决,首先在虚拟机器将网络设置为私有,然后按以下方式处理: 1.在网络和共享中心中打开网络适配器Default Switch: 2.点击属性按钮进入Default Switch属性: 3....

VS2017 Reporting Service开发

VS2017 Reporting Service VS2017 Reporting Service使用Microsft Reporting Services Projects扩展,不再需要通过安装SQL Server方式来使用,但是开发使用Oracle的数据源时,必须使用最新版的Oracle Developer Tools for Visual Studio 2017, 否则会出现预览时报错...