- 博客(26)
- 收藏
- 关注
原创 linqable:一个为前端而生的 TypeScript LINQ 风格集合操作库
linqable 是一个 TypeScript 优先的前端集合操作库,借鉴 C# LINQ 风格,为数组、Set、Map 等数据结构提供链式查询能力。它解决了原生数组方法在复杂业务场景下的不足,如中间数组过多、多级排序繁琐、分组连接困难等问题。通过 from() 包装数据源,支持 where、select、orderBy 等流畅 API,最后通过 toArray() 等方法获取结果。该库零依赖、类型友好、支持懒执行,特别适合后台管理、报表统计等需要复杂数据处理的场景。
2026-05-26 18:01:27
582
原创 .NetCore 解决Docker 找不到字体问题
在Docker中运行.NET Core应用时,可能遇到NPOI导出Excel报错"找不到字体"问题。这是由于Docker镜像默认不包含字体文件。解决方案包括:1)安装基础字体包如fonts-dejavu;2)扩展安装中文字体等更多字体;3)将自定义字体复制到容器。建议在Dockerfile中添加字体安装指令,同时可设置时区、TLS等配置以完善容器环境。通过合理配置Docker镜像,可确保依赖字体渲染的功能正常运行。
2025-05-29 10:03:05
840
原创 nginx 网站漏洞修复篇
在数字化转型的时代背景下,网络安全成为企业不可或缺的一部分。随着互联网技术的发展,网站面临的安全威胁日益增多,其中网站漏洞更是攻击者的主要切入点之一。为了保障网站的安全性和稳定性,我们采取了积极的防御措施。近期,我们的网站通过华为云的漏洞管理服务进行了全面的漏洞扫描,这一过程不仅帮助我们发现了潜在的安全风险,还为我们提供了宝贵的修复建议。本文将详细介绍我们在使用华为云漏洞管理服务的过程中发现的问题及其解决方案,以及如何通过这些步骤加强网站的安全防护。以下均是中是通过 nginx 部署的网站漏洞修复。
2024-08-29 14:28:41
921
原创 SQL Server配置远程链接(图文教程)
功能允许用户从网络上的其他计算机连接到运行SQL Server的服务器,从而能够管理和操作数据库。
2024-07-31 18:39:37
5209
原创 如何优雅的使用localStorage等本地化存储
locstore 是一个极简、类型友好的前端缓存库,支持同步/异步存储、过期时间和加密功能。提供简洁的 API(set/get/del/clear),支持 localStorage、sessionStorage、cookie 等多种存储方式,并内置 TimeSpan 处理过期时间。支持命名空间隔离、自定义存储适配器和自动解密,TypeScript 友好。可通过 createStore 创建独立实例,适合复杂项目使用。安装简单,支持 npm/pnpm/yarn 安装方式。
2024-01-30 14:38:46
915
原创 The type initializer for ‘System.DrawingCore.GDIPlus‘ threw an exception.
在编写.net core程序,本地运行不报错但是部署到linux(centos)后报错The type initializer for 'System.DrawingCore.GDIPlus' threw an exception。
2023-11-12 20:43:13
1189
原创 uniapp提示成功之后再跳转页面
oopsoh 是一个专为 uni-app 设计的轻量交互工具库,简化了常见页面交互逻辑的处理。它提供了优雅的提示、跳转、确认弹窗、加载态和防重复提交等功能,解决了原生API的异步问题。支持命名空间和函数式两种写法,包含 toast、success、error 等提示方法,以及 navigateTo、redirectTo 等页面跳转功能。特别提供了 withLoading 加载态包裹和 lock 防重复提交等实用特性,大幅提升了开发效率和代码可维护性。通过链式调用和Promise支持,让常见的交互流程更加简洁
2023-06-26 15:31:54
4112
5
原创 将静态网页下载到本地
有一个工具可以用来将静态网站全部保存到本地,它叫做。上常见的命令行工具。如果你的系统上没有安装。来下载整个静态网站以及依赖的包。首先,需要在本地安装。
2023-06-15 15:44:44
3087
原创 linux 服务器利用宝塔面板部署.net 6(.net core)服务端程序图文步骤
linux 服务器利用宝塔面板部署.netcore 服务端程序图文步骤
2023-03-02 14:53:41
8392
7
原创 vue用div实现复选框
vue使用div 实现复选框上图(点击一个的效果)点击全选后的效果点击全不选后的效果废话不多说,上菜<template> <view class="title"> <u-button type="primary" size="mini" @click="checkedAll">{{ clickCount==0?'全选':'全不选' }}</u-button> </view> <view class="buttom-b
2021-11-24 12:25:30
1481
原创 vue子组件修改父组件的值
vue子组件修改父组件的值最近在写uniapp项目,ui库是 uview,再将模态框(u-modal)封装成组件的时候,遇到这种脑残问题,首先看报错。使用了vue 的.sync 修饰符,但是完全没啥卵用。这就不用说子组件emit父组件的自定义事件了,肯定没啥卵用,我也试了。原因是,uview 的模态框的取消按钮会自己改变v-model 的值,所以导致了点击取消,提示子组件修改了父组件的值。以下解决办法:// 父组件<BuChaJiaPop :status="chaJiaStatus"
2021-10-28 11:38:58
551
原创 electron项目打包报错
electron项目打包报错打包下载错误Error: getaddrinfo ENOENT github-production-release-asset-2e65be.s3.amazonaws.com解决方法:访问淘宝的 ELECTRON 镜像 http://npm.taobao.org/mirrors/electron/ ,选择对应的版本,把版本目录下的所有文件都下载下来,然后放到 ~/.electron 目录下,这里需要注意一下就是 SHASUMS256.txt- 文件也必须在同一目录下
2021-09-03 16:55:02
1922
原创 HTTP请求的GET 与 POST 方式的区别?
HTTP请求的GET 与 POST 方式的区别?1、GET请求一般用来获取数据,POST请求一般作为发送数据到后台时使用2、GET请求也可以传参到后台,但是其参数在浏览器的地址栏的 url 中可见,所以隐私性,安全性较差,且参数长度也是有限制的(注意,这里参数长度限制是浏览器限制的,并不是 GET 方式限制)。POST 请求传递参数放在 Requestbody 中,不会在 url 中显示,比GET要安全,,且参数长度无限制3、GET请求刷新浏览器或回退时没有影响,POST回退时重新提交数据请求。4
2020-09-11 23:13:06
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅