2412d,d的8月会议
原文
总结
替换D的逃逸分析
Rikki
说,他一个月前曾与Dennis
讨论过简化D的逃逸分析
,但没有结果.在BeerConf
上,他再次提起了它,Dennis
说他一直在考虑它
.
Rikki
也与Walter
谈过这件事,Walter
曾说过DIP1000
并没有完全如期工作,且有点太复杂了
.
因此,Rikki
想讨论按D逃逸分析方法
替换DIP1000
的可能性.在做出可靠的决定
前,第一步是确保它完全在预览开关之下
.丹尼斯
证实当前是这样
.
Rikki
说,下一步是考虑切换它
及它可能的样子
.他请求建议.
Dennis
说,在决定如何切换它
前,应该首先说明
当前设计原因及切换的目标
.他说他有一些问题
.一个是缺乏传递域
.
另一个问题
是,即使结构有多个成员
,它们也只有一个生命期
.他一直在考虑允许按域
注解结构字段
,但他还没有具体的提议
.
Walter
说,他遇见的困难不是DIP1000
复杂,而是语言复杂
.必须适配语言的各种构造
.引用类型工作原理
或隐式类类型
或懒参数构造器
这就是复杂性的来源
.
他给出了成员函数
的隐式本
参数的示例.如果有人想了解如何在构造器或成员函数
中使用DIP1000
,他一遍遍地解释
说,则只需要按显式参数
一样,把它写出来
.
然后就能看到它应该是如何操作的
.但人们发现这无休止地困惑
.
简化它的提案
还必须证明它如何可能
比现在的DIP1000
更简单,因为DIP1000
很复杂,因为语言很复杂
.它必须支持每个语言结构
.
Rikki
说,逃逸分析
分为三个不同级
.最基本级
是"这是
一个而它帮助输出
的输出
".然后你就有了语言可推导出的东西
.
然后就有了你可添加
的可证明的东西
.现在真没有那个规模
,所以现在当事情太宽泛
时,没有逃避的机会
.
walter
重申,DIP1000
的复杂性
是因为语言的复杂性
,而不是概念自身
,这非常简单
.如果用指针写出来
,一切都会很清晰和简单
.
当你添加像auto ref
此东西时,它开始复杂.他从来不喜欢auto ref
,也从没用过它
,因为它太怪了
.
他说,如果Rikki
能想出更好
方法来完成,他会支持.DIP1000
是他最好的机会
.
Timon
说,DIP1000
可以说已承担了
一些可注解不同级
间接的复杂度成本
,但一般禁止这样.应有更好的权衡
.
Walter
说有两种间接
:指针和引用
.这使得DIP1000
的复杂性
增加了一倍.Timon
同意,但表示即DIP1000
不是你在按指针转换所有内容
时得到的结果
.
DIP1000
比这更进一步,因为实际上每个指针
都有两级间接性
,但不是按正交
限制它.根据构造
注解任一间接级
.
Walter
同意,并说这是因为引用
有隐式的间接性
,而指针
则没有.他问可做些什么
.
Rikki
让每个人都说他们的想法
.
Quirin
说,他理解DIP1000
的目标
是你可取局部变量的地址
,比如静态数组
等,且按域限定指针
且无法逃逸
.
因此,在DIP1000
为默认值
的未来版本
中,可能会有个编译器开关
来禁止它
,这样禁止取局部变量的地址
.
他说他遇见的问题是
,如果有系统函数
,但实际上没有按@系统
注解它,然后有域注解
,编译器会认为你正确处理了域操作
.
但如果你不是
,你就完蛋了
.而意外很容易
发生.
这是DIP1000
的一个问题.你可在系统代码
中坑自己
.如果不是在安全代码
中做对了
,但如果是初学者
,没有用@安全
注解某些东西,然后使用了它,如,是隐式域
的-preview=in
,就会遇见麻烦
.
所以可有选项
禁止它们,但在代码
中允许像@安全
一样的所有域检查
等会很好.
沃尔特说,@系统
关闭了所有检查
,因为有时需要做一些烦人事情
.初学者
不应编写@系统
代码.Quirin
说,如果不使用@safe
,DIP1000
会使该语言更加危险
.
这就是有些人
搞不来的原因.
Walter
认为最大的问题
是人们不喜欢写注解
.只在没有函数体
时,它们是必需
的.如果只是取本地地址
,编译器会说,“好的,现在是域指针
了”.
它会自动
这样.困难
在于有两个地方
需要添加注解
:没有函数体
时和在虚函数中
.这时,编译器无法自动这样
.
Walter
说,语言最近有了变化
,允许对局部变量
使用引用
.这允许无需注解
,更高的安全性
.这是一件好事
.它通过减少原始指针的需求
来改进语言
.
下一步
是允许构字段
上的引用
.必须
弄清楚它的语义
,但是越能改进语言
以减少使用原始指针
,它自身就越安全
,问题就会越少
.
Adam
说有人建议不要在打开DIP1000
时构建Phobosv3
.他有点同意该观点.他前曾告诉Walter
,DIP1000
不值得.
Rikki
想说明,如果没有引用计数
,基本上不可能
每秒处理100,000
个请求.这是由Walter
在物主逃逸分析
方面的工作所控制
的,而这反之又以逃逸分析
为主题的.
所以他在这方面被阻塞了
,因此想要排序逃逸分析
.
Walter
说,ROI
如此之低的原因是,因为栈中
的错误指针
,人们很少在程序中
遇见易错漏洞.Mathias
问为什么花这么多时间
在上面.
沃尔特
比作飞机失事
:它们很少见
,但一旦发生,就会造成灾难性的后果
.你不可能既是内存安全
的语言,又这样
.
Mathias
说,DIP1000
使他不想
使用D
,因为当他使用vibe.d
允许D时,他得到了大量的弃用
.这太可怕了
.他希望默认不打开
.
当谈到DIP
自身时,他说该组合
就是不管用
.需要他在类型定义
中使用域
注解他的类或结构
的设计在到达时都死了.
他说,很多人把它与常
比较,这是错误的比较
.常
是由外到内
,但域
是由内到外
.因此,如果你的外层
是常
且你组合
了一个有多个层
的类型,则你的所有层
都是常
.
对域
,情况正好相反.无法在语言
中表示域的深度
.这在语法
上是不可能
的.它就是无法工作
的.
更新:稍后开会并决定需要做两件事
来向前步进
:编制
一份失败的DIP1000
案例列表
,看看是否可解决它们;并考虑如何默认推导
.
把std.math
移动到core.math
Martin
说他多年来
一直想将std.math
移动到core.math
.很久以前,在GitHubPR
中与Walter
的讨论中提到了它
,他记得Walter
也同意它.
最近,再次
试使编译器测试包
独立于Phobos
.现在,现在DMD
和运行时
在同一个仓库
中,因此所有make
目标都是不依赖Phobos
而独立
的,这样运行编译器测试
,那就太好了
.
他做了实验
,发现测试用例
中的大多数Phobos
导入都是std.math
.一个常见原因
是幂符号^^
.还有一些测试
测试了数学内置函数
.
CTFE
的编译器使用混杂的函数名
,检测到调用标准数学函数
.这已是个问题,因为当更改std.math
中的属性
时,因为新混杂名
,也需要更新编译器
.
因此,测试了所有这些方法是否有效
,而CTFE
数学结果符合期望
.因此,有隐性依赖Phobos
.
Phobos
会导入所有内容
并转发
到core.math
,它已在运行时
中存在.它当前有大约五个函数
.
LDC
已转发了一些数学函数
.std.math
是为数不多的LDC
和GDC
只是为了可使用内联函数
,而有一些修改
的Phobos
模块之一.
移动进运行时
会更好,因为可最小化或清除
,Phobos
分叉的需求.
Walter
说std.math
类似一个包含很多东西
的手提袋
.他建议将应该是core.math
的内容移动到d运行时
中并转发
到这里,然后按使用core.math
更改测试包
.
他想保存std.math
.仍有很多编译器测试包
中不需要的数学函数
,可在那里保存它们
.
Jonathan
说,过去当决定真想要在d运行时
中导入Phobos
中的东西,但真想人们导入Phobos
时,就把该东西移到了core.internal
.
如,std.traits
导入了core.internal.traits
以避免重复d运行时
中使用的特征
,用户仍可通过std.traits
来取它.
实际上,std.math
中的大多数函数
都是由编译器
检测到的.
据他所知,std.math
是相当孤立
的,不依赖Phobos
中的其他东西
.他会仔细检查
,但他确信
,所以可把它移过来
.
他真不想
分开它.如果它在运行时
,则直接从那里包含
是合乎逻辑
的,从某个特定的编译器版本
开始,并保存它,在PhobosAPI
中呆一段时间
以实现后向兼容
.
所以最终位置
将在core.math
中.
Walter
说,很简单:如果想在编译器测试包
中放置它
,它需要进入运行时
.Martin
说他需要检查
,但这会是大部分函数
.
Mathias
认为尽管不能解决Martin
的问题,但应该去掉幂符号
.Martin
说,移动它到运行时
,可清除在未导入std.math
时试用它
时出错
的特例.
沃尔特
同意马蒂亚斯
的意见,认为应该淘汰它
.这是丑陋
的.
Adam
说,Phobos3
是改变
的绝佳机会
.这是自然的分界线
.可保持标准库2
的原样
并长期支持它
,但Martin
可在标准库3
中为所欲为
.
Adam
已在看std.math
并思考
他有多害怕移植它
.因此,如果Martin
想出其他东西
并告诉他如何让它有效
,他就会让它有效
.
主要类型语法DIP
Quirin
和一起讨论了他的.1及2.
基本思想
是,不更改语义
等修改语法
.它为了确保可由错误消息
表示的任意类型
,(如)也可在代码
中表示,且你不会收到解析错误
.
Quirin
说他已为该提案
提供了实现,且按期望
实现引用
.他已试了很久,并真正试突破了一些极限
.他没有发现问题
.
他说,同样问题
也适合链接
.像一个带extern(C)
链接的函数指针
.
他说也许Quirin
已解决了它,但要求他检查一下语法和括号问题
,并确保提案
没有这些问题
.
Walter
说,在编译器测试包
上试它
将很好.奎林同意
.
“让printf
安全的DIP
”
Iain
说,现在是2024
年,人们
仍在发明新的CPU
.他说中国人
发明了他们
自己的MIPSCPU
,他们不得不把旧的GDC
版本拖出来
,并移植
到他们的CPU
上,只是为了让LDC
和DMD
可正常工作
.
这是另一个
崭露头角的现代芯片(龙芯)
.让这些人
对拥有现代版本
的D编译器
而不是C++
编译器满意,这样他们就可跳到最新版本
.
因此,较旧的bootstrap
版本完全无价值
.
沃尔特说好.确保D编译器源码
的安全
并不重要.这只是他想做的事情
.但是,如果会导致很多下游问题
,则当然
,我们还能做什么?
Iain
说必须让文档非常响亮和显式
.GDC
在这方面做得很好
,它解释了如果从给定版本的编译器
开始,你必须做什么
,因为某些版本
的GDC
是使用特定的C++
标准编写
的.
要取得最新版本
,必须从起点
开始浏览这些版本
.也应该同意
,对DMD
同样.
Rikki
说明,Elias
已完成了LDC
的新docker版
镜像,该镜像完成了从LTS
版本到最新版本
的引导.他说应该可按C++
代码基转储编译器
,然后用来引导相同编译器版本
.
他已考虑了很久
了.这在今天
不是问题,但未来会变成一个问题.
使用printf
真很简单.这只是一个调用函数
:在栈上压几个参数
,调用一个函数
,完成.
Dennis
问,是否为DMD
创建了writeln
的最小模板版本
,因为DMD
大多只连接串
,偶尔
会构成一个整数.Walter
说可编写自己的printf
,但C标准库
中的那个是经过实战检验
,调试和优化
最多的.
Dennis
强调只需要连接串
.
Johanthan
建议把它包装起来
.
他同意Walter
所说的writeln
有问题,因为它是模板的暴风雪
.但他不断从人们那里听到不应删除这些模板
.
Walter
重申printf
受到了很大的恶意
,但它是历史上调试,优化
最多的函数.也许可实现一个只是调用安全
转发到printf
的writeln
.
它有它的问题,因此提交安全printf
提案.
他说Jonathan
是完全正确
的,模板
给writeln
带来了很多好处
.他不是在反对它
.但是在试调试编译器
时,处理writeln
是个巨大的痛苦
.
因此他总是
回到printf
的原因.他不想编译器
依赖writeln
,因为那样无法引导
编译器.
Jonathan
同意不想DMD
依赖标准库
.此时,也许用带串
并按C串
的东西转换它
来包装printf
是可行
的.
Walter
说这就是安全printf
提案的作用,它只是让编译器覆盖printf
式以使其内存安全
.Jonathan
说可避免直接使用包装器
调用printf
.
总之,编译器
与一般情况
不同.
空初化
一个引用
变量
Dennis
问大家是否都同意空
初化引用
变量应该是一个错误
.DIP
没有具体说明
,它没用例
.沃尔特说那是个错误
.没人反对,这里.
域和自动引用
Dennis
问大家是否都同意变量上的auto ref
关键字必须放在一起
,而不是与不同域内
的关键字
一起使用,如auto { ref int x = 3; }
沃尔特说是的,干掉它.
Quirin
说他注意到,在查看语法
时,动
和引用
并不总是需要彼此相邻
.如,可在参数列表
中编写ref const auto foo
.他建议应该禁止这样
.沃尔特说应该弃用它
.
相关文章:
2412d,d的8月会议
原文 总结 替换D的逃逸分析 Rikki说,他一个月前曾与Dennis讨论过简化D的逃逸分析,但没有结果.在BeerConf上,他再次提起了它,Dennis说他一直在考虑它. Rikki也与Walter谈过这件事,Walter曾说过DIP1000并没有完全如期工作,且有点太复杂了. 因此,Rikki想讨论按D逃逸分析方法替…...
如何在Qt中应用html美化控件
在Qt中应用HTML美化控件,主要可以通过以下几种方式: 使用QWebEngineView:QWebEngineView是基于Chromium引擎的控件,用于显示和交互HTML内容。它支持现代Web标准和技术,如HTML5、CSS3和JavaScript。你可以通过以下步骤…...
vue3实现商城系统详情页(前端实现)
目录 写在前面 预览 实现 图片部分 详情部分 代码 源码地址 总结 写在前面 笔者不是上一个月毕业了么?找工作没找到,准备在家躺平两个月。正好整理一下当时的毕业设计,是一个商城系统。还是写篇文章记录下吧 预览 商品图片切换显示…...
[Pro Git#4] 标签 | 理解 | 创建 | push
目录 一、理解标签 二、创建标签 三、操作标签 一、理解标签 标签定义:在Git中,标签(tag)是对某次提交(commit)的一个标识,相当于起了一个别名。应用场景示例: 在项目发布某个版…...
在M系列芯片的Mac上使用Uniapp开发的依赖安装指南
在M系列芯片的Mac上使用Uniapp开发的依赖安装指南 在基于M系列芯片(例如M3、M4)的Mac上进行Uniapp开发时,使用esbuild和rollup等依赖包时需要注意处理不同架构的支持。具体问题出现在darwin-arm64(ARM架构)和darwin-x…...
delve调试环境搭建—golang
原文地址:delve调试环境搭建—golang – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 由于平时不用 IDE 开发环境,习惯在 linux终端vim 环境下开发,所以找了golang的调试工具,delve类似gdb的调试界…...
暂停一下,给Next.js项目配置一下ESLint(Next+tailwind项目)
前提 之前开自己的GitHub项目,想着不是团队项目,偷懒没有配置eslint,后面发现还是不行。eslint的存在可以帮助我们规范代码格式,同时 ctrl s保存立即调整代码格式是真的很爽。 除此之外,团队使用eslint也是好处颇多…...
vscode 使用说明
文章目录 1、文档2、技巧显示与搜索宏定义和包含头文件 3、插件4、智能编写5、VSCode 与 C(1)安装(2)调试(a)使用 CMake 进行跨平台编译与调试(b)launch.json(cÿ…...
单片机:实现蜂鸣器数码管的显示(附带源码)
单片机实现蜂鸣器数码管显示 蜂鸣器和数码管在嵌入式系统中广泛应用。蜂鸣器可以发出声音警告或提示,而数码管则用于显示数字或字母。在本项目中,我们将通过8051单片机实现一个控制蜂鸣器和数码管显示的系统,结合使用蜂鸣器和数码管…...
Next.js v15-基于NextAuth进行身份验证
NextAuth.js 抽象化了管理会话、登录和注销以及身份验证的其他方面所涉及的大部分复杂性操作。虽然您可以手动实现这些功能,但该过程可能非常耗时且容易出错。NextAuth.js简化了流程,为 Next.js 应用程序中的身份验证提供了统一的解决方案。 步骤 通过…...
解锁Vue组件的奇妙世界
文章目录 一、Vue 组件概述(一)什么是 Vue 组件(二)Vue 组件的优点 二、Vue 组件的创建方式(一)全局注册(二)局部注册(三)单文件组件(SFC…...
二分查找【Lecode_HOT100】
文章目录 1.搜索插入位置No.352.搜索二维矩阵No.743.在排序数组中查找元素的第一个和最后一个位置No.344.搜索旋转排序数组No.335.寻找旋转排序数组中的最小值No.153 1.搜索插入位置No.35 class Solution {public int searchInsert(int[] nums, int target) {int l 0;int r n…...
解决git clone时报错“authentication failed for huggingface repository”
问题1: 已经获取了模型的授权,但是git clone时,弹出弹窗 输入huggingface的用户名和密码后,报错如下 解决方式1: 阅读红框标注的说明,“password authentication in git is no longer supported.”&#…...
力扣-图论-16【算法学习day.66】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...
【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题分析
【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题 情况实验结论情况 在用GL-SFT1200路由器切换中继模式时,由于web密码忘却,需要重置,但根据官网使用手册,或者对应的中文版手册,重置失败。通过跟商家联系,进行uboot刷机,提供了指导文档,尝试后刷机成功…...
LeetCode 热题 100_K 个一组翻转链表(31_25_困难_C++)(四指针法)
LeetCode 热题 100_K 个一组翻转链表(31_25) 题目描述:输入输出样例:题解:解题思路:思路一(四指针法): 代码实现代码实现(思路一(四指针法&#x…...
【LeetCode】35.搜索插入位置
目录 LeetCode35.搜索插入位置题解解题思路code1 暴力解法2 二分查找什么是二分查找?二分查找的原理二分查找图解二分查找的优缺点……更新中 LeetCode35.搜索插入位置题解 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如…...
拿到小米 Offer,却迷茫了。。
大家好,我是程序员鱼皮,12 月了,很多小伙伴也拿到了秋招的 Offer(没拿到也不要灰心),但即使拿到 Offer,可能还会有一些其他的顾虑。今天分享我们编程导航一位鱼友的提问,给大家作为学…...
redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip
redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip 1、安装redis三主三从集群2、正常状态的redis集群3、更改redis集群服务器的ip 重启服务器 集群会down4、更改redis集群服务器的ip 重启服务器 集群down的原因5、更改redis集群服务器的ip后…...
运行 Mongodb Server
如何使用 mongod 命令通过配置文件启动 MongoDB Server 适用于通过 Homebrew 安装的 MongoDB Server 如果您的 MongoDB Server 是通过 Homebrew 安装的,则安装过程中会自动创建必要的文件夹和配置文件(如 mongod.conf)。您可以直接使用以下…...
“年轻科技旗舰”爱玛A7 Plus正式发布,全国售价4999元
12月18日,备受行业瞩目的“A7上场 一路超神”爱玛旗舰新品发布会在爱玛台州智造工厂盛大举行。 作为年末“压轴产品”的“两轮豪华轿跑”爱玛A7Plus重磅上场,以“快、稳、帅、炫、智、爽”六大超神技惊艳四座,不仅践行了爱玛科技的精品战略&…...
深入探索 C++ 编程技巧:从案例中学习高效实践
深入探索 C 编程技巧:从案例中学习高效实践 C 是一门功能强大且灵活的编程语言,被广泛应用于系统开发、高性能计算、游戏引擎等领域。然而,初学者和有经验的开发者常常会在代码优化、设计模式和语言特性中面临挑战。这篇文章将通过实际案例&…...
鸿蒙操作系统简介
华为鸿蒙系统(HUAWEI HarmonyOS),是华为公司于2019年8月9日在东莞举行的华为开发者大会(HDC.2019)上正式发布的面向全场景的分布式操作系统,可以创造一个超级虚拟终端互联的世界,将人、设备、场…...
LabVIEW起落架震台检测
在现代飞机制造与维护过程中,起落架的性能测试是保障飞机安全的重要环节。通过LabVIEW开发的起落架小落震台检测系统,通过模拟飞机着陆过程,准确捕捉起落架在着陆时承受的各种动力学特性和应力响应,有效提升起落架设计的精度与可靠…...
git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息
git remote -v 是一个 Git 命令,用于显示你的 Git 仓库配置的远程仓库的详细信息。 当你执行 git remote -v 命令时,你会看到类似以下的输出: origin https://github.com/your-username/your-repo.git (fetch) origin https://github.com…...
Java基础知识(四) -- 面向对象(中)
1.包 1.3.1 包的作用 (1)可以避免类重名:有了包之后,类的全名称就变为:包.类名【便于使用】(2)分类组织管理众多的类【便于管理类】(3)可以控制某些类型或成员的可见范…...
RAG开发中,如何用Milvus 2.5 BM25算法实现混合搜索
01. 背景 混合搜索(Hybrid Search)作为RAG应用中Retrieve重要的一环,通常指的是将向量搜索与基于关键词的搜索(全文检索)相结合,并使用RRF算法合并、并重排两种不同检索的结果,最终来提高数据的召回率。全文检索与语义…...
RadiAnt DICOM - 基本主题 :从 PACS 服务器打开研究
正版序列号获取:https://r-g.io/42ZopE RadiAnt DICOM Viewer PACS 客户端功能允许您从 PACS 主机(图片存档和通信系统)搜索和下载研究。 在开始之前,您需要确保您的 PACS 服务器和 RadiAnt 已正确配置。有关配置说明,…...
使用 CFD 加强水资源管理:全面概述
探索 CFD(计算流体动力学)在增强保护人类健康的土木和水利工程实践方面的重大贡献。 挑战 水资源管理是指规划、开发、分配和管理水资源最佳利用的做法。它包括广泛的活动,旨在确保水得到有效和可持续的利用,以满足各种需求&…...
AMS1117芯片驱动电路·降压芯片的驱动电路详解
编写不易,仅供学习,请勿搬运,感谢理解 AMS1117常见封装 很常用的一种LDO降压芯片,LDO(Low Dropout Regulator)降压芯片是线性稳压器,这种IC因为内部集成的不是开关电路,只能将输入与输出的电压差值通过内部…...
贪心算法 part01
class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值(相当于不断确定最大子序终止位置ÿ…...
新能源汽车充电需求攀升,智慧移动充电服务有哪些实际应用场景?
在新能源汽车行业迅猛发展的今天,智慧充电桩作为支持这一变革的关键基础设施,正在多个实际应用场景中发挥着重要作用。从公共停车场到高速公路服务区,从企业园区到住宅小区,智慧充电桩不仅提供了便捷的充电服务,还通过…...
随机森林算法原理
随机森林算法原理 算法流程随机森林的生成随机森林的预测 算法总结随机森林的优点随机森林的缺点 算法流程 随机森林的生成 输入训练数据 D,样本个数为 m ,待学习的决策树数量为 T。 对于 t 1,2,…,T,从 D 中有放回地采样 m 次,…...
java中sha256和md5某个字符串实例代码
在Java中,可以使用 java.security.MessageDigest 类来计算字符串的 SHA-256 和 MD5 哈希值。以下是如何为给定的字符串生成这两种哈希值的实例代码。 生成SHA-256和MD5哈希值的示例代码 Java 深色版本 import java.security.MessageDigest; import java.security.N…...
thinkphp8自带分页bootstrap
tp8引用的是bootstrap3.4.1这个版本; 前端结构: <ul class"pagination"><li><a href"/index.php?page4"></a></li><li><a href"/index.php?page1">1</a></li>…...
C++算法第九天
本篇文章我们继续学习c算法 目录 第一题 题目链接 题目展示 代码原理 暴力解法 二分解法 代码编写 第二题 题目链接 题目展示 代码原理 代码编写 重点回顾 朴素二分 非朴素二分 重点一 重点二 重点三 第一题 题目链接 153. 寻找旋转排序数组中的最小值 - 力…...
ASRPRO学习笔记一之语音模型位置和语音替换
一、语音替换的步骤 1、扬声器录音 打开GoldWave,点击工具栏中的蓝色控制属性按钮,点击设备,选择扬声器,点击ok。打开电脑上的网易云音乐,点击红色的录制按钮,开始录制音乐,在网易云音乐上点击播放音乐,录…...
QT编译opencv
一.QT5.12编译 1.QT环境 QT5.12 Qt Creator 12.0.2 2.OpenCV文件 因为QT5.12版本qt最后支持到2021.12月,所以这里选择的opencv版本为2021.4月发布的opencv-3.4.16版本 官网下载地址:https://opencv.org/releases/ 最新版本:opencv-3.4.16.…...
[笔记]关于Qt的nativeEvent事件无法接收window消息的Bug
1.nativeEvent事件无法接收window消息 此处不是nativeEvent不能接收,是possmessage一定要写对发送的软件名称,这个名称在Qt中是主界面类的名称,就是主界面UI的名称,而不是rc文件中定义的名称。 所以在FindWindow函数获取目标窗口…...
基于深度学习的猫狗识别系统【深度学习课设】
🏆 作者简介:席万里 ⚡ 个人网站:https://dahua.bloggo.chat/ ✍️ 一名后端开发小趴菜,同时略懂Vue与React前端技术,也了解一点微信小程序开发。 🍻 对计算机充满兴趣,愿意并且希望学习更多的技…...
Java性能调优 - JVM性能监测及调优
JVM 内存模型概述 堆 堆是JVM内存中最大的一块内存空间,该内存被所有线程共享,几乎所有对象和数组都被分配到了堆内存中。堆被划分为新生代和老年代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Survivor和To Su…...
[代码随想录21二叉树]二叉树的修改和改造,修剪二叉树,将有序数组转为二叉搜索树
前言 二叉树章节最后的题目了,就是对搜索二叉树的改造, 题目链接 669. 修剪二叉搜索树 - 力扣(LeetCode) 108. 将有序数组转换为二叉搜索树 - 力扣(LeetCode) 一、修剪二叉搜索树 思路:等会…...
C# OpenCV机器视觉:图像平滑
在一个寒冷的冬日,阿强窝在家里的沙发上,裹着厚厚的毛毯,手里捧着一杯热巧克力。他的朋友们约他一起去滑雪,但阿强却更喜欢待在温暖的家中,享受这份宁静。突然,他的手机响了,是朋友们发来的滑雪…...
Dubbo 3.x源码(26)—Dubbo服务引用源码(9)应用级服务发现订阅refreshServiceDiscoveryInvoker
基于Dubbo 3.1,详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了MigrationRuleHandler这个处理器,它用于通过动态更改规则来控制迁移行为。MigrationRuleListener的onrefer方法是Dubbo2.x 接口级服务发现与Dubbo3.x应用级服务发现之间迁移的关键…...
java client http请求 返回数据 实时循环监听 url 中资源是否生成
1、php 中 执行 exec 调用操作系统 命令行 执行 以下 java 代码 生成 的jar 2、php 执行命令是 以上1 需要命令行 输入 参数 taskid 3、实现实时监听 MP3 url 是否生成 4、 package com.example.filedemo.controller;import java.io.BufferedReader; import java.io.InputStre…...
ONES 功能上新|ONES Copilot、ONES Wiki 新功能一览
ONES Copilot 可基于工作项的标题、描述、属性信息,对工作项产生的动态和评论生成总结。 针对不同类型的工作项,总结输出的内容有对应的侧重点。 应用场景: 在一些流程步骤复杂、上下游参与成员角色丰富的场景中,工作项动态往往会…...
【自适应】postcss-pxtorem适配Web端页面
在进行页面开发时,自适应设计是一个关键的考虑因素。为了实现这一点,postcss-pxtorem是一个非常有用的工具,它可以将CSS中的px单位转换为rem单位,从而实现基于根元素字体大小的自适应布局。下面介绍一下在项目中如何引入并配置pos…...
BOE(京东方)“向新2025”年终媒体智享会首站落地上海 六大维度创新开启产业发展新篇章
12月17日,BOE(京东方)以“向新2025”为主题的年终媒体智享会在上海启动。正值BOE(京东方)新三十年的开局之年,活动全面回顾了2024年BOE(京东方)在各领域所取得的领先成果,深度解读了六大维度的“向新”发展格局,同时详细剖析了BOE(京东方)在智能制造领域的领先实践。BOE(京东方…...
Moretl安全日志采集工具
永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…...
LabVIEW农机自主导航监控系统
随着现代农业技术的快速发展,自主导航农机的需求日益增加,提高作业效率和减少劳动成本成为农业现代化的关键目标。本文介绍了一个基于LabVIEW的农机自主导航监控系统的开发案例,该系统通过先进的传感器与控制技术,实现农机在田间作…...