安全见闻1-5

涵盖了编程语言、软件程序类型、操作系统、网络通讯、硬件设备、web前后端、脚本语言、病毒种类、服务器程序、人工智能等基本知识,有助于全面了解计算机科学和网络技术的各个方面。


安全见闻1

1.编程语言简要概述

C语言:面向过程,适用于系统软件和嵌入式开发。

C++:在C基础上发展,支持面向对象编程,常用于游戏和高性能计算。

Java:广泛使用的面向对象语言,跨平台,适合企业级应用。

Python:简洁易学,拥有丰富库,适用于数据分析、AI和Web开发。

JavaScript:主要用于前端开发,也可用于服务器端(Node.js)。

C#:微软开发,主要用于Windows应用。

Ruby:简洁、富有表现力,常用于Web开发。

PHP:专注于Web开发,适合服务器端脚本。

Go:高效、简洁,适用于网络编程和云计算。

Swift:苹果开发,用于iOS和macOS应用。

Kotlin:与Java互操作,主要用于Android开发。

函数式编程语言

Haskell:纯函数式,强类型系统,严谨。

Lisp:灵活性强的历史悠久语言家族。

Clojure:Lisp方言,运行在Java虚拟机上,结合函数式编程和Java优势。

数据科学与机器学习

R:广泛用于统计分析和数据可视化。

Julia:专为高性能科学计算和数据分析设计。

全栈开发

TypeScript:JavaScript超集,增加静态类型检查,提高大型项目开发效率。

移动开发

Objective-C:曾为iOS主要语言,现在逐渐被Swift取代。

嵌入式系统开发

汇编语言:不同架构有不同的汇编语言,底层控制硬件。

其他

Pascal:曾广泛用于教学和早期软件开发。


2.软件程序类型概述

1. Web程序:

包括各种网站和在线应用,主要用于渗透测试。

2. 二进制程序:

主要用于逆向分析,与渗透测试不同,通常需要更深的技术基础。

3. 驱动程序:

由二进制程序编写,后缀通常为 .sys ,用于操作系统的硬件交互。

4. 上位机程序:

暂不深入讲解,后续会详细讨论。

5. 脚本程序:

包括多种语言如 Lua、PHP、Java,广泛应用于自动化和快速开发。

6. 操作系统:

大型软件系统,尽管技术含量高,但本质上也属于软件程序。

7. 裸板程序:

不依赖于操作系统,通常用于嵌入式系统开发。

8. 机器学习程序:

一般用 Python 编写,也可使用 Go 等语言,最终都是实现特定功能的程序。

9. 量子计算程序:

特定于量子计算领域,尚处于发展阶段。

10. 工控程序:

用于工业控制系统,涉及到硬件和软件的结合。

11. BIOS程序与本质理解:

BIOS程序:是低级代码,负责硬件初始化和操作系统启动。其本质是代码,不应被复杂的术语所迷惑。

认清本质:无论别人如何夸大技术,重要的是理解其底层原理。例如,组合技术(如 二进制与 Web 的结合)只需掌握其基础即可。

3.操作系统类型

操作系统列表

iOS

macOS

Linux

Android

Windows

Windows CE (Wince)

VxWorks

RT-Thread

这些类型的程序展示了软件的多样性和应用场景,理解它们的特点有助于在各个领域中更有效地进行开发和渗透测试。

操作系统:

实时与非实时
1. 非实时操作系统:

包括 Windows、macOS、iOS 和 Linux。主要关注性能和用户体验,但在处理指令时不一定立即响应用户操作。

2. 实时操作系统 (RTOS):

如 VxWorks 和 RT-Thread,能够在确定时间内响应外部事件,适用于时间要求严格的嵌入式系统和工业控制。


4.网络通讯

在任何系统中,网络通讯都是至关重要的,硬件设备的连接与交互依赖于网络。

计算机硬件组件

1. 中央处理器 (CPU):

计算机的核心,负责执行指令和处理数据,其性能直接影响计算速度。

2. 内存:

存储运行中的程序和数据,容量和速度影响计算机性能。

3. 硬盘:

用于长期存储数据,包括操作系统和应用程序,容量和读写速度也会影响性能。

4. 显卡:

处理图形和图像数据,其性能对图形处理能力至关重要,尤其在游戏和设计领域。

5. 主板:

连接各个硬件组件,主板的质量影响计算机的稳定性和扩展性。

网络硬件设备

1. 网络服务器:

提供网络服务,如文件存储和Web服务,通常具有较高性能。

2. 网络存储设备:

包括 NAS 和 SAN,提供高容量、高可靠性的数据存储解决方案。

3. 网络打印机:

通过网络共享,方便多台计算机打印。 (用fofa发现)

4. 网络摄像头:

用于视频监控和远程会议,可将视频信号通过网络传输。 (用fofa发现)

移动设备硬件

智能手机:集成多种功能,包含处理器、内存、存储和摄像头。

平板电脑:类似于智能手机,但屏幕更大,适合阅读和观看视频等。

可穿戴设备:如智能手表等,可以监测用户健康数据并连接智能手机等设备。

硬件发展趋势

小型化:硬件设备趋向体积越来越小,便于携带。

高性能:处理器、内存、存储的性能和容量不断提高。智能化:硬件设备更加智能,可以适应不同用户习惯。

互联互通:设备之间的联网与互联越来越密切,形成物联网。

网络类型

1. 局域网(LAN):覆盖范围较小,通常用于办公室、学校或家庭等局部区域,用于共享资 源(如文件和打印机)。

2. 城域网(MAN):覆盖一个城市范围内的网络,例如城市的宽带网络或有线电视网络。

3. 广域网(WAN):覆盖范围极广,跨越国家甚至全球的区域,典型例子是互联网,它连接了世界各地的计算机和网络设备。

网络协议

1. TCP/IP协议:互联网的基础协议。

TCP(传输控制协议):确保数据可靠、有序地传输。

IP(网际协议):负责数据的路由和地址解析。

2. HTTP协议:超文本传输协议,用于Web浏览器和服务器之间传输网页、图片等超文本数据。

3. FTP协议:文件传输协议,用于计算机之间安全传输文件。

4. SMTP、POP3和IMAP协议:用于电子邮件的发送与接收。SMTP负责发送,POP3和 IMAP负责接收。

网络设备

1. 路由器:用于连接不同的网络并转发数据,依据IP地址和路由表确定数据的传输路径。

2. 交换机:局域网内的多台计算机通过交换机进行数据交换,依据MAC地址转发数据帧。

3. 网卡:计算机连接网络的硬件设备,将计算机数据转换为网络信号进行传输。

4. 无线接入点(AP):为无线设备提供网络接入,使其能够连接到局域网或广域网。

网络安全

1. 防火墙:保护网络免受外部攻击,依据规则过滤进出网络的流量。(如:web防火墙waf安全狗)

2. 加密技术:对数据进行加密,常用的SSL/TLS协议用于确保Web浏览器和服务器之间的通信安全。(如:base64、md5)

3. 身份认证:通过验证用户身份来确保只有授权用户能访问网络资源,常用的方法包括用户名和密码、数字证书以及生物识别等。 (如:IP限制访问)

通讯协议

1. TCP(传输控制协议):用于可靠的、面向连接的数据传输,确保数据到达目的地。

2. UDP(用户数据报协议):用于快速、不可靠的通信,不提供数据重传机制,适用于实时应用(如视频流、在线游戏等)。

3. IP(网际协议):用于网络间的路由和数据传输地址解析,是互联网数据传输的基础协议。总结:这些网络类型、协议和设备共同构成了现代网络通信的基础。了解这些概念有助于理解网络运作原理,并为进一步学习网络安全和协议栈奠定基础。


5.人工智能

机器学习工作流程

1. 数据收集

来源:数据可以来自数据库、文件、传感器、网络等多种渠道。

类型:包括结构化数据(如表格数据)、半结构化数据(如XML、JSON)和非结构化数据(如文本、图像、音频等)。

2. 数据预处理

数据清洗:去除噪声数据、处理缺失值、纠正错误数据。常用方法如均值填充、中位数填充等。

数据归一化:将数据缩放至统一范围,常见方法包括最小-最大归一化和Z-score标准化。

特征提取:从数据中提取有用特征,如图像识别中提取颜色、纹理、形状等。

3. 模型选择与训练

根据任务类型选择算法:分类问题可以使用决策树、支持向量机等;回归问题可以使 用线性回归、随机森林等。

数据分割:将数据分为训练集和测试集。 使用训练集训练模型,调整参数最小化损失函数。

4. 模型评估与优化

评估指标:常用指标包括准确率、精确率、召回率、F1值、均方误差等。 根据结果调整模型参数、选择不同算法或增加数据量来优化模型。

5. 模型应用

将优化后的模型应用于实际问题,执行预测、分类、聚类等任务。 持续监控和评估应用结果,优化模型以提高性能。

深度学习的基本原理

1. 神经网络基础

神经元模型:

深度学习的核心是人工神经网络,其灵感来源于生物神经元。一个神经元接收多个输入信号,每个输入对应一个权重,通过加权求和后,输入激活函数得到输出。

激活函数:

激活函数决定了神经元的输出值常见激活函数包括ReLU(修正线性单元)、sigmoid和tanh。它们引入非线性,增强了神经网络处理复杂问题的能力。

2. 多层神经网络

层次结构: 深度学习中的神经网络通常包括:

输入层:接收原始数据,如图像的像素值、文本的词向量等。

隐藏层:多层隐藏层对输入数据进行特征提取,每一层逐步提取高阶特征。例如,图 像识别中,低层提取边缘特征,高层提取更复杂的形状和结构。输出层:生成最终的预测结果。例如,图像分类任务中,输出层可能是图像的类别标签。

深度网络: 深度神经网络有多个隐藏层,层数越多,提取的特征越复杂。深度学习的能力主要源于其 处理复杂模式、特征提取的多层次特性。

总结:深度学习通过多层神经网络逐步提取数据的特征,并通过激活函数实现非线性映射,最终用于预测和分类等任务。


安全见闻2

1.WEB程序

通常构成

前端-后端-数据库-服务器(前端url、后端后台、调用服务器上的数据库数据)

前端

1、前端潜在漏洞

信息泄露,xss,csrf,点击劫持,访问控制,web缓存漏洞,跨域走私,请求走私

2、语言

HTML(点击劫持)

css(有注入)

JavaScript(xss dom型 存储型 点击劫持,请求走私)

以上三种搞web渗透这些东西基本都得学

3、代码库

jQuery

bootstrap

elementui

4、框架

vue

react

angular

不论何种框架都是基于web,css,JavaScript这三种语言写的。


后端

1、后端潜在漏洞:

信息泄露,xss,csrf,ssrf,反序列化,SQL注入,rce命令执行,服务端模板注入,跨域漏洞,访问控制

2、语言:

Java,php,python,golang,c/c++,lua,nodejs,ruby

这些语言,原生代码就会有一些漏洞,所以这些语言必须要会其中一种。如果是请求走私就是涉及到协议的问题。


数据库

1、潜在漏洞:

SQL注入,xss,命令注入等

2、类型:

关系型数据库:

MySQL,SQL sever,access,postgresql

非关系型数据库:

mongodb,couchdb,neo4j,redis

在学SQL注入之前,至少要学会其中一种甚至几种数据库,会使用数据库的正则表达式基本就可以了


服务器程序

1、潜在漏洞:

信息泄露,文件上传,文件解析,目录遍历,访问控制

2、中间件:

apache,nginx,iis,tengine,tomcat,weblogic


安全见闻3

脚本语言

脚本就是拿过来以后就可以看见它的源代码,可复制性高,可以编写脚本病毒木马(js、php至少要会一个)(阅览器按F12)

lua

php

go

python

JavaScript

golang(脚本性)

python(脚本性)

nodejs(脚本性程序)

这些编程语言都可以写一些脚本性的病毒,python可以编写木马,js也可以编写木马,比如beefxss(相当于js写的木马),如PHP一句话木马(php写的木马)

①有编程语言基础②了解脚本木马的基本原理,基本构成

病毒种类

(杀毒软件杀毒的原理和暴力破解类似,就是比对库里面的病毒进行查杀)

①macro(宏病毒)想写宏病毒就得了解宏的代码构成!!!

利用metasploit生成宏病毒,将宏病毒植入office文件中,植入的是微软的产品(宏代码是由VB/c#写的,所以宏病毒也要用这两种编程语言写) (常见微软的word ppt等产品可以植入、wps不行)

②bat(批处理)、powershell( .NET 的命令行 shell 和脚本语言)(Windows程序、用于内网渗透)

了解其基本语法,有什么作用

内网渗透和公网渗透没啥区别,只是多了一个域渗透,但是域渗透代表不了内网渗透。

③CAD LISP(脚本病毒)想接触这个病毒就必须学会LISP语言

很多杀毒软件不会查杀CAD这样的病毒,因为很少见,危害:盗取cad机密图纸 (杀毒软件一般不会查杀这种病毒)

④AUtolt3(脚本病毒)

比较冷门的编程语言代码病毒

⑤bios程序(bios病毒)

BIOS(基本输入输出系统)是计算机启动过程中最早运行的一段固件程序,负责初始化硬件并加载操作系统。由于 BIOS 在计算机启动过程中具有很高的权限,因此它也成为一些恶意软件的目标,尤其是 BIOS 病毒。

BIOS 病毒是一种恶意软件,能够感染并修改计算机的 BIOS 固件,从而在系统启动时执行恶意代码。


安全见闻4

4.1 操作系统

4.1.1 注册表

在linux里没有,windows才有注册表。

Linux系统不使用注册表,而是通过各种配置文件来存储系统和应用程序的设置,这些文件通常位于/etc目录下。

Windows注册表是Windows操作系统中一个重要的数据库,用于存储系统设置和配置信息。它包含五个主要的根键:

HKEY_LOCAL_MACHINE、

HKEY_CURRENT_USER、

HKEY_CLASSES_ROOT、

HKEY_USERS、

HKEY_CURRENT_CONFIG

可以通过“WIN+R”输入“regedit”命令打开注册表编辑器,但需要谨慎操作,因为不当的修改可能会导致系统不稳定或启动失败。

注册表相关结构:
这是注册表的五大根键,从上到下依次为:

  1. 文件扩展名与应用的关联及 OLE 信息 。
  2. 当前用户控制面板选择和桌面等设置,以及映射的网络驱动器。
  3. 计算机硬件与应用程序信息。
  4. 所有登录用户的信。
  5. 计算机硬件配置信息。

4.1.2 防火墙

防火墙用于监控和控制进出计算机或网络的数据包,防止未授权的访问。

Windows内置的防火墙可以通过控制面板进行配置。

Linux系统通常使用iptables或firewalld等工具来管理防火墙规则。

(一)什么是防火墙

防火墙是一个网络安全产品,它是由软件和硬件设备组合而成,在内网和外网之间、专用网与公共网之间的一种保护屏障。在计算机网络的内网和外网之间构建一道相对隔离的保护屏障,以达到保护资料的目的。它是一种隔离技术,可以防止非法用户的侵入,同时及时发现并处理计算机网络运行时潜在的安全风险、数据传输等问题,确保计算机网络正常运行。

(二)防火墙的分类

防火墙可以分为两大类,分别是软件防火墙和硬件防火墙。
硬件防火墙:最常见的防火墙形态,是一个单独的硬件,这些独立设备有自己的资源。硬件防火墙再按照形态来细化,还可以分为框式防火墙、盒式防火墙和桌面式防火墙、插板形态的防火墙等。

软件防火墙:以软件形式安装在计算机或服务器上的防火墙,它既可以作为基于主机的防火墙来保护单个设备,也可以作为虚拟化环境中的网络防火墙来保护整个虚拟网络。把防火墙的处理放到虚拟机的环境下,让一台虚拟机变为防火墙,这类防火墙也就虚拟机防火墙,有时候也叫 VM 防火墙、虚拟防火墙。
云防火墙:部署在云服务提供商环境中的防火墙服务,然后通过服务订阅的方式提供给客户。这些服务也称为防火墙即服务(FWaaS),以基础设施即服务(IaaS)或平台即服务(PaaS)的形式运行

(三)防火墙的作用
  1. 防止病毒
    虽然防火墙本身不充当防病毒软件,但它们通过确保只有授权的数据流经网络,确实有助于防止病毒的安装。
  2. 防止访问不安全内容
    有些防火墙不仅关注进入网络的流量,它们还可以防止未经授权访问危险的网站。防火墙还可以阻止访问已知会在访问者的计算机上安装恶意软件和病毒的恶意站点。
  3. 阻止未经授权的访问
    如果公司因为网络攻击而瘫痪,对于大多数中小型公司来说可能是毁灭性的,任何未经授权访问系统文件都可能导致客户信息泄露、重要数据丢失,并可能危及更多安全功能。
    (四)防火墙的应用场景
  4. 出口网关
    出口网关是比较常见的使用场景,使用防火墙在互联网出口处,提供 NAT、路由、端口映射等功能。
  5. 安全域边界防护
    专网或大型网络内对各个不同安全域进行隔离防护。
  6. IPSEC VPN
    两台或两台设备之间使用 IPSEC VPN 进行互联,多用于总部与分支网络使用。(缺点:功能实现较为单一,不能同时实现一对多。)例如:针对 IPSEC VPN 的局限性,深信服厂商后期推出了零信任,它弥补了 IPSEC VPN 一对一的局限性,可以在 PC 端或者 APP 上安装专用的工具,通过电话号码等身份认证以后,可以实现一对多的进行互联。

4.1.3 自启动

自启动程序是在操作系统启动时自动运行的程序,可以通过系统的启动文件夹 或注册表(Windows)/配置文件(Linux)进行配置。

windows开机自启动项的种类
  1. 注册表启动项:
    说明:这是传统的开机自启动项设置位置,许多软件会在这里添加自己的启动项。通过注册表编辑器可以查看和管理这些启动项,但操作时需要谨慎,以免误删重要项导致系统出现问题。

  1. 任务管理器启动项:
    打开方式一:右键点击任务栏,选择 “任务管理器”,切换到 “启动” 选项卡。
    说明:列出了系统启动时会自动运行的程序。可以方便地启用或禁用单个启动项,并且可以直观地看到每个启动项对系统启动的影响。

打开方式二: 系统配置工具(msconfig)启动项:打开方式:按下 “Win + R”,输入 “msconfig” 并回车。
说明:在“系统配置” 窗口的 “启动” 选项卡中,可以管理开机自启动项。与任务管理器类似,但提供了更多的选项和信息。

  1. 服务启动项:
    打开方式:按下 “Win + R”,输入 “services.msc” 并回车。
    说明:有些软件会安装为系统服务,在系统启动时自动启动。可以在这里查看和管理服务的启动类型,如自动、手动或禁用。

  1. 任务计划程序启动项:
    打开方式:按下 “Win + R”,输入 “taskschd.msc” 并回车。
    说明:可以设置任务计划,让程序在特定的时间或事件触发时自动启动。例如,可以设置每天定时启动某个备份程序。

4.1.4 计划任务

任务计划程序允许用户配置在特定时间或满足特定条件时自动执行的任务。

在Windows中,这可以通过“任务计划程序”来设置。(按下“Win + R”,输入“taskschd.msc”并回车。)

在Linux中,可以使用 cron 和 at 命令。

4.1.5 事件日志

Windows系统通过事件查看器来监控和查看系统日志,包括应用程序日志、系统日志和安全日志。

(按下 “Win + R”。输入 ”eventvwr.msc“并按回车键)

Linux系统使用 dmesg、syslog和journalctl 等工具来查看和分析系统日志。

4.1.6 内核驱动

内核驱动是操作系统内核的扩展,用于直接与硬件交互。

Windows,查看本地驱动 win+R 打开 cmd,输入命令:msinfo32,回车打开系 统信息。

在Linux中,这些模块可以在运行时加载和卸载。

4.1.7 系统服务

系统服务是后台运行的程序,为其他程序提供功能。

在Windows中,服务可以通过服务管理器进行管理。

在Linux中,使用 systemd 或init 系统。

4.1.8 进程线程

操作系统需要管理运行中的进程和线程,确保资源的合理分配和任务的顺利执行。

4.1.9 系统编程

涉及直接与操作系统交互的编程,如内存管理、进程控制、文件系统操作等。

4.2 驱动程序(了解即可)

驱动程序也是软件程序的一种。

驱动程序是操作系统与硬件设备之间的桥梁,负责将操作系统的指令翻译成硬件设备可以理解的信号,从而使得操作系统能够与硬件设备进行交互。

潜在漏洞:内网渗透,逆向工程,病毒分析,安全对抗,外挂保护(比如腾讯 的外挂保护,你怎么去绕过外挂保护?可能就需要用到驱动底层逻辑去和他对抗)

4.2.1 内核驱动

内核驱动是操作系统内核的一部分,它们在系统启动时加载,并在整个系统运行期间提供硬件访问服务。

内核驱动负责管理硬件资源,使硬件设备能够高效地与操作系统及应用程序交互。

4.2.2 设备驱动

设备驱动作为硬件和操作系统之间的桥梁,其主要功能包括提供硬件设备的抽象接口、管理硬件资源、提供性能优化和调优功能、处理中断和异常等


安全见闻5

人工智能

人工智能是指让计算机模拟人类智能的技术和科学,旨在使计算机系统能够执行 通常需要人类智能才能完成的任务,如:学习、推理、解决问题、理解自然语言、识 别图像和语音。

涉及网络安全问题

数据安全问题

人工智能系统通常需要大量数据进行训练,这些数据可能包含敏感信息。

如果这些数据在收集、存储、传输或使用过程没有得到妥善保护,就可能被泄露、窃取或滥用。

对抗攻击

指通过对输入数据进行微小的修改,使得人工智能系统产生错误的输出。例如在图像识别中,通过在图像上添加一些人眼难以察觉的噪点,可以使人工智能系统错误地识别图像。 对抗攻击可能会对安全关键领域的人工智能系统造成严重胁。

模型窃取和知识产权问题

攻击者可以通过逆向工程等手段窃取人工智能模型的参数和结构,从而复制或改进该模型。 这不仅会侵犯知识产权,还可能导致商业机密泄露。

此外,攻击者还可以利用窃取的模型进行恶意攻击,如生成虚假数据来欺骗其他人工智能。

恶意使用人工智能

攻击者可以利用人工智能技术来发动更复杂、更难以检测的网络攻击。

例如:使用人工智能生成的恶意软件可以自动适应不同的环境和防御机制,提高攻击的成功率

人工智能还可以被用于自动化的网络钓鱼、垃圾邮件发送等恶意活动。

人工智能学习路径和方法

学习基础知识

①掌握数学基础知识,如线性代数、概率论、统计学等。这些知识对于理解人工智能算法和模型非常重要。

②学习编程语言,如Python。Python是人工智能领域最常用的编程语言之一,有丰富的库和工具可供使用。

③了解机器学习和深度学习的基本概念,包括监督学习、无监督学习、神经网络等。

在线课程和教程

①利用在线学习平台,如Coursera、Udemy、edX等,参加人工智能相关的课程。这些课程通常由知名大学或专业机构提供,内容丰富,教学质量高。

②阅读相关的书籍和博客,如《深度学习》《机器学习实战》等书籍,以及一些知名的人工智能博客,如Medium上的人工智能专栏。

实践项目

①参与开源项目或自己动手实践人工智能项目。可以从一些简单的项目开始,如手写数字识别、图像分类等,逐渐提高难度。

②参加人工智能竞赛,如Kaggle上的各种竞赛。这些竞赛可以让你接触到真实的数据集和问题,提高你的实践能力和竞争力。

持续学习和交流

①关注人工智能领域的最新研究进展和技术趋势,可以通过阅读学术论文、参加学术会议、关注行业新闻等方式实现。

②加入人工智能社区或论坛,与其他学习者和专业人士交流经验、分享知识、解决问题。


声明:内容是来自B站的“泷羽sec”学习内容,如有侵权,请联系作者删除文章

此文章只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试留言私信,如有侵权请联系小编处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/471268.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

闯关leetcode——3178. Find the Child Who Has the Ball After K Seconds

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/find-the-child-who-has-the-ball-after-k-seconds/description/ 内容 You are given two positive integers n and k. There are n children numbered from 0 to n - 1 standing in a queue in o…

Java结合ElasticSearch根据查询关键字,高亮显示全文数据。

由于es高亮显示机制的问题。当全文内容过多,且搜索中标又少时,就会出现高亮结果无法覆盖全文。因此需要根据需求手动替换。 1.根据es的ik分词器获取搜索词的分词结果。 es部分: //中文分词解析 post /_analyze {"analyzer":"…

Python——NumPy库的简单用法,超级详细教程使用

一、什么是NumPy库 NumPy:它是python的一个科学计算库函数,它是由c语言编写的 它应用于数据处理、机器学习、图像处理、文件操作等等 二、array函数 这里导入库numpy,命名为np,后面的np都是代表着是numpy函数 array函数表示创建…

【Java语言】String类

在C语言中字符串用字符可以表示,可在Java中有单独的类来表示字符串(就是String),现在我来介绍介绍String类。 字符串构造 一般字符串都是直接赋值构造的,像这样: 还可以这样构造: 图更能直观的…

自由学习记录(21)

感觉反而 还复杂一点,关系并不纯粹,游戏里用的少...的确 是知道为什么游戏不用了 理解思想就可以了,实际操作也是动态的分析,硬套某种模式也不是怎么很合适 MVC的了解应该是差不多了,重点还是实际中的使用了 所以删了…

Bugku CTF_Web——点login咋没反应

Bugku CTF_Web——点login咋没反应 进入靶场 随便输个试试 看来确实点login没反应 抓包看看 也没有什么信息 看了下源码 给了点提示 一个admin.css try ?12713传参试试 拿到一个php代码 <?php error_reporting(0); $KEYctf.bugku.com; include_once("flag.php&q…

软件测试面试大全(含答案+文档)

1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做好测试工程师的要点去要求自己&…

从华为到创业公司

我有一个朋友&#xff0c;在华为工作了很长一段时间&#xff0c;一年多前&#xff0c;他从华为出来到了一家创业公司。 周末趁着有时间&#xff0c;我跟他聊了下关于从华为到创业公司的一些问题&#xff0c;总结给大伙看看。 ▎1 在华为工作和在创业公司工作最大的差别是什么呢…

Linux网络——网络初识

目录 1. 认识协议 2. 协议的分层 3. OSI 七层模型 && TCP/IP 五层(四层)模型 4. 网络传输的基本流程 5. 以太网的通信原理 6. 数据的跨网络传播 7. 认识 IP 地址 ① IP 是什么 ② IP 与 MAC 的关系 ③ 为什么需要 IP 在谈及网络之前&#xff0c;我们要先对学…

React Hooks在现代前端开发中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 React Hooks在现代前端开发中的应用 React Hooks在现代前端开发中的应用 React Hooks在现代前端开发中的应用 引言 React Hooks …

执行flink sql连接clickhouse库

手把手教学&#xff0c;flink connector打通clickhouse大数据库&#xff0c;通过下发flink sql&#xff0c;来使用ck。 组件版本jdk1.8flink1.17.2clickhouse23.12.2.59 1.背景 flink官方不支持clickhouse连接器&#xff0c;工作中难免会用到。 2.方案 利用GitHub大佬提供…

【机器学习】如何配置anaconda环境(无脑版)

马上就要上机器学习的实验&#xff0c;这里想写一下我配置机器学习的anaconda环境的二三事 一、首先&#xff0c;下载安装包&#xff1a; Download Now | Anaconda 二、打开安装包&#xff0c;一直点NEXT进行安装 这里要记住你要下载安装的路径在哪&#xff0c;后续配置环境…

如何保护 Microsoft 网络免受中间人攻击

一名办公室工作人员收到了一封看似来自供应商的电子邮件&#xff0c;但该邮件被隔离了&#xff0c;用户请求将其释放。这封邮件看起来没什么问题&#xff0c;因此管理员释放了这封邮件。用户点击邮件查看内容&#xff0c;其中包括一张附加发票。 问题就从这里开始&#xff1a;…

Excel筛选的操作教程

用Excel整理数据时&#xff0c;常常要用到筛选功能&#xff0c;很多复杂的数据经过一定条件的筛选后就变得很清晰。筛选也是Excel的一个基本功能之一&#xff0c;你会使用这个功能吗&#xff1f;不会也没关系&#xff0c;接着往下看&#xff0c;接下来就来演示一些Excel表格筛选…

爬虫补环境案例---问财网(rpc,jsdom,代理,selenium)

目录 一.环境检测 1. 什么是环境检测 2.案例讲解 二 .吐环境脚本 1. 简介 2. 基础使用方法 3.数据返回 4. 完整代理使用 5. 代理封装 6. 封装所有使用方法 jsdom补环境 1. 环境安装 2. 基本使用 3. 添加参数形式 Selenium补环境 1. 简介 2.实战案例 1. 逆向目…

JAVA:探索 EasyExcel 的技术指南

1、简述 在 Java 开发中&#xff0c;Excel 文件的读写操作是一项常见的需求。阿里巴巴开源的 EasyExcel 提供了一种高效、简洁的解决方案&#xff0c;特别是在处理大规模数据时表现尤为突出。本文将详细介绍 EasyExcel 的优缺点、应用场景&#xff0c;并通过实例展示其基本用法…

力扣662:二叉树的最大宽度

给你一棵二叉树的根节点 root &#xff0c;返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点&#xff08;即&#xff0c;两个端点&#xff09;之间的长度。将这个二叉树视作与满二叉树结构相同&#xff0c;两端…

Elasticsearch基本概念及使用

Elasticsearch 是一个开源的、分布式的全文搜索和分析引擎&#xff0c;基于 Apache Lucene 构建。它提供了快速的搜索能力&#xff0c;支持大规模的数据分析&#xff0c;广泛应用于日志分析、全文搜索、监控系统和商业智能等领域。ES操作指令是基于restAPI构建&#xff0c;也就…

Vue.js 项目创建流程

Vue.js 项目创建流程 以下是一个详细的步骤指南&#xff0c;用于在Windows系统上使用NVM&#xff08;Node Version Manager&#xff09;和npm创建一个新的Vue.js项目。 1. 安装Node.js指定版本 首先&#xff0c;使用NVM安装Node.js的20.18.0版本。 nvm install 20输出示例&…

如何判定linux系统CPU的核心架构

背景 在开发一个项目的时候&#xff0c;需要配置安装PyTorch环境&#xff0c;自己电脑以前下载过这个相关的包&#xff0c;但是是X86架构的&#xff0c;不知道复制到Linux系统后能否直接使用&#xff0c;于是想着去确认一下&#xff0c;并把自己的方法总结一下,自己下载的文件…