
11
文章平均质量分 91
u012804784
这个作者很懒,什么都没留下…
展开
-
打造企业自己代码规范IDEA插件(中)
在开始独立研发公司自己的代码规范检查规则之前,先介绍一些相关的基本概念。它可以发现常见的编程缺陷,如未使用的变量、空catch块、不必要的对象创建等。通过 PMD-Designer 能可视化的帮助我们实现 XPath 的相关代码规范规则以及验证相关规则;给出了一个例子,基于阿里开源代码规范插件源码,编写适用自己公司的代码规范的方式。两者的结合就能进行违规代码的检查,这就是XPath规则代码规范检查基本原理。步骤四:新建emo-common.xml 的规则集合,并将实现的规则配置进去。原创 2022-09-29 01:11:18 · 520 阅读 · 0 评论 -
手把手教你使用LabVIEW人工智能视觉工具包快速实现传统Opencv算子的调用(含源码)
今天我们一起来使用LabVIEW AI视觉工具包快速实现图像的滤波与增强;图像灰度处理;阈值处理与设定;二值化处理;边缘提取与特征提取等基本操作。工具包的安装与下载方法可见之前的博客。具体源码详细请见下载链接。更多关于LabVIEW与人工智能技术,可添加技术交流群进一步探讨。qq群号:705637299,请备注暗号:LabVIEW 机器学习。原创 2022-09-28 12:43:46 · 7498 阅读 · 1 评论 -
密码学奇妙之旅、03 HMAC单向散列消息认证码、Golang代码
发送者需要同时把消息和认证码发送给接收者,接收者接收了两者,并根据接收到的消息和共享的密钥生成认证码进行比较。,因为"A","B"两者都有密钥,都可以生成消息和MAC。因此第三方不知道是谁生成的,更不知道消息的真实性。,消息认证码的输入包括任意长度的消息和一个发送者和接收者之间共享的密钥(可能还需要共享盐值)。盐是通过伪随机数生成器生成的随机数,会和密钥一起被输入单向散列函数。时间戳,收发双方必须考虑到通信延迟,还是会存在重放攻击的空间。**MAC不能保证信息的机密性!小能正在往前冲 -原创 2022-09-28 01:05:54 · 260 阅读 · 0 评论 -
设计模式之状态模式
很多博客都将策略模式的案例代码当做状态模式来讲解,这是不正确的,读者可以参考策略模式两篇做对比学习,认真体会他们之间的区别。在实际开发中,当控制一个对象状态转换的条件表达式过于复杂时,就可以使用状态模式把相关“判断逻辑”提取出来,用各个不同的类进行表示。系统处于哪种情况,直接使用相应的状态类对象进行处理,这样能把原来复杂的逻辑判断简单化,消除了 if-else、switch-case 等冗余语句,代码更有层次性,并且具备良好的扩展力。原创 2022-09-27 12:38:00 · 92 阅读 · 0 评论 -
使用 Windows 包管理器 (winget) 安装 .Net
支持的 .NET 版本可通过 winget 获得定期更新。不支持的版本不会获得任何更新,要开始使用,请参阅有关安装和使用 winget 工具的页面,默认情况下,Windows 程序包管理器 winget 命令行工具作为应用安装程序与 Windows 11 和现代版本的 Windows 10 捆绑在一起。如果你运行的是早期版本的 Windows 并且未安装应用安装程序,则可。需要注意的是,首次使用该工具,需要先等待下载,并且会提示是否同意协议。如果你需要安装 .Net 的预览版,可以执行下面的命令。原创 2022-09-27 01:06:24 · 812 阅读 · 0 评论 -
初识设计模式 - 代理模式
举个简单的例说明代理模式就是:假如现在需要买一辆二手车,可以自己去找车源、做质量检测等一系列车辆过户的流程,但是这实在太浪费时间和精力了,其实可以通过找中介的方式,同样会找车源、做质量检测等一系列车辆过户的流程,但是这样自己就只需要选车、付钱即可。协调调用者和被调用者,在一定程度上降低了系统的耦合,满足迪米特原则客户端可以针对抽象主题角色进行编程,增加和更换代理类无需修改源代码,符合开闭原则。原创 2022-09-26 12:36:21 · 284 阅读 · 0 评论 -
linux系统安装MySQL数据库安装保姆级教程及1045错误和2058问题解决
在D:\mysql数据库\mysql-5.7.39-winx64(需要注意的是,这里是你自己的安装路径)目录下新建一个配置文件,文件名叫my.ini,然后把下面的配置代码复制到在my.ini(代码中的路径要改成自己的文件存放路径)。原创 2022-09-26 01:08:55 · 474 阅读 · 0 评论 -
各编程语言 + aardio 相互调用示例
aardio 调用 PowerShell,并且在 PowerShell 中调用 aardio。代码都很简单,复制可直接运行。aardio 快速调用 C,C++,C#,Java,R,V,Python,JavaScript,Node.js,Rust,PHP,Ruby,PowerShell,Fortran,Delphi,Julia,Nim,批处理 ……aardio 直接调用 .Net / C# 组件( 支持相互调用,支持委托这些)aardio 直接调用 Java ( 也支持相互调用 )原创 2022-09-25 01:12:34 · 1223 阅读 · 0 评论 -
aspnetcore6.0源代码编译调试
restore碰运气,如果红色错误多的话需要细看再细看,我遇到两个大的错误,一个是提示node的版本太老,就是我电脑版本是多少, 实际要求的版本是多少,我直接卸载重装了最新的node。git tag 查看版本(注意该命令需要进入到下载的代码文件夹aspnetcore里执行),一直回车直到显示所有版本,选择自己想要的版本号,记下来,输入!虽然编译源码折腾了几个时间(卡在restore),最后还是跑起来了aspnetcore6.0mvc源码项目,下面说步骤,前提是网络能连外,对于不能连外的懒得折腾。原创 2022-09-24 12:42:12 · 888 阅读 · 0 评论 -
frp内网穿透实战
使用条前提你需要有一台公网服务器,大致原理是:公网服务器监听某个端口等待内网服务器连接,内网服务器连接成功后用户访问公网的某一个端口,访问的所有内容都会转发到内网服务器,也就是所有的请求都会经过公网服务器转发一次,还不是真正的完全内网穿透。直接使用IP最多只能允许一台内网服务器访问连接,自定义域名可以解决此问题。内网服务器将即可看到的内容。原创 2022-09-24 01:09:30 · 850 阅读 · 0 评论 -
一门能让你五分钟学会的语言-Brainfuck
比如,一门新的语言,我们要证明其是否是图灵完备的,如果用数学证明的方式必然会比较复杂,但是如果你能用这门新语言实现一个 Brainfuck 的解释器,那么就必然证明其是图灵完备的。⑤、第五行,循环的结束语句,判断指针所在格子是否为0,不为0,移动到第3行代码继续执行,为零则退出循环。首先我要说的是,这门语言并不是为了设计实际软件而设计的,而是为了挑战计算机编程的界限。看到标题,不出意外的话,你肯定开始骂我了:**标题党,什么编程语言五分钟就能学会?⑥、第六行,指针向右移动一格,并且向终端输出该格子的值。原创 2022-09-23 12:40:49 · 142 阅读 · 0 评论 -
JS 模块化 - 02 Common JS 模块化规范
Common JS 是模块化规范之一。每个文件都是一个作用域,文件里面定义的变量/函数都是私有的,对其他模块不可见。Common JS 规范在 Node 端和浏览器端有不同的实现。或exports加载模块:require()Node:Node JS 支持 Common JS 规范;浏览器:需要使用browserify编译。原创 2022-09-23 01:06:33 · 94 阅读 · 0 评论 -
Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。使用了Spring框架后已经简化了我们的开发。而SpringBoot又是对Spring开发进行简化的,可想而知SpringBoot使用的简单及广泛性。既然SpringBoot是用来简化Spring开发的,那我们就先回顾一下,以SpringMVC创建工程,并在pom.xml配置文件中配置所依赖的坐标编写web3.0的配置类作为web程序,web3.0。原创 2022-09-22 12:43:04 · 241 阅读 · 0 评论 -
Gitea 与 Drone 集成实践:完全基于 Docker 搭建的轻量级 CI/CD 系统
使用 Docker 作为 Drone Runner 的好处是可以将流水线执行过程完全以容器化的方式执行,不对容器的宿主服务器环境造成破坏。由于 CI/CD 任务的特殊性,工作繁忙时会占用较多的系统资源,因此为了提高系统整体可靠性,不建议将 Gitea、Drone Server、Drone Runner 安装在同一台服务器上。Drone 服务器管理 CI/CD 系统的调度,而 Drone Runner 则是 CI/CD 流水线的执行者。首先,登录一个您要用于集成 Drone 的 Gitea 账号,进入。原创 2022-09-22 01:05:48 · 485 阅读 · 0 评论 -
Mybatis 一级缓存和二级缓存原理区别 (图文详解)
陈睿|mikechen,10年+大厂架构经验,《BAT架构技术500期》系列文章作者,分享十余年架构经验以及面试心得!阅读mikechen的互联网架构更多技术文章合集Java并发|JVM|MySQL|Spring|Redis|分布式|高并发|架构师。原创 2022-09-21 12:35:54 · 211 阅读 · 0 评论 -
设计模式---建造者模式
无需定义大量的构造方法。既有set方法的灵活性,又消除了set可能出现的属性固定顺序设置的问题。流式编程的风格,代码清晰简洁。原创 2022-09-21 01:11:49 · 126 阅读 · 0 评论 -
四元数Quaternion的基本运算
本文主要介绍四元数Quaternion的一些基本运算法则。四元数的概念,更像是复数的一个推广,在图形学和工程学中有大量的应用,在蛋白质结构预测软件AlphaFold和MEGA-Protein中都大量的使用了四元数的计算。而大部分的四元数的教材中写的计算法则,经常把各类乘法混在一起使用,阅读起来非常难受,因此只好自己总结一下四元数的相关运算。并且跟我们所熟悉的复数运算有一定的对比,更加容易去理解四元数的概念。原创 2022-09-20 12:36:05 · 1815 阅读 · 0 评论 -
【一月一本技术书】-【Go语言设计与实现】- 9月
用树状的方式表示编程语言的语法结构。每一个节点表示源代码的一个元素。每一颗子树表示一个语法元素。2 * 3 + 7抽象语法树抹去了源代码中不重要的一些字符:空格、分号、括号等接口是计算机系统中多个组件共享的边界。不同的组件能够在边界上交换信息。接口的本质是引入一个新的中间层。调用方可以通过接口与具体的实现分离。解除上下游的耦合。上层的模块不需要依赖下层的具体模块。只需要依赖一个约定好的接口。面向接口的编程方式有着非常强大的生命力。Go语言中的接口是一种内置的类型。定义了一组方法的签名。原创 2022-09-20 01:10:02 · 743 阅读 · 0 评论 -
前端稳定性建设
稳定性是数学或工程上的用语,判别一系统在有界的输入是否也产生有界的输出。若是,称系统为稳定;若否,则称系统为不稳定。前端的稳定性大致也可以如此概括,简单地说就是在外界影响下表现出的某种稳定状态,例如无报错、响应快、内容呈现正确等。要想达到稳定状态,需要做些有效的防范措施和机制,而这些也正是我们组现在和未来会持续推进的工作之一。原创 2022-09-19 12:36:33 · 699 阅读 · 0 评论 -
微信小程序--云开发
微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。相信大家都收到了微信的通知微信云开发于 2022 年 08 月 18 日,对计费方式做了变更,部分指标价格有所上浮。新用户免费使用 1 个月后,统一使用 “基础套餐+按量付费” 模式:购买带有一定配额的基础套餐后,超出套餐配额部分再按照实际使用量付费。原创 2022-09-19 01:07:49 · 1838 阅读 · 0 评论 -
继GitHub的Copilot收费后,亚马逊推出了 CodeWhisperer,感觉不错哟!
如果你尝试使用 CW,它可能会让你想象:可能有一天,有人会写出历史上最后一行由人类编写的代码。在那之前,CW 可以帮助你成为一个更好的程序员,这样即使世界上最后一个程序员是你,人类的最后一行代码也不会有 bug。本文首发于Python猫,未经许可,请勿转载Python猫豌豆花下猫豌豆花下猫Python猫。原创 2022-09-17 12:42:12 · 903 阅读 · 0 评论 -
SpringBoot 配置文件使用详解
文件中配置的属性名称,它提供了一些绑定规则,它不要求配置的属性名称完全与 Bean 中的属性名称相同。@ConfigurationProperties:将配置文件中的相关配置和类里面的属性进行绑定。YAML 是比 properties 格式更年轻,在云原生里用的很多这种配置格式。在上一小节的图中可以看到,在 src/main/resources 目录下的。加载顺序依次从上到下,所有文件都会加载,高优先级的内容会覆盖低优先级的内容。上面的也可以用 @Value 读取,程序跟前面例子一样。原创 2022-09-17 01:06:28 · 1370 阅读 · 0 评论 -
Java开发学习(三十三)----Maven私服(一)私服简介安装与私服分类
团队开发现状分析(1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可(2)李四负责ssm_order的开发,需要用到张三所写的ssm_pojo模块,这个时候如何将张三写的ssm_pojo模块交给李四呢?(3)如果直接拷贝,那么团队之间的jar包管理会非常混乱而且容器出错,这个时候就想能不能将写好的项目上传到中央仓库,谁想用就直接联网下载即可。原创 2022-09-16 12:38:55 · 698 阅读 · 0 评论 -
python一招完美搞定Chromedriver的自动更新
有了这段脚本webdriver-manager会灰常贴心地自动检查本地缓存路径,确认有无该版本的chromedriver,如果确认没有,它才会联网下载最新版本的chromedriver,控制台中还会显示下载速度和进度,极其用心。这里引出了真正的问题,假使我们本机上使用的chrome不是最新版,我们又该如何去实现自动更新chromedriver呢?4、从步骤3获得的所有下载链接中,找到主版本与chrome一致的,从中随意取出一个即可满足要求(我们不妨取出第一个满足要求的chromedriver版本);原创 2022-09-16 01:12:29 · 4692 阅读 · 0 评论 -
【设计模式】Java设计模式 - 外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。———— 菜鸟联盟。原创 2022-09-15 12:40:55 · 438 阅读 · 0 评论 -
写个续集,填坑来了!关于“Thread.sleep(0)这一行‘看似无用’的代码”里面留下的坑。
很明显,我们的示例代码就属于这种情况。也就是说,如果在初始的汇编中有 {poll} 指令,但是在经过 JIT 充分优化之后的代码,也就是前面说的 C2 阶段的汇编指令里面,找不到 {poll} 这个指令,就说明安全点确实是被干掉了。我给你截这几张的意思就是表明,你只要知道,我现在已经可以拿到优化之前和之后的汇编指令了,但是他们自己的差异点很多,那么我应该关注的差异点是什么呢?所以,当你的睡眠时间比 1000ms 小太多的时候,安全点的轮询还没开始,你就 sleep 结束了,当然观察不到主线程等待的现象了。原创 2022-09-13 12:46:32 · 532 阅读 · 0 评论 -
Docker安装Redis并使用Another Redis Desktop Manager连接
这时候,Another Redis DeskTop Manager作为一款基于nodejs开发的免费的Redis可视化管理工具,可以运行在Windows、Linux、Mac平台,而且是开源免费应用,就很推荐使用了。首先Docker运行的每个容器都是隔离的,Redis默认不允许外部连接,因此想要部署在Docker容器内的应用连接上Redis,需要修改Redis默认配置,这里我们以配置文件运行redis即可。可以通过 Sort by 查看其他版本的 Redis,默认是最新版本(原创 2022-09-13 01:17:46 · 2150 阅读 · 1 评论 -
[DOM]获取元素:根据ID、标签名、HTML5新增的方法、特殊元素获取
目录*+++原创 2022-09-11 12:38:29 · 2425 阅读 · 0 评论 -
Liquibase-数据库脚本版本管理控制
Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。不依赖于特定的数据库,Liquibase会自动适配目标数据库进行脚本初始化,目前支持至少30种主流数据库。提供数据库比较功能,比较结果保存在XML中,基于该XML可以用Liquibase轻松部署或升级数据库。以XML记录/存储数据库变化,其中以author和id唯一标识一个变化(ChangSet),支持数据库变化的合并,因此支持多开发人员同时工作。原创 2022-09-11 01:07:40 · 1384 阅读 · 0 评论 -
关于 JavaScript 中 null 的一切
null是JavaScript中的一个特殊值,表示丢失的对象严格相等运算符判断变量是否为空:。typoef操作符用于确定变量的类型()。但是,typeof在null情况下会引起误解:结果为objectnull和undefined在某种程度上是等价的,但null表示一个丢失的对象,而undefined表示未初始化状态尽可能避免返回null或将变量设置为null。因为这种做法会导致null值的扩展和需要对null的验证。相反,尝试使用具有默认属性的对象,或者甚至抛出错误会是更好的实践。原创 2022-09-10 12:42:09 · 1174 阅读 · 0 评论 -
使用 MAUI 在 Windows 和 Linux 上绘制 PPT 的图表
以上的数值定义全部采用 float 类型,其原因是 MAUI 为了更好的适配更多的平台,选用了 float 作为渲染绘制的参数的通用类型。如对 OpenXML 解析 PPT 毫无概念的伙伴,阅读本文也不会存在问题,只需要假定本文的解析 PPT 的代码是通过某个方式获取到了图表的相关信息即可,请将重点放在图表的绘制渲染,以及如何做跨平台对接上。以上代码通过 StrokeSize 设置绘制的线条的粗细是 2 的值,这里的值是没有一个单位的,具体的单位是具体的渲染平台自己赋予的,可以认为是像素。原创 2022-09-09 12:38:21 · 1017 阅读 · 0 评论 -
Dart 2.18 正式发布
与 Objective-C 和 Swift 等互操作、网络请求库、Dart 编程语言的类型推断以及 pub.dev 的更新等已经正式可用。开始体验,请下载最新的 Dart 2.18 正式版,或者直接在 Flutter 3.3 中体验,也可以直接在 DartPad 中体验 Dart 编程语言。最后就是空安全的迁移,请即刻着手迁移,与我们共同构建和体验拥有健全空安全特性的 Dart 编程语言!原文链接本地化: CFUG 团队: @chenglu、@Vadaski、@MeandNi、@Realank中文链接。原创 2022-09-09 01:09:11 · 224 阅读 · 0 评论 -
使用 Vue3 构建 Web Components
总体来说坑还是有不少的,如果仅仅需要构建一些比较简单跨框架插件,使用这种方式来构建 Web Components 也是一种不错的方案。原创 2022-09-08 12:43:28 · 741 阅读 · 0 评论 -
03-安装docker及使用docker安装其他软件(手动挂载数据卷)
两者都是使用exit退出容器内部,区别在于,后者退出会导致容器停止运行。注意:一般不使用这种方式来加载镜像容器,查看所有容器(包括运行中的、已经停止的)参考下文的docker安装常用软件。prune 删除所有已经停止的容器。可以通过这个查看需要下载的镜像版本。其中又一个地方需要注意,就是。docker容器重新启动。可以参考官方的安装文档。修改mysql配置文件。修改redis配置文件。查看正在运行中的容器。安装mysql5.7。原创 2022-09-08 01:09:35 · 531 阅读 · 0 评论 -
通过VS下载的NuGet包,如何修改其下载存放路径?
我们都知道,C盘的存储资源是有限的,而随着我们开发的项目越来越多,所引用的NuGet包自然而然也是越来越多。如果我们不做清理,这些文件会一直占据C盘的存储空间,让本就不富裕的C盘雪上加霜,而我们定时清理的话,下一次打开项目时会出现引用丢失找不到的情况,或者VS又重新下载引用包文件,简直是费时费力不讨好。用VS重新打开某一项目,将项目中的某个引用包卸载后重新安装,在项目引用列表中找到这个引用项,右键打开属性面板,在“路径”一栏中我们可以清晰的发现引用的地址已经变成了我们刚刚设置的新地址。原创 2022-09-07 01:12:40 · 5392 阅读 · 0 评论 -
ASP.NET Core 6框架揭秘实例演示[35]:利用Session保留语境
客户端和服务器基于HTTP的消息交换就好比两个完全没有记忆能力的人在交流,每次单一的HTTP事务体现为一次“一问一答”的对话。单一的对话毫无意义,在在同一语境下针对某个主题进行的多次对话才会有结果。会话的目的就是在同一个客户端和服务器之间建立两者交谈的语境或者上下文,ASP.NET Core利用一个名为SessionMiddleware的中间件实现了会话。本篇提供了几个简单的实例来演示如何在一个ASP.NET Core应用中利用会话来存储用户的状态。(本文提供的示例演示已经同步到《》)。原创 2022-09-06 12:37:46 · 363 阅读 · 0 评论 -
图解Kubernetes的Pod核心资源-来白嫖啊
如下图,在K8S中资源调度的基本单位是PodPod其实是一个抽象的概念,Pod里是我们的业务容器(docker/containerd)。像大家听过的Deployment、StatefulSet、CronJob等资源调度对象所调度的资源都是Pod。为了更好的理解Pod的概念,大家可以将Pod理解成VM 虚拟机,将Pod中的容器理解成VM中的进程。既然这样理解,就意味着Pod中的容器进程可以直接通过localhost+端口号实现网络互通,也意味着Pod中的容器可以实现类似直接读取彼此产出到磁盘上的文件的效果。原创 2022-09-05 12:42:58 · 838 阅读 · 0 评论 -
大家都能看得懂的源码之ahooks useInfiniteScroll
useInfiniteScroll 封装了常见的无限滚动逻辑。详细可看官网注意:这里的无限滚动指的是常见的点击加载更多或者说下拉加载更加功能,而不是虚拟滚动,虚拟滚动后面会讲到。原创 2022-09-05 01:13:04 · 634 阅读 · 1 评论 -
用Python实现广度优先搜索
(1) 找出当前顶点的所有邻接点。如果有哪个是没访问过的,就把它标为“已访问”,并且将它入队。(尽管该顶点并未作为“当前顶点”被访问过。(2) 如果当前顶点没有未访问的邻接点,且队列不为空,那就再从队列中移出一个顶点作为当前顶点。此外我们额外写了一个向上反向找寻路径的工具类(主要代码写好,不想动原来的结构了)(3) 如果当前顶点没有未访问的邻接点,且队列里也没有其他顶点,那么算法完成。我们将其移出队列,标为“已访问”,并记为当前顶点。3A所有领接点都访问完成,开始访问B的领接点。4知道队列为空,算法结束。原创 2022-09-04 01:13:12 · 313 阅读 · 0 评论 -
踩坑 Windows 服务来宿主 .NET 程序
后我们的程序已经只有一个 dll/exe 了,但是在 windows 上运行的时候会是一个控制台程序,很容易人不小心关闭了。当按照上面的步骤尝试把 asp.net core 程序部署为服务的时候死活起不来,一直报未找到文件的异常。根据以往的经验,可能还是作为服务运行的时候程序根目录的问题,通过以上方法来指定 AppContext.BaseDirectory 来作为程序的根目录,不然就有可能被定位到 system32 目录下。如果你的服务只想执行一些后台任务,比如定时任务,并不提供网站的服务。原创 2022-09-02 12:43:01 · 481 阅读 · 0 评论