算法 模式 代码 方式

react的diff算法

diff策略 React用 三大策略 将O(n^3)复杂度 转化为 O(n)复杂度 策略一(tree diff): Web UI中DOM节点跨层级的移动操作特别少,可以忽略不计。 策略二(component diff): 拥有相同类的两个组件 生成相似的树形结构, 拥有不同类的两个组件 生成不同的树 ......
算法 react diff

用状态模式改善代码的可维护性

设计模式之状态模式 状态模型是一种软件设计模式,它通过将对象的行为随状态变化而变化来实现状态机的行为。状态机可以将一个对象的生命周期分解为若干个状态,并规定在不同状态下,对象可以进行哪些行为,以及如何从一个状态转移到另一个状态。 状态模型中的状态被封装在不同的状态类中,这些状态类实现了一个共同的接口 ......
可维护性 状态 模式 代码

CosineWarmup理论与代码实战

摘要:CosineWarmup是一种非常实用的训练策略,本次教程将带领大家实现该训练策略。教程将从理论和代码实战两个方面进行。 本文分享自华为云社区《CosineWarmup理论介绍与代码实战》,作者: 李长安。 CosineWarmup是一种非常实用的训练策略,本次教程将带领大家实现该训练策略。教 ......
CosineWarmup 实战 理论 代码

详解目标检测模型的评价指标及代码实现

摘要:为了评价模型的泛化能力,即判断模型的好坏,我们需要用某个指标来衡量,有了评价指标,就可以对比不同模型的优劣,并通过这个指标来进一步调参优化模型。 本文分享自华为云社区《目标检测模型的评价指标详解及代码实现》,作者:嵌入式视觉。 前言 为了了解模型的泛化能力,即判断模型的好坏,我们需要用某个指标 ......
模型 指标 目标 代码

5-springboot集成热部署的方式

热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,这样大大提高了我们开发的效率; Spring boot热部署通过添加一个插件实现; 插件为:spring-boot-devtools,在Maven中配置如下: <!-- springboot 开发自动热部署 --> <dependency> ......
springboot 方式

【grpc】根据proto生成grpc接口Python代码

1、编写自己的proto接口文件 syntax = "proto3"; package helloworld; // 对应包名 // 定义服务 service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (Hel ......
grpc 接口 代码 Python proto

编写高质量c#代码的20个建议

一。字符串操作:哪个效率更高。1.string 装箱2.StringBuilder 更高3.string.Format("{0}{1}{2}",a,b,c) 更高 二。默认类型转换:使用类型内部的方法转换;parse,tryparse,tostring,todouble,to datetimetry ......
高质量 代码 建议

算法笔记

算法笔记 10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 股票问题系列通解(转载翻译) - 力扣(LeetCode) 数据结构和容器 基本类型: int,lo ......
算法 笔记

hash模式下前后端路径相同时,nginx如何转发

背景:前期没有进行前后端分离,前端页面由后端转发,即路由的前缀由后端的接口前缀决定;现在想要做到不改变路径做前后端分离且容器化。 前后端分离后,前后端的转发要根据路径前缀做转发,假如项目没有对外开放,内部使用,前端直接在router添加baseUrl,url会自动带上这个路径,以后访问路径需要更改; ......
路径 模式 nginx hash

解决python opencv2在pycharm中没有代码提示的问题 (不修改包文件)

解决python opencv2在pycharm中没有代码提示的问题 (不修改包文件) Jetbrain官方论坛解决方案 (en) 解决方法1 打开windows的环境变量配置 添加新环境变量 名: PYTHONPATH 值: 你的cv2库的文件夹路径 一般的(如果用的是venv),cv2的路径在你 ......
opencv2 pycharm 代码 文件 python

算法总结--动态规划

声明(~~叠甲~~):鄙人水平有限,本文为作者的学习总结,仅供参考。 ##1.动态规划介绍 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。其中每一个状态一定是由上一个状态推导出来,这是DP的一个重要标志。 ##2.DP大法的使 ......
算法 动态

如何基于Security框架兼容多套用户密码加密方式

一、说明 当已上线的系统存在使用其他的加密方式加密的密码数据,并且密码 不可逆 时,而新的数据采用了其他的加密方式,则需要同时兼容多种加密方式的密码校验。 例如下列几种情况: 旧系统用户的密码采用了 MD5 的加密方式,而升级框架后的新系统则采用 BCrypt 的加密方式; 当割接历史数据后会存在用 ......
多套 框架 Security 密码 方式

【Visual Leak Detector】在 QT 中使用 VLD(方式二)

说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。 1. 使用前的准备 参考本人另一篇博客 安装 Visual Leak Detector 下载 vld-2.5.1-setup.exe 并按步骤安装 VLD。这一种使用方式的特点是,在一台电脑上安装完成后,需在项目 pro 文件中指明库及 ......
Detector 方式 Visual Leak VLD

【Visual Leak Detector】在 QT 中使用 VLD(方式三)

说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。 1. 使用前的准备 参考本人另一篇博客 安装 Visual Leak Detector 下载 vld-2.5.1-setup.exe 并按步骤安装 VLD。这一种使用方式的特点是,在一台电脑上安装完成后,将 VLD 安装目录下的 lib ......
Detector 方式 Visual Leak VLD

设计模式(二十五)----行为型模式之访问者模式

1 概述 定义: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 2 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就是可以访问的元素,它的方法个数理论上来讲 ......
模式 设计模式 访问者 行为

设计模式(二十七)----行为型模式之解释器模式

1 概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 //用于两个整数相加 public static int add(int a,int b){ return a + b; } ​ //用于两个整数相加 public static int a ......
模式 解释器 设计模式 行为

设计模式(二十四)----行为型模式之迭代器模式

1 概述 定义: 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 2 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。 具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一 ......
模式 设计模式 行为

机器学习算法(一): 基于逻辑回归的分类预测

逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。 ......
算法 逻辑 机器

.Net7 GC标记阶段代码的改变

前言 由于业务需求,在探究.Net7的CLR,发现了一个不通的地方,也就是通过GCInfo获取到了对象之后。它并没有在GcScanRoots(对象扫描标记)里面对它进行标记,那么如果没有标记这个对象如何被计划阶段构建呢?仔细研读,发现它跟之前的代码之所以不同,是因为它把标记抽取出来,另外形成一个数组 ......
标记 阶段 代码 Net7 Net

.NET应用系统的国际化-基于Roslyn抽取词条、更新代码

上篇文章我们介绍了 VUE+.NET应用系统的国际化-多语言词条服务 系统国际化改造整体设计思路如下: 提供一个工具,识别前后端代码中的中文,形成多语言词条,按语言、界面、模块统一管理多有的多语言词条 提供一个翻译服务,批量翻译多语言词条 提供一个词条服务,支持后端代码在运行时根据用户登录的语言,动 ......
词条 应用系统 代码 Roslyn 国际

前端设计模式——模板方法模式

模板方法模式(Template Method Pattern):定义一个行为的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个行为的结构即可重定义该行为的某些特定步骤。 这些步骤被称为“具体操作”(Concrete Operations),而整个行为的结构和顺序则被称为“模板方法”(T ......
模式 设计模式 前端 模板 方法

WPF监听快捷键的几种方式

调用Win32 API(优先级最高,全局监听, 支持最小化失焦等情况) 那么,假如我要在一个WPF程序监听CTRL+5按键,首先在主窗口程序添加以下代码: /// <summary> /// CTRL+5事件Id /// </summary> private const int Ctrl5KeyEv ......
快捷键 方式 WPF

基于深度学习的鸟类检测识别系统(含UI界面,Python代码)

鸟类识别是深度学习和机器视觉领域的一个热门应用,本文详细介绍基于YOLOv5的鸟类检测识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面。在界面中可以选择各种鸟类图片、视频以及开启摄像头进行检测识别;可通过UI界面选择文件,切换标记识别目标,支持切换模型,支持用户登录注... ......
鸟类 深度 界面 代码 Python

前端设计模式——桥接模式

桥接模式(Bridge Pattern)是一种结构型设计模式,用于将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,从而能够更好地组合和扩展这些类。 在前端开发中,桥接模式通常用于处理 UI 组件的复杂性,将组件的抽象与实现分离,使得它们能够独立地变化。通过桥接模式,我们可以让组件的 ......
模式 设计模式 前端

前端设计模式——过滤器模式

前端设计模式中的过滤器模式(Filter Pattern)是一种结构型设计模式,它允许我们使用不同的条件来过滤一组对象,并返回符合条件的对象列表。 在过滤器模式中,我们有一个包含多个对象的列表,需要根据一些条件来筛选出符合条件的对象。通常情况下,可以使用多个过滤器来实现这个功能。每个过滤器都是一个独 ......
模式 设计模式 前端 过滤器

责任链模式

begin 2021年12月11日20:47:41 责任链模式 定义 Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the reques ......
模式 责任

简单明了的体会构建者模式

我们由一个小小的Demo来引出主题,尽管这个Demo有点长~~,我相信还是值得你一看的! 木兰诗中有:“雄兔脚扑朔,雌兔眼迷离;双兔傍地走,安能辨我是雌雄?” 对象之间的比较想必大家都很熟悉。只须用 util 包中的Objects.equals()方法即可。如果我想找出对象之间不相同的属性呢? 那肯 ......
明了 模式

aspnetcore微服务中使用发件箱模式实例

aspnetcore微服务种服务之间的通信一般都有用到消息中间件,如何确保该服务的持久层保存创建的数据同时又把消息成功投递到了关联服务,关联服务做对应的处理。 下面就以一个简单的例子来演示实现方式之一,即发件箱模式。 下面解决方案有两个服务,做演示用的比较简单,一个是订单服务,一个是账单服务。完成订 ......
aspnetcore 实例 模式

结构型-装饰器模式

定义 如果希望动态给某个类添加一些属性或者方法,但是你又不希望这个类派生的对象受到影响,那么装饰器模式就可以给你带来这样的体验。 它的定义就是在不改变原对象的基础上,通过对其进行包装拓展,使得原有对象可以动态具有更多功能,从而满足用户的更复杂需求。 举个例子,一部手机,你可以买各种花里胡哨的手机壳等 ......
结构型 结构 模式

算法 | 中缀表达式转后缀表达式并计算结果(利用栈)

1.手动实现中缀转后缀 2.代码实现中缀转后缀并计算表达式结果 为了简化问题,假设算术运算符仅由加、减、乘、除4种运算符和左、右括号组成。 step1: 声明栈结构 #include <iostream> #include <string> using namespace std; #define ......
表达式 中缀 后缀 算法 结果