装饰器的基本使用

Chrome 103支持使用本地字体,纯前端导出PDF优化

在前端导出PDF,解决中文乱码一直是一个头疼的问题。要解决这个问题,需要将ttf等字体文件内容注册到页面PDF生成器中。但是之前网页是没有权限直接获取客户机器字体文件,这时就需要从服务器下载字体文件或者提示用户选择字体文件上传到页面。对于动辄数十兆(M)的中文字体文件,网络不好时并不是一个好的解决方 ......
前端 字体 Chrome 103 PDF

.net6&7中如何优雅且高性能的使用Json序列化

.net中的SourceGenerator让开发者编可以写分析器,在项目代码编译时,分析器分析项目既有的静态代码,允许添加源代码到GeneratorExecutionContext中,一同与既有的代码参与编译。这种技术其实是把一些运行时才能去获取程序集相关资源的方式提前到编译前了。 .net6开始, ......
序列 高性能 net6 Json net

我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下: void RemoveById(long id); 我们从方法的参数看不出来id代表什么含义,因此如果 ......
类型 项目 EFCore NET7 NET

Type Script 在流程设计器的落地实践

流程设计器项目介绍 从事过BPM行业的大佬必然对流程建模工具非常熟悉,做为WFMC三大体系结构模型中的核心模块,它是工作流的能力模型,其他模块都围绕工作流定义来构建。 成熟的建模工具通过可视化的操作界面和行业BPMN规范描述用户容易理解的工作流的各种构成图元,例如圆圈表示事件,方框表示活动。 流程设 ......
流程设计 流程 Script Type

MySQL数据库:2、MySQL的下载与安装、基本使用、系统服务制作

一、MySQL简介 ​ MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 二、安装与下载 1、下载流程 1、访问官方(www.mysql.com) 2、点击‘DOWNLOADS’,进入下载界面 3、下拉,找到‘ ......
MySQL 数据库 数据 系统

[设计模式] 装饰器模式

一、装饰器模式 在软件开发过程中,由于需求的改动,可能面临对某个或某些对象新增一些新的功能的需求。根据开闭原则,新增功能我们也不能直接去修改 原有的类,而如果使用继承的方式去实现,可能出现“子类爆炸”的问题,这个时候就可以使用到 装饰器模式。 装饰器模式:允许向一个现有的对象添加新的功能,同时又不改 ......
模式 设计模式

深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」

Nginx (Engine X)是一个轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 ......

深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

Nginx 安装非常的简单,且Nginx 启动特别容易,并且几乎可以做到24小时不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下进行软件版本的升级。接下来我们要针对于安装和运维操作进行实战和分析。 ......
深入浅出 实战 原理 服务器 指南

CSS伪类使用详解

基本描述 CSS伪类是很常用的功能,主要应用于选择器的关键字,用来改变被选择元素的特殊状态下的样式。 伪类类似于普通CSS类的用法,是对CSS选择器的一种扩展,增强选择器的功能。 目前可用的伪类有大概40多个,少部分有兼容性问题。我们比较常见的,如::hover、:root、:first-child ......
CSS

知道策略模式!但不会在项目里使用?

前言 在学开发的第二年就开始听说要想代码写得好,一定要会设计模式。于是就兴致冲冲的啃了《Head First 设计模式》,看完之后对于策略模式映像很深刻,觉得这个模式好,易上手,应用广,我又能优化一波代码了(装波逼了),于是兴致冲冲的打开了我的 IDEA,开整!!! 策略模式初体验(错误示范) 在讲 ......
策略 模式 项目

165 pbi-utils 使用文档

165 pbi-utils 使用文档 一、背景 先来说一下为什么会有 pbi-utils 这个小工具吧。在我日常做演示的示例文件的时候,每次都要重新搞一次 Power BI Desktop,就想能不能像 PPT 模板那样,搞一个模板,然后更专心的去专注内容本身呢?一段时间来,我其实也是用的这种方式, ......
pbi-utils 文档 utils 165 pbi

整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法

在 javascript 中内置了一个 Date 对象,可用于实现一些日期和时间的操作。 本文整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法。 ......
日期 对象 时间 天数 常用

Blazor和Vue对比学习(进阶.路由导航一):基本使用

Blazor和Vue都是单文件组件SPA,路由的实现逻辑非常相似,页面路径的改变都是组件的切换,但因为各自语言的特性,在实现方式上有较大差异。 一、安装 1、Vue:Router是Vue的一个插件。如果使用Vite脚手架初始化项目,需要手动安装和配置Router插件。如果使用Vue脚手架初始化项目, ......
路由 Blazor Vue

聊一聊装饰者模式

装饰者模式(Decorator Pattern)允许向一个现有的对象扩展新的功能,同时不改变其结构。主要解决直接继承下因功能的不断横向扩展导致子类膨胀的问题,无需考虑子类的维护。 ......
模式

.NET 6 实现滑动验证码(二)、基本数据

上一节,介绍了滑动验证码的基本情况,也创建了一个.NET 6的工程。本节内容是创建一些基础类。 (创建基础类) 本节创建的类全部在工程的Model目录下: CaptchaData.cs CaptchaData.cs:验证码的数据类实体 namespace SlideCaptcha.Model { p ......
数据 NET

postman的使用

零、PostMan介绍 Postman 是一个接口测试工具软件,可以帮助开发人员管理测试接口。当用户在 Postman 中输入请求并单击 Send 按钮时,服务器将接收用户的请求并返回 Postman 在接口中显示的响应的信息。 一、使用介绍 1、创建集合 集合可以理解成请求的总和或合集,在Post ......
postman

如何使用zx编写shell脚本

前言 在这篇文章中,我们将学习谷歌的zx库提供了什么,以及我们如何使用它来用Node.js编写shell脚本。然后,我们将学习如何通过构建一个命令行工具来使用zx的功能,帮助我们为新的Node.js项目引导配置。 编写Shell脚本的问题 创建一个由Bash或者zsh执行的shell脚本,是自动化重 ......
脚本 shell

浏览器DevTools使用技巧

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:正则 作为一名前端开发人员,平时开发中使用最多的就是 Chrome devtools,但可能很多同学像我一样平时用的最多也就 Console、Elements ......
使用技巧 DevTools 浏览器 技巧

UE4 WebUI插件使用指南

在开发数字孪生应用程序的时候,除了三维场景展示之外,也需要开发丰富和酷炫的2D页面。 使用UE4的UMG开发图表显得比较笨拙。 而通过Web插件允许开发者创建丰富的基于Web HTML5的用户界面,它由内置在UE4中的web浏览器提供支持,包括对Windows、Mac、Linux、Android和i ......
使用指南 插件 指南 WebUI UE4

.NET 6使用ImageSharp给图片添加水印

​ .NET 6 中,使用System.Drawing操作图片,生成解决方案或打包的时候,会有警告,意思是System.Drawing仅在 'windows' 上受支持。微软官方的解释是: System.Drawing.Common NuGet 包现在被归为 Windows 特定的库。 在为非 Wi ......
水印 ImageSharp 图片 NET

Springboot 整合 SpringCache 使用 Redis 作为缓存

一直以来对缓存都是一知半解,从没有正经的接触并使用一次,今天腾出时间研究一下缓存技术,开发环境为OpenJDK17与SpringBoot2.7.5 源代码下载地址:https://hanzhe.lanzoue.com/iK4AF0hjl3lc SpringCache基础概念 接口介绍 首先看看Spr ......
缓存 SpringCache Springboot Redis

如何在 K8S 集群范围使用 imagePullSecret?

在这篇文章中,我将向你展示如何在 Kubernetes 中使用 imagePullSecrets。 imagePullSecrets 简介 Kubernetes 在每个 Pod 或每个 Namespace 的基础上使用 imagePullSecrets 对私有容器注册表进行身份验证。要做到这一点,你 ......
imagePullSecret 集群 范围 K8S K8

VS嵌入式开发-模拟器中使用LVGL8.3

LVGL是一个跨平台、轻量级、易于移植的图形库。也因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差异性,相关的使用教程有一定的滞后性,由于缺少最新版本的中文教程,加上大量的教程中未注明对应的版本,初始接触的开发者往往容易中招,花费大量时间爬坑,本文特对自己的使用经... ......
模拟器 嵌入式 LVGL8 LVGL

Java lambda表达式基本使用

代码示例:java.lambda.LambdaExpression 1 本质 lambda表达式本质上是对匿名内部类实例的一种简化写法。 1.1 案例 有以下List<Integer>对象: List<Integer> list = Arrays.asList(1, 3, 5, 7, 9, 2, 4 ......
表达式 lambda Java

Go | 闭包的使用

闭包基本介绍 闭包就是 一个函数 和其相关的 引用环境 组合的一个整体 好处: 保存引用的变量,下次继续使用,不会销毁 下面通过闭包的方式,写一个数字累加器,体验一下闭包的妙处👇 闭包实现数字累加 package main import "fmt" // 累加器 // 闭包 - 函数柯里化 // ......
闭包 Go

.NET性能优化-使用内存+磁盘混合缓存

我们回顾一下上一篇文章中的内容,有一个朋友问我这样一个问题: 我的业务依赖一些数据,因为数据库访问慢,我把它放在Redis里面,不过还是太慢了,有什么其它的方案吗? 其实这个问题比较简单的是吧?Redis其实属于网络存储,我对照下面的这个表格,可以很容易的得出结论,既然网络存储的速度慢,那我们就可以 ......
缓存 磁盘 内存 性能 NET

防御式编程之断言assert的使用

防御式编程的重点就是需要防御一些程序未曾预料的错误,这是一种提高软件质量的辅助性方法,断言assert就用于防御式编程,编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。使用断言是为了验证预期的结果——当程序执行到断言的位置时,对应的断言应该为真;若断言不为真时,程序会终止执行, ......
assert

Windows 服务器中使用 mysqldump 命令导出数据,解决中文乱码问题

起因 环境:阿里云服务器(windows server)、mysql(8.0.11) mysql> select @@version; + + | @@version | + + | 8.0.11 | + + 1 row in set 在windows服务器中每天备份一次数据库数据,防止出现各种意外 ......
乱码 mysqldump 命令 Windows 服务器

dotnet new cli 以及Abp-cli命令的简单使用

1:要求 首先dotnet new 需要 .NET Core 3.1 SDK 以及更高版本 dotnet new - 根据指定的模板,创建新的项目、配置文件或解决方案 2:变化 从 .NET 7 SDK 开始, dotnet new 语法已更改: --list、--search、--install  ......
cli 命令 Abp-cli dotnet Abp

使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例

译者注 本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通过本文解释了他是如何将序列化程序性能提升到极致的;其中从很多方面(可变长度、字符串、集合等)解释了一些性能优化的技巧,值得每一个开发人员学习,特别是框架的开发人员的学习,一定能让大家获益匪浅。 简介 我发布了一个名为 ......
序列 MemoryPack 程序 NET7 NET