解决升级Linux内核后,open files设置无效的问题。 操作系统是OpenEuler 20.03,内核由4.19.90-2112.8.0.0131.oe1.aarch64升级到kernel-4.19.90-2401.1.0.0233.oe1.aarch64后,重启系统后,重新开起来运行OceanBase就运行不起来了,提示open files must not be less than 20000 (Current value: 1024),明明升级前都是正常的。查看/etc/security/limits.conf文件,内容是正确设置的。
.Net Core 8.0 IIS部署遇到奇怪的部分接口报404的问题解决 查看事件查看器,发现应该是数据过大时使用了临时文件夹,又没有权限导致的报错。把IIS_IUSER用户加入到C:\windows\TEMP目录中完全权限。经和群里讨论,大概意思是接口返回数据比较大的时候,就会出现这个问题。本地运行没问题,部署到IIS后,部分接口报404,其它接口都正常。
在 IIS 上配置内容静态 gzip 压缩 唯一觉得不开心的可能是服务器的 CPU,因为在每次传输数据前都对数据进行压缩会给服务器的 CPU 造成一定的压力,为了解决这一问题,我们可以将站点的静态资源进行预压缩,这样在用户请求资源时,我们就不用先压缩这些文件,而只需要将提前压缩好的资源传给用户就好,有些前端框架(比如 Angular)甚至会直接提供预压缩过的资源文件可以说是非常贴心了。服务器声明自己提供的文件是 gzip 过的文件,这主要通过服务器响应 Header 中的 Content-Encoding 字段达成;
vite编译html-docx.js提示With statements cannot be used with the “esm“ output format due to strict mode Vite 无法处理、也不支持仅可在非严格模式(sloppy mode)下运行的代码。这是因为 Vite 使用了 ESM 并且始终在 ESM。解决方案很简单,直接编辑修改html-docx.js中有with的语句,将它删掉后,把大括号{}中的变量使用obj.这样去处理。详见:https://cn.vitejs.dev/guide/troubleshooting。使用pnpm run dev 编译时,提示html-docx.js文件有以下错误。经Vite官方网站查询,发现是以下原因导致的。
.Net8 新特性之依赖注入容器对Keyed Service的支持 依赖注入 (DI) 在 ASP.NET Core 中无处不在。您可以将其与自定义服务一起使用,但也许更重要的是,框架本身始终使用 DI。您可以在 ASP.NET Core 中配置的大多数内容都是通过 DI 配置的。因此,ASP.NET Core 附带了一个内置的 DI 容器(也可作为 Microsoft.Extensions.DependencyInjection 使用)。这个容器在很多方面都非常基本。它是一个符合要求的容器,用于定义 DI 容器必须具有的最低功能。
ASP.NET Core在Task中使用IServiceProvider的问题解析 这个问题不仅仅是在Task.Run这种场景里,类似的本质就是在一个IServiceScope里创建一个新的子Scope作用域的时候,这个时候需要注意的是父级的IServiceProvider释放问题,如果父级的IServiceProvider已经被释放了,那么基于这个Provider再去创建Scope则会出现异常。关于每次请求的创建流程,不是本文的重点,但是为了让大家对本文讲解的IServiceScopeFactory和IServiceProvider来源更清楚,咱们可以大致的描述一下。
.NET Core依赖注入(IoC)不使用构造函数实现注入 在.NET Core中,依赖注入(IoC)通常是通过构造函数注入来实现的,这是推荐的方式,因为它使得依赖关系更加明确和可测试。但是,如果你不想或不能使用构造函数注入,你可以考虑使用方法注入(Method Injection)或属性注入(Property Injection)。请注意,虽然上面的代码示例展示了如何在不使用构造函数注入的情况下获取服务实例,但这并不是推荐的做法。方法注入和属性注入应该在确实需要时才使用,例如,当服务实例的创建成本很高,或者当服务实例的创建需要在运行时基于某些条件来决定时。
go调用 c++中数组指针相关 如果你将一个 Go 对象的指针转换为 unsafe.Pointer,然后这个 Go 对象变得不可达(没有任何变量引用它),Go 的垃圾收集器仍然会认为这个对象是可达的,因为它不知道 unsafe.Pointer 指向了这个对象。避免内存泄漏:如果你将 unsafe.Pointer 指向一个 Go 对象,并且这个对象可能变得不可达,你需要确保在适当的时候将 unsafe.Pointer 转换回正确的 Go 指针类型,并重新建立一个到该对象的引用,以防止对象被垃圾收集器回收。否则,这会导致内存泄漏。
Go中Goroutine和通道常见场景 本篇给出4个场景,这4个场景是在运维开发工作中较为常见的且也是比较典型的场景。总而言之,言而总之,当涉及到处理并发和并行任务时,Goroutine和通道是非常强悍的,可以让我们开发出高效的、牛逼的并发程序。上面的代码,创建了一个Goroutine池,每个Goroutine代表一台服务器,通过通道将任务分发给Goroutine进行并发执行。在上面的代码中,使用了一个专门的Goroutine来处理日志写入操作,该Goroutine从一个日志通道中读取日志数据,并将其写入到目标中。
OpenSSH 漏洞修复升级最新版本(修改版) Centos7系统ssh默认版本一般是OpenSSH7.4左右,低版本是有漏洞的而且是高危漏洞,在软件交付和安全扫描上是过不了关的,一般情况需要升级OpenSSH的最新版本今天详细说下升级最新版本的处理过程(认真看会发现操作很简单,因为写的操作很详细…)
IIS运行的.net core程序报错System.UnauthorizedAccessException: Access to the path ‘C:\Windows\TEMP\ASPNETCOR 但奇怪的是其它服务器同样配置却没有此问题,能解决没有再深究了,哪位同学有确认最终原因的?
.net core提示The xx field is required,One or more validation errors occurred 原因是.net core webapi默认参数为不可空,因此会验证并报错。在项目的.csproj中,修改Nullable为disable即可。
安装适用于 m1 CentOS(aarch64架构)的 jdk1.8 简易教程 您可以前往Adoptium官网的下载页面,选择macOS ARM64平台下的"JDK 8"版本,即可下载适用于M1芯片的JDK 1.8版本(CPU 架构选必须选择 aarch64)。如果上面的下载链接打不开,这边也提供了下面的百度云下载地址: 链接: https://pan.baidu.com/s/1evDhwcRd7DlbI4oango7mQ?pwd=19t3 提取码: 19t3。另外,如果您需要使用其他版本的JDK,也可以在Adoptium官网的下载页面中找到相应的版本,选择对应的平台下载即可。