自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极简的随笔

分享实用开发技术

  • 博客(273)
  • 资源 (4)
  • 问答 (3)
  • 收藏
  • 关注

原创 香橙派Kunpeng Pro初体验

通过初步的使用,明显感觉到香橙派Kunpeng Pro无论是硬件的接口类型还是计算能力,都明显要优先于树莓派4B。应该比树莓派能有更多的应用场景。因为工作关系最近连续加班非常忙,没有足够时间去体验香橙派开发板的各项功能,实属遗憾。后面有时间,会持续深入体验应用各项功能,充分挖掘开发板的应用潜力。

2024-05-30 23:18:44 820

原创 Git版本管理配置说明 - Visual Studio

然后切换到VS项目的Git界面,选择推送到指定的远程git仓库的名称origin即可。在源代码管理服务器新建文件夹,并配置共享访问权限Everyone(读取/写入)。因为我们只是在局域网中开发项目,暂时不推送到GitHub,所以切换到仅限本地。在VS中打开项目,点选Git更改,点击“创建Git仓库”,创建项目初始版本。增加了git版本管理之后,项目文件默认加锁。但此时文件的版本还是在本地,需要同步提交到服务器。需要安装两个客户端工具,方便进行Git版本管理。在本地访问这台服务器共享目录,确保正确打开。

2023-12-02 23:56:51 622

原创 WTM(基于Blazor)问题处理记录

这里的8018跟appsettings.json里的Domains节点下的server配置的端口号一致。经过测试,发现调试程序时能够访问得到里面的文件,但发布程序后不能得到里面的文件。初步判断,IIS的某些设置权限没有开放。这里面的server和serverpub节点下的Address地址中的端口号要跟发布到IIS中的端口号一致。一开始直接在本地映射一个网络驱动器,然后像本地磁盘一样访问共享文件夹里的文件,比如:Y:\。因为调试时启动的url的端口号跟发布的url的端口号不一致,需要设置成相同。

2023-11-30 21:30:29 571

原创 Android Studio Giraffe版本遇到的问题

上周固态硬盘挂了,恢复数据之后,重新换了新的固态安装了Win11系统,之前安装的是Android Studio 4.x的版本,这次也是趁着新的系统安装新的Android开发工具。像之前的项目使用的Java8构建,要选择Java8。如上的IP地址可以通过如下网址解析:https://site.ip138.com/dl.google.com/上面的maven节点是自己添加的,其中的allowInsecureProtocol需要,否则同步失败。但是打开以前的Android旧项目时,发生了一系列的问题。

2023-11-30 21:09:17 902

原创 ruoyi+Hadoop+hbase实现大数据存储查询

ruoyi+Hadoop+hbase实现大数据存储查询前言部署Hadoop部署Hbase基于若依进行二次开发最终效果前言有个现实的需求,数据量可能在100亿条左右。现有的数据库是SQL Server,随着采集的数据不断的填充,查询的效率越来越慢(现有的SQL Server查询已经需要数十秒钟的时间),看看有没有优化的方案。考虑过SQL Server加索引、分区表、分库分表等方案,但数据量增长太快,还是很快就会遇到瓶颈,因此需要更优化的技术。在众多的NOSQL和大数据技术之下,针对此场景,主要考虑了两种

2023-11-30 20:46:11 1106

原创 条码扫描枪识别错误问题处理

发现一个奇怪的现象,条码扫描枪在识别二维码内容时,出现异常,不能正确识别条码内容。如下图所示,每次扫描内容都不一样。解决办法:把远程连接工具-向日葵 关闭,即可恢复正常。...

2023-09-05 17:21:00 383 1

原创 ClickOnce发布

PS:但是ClickOnce部署技术也有一些缺陷,比如安装程序会默认安装到C盘下面很深的文件夹,不便于自行修改安装安装路径(可以通过VS自带打包工具实现)。点击“立即发布”,VS会自动将更新程序发布到设置的发布文件夹位置(默认publish文件夹),文件如下所示。安装模式和设置区域,可以设置一些更新策略。在客户端电脑点击“安装”,会自动下载setup.exe,点击安装即可。在运行程序的时候,会显示如下界面,自动下载更新后即可启动程序。在VS中右键项目属性,选择发布选项卡,打开如下图的界面。

2023-06-16 10:31:26 938

原创 EF Core中Partition by实现

Partition by是SQL Server数据库中提供的分区函数,跟Group by不同的是,Partition by能够按照分区返回所有记录,而Group by只能返回一条记录。显然,CW048201和CW048202它们的最新状态都是取消报废状态,用Group By去获取单行数据是无法获取的。可以看出分区函数Partitiion By按照编码分为了两个部分并且每个部分按照时间降序排列,因此我们只需再加一个条件即可获取每个编码的最新数据。举个例子,有如下的数据库,需要找出每个唯一编号最新状态的数据。

2023-06-15 17:13:16 471

原创 网页接入硬件交互通信方案

我们都知道,网页直接接入硬件并与硬件交互并不那么方便,如果硬件有网络功能还可以通过网络通信实现(一般是socket),但大多数情况下硬件还是直接通过usb/串口等硬接线接入。很早以前有一种解决方案是Active-X,但只支持IE浏览器,尤其现在2023年IE已经并入Edge浏览器,这一方案已经过时。那么有没有一种更好更通用的方案可供选择呢?答案是肯定的。我们都知道H5现在已经非常普遍了,各大浏...

2023-06-01 09:36:00 282

原创 SQL行转列、列转行(SQL Server版)

在SQL Server中使用SQL实现行转列、列转行,可以使用多种方法,在SQL 2005以前可以使用case when then...语句,但这种方法的问题在于列举的列名要写死,如果列名很多,case when 语句会很长,并不优雅。所以需要SQL Server提供新的语句能够实现。在2005版本就推出了pivot/unpivot关键字,可以方便的实现。这方面的资料已经很多,这里提供一个简单的...

2023-02-27 09:50:00 2815

原创 Android App无线调试

经常遇到一个问题,就是打包好的apk文件在本地调试安装正常,但将打包好的apk安装在终端机上的时候crash报错。由于没有数据线或接口可能不方便调试排错,这时候就需要启用无线调试安装功能迅速排错。方法很简单,确保电脑和终端机在同一个网络环境下,利用adb的connect命令远程连接。然后就可以直接在Android Studio中找到这个网络设备,直接安装调试。一、adb命令远程连接二、A...

2023-02-02 16:51:00 112

原创 SQL Server标量函数例子

SQL Server的函数是非常实用的功能,简单的有自带的Convert等类型转换的函数,如果需要复杂点的功能则需要用户自定义函数。自定义函数又分为表值函数、标量函数等,其中标量函数是比较常用的,可以完成一些数据格式的转换。表值函数返回一张表,可以结合存储过程或单独使用。这里拍砖引玉,贴两段实用功能的标量函数作为参考。一、字符串填充create function [dbo].[PadLe...

2022-12-27 14:51:00 99

原创 给ASP.NET Core WebAPI添加Swagger支持

ASP.NET Core WebAPI是开发WebAPI接口的有利武器,且由于拥有.NET Core的基因支持跨平台,是当前.NET中开发接口的有利武器。但一般来说WebAPI接口开发完毕后,在发布前还需要测试。我们可以借助于外部的Fiddler等工具进行测试,但不太方便,尤其要进行接口传值时。那这个时候可以通过Swagger工具直接在Web网页中操作会极大的方便进行接口测试工作。操作步骤:...

2022-12-13 10:42:00 81

原创 识别条码时输入法自动切换问题—IMEMode

使用扫描枪扫描条码内容时会出现输入法切换导致条码内容输入错误的问题,这时可以通过设置接收条码内容控件的IMEMode属性轻松解决。比如:this.TextBox1.ImeMode = System.Windows.Forms.ImeMode.Disable;将ImeMode模式设置为禁用,输入法切换问题解决。参考资料:1. https://blog.csdn.net/yue1453...

2022-12-05 09:33:00 266

原创 Excel垂直查找

VLOOKUP函数是Excel里函数比较常用的查找函数,V表示Vertical垂直。与之对应的还有HLOOKUP,H表示Horizontal水平,使用方法大同小异,这里以VLOOKUP函数为例举个实际的例子看如何使用。比如我有两列数据:我想筛选出A列中同时也在B列中的人。在要显示值的单元格中,输入公式:=VLOOKUP(A2,B2:B6,1,0),会返回#N/A,即表示不存在。如果存在会...

2022-11-01 11:18:00 46

原创 Flutter发布Release版安装后Crash问题处理

一、发布Flutter app命令在flutter项目根目录下打开cmd执行:flutter build apk --release 命令即可。二、安装后运行crash问题处理在flutter项目根目录下打开cmd执行:flutter run --release 命令,然后在手机上安装flutter app,打开运行直到crash时,注意错误提示。根据错误提示分析猜测,可能是flutt...

2022-09-25 22:07:00 138

原创 ASP.NET Core Web API第一次请求慢的问题解决

一、问题现象:写了一个Android APP,服务接口是采用的ASP.NET Core Web API开发,数据库用的是EF.Core,使用过程中发现一个现象,首次在线登录的时候会出现超时的现象,我用OKHTTP设置连接超时时间为1min,还是连接不上。然后点开登录提示窗口,再次点击按钮登录即可快速响应。但如果中途有一段时间(大约20分钟)没有操作,再次点击登录则APP还是会出现超时现象。二...

2022-08-08 15:46:00 382

原创 连接MySQL提示Establishing SSL connection问题

连接mysql数据库时,通常的做法是在类的static块中写连接数据库的部分。如下图:static { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localh...

2022-08-01 10:23:00 63

原创 微信小程序部署流程

微信小程序的部署过程稍有繁琐,这里记录一下主要的部署步骤和遇到的问题。一、准备工作1. 购买云服务器尝试过阿里云/腾讯云/百度云/华为云等四大云服务器,操作都差不多。这里以百度云为例。2. 购买域名小程序必须要使用域名,可以在云服务商系统购买。购买后要求备案通过才能使用域名(一般周期较长,一般为1个月内,需要填写资料/上传相关签名资料后,等待审核。具体按照网站备案要求操作),然后在百度...

2022-06-26 13:11:00 116

原创 Android 12真机调试——安装失败,安装包异常

之前直接在Android真机调试安装都正常,前两天将我的OPPO升级到了Android 12,发现调试安装时出现“安装失败,安装包异常”的异常。错误1:1). 错误提示The application could not be installed: INSTALL_FAILED_TEST_ONLY2). 处理办法在project的gradle.properties文件中添加如下配置即可正...

2022-06-15 08:32:00 93

原创 Excel VBA 批量插入批注

有个需求,想实现类似下面的效果,当鼠标移动到单元格时会浮动显示对应的图片:其实这个效果可以使用批注插入图片来实现,但如果想要加图片批注的数目太多则需要批量插入,这时候就需要使用Excel VBA来实现。在Excel里右键Sheet,弹出的菜单中选择“查看代码”,将如下的代码复制进去。Sub 批量插入图片批注提示()Dim aa = MsgBox("提示:插入批注。")If a = ...

2022-05-07 10:26:00 128

原创 ASP.NET Core 6.0 本地化

ASP.NET Core 6.0 本地化多语言/国际化/全球化&本地化,这些词汇表达的是同一个意思,即系统同时支持多种不同国家的语言,我们用本地化这个词来表达。在ASP.NET Core 6.0中可以很方便的做到,这篇博客也是记录一下主要的步骤,最后会放出一个demo供参考。注意我们的版本是.net Core 6.0,所以下面的步骤是基于这个版本。一、添加本地化服务builder.Services.AddLocalization(options => options.ResourcesP

2022-05-01 11:16:32 989 2

原创 在低版本Android中使用Java Stream功能

一直使用Java8的Stream功能来简化代码,比如如下的操作:double num = list.stream().filter(t -> !StringUtils.isEmpty(t.字段名)).count();在Android 11等高版本中没有问题,但运行在Android 6中就报错了,提示:No interface method stream()...很显然低版本Andro...

2022-04-24 09:00:00 109

原创 Yolov5训练自有模型

之前一篇关于yolo的博客快速的将yolov5的demo运行起来体验了一下深度学习的威力,这篇博客以自己搭建口罩识别为例,主要记录一下尝试yolov5训练自有模型并成功运行的过程。我一开始准备在windows上测试的,但那台笔记本空间内存都有限,无法实现训练,只能测试训练好的模型。后来选择在自己的Mac Pro笔记本上面进行测试。要说明的一点是,在Mac上同样要准备好Tensorflow、Py...

2022-04-09 23:48:00 40

原创 VS设置关闭Application Insights功能

在VS2022中调试ASP.NET Core应用时发现LayUI表格翻页时很卡(大约需要3-4秒),数据库没有问题。后来观察发现控制台输出dc.services.visualstudio.com/v2/track这个网址超时,心想我项目中没有引用这个网址。通过百度查到这是Application Insights,可以在VS2022里通过设置关闭这个功能。VS2022里关闭设置的路径:VS-工具...

2022-04-07 11:36:00 39

原创 EF Core中通过Fluent API配置一对一关系

继续配置实体之间的第三种关系,即一对一的关系。以考研报名为例,一个人有唯一的身份证号,在首次报名时会生成一个唯一的考试号,这样身份证号和考试号就是一对一的关系。同样提供ER图如下:Person类:public class Person{ public string PersonIdentityNum { get; set; } public string PersonName { get; set; } public virtual Exam Exam { get;

2022-04-06 13:59:06 854

原创 EF Core中通过Fluent API配置一对多关系

接上篇博客,继续演示Fluent API配置一对多的关系。以班级-学生为例,一个班级有多个学生,一个学生属于一个班级。ER图如下:同样的,我们需要准备好如上实体类。班级类:public class Class{ public int ClassId { get; set; } public string ClassName { get; set; } public virtual ICollection<Student> Students { get;

2022-04-06 13:57:47 653

原创 EF Core中通过Fluent API配置多对多关系

EF Core与EF不是完全一样的,官方文档列出了详细的差异比较,可以查阅:https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/。EF Core支持Code First模式生成数据库。这里以权限管理中的用户-角色-菜单的关系为例,演示一下EF Core中如何通过手动编写Fluent API来配置多对多的关系。测试环境:VS2022 / .NET 6.0 / EF Core 6.0假设我们已经设计好了数据库,并建立了主外键关联。如下图所示,一个用户可以对

2022-04-06 13:55:48 1243

原创 使用ML.NET实现健康码识别

ML.NET是微软提供的机器学习库,从VS2019开始直接集成在VS里,帮助.NET开发者快速开发自己的机器学习应用。目前ML.NET的资料已经非常丰富,开发者可以到其官网查阅相关资料。https://dotnet.microsoft.com/en-us/learn/ml-dotnet。本篇博客以健康码识别(绿码/黄码/红码)为例,看在.NET中如何使用ML.NET。一、准备工作启用ML.NET Model Builder。VS中工具-选项-预览功能,勾选Enable ML.NET Model Bui

2022-04-05 18:54:18 1799

原创 MacOS环境下真机部署Flutter

在MacOS环境下部署Flutter到iPhone真机,稍微费了点周折,下面的步骤是经过实际测试通过的说明。有一个非常重要的前提就是一定记得把Xcode、MacOS和iPhone的iOS系统升级到当前到最新版本,减少不必要的设置。我通过测试的系统的版本:1. Xcode 13.32. MacOS 12.33. iPhone iOS15.4一、搭建MacOS下的Flutter环境到官网...

2022-03-27 00:15:00 92

原创 uniapp跨域调用ASP.NET Core Web API

Web API跨域支持因为浏览器有CROS(跨域资源共享)的问题,所以我们开发的Web API接口需要添加跨域功能。在Startup.cs的ConfigureServices方法里添加如下代码: //支持跨域services.AddCors(options =>{ options.AddPolicy("any", builder => { builder .AllowAnyOrigin()

2022-03-26 15:47:38 760

原创 Unity Hub无法添加新模块解决办法

一、问题描述好久没用Unity了,打开Unity Hub时提示更新,然后将Unity Hub更新到了目前最新的3.0.1-c3的版本。但是在Unity里面导出android apk时,发现sdk不兼容,错误如下:然后尝试在Unity Hub里更新新模块,发现没有添加模块选项。二、解决办法1. 接上图,先从Hub中移除。2. 去官网找到你本机安装的对应的Unity的版本,点击"从Hu...

2022-03-19 18:09:00 567

原创 企业微信自建应用开发

企业微信自建应用开发企业微信自建应用可以让用户开发自己的应用并集成在企业微信里面。我们借助于企业微信的各种接口实现各种个性化的功能,其中一个典型的功能就是要能够接收到用户的输入并根据用户的输入推送相关的信息给用户,本篇博客就来实现这个功能。准备工作:在企业微信管理后台创建自建应用并开启API接收功能并且要对我们开发的Web API接口进行测试,如果通过会显示如下的界面,否则提示“回调错误”接口测试工具微信提供了在线接口测试工具,地址:https://open.work.weixin.qq.

2022-03-15 21:11:53 3979

原创 企业微信接口上传临时素材

企业微信接口上传临时素材我们在企业微信里创建自建应用时,有时候需要根据用户的输入内容反馈对应的素材信息的功能,这时候就需要用到上传临时素材的接口。通过此接口可以上传临时文件(3天有效期),再配合自建应用就可以推送素材内容给用户。上传临时素材接口文档:https://developer.work.weixin.qq.com/document/path/90253,下面是测试通过的上传临时素材的完整代码:string corpId = "xxx"; //去企业微信后台管理页面获取string corp

2022-03-15 21:08:30 2461

原创 企业微信接口下载微盘文件

企业微信接口下载微盘文件在调试企业微信的下载微盘文件接口成功之后,再进一步下载文件时,发现一直返回 System.Net.WebException:“远程服务器返回错误: (564)。” 这样的错误。后来经过调试,发现改动两个地方即可完成企业微盘图片的下载。 注意代码中的注释部分,测试通过的完整代码如下://请求企业微盘图片//接口地址: https://developer.work.weixin.qq.com/document/path/93657#下载文件string url = @"xxx"

2022-03-15 21:05:57 4759

原创 Xamarin.Forms for iOS初体验

Xamarin.Forms for iOS初体验前言程序源码真机部署前言Xamarin是一个支持多平台的应用开发框架,它最大的特点就是可以使用C#开发Android/iOS app,并且共用一套C#代码就可以发布到多个不同的平台。Xamarin在2011年诞生,一开始是收费的,后来被微软收购之后免费开源,并直接集成到了Visual Studio里。但要说明的是Xamarin的生态一直没建立起来,用的人不多。并且之前了解到微软的计划是将Xamarin整合到MAUI,所以MAUI才是未来。在Mac里使用C

2022-03-15 20:54:11 3275

原创 Android Studio中使用AAR包

JAR(Java Archive)包我们都很熟悉,里面包含了编译好的class文件。AAR(Android Archive)是Android中特有的文件格式。它除了包含class文件,还包括android中的values、layout、manifest等文件。将*.aar文件的后缀名改为zip,即可打开看到里面包含的文件,里面的内容如下:在Android studio当中如何使用AAR包的步...

2022-02-13 16:07:00 68

原创 WTM(基于Vue)项目发布记录

WTM是一个基于.NET Core的开源Web开发平台,在构建一次性应用或快速开发系统时可以使用(官网号称2-3天就能开发出一个小型的应用系统)。这里不做任何广告,主要记录一下发布过程中的一些问题。我用的版本是.NET Core6.0+Vue3.0(typeScript)构建的ASP.NET Core项目,需要安装VS2022。直接在VS2022里面点击发布后,到publish文件夹,然后挂载...

2022-02-11 11:29:00 106

原创 BoostrapBlazor项目发布记录

ASP.NET Core Blazor是微软推出的使用Blazor开发Web网站应用的技术。其主要思想就是使用C#代替JavaScript开发Web,使只熟悉C#的程序员也能够开发Web。Blazor分为Server和Assembly两种模式,其中Server是使用SignalR(WebSocket)完成服务端与客户端的通信,但时常会有通信失败的错误(网页提示错误,需要Reload,页面崩溃)。...

2022-02-08 14:06:00 39

原创 Swift快速入门

Swift是一门全新的iOS APP开发语言,也是目前苹果所推荐的。在Xcode13里新建项目时,Swift是默认的语言。在最新一期的世界编程语言排行榜上,Swift已经排到了第14位,Objective-C前20都看不到了。很明显,对于iOS开发者来说,拥抱Swift是一个必然的选择(与之对比Android开发的Kotlin似乎并没有达到这样的地位)。此外,Swift for Tensorfl...

2021-11-21 22:57:00 30

NPOI开发包及教程

NPOI操作word、excel、ppt等文件的利器。

2013-10-26

WinForm批量图片压缩工具源代码

WinForm批量图片压缩工具源代码,一个非常好的WinForm学习例子。

2013-08-09

asp.net(C#)发送电子邮件

示例demo,含发送邮件的相关类源代码,分享一下。

2013-08-04

Newtonsoft.Json.dll完整开发包

Newtonsoft.Json.dll完整开发包。里面有适合各种.net framework版本的dll、xml以及source,解析json字符串很方便,欢迎下载。

2013-08-01

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

TA关注的人

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