- 博客(36)
- 收藏
- 关注
原创 IOC容器的理解
IOC容器指控制反转(Inversion of Control,简称IoC),其是一种设计模式,它可以实现组件之间的松耦合,提高代码的可维护性和可测试性。IoC容器则是实现IoC模式的一种工具,它可以管理应用程序中的对象及其依赖关系,自动完成对象的创建、初始化、注入等操作,从而简化开发流程,提高开发效率。
2024-08-15 23:42:10 842
原创 FastReport数据区横向排列展示
1、Count:2表示数据区里的控件将最多显示两列2、AcrossThenDown:数据区里的控件将会被从做到右依次循环遍历3、Width:9.25,因为我只设置了两列,而最外面的容器的宽度为18.5,所以单个控件的宽度设置为9.25。
2024-08-08 23:32:24 276
原创 .net6 webApi项目中使用abp模块化
1、创建模块项目:在解决方案中添加一个新的类库项目(例如,名为 ExampleApp.Orders)。2、添加 ABP NuGet 包:在项目中添加 Volo.Abp.AspNetCore.Mvc。
2024-07-29 00:02:05 224
原创 .net6 webApi中使用FastReport中自定义字体中文乱码问题
ok,程序跑起来,问题全部解决了,pdf完美显示,于是乎我直接把程序更新到了线上,结果另外一天,客户问我:“哎呀,pdf怎么还加密了呀”,我到线上一看,好家伙,pdf上的中文全部乱码了。不知道什么问题,安装到服务器的字体fastReport好像识别不了,但是我把字体安装到服务器之后,权限啥的都给了,至今我任然想不明白,既然识别不了那就直接把字体放到项目文件中吧,结果,成了!
2024-07-27 01:37:38 250
原创 asp.netWebForm(.netFramework) CSRF漏洞
CSRF(Cross-Site Request Forgery)跨站请求伪造是一种常见的 Web 应用程序安全漏洞,攻击者通过诱使已认证用户在受信任的网站上执行恶意操作,从而利用用户的身份执行未经授权的操作。攻击者通常会在第三方网站上植入恶意代码或链接,当用户访问这些网站时,恶意请求会被发送到目标网站,利用用户的身份执行操作,如更改密码、转账等。CSRF 漏洞可能导致以下安全问题:未经授权的操作:攻击者可以利用 CSRF 漏洞执行未经授权的操作,如更改用户密码、删除账户等。
2024-07-09 00:22:30 549
原创 惰性函数的用法
惰性函数是一种设计模式,主要用于延迟计算某些复杂对象的创建,直到这些对象实际需要使用时才进行创建。这样可以提高性能,因为一些不常用的功能不会在脚本加载时立即执行,从而减少资源消耗。
2024-05-09 00:57:19 230
原创 不安全CORS配置
识别CORS策略:使用浏览器的开发者工具检查目标网站的响应头,看是否有Access-Control-Allow-Origin字段。测试Origin头部:使用工具如curl或者浏览器扩展(如Chrome的CORS插件),修改请求的Origin头部,模拟不同源的请求,检查响应头中是否包含Access-Control-Allow-Origin,确认其值是否过于宽松。
2024-05-09 00:24:26 521 1
原创 标签模板字面量的用法
标签函数format 被定义为接受两个参数: strings:模板字符串中的所有文本部分,作为一个字符串数组传入。…values:模板字符串中被 ${} 包裹的表达式的计算结果,作为一个数组传入。使用 reduce 合并结果:reduce 函数通过累加器 acc 逐步拼接字符串数组 strings 中的文本,并将相应的 values 值插入到指定位置。循环索引i 用于定位 values 中的正确值。在模板中,如果存在对应的表达式值 (values[i]),则该值会被包裹在标签中实现加粗效果;
2024-05-09 00:03:18 185
原创 js数组元素去重的方法
filter()可检查每个元素的索引是否是其第一次出现的位置。filter()可检查每个元素的索引是否是其第一次出现的位置。filter()可检查每个元素的索引是否是其第一次出现的位置。
2024-05-07 21:36:01 149
原创 Vite手动分包
利用 Rollup 的代码分割能力来实现更精细的控制,在这个配置中,manualChunks 函数用于定义如何分割代码块。此外,可以指定项目中特定目录的模块打包到单独的包中,如例子中的 components。动态导入(Dynamic Import)是一种在 JavaScript 中按需加载模块的技术。它允许您在运行时导入模块,而不是在初始加载阶段,这有助于减少应用程序的启动时间并优化资源使用。这种方式非常适合用于那些不是立即需要的功能,如按需加载的对话框、工具或其他资源。1、 配置 Vite。
2024-05-06 00:07:34 499 1
原创 Vue3组件通信方式
/子组件中传递,在子组件的点击事件中触发自定义事件let $emit=defineEmit(['事件类型']])//返回的是一个函数$emit('事件类型','参数1','参数2')//第一个参数为事件类型,第二个、第n个参数//父组件中接收const handle=('参数1','参数2')=>{待续···············
2024-05-04 18:21:07 326 2
原创 中文实现字典顺序排序
2、localeCompare 会把一个字符和另外一个字符按字典顺序顺序进行比较,返回1表示前面比后面要大。1、sort用的是编码顺序进行排序。
2024-05-01 23:27:20 30
原创 创建gRPC服务
2) grpc是一款开源的远程调用技术,使用的是HTTP/2作为通信协议(使用http协议发送json信息),使用Protocol Buffers作为序列化协议。2) 进程间的通信,进程必须承载HTTP/2才能接受传入的grpc调用,windows而言进程间是通过管道进行通信。5、Protobuf协议文件:是一套类似JSON或者XML的数据传输格式和规范,用于不同应用或进程之间进行通信使用。注:进程间的通信方式:1、管道;1)微服务之间数据交互的方式:grpc、RESETful API。
2024-05-01 10:23:25 109
原创 .net6 项目启动报错 :以一种访问权限不允许的方式做了一个访问套接字的尝试。
.net6 项目启动报错 :以一种访问权限不允许的方式做了一个访问套接字的尝试。
2023-01-18 11:13:26 1023
原创 Navicat Premium 15连接sqlserver
Navicat Premium 15连接sqlserver提示:https://visualstudio.microsoft.com/zh-hans/downloads/
2021-09-09 10:47:23 1199
原创 .netcore跨域问题
跨域问题没又加跨域策略在startup文件加如下代码 services.AddCors(options => { options.AddPolicy("conre_name", burilder => { burilder.SetIsOriginAllowed((x) => true) .All
2021-09-04 14:59:51 119
原创 npm下载axios
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-09-04 10:40:08 6151 9
原创 C#List中去重问题
C#在同一List中判断是否有相同的产品ID和产品数量方法一 :// 新建一个空的字典集合Dictionary<string,int>d=new Dictionary<string,int>();//循环要比较的那个集合foreach (var item in ProductList){ string key=item.ProductId+","+item.ProductCount; //对字典集合和集合的产品id和产品名称进行比较匹配 if(d.Keys.Cont
2021-01-09 00:13:43 1019 1
原创 使用VueCli初始化项目并引入Element UI组件库
Vue-webpack项目中使用Element UI组件库一、使用VueCli初始化项目打开命令行工具,cd到桌面输入vue init webpack 项目名,初始化项目。2.一路回车,直到选择Y/n,到这一步我们选择n(本案例暂时不用用到路由,规范,测试等)路选择n。如果没有安装Yarn工具就不选直接回车。初始化过程中出现警告不用管。3.初始化完成项目后按照命令行中的提示,cd到项目中执行命令,这时,项目就建好了。效果图如下:4.在项目中安装element UI。打开一个新的命令行,cd到刚
2020-07-29 23:26:04 575 1
原创 winform实现贪食蛇
winform窗体-贪食蛇1、.cs文件 private void Form1_Load(object sender, EventArgs e) { snacks = new Snack(); this.Controls.AddRange(snacks.snack.ToArray()); InitFruit(); } private void timer1_Tick(object
2020-07-28 22:25:26 728
原创 ES6-伪数组
ECMAScript6新特性——伪数组什么是伪数组 :如果一个对象的所有键都是正整数或零,并且有length属性,那么这个对象就很像数组,称为伪数组。典型的伪数组:arguments对象,大多数的DOM元素集,还有字符串。示例 <button name="button">测试1</button> <br/> <button name="button">测试2</button> <br/>
2020-07-26 22:51:05 222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人