淄博网站建设服务/拉新推广平台
原文
总结
卡斯滕
Carsten
说,Decard
一直在大量试验WebAssembly
.他们一直在把d运行时
挖出来,直到它工作.他们在浏览器中运行了一些库函数
,并试了不同虚机
.
他们在移动
方面遇见了很多问题
,因为不同芯片
按不同方式工作.他们想让他们的整个SDK
在WASM
上运行,但可能需要一年时间
才能完成,因为WASM
中有很多东西在到处移动
.
Robert
问他们是否让GC
正常工作.卡斯滕说,他们没有关注它.他们只是在调用函数.他们不知道如何编写GC
,因此想最终使用WASMGC
.
他说,一直烦人一件事是WASM
接口基本上是POSIX
,但编译器并没有按POSIX
版本对待控制.他必须实现大量版本化的虚代码
才能使它正常工作.
他想看到编译器按POSIX
识别WASM
.
Robert
说他看到标准化机构已接受了GC
的提案.Carsten
说他们也接受了多线程.WASM
正在进入虚机等领域,因此它最终会变成来进出浏览器的VM
.
Robert
说这是一个非常好的接口.
巴斯蒂安
巴斯蒂安说,他仍在为SARC
搞D翻译.他时不时地遇见难以解决或难以理解的问题.那是他的生活,但这里无大事可提.
马蒂斯啤酒
Mathis
说,Funkwerk
有史以来第一次使用编译器的修补版本
,因为可重绑定
的区间析构
错误太可怕了.不过,他说这很常见,因为这主要是他的错.
应该弃用破坏
函数.它造成了很大的伤害
,但他觉得这不值得辩论
.
Dennis
问他是否指的是一般的核心析构器
.马蒂斯澄清说,他指的是对象
版本.他说它有个问题,当它处理一个值类型
时,它会处理值
,但是当处理一个类
时,它实际上会很难
注意到的析构类值,不是引用,而是实际的对象自身
.
然后,注意虚表
指针已变为零
,因此你必须知道
意思并找出
发生的位置.
一般,它几乎从来都不是你想要调用的函数
.他觉得这很困惑
.
Walter
认为析构
的目的是,不必等待GC
收集对象.你可以说你已完成了它
.马蒂斯
说不,甚至没有释放
它.
Walter
问,如果不再用虚表
,则设置虚表
为零,又有什么关系
呢.Mathis
说,问题是他在通用环境
中使用它,并想为值
调用语义上适当的析构操作
.
对构
,即调用析构器
,因为值的生命期
结束了.但是当结束类引用的生命期
时,因为可能还有其他该类实例引用
,不应这样
.
但实际是,无论剩余多少引用
,都会析构类实例
.
沃尔特
说这就是破坏的要点
.马蒂斯说,它并没有对其他类型
这样做.如果他在某个地方
有一个结构
,并传递了要破坏
的一个副本
,则不应影响原版本
.
Dennis
说这是真的
,但是如果有该结构的指针
,则就会挂起该指针
.Mathis
说,他实际上并不知道破坏
是如何处理指针
的.
它认为它啥也没干.
沃尔特说,如果你要破坏某样东西
,则就不应再引用它了
.即,由你确保
不再引用它.Mathis
说,此时,他必须负责生命期,他用它来补偿可重绑定
中数据对象
的生命期管理
.
他想他会调用破坏
来结束它的生命期
.
Walter
说,不,当你知道这是目标值的结尾
时,你根据指定的类型
,调用了破坏
.因此,如果你在通用函数
中使用它,如果它是一个结构
,则它是一个复制的值
,所以说你想结束该值的生命期
是对的.
但是,如果它是一个类
,复制构造器
实际上只是复制引用
.如果在那时调用破坏
,即没有更多引用
它了.
马蒂斯说这就是他的要点
.在语义上行为
是不同.他不是专门在类
上调用的.他在一个T
任意模板参数上调用它
.
Walter
说,这样做
是说不再有该T实例
的引用.但在会议
中,他说有更多的引用
,它们会变坏
,但这不是破坏
的重点.
关键是没有更多的引用
了.
Mathis
说,该行为对类和结构
有意义,但对类和结构
一起没有意义
.这是不同.Walter
说,这就是类对象
的工作方式
.调用破坏
是不安全
的.
马蒂斯说,基本上,不必重载
.应该有一个破坏
和一个destroyClass
.Walter
再次重复说这就是该函数的意义
所在:调用它表明你说没有更多的引用
.
Martin
说,类的问题
是,不能确定你正在析构的引用
实际上是最终的引用
.他建议应该为类
设置一个单独的终结器
.
即破坏性更改
,但可为类
对象添加终结器
,然后在版本
中,可更改破坏
的语义.
Walter
认为这很好,但表示分开终止器
和破坏
的问题是,人们会搞混
,不理解区别
,会用错,然后会不高兴
.无法避免.
他说Mathis
可以用"这是类"
来包装
调用破坏
.马蒂斯说他一直在这样做
.他都不记得不包装它
就调用破坏
.
Walter
说,好,它正在按它设计的方式
工作,不应改变该行为
.
Lu
认为这里的问题之一
是类的特例
.不仅破坏
,而且很多东西
都是类
的特例
,因为它们只是隐藏对象
加虚表
的指针
.
另一件事
是类
暗示了有GC
,但也可在没有GC
时分配它们
.因为有特例
,Weka
不使用类.大多数情况
都可用结构
来解决.
Walter
说Lu
说得对,类和结构
彼此不同.忽视这些差异
的算法
会导致麻烦
.Lu
理解它,但认为设计可更类似结构
,而不是模板编程
中总是需要特例
的差异.
Walter
说,在C++
中,对引用
必须有特例
.当你有值类型和引用类型
时,它们会有所不同
.没办法.
马蒂斯同意.他说他真很喜欢D
中的类设计
.当简单编写
时,标准区间算法
可很好地处理类和结构
.唯一
觉得有问题
的函数是析构
.
他觉得,如果他有一个需要使用静如
来调用一个函数
的模板函数
,则实际上是恰好
有相同名字
的两个函数
.
Walter
说很好观点,但如果你使用的是值类型
,你应该依赖RAII
来析构
,而不是实际
的破坏函数
.而对类
没有RAII
.
马蒂斯说明,他的例子
是个特例
.他有这样神奇
的可重绑定
的东西,他必须手动控制
生命期.这是不经常
出现的事情.
Walter
说,当你按特例
手动管理生命期
时,它是一个特例
,你必须在其中
放一个如
.
我注意到Java
中,因为很容易误用它
,而已弃用的Object.finalize
.我记得Sun
过去总是告诉人们在final
中不要这样或那样
,因为它不是一个析构器
,但人们仍会这样或那样
.
在D中遇见了相反的问题
,因为析构器
也是终结器
.
沃尔特说不要把火和水
插件在一起.引用类型和值类型
彼此间难以理解地不同
.
Mathis
说,之所以这样,是因为他必须在std.algorithm
中添加可重绑定
,来支持不变
,这一切都可跟踪到他的DConf'22
演讲.
然后,他报告说Funkwerk
到处都在使用DMD2.108
和LDC1.38
,并且他们运行良好
.他们在内部管理代码
,没有主要的外部依赖
.
他们很高兴离开vibe.d
,不再处理编译器更新
中的问题.他们对2.108
满意.
路易斯
Lu
说他无新东西
,但他想了解AST
重构项目的状态
.Weka
仍有因模板和属性推导错误
而导致的链接问题
.
这主要是因为问AST
的方式有点混乱
.如果可让他更好,则它就会让其他事情
更好.
我说Razvan
知道这一切.我知道现在主要是Razvan
在做这件事,尽管包括Bastiaan
在内的别人也做出了贡献
.
Lu
最后说,他最近看到语言
中出现了一些他等待了很久的好函数,比如串插值和命名参数
.他觉得这真的很酷
.
更新:SAOC2024
的一位参与者,当前正在重构AST
这里,
这是个影响很大
的项目.如果想了解如何贡献
,请读D博客上Razvan
的战争号召.
马里奥
Mario
没有编程问题
要报告,但表示今年有三名Funkwerk
员工参加DConf
.
Mathis
说,Lu
提到命名参数
,只是提醒他Funkwerk
想使用它们,但当前因为在dfmt
中不支持它们
,不能使用它们
.
他们曾经允许一名员工
在dfmt
上花一些时间,但该员工
不再为他们工作,他们现在有问题.他不知道该怎么做
.也许可花几天时间
来研究一下,他们在所有项目
中都使用了dfmt
,所以使得对他们来说命名参数
是不可能的.
Dennis
说他最近开始在自己的代码
中使用dfmt
,并注意到了一些错误
.他打开了一些问题
,但似乎没人积极关注它
.他说他可能会花时间来弄清楚它工作原理
,这样就可解决这些问题
.
当格式化程序
压缩属性
中的内容,命名参数
中的冒号
混淆,并完全析构参数列表
时,这真的很烦人
.
马里奥说他没有指派马蒂斯修复dfmt
,因为他不确定这是否会浪费时间和金钱
.他知道SDC
也有sdfmt
,他还知道dfmt
在按库对待DMD
上已做了一些工作
,但他不知道进度如何
.
他不想让Mathis
修复dfmt
,因为在被其他东西替换
时,这些修复不重要.
Dennis
说,Razvan
的一名学生曾参与过该项目
,按DMD按库
替换dfmt
的使用libdparse
的,但默认没有启用它
.
他上次听说只有一个开关
可启用它
,而且现在还太早
.该改变不会影响格式逻辑
,但必须看看.
我注意到,过去曾讨论过与编译器
一起提供格式化程序
.同意它是dfmt
,因为它会使用按库DMD
,如果用DMD
发布它,这是有意义的
.
因此,修复格式化逻辑
不会浪费时间
.
Lu
说,Weka
还没测试dfmt
的更改,因为它们落后了几个编译器版本
,但应该能很快完成.他会报告他们发现的问题
.
Johan
Johan
说Weka
可能有一些问题要谈,但他在会议前没有收集它们,所以他下次会带来几个.
他确实有一些消息要告诉.他说,Weka
一直对用musllibc
链接可执行文件
感兴趣.他已修复
了实现它期望的最后部分
.
他几乎把所有的东西
都移动到了d运行时
上游.他说,很好的成功故事
.现在可创建
不依赖libc
实现的静态链接可执行文件
,这就是目标
.
接着,他请求在编译器仓库
中包含语言规范
,以避免那种并行拉请
,即如果必须恢复另一个
,你最终必须恢复一个
.他确信前面已讨论了,但他想看看.
Robert
说,如果规范
是单元测试
,即实际
上是可测试的文档
,那就更棒了
.那可能会有更多的工作
,但真的很酷
.即使编译器仓库
中有规范
,你仍必须记住更新它
.
但是,如果是不可编译的规范
,且文档
是由此生成的
,那将是一个更大的胜利
.
沃尔特说这很好
.
Dennis
说明,如果规范
中的示例
有正确的宏
,则当前会运行这些示例
.他说Nick
一直在努力按可运行的示例
转换原来的未经测试的代码
.
Robert
说这太棒了,并问它是否包括该语言的其他测试用例
.有时,当他读规范
时,发现有些事情
不清楚,他会去测试
,来查看最后的实际结果
.
如果包括它们
,则会大大收紧规范
.
Dennis
问他是否打算用规范
关联DMD
测试包,Robert
说是
.
Walter
说,该测试包
不适合公众使用
.它不是那样设计
的.它为了易于调试编译器
.
Walter
说Robert
是对的,但他说明,每次读计算机软件规范
(包括语言规范
)时,在调用函数ABI
如何工作的规范,总是让他感到困惑
.
所以会编写一些小的测试用例
,编译它们
,看看会怎样
.
Walter
说,一旦他编写了代码
,编译了它
,并看到了
结果,然后他就会回去再次读规范
,这样就会理解了
.他希望可以在规范和理解规范
有更好的方法.
路易斯说,他与沃尔特
的经历恰恰相反
.如,读D规范
,假设ABI
按描述工作,然后试验DMD
并找到ABI
未按规范
工作.
如,逆转了参数
.在调用约定
中,参数
应该是一个方式
,但在编译器
中,它们是另一个方式
.
他说对编译器
,有两个不同类型的测试
.对特定的编译器
错误,有各种奇怪的测试
.Robert
描述的测试
只是示例,但这也证实
了该规范
符合想表达的
.
Walter
说,如果编译器和规范
不匹配,那就是个应该报告
的错误
.他们确实报告了
,就可以一个一个
打倒他们
.
Lu
说他曾试修复调用约定错误
,但这是个很难的问题
,因为它在DMD
后端无处不在
.
Walter
同意调用约定
是复杂性
的一个重要源
,尤其是在后端
,因为它支持多个调用约定
.这是一大堆代码
.
Lu
说,他看到的问题之一
是DMD
的数学内部函数
.它们是基于调用约定
实现的,但是因为参数顺序
实际上是相反
的,现在需要更改所有这些内部函数
.
他提交了一些PR
来试修复它们
,但测试
失败了.从Iain
对话得知,GDC
是最符合ABI
的D编译器
.
Johan
让回到了他的原点:如果编译器和规范
放在同一个仓库中,则更容易知道哪种语言规范
与你的编译器版本
匹配.
至于测试规范
,他说有一些公司为C语言
制作了测试包
.这很难.这与在同一个仓库
中放置规范和编译器
是完全不同问题
.
编写单行规范
后的所有测试代码行
的工作是巨大的
.这很好,但肯定是个巨大的项目
.
至于ABI
,他觉得这超出了语言规范
.对他来说,规范
应在更高
的位置.实现CABI
是因为必须
,但除此外,ABI
是相当开放
的.
那是在较低的层面
上.对程序员来说,更有趣的是
更高的规范级
,这与你的特定编译器版本
有关.当它们在不同仓库
中时,你必须弄清楚哪些日期与哪个匹配
,这很快就会变得非常麻烦
.
Walter
同意语言规范
和ABI
规范是两个截然不同东西
.他说明,在标准化C语言
后,一家公司测试C规范
中的每一段代码
制作了一个包
,然后发布它
.
每个C编译器
都失败了.所有C编译器
都花了数年时间
才成功运行从规范
中取的测试
.这就是整个问题
.
Mathis
建议,当你在查看语言规范
时,发现某些内容
对你没有意义,但随后查看测试
后发现它的意义
,则这就是应该进入规范
的测试.
你不必在那一刻
把它放进去
,但你可为它提交
一个问题
.沃尔特同意.
Lu
举了一例,Weka
遇见过它,在同一仓库
中放置规范和编译器
是有用
的.
沃尔特说他对此没有异议
.整合它们
没问题.
最后,Johan
报告说,Weka
仍在使用LDC1.30
,但他们已接近升级
到1.38
,即D2.108
.他已看到了2.109
中的一些变化
,他们花了时间
来适应,因此分发先升级
到2.108
,然后再从那里
继续.
Lu
说,他很高兴能使用一些DIP1000
特征.DIP1000
的变化是因为析构
而使它们一直用旧版本
,但现在已修复了.
马蒂亚斯.朗
Mathias
想重申工具的重要性
,他提前感谢Dennis
可愿意查看一下dfmt
.Symmetry
也使用了格式化程序
,尽管他们使用的是sdfmt
,因为Amaury
维护了它.
但是,使用工具
可做更多
事情,它会很好
地整合他们的项目
.按库DMD
可以实现很多好东西
,而AST
重构项目可以允许它
.
如果必须在DMD
的ARM
后端,和不变
的AST
间做出选择,他会投给
不变的AST
.
丹尼斯
Dennis
最近一直在与COM
打交道.它有个带命名参数
的特殊调用约定
,而D
有命名参数
,所以他想试组合它们
在一起会很好
.
但是opDispatch
和opCall
不支持命名参数
,且DIP
没有为它提供机器
.
他有个想法,可添加按串数组
按模板参数压命名参数
的,类似opNamedDispatch
的东西.这样就可以了.沃尔特觉得这似乎很有趣
.
沃尔特
Walter
说他一直在向X发布
他在AAarch64
代码生成器上的每日进度更新
.他当前正在处理调用函数返回序列
.
花了一些时间
后,他慢慢开始理解ARM
指令集.它的某些部分
仍很怪.对一个本应简单的指令集
,它非常复杂
.他必须编写一些代码片
,并在godbolt
上试用它们,看看它们到底做了什么
.
他已到了它会管用的地步
,但完成细节
需要一点时间.他期望的很快就会运行基本
的.
Johan
问Walter
是否有机器
可运行它.沃尔特说他只是在用godbolt
.他会编写个两行左右的函数
,并想看看它发出了哪些指令
.
他们是怎么处理pushs
和pops
?他们是如何调用函数
的?Godbolt
非常适合这些.
他说他还有一个RaspberryPi
.他期望RaspberryPi
用户可变成简单AArch64DMD
后端的潜在用户组
.这就是他分发的目标机器
.
编译器当前发出的代码
没有处理elf
目标文件中的修复
,因此不能试运行生成的代码
.
可惜,elf
生成器代码
是个老鼠窝
.他一直在重构它
以使其更易于处理
.重构,与x86
修复完全不同,应该更容易修复AArch64
.
他已为它编写了个目标文件转储程序
和一个反汇编器
,因此正在慢慢地组合这些部分
.一旦他在RaspberryPi
上工作,他就会得到一台带ARM
芯片的最新Mac
,并让它在那里工作
.
Johan
说他以为Walter
是窗口
用户.他了解
到现在有些不错
的窗口版的ARM
笔记本电脑.但有时,如果Walter
有一台机器
来运行它就好了.
Walter
说窗口
后端可能是最后一步
,主要是因为他发现窗口ABI
的文档很差
,而且要使它正常工作
需要付出更多努力
.
他也不喜欢使用微软SDK
.它太大太复杂了
,很难在里面找到东西
.它有太多的目录和文件
,他就是不喜欢到处找它
.
这也是窗口
支持,只是实现ImportC
的最后原因
.
他说Linux
开发工具要好得多
.它们更易于理解
,且面向命令行
,而不是GUI
.他发现它们更容易开发代码
,也更容易理解
正在发生的事情.
因此,他打算把微软
问题延迟到最后.
Martin
说明,d运行时
很可能需要为窗口的AArch64
工作.Johan
说,事实上,LDC
可能无法在窗口ARM
笔记本电脑上运行
.
如果有一些开发者
可从事这项工作
,那就太好了.不一定是沃尔特.也许是核心贡献者之一
,或是参与游戏并有动力修复最后点点滴滴的人.
Dennis
问Walter
打算用PR
做什么.他打算继续添加
并在测试
包通过后整合整个事情
,还是要合并一个最小的工作版本
并在此基础上构建?
沃尔特知道它越来越大
,而且看不到尽头
.他不断地重定基
,这样它就不会无可救药地分歧
.它现在是如此之大
,坦率地说,不可能审查
它.
他问Dennis
即使它还不是一个全功能的后端
,简单
把它主线化
是否是合理的?这样更容易管理
并避免无法合并它
,同时更容易审查未来添加
.
Dennis
认为,如果有依赖的标志
和框架
来构建实际的生成代码
,那就太好了.Walter
说,此时,如果它通过了测试包
,他会很高兴合并它
.
Dennis
问测试包
中是否有实际运行生成代码
的ARM
测试.沃尔特说没有.
Dennis
问这是否只是根据期望
的汇编测试
,Walter
说就是.他正在目视检查汇编
.表明,-vasm
开关对此非常有用.
他使用-vasm
编译,查看反汇编的代码
,并用godbolt
发布的代码
比较它.他甚至会取godbolt
发出的代码,按测试包的一部分
放进反汇编器
中.
丹尼斯说他可花点时间看看.他想看看代码,但这不是他一个晚上
可以完成的事情.Walter
说这正是问题所在
,所以他完全支持合并它
并从那里
继续.
相关文章:

2412d,d的7月会议
原文 总结 卡斯滕 Carsten说,Decard一直在大量试验WebAssembly.他们一直在把d运行时挖出来,直到它工作.他们在浏览器中运行了一些库函数,并试了不同虚机. 他们在移动方面遇见了很多问题,因为不同芯片按不同方式工作.他们想让他们的整个SDK在WASM上运行,但可能需要一年时间才…...

ANOMALY BERT 解读
出处: ICLR workshop 2023 代码:Jhryu30/AnomalyBERT 可视化效果: 一 提出动机 动机:无监督 TSAD 领域内,“训练集” 也缺失:真值标签(GT);换句话说,一个…...

定时/延时任务-Netty时间轮源码分析
文章目录 1. 概要2. 参数3. 构造器4. 回收5. 启动时间轮 - start6. 停止时间轮 - stop7. 添加任务8. 工作线程 - Worker8.1 线程参数8.2 核心逻辑-run8.3 指针跳动到下一个tick8.4 处理要取消的任务8.5 把新增的任务加入时间轮8.6 执行过期任务 9. HashedWheelTimeout9.1 属性9…...

React的一些主要优点是?
React 一些主要的优点: 组件化架构: React 通过组件化的方式构建 UI,允许开发者将复杂的应用拆分成可重用的小部分。这使得代码更加模块化和可维护。 虚拟 DOM: React 使用虚拟 DOM 来提高性能。它通过在内存中维护一个与应用状态…...

RabbitMQ 基本使用方法详解
RabbitMQ 基本使用方法 在你的代码中,涉及到了 RabbitMQ 的基本使用,包括队列定义、交换机的配置、消息的发送与接收等内容。下面我将详细总结 RabbitMQ 的基本使用方法,重点解释如何在 Spring Boot 项目中与 RabbitMQ 集成。 1. 引入依赖 …...

[leetcode100] 101. 对称二叉树
https://leetcode.cn/problems/symmetric-tree/description/?envTypestudy-plan-v2&envIdtop-100-liked 心血来潮,突然感觉很久没做leetcode,刷一题。 看到“简单”,哦吼,应该很快吧。 结果真是《简单》 题目描述 给你一个…...

Vue.createApp的对象参数
目录 template 属性 data 属性 methods 属性 疑问 function 函数的两种写法 methods 属性中 this 的指向 总结 Vue 实例是通过 Vue.createApp() 创建的,该函数需要接收一个对象作为参数,该对象可添加 template、data、methods 等属性。 template …...

短信验证码burp姿势
首先声明,本文仅仅作为学习使用,因个人原因导致的后果,皆有个人承担,本人没有任何责任。 在之前的burp学习中,我们学习了图片验证码的突破,但是现实中还有很多短信验证码,在此我介绍几种短信验…...

ubuntu WPS安装
需要进入国外官网下载 [OFFICIAL] WPS Office-Free Office Download for PC & Mobile, AI-Powered Office Suite 安装 sudo dpkg -i wps-office_11.1.0.11723.XA_amd64.deb 提示缺失字体操作 下载字体包 链接: https://pan.baidu.com/s/1EVzb3F8Ry_dJ_hj0A4MksQ 提取…...

中粮凤凰里共有产权看房记
中粮凤凰里看房是希望而来,失望而归。主要是对如下失望,下述仅个人看房感受: 1. 户型不喜欢:三房的厨房和餐厅位置很奇葩 2. 样板间在25楼:湖景一言难尽和有工厂噪声 3. 精装修的交房质量:阳台的推拉门用料很草率 …...

学习笔记068——Hibernate框架介绍以及使用方法
文章目录 一、如何使用二、具体操作1、创建 Maven 工程,pom.xml2、hibernate.cfg.xml3、创建实体类4、创建实体关系映射文件5、实体关系映射文件注册到 Hibernate 的配置文件中。6、使用 Hibernate API 完成数据操作。7、pom.xml 中需要配置 resource 三、Hibernate…...

Maven 安装配置(详细教程)
文章目录 一、Maven 简介二、下载 Maven三、配置 Maven3.1 配置环境变量3.2 Maven 配置3.3 IDEA 配置 四、结语 一、Maven 简介 Maven 是一个基于项目对象模型(POM)的项目管理和自动化构建工具。它主要服务于 Java 平台,但也支持其他编程语言…...

虚幻开发中的MYPROJECTFORPLUG_API
百度网盘-免费云盘丨文件共享软件丨超大容量丨存储安全 在虚幻引擎5(Unreal Engine 5)中,以及许多其他使用C的项目中,__declspec(dllexport) 和 __declspec(dllimport) 是用来处理动态链接库(DLL)的宏定义…...

顺序栈及其实现过程
目录 一、概念 二、顺序栈 2.1顺序栈的结构模型 2.2顺序栈的实现 2.2.1创建 2.2.2判断栈是否为空 2.2.3判断栈是否为空 2.2.4入栈 2.2.5出栈 2.2.6查看栈顶 2.2.7清空栈 2.2.8释放栈 一、概念 栈是限制在某一端进行插入、删除操作的线性表,俗称堆栈&…...

内圆弧转子泵绘制工具开发
接着上期的Gerotor 泵的话题继续。最近有小伙伴找我开发一个内圆弧摆线泵的计算绘制工具,也就是把上次计算绘制的过程做成一个桌面应用工具,这样用起来会更方便、效率更高。那究竟是什么样的工具呢?一起来看看: 前面不是已经有了上…...

linux网络编程 | c | 多进程并发服务器实现
多进程并发服务器 基于该视频完成 11-多进程并发服务器思路分析_哔哩哔哩_bilibili 通过的是非阻塞忙轮询的方式实现的 和阻塞等待的区别就是,阻塞是真的阻塞了,而这个方式是一直在问有没有请求有没有请求 文章目录 多进程并发服务器1.核心思路&…...

Vins_Fusion_gpu中source setup.bash
文章目录 source setup.bashsetup.bashsetup.sh脚本的主要功能脚本的详细解释1. **初始化和检查**2. **检测操作系统**3. **设置环境变量**4. **记住 shell 类型**5. **调用 Python 脚本生成环境变量**6. **加载环境钩子**7. **清理** 总结 _setup_util.py_setup_util.py 的完整…...

怎么理解大模型推理时的Top_P参数?
本篇博客介绍一下大模型推理时的Top_P参数,Top_P与Top_K,Beamsearch,temperature 都是什么关系以及该如何选择Top_P参数。 文章目录 一、什么是Top_P参数?二、工作原理三、top_p和top_k是什么关系?四、Top_P和BeamSea…...

hive+hadoop架构数仓使用问题记录
使用问题记录 问题1:5条数据的表执行count(*)函数,很慢,43s才出结果? 该数仓的分析计算是基于hadoop的mapreduce分布式计算框架运行的,适用于大量/海量数据,少量数据,还是使用单体数据库快。也…...

前端的 Python 入门指南(三):数据类型对比 - 彻底的一切皆对象实现和包装对象异同
《前端的 Python 入门指南》系列文章: (一):常用语法和关键字对比(二):函数的定义、参数、作用域对比(三):数据类型对比 - 彻底的一切皆对象实现和包装对象异…...

Axios结合Typescript 二次封装完整详细场景使用案例
Axios 是一个基于 promise 的 HTTP 客户端,用于浏览器和 node.js。二次封装 Axios 主要是为了统一管理 HTTP 请求,例如设置统一的请求前缀、头部、超时时间,统一处理请求和响应的格式,以及错误处理等。 以下是一个使用 TypeScrip…...

基于Kubesphere实现微服务的CI/CD——部署微服务项目(三)
目录 一、kubesphere安装 1、安装本地持久存储 1.1、default-storage-class.yaml 1.2、 openebs-operator.yaml 1.3、安装 Default StorageClass 2、安装kubesphere 2.1、安装Helm 2.2、安装kubesphere 二、配置kubesphere 1、安装插件 2、创建devops项目 3、配置…...

【使用webrtc-streamer解析rtsp视频流】
webrtc-streamer WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或&a…...

element左侧导航栏
由element组件搭建的左侧导航栏 预览: html代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>首页</title><style> /*<!-- 调整页面背景颜色-->*/body{background-colo…...

【金融贷后】贷后运营精细化管理
文章目录 一、贷后专业术语讲解① 什么是贷后,贷后部是干什么的?② 贷后部门常见组织架构?③ 贷后专业术语有哪些? 二、贷后常用作业手段介绍① 贷后产品形态介绍?② 催收常用的方法? 三、贷后策略岗位介绍…...

学习CSS第七天
学习文章目录 一.交集选择器 一.交集选择器 使用多个条件符合的元素,可提高区分的精准度 元素配合类名是使用场景最多的 (元素必须是第一位,ID一般不写) <!DOCTYPE html> <html lang"zh-CN"> <head>…...

Image Stitching using OpenCV
文章目录 简介图像拼接管道特征检测和提取特征检测特征提取 特征匹配强力匹配FLANN(近似最近邻快速库)匹配 单应性估计扭曲和混合结论 使用opencv进行图像拼接 原为url: https://medium.com/paulsonpremsingh7/image-stitching-using-opencv-a-step-by-s…...

CentOS7 安装Selenium(使用webdriver_manager自动安装ChromeDriver)
在 CentOS 7 上安装 Selenium 通常涉及几个步骤,包括安装 Python、安装 Selenium 库、安装 WebDriver 以及配置环境。以下是详细的步骤: 1. 安装 Python 和 pip 如果你的系统中还没有安装 Python 和 pip,可以使用以下命令进行安装ÿ…...

鸿蒙手机文件目录
最近在开发鸿蒙,想把文件从电脑上发送到鸿蒙上我的手机APP的根目录,但是试了几次目录都不对,最后终于找到了,在这里记录一下 鸿蒙手机路径: /storage/media/100/local/files/Docs 将文件从电脑发送到手机:hdc file s…...

泷羽Sec学习笔记-Bp中ip伪造、爬虫审计
ip伪造与爬虫审计 ip伪造 下载插件:burpFakeIP 地址:GitHub - TheKingOfDuck/burpFakeIP: 服务端配置错误情况下用于伪造ip地址进行测试的Burp Suite插件 python版需要配置jython:下载地址:Maven Central: org.python:jython-…...