
python
文章平均质量分 89
虚幻私塾
xuhss.com 简单高效的学习
展开
-
经典背包系列问题
来对上述递归过程进行优化,由于递归函数只有两个可变参数,所以可以定义一个二维数组 dp,二维数组的元素全部初始化为 -1,表示未计算过,用这个二维数组就可以存下所有的递归过程中间值,在递归函数中,如果 dp 的值已经计算过,直接返回即可。dp 的初始值全为 -1, 同时,将每次递归结果都存入 dp 中,如果某个递归算过了,则直接返回即可,完整代码如下。第二个决策,要当前物品,这个决策下,有一个限制条件,即当前物品大小不超过 rest,两个位置,根据这个依赖关系,可以将二维数组简化成一维数组,原创 2022-11-03 01:09:26 · 1111 阅读 · 0 评论 -
如何在.NET程序崩溃时自动创建Dump?
本文主要是介绍了如何在dotNet程序崩溃时自动创建Dump,Windows上的方法对于.NET Freamwork和.NET Core版本都适用。.NET Core全平台版本的话需要注意环境变量支持的.NET版本。原创 2022-11-02 12:36:24 · 1432 阅读 · 0 评论 -
谣言检测(RDCL)——《Towards Robust False Information Detection on Social Networks with Contrastive Learning
需要对 每个特征向量 zim,zjm,zneg zmi,zmj,zneg z_{m}^{i}, z_{m}^{j},z_{\text {neg }} 使用 l2l2l_2 normalization。因此,如果能够增加图级空间中样本对之间的距离,它将提供更大的梯度信号,从而增加模型的学习难度,提高对比学习的质量。Figure 5 说明,由 HPG 生成的数据增强图,他们之间的相似度小于其他数据增强方法,那么损失函数 SSL 会加大对模型的惩罚,提高对比学习的质量。原创 2022-11-02 01:09:13 · 1467 阅读 · 0 评论 -
升讯威在线客服系统客服端英文界面的技术实现方法,客户落地巴西圣保罗
在项目文件中,开发人员设置 en-US,以便在生成时会生成一个中性语言的主程序集,该程序集具有一个包含所有可本地化资源的附属 .resources.dll。它们由具有较旧的 UI 本地化的 UI 使用。键值对的键是在本地化人员开始进行本地化之后,开发人员放置在原始 UI 中的 x:Uid 值,你可以将开发更改与已完成的本地化工作进行合并,使损失的翻译工作降至最少。使用 Grid 控件可以构造 UI,这是一个有用的控件,它可以利用位于每个单元格中的 UI 元素中的自动布局,适应本地化过程中大小的增加和减小。原创 2022-11-01 12:33:49 · 1089 阅读 · 0 评论 -
单据架构—实现页面可配置化
不多也不少 (架构都是适合当时的情况, 解决当时的问题, 重要的是不做过多设计, 这是一个陷阱)演进式 (根据变化及时改进和调整架构)持续性 (自身的能力也是逐步提升的, 设计的时候需要为未来改进留下一定的空间)我是甜点cc热爱前端开发,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。原创 2022-11-01 01:05:14 · 1401 阅读 · 0 评论 -
C++11绑定器bind及function机制
之前在学muduo网络库时,看到陈硕以基于对象编程的方式,大量使用boost库中的bind和function机制,如今,这些概念都已引入至C++11,包含在头文件中。本篇文章主要梳理C++绑定器相关的内容以及C++11中引入的functionbind1st、bind2nd、bind(C++11)。学完本篇内容,将对C++绑定器及function机制等的底层实现有深刻理解,那么我们开始说吧。本文通过C++11之前的bind1st和bind2nd。原创 2022-10-31 01:04:11 · 2396 阅读 · 1 评论 -
【图像处理笔记】图像分割之聚类和超像素
的经典方法,它与亮度和颜色等变量有关;(2)用聚类从图像中提取“原创 2022-10-30 12:33:43 · 2391 阅读 · 0 评论 -
分布式ID生成方案总结整理
这时候如果要进行扩容,就要重新设置,机器2可以挑一个偶数的数字,这个数字在扩容时间内,数据库自增要达不到这个数的,然后步长就是2,机器1要重新设置step为2,然后还是以一个奇数开始进行自增。对于单体系统来说,主键ID可能会常用主键自动的方式进行设置,这种ID生成方法在单体项目是可行的,但是对于分布式系统,分库分表之后,就不适应了,比如订单表数据量太大了,分成了多个库,如果还采用数据库主键自增的方式,就会出现在不同库id一致的情况,虽然是不符合业务的。据此可生成一个64 bits的唯一ID(long)。原创 2022-10-30 01:03:42 · 1220 阅读 · 0 评论 -
网络安全(一):信息收集之玩转nmap(理论篇)
TCP和UDP这些都是基于IP扫描,如果只需要扫描局域网内(同网段,不跨越网关),可以使用ARP扫描,往往都不容易被察觉也比网络层扫描更可靠,当广播询问IP的对应MAC地址时候,当有回应那么就认为主机在线。从技术上说,这不是端口扫描 ,既然它遍历的是IP协议号,但是也可以使用-p来指定端口,只不过这个端口对应的是协议的号码。有时候从dhcp服务器中导出了在线的ip,可以使用文件来批量的选择扫描的目标,比如某公司禁止公司内部电脑开启web服务等,使用文件导入的方法,可以跳过离线主机进行的扫描。原创 2022-10-29 12:33:34 · 4628 阅读 · 2 评论 -
MQ系列7:消息通信,追求极致性能
前面的章节我学习了 NameServer的原理,消息的生产发送,以及消息的消费的全过程。原创 2022-10-29 01:04:34 · 1768 阅读 · 0 评论 -
从源码入手探究一个因useImperativeHandle引起的Bug
组件1则是通过props传递了两个父组件的方法,一个是用于间接地访问组件2中的方法,另一个则是可能导致父组件重渲染的方法(当然这种结构的安排明显是不太合理的,但由于项目历史包袱的原因咱就先不考虑这个问题了\doge)。其中的组件2因为要在父组件中调用它的内部方法,所以用。但这两种情况都会返回一个清理副作用的函数,而这个清理函数的任务就是——把我的。更新渲染中的执行时机都是比较熟悉的,唯独这个。),例如对DOM的增删改,以及我们熟知的。内部渲染流程的同学,应该知道,在。的清理函数也是在这时候完成的。原创 2022-10-28 01:03:34 · 2418 阅读 · 0 评论 -
驱动开发:内核监控Register注册表回调
中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过。其中对于注册表最常用的监控项为以下几种类型,当然为了实现监控则我们必须要使用之前,如果使用之后则只能起到监视而无法做到监控的目的。需传入三个参数,参数一回调函数地址,参数二空余,参数三回调句柄,微软定义如下。,那么只有当注册表被创建才会拦截,此时就会变成拦截创建。原创 2022-10-27 12:33:22 · 1185 阅读 · 0 评论 -
Python全栈工程师之从网页搭建入门到Flask全栈项目实战(3) - 入门Flask微框架
MTV的设计模式和请求响应过程:1,用户进入网站,发起request请求2,View接受请求,进行业务逻辑处理后,并同时向Model和Template发送指令3,Model进行数据分析,然后将获取的数据返回给View4,Template获取html页面,然后将获取的页面内容返回给View5,View将Model中返回的数据渲染到Template中,并将数据以特定的格式返回给用户。**备注:**在实际开发过程中,mtv模型不是所有的模块都必须有的,模板可以没有,模型可以没有,但是视图是要一定存在的;原创 2022-10-27 01:04:59 · 1520 阅读 · 0 评论 -
java中的垃圾回收算法与垃圾回收器
上面的垃圾算法仅仅只是一个理论上的算法 ,正在实现这些算法的叫垃圾回收器,在工作中具体是怎么回收工作的可以不关心,但是需要了解不同的垃圾回收器是基于哪种算法实现的,有助于出现性能问题的时候有思路去参数调优,而不是盲目的问度娘。,s0 s1的默认大小是eden的8/1 这样设计的目的在于每次触发回收的时候把90(eden+其中1个s区)的区域中存活的对象copy到10%的存储中,理论上清除了90%的空间,这样做的好处就是不需要花50%的存储空间,只浪费了10%的空间就实现了这个算法逻辑。原创 2022-10-26 01:02:41 · 2393 阅读 · 0 评论 -
Java并发编程 | Synchronized原理与使用
虽然可以按照不同维度来划分 Synchronized 但本身机制是一样的,无论是 Synchronized 函数/代码块,都是通过对象监视器( Monitor )来实现。无论是this、class、object本质上都是一个对象,区别无非代表的是当前实例、类、一般实例,它们都有着对象监视器( Monitor )。Synchronized 的作用范围,依据锁定的对象(object、this、class)、使用方式,可以分成五种情况。同一个线程可以多次进入被锁定的相同对象监视器( Monitor ),原创 2022-10-25 12:34:11 · 1654 阅读 · 0 评论 -
表达式得到期望结果的组成种数问题
给定一个只由 0(假)、1(真)、&(逻辑与)、|(逻辑或)、^(异或)五种字符组成的字符串 exp,再给定一个布尔值 desired。递归含义表示:exp 这个字符串,从 L 到 R 区间内,可以得到 desired 结果的组合数量是多少。接下来是普遍情况,分别枚举每个操作符可能在的位置的左右两侧的组合数量,然后做乘积即可,代码如下。exp =“1”,desired = false,无组合可以得到 false,返回0。首先考虑 base case,即:只有一个字符的时候,此时。原创 2022-10-25 01:06:30 · 1152 阅读 · 0 评论 -
【高并发】深度解析ScheduledThreadPoolExecutor类的源代码
onShutdown方法是ThreadPoolExecutor类中的钩子函数,它是在ThreadPoolExecutor类中的shutdown方法中调用的,而在ThreadPoolExecutor类中的onShutdown方法是一个空方法,如下所示。另外,在delayedExecute方法内部还调用了ThreadPoolExecutor类中的ensurePrestart()方法,接下来,我们看下ThreadPoolExecutor类中的ensurePrestart()方法的实现,如下所示。原创 2022-10-24 12:33:09 · 1293 阅读 · 0 评论 -
说说 Redis pipeline
本文主要讲了多命令执行时耗时问题,以及 pipeline 的解决方法,和其简单的原理,以及注意点。今天的学习就到这里,改天我们接着肝。原创 2022-10-24 01:05:42 · 1398 阅读 · 0 评论 -
【Odoo】Odoo16-性能优化提升
专注于基于Odoo项目实施,实现企业数智化,助力企业成长。,博客园分享(2022年前博文)10月12日,Odoo16版本正式发布,本文将就Odoo官方在性能方面做的优化做一个总结。如果需要官方视频,可以翻阅B站,有不少朋友已经做了搬运工。原创 2022-10-23 12:33:41 · 5574 阅读 · 0 评论 -
论文解读(GLA)《Label-invariant Augmentation for Semi-Supervised Graph Classification》
本文研究了图的对比学习问题。从现有的方法和训练前的方法不同,我们提出了一种新的图标签不变增强(GLA)算法,该算法集成了训练前和微调阶段,通过扰动在表示空间中进行标签不变增强。本文进一步使用 MUTAG 中的 100100100% 标签训练模型,然后以每种数据增强抽样概率 0.20.20.2 选择数据增强图,发现 80% 的数据增强图和原始图标签一致,约 202020% 的数据增强图和原始图标签不一致。在这些合格的候选对象中,选择了最困难的一个,即最接近分类器的决策边界的一个,以提高模型的泛化能力。原创 2022-10-23 01:04:39 · 1513 阅读 · 0 评论 -
【Kubernetes】K8s笔记(十一):Ingress 集群进出流量总管
目录*原创 2022-10-22 12:32:59 · 1133 阅读 · 0 评论 -
微服务组件--限流框架Spring Cloud Hystrix分析
【1】Hystrix是springCloud的组件之一,Hystrix 可以让我们在分布式系统中对服务间的调用进行控制加入一些调用延迟或者依赖故障的容错机制。【2】Hystrix 通过将依赖服务进行资源隔离进而阻止某个依赖服务出现故障时在整个系统所有的依赖服务调用中进行蔓延;【防止服务雪崩】【3】其核心功能:1)服务隔离(服务限流)通过线程池或者信号量判断是否已满,超出容量的请求直接降级,以达到限流的作用。2)服务熔断当失败率达到阈值自动触发降级,熔断器触发的快速失败会有助于系统防止崩溃。原创 2022-10-22 01:02:44 · 775 阅读 · 0 评论 -
.net lambda表达式合并
并不会执行表达式和方法,是把表达式转换为对应的Sql语句来执行,解析到nameFilter的时候他就懵逼了,这是啥玩意儿啊,sql里面没有这种东西啊,他就转换不了了。小伙子知道后明细很失望,那不能啊,也不是我想显摆我的技术,就是想让小伙子能继续他的骚操作,给他来点海克斯科技与狠活。我一看,好家伙,这么骚的代码都能让你想出来,正常情况下用Linq To Object是可以这么操作的,但是EF的。这样还不行,这两个表达式是两个不同的委托对象,他们的参数x也是两个不同的对象,合并了又没完全合并。原创 2022-10-21 12:33:57 · 648 阅读 · 0 评论 -
分布式之计算高性能
方案场景选择如果数据量小,选择单Reactor。例如:Redis [8]如果数据量有大,有小,选择Reactor多线程方案。例如:NET,java[9]如果数据量有大,有小,并有瞬间并发,选择多进程方案。例如:Netty,Dotnetty [10]如果数据量有大,有小,并有瞬间并发,而且资源消耗大,选择异步IO。例如:IOCP,epoll ,nginx,Dotnetty [11]以某商城分布式系统为例,看哪些模块使用F5设备。原创 2022-10-21 01:05:46 · 163 阅读 · 0 评论 -
路由组件构建方案(分库分表)V1
前期数据源的配置和信息已经放到Spring容器中,可随时使用;根据注解通过拦截器拦截方法中的数据。进行分库分表的操作,通过扰动函数进行计算,将结果保存到中,方便后续读取。我们定义了Interceptor将拦截(在SQL语法构建处理拦截)中参数类型为Connection的prepare方法,具体需要深入mybatis源码;主要功能:在执行SQL语句前拦截,针对相关功能实现SQL的修改在上述文章中主要是针对分库分表前做准备,下面才是决定数据入哪个库哪张表通过。原创 2022-10-20 12:33:29 · 163 阅读 · 0 评论 -
System.IO.FileSystemWatcher的坑
我们可以在程序中定时检查文件的最后修改时间,如果相隔一段时间的两次最后修改时间一致的话,那说明文件已经完成了传输,这种方式不依赖于打开操作,并且可以在Windows和Linux下运行。只要发现文件创建就触发了,大文件或者FTP等需要一段时间才能完成传输的情况下,直接在时间处理程序中处理文件会由于文件不完整导致错误。这个方法居然可以一次直接通过,看来Linux下的Share不能正常独占这个文件,还得换一个方法。为了防止无限循环,设置了超时,如果在指定的时间内无法完成,那么程序直接跳出。感觉还是挺方便的吧?原创 2022-10-20 01:02:37 · 541 阅读 · 0 评论 -
.NET周报【10月第2期 2022-10-17】
ASP.NET Core 上使用 Microsoft.Extensions.Configuration 在配置中进行类型化设置时,如何在“当前验证”中验证设置的信息。请注意,.NET 7 MAUI 中的 Xcode 14 支持将在以后(一周后)提供,因此 .NET 7 的 MAUI 是最新的 RC1。介绍在.NET中用NativeAOT创建本地库做的许多有趣的事情(如.NET分析器、LLDB扩展、.NET中的GC)。关于ILPack的介绍,这是一个用于在.NET Core及以上版本中动态存储程序集的库。原创 2022-10-19 12:35:20 · 682 阅读 · 0 评论 -
【C++】GoogleTest进阶之gMock
在前面,我们看到的都是单对象单方法仅有1种预期行为定义的情况,如果定义了多个呢?假如我们在后面调用了三次Forwar(10),那么测试会报错不通过。如果调用了两次Forward(10),一次Forward(20),那么测试会通过。原创 2022-10-19 01:03:43 · 520 阅读 · 0 评论 -
一篇文章带你了解热门版本控制系统——Git
集中版本控制通常用于团队开发,将一个电脑作为主机,将所有需要保存的项目资料都存放在该电脑上,实现集中控制。但是并非所有人的开发版本都会被保留使用,那些被淘汰的版本就会被像Git这样的软件所保存传送到相关仓库中。本地版本控制通常用于个人开发,我们将我们自己的项目进行版本控制,在迭代后将原版本的项目原件保留下来。下载Git之后,我们可以在文件夹下直接点击右键,可以看到出现有Git Bash的选项,点击即可开启。目前可靠的Git开发平台有GitHub,Gitab,Gitee,我们在这里采用Gitee为例。原创 2022-10-18 12:35:04 · 680 阅读 · 0 评论 -
Node.js躬行记(24)——低代码
低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。让具有不同经验水平的开发人员可以通过图形化的用户界面,通过拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。低代码的核心是呈现、交互和扩展,其中呈现和交互需要借助自行研发的渲染引擎实现。而此处的扩展特指物料库,也就是各类自定义的业务组件,有了物料库后才能满足更多的场景。在 4 个月前研发过一套可视化搭建系统,当时采用的是生成代码的方式渲染页面。原创 2022-10-17 12:33:52 · 390 阅读 · 0 评论 -
面试突击90:过滤器和拦截器有什么区别?
过滤器和拦截器都是基于 AOP 思想实现的,用来处理某个统一的功能的,但二者又有 5 点不同:出身不同、触发时机不同、实现不同、支持的项目类型不同以及使用的场景不同。过滤器通常是用来进行全局过滤的,而拦截器是用来实现某项业务拦截的。原创 2022-10-17 01:03:37 · 406 阅读 · 0 评论 -
Mysql单表访问方法,索引合并,多表连接原理,基于规则的优化,子查询优化
mysql可以将in子句的查询结果放入临时表,并对记录进行去重(根据查询结果列建立主键,唯一索引,或者联合唯一索引),in子句的结果去重并不影响执行结果,如果子查询结果集并不是很大那么会使用memory赢球,并且建立hash索引(in子句相当于判断列是否在临时表中,这时候hash索引可以起到很好的作用),如果很大那么会使用基于磁盘的存储引擎来保存结果集中的记录,并使用B+树。对于外连接,如果无法在被驱动表中找到符合on的记录,驱动表的记录还是会加入结果集中,对应的被驱动表的各个字段使用null填充。原创 2022-10-16 12:34:19 · 602 阅读 · 0 评论 -
redis bitmap数据结构之java对等操作
显然,java版本的bitmap虽然很很好用,但是它只是应用级别的,只能在进程内使用,有太多的其他问题没考虑,所以咱们还得要依赖于redis的bitmap.在之前的文章中,我们有说过bitmap,bitmap在很多场景可以应用,比如黑白名单,快速判定,登录情况等等。最基本的,redis的bitmap有设置和读取两个值,即 setbit/getbit, 非常容易理解,即设置某个标识为1,那么取值判定的时候,就可以得到true.java中的bitmap实现,也是按位存储,但是是基于long的存储。原创 2022-10-16 01:05:16 · 848 阅读 · 0 评论 -
emqx启用JWT令牌认证(包含hmac-based和public-key)
JWT 即 JSON Web Tokens是一种开放的,用于在两方之间安全地表示声明的行业标准的方法(RFC 7519)。emqx中hmac-based方式,表明 JWT 将使用对称密钥生成签名和校验签名(支持 HS256、HS384 和 HS512 算法),上述的JWT令牌使用的是SignatureAlgorithm.HS256,使用该方式验证,上述代码可以直接使用。原创 2022-10-15 12:34:16 · 1323 阅读 · 2 评论 -
.Net WebApi 中的 FromBody FromForm FromQuery FromHeader FromRoute
当然,很多情况下这样写是不会报错的,因为我们需要的数据,往往只会存在于一个地方,就是请求体(body),而我们的 .Net Core 又足够的强大,导致本不严谨的操作却不会发生 bug。而当出现这样的一个需求的时候,小伙伴们思考一下应该怎么做:一个 Post 请求,参数分别放在了 地址栏(url?在日常后端Api开发中,我们跟前端的沟通中,通常需要协商好入参的数据类型,和参数是通过什么方式存在于请求中的,是表单(form)、请求体(body)、地址栏参数(query)、还是说通过请求头(header)。原创 2022-10-07 12:34:09 · 1530 阅读 · 0 评论 -
CPS攻击案例(一)——基于脉冲宽度调制PWM的无人机攻击
攻击者通过放置在己方无人机上的电磁干扰部件,构造三种不同的攻击波形,作用到无人机控制器与伺服电机之间通讯的PWM电缆,构造的波形与PWM电缆中的PWM波耦合,因原PWM波携带指令数据,耦合后数据变更,进而阻塞或修改指令数据,进而影响伺服电机的操作,最终对无人机进行攻击,达到干扰进入我方空域的敌方无人机,甚至控制敌方无人机,与常规的炮火对空攻击不同,此攻击方式花费较小。原创 2022-10-07 01:03:35 · 726 阅读 · 0 评论 -
深入理解AQS--jdk层面管程实现【管程详解的补充】
1.java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这些行为的抽象就是基于AbstractQueuedSynchronizer(简称AQS)实现的,AQS是一个抽象同步框架,可以用来实现一个依赖状态的同步器。2.JDK中提供的大多数的同步器如Lock, Latch, Barrier等,都是基于AQS框架来实现的【1】一般是通过一个内部类Sync继承 AQS【2】将同步器所有调用都映射到Sync对应的方法。原创 2022-10-06 12:33:48 · 203 阅读 · 0 评论 -
Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识
top命令是我们经常用来查看系统信息的一个指令,它提供了一个动态的而且是实时的借口帮助我们去查看系统执行时的进程、线程和系统参数的信息。原创 2022-10-06 01:07:05 · 539 阅读 · 0 评论 -
云原生强大且灵活的持续集成CI开源框架Tekton实战-上
Tekton 官网地址Tekton 最新官网文档Tekton GitHub源码地址Tekton是一个强大、灵活的构建 CI/CD 流水线系统的开源框架,允许开发者构建、测试和发布应用。Tekton 是云原生的,通过定义 CRD ,让用户快速灵活定义流水线;Tekton是构建CI/CD系统的本地云解决方案。它由提供构建块的Tekton pipeline和支持组件组成,如Tekton CLI和Tekton Catalog,使Tekton成为一个完整的生态系统;原创 2022-10-05 01:03:39 · 1210 阅读 · 0 评论 -
Libgdx游戏开发(1)——环境配置及demo运行
Libgdx游戏是基于Java的一款游戏引擎,可以发布Android,桌面端,Html,IOS等游戏,出名的《杀戮尖塔》也是用了此引擎制作的。由于项目代码里的Android默认是用了31的build-tool,但是我的本地SDK没有安装,所以需要安装一下31版本的工具。你的项目如果是只支持电脑版的话,应该完事无碍就可以跑起项目了(下文的步骤2则是关于Android的知识了)PS:这里,我电脑是可以双击打开的,如果你电脑没法双击打开jar文件,可以选择执行下面命令来打开。原创 2022-10-04 12:34:55 · 2265 阅读 · 0 评论