自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FuSh1

Coding Is Not Purpose But Passion.

  • 博客(44)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 写给从事C#语言开发的同行们

大学生涯白嫖,周边网吧常驻VIP,“大股东”。期末考试靠用透明胶带包着小纸条作弊(别问为什么用透明胶带包着,懂得都懂)拿到了毕业证。其实大家都知道,大学学的太杂了。C、C++有些学校Java还是选修。刚毕业那阵儿一直想着自己想干什么,什么都做过。真的是什么都做过。经过大半年的思考,决定还是回到所学的专业之中。慢慢的发现自己是热爱代码的。很享受通过逻辑、解决Bug、排查问题、吸收新的知识将自己所开发的系统逐步完善的这一过程。相信很多写C#的同行、前辈都肯定接触过、使用过很长一段时间的 .NetFram

2022-02-09 15:09:39 1948 4

原创 axios compress request using gzip, dotnet decompress request body

【代码】axios compress request using gzip, dotnet decompress request body。

2023-06-21 11:40:49 421

原创 .NET6 Swagger 版本控制

使用 .NET6 Minimal Api 进行配置。

2023-05-16 10:32:34 219

原创 .Net6 Npgsql timestamp时间格式问题

【代码】.Net6 Npgsql timestamp时间格式问题。

2022-11-01 08:36:24 584

原创 Quartz .net 新版使用方式

Quartz .Net 新版使用方法

2022-09-22 14:22:11 122

原创 .net core blazor wasm hosted using oidc connect

代码】.net core blazor wasm hosted using oidc connect。

2022-08-15 20:34:09 195

原创 Vue3 arcgis javascript 线画点

var layerMarkers = new GraphicsLayer(); path.forEach((p: any) => { var graphic = new Graphic({ geometry: { type: "point", latitude: p[1], longitude: p[0], spatialReference: view.spatial...

2022-04-27 14:46:54 1364

原创 C# postgis 计算两点距离(米)

实际误差不到1米 public const string _4326 = @"GEOGCS[""WGS 84"", DATUM[""WGS_1984"", SPHEROID[""WGS 84"",6378137,298.257223563, AUTHORITY[""EPSG"",""7030""]], AUTHORITY[""EPSG"",""6326""]], PRIMEM[""Greenwich"",0, AUTHORITY[""EPSG"",""89

2022-04-25 15:02:17 500

原创 算法 “哨兵”模式

给定一个数组,输入一个特定值找到对应元素是第几个可以用二分查找可以直接暴力循环int GetIndexFromArray(int [] arrs,int target){ var count = arrs.Length; var index = 0; while(index <= (count-1)){ if(arrs[index]==target){ return index; } ++index; } return -1;}int GetIndex.

2022-03-07 09:29:00 204

原创 LeetCode 二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/binary-search/xexoac/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。接替思路:1、数组是有序的2、每次去中间的数字进行判断 如果大于那么应该

2022-02-24 12:50:15 61

原创 RabbitMQ 使用 QOS + Ack 解决内存崩溃问题

通过QOS使得每个消费者在同一时间处理一条消息。在未收到这个消费者Ack前是不会发送新的消息给此消费者。var _client = connection.CreateModel();_client.BasicQos(0, 1, false); var consumer = new EventingBasicConsumer(_client); consumer.Received += (model, ea) => { _client.BasicAck(ea.Del

2022-02-11 08:52:00 1150

原创 .Net 使用 RabbitMQ中的几个细节

1、使用 ConnectionFactory 创建 IConnection 时,如果有多线程的情况下,比如会有多个Consumer,需要加锁,同时确保 Connection 对象唯一,可以使用单例模式。 public bool _isConnected => _connection is { IsOpen: true };在RabbitMQ 持久化时,可以用到 Polly 第三方库中的 Policy 做连接失败重试。if (_isConnected) return;lock(ob.

2022-02-10 17:31:34 809

原创 SSH 内网穿透 mysql、mongodb等

先决条件:一台可以访问外网的Linux服务器内网服务器外网服务器:vim /etc/ssh/sshd_config GateWayPort yes内网服务器:ssh -CNf -R [外网端口]:127.0.0.1:[需要映射的内网端口] [外网服务器登录账号]@[外网IP]# 输入密码...

2021-12-25 14:00:54 883

原创 时序数据库Influxdb带时间查询

select * from table_name where time<='2021-12-15T23:59:59+08:00' order by time desc limit 1+08:00 代表UTC时间与本地时间差了8小时

2021-12-16 15:31:49 3478

原创 Vue AutoCad vds文件 渲染、操作

依据 VectorDraw 封装的提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录依据 VectorDraw 封装的前言增加元素 AddEntity增加图片 AddImage后续可以继续增加前言点击跳转 npm或 npm i cad-project --save 提示:以下是本篇文章正文内容,下面案例可供参考增加元素 AddEntity

2021-11-19 15:34:12 2063 2

原创 .NET6 LINQ最新新增语法

.NET6 LINQ最新新增语法 非常常用建议收藏文章目录.NET6 LINQ最新新增语法 非常常用前言1、Chunk2、TryGetNonEnumeratedCount()1.The Old Way2.The New Best Way3、Zip4、MinBy、MaxBy5、Take的条件标志1、取数组的3-4 Take(2..4)Take(2..4)Take(2..4)2、取数组的最后三个 Take(^3..)前言新增了一些新的LINQ常用语法,方法,以及两个特殊标志 “…” 和 “^

2021-11-12 10:17:36 913

原创 原生Vue实现二维码扫一扫,兼容PC、安卓、IOS

原生Vue实现二维码扫一扫通过使用 vue-qrcode-reader 进行实现文章目录原生Vue实现二维码扫一扫vue-qrcode-reader使用步骤1.引入库(全局引入)2.使用vue-qrcode-readeryarn add vue-qrcode-reader --save使用步骤1.引入库(全局引入)代码如下(示例)main.js:import VueQrcodeReader from "vue-qrcode-reader";Vue.use(VueQrcodeRea

2021-11-09 17:55:43 5928 7

原创 Quartz .Net 配置以及Job使用依赖注入

使用扩展函数的方式在“Util”中进行配置,在 WebHost/Host 中进行使用。Util中的配置操作在Host中进行使用Host中的 DefaultJobFactory 以及 QuartzJobUtil中的配置操作public static IServiceCollection ConfigureQuartz(this IServiceCollection collection, List<Type> jobs, IJobFactory jobFactory)

2021-08-26 17:38:01 1320

原创 IdentityServer 4 自定义身份校验/通过 token获取用户信息

1、自定义身份校验 public static IEnumerable<Client> GetClients() { return new List<Client> { //grant_type basic new Client { ClientId = "xczx",

2021-07-22 15:33:45 2265

原创 Ipad 协议,安卓16/62 协议

登录:扫码登录,获取62数据,62登录,A16登录,自动心跳,好友管理:添加好友、删除好友、修改备注、创建标签、获取好友列表、一键检测僵尸粉,自动抢红包功能消息管理:发文本消息、图片消息、名片消息、动图表情、小程序、发文件、发送视频、发送URL链接群管理:自动创群、修改群名称、邀请新成员、踢群成员、获取群列表、发送邀请链接、获取群聊。朋友圈:发送朋友圈、朋友圈点赞、获取朋友圈列表、转发朋友圈、同步朋友圈,批量发送朋友圈。云控统一管理等测试地址:http://www.docway.net/proj

2021-07-02 11:03:35 445

原创 EF Core根据实体自动创建对应 DbSet

protected override void OnModelCreating(ModelBuilder modelBuilder) { Assembly entityAssembly = Assembly.Load(new AssemblyName("XXX.Entity")); IEnumerable<Type> typesToRegister = entityAssembly.GetTypes().Where(...

2021-06-09 10:17:37 978

原创 Drone CI/CD 使用 exec 流水线进行持续交付,exec一直卡pending

Drone CI/CD 是一款轻量的devOps软件。声明 pipeline type的类型,在 yml 文件中写入 step 就可以进行自定义打包了。pipeline的常用类型有 docker等,使用一个基础镜像,在drone的容器内部进行打包,如 node:10 -> commands : npm install/ npm build.本文主要说明如何使用 pipeline 为 exec 类型时,只需要执行自定义bash脚本,或几句简单的bash命令完成自己的CD。安装Drone,如果

2021-05-14 16:43:00 2784 1

原创 在多线程中调用EF的dbContext

Ef中 dbContext是单线程的,假设我们有三个线程需要同时进行数据库的CURD操作。如何在多线程中使用单线程呢?在每个线程中创建单独的作用域来获得dbContext在每个线程中创建单独的作用域来获得dbContext#简单示例代码for(var i = 0;i<3;i++){ Task.Factory.StartNew(_myBusiness.DataBaseCURD)}# MyBusiness.csctor... private readonly IServiceProvid

2021-04-07 20:50:07 1902

原创 vue 使用 xbim/viewer进行BIM模型3D预览

施工行业BIM模型使用XBIM进行预览安装XBIM创建vue组件安装XBIM使用 npm install @xbim/viewer --save 进行安装创建vue组件 <canvas id="viewer" style="height: calc(50vh + 10px); width: 100%; z-index: 999; border-radius: 3px"> import { Viewer, NavigationCube, Grid, ViewType } from '

2021-02-19 16:14:59 2339 3

原创 psql 创建用户与数据库

drop database if exists "new_db_name";drop role if EXISTS "new_db_name";create role new_db_name with login encrypted password 'xxxxx' connection limit -1;create database new_db_name with owner new_db_name encoding='UTF8';alter database new_db_name set.

2020-12-14 10:34:07 264 2

原创 uni-app 与 H5原生 进行实时通信 (微信小程序)

uniapp 微信小程序 与 H5 原生的实时通讯1、H5必须用原生,试过很多,只能用原生。[这里是官方的demo链接](https://uniapp.dcloud.io/static/web-view.html)2、uniapp 中的那个需要做交互的文件必须是nvue.3、H5中加入事件监听4、最重要的一点就是目前页面跳转可以进行实时监听。所以还是有限制的。但是想一些办法绕一下去满足业务吧。1、H5必须用原生,试过很多,只能用原生。这里是官方的demo链接2、uniapp 中的那个需要做交互的文件必须

2020-12-13 21:56:30 2725 2

原创 .Net Core Razor引擎 Form复杂模型绑定

复杂模型的绑定razor viewmodel总结razor view <form id='shenlaifusubmit' asp-action="SaveMerchantChannel" method="post"> <div class="form-group"> <label for="pay_memberid">Merchant Id</label> <i

2020-12-04 11:49:35 503

原创 LoadRunner Action.c 发送Post请求、设置Token、设置参数等

LoadRunner 都是通过内置的函数进行编写设置参数并发送Post请求保存token(可以进行录制,然后直接把获取到的token存入Parameter就行了)设置变量设置参数并发送Post请求//LB 为从左边开始的规则截取 RB则是右边web_reg_save_param("ResponseBody", "LB={\"data\":{\"xxx\":", "RB=,\"xxx\"", "Search=Body", LAST);web_custom_request("current_issue

2020-10-27 11:32:13 638

原创 设计模式 单一职责模式

编程时,我们需要在类的职责分离上多思考,做到单一职责,那就是如果你能够想到多一个的动机去改变一个类,那么这个类就具有多余一个的职责,需要考虑职责分离,这样我们的代码才是真正的易维护、易扩展、易复用,灵活多样。...

2020-08-05 17:18:21 145

原创 .net core使用JWT进行身份验证(微信小程序)

微信小程序使用 uni-app 进行编写小程序端其实不需要太复杂的逻辑用户登录/注册后,将服务器返回的token放在storage里或vuex中,使用axios或者封装好的axios插件再请求前设置请求头信息/* 请求之前拦截器 */http.interceptor.request((config, cancel) => { config.header.Authorization = 'Bearer ' + uni.getStorageSync('token'); return con

2020-07-28 15:13:55 1101

原创 GlusterFs分布式存储安装、使用、扩容、缩容

在工作中,项目部署用到了K8s。因而用到了分布式文件存储Glusterfs。概念VolumeSubvolumeBrick安装Glusterfs

2020-07-23 13:48:07 1922

原创 C#面向对象 抽象理解

在工作中学到的经验,感谢经理的帮助,默默的祝你好~*之前刚进公司面试的时候,经理问我什么是面向对象,面向对象的三大特性是什么。一直觉得知道了知识点就行了。直到今天,可能确实之前工作中可能就是个CURD的程序员吧。 *如果有不对得理解欢迎指出。抽象 - > 你能吃,我能吃。但是我用筷子吃,你用勺子吃。我们都是吃,只不过我们的方式不一样。所以如果放在系统中,那么class A { public Task Run(string doSmt){ await Task.Complete

2020-06-29 16:27:28 198

原创 Asp .Net Core 终结点EndPoints的实际使用场景 代理

public void Configure()app.UseEndpoints

2020-06-27 22:33:34 3243

原创 简单工厂模式的简单实现

1、工厂类通过反射获取到所有的需要创建对象的集合。2、学生基类3、特性4、学生接口定义学生的公共行为5、学生上下文测试

2020-05-26 22:39:16 116

原创 EFCore范型数据仓储和DBContext优化

DB Frist定义IRespository接口BaseContext.cs需要继承 DbContext1、重写 OnConfiguring 方法,指定数据库我们在查询只读数据的时候,可以取消EF实体追踪。2、 重写 OnModelCreating 利用反射获取命名空间下的所有的public类,此处可以注入一个标记来识别是否是实体类。将所有实体放入EF中。3、 public void Detach() 方法是在SaveChanges后更改EF追踪实体标记的,用来取消追踪的 =>

2020-05-09 14:01:33 2265

原创 EF Core使用微软扩展Logging打印日志到控制台

需要的包有Microsoft.Extensions.LoggingMicrosoft.Extensions.Logging.Console在上下文中:public static readonly ILoggerFactory MyLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); }); protected override void OnConfiguring(DbContext

2020-05-09 11:12:05 2099

原创 使用命令行 -> EF6 DB First连接Mysql生成实体类

先安装工具 -> dotnet-efiTerm: dotnet tool install --global dotnet-ef --version 3.0.0再cd到你的项目或者类库工作文件夹下,项目或类库需要引用Pomelo.EntityFrameworkCore.MySql再使用命令行iTerm:dotnet ef dbcontext scaffold "server...

2020-05-08 09:57:29 370

原创 Vue双向绑定理解版

后端程序员面试经常问到什么是vue的双向绑定?怎么实现的?因为简历上写到了熟悉Vue,所以 emmm…官方回答采用数据劫持结合发布者-订阅者模式的方式,通过Observe来监听数据变化,通过Compile来解析编译模版指令,利用watcher来架起通信桥梁。虽然嘴上说的很专业,但是心里确很糊涂。好吧,核心就是 Object.defineProperty. 定义对象的属性。以...

2020-05-07 16:01:34 171

原创 LinQ模拟Where

LinQ Where接收一个有返回值为bool的委托。List<Student> list = new List<Student>();var res = list.Where(x=>x.Age>0)模拟LinQ WhereExtend.cspublic static class Extends{ //其实就是循环遍历集合的每个对象,if(...

2020-04-22 22:21:06 101

原创 【解决】Vue EChart 数据更新无法实时渲染图表

在遇到项目需要进行使用echart进行数据展现的时候。会碰到数据回调更新后,图表无法实时渲染的问题。网上也有很多的解决方案。在此进行记录和总结一下。npm下载echarts。父亲组件data中:data(){ return {colorList:[], pieData: { legendData: [], data: [] },}}在父亲组件中引入图表。import myChartPie ...

2020-04-16 14:35:28 872 2

vdWebControl.js

Vector Draw js lib. AutoCad

2021-11-19

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

TA关注的人

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