自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(280)
  • 资源 (13)
  • 问答 (2)
  • 收藏
  • 关注

原创 unity 如何渲染大场景

剔除无关内容:通过视锥体剔除、遮挡剔除,只渲染视野内可见的物体。分级降低精度:用 LOD 系统为不同距离的物体提供不同精度的模型 / 贴图,平衡性能与视觉效果。动态加载卸载:将大场景拆分为小块,通过流加载只加载玩家当前区域的内容,避免一次性加载全部资源导致内存溢出。遵循这三个核心原则,再配合渲染管线优化、合批、纹理压缩等辅助手段,就能高效渲染超大场景并保证流畅运行。

2026-02-09 10:51:00 534

原创 PostGIS+GeoServer+OpenLayers 数据加载无显示问题排查及自定义坐标系配置文档

本文针对PostGIS→GeoServer→OpenLayers全链路中空间数据加载无显示的问题,提出系统排查方案。核心问题是坐标系不一致或投影定义丢失,特别是自定义/工厂平面坐标场景。排查步骤包括:检查PostGIS的SRID定义、验证GeoServer图层配置、注册OpenLayers自定义投影、分析网络请求等。重点阐述了工厂平面坐标的专属配置方法:在PostGIS注册自定义SRID(900000-999999范围),使用恒等投影(+proj=identity),并保持全链路投影定义一致。关键解决思路是

2026-02-05 09:57:38 561

原创 Postgresql导入几何数据(shp,geojson)的几种方式

导入前需完成的安装,所有导入方式的核心前提为:目标数据库必须启用 PostGIS 扩展,否则空间数据无法导入 / 识别。

2026-02-05 09:39:27 628

原创 abp backgroundjobs后台作业

如果应用程序即将关闭,而我们不想阻塞后台任务,则可能需要执行取消操作。如果抛出异常,系统会在计算出的等待时间后自动重试该后台作业。例如,RabbitMQ 提供程序使用任务名称来确定 RabbitMQ 队列的名称。如果您的模块仅依赖于此包,则可以独立于实际的实现/集成。如果您希望在另一个进程中执行后台作业,并禁用当前进程的后台作业,通常需要这样做。后台作业模块默认已安装到启动模板中,其工作方式取决于您的 ORM/数据访问选择。nuget 包包含默认的后台作业管理器,并且默认情况下会将其安装到启动模板中。

2026-01-20 10:04:36 615

原创 abp AsyncBackgroundJob

【代码】abp AsyncBackgroundJob。

2026-01-09 17:43:39 73

原创 abp 获取所有权限

获取ASP.NETCore 原生手动注册的授权策略名称,来源是;:获取ABP 所有已定义的权限(静态 + 动态)提取权限名称(ABP 会自动将这些名称映射为授权策略);两者Union合并:返回系统中「所有可用的授权策略名称」,兼顾原生策略和 ABP 自动映射的权限策略,是 ABP 桥接原生授权系统的关键逻辑。前者是 “开发者手动加的策略”,后者是 “ABP 自动生成的权限策略”;合并后就是 “系统里所有能用来做授权的策略名称”。if (!?continue;

2026-01-08 11:05:00 955

原创 ABP 框架 RolePermissionValueProvider 源码详解

是 ABP 框架内置的角色维度权限值提供者,继承自抽象类,是权限检查责任链中的核心节点(优先级低于专门负责 “角色维度” 的权限判定:从用户的中提取所属角色,检查这些角色是否被授予目标权限;遵循 ABP 权限检查的 “责任链模式”:仅当(用户独立权限)未判定为Granted时,才会执行该类的检查逻辑;支持单权限、多权限批量检查,内置去重、短路优化,保证权限检查的性能;是 ABP 角色权限体系的核心实现,所有 “基于角色的权限控制” 最终都通过该类落地。重写父类抽象方法,负责。

2026-01-08 09:56:49 679

原创 abp PermissionDefinitionProvider

是 ABP 框架中定义静态权限的核心抽象基类,是开发者向系统声明 “静态权限元数据” 的标准化入口,也是(静态权限存储)的唯一数据来源。作为接口的抽象实现,规定了权限定义的 “生命周期阶段”(预定义、核心定义、后定义);强制开发者实现Define抽象方法(核心权限定义),同时提供可重写的PreDefinePostDefine方法(扩展生命周期);所有继承该类的自定义实现会被 ABP 框架自动扫描、执行,最终将权限定义收集到中。csharp运行abstract。

2026-01-07 16:56:53 873

原创 abp PermissionDefinitionManager源码解析

是 ABP 框架权限系统的核心管理类,负责统一管理「静态定义」和「动态定义」的权限元数据(权限、权限组、资源权限),是上层权限检查、权限展示(如 Admin UI)的基础数据入口。作为接口的默认实现,封装对「静态权限存储」和「动态权限存储」的统一访问;遵循「静态权限优先于动态权限」的规则,保证权限定义的稳定性(静态权限通常是代码中固定定义的,动态权限是运行时 / 数据库配置的);所有方法均为异步设计,适配 ABP 框架的异步编程规范。作用。

2026-01-07 16:25:54 1004

原创 JSEncrypt

JSEncrypt 是一个基于 JavaScript 实现的 RSA 非对称加密算法库,核心作用是在前端(浏览器/Node.js)完成 RSA 加密、解密、签名、验签操作,无需开发者手动实现复杂的 RSA 加密逻辑。// 2. 准备 RSA 密钥对(实际开发中,公钥由后端提供,私钥保存在后端)// 4. 后端用私钥解密(仅示例,实际逻辑在后端执行)// 私钥(示例,仅后端使用,禁止前端存储/传输)// 3. 前端用公钥加密数据(以加密密码为例)// 公钥(示例,需替换成真实业务公钥)

2026-01-06 14:35:54 1054

原创 IAbpApplicationConfigurationAppService 详解(ABP 框架)

你的自定义类是对的“复用 + 扩展”,核心逻辑是 “原生基础配置 + 业务定制配置 = 统一返回”,避免前端多次请求。重复开发问题:无需手动实现 “权限、本地化、设置” 等基础配置查询逻辑;接口冗余问题:前端一次请求获取所有基础配置,减少网络请求;配置统一问题:提供标准化的配置结构,降低前后端协作成本。你的是该接口的「业务扩展」—— 复用原生基础配置能力,叠加路局、版本等业务配置,最终实现 “一次请求获取所有初始化数据”,是 ABP 框架 “开箱即用 + 灵活扩展” 设计理念的典型实践。

2026-01-06 14:28:45 681

原创 ABP 框架中的 HttpContextWebClientInfoProvider

在 ABP 的应用服务(Application Service)、控制器(Controller)中注入,用于业务逻辑(如记录下单客户端信息、IP 权限控制)。若默认解析逻辑不满足需求(如自定义 UserAgent 解析规则、从 Cookie 中获取客户端标识),可通过实现接口替换默认实现:csharp运行// 自定义客户端信息提供者(替换默认实现)// 自定义 IP 解析逻辑(示例:从自定义请求头获取)get// 优先从自定义请求头 "X-Custom-Real-IP" 获取 IP。

2026-01-05 17:32:33 672

原创 ASP.NET Core 中基于角色的授权

微软原文使用了identity标识认证,在这里为了方便了解,就不使用微软的那个了,咱们只要在创建jwt的时候,给一个角色就可以了。

2025-09-18 15:49:38 490

原创 使用 IAuthorizationRequirementData 自定义授权策略

在Core 授权系统中,是一个接口,用于,通常用于实现(例如:判断用户是否有权限操作某个特定资源,而资源 ID 等数据需要在运行时动态获取)。

2025-09-18 15:40:38 408

原创 ASP.NET Core 中的简单授权

ASP.NET Core 中的授权通过属性及其各种参数控制。在其最基本的形式中,通过向控制器、操作或Page 应用 Razor 属性,可限制为仅允许经过身份验证的用户访问该组件。

2025-09-10 17:42:31 373

原创 app.UseAuthentication()内部原理解析

这段代码是ASP.NETCore 认证系统的 “管道入口”,通过简单的扩展方法封装了认证中间件的注册逻辑,使得开发者可以通过一行代码启用认证功能,背后则完成了 “标记中间件状态” 和 “注入认证逻辑处理器” 的核心工作。接下来来看AuthenticationMiddleware内部做了什么set;});return;.Principal!.Succeeded??false)这段代码是。

2025-09-10 10:08:10 841

原创 ASP.NET Core 身份验证概述

身份验证是确定用户标识的过程。是确定用户是否有权访问资源的过程。在 ASP.NET Core 中,身份验证由身份验证服务负责,而它供身份验证使用。身份验证服务会使用已注册的身份验证处理程序来完成与身份验证相关的操作。已注册的身份验证处理程序及其配置选项被称为“方案”。身份验证方案由Program.cs参数是方案的名称,未请求特定方案时会默认使用此名称。如果使用了多个方案,授权策略(或授权属性)可对用户进行身份验证时要依据的一个或多个身份验证方案。

2025-09-09 08:42:33 791

原创 ASP.NET Core中间件解析

中间件是处理HTTP请求和响应的组件,通过请求委托构成执行链。请求按注册顺序流经中间件管道,响应则反向返回。中间件可以在请求和响应阶段分别执行逻辑,或通过短路终止后续处理。ASP.NET Core支持三种中间件定义方式:内联中间件直接编写管道逻辑,类中间件封装复用逻辑,工厂模式中间件可控制生命周期。中间件与过滤器不同,前者是基础请求处理机制,后者专用于MVC/WebAPI的action执行。中间件通过Run、Map和Use方法配置,形成嵌套的请求委托链,实现灵活的请求处理流程。

2025-09-08 15:28:01 989

原创 单片机helloworld系列(2)

摘要:本文介绍了使用STC89C52RC单片机实现LED点亮的实验过程。硬件方面需要准备单片机、电阻、晶振等元器件,搭建电路时将5V电源连接单片机40脚,配置串口通信和晶振电路。软件使用Keil编写程序,定义P2.1引脚控制LED,主函数设置低电平点亮LED。编译生成HEX文件后,通过STC-ISP工具烧录时需先断电。作者提醒注意电压控制,避免烧毁芯片(此前实验中曾烧坏STC12C2052)。实验所需元器件成本较低,总价约30元左右。

2025-07-06 13:48:30 204

原创 单片机之helloworld

学习任何一门新的语言都是从helloworld入手,当程序输出helloworld,就代表着你的环境搭建完成,学习单片机的helloworld是什么呢,在继续下面的内容之前,有的人可能要问了,要不要学电子电路,元器件,数电呀,我只能说会更好,不会也没有关系,先学会用,在慢慢琢磨里面的门道,就像我们开始学习编程的时候,你不是计算机专业的,你还要先去学习计算机原理吗,这是没有必要的事情,这就是一个工具,知道怎么用就可以了。我们可以通过写一个程序,让单片机的某几个I/O接口作为输入,来接收我们的命令;

2025-07-03 11:08:35 418

原创 SharpMap经纬度转墨卡托投影

本文介绍了使用ProjNET和GeoAPI库进行坐标转换的方法。主要内容包括:1)创建WGS84和WebMercator坐标系;2)定义坐标转换函数PtsToPts;3)构建精度模型和UTM50坐标系;4)实现WGS84转UTM50的坐标转换;5)计算转换后两点间的距离(以米为单位)。这些方法适用于需要处理地理坐标转换的场景,如将经纬度转换为投影坐标或计算真实距离。代码示例展示了从创建坐标系到实际转换的完整流程。

2025-06-24 08:45:09 174

原创 Win32_ProcessorWMI无效类解决方法

重建存储库或重新编译所有 .mof 文件作为第一步操作可能会损坏系统和/或已安装的应用程序。11.全部重新编译mof文件,有副作用,未执行,12.以安全模式启动系统,查看wmi是否正常。关于这个问题,我尝试了很多种方式。全部编译可能会出现问题。

2024-10-25 15:47:43 946

原创 GMap.net加载GeoServer发布的WMS图层

Gmap.net 好像不支持加载多个图层,目前我没有找到。

2024-07-26 09:41:02 372

原创 ArcEngine 非SDE方式加载postgis数据

要对修改操作进行保存,就需要将指定的要素中的geometry再次转回wkb然后通过sql语句修改pg中的指定记录即可,思路很简单,问题在于拼接SQL字符串上面,因为arcengine通过geometry得到的仍然是一个byte[],这个东西是没办法拼到sql语句中的。注意点: 要注意的是因为ArcEngine中对wkb的支持是byte[]之间的转换,所以在进行数据库取数据时用postgis的这个函数将GIS数据转成byte[],这样写 asbinary(the_geom)

2024-07-19 17:48:06 689

原创 Postgresql导入几何数据的几种方式

通过arcmapsde的方式导入,前提是arcmap要和pgsql版本匹配,首先装好arcmap,在arcmap的目录里面有一个数据支持,在里面查看sde支持的数据库版本,如果不匹配,则无法成功导入。首先,电脑要安装postgresql和对应版本的postgis。​这里注意一下:我目前使用的arcmap是10.2.2,无法打开postgresql12.9的数据库。第二步:启用数据库的postgis,如果不启用,就会导入不进来。最后一步:可以通过arcmap和qgis查看导入的效。

2024-07-19 14:45:03 581

原创 C# 中优雅的动态序列化接口返回数据

通过使用`Json.NET`库中的`JObject`和`JToken`类,我们可以优雅地动态序列化接口返回的数据。当接口返回的数据结构不固定时,我们可以使用`JObject`或`JToken`来动态处理这些数据。本文将介绍如何使用C#中的`Json.NET`(也称为`Newtonsoft.Json`)库来优雅地动态序列化接口返回的数据,并提供示例代码。如果你的JSON数据包含更复杂的结构,如嵌套的数组或对象,你可以使用`JToken`来处理它们。3. 使用JToken处理更复杂的JSON结构。

2024-04-17 09:59:17 701

原创 DevComponents DotNetBar.Office2007RibbormFrm

通过DevComponents DotNetBar.RibbonControl里面的CaptionFont 调整字体大小。DevComponents DotNetBar.Office2007RibbormFrm设置窗体栏的高度。CaptionHeight调整标题栏高度。

2024-01-25 16:30:35 535

原创 Windows下面基于pgsql15的备份和恢复

上面的方式简单是简单,但是每次备份都要重新备份整个库,库大的情况下,太过于浪费时间,推荐使用增量备份,每天进行一次归档保存,恢复的时候,只需要把基础数据恢复一次,然后逐次恢复归档数据就可以了。红色字体为说明,可看可不看归档备份的原理:PostgreSQL在执行写入操作时,对数据文件的任何修改信息,首先会写入WAL日志,然后才会对数据文件做物理修改。如果数据库服务器掉电或意外宕机,则PostgreSQL重新启动后首先会读取WAL日志,然后根据日志对数据进行恢复。

2024-01-10 08:50:59 2089

原创 ABP.Vnext使用postgis

abp.vnext使用postgis

2023-12-12 09:58:12 324

原创 ef core code first pgsql

在使用efcode来操作pgsql的时候,总有些基础配置流程项目建立完之后后面就很少用,总是忘掉,写个文档记忆一下吧。基于net 6.0。PostgreSQL数据提供的支持EF Core的基础类库,是通过EF Core使用PostgreSQL数据库的根本。使用Guid(对应Postgre数据的类型为uuid)类型的主键必须,int/long类型的主键不添加也没问题。添加相关引用依赖的方式有多种,可以通过NuGet程序包管理器控制台的Install-Packege命令。1.创建一个mvc项目和一个EF类库。

2023-11-14 17:27:28 597

原创 dev多控件导出到Excel多个sheet页

上面这些链接都能实现,但是都没有关于如何给工作簿重命名的功能,有一位知道还要收费,其实就是一行配置的问题。

2023-11-09 17:46:05 452

原创 DevExpress(GridControl基础样式)

2.隐藏嵌入式导航器的追加按钮+,所有导航器的操作可以自行查阅API。3.去掉第一列前的空白列,去掉下面黄色框中的列。1.设置GridControl底部导航器可见。4.禁用选中单元格的样式。9.设置单元格文本内容居中。8.设置标体行文本居中。6.设置偶数行的样式。7.设置奇数行的样式。

2023-10-31 17:28:00 481

原创 0基础学three.js环境搭建(2)

然后在回到命令行界面安装three.js环境。至此项目搭建完毕,已经可以运行了,关于上面的代码先不要注重,先把环境搭建起来,后面每一行代码我都会详细的讲解的,关于上面的代码我也是从别的地方借鉴的,只要是运行起来,是一个绿色的正方体,项目就完成了。这是0基础学three.js系列中的第二篇,在这篇里面我会带着大家把开发环境搭建起来,关于开发环境,方式很多,如果你没有基础,就跟着我的步骤一步一步来,保你不出错。首先安装node环境,关于node是干啥的,先不要管,装上就行了,只需要这一个环境,别的都不需要。

2023-09-22 20:49:48 505

原创 0基础学three.js前言(1)

从今天开始,我将更新0基础学three.js系列。在学习之前,如果你一点基础没有,千万别去学别的,听别人推荐学js,学html,学webgl,我在这里很负责人的告诉你,three就是three,和上面的没有关系,即使你一点基础没有,直接学three的api也能学会,别被别的支线任务干扰你得主线任务,因为你本来就没有基础,你不可能短时间内学会所有东西,学基础就是浪费时间,因为根本记不住,还不如把有限的精力用在three上面,直接学习,别管别的。下一节课介绍如何搭建three环境。

2023-09-21 20:01:35 287

原创 关于npoi插入一条斜向上得线记录一下

但是呢,在使用XSSF得时候,使用同样方式得写法就不生效了,根据chatgpt给出的答案。我也不知道这个答案是否准确,但是我接纳他的建议,画一条斜向下得线,然后垂直翻转过来。在使用hssf可以直接按照行列插入。

2023-08-11 11:15:02 444

原创 Cesium相机理解

我们可以把这个相机代入我们得大脑,heading控制着我们左右摇头,pitch控制着上下点头,roll控制着歪头。我得理解就是,相机由两部分构成,位置和姿势,位置很好理解,就是在什么地方作为拍摄点,姿态角就可以理解为怎么看,就比如我们拍照得时候,找个角度拍摄。roll=-90°,相当于我们往左歪着脖子看,也可以理解为左耳朵贴地侧躺,一半眼睛看天,一半眼睛看地,拍照出的效果如下,只能看到一半得区域。关于相机得其他api,我上面引用得那两篇文章,讲解得很不错,我就不再抄一遍了,有不懂的可以交流一下。

2023-08-08 18:08:27 929

原创 overpass-turbo下载铁路线

我也没啥好的批量方法, 大规模的数据都是从osm星球下载的,有部分不存在的数据就通过上述方法一条一条处理。上面的198498代表在osm中铁路线的id,这个id获取流程是从osm网站查询出来的。

2023-08-02 08:46:31 684

原创 C# arcgis engine 十六进制字符串转换成wkb

【代码】C# arcgis engine 十六进制字符串转换成wkb。

2023-07-12 10:03:01 576

原创 vite+vue3+cesium环境搭建

2.安装cesium插件:vite-plugin-cesium。3、配置vite.config.js。6、配置HelloWorld.vue。4、清空style.css中的样式。清空一切不需要的,设置样式使得全屏。1.创建一个Vite项目。5、配置App.vue。

2023-06-20 14:57:46 1412

原创 通过WMTSCapabilities.xml加载和Service=GetCapability加载有什么区别

通常情况下,使用 Service=GetCapabilities 加载更为常见,因为它是标准的 WMTS 服务操作,并且可以根据实际情况动态获取最新的 Capabilities 信息。通过 WMTSCapabilities.xml 加载和通过 Service=GetCapabilities 加载的区别在于获取 WMTS 服务的 Capabilities(能力)信息的方式。- 客户端应用程序可以解析和解释这个 XML 文件,从中提取所需的信息,并使用这些信息来配置和加载地图瓦片。

2023-06-06 09:22:25 1170

【数据库恢复技术】基于WAL文件和基备份的PostgreSQL数据恢复方法及应用场景:针对误操作和部分表数据恢复的详细步骤与注意事项

内容概要:本文详细介绍了如何根据WAL(Write-Ahead Logging)文件和基备份文件进行PostgreSQL数据库的数据恢复。对于WAL文件恢复,强调只能在从库进行,避免主库不可逆损伤,并具体描述了停止数据库、查找事务ID、恢复数据并立即拷贝的步骤。对于基备份恢复,介绍了通过开启归档、执行基备份、指定时间线进行恢复的流程,强调了基备份恢复时要避免写入备份WAL,以及时间点恢复(PITR)的工作原理和时间线历史文件的重要性。 适合人群:具备一定数据库管理经验的DBA和技术人员,尤其是负责PostgreSQL数据库运维的人员。 使用场景及目标:①当遇到部分表数据误操作(如删除、修改)时,可通过WAL文件恢复少量数据;②在没有基备份的情况下,WAL文件恢复不适用于大规模数据恢复;③基备份恢复适用于所有数据库操作,特别是需要恢复到特定时间点或处理大规模数据恢复的情况。 其他说明:本文提供了详细的恢复步骤和注意事项,包括工具使用(如pg_waldump、pg_resetwal)、配置文件设置(如archive_command、recovery_target_time)等,确保读者能够顺利进行数据恢复操作。此外,还特别提醒了操作中的关键点,如避免主库操作、关闭备份WAL等,以确保恢复过程的安全性和准确性。

2025-05-16

操作系统的设计与实现上下

minix的设计原理以及实现,由minix之父写的,上下两册

2019-01-30

Revit2019.rar

Revit2019开发文档

2021-03-31

绿色版apache

使用步骤:1把压缩包解压到硬盘,最好不要有中文,空格,特殊符号,选择一个文件作为网站根目录,然后把apache的conf/httpd.conf中的DocumentRoot修改为“网站根目录”(注意:路径分割一定要用正斜线/,不要用\;要用英文的引号,不要用中文的引号;“网站根目录”最好不要有中文,否则httpd.conf要以Utf-8编码保存)。2、双击bin下的httpd.exe,启动服务器,如果屏幕一闪而过,则可能是出错了。启动命令行再运行httpd.exe,看报错信息。 可能的问题:“(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次”→有其他的Web服务器,把电脑上安装的其他的IIS、Apache、Tomcat等Web服务器卸载掉或者修改端口号。 http默认占用80端口,如鹏绿色版配置默认占用8080端口,麻烦地方在于每次网址都要带端口号。通过httpd.conf修改端口号。 在“网站根目录”下放一个1.html,写点内容,浏览器访问http://127.0.0.1:8080/1.html,如果能显示就没问题了。 关闭命令行窗口apache服务器就关闭了。默认配置简单但是不安全,适用于开发,不适用于正式运行的网站。(*)正式运行以服务方式启动apche,但是开发时不要用“Windows 服务”方式启动,主要是权限导致的访问受限、调试等的麻烦。

2019-01-26

html登录界面.zip

html+js的登录注册界面

2021-04-27

WpfApp1.zip

WpfApp1.zip

2021-03-06

CGIC开发包

cgic.c,cgic.h添加到项目中,先把项目拷到项目根目录下,然后在项目根节点又键添加现有项,选择这两个文件。

2019-01-27

SQL脚本框架

没有看我的文章的,不要下载这个脚本,没用,这个是我写的文章配套的

2019-02-01

WPFLayouDemo.zip

WPF的案列代码,详见原文https://mp.csdn.net/console/editor/html/105792152

2020-04-27

计算器cgic

cgi写的一个简单计算的demo,可以让大家脱离封装好的框架,从底层真正了解网站底层的原理

2019-01-29

图解HTTP详细教程

《图灵程序设计丛书:图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、全新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图灵程序设计丛书:图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。   《图灵程序设计丛书:图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。

2019-01-30

WCF编程第二版

本书介绍了基于WCF开发面向服务应用程序的主题和技能;阐述了如何使用其内置的特性,如服务托管、实例管理、并发管理、事物、无连接队列调用、安全和Windows Azure AppFabric 服务总线;介绍了.NET 4.6 和Service Fabric知识。此外,本书还包含许多有用的代码、工具和帮助类,收集在名为ServiceModelEx里。它们可以用来提高代码生成率和WCF服务的质量。本书不仅介绍了WCF编程和相关系统的知识,还介绍了相关的设计原则、提示、zui佳实践和误区,重点关注WCF的实际应用。 本书是一本关于现代软件工程的图书,不仅会让你成为一个WCF专家,更会让你成为一名出色的软件工程师

2019-01-30

Elasticsearch技术解析与实战

Elasticsearch是目前全球最受欢迎的全文搜索引擎。初识Elasticsearch是在2012年的一个项目中,当时Elasticsearch还是0.19.0版本,但是功能已经比较强大,只是接口稍微有点复杂。到了2015年年初,公司开发了一款日志分析产品,它实时不间断地采集用户网络中各种不同系统的日志,然后从中分析系统的安全情况、系统情况、业务情况。最初所有的数据都存储在MySQL中,随着日志的不断增加,MySQL搜索速度越来越慢。后来在更换技术架构选型的时候又想到了Elasticsearch,这个时候Elasticsearch已经是1.6.0版本了。我们对此进行了简单的测试,在上亿条的数据搜索中很多都在一秒内完成,在上亿条的数据中进行统计分析大多也是在秒级完成,它展示了强大实力。我们顺势就把Elasticsearch整合到了现在的产品中,取得了很好效果。到了2016年3月的时候,Elasticsearch发布了2.3.0版本,各方面更加成熟,我们的产品又再一次升级到这个新版本上。   Elasticsearch产品的更新变化非常快,在我们开发研究的过程中基本上找不到新版本的中文资料,目前市场上介绍Elasticsearch的中文书籍都是在版本1.0左右,甚至更早,这些书的很多内容尤其是开发接口相关的部分都已经过时,没有办法在新版本中使用。所以我们开发的过程中基本上都是研究官方文档,有时候甚至研究它的源码才能解决问题。在接口选择的时候我们在HTTP JSON接口和Java接口中做了取舍,我们当时分析HTTP JSON接口最终还是要转换成Java接口,不如直接使用Java接口,一是效率可能更高,二是在部署实施的时候减少一个端口,三是对后续的升级更有利,比如后续增加权限认证等。但这些东西都没有资料,我们基本上都是研究系统源码来克服的。在后续研究过程中,我们发现HTTP接口转换到Java接口是有规律的,所以对HTTP接口的掌握对后续Elasticsearch的开发和扩展也有很大的帮助。在持续研究的过程中,我们积累了大量经验,并想把这些经验分享给更多需要的人。后来我把这个想法给出版社的吴怡编辑做了沟通,她非常支持我们的想法,便有了这本书。   本书首先介绍Elasticsearch的相关基础知识,然后由浅入深地介绍Elasticsearch索引查询相关的知识,包括索引、映射、搜索、聚合,接着介绍Elasticsearch的集群、分词、重要的配置等高级功能,以及Elasticsearch相关的其他产品,包括告警、监控、权限管理,最后通过一个ELK示例结束本书。在写作的时候考虑到读者的接受能力,由浅入深地进行讲解,建议读者从前往后阅读。   本书主要内容包括:   第1章 “Elasticsearch入门”,介绍Elasticsearch是什么、Apache Lucene的基础知识、Elasticsearch的术语、JSON介绍、Elasticsearch的安装运行、Elasticsearch的HTTP接口和Elasticsearch的Java API接口。   第2章 “索引”,介绍和Elasticsearch索引相关的接口,包括索引管理、索引映射管理、索引别名、索引设置、索引监控、索引其他重要接口以及文档管理。   第3章 “映射”,介绍Elasticsearch文档的内部结构,Elasticsearch支持的字段类型,除此之外,本章还将展示Elasticsearch内置的元字段,映射的参数和动态映射功能。   第4章 “搜索”,详细介绍和搜索相关的知识,包括搜索的详细参数,搜索的评分机制、滚动查询、系统内部隐藏内容的查询、搜索模板等;接着介绍Elasticsearch的领域查询语言DSL(Domain-specific Language)相关的知识点;最后介绍Elasticsearch的精简查询接口。   第5章 “聚合”,聚合可以对文档中的数据进行统计汇总、分组等,通过聚合可以完成很多的统计功能,该章介绍聚合相关的知识,包括度量聚合、分组聚合和管道聚合。   第6章 “集群管理”,详细介绍和集群相关的内容,包括集群的监控、集群分片迁移、集群的节点配置、集群发现、集群平衡的原理和配置。   第7章 “索引分词器”,介绍Elasticsearch的分词器和分词的原理,以及如何添加新的分词器等;还介绍Elasticsearch的插件相关知识,包括插件安装等。   第8章 “高级配置”,介绍Elasticsearch的高级配置,包括网络配置、脚本配置、快照和恢复配置、线程池配置和索引配置。   第9章 “告警、监控和权限管理”,介绍Elasticsearch官方支持的几个比较好的插件:Watcher、Marvel、Shield,它们可以对Elasticsearch进行告警、监控和权限管理。   第10章 “ELK应用”,介绍Elasticsearch与另外两个产品Logstash和Kibana如何组合使用,Logstash是对日志进行收集和处理,Kibana是对存储在Elasticsearch中的索引进行展示和报表分析;最后通过一个简单的示例来介绍ELK几个产品是如何关联的。   在编写本书的时候,Elasticsearch的最新版本是2.2.0,但本书准备正式出版的时候,Elasticsearch发布了最新的5.0版本。所以本书增加了一个附录专门介绍5.0版本的特性与改进。本书前面的部分截图是2.2.0版本的,书中所有的例子和功能都可以在Elasticsearch 2.3.3下运行,大部分的功能都可以在5.0下运行,详细的新版本差别请参考附录部分。本书中的例子大部分都是HTTP接口的,这些接口的测试

2019-03-02

成员连接mysql

C语言连接mysql的demo,并且做一个插入操作,主要功能是连接mysql

2019-01-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除