- 博客(81)
- 资源 (23)
- 收藏
- 关注
原创 对switch按钮的一些困惑
一直以来我都对Switch 开关的使用都很困惑,比如下面这张图请问,它到底表示什么?我觉得可以有两种理解这是切换后的状态可能是我个人理解不正确,请大家指点。
2025-03-21 09:28:46
195
原创 关于在通讯协议中增加通讯序号的说明
方案一和方案二,都有各自的优点,但是无法解决对方的问题方案一相比方案二更好一些,确定了发送和接收的对应关系,这个更有意义一些。方案三集合了方案一和二的优点优先推荐方案三,其次是方案一,最后是方案二。
2024-07-21 22:41:57
493
原创 自动预约申购 i茅台工具完善
今天刷到一个windows自动刷茅台的工具,是用wpf实现的,看到作者最后是2023年更新的,评论中有好多人提出一些需求,刚才在学习wpf,就试着完善了一下。最新代码。
2024-06-23 01:27:50
1130
2
原创 使用edge浏览器浏览axure rp设计文件
有时候想给客户沟通一下原型,使用AXURE RP设计的原型,客户无法查看。导出的html发给客户呢,浏览器打开提示需要安装插件,但是客户又打不开chrome的插件市场,so,很郁闷吧。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SDGsPabf-1686848323631)(null)]接下来打开导出的原型html文件即可,如果双击不行,那右键用edge打开。解决方法:让客户使用Edge打开,微软的插件市场国内是可以正常打开的。
2023-06-16 01:01:00
7561
原创 关于网页实现串口或者TCP通讯的说明
由于浏览器考虑到安全,HTML在浏览器上访问时,是不允许访问本地资源的。本地资源包含本地的磁盘,串口设备等等。所以一般的HTML是无法实现通讯功能的。很多同学,误以为有什么捷径可以实现,其实是没有的。我的这两种方案只是一种拆中的方案,可以变相的实现而已,体验上都会有折扣。而且通常情况下windows平台用户会多一些,一般不考虑多平台。在网页中实现通讯功能的,多数也还是用CS来实现,毕竟相对稳定一些。如果场景比较少,可以采用上面的方案。
2022-10-30 21:05:22
3671
2
原创 记录一个i变量引发的事故
写代码一定要认真,相信没有最好,只有更好。尽量不要使用for,建议使用foreach。减少i,j,k这样的变量使用。降低错误的风险。
2022-08-17 15:46:02
2098
原创 文本相似度检查实现
最近需要做一个文章标题相似度检测提醒,所以了解一下相关的算法,整理如下。Hamming Distance 汉明距离汉明距离是一个概念,它表示两个(相同长度)字符串对应位置的不同字符的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。1011101 与 1001001 之间的汉明距离是 2。2143896 与 2233796 之间的汉明距离是 3。“toned” 与 “roses” 之间的汉明距离是 3。functio.
2022-04-29 11:40:06
956
原创 .net跨平台运行实践
一个偶然的机会,一个朋友想做一个程序,同时支持windows和linux,本来想用go来写,奈何不太熟练,突然想到.net不是也支持跨平台了吗,还没有操作过,刚好可以试验一下。最新的.net 6已经跨平台了,从.net core 3.0后,不再叫.net core 4.0了,而是统一为.net 5,.net 6等。演示程序如下:using System;using System.IO;using System.Net;using System.Net.Sockets;using System.
2022-04-01 11:38:39
4251
1
原创 最详细的冒泡排序详解
冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证
2021-06-22 10:42:37
747
原创 asp.net core配合vue实现后端验证码逻辑
概述网上的前端验证码逻辑总感觉不安全,验证码建议还是使用后端配合验证。如果产品确定可以上网的话,就可以使用腾讯,百度等第三方验证,对接方便。但是产品可能内网部署,就必须自己写了。本文章就是基于这一点来实现的。前端验证码显示一个图片,后端生成图片。部分原理1.前端调用生端获取图片时,传入一个roomID,后端生成一个4位验征码,放入redis中。然后生成一个图片返回。2.前端显示图片,登录时将roomID和填写的验证码,一并提交,登录接口根据roomId从redis中取出验证码判断是否正确。这
2021-06-21 21:43:01
586
原创 nginx日志文件按天记录定时清理循环记录
问题nginx日志默认记录在一个文件access.log中,时间长了会导致日志文件特别大,甚至磁盘占满。解决方案使用以下方法,将access.log文件每天一个,然后清过15天以前的文件。方法创建clearNginxLog.sh文件#!/bin/bashLOG_PATH="/data/nginx/log/"save_days=1YESTERDAY=$(date -d "yesterday" +%Y%m%d)echo "———————————————–"echo "运行时间:[$(da
2021-05-19 19:44:29
780
原创 ssh工具使用对比
Xshell参数篇
有时候,我们发送数据的时候,需要发送的数据带有一些参数,比如带上当前时间,最后一个字节为校验和等。协议需要计算的,具体用法如下完整示例: function sendData() { (async function () { await CefSharp.BindObjectAsync("serialPortHelper"); await CefSharp.BindObjectAsync("systemHelper");
2021-03-29 19:49:11
706
原创 html页面自己写js脚本收发数据,支持串口和TCP通讯(三)串口快捷命令列表
有时候我们需要一组常用的命令,然后按顺序发。比如常见的AT指令。效果编辑命令 var data = { cmdList: [ { "id": 0, "cmdText": "00", cmdName: "在代码中改名称", hex: true, }, { "id": 1, "cmdText": "11", cmdName: "cmd2", hex: true , }, { "id": 2, "cmdTex
2021-03-29 19:48:45
1047
1
原创 html页面自己写js脚本收发数据,支持串口和TCP通讯(二)TCP客户端收发
本工具作为TCP客户端,模拟终端与服务器进行通讯。完整示例:<body> <div>tcp测试客户端</div><br /> <input type="text" id="txtServer" value="127.0.0.1" /><br /> <input type="text" id="txtPort" value="60000" /><br /> <button
2021-03-29 19:48:29
1487
原创 html页面自己写js脚本收发数据,支持串口和TCP通讯(一)串口基础功能
实现基础的串口数据收发。完整示例:<body> <div>串口测试</div> <input type="text" id="txtPort" value="COM2" /><br /> 波特率:<input type="text" id="txtBaudRate" value="57600" /> 数据位:<input type="text" id="txtDataBits" value="8
2021-03-29 19:47:30
1579
4
原创 html页面自己写js脚本收发数据,支持串口和TCP通讯 -概述
今天给大家介绍一个通讯工具,可以自己写html页面,自己写Js脚本实现数据收发。界面功能说明在程序目录下有一个myHtml文件夹,下面的html文件就是所有的通讯工程。用记事本,或者vs打开就可以编辑,写自己的控制流程。TCP客户端<body> <div>tcp测试客户端</div><br /> <input type="text" id="txtServer" value="127.0.0.1" /><br
2021-03-26 19:29:04
4413
1
原创 npm i puppeteer失败及踩坑 permission denied Failed to launch 中文乱码
问题root@test:/data/a8service/source# npm i puppeteer@5.5.0 install /data/a8service/source/node_modules/puppeteernode install.jsERROR: Failed to set up Chromium r818858! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.[Error: EACCES: permis
2021-03-26 11:33:18
2772
原创 puppeteer在服务器上截图中文乱码
puppeteer在服务器上截图中文乱码解决办法在linux服务器/usr/local/share/fonts目录中放中文字体就可以解决我在尝试放入宋体常规时,已经正常把上面的直接拖入下面目录,生成名称为SIMSUN.TTC至此问题解决。这个文件夹中原本是空的,除了最后一个加完后有效,其他的加完都无效。删除也可以,我懒得弄,就不管了。上面的不用添加。只加最后一个。...
2021-03-26 11:26:22
2383
原创 移动端后台管理系统框架
创建此项目的初衷目前移动端越来越重要,好多项目都从PC端转移到了移动端。前一段给客户做了一个PC和M自适应的项目,用vue-element-admin框架,手机端也能用,但体验有点差,客户改了好多。本来是好意,客户只要一端,然后我做了两端都可以用的。结果啪啪打脸,我是以PC为主的,同时M也能用,但体验不如PC好,但客户根本不在电脑上用,只要手机上用,所以提了好多手机端使用的问题。有时候大而全的东西并不好,手机能拍照,但还是不如专业的相机好用。所以就在网上找移动端的后台管理系统,发现并没有,所以就想
2021-03-05 17:23:57
4761
5
原创 分享一个查看外网IP的工具
平时需要多次查询外网Ip,以前都是在百度里查看,很方便但也不是特别方便,今天有空做成一个小工具,方面大家使用,现免费提供给大家下载。界面如下:下载地址一:https://github.com/zhupengfeivip/IpTools/releases/download/1.0.0/IpTools.exe下载地址一:如果你想有什么功能,可以随时给我留言,我会考虑增加。...
2021-03-04 17:30:15
1133
2
原创 FreeSql生产环境自动升级数据库解决方案
项目场景:使用FreeSql,包含所有的ORM数据库,都会存在这样的问题。在codefirst模式下,根据代码自动更新数据库,都建议不要在生产环境使用。为什么呢?其实不建议使用,主要是根据代码自动生成数据时,极有可能会造成数据的丢失,比如修改字段类型,自动更新的结果可能并不是自己想的。但是有一些使用场景是需要在生产环境自动升级的,比如我们有一个CS客户端的产品,客户本地离线使用,客户本地部署,数据库也是本地数据库,版本从1000,迭代到了1100,中间发布了100个版本。这中间可能有多次数据库更改。
2020-12-15 10:12:41
730
原创 gitee代码管理使用指南,适合非专业人员
目的在平时工作,有好多非专业人员需要使用git版本库,或者一些新手,为了让他们尽快上手,先使用起来,所以整理本帮助文档。软件安装git如果你不确定是否已安装过,可以先在cmd中测试一下,如下图:官方地址https://git-scm.com/download/win一步一步安装即可。安装后执行上面的测试,看到版本号说明安装成功。同时右键一般也会多出如上菜单。这些都表示已经安装成功。至此,git已经安装完毕,我们可以使用git命令来完成所有工作,但是git命令太专业了,接下来,我们
2020-11-15 23:13:02
827
原创 xshell调试时显示乱码如何解决?未解决求助贴
请认真看完,不是你想的那么简单。问题描述1、xshell本地目录显示中文正常。2、连接linux服务器,显示中文正常。只有本地调试程序时,显示不正确。结果未解决,网上查的xshell显示中文的,好像跟上面都不一样。...
2020-11-11 13:18:54
398
原创 meriadb免安装启动
有时候不太想安装一堆软件,所以最喜欢绿色免安装的,今天尝试弄一个meriadb免安装运行。先从官网下载绿色版本https://downloads.mariadb.org/mariadb/10.5.7/确认配置文件,找到my.ini[mysqld]datadir=D:/Program Files/MariaDB 10.2/dataport=3306innodb_buffer_pool_size=4083Mcharacter-set-server=utf8[client]port=3306
2020-11-11 09:40:37
419
原创 .net下ORM框架对比
概述今天总结几个.net的ORM框架,排名不分顺序。ORM是啥ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。ORM框架介绍SqlSugar(国内)世界上最简单的ORM,只需要配置连接字符串,F5运行控制台自动建库建表运行DEMOSupport:MySql、SqlServer、Sqlite、Or
2020-11-09 11:59:23
1610
1
原创 .net自研chorme内核浏览器
先说为什么要自研呢1、在一些商业软件中,可以统一浏览器,这样不用考虑浏览器的兼容性,开发成本小,甚至不需要专门的前端开发,容易维护。2、JS调用CS浏览器功能,可以实现客户端打印等,解决一些系统打印的问题,OCX已经不再被支持,可以使用JS调用浏览器替代。3、屏蔽右键和调试器,保护程序。其他可以实现的,比如接管js对话框,并自动触发是或否的按钮JS和C#通信给页面或iframe注册全局的回调函数接管或屏蔽页面的请求先说一下cefCef项目是C/C++的项目;下面我们来看看Cef项目生成
2020-11-04 17:38:54
1165
原创 .net4.0运行时安装说明(xp,win7,win10)
概述现在大多windows桌面版的系统都是使用.net开发,所以我们整理了一下目前流行的.net4.6.1运行时的安装说明。win 10 (1511)以上(含)系统不需要安装。win7系统需要安装,可以直接安装。win xp系统必须到sp3,才可以安装。.net版本支持的系统列表:https://docs.microsoft.com/en-us/dotnet/framework/get-started/system-requirementswin xp sp3示意图【我的电脑】右键【属性】
2020-11-04 16:33:54
4964
原创 CS和BS融合开发-NanUI前后端交换数据
安装包NetDimension.NanUI.DataServiceResource在代码中注册数据接口包app.UseDataServiceResource(“http”, “api.app.local”);详细代码如下using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;using NetDimensi
2020-11-04 14:37:29
989
原创 CS和BS融合开发-NanUI加载本地html
接着上一个文章,也可以创建一个新项目,也可以在同一个项目里。添加资源包配置网站根目录//加载本地资源 app.UseLocalFileResource("http", "static.app.local", @"D:\myGtreeCode\demo1\WindowsFormsApp1\wwwroot");完整代码 program.csusing System;using System.Collections.Generic;using System.Lin
2020-11-04 13:38:00
743
2
原创 CS和BS融合开发-NanUI使用说明
介绍NanUI是一套桌面开发框架,最终输出的是exe桌面程序,但运行的内容是BS页面的内容。解决了CS界面不容易输出很美观界面的问题。官网说明:这是一个开放源代码的 .NET / .NET Core 窗体应用程序(WinForms)界面组件。您可以使用 HTML5 / CSS3 / Javascript 等前端技术来构建您的应用程序界面。主流的Javascript框架,比如Angular, React, Vue都是可以用来构架SPA应用的明智选择。使用 NanUI 界面组件将给您的窗体设计工作带来
2020-11-04 11:51:49
6155
8
原创 免费会员管理管理系统
概述金元宝会员管理管理1.0,是一套完全免费的会员管理系统,包含会员管理、门店收银、商品进销存管理、供应商管理等等。适用于:烟酒店五金店小商品店会所会馆汽车美容店足疗足浴店化妆品店美容美发店教育培训少儿培训美甲店宠物店便利店孕婴店健身房蛋糕店奶茶店服装店眼镜店修鞋店游泳馆服装店本系统为单...
2020-11-02 18:02:11
4406
27
原创 redis修改string的值而不修改过期时间
问题描述在某些场景中,我们只需要修改redis的值,而不需要改变过期时间。比如正在做的扫码登录。不了解扫码登录实现流程的可以百度一下。第一步先生成一个uuid,存入redis,然后app扫码后,传入token,存到redis中,然后传给pc。这里redis先存入一个key=uuid,value为空,然后超时时间为30秒。app扫码后,需要更新value为token。此时就遇到问题了如果用set,则必然改变超时间。解决方案一很多人都会说,那不简单吗?封装一下,set前,先查询一下剩余时间,然
2020-10-22 15:22:47
4426
2
原创 redis命令详细使用介绍
官方文档http://doc.redisfans.com/SETEX将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位,必须大于0,不能传-1)。需要设置为永久不过期时,请使用SEX方法。如果 key 已经存在, SETEX 命令将覆写旧值。这个命令类似于以下两个命令:SET key valueEXPIRE key seconds # 设置生存时间不同之处是, SETEX 是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一
2020-10-22 15:08:51
214
原创 nodemailer邮件发送如何判断成功
问题说明在to同时bcc,也就是同时存在收件人和密送人时,收件人邮件地址是错误的,也能返回成功。给506921467发邮件,同时抄送其他邮箱,主收件人是失败的,抄送的邮件显示收件人为空.以下日志是给email:506921467@qq.com发邮件,所有人都是成功的[2020-10-21T16:34:08.046] [DEBUG] email.service.js - sendEmail506921467@qq.com 【xxxx】验证码:615153,该验证码5分钟内有效,限本次使用,请勿泄露
2020-10-21 17:31:39
804
原创 validator中isEmail详细介绍
validator中isEmail是我们常用的验证email的方法,但你真的了解他的用法吗?https://github.com/validatorjs/validator.js/blob/master/src/lib/isEmail.jsisEmail(str [, options])check if the string is an email.options is an object which defaults to { allow_display_name: false, require_
2020-10-21 11:51:36
3443
zh-hans_windows_xp_service_pack_3_x86_cd_x14-60563.iso
2020-10-09
金元宝免费会员管理系统单机版
2019-07-23
JsonView优化版,独一无二
2018-08-15
nwjs-v0.30.0-win-x64亲测可用
2018-04-22
host管理工具1.0
2018-04-19
用SQl Navigator5.5进行数据库开发的版本控制服务端设置说明.doc
2011-02-24
NET环境下水晶报表使用总结.doc
2010-03-23
JAVA项目打包后jar很大,每次更新必须全量替换,有没有办法?
2024-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人