Java Stream 必须掌握的几种用法

Stream 是 Java8 推出的一套简化集合、数组操作的 API,掌握 Stream 的用法将极大的提升我们的编程能力。 流的获取 通过 Stream 自带的 API 获取: // 通过传入可变参数构造 static Stream of(T... values); // 指定一个常量

国密、商密和普密

国密、商密和普密 区分 国家将信息安全划分为三个等级:核密、普密和商密。其中核密最高,普密次之,商密最低。 核密指国家党政领导人及绝密单位的安全级别,此领域不存在任何商务行为; 普密是指国家党政军机关的信息安全级别 国密是国家自己制定的密码算法标准,商密和普密是《密码法》按密码用途进行分类。 三者的

密码产品二级与三级的区别

学习&&转载文章:「密码产品二级与三级的区别」 引言 随着数据要素市场化,密码产业也将长期保持稳定增长,密评也是密码产业增长重要的合规工作,政企、金融等信息系统也加大密码建设,以满足评分要求。密评当前覆盖范围包括等保三级及以上信息系统、关键信息基础设施等。根据密评相关产品需求,在各种密码应用中,均需

大模型研发核心:数据工程、自动化评估及与知识图谱的结合

转载:大模型研发核心:数据工程、自动化评估及与知识图谱的结合 本文将介绍大模型研发中数据工程,包括数据以及自动化相关的内容,并介绍在当前的情况下,知识图谱的定位以及如何融入到大模型的整个研发当中。 分享将会围绕下面四个方面展开: 大模型研发中的数据工程,起底当前一些大模型的数据构造以及360的构造方

flutter 系列之:flutter 中的幽灵offstage

简介 我们在使用flutter的过程中,有时候需要控制某些组件是否展示,一种方法是将这个组件从render tree中删除,这样这个组件就相当于没有出现一样,但是有时候,我们只是不想展示这个widget,但是这个组件还是存在的,并且可以接受键盘输入,还可以使用CPU。它和真正的组件唯一不同的就是他是

flutter系列之:flutter中listview的高级用法

简介 一般情况下,我们使用Listview的方式是构建要展示的item,然后将这些item传入ListView的构造函数即可,通常情况下这样做是够用了,但是不排除我们会有一些其他的特殊需求。 今天我们会来讲解一下ListView的一些高级用法。 ListView的常规用法 ListView的常规用法

封装avalonia指定组件允许拖动的工具类

封装avalonia指定组件允许拖动的工具类 创建Avalonia的MVVM项目,命名DragDemo ,然后将项目的Nuget包更新到预览版

(2)MasaFramework入门第二篇,安装MasaFramework了解各个模板

安装MasaFramework模板 执行以下命令安装最新Masa的模板 dotnet new --install Masa.Template 安装完成将出现四个模板 Masa Blazor App: Masa Blazor App的模板创建的是一个没有携带解决方案的项目模板,默认项目结构如图: 一个

C#快速排序算法

快速排序实现原理 快速排序(Quick Sort)是一种常用的排序算法,它基于分治的思想,通过将一个无序的序列分割成两个子序列,并递归地对子序列进行排序,最终完成整个序列的排序。 其基本思路如下: 选择数组中的一个元素作为基准(pivot)。 将数组中小于等于基准的元素放在基准的左边,将大于基准的元

C#插入排序算法

插入排序实现原理 插入排序算法是一种简单、直观的排序算法,其原理是将一个待排序的元素逐个地插入到已经排好序的部分中。 具体实现步骤如下 首先咱们假设数组长度为n,从第二个元素开始,将当前元素存储在临时变量temp中。 从当前元素的前一个位置开始向前遍历,比较temp与每个已排序元素的值大小。 如果已

使用脚本收发 protobuf 协议数据

服务器使用二进制的 protobuf 协议,如何使用脚本模拟请求?答案是将它转成 json 再用 jq 处理,一起来看看吧~

Azure Data Factory(六)数据集类型为Dataverse的Link测试

一,引言 之前有讲过 Azure Data Factory 的 Copy Data 的操作,演示了将 Blob Storage1 的数据通过 Azure Data Factory 复制到 Blob Storage2 中,今天我们玩一个不一样的,Azure Dataverse -》 Azure Dat

图数据挖掘:小世界网络模型和分散式搜索

哈佛大学心理学教授斯坦利·米尔格拉(Stanley Milgram)早在1967年就做过一次连锁实验,他将一些信件交给自愿的参加者,要求他们通过自己的熟人将信传到信封上指明的收信人手里。他发现,296封信件中有64封最终送到了目标人物手中。而在成功传递的信件中,平均只需要5次转发,就能够到达目标。也就是说,在社会网络中,任意两个人之间的“距离”是6。这就是所谓的六度分隔理论,也称小世界现象。尽管他

Python:global、local与nonlocal变量

声明在函数内的变量拥有一个local scope(局部作用域,即在函数内),我们将这类变量称为local(局部)变量。声明在函数之外的变量,也即它们都在gobal scope(全局作用域)中,我们将它们global(全局)变量。nonlocal变量常用在局部嵌套函数中将外层函数中的自由变量绑定到内层函数作用域。

驱动开发:内核枚举LoadImage映像回调

在笔者之前的文章`《驱动开发:内核特征码搜索函数封装》`中我们封装实现了特征码定位功能,本章将继续使用该功能,本次我们需要枚举内核`LoadImage`映像回调,在Win64环境下我们可以设置一个`LoadImage`映像加载通告回调,当有新驱动或者DLL被加载时,回调函数就会被调用从而执行我们自己的回调例程,映像回调也存储在数组里,枚举时从数组中读取值之后,需要进行位运算解密得到地址。

驱动开发:内核监控进程与线程回调

在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。

驱动开发:内核监控Register注册表回调

在笔者前一篇文章`《驱动开发:内核枚举Registry注册表回调》`中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过`CmRegisterCallback`创建监控事件并传入自己的回调函数,与该创建对应的是

驱动开发:内核解析PE结构节表

在笔者上一篇文章`《驱动开发:内核解析PE结构导出表》`介绍了如何解析内存导出表结构,本章将继续延申实现解析PE结构的PE头,PE节表等数据,总体而言内核中解析PE结构与应用层没什么不同,在上一篇文章中`LyShark`封装实现了`KernelMapFile()`内存映射函数,在之后的章节中这个函数会被多次用到,为了减少代码冗余,后期文章只列出重要部分,读者可以自行去前面的文章中寻找特定的片段。

驱动开发:内核物理内存寻址读写

在某些时候我们需要读写的进程可能存在虚拟内存保护机制,在该机制下用户的`CR3`以及`MDL`读写将直接失效,从而导致无法读取到正确的数据,本章我们将继续研究如何实现物理级别的寻址读写。首先,驱动中的物理页读写是指在驱动中直接读写物理内存页(而不是虚拟内存页)。这种方式的优点是它能够更快地访问内存,因为它避免了虚拟内存管理的开销,通过直接读写物理内存,驱动程序可以绕过虚拟内存的保护机制,获得对系统

1.4 编写简易ShellCode弹窗

在前面的章节中相信读者已经学会了使用Metasploit工具生成自己的ShellCode代码片段了,本章将继续深入探索关于ShellCode的相关知识体系,ShellCode 通常是指一个原始的可执行代码的有效载荷,攻击者通常会使用这段代码来获得被攻陷系统上的交互Shell的访问权限,而现在用于描述一段自包含的独立的可执行代码片段。ShellCode代码的编写有多种方式,通常会优先使用汇编语言实现