ef core预编译模型compiled model-编程思维

前言 最近还在和 npgsql 与 EF Core 斗争,由于 EF Core 暂时还不支持 AOT,因此在 AOT 应用程序中使用 EF Core 时,会提示问题: 听这个意思,似乎使用 Compiled Model 可以解决问题,于是就又研究了一下 EF Core 的这个功能。 在 EF Core 中,模型根据实体类和配置构建,默认情况下,每次创建一个新的 DbContext 实例时,EF

解决wsl2无法启动提示“找不到元素”-编程思维

最近一段时间没有看 docker desktop,忽然想起来打开看看,结果死活启动不了。以前卸载之后,重新安装就好了,同样的方法尝试了很多次还是不太行,重启也不行... 后来想想是不是 wsl 出了问题,运行 WSA ,WSAClient 启动后又自动退出了。在命令行下运行 wsl,等待了很久,出现简单的提示“找不到元素”。于是在网上查了很久,发现一个 帖子有说到类似的情况,怀疑网络问题。 之前

迁移现有用户数据到abp vnext-编程思维

前言 使用 ABP vNext(下文简称 ABP)时,通常都是从 cli 开始新建模板,从一个空项目开始。对已经存续的项目来说,现有的数据,特别是用户等核心数据需要进行迁移。 老的项目,随着规模越来越大,每次修改都需要更改非常多地方,最重要的是,共用数据库使得维护起来需要小心翼翼。为了后续维护方便,我们可以使用 ABP 进行拆分,并将一个个子功能拆成独立的解决方案,独立进行部署。 数据库基于

重建sln的项目层级-编程思维

编写包含多个 csproj 的程序时,随着项目数量的持续增加,可能涉及一些文件夹的变动,手动添加项目或者变动会变得非常麻烦,这个时候,可以利用 dotnet cli 帮助我们完成。 如果从零开始,我们可以新建一个解决方案。 dotnet new sln -n todo.sln 然后添加当前目录内的所有 csproj 文件到解决方案。 $rootDir = Get-Location $solut

system.text.json匿名对象反序列化-编程思维

以前就是一直使用 Newtonsoft.Json 用起来还是挺舒服的。由于 JSON 的应用越来越广,现在. NET Core 都内置了 System.Text.Json 可以直接对 JSON 进行操作,不过两个东西的体验依然有点区别。 有时候我们会遇到的从第三方传递过来的 json string 对象,对其进行解析并不需要所有的字段,只需要一个目标的字段时,可以考虑使用匿名对象/动态对象对其反

macos下由yarn与npm差异引发的electron镜像地址读取问题-编程思维

记录macOS下由yarn与npm差异引发的Electron镜像地址读取问题 写在前面:该问题仅仅出现在Linux和macOS上,Windows上不存在该问题! 初始背景 最近笔者重新拾起了Electron,把最新版Electron的官方文档阅读了一遍。众所周知,Electron作为依赖在安装的时候,其二进制文件下载在国内一直以来都是问题(因为默认会从github上下载),好在现在Electr

外键拆分手记-编程思维

我习惯性使用OData,它的$expand与层级查询非常好用,这个功能非常依赖于数据库的导航属性,也就是外键结构。最近想着把一个单体的系统拆分为多个小系统,首先需要处理外键依赖的问题。 多个服务各自有各自的数据库,数据库层面并不互通,也就无法使用外键约束。 我使用EF Core来描述数据库的结构,有两个实体类如下: public class AD_Insect_Info { [Key,

体验.net与文件存储服务minio-编程思维

对象文件存储服务(OSS)主要用于存储零散的文件,和直接存储到本地文件系统中相比,有以下的几个优势: 跨服务器可用 兼容Amazon S3 API 横向扩容 高可用 支持加密 MinIO就是一个高性能的文件服务,我们使用.NET来操作一下。 部署MinIO 最简单的办法,就是在Docker上运行MinIO。可以使用以下命令启动MinIO: docker run -p 9000:9000 -p

rapid scada v6安装常见问题-编程思维

用了很多年的Rapid SCADA v5,现在官网已经推出了v6,就简单写一下有关v6的安装指南吧。 本指南面向Windows用户,不适用于linux用户 步骤 从官网下载Rapid SCADA最新的RC版本的v6,然后运行压缩包内的ScadaSetup.exe程序。 FAQ 提示端口占用 Rapid SCADA 6.0.0~rc1 Installation --------------

【个人笔记】2023年搭建基于webpack5与typescript的react项目-编程思维

写在前面 由于我在另外的一些文章所讨论或分析的内容可能基于一个已经初始化好的项目,为了避免每一个文章都重复的描述如何搭建项目,我在本文会统一记录下来,今后相关的文章直接引用文本,方便读者阅读。此文主要为个人笔记,不会有太多的关于思路的描述;另外,本文仅仅描述如何搭建基础react项目,不涉及图片等资源的加载,关于图片等资源的处理,我会单独编写一期。 项目初始化 创建一个目录,例如:webpac

hashmap为何线程不安全?hashmap,hashtable,concurrenthashmap对比_寒光潋滟晴方好-编程思维

这两天写爬虫帮组里收集网上数据做训练,需要进一步对收集到的json数据做数据清洗,结果就用到了多线程下的哈希表数据结构,猛地回想起自己看《Java并发编程的艺术》框架篇的时候,在ConcurrentHashMap的章节看到过使用HashMap是线程不安全的,HashTable虽然安全但效率很低,推荐使用ConcurrentHashMap巴拉巴拉,突然有了兴趣来查阅一下各自的源码,看看具体区别在

如何从项目中摘出亮点_寒光潋滟晴方好-编程思维

面试中,最难的题目之一就是“请谈一谈你的项目中存在哪些亮点了”,我们或多或少,或深或浅的都参与过一些项目,但是很多时候只是做了一些拧螺丝的工作,没有太大的含金量,如果不带着思考的态度去审视项目的话,非常容易在面试时被这样的问题卡壳,感觉好像也就变着花活的做了一些CRUD工作,不知道亮点在哪,这篇小博客就是记录下目前自己看到的,比较好的抓项目亮点的思路方向,分享在这里给大家共勉。 做项目这件

基于lsm树的存储机制简述_寒光潋滟晴方好-编程思维

下午听了关于MyRocks-PASV的研究讲座,很有意思所以学习了一下LSM树的一些简单的底层原理。现在整理一下 我们都知道目前Key:Value型的数据库普遍较之关系型数据库有着更好的表现,为什么会有这样的一个差异呢?关键就在于存储形式和读写机制的不同。 Key:Value型数据库可以通过LSM Tree(Log-Structured-Merge-Tree)来进行存储,而以MySQL为代

数据库和缓存的一致性如何保证_寒光潋滟晴方好-编程思维

最近帮组里做讲座预约系统,虽然使用人数不多,但终于还是遇到了一些系统经典问题,比如数据库与缓存的一致性问题,很有意思,好记性不如烂笔头,学习了一些思路以后决定记录下来与大家分享。 什么是数据库与缓存的一致性问题 程序员应该没人不懂这个,但我还是觉得应该写上,有头有尾。所谓数据库与缓存的一致性问题,可以说是伴随着计算机这个东西一路走来的古老问题。 就我所知最早的缓存一致性问题经典案例就是CP

【个人笔记】vbox7安装debian网络下载慢问题处理_w4ngzhen-编程思维

使用镜像安装Debian的过程中,会安装一些常用的软件包。但在安装软件包的阶段,默认情况下会通过网络进行下载。即使配置了国内的镜像,但是由于网络问题依然很慢。这个时候需要的在安装阶段选择从默认的DVD媒体安装。 准备工作 从官网下载完整镜像:完整DVD镜像(该步骤一定要下载完整镜像,一般名称为:debian-11.5.0-amd64-DVD-1.iso,且大小应该超过了3GB)。 安装过程 安

用编译配置与环境变量实现开发时切换配置文件_波多尔斯基-编程思维

开发人员在开发代码的时候,经常会使用到Debug、Release、Development、Production等几个概念,虽然有些地方在功能上最终殊途同归,但是还是有非常大的区别。 首先需要搞清楚,Debug、Release都属于编译配置,而Development、Production则属于环境配置。 作为开发者,开发时如果需要切换开发与发布环境的配置文件,两种方案都可以实现。 编译配置 思路很

在docker中使用主机串口通讯_波多尔斯基-编程思维

在进行软件docker化的过程时,很大的一个阻碍就是软件与各种外围硬件设备的交互,网口通信的设备能够很容易地接入容器,但是串口设备则要复杂一些。本文讨论在windows和linux下docker容器使用串口的方法。 由于wsl2也在一直更新,不排除未来有可能直接支持wsl的情况 方案 docker run中提供了使用的本地设备资源的指令--device,但是依然有些限制,根据宿主与容器的情况

docker save与docker export实现docker镜像与容器的备份_波多尔斯基-编程思维

本来想写一篇关于docker save/export/commit/load/import之间的关系的文章,后来看了看,已经有很多人写过了,我就不做重复工作了。 参见: docker save与docker export的区别 Docker之save、load、export、import命令 综上所述,要点如下: 不管container还是image,备份后还原只能还原成image doc