AND
ArcObjects SDK 014 MapSurround和普通Element
1、如何获取MapSurround 和获取MapFrame类似,如果你已经获取指北针、比例尺等对象,可以通过IGraphicsContainer的FindFrame函数获取。如果没有,则通过IGraphicsContainer循环所有Element去判断即可。 2、添加MapSurround 指北针 ......
ArcObjects SDK 016 在ArcMap中使用Toolbox
1、如何找到ToolBox 通过Geoprocessing菜单上的ArcToolbox菜单项,可以打开ArcToolbox面板。 工具栏上也有一个ArcToolbox的按钮,点击该按钮也可以打开。 通过Arccatalog打开。 2、ArcToolbox面板 ArcToolbox面板如下图所示。 A ......
ArcObjects SDK 017 在ArcObjects SDK 中使用Toolbox
1、Geoprocessor和IGPProcess Geoprocessor是ArcObjects SDK中定义Tool执行器。IGPProcess接口是ArcObjects SDK中定义的ArcTool接口。也就是说ArcObjects SDK定义的ArcTool都会继承该接口实现。理论上,在Ar ......
从一个 issue 出发,带你玩图数据库 NebulaGraph 内核开发
当一个新手要开始对数据库内核做代码贡献时,他需要做哪些事呢?虽然本文是一个图数据库的内核贡献过程记录,但是举一反三,你可以借鉴来对其他数据库进行内核贡献。 ......
Chaos 测试下的若干 NebulaGraph Raft 问题分析
作为分布式系统的基石 Raft 有非常明显的优势,但这也伴随着不小的挑战 —— Raft 算法的实现及其容易出错,同时算法的测试和调试也是一项巨大的挑战。NebulaGraph 目前使用的是自研的 Raft,鉴于 Raft 本身的复杂性我们构造了诸多 Chaos 测试来保障 NebulaGraph ... ......
docker registry(私库)搭建,使用,WEB可视化管理部署
Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像。目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级应用,提供良好的WEB界面进行管理。 Docker Registry搭建 本文主要介绍Docker ......
VS2019发布至远程IIS部署流程
服务器部署 传统的开发将项目发布至本地桌面之后,复制至站点目录或通过FTP上传站点目录,有点小麻烦,通过开发工具VS2019本身集成的功能,可以一步到发布到远程IIS站点。 条件: VS系列发工具,例如VS2019,VS2022 Windows Server 操作系统 在目标服务器上面安装IIS,要 ......
使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题
在使用 System.Text.Json 进行 JSON 序列化和反序列化操作时,我们会遇到一个问题:如何处理字典中的 Key 为自定义类型的问题。 背景说明 例如,我们有如下代码: // 定义一个自定义类型 public class CustomType { public int Id { get ......
如何使用 System.Text.Json 序列化 DateTimeOffset 为 Unix 时间戳
在 .NET 中,日期和时间通常使用 DateTime 或 DateTimeOffset 来表示。这两种数据类型都可以表示日期和时间,但它们之间有一些明显的区别。DateTime 是不带时区信息的,而 DateTimeOffset 是带时区偏移量的,可以用来表示一个特定的时刻。 在现代 web 应用 ......
如何使用 IdGen 生成 UID
在分布式系统中,雪花 ID 是一种常用的唯一 ID 生成算法。它通过结合时间戳、机器码和自增序列来生成 64 位整数 ID,可以保证 ID 的唯一性和顺序性。 在.Net 项目中,我们可以使用 IdGen 这个类库来生成雪花 ID。它是一个开源的类库,可以轻松地集成到你的项目中。 代码示例 下面是一 ......
通过 CancellationToken 提高 Web 性能
在 Web 开发中,经常会遇到这样的场景:用户发起一个请求,Web 服务器执行一些计算密集型的操作,等待结果返回给用户。这种情况下,如果用户在等待结果的过程中取消了请求,那么服务器端依然会继续执行计算,这样就会造成资源浪费。 为了解决这个问题,我们可以使用 CancellationToken 来提高 ......
为什么 Random.Shared 是线程安全的
在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。 为了避免这种情况,.NET 框架引入了 Random.Shared 属性。它返回一个特殊的 Random 实例,可 ......
为什么总是应该考虑给定 List 的初始大小
在 .Net 技术中,使用 List<> 来存储数据是很常见的。List<> 是一个可以动态增长的泛型集合类型,可以存储任何类型的数据。 但是,在实际使用中,很多人并不注意给定 List<> 的初始大小,导致在数据量较大时,List<> 的性能可能不尽如人意。 代码示例 下面,我们以一个简单的代码示 ......
如何使用 EF Core 7 批量删除数据
在 EF Core 7 中,我们可以使用批量操作来删除多条数据。这种方式与之前的版本有所不同,本文将对比 EFCore 7 和之前版本批量删除数据的不同方式。 删除给定 ID 的数据 在 EF Core 7 中,我们可以使用以下代码来删除给定 ID 的数据: await using var db = ......
如何在 .Net 7 中将 Query 绑定到数组
在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。 代码演示 假设我们需要从 query 上接受多个 id 并返回查询的结果。例如: id=1&id=2 在 .Net 7 中,我们可以这样实现: public ActionRe ......
实现 .Net 7 下的数据库定时检查
在软件开发过程中,有时候我们需要定时地检查数据库中的数据,并在发现新增数据时触发一个动作。为了实现这个需求,我们在 .Net 7 下进行一次简单的演示。 PeriodicTimer .Net 6 中新增了 PeriodicTimer 这个类,它可以用来创建一个定时器,以固定间隔的时间调用回调函数。使 ......
如何在路由绑定中使用 IParsable
IParsable 是 .Net 7 中新增的接口,它可以将字符串转换为对应的实体。在 Controller 的 Route 绑定中可以使用 IParsable 来绑定复杂的实体。 实验背景 假设有一个需要将 route "report/{month}-{day}" 绑定到 MyDate 对象上的场 ......
使用 BenchmarkDotNet 比较指定容量的 List 的性能
我们之前提到 List 是 .NET 中常用的数据结构,其在存储大量数据时,如果能够指定它的初始化容量,就会有性能提升。这个优化的方法并不是很明显,因此本文将使用 BenchmarkDotNet 库,通过定量对比的方式来证明这一点。 实验过程 引入 BenchmarkDotNet 首先,我们需要在项 ......
【openEuler系列】部署文件共享服务Samba
个人名片: 对人间的热爱与歌颂,可抵岁月冗长:sun_with_face: Github👨🏻💻:念舒_C.ying CSDN主页✏️:念舒_C.ying 个人博客:earth_asia: :念舒_C.ying 1 配置环境 挂载系统ISO,并配置好本地dnf源。(前面的文章讲过,这里就略过. ......
ExcelToObject.NPOI 两行代码导出Excel报表、读取Excel数据
简介 作为一个dotnet开发者,经常面对业务系统中大量报表导入导出,经常写了一堆的重复代码。最近发现一个操作excel的神器:ExcelToObject.NPOI,两行代码就能导出一个报表,两行代码就能读取excel数据。就像作者说的:让操作excel变成了操作对象。下面让我们来看看这个组件 项目 ......
SQL一文入门助记
什么是SQL SQL(Structured Query Language)是用于操作数据库的语言。一个博客有许多网站,一个游戏要储存许多游戏的账号密码,这些都离不开数据库操作。 关系型数据库与NoSQL 关系型数据库就是一个表格,每一个横行就是每一条数据,每一个纵列就是每条数据有哪些信息: |id| ......
django框架(部分讲解)
Q查询进阶操作 这里主要就是让查询数据的时候,可以使用input获取的信息,进行用户交互 from django.db.models import Q q_obj = Q() # 1.产生q对象 q_obj.connector = 'or' # 默认多个条件的连接是and可以修改为or q_obj. ......
django框架(部分讲解)
ajax补充说明 主要是针对回调函数args接收到的响应数据 request.is_ajax()判断是不是ajax请求 后端返回的三板斧都会被args接收不再影响整个浏览器页面 选择使用ajax做前后端交互的时候 后端一般返回的都是字典数据 user_dict = {'code': 10000, ' ......
从源码构建docker-ce
准备环境 准备一台Linux主机,并在上面安装好docker-ce,安装好make,git就可以开始编译工作了。对,就是如此简单,可能你会对此感到异或为啥要装docker,我不是准备编译这个玩意么,为啥不装go,docker不是用go开发的么? 这些疑问会在后面的步骤中解答。 # docker-ce ......
ORM数据增删改查 django请求生命周期 django路由层 反向解析
可视化界面之数据增删改查 补充 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 self应该是字段对象 print(对象)时会触发__str__ 并且这个方法的return一定要返回字符串类型的数据 触发提交动作的按钮: ''' form表单中能够触发提交动作的按钮只有两个 ......
dubbo2升级到dubbo3实践
dubbo当前版本 2.7.3 期望升级到 3.0.11。 升级过程 maven依赖变更 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>3.0.11</version> ......
低代码 系列 —— 可视化编辑器3
其他章节请看: 低代码 系列 可视化编辑器3 这是可视化编辑器的最后一篇,本篇主要实现属性区和组件的放大和缩小,最后附上所有代码。 属性区:即对编辑区的组件进行编辑,例如编辑文本的文本、字体大小,对按钮编辑文本、按钮类型、按钮大小 放大和缩小:在编辑区能通过拖拽放大缩小组件。 首先看一下可视化编辑器 ......
一次不太成功的内网部署视屏会议系统预研
Jitsi Meet 背景 接到一个任务,想在公司内网搭建一个视频会议系统,用于公司内部或与分公司交流,需要内网部署,最好是开源免费。 项目定位 查找了如下几个项目: tailchat-meeting - https://github.com/msgbyte/tailchat-meeting sta ......
在windows下导入react项目并且打包编译后部署到nginx上
在windows下导入react项目并且打包编译后部署到nginx上 一、安装npm 二、创建react项目 三、安装nginx 四、总结 最近接手了公司的一个django项目,这是应该前后端分离的项目,前端使用react编写,由于之前没用过react,所以在配置时遇到了一些问题,现在记录下来。 一 ......