网络安全防护指南:筑牢网络安全防线(5/10)

news2024/12/27 1:33:48

一、网络安全的基本概念

(一)网络的定义

网络是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息收集、存储、传输、交换、处理的系统。在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。它连接了世界各地的人们,使得信息的传递和交流变得更加便捷高效。

(二)网络安全的含义

网络安全,是指通过采取必要措施,防范对网络的攻击、入侵、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠运行的状态,以及保障网络数据的完整性、保密性、可用性的能力。

完整性意味着网络中的数据在传输和存储过程中不能被篡改或损坏。无论是个人的照片、文档,还是企业的商业机密、财务数据,都需要保证其完整性,以确保信息的真实性和可靠性。

保密性则要求网络中的数据只能被授权的用户访问。例如,个人的银行账户信息、企业的专利技术等敏感数据,必须通过加密等手段进行保护,防止被未经授权的人员获取。

可用性是指网络系统能够持续稳定地为用户提供服务。如果网络遭受攻击导致无法正常运行,将会给个人和企业带来极大的不便和损失。

(三)网络运营者

网络运营者包括网络的所有者、管理者和网络服务提供者。他们是网络安全法中的关键义务主体,承担着保障网络安全的重要责任。

网络所有者对网络拥有所有权,负责网络的建设和维护。他们需要确保网络的基础设施安全可靠,为用户提供稳定的网络服务。

网络管理者负责网络的日常管理和运营。他们需要制定网络安全管理制度,加强对网络用户的管理,防范网络安全风险。

网络服务提供者则为用户提供各种网络服务,如电子邮件、网页浏览、在线购物等。他们需要保障服务的安全性,防止用户的个人信息泄露和网络攻击。

(四)网络数据

网络数据是指通过网络收集、存储、传输、处理和产生的各种电子数据。这些数据包括但不限于文本、图像、音频、视频等。

网络数据的价值日益凸显,它不仅是企业的重要资产,也是国家的战略资源。例如,企业的客户信息、财务数据等对于企业的经营决策至关重要;国家的人口、地理、资源等基础数据对于国家的安全和发展具有重要意义。

因此,保护网络数据的安全至关重要。网络运营者需要采取数据分类、重要数据备份和加密等措施,确保网络数据的完整性、保密性和可用性。

(五)个人信息

个人信息是以电子或者其他方式记录的能够单独或者与其他信息结合识别自然个人身份的各种信息。它包括但不限于自然人的姓名、出生日期、身份证件号码、个人生物识别信息、住址、电话号码等。

随着网络的普及和发展,个人信息的泄露问题日益严重。个人信息一旦被泄露,可能会被不法分子用于诈骗、盗窃等违法犯罪活动,给个人带来极大的损失。

为了保护个人信息的安全,网络运营者需要遵循合法、正当、必要的原则,公开收集、使用规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。同时,网络运营者还需要对其收集的用户信息严格保密,并建立健全用户信息保护制度。

(六)关键信息基础设施

关键信息基础设施是指国家对重要行业和领域以及一旦遭到破坏可能严重危害国家安全、国计民生、公共利益的关键信息基础设施进行保护。

关键信息基础设施包括公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务、国防科技工业等重要行业和领域的重要网络设施、信息系统等。这些系统一旦发生网络安全事故,会影响重要行业正常运行,对国家政治、经济、科技、社会、文化、国防、环境以及人民生命财产造成严重损失。

为了保护关键信息基础设施的安全,国家在网信部门统筹协调下,由公安部门负责指导监督,电信主管部门和其他有关部门在各自职责范围内负责安全保护和监督管理工作。同时,关键信息基础设施运营者也需要承担相应的安全保护义务,如制定内部安全管理制度和操作规程、采取防范网络安全行为的技术措施、进行数据备份和加密等。

二、常见的网络威胁和攻击手段

(一)口令入侵

口令入侵就是使用某些合法用户的账号和口令登录到目的主机,然后再实施攻击活动。许多黑客会采用一些软件来解开已经得到但被加密的口令文档,或者绕开、屏蔽口令保护程序。这种攻击方式往往需要先得到该主机上某个合法用户的账号,然后再进行合法用户口令的破译。

(二)特洛伊木马

特洛伊木马是具有伪装能力、隐蔽执行非法功能的恶意程序。攻击者通过将木马伪装成合法程序或文件,诱导用户下载、安装、运行。一旦用户执行,木马就会植入系统,伺机获取目标系统的信息或控制目标系统的运行。例如,攻击者可以利用木马窃取用户的账户信息,或者控制用户计算机进行 DDoS 攻击等。同计算机病毒、网络蠕虫相比较,特洛伊木马不具有自我传播能力,而是通过其他的传播机制来实现。

(三)WWW 欺骗

WWW 欺骗是指攻击者对某些网页信息进行篡改,如将网页的 URL 改写为指向攻击者的服务器。当用户浏览目标网页时,实际上是向攻击者的服务器发出请求,从而被误导访问坏人的网站,遭受欺骗。此时,攻击者可以监控受攻击者的任何活动,包括账户和密码等敏感信息。

(四)电子邮件攻击

电子邮件攻击主要有两种方式,分别是电子邮件炸弹和电子邮件欺骗。电子邮件炸弹指的是攻击者用伪造的 IP 地址和电子邮件地址向同一信箱发送大量的内容相同的垃圾邮件。当庞大的邮件垃圾到达信箱的时候,就会挤满信箱,把正常的邮件给冲掉。同时,因为它占用了大量的网络资源,常常导致网络塞车,使用户不能正常地工作,严重者可能会给电子邮件服务器操作系统带来危险。电子邮件欺骗指的是攻击者佯称自己是系统管理员,给用户发送邮件,要求用户修改口令或在类似正常的附件中加载病毒、木马程序等。此外,电子邮件攻击的形式还包括病毒链接、恶意附件、钓鱼邮件、邮件篡改、中间人攻击、撞库登录等多种攻击形式。

(五)节点攻击

节点攻击是指攻击者攻击并控制用户电脑后,利用被控制的电脑去攻击其他重要网站。事后调查一般只能查到被控制的用户电脑这里,而用户的电脑就成了俗称的肉鸡、僵尸机。

(六)网络监听

网络监听是主机的一种工作模式,在同一网段内,攻击者开启这种模式后,能够接收到传输的所有信息。例如,使用某些网络监听工具(如 NetXray、Sniffer 等),就可以轻而易举地截取包括账号和口令在内的信息资料。

(七)黑客软件

黑客软件能非法取得用户计算机的终极用户级权利,对其进行完全控制。除了能进行文件操作外,还能进行桌面抓图、取得密码等操作。

(八)安全漏洞

许多系统都存在安全漏洞,这些漏洞如不补上,就会被坏人利用,获取电脑权限或信息数据。比如我们常用的 windows 操作系统经常要打补丁,就是为了弥补出现的安全漏洞。

(九)端口扫描

坏人通过端口扫描,可以知道电脑的端口是否处于激活状态、主机提供了哪些服务、提供服务中是否含有某些缺陷等。它往往是发起进一步攻击的前奏。

(十)DDoS 攻击

DDoS(分布式拒绝服务)攻击是指攻击者通过控制大量僵尸主机,向目标服务器发送大量合法请求,从而消耗服务器资源,导致服务中断。与传统的 DDoS 攻击不同,CC 攻击并不是依靠大量的数据包来阻塞网络,而是通过消耗服务器的处理能力和资源来达到攻击的目的。

(十一)SQL 注入

在 Web 应用程序中插入恶意 SQL 语句,窃取或篡改数据库数据。防止 SQL 注入攻击是确保 Web 应用安全的重要措施。有效的方法包括使用参数化查询、输入验证和过滤、使用存储过程、最小权限原则、使用 ORM 框架、使用准备语句、使用安全的数据库连接、避免动态拼接 SQL 语句、使用防火墙和入侵检测系统以及定期更新和维护数据库软件。

(十二)无线网络安全攻击

包括 WiFi 钓鱼、无线局域网破解等。无线网络相较于有线网络更容易受到攻击,如攻击者可通过 WiFi 钓鱼诱导用户连接恶意无线网络,窃取用户信息或控制用户设备。还可通过破解无线局域网密码,非法接入网络进行攻击活动。

(十三)社交工程攻击

攻击者利用人性弱点获取目标信息或权限。例如,通过欺骗、伪装等手段,让用户透露敏感信息,或者诱导用户执行某些操作,从而达到攻击目的。

(十四)恶意软件攻击

通过传播病毒、木马等恶意软件窃取或破坏数据。常见的恶意软件类型包括病毒、蠕虫、特洛伊木马、广告软件、间谍软件和勒索软件等。电子邮件通常用于通过网络钓鱼攻击传播恶意软件。

(十五)钓鱼攻击

伪造邮件、网站诱导用户泄露个人信息或下载恶意软件。攻击者通过发送虚假消息,伪装成合法来源,如银行、流行服务等,诱骗用户泄露敏感信息(例如登录或信用卡详细信息)或在用户的设备上下载恶意软件。

(十六)跨站脚本攻击(XSS)

在 Web 页面中嵌入恶意脚本,窃取用户信息或控制用户浏览器。攻击者对用户输入的数据不进行严格过滤和验证,导致恶意脚本被注入到 Web 页面中,当用户访问该页面时,恶意脚本就会被执行,从而窃取用户信息或控制用户浏览器。

(十七)暴力破解攻击

尝试大量密码破解目标账户密码。攻击者通过自动化工具,不断尝试各种可能的密码组合,直到破解目标账户密码。为防范暴力破解攻击,可设置复杂且不易猜测的密码,定期更换密码,启用双因素认证,限制登录尝试次数等。

(十八)网络间谍攻击

窃取或破坏目标计算机中的机密数据。攻击者通过各种手段,如利用系统漏洞、社交工程等,入侵目标计算机,窃取机密数据,实现情报窃取。防范网络间谍攻击需要加强网络安全防护,定期更新系统和软件补丁,对内部网络进行隔离,限制数据访问权限等。

三、基本的网络安全防护措施

(一)电脑使用过程中的防护措施

在电脑使用过程中,我们可以采取以下防护措施来确保网络安全。

  1. 安装防火墙和杀毒软件,并经常升级,及时更新病毒、木马库,给操作系统和其他软件打补丁。防火墙可以有效阻止未经授权的访问,杀毒软件则能检测和清除病毒、木马等恶意软件,而定期升级和打补丁可以修复软件中的安全漏洞,降低被攻击的风险。
  2. 设置计算机系统账号口令,及时删除或禁用过期题号。强密码可以增加账号的安全性,避免被轻易破解。同时,及时清理过期账号可以减少潜在的安全隐患。
  3. 不打开来历不明的网页、邮箱链接或附件,不运行未经杀毒软件处理的程序或软件,不打开不明文件。这些来源不明的内容很可能携带病毒、木马或恶意软件,一旦打开可能会导致系统被感染。
  4. 打开移动存储设备前用杀毒软件进行扫描检查。移动存储设备如 U 盘、移动硬盘等可能在其他设备上感染了病毒,扫描检查可以防止病毒传入电脑。
  5. 定期备份,以便被病毒严重破坏后能迅速修复。定期备份重要数据可以在系统遭受严重破坏时,快速恢复数据,减少损失。

(二)防范 U 盘、移动硬盘泄密的措施

为防范 U 盘、移动硬盘泄密,可采取以下措施。

  1. 及时查杀木马与病毒。定期使用杀毒软件对 U 盘和移动硬盘进行扫描,确保没有恶意软件。
  2. 从正规商家购买可移动存储介质。正规商家的产品质量更有保障,减少了被植入恶意软件的风险。
  3. 定期备份并加密重要数据。备份可以防止数据丢失,加密则可以保护数据的保密性。
  4. 将 U 盘、移动硬盘接入电脑前,先进行病毒扫描。与打开移动存储设备前用杀毒软件进行扫描检查的道理相同,提前扫描可以防止病毒传入电脑。

(三)计算机中毒后的症状

计算机中毒后可能会出现以下症状。

  1. 经常死机。病毒可能会占用大量系统资源,导致系统不稳定,频繁死机。
  2. 文件打不开。病毒可能破坏文件的结构或关联,导致文件无法正常打开。
  3. 经常报告内存或硬盘空间不足。病毒可能会大量占用内存或硬盘空间,使系统误以为空间不足。
  4. 出现大量来历不明的文件。病毒可能会自动生成一些文件,或者将其他文件复制到系统中。
  5. 数据丢失。病毒可能会删除、损坏或加密用户的数据。
  6. 系统运行速度慢。病毒占用系统资源,会导致系统运行速度明显变慢。
  7. 操作系统自动执行操作。病毒可能会控制操作系统,自动执行一些操作,如打开文件、发送邮件等。

(四)防范 QQ、微博等账号被盗的措施

要防范 QQ、微博等账号被盗,可以采取以下措施。

  1. 账户和密码不要相同,使用混合组成的密码,适当增加密码长度并经常更换,不用个人信息数字作为密码。这样可以增加密码的复杂度,降低被破解的风险。
  2. 针对不同用途设置不同用户名和密码。避免一个密码被破解后,多个账号都受到影响。
  3. 在多人共用计算机上登录前重启计算机,警惕输入账号密码时被偷看。重启计算机可以清除可能存在的恶意软件,同时注意遮挡输入密码,防止被他人偷看。

(五)保护网上购物安全的措施

保护网上购物安全,可以采取以下措施。

  1. 核实网站资质及联系方式真伪,到知名、权威网上商城购物,不轻信网上低价推销。确保购物网站的合法性和可靠性,避免在不可信的网站上购物。
  2. 尽量通过网上第三方支付平台交易,检查支付网站真实性,不与商家私下交易。第三方支付平台相对安全,可以在一定程度上保障消费者的权益。
  3. 购物时注意商家信誉、评价和联系方式。选择信誉好的商家,减少购物风险。
  4. 交易完成后完整保存交易订单等信息。以便在出现问题时作为证据。
  5. 慎重使用银行账号、密码和证件号码等敏感信息。避免敏感信息被泄露。

(六)防范网络谣言的措施

防范网络谣言可采取以下措施。

  1. 注意辨别信息来源和可靠度,通过经第三方可信网站认证的网站获取信息。确保信息的真实性和可靠性。
  2. 不造谣、不轻信、不传谣。从自身做起,共同维护网络环境的健康。
  3. 及时举报疑似谣言信息。发现谣言及时举报,让网络空间更加清朗。

(七)防范网络诈骗的措施

防范网络诈骗的措施如下。

  1. 不贪小便宜,仔细甄别,严加防范。避免因贪图小便宜而陷入诈骗陷阱。、
  2. 使用安全的支付工具。确保支付过程的安全。
  3. 不在网上购买非正当产品。减少与非法交易的接触,降低被骗风险。
  4. 不轻信以各种名义要求先付的信息,不轻易把银行卡借给他人,不向他人透露本人证件号码、账号、密码等。保护个人信息和财产安全。

(八)其他防护措施

为了进一步加强网络安全,还可以采取以下防护措施。

  1. 更新网络设备和软件,及时修补漏洞。保持设备和软件的最新状态,减少安全漏洞。
  2. 使用复杂和强密码,定期更换密码。增加密码的安全性。
  3. 安装防火墙,过滤入侵流量和触发攻击。防火墙可以有效阻止未经授权的访问。
  4. 使用加密技术,保护数据安全。加密可以使数据在传输和存储过程中更加安全。
  5. 安装杀毒软件和反间谍软件,检测和清除病毒和恶意软件。确保系统的安全。
  6. 实施网络访问控制,限制对敏感数据的访问。防止未经授权的人员访问敏感信息。
  7. 建立响应计划,准备应对网络攻击,及时备份重要数据。在遭受攻击时能够迅速应对,减少损失。

四、经典代码案例

以下为你提供几个结合网络安全基础概念、应对常见网络威胁的经典代码案例,涵盖不同场景下的防护及检测相关实践示例,助你更直观理解网络安全技术在编程层面的运用。

案例一:基于 Python 的密码强度校验(防范弱密码,应对暴力破解攻击)

import re
import string

def password_strength_check(password):
    """
    检查密码强度,返回强度等级(弱、中、强)及提示信息
    """
    length_score = len(password)
    if length_score < 8:
        length_score = 0
    elif 8 <= length_score < 12:
        length_score = 1
    else:
        length_score = 2

    has_lower = bool(re.search(r'[a-z]', password))
    has_upper = bool(re.search(r'[A-Z]', password))
    has_digit = bool(re.search(r'\d', password))
    has_special = bool(re.search(rf'[{re.escape(string.punctuation)}]', password))

    complexity_score = sum([has_lower, has_upper, has_digit, has_special])

    total_score = length_score + complexity_score

    if total_score <= 2:
        return "弱", "密码过短或缺乏多种字符类型组合,请增加长度并包含大小写字母、数字和特殊字符。"
    elif total_score <= 4:
        return "中", "密码强度尚可,可进一步优化字符多样性提升安全性。"
    else:
        return "强", "密码强度高,符合安全要求。"

# 测试示例
password1 = "abc123"
print(password_strength_check(password1))
password2 = "Abc@123456"
print(password_strength_check(password2))

此代码通过正则表达式检查密码长度、是否包含大小写字母、数字和特殊字符,综合评估密码强度,帮助用户避免设置易被暴力破解的弱密码,适用于用户注册、密码修改等场景,强化账号口令层面安全。

案例二:Python 实现简单端口扫描检测(防范端口扫描攻击)

import socket
from concurrent.futures import ThreadPoolExecutor

def port_scan(target_host, port):
    """
    尝试连接目标主机的指定端口,判断端口是否开放
    """
    try:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.settimeout(1)
            result = s.connect_ex((target_host, port))
            if result == 0:
                return port, True
            else:
                return port, False
    except Exception as e:
        return port, False

def scan_host(target_host, ports=range(1, 1025)):
    """
    对目标主机的一系列端口进行扫描,返回开放端口列表
    """
    open_ports = []
    with ThreadPoolExecutor(max_workers=20) as executor:
        futures = [executor.submit(port_scan, target_host, p) for p in ports]
        for future in futures:
            port, is_open = future.result()
            if is_open:
                open_ports.append(port)
    return open_ports

# 假设扫描本地主机示例
target_host = "12.0.0.1"
open_ports = scan_host(target_host)
print(f"开放端口: {open_ports}")

这段代码利用多线程并发扫描指定主机的一系列端口,快速检测出开放端口情况,有助于管理员及时发现异常开放端口(可能是攻击者扫描后的利用迹象),进而采取关闭不必要端口、加强端口访问控制等安全措施。

案例三:使用 PHP 防范 SQL 注入(应对 SQL 注入攻击)

<?php
// 假设连接数据库,此处简化配置示例,实际使用完整配置信息
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: ". $conn->connect_error);
}

// 对用户输入数据进行安全过滤(示例为处理用户名登录场景)
$user_input_username = $_POST['username'];
$user_input_password = $_POST['password'];

// 使用预处理语句,绑定参数,有效防 SQL 注入
$stmt = $conn->prepare("SELECT * FROM users WHERE username =? AND password =?");
$stmt->bind_param("ss", $user_input_username, $user_input_password);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
    // 登录成功逻辑处理
    echo "登录成功";
} else {
    // 登录失败逻辑处理
    echo "用户名或密码错误";
}

$stmt->close();
$conn->close();
?>

在 Web 应用中(这里以 PHP 为例),用户输入数据用于数据库查询时,若直接拼接 SQL 语句极易引发 SQL 注入。通过使用预处理语句和参数绑定机制,让输入数据作为纯数据处理,而非可执行 SQL 片段,保障数据库查询安全,抵御 SQL 注入攻击,这是 Web 开发保障数据安全极为重要的一环。

案例四:生成一段基于Java的SQL注入攻击代码示例

以下是一段演示 SQL 注入攻击的 Java 代码示例,请注意,此代码仅用于学习和了解 SQL 注入攻击的原理及危害,在任何实际环境中使用这样的代码去攻击他人系统都是非法且不道德的行为。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SQLInjectionExample {

    public static void main(String[] args) {
        // 数据库连接相关配置(这里以MySQL为例,实际中请按真实环境修改)
        String url = "jdbc:mysql://localhost:3306/your_database_name";
        String username = "your_username";
        String password = "your_password";

        try {
            // 建立数据库连接
            Connection connection = DriverManager.getConnection(url, username, password);

            // 获取用户输入,这里简单模拟一个存在注入风险的用户名输入情况(实际中可能来自网页表单等)
            String userInput = getMaliciousInput();

            // 构建存在SQL注入漏洞的SQL语句,假设从名为 'users' 的表中根据用户名查询用户信息
            String sql = "SELECT * FROM users WHERE username = '" + userInput + "'";
            Statement statement = connection.createStatement();

            // 执行查询语句
            ResultSet resultSet = statement.executeQuery(sql);

            // 处理查询结果
            while (resultSet.next()) {
                System.out.println("用户ID: " + resultSet.getString("id") + ", 用户名: " + resultSet.getString("username"));
            }

            // 关闭资源
            resultSet.close();
            statement.close();
            connection.close();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    private static String getMaliciousInput() {
        // 构造恶意输入,演示SQL注入攻击,这里假设利用单引号闭合和注释掉后面原有的语句
        // 例如,正常用户名可能是 'admin',注入的恶意输入则尝试绕过验证获取所有用户信息
        return "' OR 1=1 --";
    }
}

在上述代码中:

  1. 建立数据库连接
    首先通过 DriverManager.getConnection 方法使用给定的数据库连接 URL、用户名和密码来建立与数据库(示例中是 MySQL 数据库)的连接。

  2. 构造存在注入风险的 SQL 语句
    从 getMaliciousInput 方法获取用户输入内容,然后直接将其拼接到 SQL 语句的 WHERE 子句中用于查询 users 表中符合用户名条件的记录。问题就出在这里,没有对用户输入进行任何的安全校验和过滤,使得攻击者可以输入恶意构造的内容来篡改原本的 SQL 查询逻辑。

  3. 演示注入攻击的恶意输入示例
    在 getMaliciousInput 函数中返回的 ' OR 1=1 -- 就是典型的恶意输入。它的原理是,单引号闭合了原本 SQL 语句中 username 字段值的单引号限定,然后 OR 1=1 这个条件使得整个 WHERE 子句的条件恒为真,这样就能绕过正常的根据特定用户名查询的逻辑,最后 -- 用于注释掉后面原本 SQL 语句中可能存在的其他条件(比如密码验证相关等),最终导致查询结果会返回表中所有的用户记录,而不是仅符合正常用户名要求的记录,实现了非法的数据获取,也就是 SQL 注入攻击的一种体现。

  4. 执行查询与处理结果
    使用 Statement 对象的 executeQuery 方法执行构造好的 SQL 语句,并通过循环遍历 ResultSet 来输出查询到的用户信息(这里只是简单打印部分字段示例)。

  5. 关闭资源
    最后按照正确的顺序关闭 ResultSetStatement 和 Connection,释放相关的数据库资源。

在实际的安全防护中,一定要使用 PreparedStatement 并对用户输入进行严格的校验、转义等处理,避免出现这样的 SQL 注入漏洞,保障数据库及系统的安全。

拓展知识:

1、如何防御SQL注入攻击?

2、除了Java,还有哪些语言容易受到SQL注入攻击?

3、如何利用SQL注入攻击进行漏洞检测?

   本文相关文章推荐:

1、计算机网络基础全攻略:探秘网络构建块(1/10)

2、TCP/IP 协议:网络世界的基石(2/10)

3、局域网与广域网:探索网络的规模与奥秘(3/10)

4、NAT:连接私有与公共网络的关键技术(4/10)

5、网络安全防护指南:筑牢网络安全防线(5/10)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

宏海科技募资额有所缩减,最大销售和采购都重度依赖美的集团

《港湾商业观察》施子夫 11月29日&#xff0c;北交所上市审核委员会将召开2024年第24次上市委审议会议&#xff0c;届时将审议武汉宏海科技股份有限公司&#xff08;以下简称&#xff0c;宏海科技&#xff09;的首发上会事项。 在上会之前&#xff0c;宏海科技共收到北交所下…

算法日记 36-38day 动态规划

今天把动态规划结束掉&#xff0c;包括子序列以及编辑距离 题目&#xff1a;最长公共子序列 1143. 最长公共子序列 - 力扣&#xff08;LeetCode&#xff09; 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &…

Gopeed 1.6.3 | 不限速下载工具附百度网盘不限速教程

Gopeed是一款高效且易于使用的下载软件。它具有加速下载速度的功能&#xff0c;可以帮助用户更快地下载文件。此外&#xff0c;Gopeed还支持多线程下载&#xff0c;可以同时下载多个文件&#xff0c;提高下载效率。它提供了简洁的界面和简单的操作&#xff0c;方便用户操作和管…

K8S版本和istio版本的对照关系

版本对照关系 下载地址1 下载地址2

【大数据学习 | Spark-SQL】关于RDD、DataFrame、Dataset对象

1. 概念&#xff1a; RDD&#xff1a; 弹性分布式数据集&#xff1b; DataFrame&#xff1a; DataFrame是一种以RDD为基础的分布式数据集&#xff0c;类似于传统数据库中的二维表格。带有schema元信息&#xff0c;即DataFrame所表示的二维表数据集的每一列都带有名称和类型…

如何调用百度文心一言API实现智能问答

诸神缄默不语-个人CSDN博文目录 百度需要先认证个人信息才能使用LLM API。 文章目录 1. 获得 API Key2. 撰写代码并实现提问和回答2.1 用openai包实现调用2.2 用openai包实现流式调用2.3 用openai包实现工具调用2.4 构建智能体2.5 文生图2.6 图生图 3. 用gradio建立大模型问答…

python除了熟悉的pandas,openpyxl库也很方便的支持编辑Excel表

excel表格是大家经常用到的文件格式&#xff0c;各行各业都会跟它打交道。之前文章我们介绍了使用openpyxl和xlrd库读取excel表数据&#xff0c;使用xlwt库创建和编辑excel表&#xff0c;在办公自动化方面可以方便我们快速处理数据&#xff0c;帮助我们提升效率。 python之open…

JMeter 并发策略-针对准点秒杀场景的压测实现

一、场景的压测实现 1&#xff0c;创建线程组&#xff0c;10并发用户执行5次&#xff1b; 2&#xff0c;创建 Synchronizing Timer 元件,用于同步线程&#xff0c;设置同步元件 Synchronizing Timer 3&#xff0c;创建 http 请求4&#xff0c;创建 view results in table 元件…

损失函数分类

1. NLLLoss&#xff08;负对数似然损失&#xff09; 定义&#xff1a; 直接对预测的概率 p(yi) 的负对数求平均。通常配合 Softmax 使用&#xff0c;输入为对数概率。 优点&#xff1a; 对离散分类问题效果良好。更灵活&#xff0c;用户可以自行计算 Softmax。 缺点&#x…

【热门主题】000072 分布式数据库:开启数据管理新纪元

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…

算法笔记:力扣148. 排序链表

思路&#xff1a; 将链表中的节点一一取出放到list集合中&#xff0c;然后通过Comparator实现排序&#xff0c;对排序好的list节点一一取出&#xff0c;组成排序好的新链表。 关键思路&#xff1a; Comparator实现对ListNode的排序&#xff1b; &#x1f4a1;注意&#xff…

Kafka知识体系

一、认识Kafka 1. kafka适用场景 消息系统&#xff1a;kafka不仅具备传统的系统解耦、流量削峰、缓冲、异步通信、可扩展性、可恢复性等功能&#xff0c;还有其他消息系统难以实现的消息顺序消费及消息回溯功能。 存储系统&#xff1a;kafka把消息持久化到磁盘上&#xff0c…

MacOS安装MySQL数据库和Java环境以及Navicat

安装MySQL 去官网下载&#xff1a;MySQL 下载好后安装&#xff0c;在设置里往下滑&#xff0c;出现了这样&#xff0c;就代表安装成功了 接下来配置环境&#xff1a; 首先在我们的设备上找到终端并打开,输入 vim ~/.bash_profile(注意vim后面的空格)&#xff0c;输入完成后点击…

Css、less和Sass(SCSS)的区别详解

文章目录 Css、less和Sass&#xff08;SCSS&#xff09;的区别详解一、引言二、CSS 简介1.1、CSS 示例 三、Less 简介2.1、Less 特性2.2、Less 示例 四、Sass&#xff08;SCSS&#xff09;简介3.1、Sass 特性3.2、SCSS 示例 五、总结 Css、less和Sass&#xff08;SCSS&#xff…

misc-好久不见17

wireshark_secret Ctrlshirtv 8、热心助人的小明同学 使用工具volatility查看镜像的信息 volatility_2.6_win64_standalone -f image.raw imageinfo 列出所有用户和密码&#xff1a; volatility_2.6_win64_standalone -f image.raw --profileWin7SP1x86_23418 hashdump Xi…

利用PyTorch Profiler实现大模型的性能分析和故障排查

本文介绍PyTorch Profiler结合TensorBoard分析模型性能&#xff0c;分别从数据加载、数据传输、GPU计算、模型编译等优化思路去提升模型训练的性能。最后总结了一些会导致CPU和GPU同步的常见的PyTorch API&#xff0c;在使用这些API时需要考虑是否会带来性能影响。 PyTorch Pr…

关于IDE的相关知识之三【插件安装、配置及推荐的意义】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于ide插件安装、配置及推荐意义的相关内容…

ECharts柱状图-交错正负轴标签,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个柱状图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供…

预处理详解(完结篇)

⽬录 一. 什么是预处理 c 1 预定义符号 2. #define定义常量 3 . #define定义宏 4. 带有副作⽤的宏参数 5. 宏替换的规则 6 宏函数的对⽐ 三 #和## 四 命名约定 五. #undef 一 什么是预处理 有许多文件中都内容我们是看不懂的&#xff0c;那怎么才能令…

【k8s】监控metrics-server

metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标&#xff0c;通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…