Ubuntu 22.04.4操作系统初始化详细配置
上一章节,主要讲解了Ubuntu 22.04.4操作系统的安装,但是在实际生产环境中,需要对Ubuntu操作系统初始化,从而提高系统的性能和稳定性。
一、查看Ubuntu系统版本和内核版本
# 查看系统版本
test@ubuntu:~$ sudo lsb_release -a
Release: 22.04
Codename: jammy #版本代号# 查看内核版本
test@ubuntu:~$ uname -r 或 cat /proc/version
5.15.0-117-generic
二、设置 root 用户密码
# ubuntu系统默认使用普通用户登录
test@ubuntu:~$ sudo passwd root
[sudo] password for test: #输入test用户密码
New password: #输入root密码
Retype new password: #确认root密码
passwd: password updated successfully
三、切换 root 用户
test@ubuntu:~$ su - root #切换root用户
Password: #输入root密码
root@ubuntu:~#
四、配置网络
4.1:设置静态IP地址
Ubuntu 旧版本使用 /etc/network/interfaces 配置网络。
Ubuntu 18.04和更高版本中默认采用Netplan工具进行网络配置。网卡配置文件位于/etc/netplan目录下,文件名以.yaml结尾。
# 修改网卡配置文件
root@ubuntu:~# apt -y install vim
root@ubuntu:~# vim /etc/netplan/00-installer-config.yaml
# 修改以下内容
network: #renderer: networkd #添加注释,指定网络配置管理工具为networkdethernets: #指定以太网接口的配置ens33: #指定以太网接口的名称addresses: #指定IPv4地址- 192.168.10.200/24nameservers: #指定DNS服务器的地址addresses:- 192.168.10.2#addresses: [223.5.5.5, 223.6.6.6] #gateway4: 192.168.10.2 #gateway4 版本已经废弃了 routes: #配置默认网关地址,层级为routes -> to -> via- to: defaultvia: 192.168.10.2dhcp4: falseversion: 2 #指定Netplan配置文件的版本号,通常为2# 检查配置文件
root@ubuntu:~# netplan try# 将当前netplan配置应用到系统
root@ubuntu:~# netplan apply # 查看网卡信息
root@ubuntu:~# ip addr# 临时禁用网卡
ip link set ens33 down# 临时启用网卡
ip link set ens33 up# 临时添加IP地址
ip addr add 192.168.10.200/24 dev ens33
# 临时删除IP地址
ip addr del 192.168.10.200/24 dev ens33# 临时添加网关地址
ip route add default via 192.168.10.2
# 临时删除网关地址
ip route del default via 192.168.10.2
4.2:设置DHCP动态获取IP地址
# 修改网卡配置文件
root@ubuntu:~# vim /etc/netplan/00-installer-config.yaml
network:#renderer: networkdethernets:ens33:dhcp4: trueversion: 2# 检查配置文件
root@ubuntu:~# netplan try# 将当前netplan配置应用到系统
root@ubuntu:~# netplan apply
扩展知识:NetworkManager 和 Netplan 有何区别?
NetworkManager和Netplan是Ubuntu中两种不同的网络管理工具。
1)NetworkManager
NetworkManager是一个功能强大的网络管理器,用于管理和配置网络连接。它提供了一个图形化界面和命令行工具,可以方便地管理以太网、Wi-Fi、VPN等网络连接。
NetworkManager支持自动检测和配置网络连接,可以动态切换网络配置,适用于桌面环境和移动设备。
2)Netplan
Netplan是Ubuntu 17.10及更高版本引入的新一代网络配置工具。它使用简单的YAML配置文件来定义网络接口和连接配置。
Netplan的目标是提供一种统一的、简化的方式来配置网络连接,取代之前的网络管理工具(如ifup/down)。
Netplan配置文件位于/etc/netplan/目录下,可以定义静态IP、DHCP、网关、DNS等网络参数。
Netplan则更适合服务器环境,提供了一种简化的配置方式,使网络配置更易于管理和维护。
Netplan会在系统启动时自动加载并应用/etc/netplan目录下的配置文件。
五、更改仓库镜像源地址
- 使用默认的Ubuntu仓库镜像源地址,安装软件包比较慢,因此需要更改镜像源地址。
# 修改文件
root@ubuntu:~# mv /etc/apt/sources.list /etc/apt/sources.list.bak
root@ubuntu:~# gedit /etc/apt/sources.list 或 vim /etc/apt/sources.list
# 填写阿里云仓库源地址信息
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse# 清除源仓库缓存
root@ubuntu:~# apt-get clean all 或 apt clean all# 更新安装源
root@ubuntu:~# apt-get update -y 或 apt update -y
六、设置 root 用户远程连接
- 在Ubuntu系统中,默认root用户禁止远程登录系统。
# 修改ssh配置文件
root@ubuntu:~# vim /etc/ssh/sshd_config
# 找到PermitRootLogin prohibit-password #默认是注释掉的,直接在下面添加一行
PermitRootLogin yes #33行,开启root登录
UseDNS no #101行,去掉注释,不开启DNS反向解析然后按esc,输入:wq保存并退出# 重启sshd服务
root@ubuntu:~# systemctl restart sshd
七、安装常用软件包
- 在Ubuntu系统中,apt和apt-get 都是用于管理软件包的命令行工具。都可以解决软件包的依赖关系,从远程仓库安装和更新软件包等。
- 1)apt:作为 apt-get 的增强版,集成了apt-get 和 apt-cache 的功能,使用户可以通过单一的命令行工具完成安装、更新、删除、搜索和显示软件包信息等操作。
- 2)apt-get:侧重于软件包的安装、更新和删除等基本操作,而查询和显示软件包信息等任务则通常通过 apt-cache 等其他工具来完成。
# 安装常用软件包
root@ubuntu:~# apt-get -y install net-tools iputils-ping vim procps telnet traceroute iproute2 lrzsz ntp ntpdate curl git bash-completion ipset
root@ubuntu:~# apt-get -y install systemd-timesyncd tree unzip wget
八、防火墙设置
- ufw是Ubuntu系统自带的类似iptables的防火墙管理软件,底层也是基于netfilter的。
- ufw是Uncomplicated FireWall的简称,真正地简化了 iptables,已经成为 Ubuntu 和 Debian 等系统上的默认防火墙。
- ufw防火墙默认关闭,开放所有端口。默认拒绝进入流量,放行出口流量。
参数配置文件 /etc/ufw/ufw.conf
防火墙日志文件 /var/log/ufw.log
路由转发参数配置文件 /etc/ufw/sysctl.conf
应用定义文件目录 /etc/ufw/applications.d
# 安装软件包
apt install ufw# 查看版本
ufw version# 获取ufw命令帮助
ufw --help# 查看防火墙运行状态
systemctl status ufw / ufw status # 查看防火墙状态详细信息
ufw status verbose# 启动防火墙
systemctl start ufw / ufw enable# 关闭防火墙
systemctl stop ufw / ufw disable# 设置防火墙开机自启动
systemctl enable ufw# 设置防火墙禁止开机启动
systemctl disable ufw# 重置防火墙规则
ufw reset# 添加ssh端口策略
ufw allow 22/tcp# 添加应用协议策略
ufw allow http# 添加放行一个端口策略
ufw allow proto tcp to any port 81# 删除指定规则策略
ufw delete proto allow 80/tcp# 添加默认入站策略为拒绝
ufw default allow incoming --dry-run #--dry-run参数模拟执行,incoming代表入站的规则# 设置默认出站策略为拒绝
ufw default deny outgoing --dry-run #--dry-run参数模拟执行,outgoing代表出站的规则# 允许固定IP访问本机的22端口
ufw allow from 192.168.10.0/24 to any port 22
ufw allow from 192.168.10.0/24 to any port 22,80,443 proto tcp #添加多个端口,需要指定协议# 拒绝指定IP访问
ufw deny from 192.168.10.1默认情况下,ufw遵循的规则存储在 /etc/ufw 目录下。
# 重新加载ufw的配置文件,使最新的配置生效。
# 这个命令会读取 /etc/ufw/ 目录下的所有配置文件,并应用这些配置到防火墙中。
ufw reload # 查看所有规则对应的数字序号
ufw status numbered# 插入指定规则
ufw insert 1 deny from 192.168.10.1 to any port 22 #在第一条规则位置之前插入规则# 删除指定规则
ufw delete 1 #删除第一条规则
九、配置时间同步
方法一:配置时间同步ntp
root@ubuntu:~# apt install ntp ntpdate -y
root@ubuntu:~# systemctl start ntp
root@ubuntu:~# systemctl enable ntp# 同步时间
root@ubuntu:~# ntpdate ntp.aliyun.com# 查看时间同步状态
root@ubuntu:~# timedatectl status# 设置时区
root@ubuntu:~# timedatectl set-timezone Asia/Shanghai
方法二:配置时间同步timesyncd
root@ubuntu:~# apt install systemd-timesyncd
root@ubuntu:~# vim /etc/systemd/timesyncd.conf 或 gedit /etc/systemd/timesyncd.conf
# 末尾添加以下内容
[Time]
NTP=ntp.aliyun.com #主NTP服务器列表,可以使用主机名,也可以使用IP地址
FallbackNTP=ntp.ubuntu.com,ntp.tencent.com #备用NTP服务器列表,可以使用主机名,也可以使用IP地址
RootDistanceMaxSec=30 #最大误差时间,默认5s
PollIntervalMinSec=3600 #NTP消息最小轮询间隔秒数,不能小于16s
PollIntervalMaxSec=21600 #NTP消息最大轮询间隔秒数,必须大于PollIntervalMinSec# 重新启动服务
root@ubuntu:~# systemctl restart systemd-timesyncd# 查看时间同步状态
root@ubuntu:~# timedatectl status# 设置时区
root@ubuntu:~# timedatectl set-timezone Asia/Shanghai
十、软件包管理
- Ubuntu 22.04 默认使用 dpkg 命令安装软件包。
- dpkg 是Debian 和Ubuntu 系统中的软件包管理器,用于安装、卸载和管理和.deb软件包相关的信息。它不解决依赖关系,也不访问软件仓库,主要用于本地安装和基本的包管理任务。
# 列出已安装的所有deb软件包
dpkg -l
apt list --installed# 安装deb软件包
dpkg -i <软件包># 删除deb软件包,保留配置文件
dpkg -r <软件包>
# 删除deb软件包,不保留配置文件
dpkg -P <软件包># 查看软件包的内容列表
dpkg -c <软件包># 查看软件包中的文件列表
dpkg -L <软件包># 显示已安装软件包的详细信息,包括版本、依赖关系等
dpkg -s <软件包># 查看文件名查询所属的软件包
dpkg -S /path/to/file# 验证软件包是否安装
dpkg -V <软件包># 查询已安装的软件包
apt list --installed | grep <软件包>
apt list --upgradable# 查看软件包的相关信息, 如说明、大小、版本等
apt show <软件包># 搜索软件包
apt-cache search <软件包># 删除软件包
apt remove <软件包># 更新系统源软件清单
apt update -y# 更新全部软件包
apt upgrade <软件包># 查看可更新的软件包
apt list --upgradable
十一、关闭Selinux
- Ubuntu22.04 默认不开启 selinux
# 查看selinux状态
getenforce# 启用SELinux
apt-get install selinux-utils# 重启系统生效
reboot
以上就是Ubuntu 22.04.4操作系统初始化详细配置,如果对你有帮助,请记得点赞,关注,收藏。更多Linux运维相关知识持续分享中。
相关文章:
Ubuntu 22.04.4操作系统初始化详细配置
上一章节,主要讲解了Ubuntu 22.04.4操作系统的安装,但是在实际生产环境中,需要对Ubuntu操作系统初始化,从而提高系统的性能和稳定性。 一、查看Ubuntu系统版本和内核版本 # 查看系统版本 testubuntu:~$ sudo lsb_release -a Rel…...
[ACTF2020 新生赛]Upload
先写一个万能的一句话木马 使用一句话木马 发现这个是有内容过滤的 过滤了 <? 发现这个过滤的很死那就只能使用 不带 ? 的短标签了 使用script 标签 这个的使用只限于对方的php是5版本的 正好是低版本的 所以直接上传 改一下后缀为 phtml 成功上传 但是我们没有…...
Harbor2.0仓库镜像清理策略
背景 在持续集成和持续部署的流程中,频繁的构建和部署会生成大量的镜像版本。这些历史镜像如果不及时清理,会占用大量的存储空间,导致 Harbor 仓库膨胀,影响系统性能。 目前 公司的Harbor存储已经占用1T,好多的repo的…...
从零开始了解数据采集(二十一)——电子制造行业趋势分析案例
这次分享一个偏行业性的趋势分析案例,在项目中为企业实实在在的提高了良品率。不懂什么是趋势分析的同学,可以翻看前面的文章。 在广东某电子制造厂中,管理层发现最近几个月生产良品率有所波动,但无法明确波动原因,也…...
从零开始开发一个简易的五子棋游戏:使用 HTML、CSS 和 JavaScript 实现双人对战
介绍 五子棋,作为一种经典的棋类游戏,不仅考验玩家的策略与判断力,还能在繁忙的生活中带来一丝轻松。今天,我们将用 HTML、CSS 和 JavaScript 来开发一个简易的五子棋游戏,玩家可以在浏览器中与朋友展开一场刺激的对决…...
用Node.js施展文档比对魔法:轻松实现Word文档差异比较小工具,实现Word差异高亮标注(附完整实战代码)
引言:当「找不同」遇上程序员的智慧 你是否经历过这样的场景? 法务同事发来合同第8版修改版,却说不清改了哪里 导师在论文修改稿里标注了十几处调整,需要逐一核对 团队协作文档频繁更新,版本差异让人眼花缭乱 传统…...
计算机基本理论与 ARM 相关概念深度解析
一、计算机基本理论 1. 计算机的组成 计算机硬件系统由五大部件构成: 运算器:负责算术运算(如加减乘除)与逻辑运算(如与、或、非),是数据处理的核心单元。控制器:从存储器中逐条提…...
adb常用的20个命令
ADB(Android Debug Bridge)是Android开发工具中的一个命令行工具,常用于与Android设备进行交互、调试和测试。以下是ADB常用的20个命令: adb devices:列出所有已连接的设备及其状态。adb connect <device_ip…...
C++如何使用调试器(如GDB、LLDB)进行程序调试保姆级教程(2万字长文)
C作为一门高性能、接近底层的编程语言,其复杂性和灵活性为开发者提供了强大的能力,同时也带来了更高的调试难度。与一些高级语言不同,C程序往往直接操作内存,涉及指针、引用、多线程等特性,这些都可能成为错误的温床。…...
【计算机哲学故事1-2】输入输出(I/O):你吸收什么,便成为什么
“我最近,是不是废了……”她瘫在沙发上,手机扣在胸口,盯着天花板自言自语。 我坐在一旁,随手翻着桌上的杂志,没接话,等着她把情绪发泄完。 果然,几秒后,她重重地叹了口气…...
驱动开发硬核特训 · Day 22(上篇): 电源管理体系完整梳理:I2C、Regulator、PMIC与Power-Domain框架
📘 一、电源子系统总览 在现代Linux内核中,电源管理不仅是系统稳定性的保障,也是实现高效能与低功耗运行的核心机制。 系统中涉及电源管理的关键子系统包括: I2C子系统:硬件通信基础Regulator子系统:电源…...
Linux一个系统程序——进度条
一、回车与换行 \n :回车加换行 \r:换行 观察我们发现以上的两个代码除了缺少/n没有任何区别,但是运行代码之后我们会发现有何大的不同,图一会先在屏幕上打印helloworld在进行休眠2,但是图二会先休眠2在打印helloworld,原因是pr…...
从零到精通:深入剖析GoFrame的gcache模块及其在项目中的实战应用
一、引言 在后端开发的世界里,Go语言凭借其简洁的语法、高效的并发模型和强大的标准库,已成为许多开发者的首选。从Web服务到分布式系统,Go的身影无处不在,而其生态也在不断壮大。作为Go生态中的一颗新星,GoFrame&…...
【Linux系统】静态库与动态库
库制作与原理 1. 什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式ÿ…...
从零实现分布式WebSocket组件:设计模式深度实践指南
一、为什么需要WebSocket组件? 实时通信需求 传统HTTP轮询效率低,WebSocket提供全双工通信适用于即时聊天、实时数据监控、协同编辑等场景 分布式系统挑战 多节点部署时需解决会话同步问题跨节点消息广播需借助中间件(Redis/RocketMQ等&…...
使用 OpenCV 和 dlib 进行人脸检测
文章目录 1. 什么是 dlib2. 前期准备介绍2.1 环境准备2.2 dlib 的人脸检测器 3. 代码实现3.1 导入库3.2 加载检测器3.3 读取并调整图像大小3.4 检测人脸3.5 绘制检测框3.6 显示结果 4. 完整代码5. 优化与改进5.1 提高检测率5.2 处理 BGR 与 RGB 问题 6. 总结 人脸检测是计算机视…...
03.使用spring-ai玩转MCP
接着上篇:https://blog.csdn.net/sinat_15906013/article/details/147052013,我们介绍了,什么是MCP?使用cline插件/cherry-studio安装了Mcp Server,本篇我们要借助spring-ai实现MCP Client和Server。 使用spring-ai的…...
LeetCode12_整数转罗马数字
LeetCode12_整数转罗马数字 标签:#哈希表 #数字 #字符串Ⅰ. 题目Ⅱ. 示例 0. 个人方法:模拟官方题解二:硬编码数字 标签:#哈希表 #数字 #字符串 Ⅰ. 题目 七个不同的符号代表罗马数字,其值如下: 符号值I…...
展销编辑器操作难度及优势分析
也许有人会担心,如此强大的展销编辑器,操作起来是否会很复杂?答案是否定的。展销编辑器秉持着 “简单易用” 的设计理念,致力于让每一位用户都能轻松上手,即使是没有任何技术背景的小白,也能在短时间内熟练掌握。 编…...
展销编辑器在未来的发展前景
展销编辑器在展销行业的发展前景极为广阔,有望引领行业迈向更加智能化、个性化、沉浸式的新时代,对行业变革产生深远影响。 随着人工智能、虚拟现实、增强现实等技术的不断发展和融合,展销编辑器将实现更加智能化的功能。例如,借…...
央视两次采访报道爱藏评级,聚焦生肖钞市场升温,评级币成交易安全“定心丸”
CCTV央视财经频道《经济信息联播》《第一时间》两档节目分别对生肖贺岁钞进行了5分钟20秒的专题报道。长期以来,我国一直保持着发行生肖纪念钞和纪念币的传统,生肖纪念钞和纪念币在收藏市场保持着较高的热度。特别是2024年初,央行发行了首张贺…...
登高架设作业指的是什么?有什么安全操作规程?
登高架设作业是指在高处从事脚手架、跨越架架设或拆除的作业。具体包括以下方面: 脚手架作业 搭建各类脚手架,如落地式脚手架、悬挑式脚手架、附着式升降脚手架等,为建筑施工、设备安装、高处维修等作业提供安全稳定的工作平台。对脚手架进行…...
Kaamel白皮书:IoT设备安全隐私评估实践
1. IoT安全与隐私领域的现状与挑战 随着物联网技术的快速发展,IoT设备在全球范围内呈现爆发式增长。然而,IoT设备带来便捷的同时,也引发了严峻的安全与隐私问题。根据NSF(美国国家科学基金会)的研究表明,I…...
uniapp跨平台开发---动态控制底部切换显示
业务需求 不同用户或者应用场景,底部tab展示不同的内容,针对活动用户额外增加底部tab选项 活动用户 非活动用户 实现思路 首先在tabbar list中增加中间活动tab的路径代码,设置visible:false,然后再根据条件信息控制活动tab是否展示 pages.json {"pagePath": "…...
django admin 去掉新增 删除
在Django Admin中,你可以通过自定义Admin类来自定义哪些按钮显示,哪些不显示。如果你想隐藏“新增”和“删除”按钮,可以通过重写change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission属性来实现。 方法1&…...
final static 中是什么final static联合使用呢
final static 联合使用详解 final 和 static 在 Java 中经常一起使用,主要用来定义类级别的常量。这种组合具有两者的特性: 基本用法 public class Constants {// 典型的 final static 常量定义public static final double PI 3.141592653589793;pub…...
【项目管理】知识点复习
项目管理-相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应:第6章-第19章 第6章 项目管理概论 4分第13章 项目资源管理 3-4分第7章 项目…...
cocos creator使用jenkins打包流程,打包webmobile
windows电脑使用 如果你的电脑作为打包机,一定要锁定自己的ip,如果ip动态获取,可能后续会导致jenkins无法访问,还需要重新配置jenkins和http-server的端口 从jenkins官网下载windows版 Thank you for downloading Windows Stable installer 1.jenkins安…...
颠覆传统微商!开源AI智能名片链动2+1模式S2B2C商城小程序:重构社交电商的“降维打击”革命
摘要:传统微商模式长期依赖暴力刷屏、多层分销与价格战,导致用户信任崩塌、行业合规风险激增,近三年行业淘汰率高达67%。本文创新性提出“开源AI智能名片链动21模式S2B2C商城小程序”技术-商业融合架构,通过AI驱动的智能内容引擎、…...
pycharm无法创建venv虚拟环境
pycharm 2022.2.2在创建新project时,选择Virtualenv environment时,提示“无法创建虚拟环境”。 1.查看 PyCharm 日志 日志文件(路径示例:C:\Users\<用户名>\AppData\Local\JetBrains\PyCharm2022.1\log\idea.logÿ…...
nextjs整合快速整合市面上各种AI进行prompt连调测试
nextjs整合快速整合市面上各种AI进行prompt连调测试。这样写法只是我用来做测试。快速对比各种AI大模理效果. 这里参数通过APIPOST进来 import { OpenAIService } from ./openai.service; import { Controller, Post, Body, Param } from nestjs/common; import { jsonrepair …...
Greenbone(绿骨)开源GVM容器docker部署和汉化介绍
文章目录 Greenbone(绿骨)开源GVM容器docker部署和汉化介绍前言用容器部署GVM第一步:安装依赖项第二步:安装 Docker第三步:使用 docker-compose编排文件,完成GVM服务部署第四步:启动Greenbone社…...
PDF嵌入隐藏的文字
所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 在 PD…...
为什么从Word复制到PPT的格式总是乱掉?
从Word复制到PPT的格式总是乱掉,主要有以下原因: 格式兼容性问题 - 软件版本差异:不同版本的Office或WPS软件,对文档格式的支持和处理方式有所不同。如Office 2021中的新功能“动态网格对齐”,在粘贴到Office 2016的…...
五分钟讲清数据需求怎么梳理!
目录 一、为什么要进行数据需求梳理? 1.确保企业收集到真正有价值的数据 2.有助于提高数据分析的效率和质量 3.促进企业内部各部门之间的沟通与协作 二、数据需求怎么梳理? 1. 与业务部门深度沟通 2. 进行业务流程分析 3. 参考行业最佳实践 4. …...
03_多线程任务失败解决方案
文章目录 问题:多线程并发处理时,其中一个任务失败怎么办?1. 异常捕获2. 线程同步3. 资源清理4. 错误恢复5. 通知其他线程6. 使用并发框架 问题:多线程并发处理时,其中一个任务失败怎么办? 这是一个典型的并发编程问题࿰…...
MyBatis 类型处理器(TypeHandler)注册与映射机制:JsonListTypeHandler和JsonListTypeHandler注册时机
下面几种机制会让你的 List<String>/Map<String,?> 能正确读写成 JSON 数组/对象文本: MyBatis-Plus 自动注册 最新版本的 MyBatis-Plus starter 会把类路径下所有带 MappedTypes({List.class})、MappedJdbcTypes(JdbcType.VARCHAR) 这类注…...
Spark SQL开发实战:从IDEA环境搭建到UDF/UDAF自定义函数实现
利用IDEA开发Spark-SQL 1、创建子模块Spark-SQL,并添加依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version> </dependency> 3…...
神经网络笔记 - 神经网络
一.神经网络基础知识 1.神经网络解决了什么问题 将人类眼中的数据(如图像、文本)转换成计算机能理解的特征矩阵。适用于分类、回归等多种任务,本质上是进行特征提取与决策映射。 2.神经网络基本结构 输入层(Input Layer&#x…...
C20-breakcontinue
一 break break的作用:用于跳出当前的循环 #include <stdio.h> int main() {//变量初始化int TallPeopleNumber;int TallMoney0;int SingelMoney;//循环体for(TallPeopleNumber1;TallPeopleNumber<1000;TallPeopleNumber){printf("请输入单笔捐款金额:\n")…...
关于IDEA的循环依赖问题
bug描述:(java: 模块循环不支持注解处理。请确保将循环 [...] 中的所有模块排除在注解处理之外) 解决方法:...
uniapp跳转和获取参数方式
1.小程序跳转 1.1 原生组件跳转 <navigator url"/pages/about/about?id10">跳转</navigator> 1.2 方法接口跳转 uni.navigateTo({url:/pages/about/about?id2}) 2.获取参数值 页面获取id值 onLoad(e) {console.log(e.id);}...
BP 算法探秘 :神经网络的幕后引擎
大家好,我是沛哥儿,很高兴又和大家见面了。 在人工智能的世界里,神经网络如同大脑一般神秘又强大,而其中 **BP 算法(Backpropagation Algorithm)**就是驱动这个 “大脑” 不断学习进化的幕后引擎。 文章目录…...
物联网相关
文章目录 1 MQTT2 MQTT FX3 EMQ X 1 MQTT MQTT是一种基于发布/订阅模式的轻量级物联网消息协议,全称为Message Queuing Telemetry Transport(消息队列遥测传输)。它具有低功耗、低带宽占用、可靠性高等特点,广泛应用于物联网设备…...
【Axure高保真原型】3级多选下拉列表
今天和大家分享3级多选下拉列表原型模板,这个模版是用中继器制作的,所以使用也很方便,选项的数据在中继器表格里维护即可自动生成交互效果,具体效果可以打开下方原型地址体验或者点击下方视频观看 【原型效果含使用说明】 【Axur…...
光敏材料与智能传感技术的能源系统创新研究
一、光敏储能体系的作用机理与技术创新 1.1 分子光能转换机制 基于分子构型变化的能量存储技术展现出独特优势,其核心机理涉及光敏材料在光照下的可逆分子构型变化。以偶氮苯体系为例,在365nm紫外光激发下,分子发生反式到顺式的异构转变&…...
Docker 安装 kafka (bitnami/kafka:4.0)
1、拉取镜像 docker pull bitnami/kafka:4.02、创建挂载目录 mkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/datamkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/logs3、给挂载目录授权 chmod 777 /user/lzl/tool/docker/ka…...
NameSilo转入转出域名
一、总起 域名转入转出主要沟通方式就是靠注册邮箱收取转移授权码。 因为namesilo的界面一直在慢慢改动(很慢很慢),所以本文和网上教程里的截图有所不同,以后本文可能也会与实际界面有所不同。 二、转入域名 1. 在其它域名服务商…...
Python----深度学习(基于DNN的吃鸡预测)
一、目标 如何使用 PyTorch 实现一个简单的深度神经网络(DNN)模型,并用于回归任务。该模型通过训练数据集来预测玩家在游戏中的最终排名百分比。代码通过读取数据集、数据处理、模型训练和模型评估等步骤。 二、数据集介绍 和平精英…...
DeepSeek系列(10):与其他AI工具协同
DeepSeek与绘图AI配合使用 在当今多元化的AI生态中,将不同专长的AI工具协同使用,能够实现远超单一工具的综合效果。DeepSeek作为强大的语言模型,与专业绘图AI的配合尤为默契,可以在创意构思与视觉呈现之间建立无缝桥梁。 创意-视觉协作流程 从文本到图像的完整路径 创意…...