XOR
Codeforces Round #851 (Div. 2) A-E
比赛链接 A 题意 给一串只包含 $1,2$ 的数,找到最小的 $k$ 使得 $\prod_{i=1}^k a_i = \prod_{i=k+1}^n a_i$ 。 题解 知识点:枚举。 因为只有 $1,2$ ,所以考虑左右两边 $2$ 的个数即可。 时间复杂度 $O(n)$ 空间复杂度 $O(n) ......
WordPress4.6任意命令执行漏洞
前言 WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也算是一个内容管理系统(CMS) ###环境搭建 docker环境 (搭建可参考:https://www.cnblogs.com/BlogVice-2203/ ......
如何修剪git reflog历史
背景: vscode插件git-graph可以方便查看git-commit-graph,效果很好,关键是交互性很好。点选任意commit即可预览提交内容,实在是太方便了,比我之前用命令行上git log --graph --oneline强太多了。但同时带来的困扰是能看到的信息(commit历史)太 ......
OpenMP 线程同步 Construct 实现原理以及源码分析(下)
在上面文章当中我们主要分析了 flush, critical, master 这三个 construct 的实现原理。在本篇文章当中我们将主要分析另外两个 construct : barrier 和 single 。 ......
OpenMP For Construct dynamic 调度方式实现原理和源码分析
在本篇文章当中主要给大家介绍 OpenMp for construct 的实现原理,以及与他相关的动态库函数分析,与 for construct 非常相关的是循环的调度方式,在 OpenMP 当中一共有四种调调方式,auto, dynamic, guided, runtime, 在本篇文章当中主要是... ......
Netty Protobuf处理粘包分析
背景 最近消息中间件项目进行联调,我负责Server端,使用Java的Netty框架。同事负责Client端,使用Go的net包,消息使用Protobuf序列化。联调时Client发送的消息Server端解析出错,经过分析发现是Server与Client粘包处理方式不一致导致,Server使用的是P ......
【Oculus Interaction SDK】(五)设置不同的抓握手势
前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
【Oculus Interaction SDK】(六)实体按钮 & 按压交互
前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
【Oculus Interaction SDK】(三)限制可操作物体的移动 / 旋转
前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章 ......
R数据分析:孟德尔随机化中介的原理和实操
中介本身就是回归,基本上我看到的很多的调查性研究中在中介分析的方法部分都不会去提混杂,都是默认一个三角形画好,中介关系就算过去了,这里面默认的逻辑就是前两步回归中的混杂是一样的,计算中介效应的时候就自动消掉了。 但是,实际上对不对,还是有待具体分析的: Traditional, non-instru ......
剑指 Offer 32 - I. 从上到下打印二叉树(java解题)
leetcode《图解数据结构》剑指 Offer 32 - I. 从上到下打印二叉树的解题思路和java代码,并附上java中常用数据结构的功能函数。 ......
【教程搬运】分析并编写suricata规则(内含两个示例)
suricata规则分析 参考1 参考2 Suricata 签名的结构 在高层次上,Suricata签名由三部分组成: Action:当流量符合规则时采取的行动 Header:一个标题,描述主机、IP地址、端口、协议和流量方向(传入或传出) Options:选项,指定诸如签名ID(sid)、日志信息 ......
【C++ 泛型编程01:模板】函数模板与类模板
【模板】 除了OOP外,C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 函数模板 函数模板作用 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法 template<typename T> 函数声明或定义 ......
【LeetCode字符串#03】图解翻转字符串中的单词,以及对于for使用的说明
翻转字符串中的单词 力扣题目链接(opens new window) 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hel ......
JavaScript 中 this 关键字的作用和如何改变其上下文
JavaScript 中的 this 关键字引用了所在函数正在被调用时的对象。在不同的上下文中,this 的指向会发生变化。可以通过 call, apply, bind 方法来改变 this 的上下文。 ......
JavaScript 内存管理及垃圾回收
JavaScript 中的内存管理主要由 JavaScript 引擎负责,开发人员不需要手动管理内存。JavaScript 引擎使用垃圾回收算法来实现自动垃圾回收。
JavaScript 垃圾回收算法是指在 JavaScript 程序中,用来回收不再使用的内存的算法。 ......
JavaScript 数组去重
JavaScript 中有多种方法可以实现数组去重,下面是几种常用的方法: 1、使用 Set 去重:Set 数据结构中不能有重复元素,可以将数组转成 Set 类型,再转回数组。 let arr = [1,2,3,4,5,6,2,3,4]; let uniqueArr = [...new Set(ar ......
真正“搞”懂HTTP协议06之body的玩法(实践篇)
我真没想到这篇文章竟然写了将近一个月,一方面我在写这篇文章的时候阳了,所以将近有两周没干活,另外一方面,我发现在写基于Node的HTTP的demo的时候,我不会Node,所以我又要一边学学Node,一边百度,一边看HTTP,最后百度的东西百分之九十不能用,所以某些点就卡的我特别难受。 比如最后的分段 ......
真正“搞”懂HTTP协议07之队头阻塞真的很烦人
这一篇文章,我们核心要聊的事情就是HTTP的对头阻塞问题,因为HTTP的核心改进其实就是在解决HTTP的队头阻塞。所以,我们会讲的理论多一些,而实践其实很少,要学习的头字段也只有一个,我会在最开始就讲完这个头字段,然后我们安心的去学习接下来的理论知识,嗯……这些理论知识很重要。 那我们就先来看看我们 ......
真正“搞”懂HTTP协议08之重定向
我们知道,用来传输页面的协议就是HTTP协议,全称是超文本传输协议,而浏览器展示的页面则是用HTML编写的,HTML的全称则是超文本标记语言。你看,都叫做超文本,我在第一篇文章的时候也详细的聊过,超文本区别于文本的本质就是文本中具有超链接的文本。 当我们点击页面中的超链接,则会跳转到其它超文本页面, ......
真正“搞”懂HTTP协议09之这个饼干不能吃
我们在之前的文章中介绍HTTP特性的时候聊过,HTTP是无状态的,每次聊起HTTP特性的时候,我都会回忆一下从前辉煌的日子,也就是互联网变革的初期,那时候其实HTTP不需要有状态,就是个浏览页面,没有什么需要记录信息的地方,所以无状态完全符合当时的场景。 另外,无状态也给HTTP带来了不少的好处,正 ......
在不使用cv2等库的情况下利用numpy实现双线性插值缩放图像
起因 我看到了一个别人的作业,他们老师让不使用cv2等图像处理库缩放图像 算法介绍 如果你仔细看过一些库里缩放图像的方法参数会发现有很多可选项,其中一般默认是使用双线性插值。具体步骤: 计算目标图坐标对应原图中哪些坐标来填充 根据双线性插值的公式写出代码 其中缩放函数使用numpy来加快速度,使用f ......
Docker快速部署Nacos
前置 机器配置不能太低 ( ~~2c2g的轻量服务器直接崩掉了~~) Docker https://www.docker.com/ 开始安装 mysql 使用docker安装mysql 可以不输入这个直接跳到下一步,docker会帮你下载. docker pull mysql 运行mysql doc ......
salesforce零基础学习(一百二十四)Postman 使用
本篇参考: Salesforce 集成篇零基础学习(一)Connected App salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce 我们在项目中也经常遇见下游系统去和我们进行交互的情况,针对 salesforce可以提供 标 ......
升级csproj文件为vs2017工程格式(SDK样式)
csproj文件在VS2017后格式变更为SDK样式。framework项目如果需要源链接等等功能,需要进行手动升级。 升级过程 升级需要Project2015To2017Nuget包。 > dotnet tool install --global Project2015To2017.Migrate ......
DevExpress 的LayoutControl控件导致资源无法释放的问题处理
现象记录 前段时间同事发现我们的软件在加载指定的插件界面后,关闭后插件的界面资源不能释放, 资源管理器中不管内存,还是GDI对象等相关资源都不会下降。 问题代码 问题的代码大概如下。 public void LoadPluginUI(string pluginID) { this.Control.C ......
JumpServer(v2.28.6) 堡垒机添加Linux资产 (图文教程)
前面介绍了如何在《CentOS7下搭建JumpServer 堡垒机》,基于这篇文章的环境搭建过程,接着介绍安装后的的功能配置使用。 首次wbe登录,https://ip:80,默认账号密码:admin,admin;这里自定义密码修改:admin@123 用户管理项 创建系统角色 创建用户 创建用户组 ......
发布并部署NCF站点的那些事
简介 开工第一天,祝大家2023年钱兔无量,技术兔飞猛进 为更加方便大家一站式打通所有使用NCF的环节,在新年开工的第一天给大家带来如何发布最新版本的站点 无论你的网站在开发环境做的多么的炫酷,实用,最终都是要拉出来遛遛的,所以上测试环境,正式环境,使用云服务器是必经之路 这一节就是主要帮助大家排除 ......
图解 Andrew 算法求凸包
前言 Andrew 算法可以在 $O(n\log n)$ 的时间复杂度通过单调栈分别求出散点的上凸壳和下凸壳,来求出平面上一些点的凸包。 看懂这篇博客,大家需要掌握: 基础计算几何知识 单调栈 本文中的向量恕不加 $\overrightarrow{}$ 符号。 凸多边形是指所有内角大小都在 $[0, ......
如何在 pyqt 中使用动画实现平滑滚动的 QScrollArea
前言 在之前的博客《如何在 pyqt 中实现平滑滚动的 QScrollArea》中,我们使用定时器和队列实现了平滑滚动。但是实现代码还是有一点复杂,所以这篇博客将使用 Qt 的动画框架 QPropertyAnimation 来实现相同的功能。 实现过程 SmoothScrollBar 滚动过程其实就 ......