当前位置: 首页 > news >正文

开发环境搭建-1:配置 WSL (类 centos 的 oracle linux 官方镜像)

一些 Linux 基本概念

个人理解,并且为了便于理解,可能会存在一些问题,如果有根本上的错误希望大家及时指出

发行版

WSL 的系统是基于特定发行版的特定版本的 Linux

发行版 = 有固定组织维护的、开箱就能用的 Linux

  • 发行版由固定的团队、社区进行维护,出了问题有一定的支持
  • 发行版的内容 = Linux内核 + 指定的一些实用软件组合(如软件包管理软件、可视化界面等)
  • 不同发行版的授权协议有所不同,有的商用也是免费的,有的商用要付费

类比:比如不同厂商的音乐播放器,比如 QQ 音乐、网易云音乐、酷狗音乐等。本质都是音乐文件播放器,但在基础功能上定制了界面、曲库等功能

常见的软件发行版

  • fedora系:fedora、centos、RHEL、open SUSE、oracle linux …
  • debian系:debian、ubuntu

以上两大派系的常见差别

参考链接:https://fedoraproject.org/wiki/Comparison_to_other_distributions

  • 系统指令:通用(都是基于 Linux 内核的),比如:cp、mv、rm、sudo、wget等。
  • 一些与【实用软件组合】相关的指令,因为选用的软件不同,则支持的相关指令就不太相同,比如:
fadora 系debian 系
安装包格式rpmdeb
软件管理在线安装:yum、dnf
本地管理:rpm
在线安装:apt-get
本地管理:dpkg

选择建议:建议以实际项目使用的发型版本,确定自己需要的版本,最好是使用相同发行商的。例如:

  • 后端、运维:公司使用 cenots --> 自己使用 fedora 系的发行版,最好也用 centos
  • 学术、机器学习:项目在 ubuntu 上部署 --> 使用 debian 系的发行版,最好也用 ubuntu

版本

发行版本

就是 LInux 发行版的版本,比如 Ubuntu 22.04、CentOS 7.9 等

不同版本,系统内核版本、附带的软件版本可能不同

类比:比如 Windows 的不同版本,如 Winsdows XP、Windows 7、Windows 10,整体界面、操作、对软件的兼容性都有不同

  • 不同系统内核版本,运行程序的效率可能有不同,也可能会有软件在不同内核上运行出问题的情况
  • 附带软件不同,一般来说新版软件会修复 bug,并提供新的功能

对于 Linux 【发行版】来说,有大版本和小版本,以下以 CentOS 举例

  • 大版本 = 版本数字整数部分,比如 centos 7.6 中的 6
  • 小版本 = 版本数字小数部分,比如 Ubuntu 22.04 中的 04
  • 这其中有一些版本,作为长期支持版本(进行介绍时会有 LTS 相关文字),官方会提供长久的支持

选择原则:建议大版本不变,小版本选最新的 LTS 版本。例如:

  • 项目上说用的是 centos7(或者 centos 7.6),则自己可以用 centos 7.9
  • 项目上说用的时 Ubuntu 24,那自己可以装 ubuntu 24.04 LTS

安装包版本

使用 WSL 进行安装不需要选这个版本

参考资料:https://blog.csdn.net/ZZQHELLO2018/article/details/104027963

以 CentOS 为例:

CentOS标准安装盘,一般下载这个就可以了
里面包含大量的常用软件,大部分情况下安装时无需再在线下载
Minimal精简版本,只包含核心组件,体积才仅为几百 MB
如果想要安装其他软件,则这个版本中不包含,需要联网才能安装
Everything顾名思义,包含了所有软件组件,当然体积也是最大的。
对完整版安装盘的软件进行补充,集成所有软件
NetInstall网络安装镜像
LiveGNOMEGNOME桌面版
LiveKDEKDE桌面版
LiveCD光盘上运行的系统,类拟于 WINPE

安装 WSL

以下使用官方的指令进行安装

注意:WSL 官方的安装方式要求能访问 github,最好是找个梯子,否则接下来的安装步骤非常难受

  1. 打开 powershell (管理员)
    在 windows 图标右键,点击【终端(管理员)】

    之后的命令都在打开的命令行中输入

  2. (非必须)查看指令帮助

    wsl --help
    

  3. 查看支持的【发行版】

    wsl --list --online
    

  4. 选择相关版本进行安装
    我项目使用的是 centos,应该选择 fedora 系的系统,这里选择 oracle linux
    项目上使用的版本是 centos 8,4,这里选择相同大版本的 oracle linux 8.7

    wsl --install OracleLinux_8_7
    

    输入logout即可退出 WSL,返回 Windows 命令行

    • 安装时会提示设置用户名、密码,之后登录 WSL 时,默认都会使用这个用户
    • 执行指令的过程中,如果提示“无法解析服务器名称或地址”,那就说明无法用官方指令进行安装,需要梯子
      相关问题参考:https://zhuanlan.zhihu.com/p/568008269

配置 WSL

将 WSL 移动到其他盘

这里将刚才安装的 WSL(名称为`OracleLinux_8_7`)移动到 D 盘下的 WSL_DIR 文件夹中
   wsl --manage OracleLinux_8_7 --move D:/WSL_DIR/

打开对应文件夹,发现 WSL 的磁盘文件(.hdx 文件)已经在对应文件夹中了

mobXterm 配置远程连接到 WSL

MobaXterm 默认支持 WSL。在新增连接时,分类选择【WSL】即可

  • 如果下拉框没有对应选项,可以直接输入 WSL 的名称
  • 汉化版 MobaXterm 在这里下载(github,需要梯子):https://github.com/RipplePiam/MobaXterm-Chinese-Simplified

Linux 系统配置

进入 / 退出 Linux 系统

在 Windows 命令行中,输入`wsl`进入默认 WSL 系统中

在 Linux 命令行中,输入logout退出 Linux 系统,返回 WSL 系统

设置 root 账户

WSL 默认没有 root 密码,需要进行设置

参考:https://blog.csdn.net/weixin_44953227/article/details/109466253

输入sudo passwd root,进入设置,要输入两次密码

设置当前用户具有 root 权限

oracle linux 已经自动设置了当前用户具有 root 权限(已经加入 wheel 组),但每次操作还需要密码

下面的流程能实现免密执行代码

  1. 将当前用户加入 wheel 用户组(实际上 oracle linux 已经默认做了)
    可以看到,此时 sudo 指令还需要输入当前用户的密码

    sudo usermod -aG wheel $USER
    
  2. 修改wheel用户权限,可以免密运行指令

    1. 打开权限管理配置文件
      这里打开文件使用的是vim软件,软件的具体使用方法请自行搜索,这里不再介绍

      sudo vim /etc/sudoers
      
    2. 修改以下内容,并强制保存退出

  3. 重新执行程序,发现已经不需要输入密码了(只需要在指令前加sudo就行)

设置 Linux 软件源(repos)

默认的 WSL 系统软件源从官网获取,需要梯子,国内访问速度很慢
这里使用开源的项目:https://linuxmirrors.cn/

根据官网指南,先切换到 root 用户,然后运行脚本

sudo passwd root

切换到 root 用户,要输入 root 用户密码,若之前没设置过则先按照上一步设置 root 密码

根据 linuxmirrors-官网 给的教程,执行命令

然后执行脚本即可,这个脚本非常人性化,都是中文,不需要教程了
放点执行截图

执行结束,测试一下,安装个fastfetch软件(此软件可查看系统概况,软件官网(需要梯子))

发现报错PGP key not found

解决方法,下载 centos、EPEL 官方对应的 PGP 秘钥文件到对应路径,查看解决方法(原贴在 github 需要梯子)

Linux 系统优化

在 WSL 系统中进行配置,这里是在 Oracle Linux 8.7 中进行配置

关闭 SELinux

WSL 的 Oracle Linux 8.7 已经默认关闭,这里跳过
相关文档:https://help.aliyun.com/zh/ecs/use-cases/enable-or-disable-selinux

优化内核参数

按需配置,有相关报错再来配,没问题就不管
参考文章:https://developer.aliyun.com/article/700149

设置登录时显示系统概况

  1. 安装fastfetch软件
  2. 配置系统登录时显示的内容登录
    参考文章:https://cloud.tencent.com/developer/article/1869215
    1. 打开配置文件(要使用 root 权限)

      sudo vim /etc/profile
      
    2. 在最后添加以下内容,保存退出文件

      # hello screen
      sudo fastfetch
      

      3. 实际效果(每次登录都有以下内容显示)

  3. 如果出现显示问题,请检查 MobaXterm 的连接参数
    把这里的连接参数裁成【原生连接器】,然后关闭窗口,重新打开

启用 systemd 支持(支持 systemctl 指令)

默认 WSL 使用 sysV 而不是 systemd 作为进程管理工具 ,默认情况下 systemctl 指令不可用。如下图

这对于很多运维人员来说很不方便,也可能导致一些依赖相关指令的脚本或程序运行失败

微软提供了相关文档:https://learn.microsoft.com/zh-cn/windows/wsl/systemd#how-to-enable-systemd

  1. 检查版本(在 windows 命令行中执行命令)

    wsl --version
    

    可看到当前 wsl 版本满足要求

  2. 修改配置文件(在 WSL 命令行中执行,这里使用vim作为文本编辑器,注意要 root 权限)

    sudo vim /etc/wsl.conf
    

    按照官方教程修改文件,并保存退出(如果没有对应的文件,就大胆的新建一个)

  3. 重启 WSL(先关闭再启动)

    1. 关闭:在 windows 命令行中输入wsl --shutdown
    2. 启动(WSL 有活动,就会自动启动,这里直接远程连接,就能激活 WSL)
  4. 重启之后,重新输入相关指令,正常运行

修改时间和时区

前提:首先设置启用 systemd,具体看上面的步骤

WSL 中的时间、时区会自动和主机 Windows 上的配置进行同步,无需设置

但如果想配置不同时区、手动设置时间,则可参考以下配置

参考文档:https://blog.csdn.net/wdk996/article/details/135940814

  1. 查看当前时间相关配置:timedatectl指令

  2. 设置时区:这里设为中国时区(Asia/Shanghai)

    timedatectl set-timezone "Asia/Shanghai"
    
  3. 设置时间:使用date -s 时间字符串实现

在这里插入图片描述

此时系统级的服务(比如 dnf/yum 等)就能访问外网了,但是 git 还需要额外配置

其他特殊的WSL配置

修改 WSL 的文件位置

WSL 默认将文件放在 C 盘,可利用此指令移动 WSL 到新的磁盘,减少C盘占用
wsl --manage WSL名称 --move 新路径

以下将OracleLinux_8_7这个WSL的系统文件移动到D:/WSL_DIR/路径下(D盘下的WSL_DIR文件夹下)

挂载 windows 的文件夹到 WSL 中

相当于在 WSL 和 windows 中创建一个共享文件夹,便于共享数据

卸载某一版本的 WSL

注意:卸载对应 WSL 版本之前,需要先停止 WSL
  1. 查询当前已经安装的 WSL

     wsl --list -v
    

  2. 停止对应的 WSL

    wsl --shutdown WSL名称
    

  3. 解除挂载的磁盘
    不解挂直接删除也行,WIndows 系统会自动解除挂载的

    wsl --umount 磁盘盘符
    
  4. 卸载对应的 WSL

    wsl --unregister WSL名称
    

开发运行环境配置

git 安装及代理加速

git 软件设置代理(全局设置)

git config --global http.proxy $http_proxy
git config --global https.proxy $https_proxy

如果要禁用代理

先临时禁用系统代理

unset $http_proxy
unset $https_proxy

永久禁用

  1. 进入上面的环境文件~/.bashrc,删除(或注释掉)上面添加的三行,保存退出
  2. 使用source ~/.bashrc应用配置文件
  3. 使用上面的unset指令删除当前残留的环境变量

再禁用 git 代理

git config --global --unset http.proxy
git config --global --unset https.proxy

注意:上面的操作需要先禁用 git 代理,再禁用系统代理

配置 Python 开发环境(uv)

使用uv进行 python 版本、项目、依赖包、虚拟环境管理
详见文章:配置 python 运行环境(使用 uv 管理 python 项目)

配置 node 前端开发环境(nvm+node+pnpm)

详见文章:配置 nodejs 开发环境 (nvm + pnpm)

相关文章:

开发环境搭建-1:配置 WSL (类 centos 的 oracle linux 官方镜像)

一些 Linux 基本概念 个人理解,并且为了便于理解,可能会存在一些问题,如果有根本上的错误希望大家及时指出 发行版 WSL 的系统是基于特定发行版的特定版本的 Linux 发行版 有固定组织维护的、开箱就能用的 Linux 发行版由固定的团队、社…...

QT 使用QSqlTableModel对数据库进行创建,插入,显示

文章目录 效果图概述功能点代码分析初始数据插入数据数据显示 总结 效果图 概述 本案例用于对数据库中的数据进行显示等其他操作,其他表格筛选,过滤等功能可看此博客 框架:数据模型使用QSqlTableModel,视图使用QTableView&#x…...

26、正则表达式

目录 一. 匹配字符 .:匹配除换行符外的任意单个字符。 二. 位置锚点 ^:匹配输入字符串的开始位置。 $:匹配输入字符串的结束位置。 \b:匹配单词边界。 \B:匹配非单词边界。 三. 重复限定符 *:匹配…...

vue 数据双向绑定无效 明明值修改了 页面却没有变化

在 Vue.js 中,数据双向绑定通常通过 v-model 指令来实现。如果你修改了数据但页面没有更新,可能是因为以下几个原因之一: 1. 检查 data 函数 确保你的数据属性是在 Vue 实例的 data 函数中声明的,并且是响应式的。例如&#xff…...

【深度学习】3.损失函数的作用

损失函数的作用 假设把猫这张图片分成四个像素点,分别为:56、231、24、2(实际应该是三维的,因为还有颜色通道的维度,这里简化成二维)。 像素点拿到以后,进行三分类,粉红色为第一组W…...

使用 Aryn DocPrep、DocParse 和 Elasticsearch 向量数据库实现高质量 RAG

作者:来自 Elastic Hemant Malik 及 Jonathan Fritz 组织依靠自然语言查询从非结构化数据中获取见解,但要获得高质量的答案,首先要进行有效的数据准备。Aryn DocParse 和 DocPrep通过将复杂文档转换为结构化 JSON 或 markdown 来简化此过程&a…...

Vue3初学之Element Plus Dialog对话框,Message组件,MessageBox组件

Dialog的使用&#xff1a; 控制弹窗的显示和隐藏 <template><div><el-button click"dialogVisible true">打开弹窗</el-button><el-dialogv-model"dialogVisible"title"提示"width"30%":before-close&qu…...

【面试】Java 记录一次面试过程 三年工作经验

2025 个人工作经验与基础概念 工作挑战及解决方式&#xff1a;这需要根据个人实际工作经历来回答&#xff0c;例如在项目中遇到性能瓶颈&#xff0c;通过代码优化、数据库索引调整或引入缓存机制等方式解决。单例模式&#xff1a; 常见的实现方式有饿汉式、懒汉式&#xff08;…...

1/20赛后总结

1/20赛后总结 T1『讨论区管理员』的旅行 - BBC编程训练营 算法&#xff1a;IDA* 分数&#xff1a;0 damn it! Ac_code走丢了~~&#xff08;主要是没有写出来&#xff09;~~ T2华强买瓜 - BBC编程训练营 算法&#xff1a;双向DFS或者DFS剪枝 分数&#xff1a;0 Ac_code…...

Linux 高级路由与流量控制-用 tc qdisc 管理 Linux 网络带宽

大家读完记得觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 此分享内容比较专业&#xff0c;很多与硬件和通讯规则及队列&#xff0c;比较底层需要有技术功底人员深入解读。 Linux 的带宽管理能力 足以媲美许多高端、专用的带宽管理系统。 1 队列&#xff0…...

大模型GUI系列论文阅读 DAY1:《基于大型语言模型的图形用户界面智能体:综述》(6.6W 字长文)

摘要 图形用户界面&#xff08;Graphical User Interfaces, GUIs&#xff09;长期以来一直是人机交互的核心&#xff0c;为用户提供了直观且以视觉为驱动的方式来访问和操作数字系统。传统上&#xff0c;GUI交互的自动化依赖于基于脚本或规则的方法&#xff0c;这些方法在固定…...

【组件库】使用Vue2+AntV X6+ElementUI 实现拖拽配置自定义vue节点

先来看看实现效果&#xff1a; 【组件库】使用 AntV X6 ElementUI 实现拖拽配置自定义 Vue 节点 在现代前端开发中&#xff0c;流程图和可视化编辑器的需求日益增加。AntV X6 是一个强大的图形化框架&#xff0c;支持丰富的图形操作和自定义功能。结合 ElementUI&#xff0c;…...

考研408笔记之数据结构(三)——串

数据结构&#xff08;三&#xff09;——串 1. 串的定义和基本操作 本节内容很少&#xff0c;重点是串的模式匹配&#xff0c;所以对于串的定义和基本操作&#xff0c;我就简单提一些易错点。另外&#xff0c;串也是一种特殊的线性表&#xff0c;只不过线性表是可以存储任何东…...

Java 和 JavaScript 的区别

尽管名字相似&#xff0c;JavaScript 的名字中带有 “Java”&#xff0c;确实让很多人误以为它与 Java 有紧密联系。但实际上&#xff0c;它们是完全不同的语言&#xff0c;只是在 JavaScript 的发展历史中与 Java 有一定的关联。 1. JavaScript 的诞生背景 时间点&#xff1…...

Web3与传统互联网的对比:去中心化的未来路径

随着互联网技术的不断发展&#xff0c;Web3作为去中心化的新兴架构&#xff0c;正在逐步改变我们的网络体验。从传统的Web2到Web3&#xff0c;互联网的演进不仅是技术的革新&#xff0c;更是理念的变革。那么&#xff0c;Web3与传统互联网相比&#xff0c;到底有何不同&#xf…...

C++之初识模版

目录 1.关于模版的介绍 2.函数模版 2.1函数模板概念 2.2函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5模板参数的匹配原则 3.类模版 3.1类模板的定义格式 3.2 类模板的实例化 1.关于模版的介绍 C中的模板是一种通用编程工具&#xff0c;它允许程序员编…...

如何给自己的域名配置免费的HTTPS How to configure free HTTPS for your domain name

今天有小伙伴给我发私信&#xff0c;你的 https 到期啦 并且随手丢给我一个截图。 还真到期了。 javapub.net.cn 这个网站作为一个用爱发电的编程学习网站&#xff0c;用来存编程知识和面试题等&#xff0c;平时我都用业余时间来维护&#xff0c;并且还自费买了服务器和阿里云…...

什么是Memecoin?它如何在加密货币世界崭露头角

在加密货币的世界里&#xff0c;Memecoin已经成为一个越来越受欢迎的词汇。作为一种新兴的加密货币&#xff0c;Memecoin凭借其独特的性质和文化背景吸引了大量投资者和加密爱好者。本文将详细探讨Memecoin是什么、它的起源、以及为什么它在市场中越来越受到关注。 什么是Meme…...

[unity 高阶]使用ASE制作一个cubed的skybox的shader,跟做版本

第一步,导入ASE 此步骤不在此讲解,有时间再补充 第二步,创建shader 需要选择shader的类型,此处选择legacy/Unlit第三步,创建变量 根据默认shader中的变量 _Tint (“Tint Color”, Color) = (.5, .5, .5, .5)[Gamma] _Exposure (“Exposure”, Range(0, 8)) = 1.0_Rotat…...

Java复习第四天

一、代码题 1.相同的树 (1)题目 给你两棵二叉树的根节点p和q&#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1: 输入:p[1,2,3]&#xff0c;q[1,2,3] 输出:true示例 2: 输…...

mysql数据库启动出现Plugin ‘FEEDBACK‘ is disabled.问题解决记录

本人出现该问题的环境是xampp&#xff0c;异常关机&#xff0c;再次在xampp控制面板启动mysql出现该问题。出现问题折腾数据库之前&#xff0c;先备份数据&#xff0c;将mysql目录下的data拷贝到其他地方&#xff0c;这很重要。 然后开始折腾。 查资料&#xff0c;会发现很多…...

Spring 是如何解决循环依赖问题

Spring 框架通过 三级缓存 机制来解决循环依赖问题。循环依赖是指两个或多个 Bean 相互依赖&#xff0c;形成一个闭环&#xff0c;例如 Bean A 依赖 Bean B&#xff0c;而 Bean B 又依赖 Bean A。Spring 通过提前暴露未完全初始化的 Bean 来解决这个问题。 以下是 Spring 解决…...

【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法

深度信息在场景重建中是非常重要的先验&#xff0c;有一个精确的深度估计&#xff0c;重建质量起码提升一半&#xff0c;这一篇就是围绕着transformer优化深度来展开工作&#xff0c;进而提升GS的效果&#xff0c;感谢作者大佬们的work&#xff01; 1 Abstract 与之前的3D重建方…...

营销2.0时代的挑战与开源AI智能名片2+1链动模式S2B2C商城小程序源码的解决方案

摘要&#xff1a;本文旨在探讨营销2.0时代企业在客户管理方面的挑战&#xff0c;并提出开源AI智能名片21链动模式S2B2C商城小程序源码作为解决方案。营销2.0虽然强调客户导向&#xff0c;但在实际操作中&#xff0c;企业往往无差别地对待所有客户&#xff0c;导致客户忠诚度下降…...

PHP教育系统小程序

&#x1f310; 教育系统&#xff1a;全方位学习新体验&#xff0c;引领未来教育风尚 &#x1f680; 教育系统&#xff1a;创新平台&#xff0c;智慧启航 &#x1f4f1; 教育系统&#xff0c;一款深度融合科技与教育的创新平台&#xff0c;匠心独运地采用先进的ThinkPHP框架与U…...

开篇:吴恩达《机器学习》课程及免费旁听方法

课程地址&#xff1a; Machine Learning | Coursera 共包含三个子课程 Supervised Machine Learning: Regression and Classification | Coursera Advanced Learning Algorithms | Coursera Unsupervised Learning, Recommenders, Reinforcement Learning | Coursera 免费…...

zookeeper的介绍和简单使用

1 zookerper介绍 zookeeper是一个开源的分布式协调服务&#xff0c;由Apache软件基金会提供&#xff0c;主要用于解决分布式应用中的数据管理、状态同步和集群协调等问题。通过提供一个高性能、高可用的协调服务&#xff0c;帮助构建可靠的分布式系统。 Zookeeper的特点和功能…...

python学opencv|读取图像(三十八 )阈值自适应处理

【1】引言 前序学习了5种阈值处理方法&#xff0c;包括(反)阈值处理、(反)零值处理和截断处理&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;三十三&#xff09;阈值处理-灰度图像-CSDN博客 python学opencv|读取图像&#xff08;三十四&#…...

C++ 条件变量-生产消费者模型

条件变量是一种线程同步机制,当条件不满足时&#xff0c;相关线程被一直阻塞&#xff0c;直到某种条件出现&#xff0c;这些线程才会被唤醒. C11的条件变量提供了两个类&#xff1a; condition_variable&#xff1a;只支持与普通mutex搭配&#xff0c;效率更高。 condition_…...

Vue - ref( ) 和 reactive( ) 响应式数据的使用

一、ref( ) 在 Vue 3 中&#xff0c;ref() 是一个用于创建响应式引用的函数。它是 Vue 3 Composition API(组合式API) 的一部分&#xff0c;允许在组件中创建响应式数据。 使用对象&#xff1a;基本数据类型&#xff08;String 、Number 、Boolean 、Null 等&#xff09;、对…...

C语言初阶牛客网刷题——HJ73 计算日期到天数转换【难度:简单】

1. 题目描述——HJ73 计算日期到天数转换 牛客网OJ题链接 描述 每一年中都有 12 个月份。其中&#xff0c;1,3,5,7,8,10,12 月每个月有 31 天&#xff1b; 4,6,9,11 月每个月有 30 天&#xff1b;而对于 2 月&#xff0c;闰年时有29 天&#xff0c;平年时有 28 天。 现在&am…...

学到一些小知识关于Maven 与 logback 与 jpa 日志

1.jpa想要输出参数 logging:level:org.hibernate.orm.jdbc.bind: trace #打印SQL参数web: debug #web框架的日志级别就可以了&#xff0c; 2.Slf4j 其实 Slf4j 是一个日志接口规范&#xff0c;没有具体的实现 而 logback 是 Slf4j的一个实现 &#xff0c;也是springboot3 的…...

Springboot3 自动装配流程与核心文件:imports文件

注&#xff1a;本文以spring-boot v3.4.1源码为基础&#xff0c;梳理spring-boot应用启动流程、分析自动装配的原理 如果对spring-boot2自动装配有兴趣&#xff0c;可以看看我另一篇文章&#xff1a; Springboot2 自动装配之spring-autoconfigure-metadata.properties和spring…...

1905电影网中国地区电影数据分析(一) - 数据采集、清洗与存储

文章目录 前言一、数据采集步骤及python库使用版本1. python库使用版本2. 数据采集步骤 二、数据采集网页分析1. 分析采集的字段和URL1.1 分析要爬取的数据字段1.2 分析每部电影的URL1.2 分析每页的URL 2. 字段元素标签定位 三、数据采集代码实现1. 爬取1905电影网分类信息2. 爬…...

postgresql15的启动

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统&#xff0c;且因为许可证的灵活&#xff0c;任何人都可以以任何目的免费使用、修改和分发PostgreSQL。现在国产数据库大力发展阶段&#xff0c;学习和熟悉postgresql的功能是非常有必要的&#x…...

基于SpringBoot的高校教师科研的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

位运算的基本概念+通过 Brian Kernighan算法计算 lowbit 实现的奇技淫巧 python

目录 引入判断奇偶位运算概念 进入正题Brian Kernighan 算法lowbit 介绍判断幂举一反三牛刀小试汉明重量总结 引入 判断奇偶 假设你不知道位运算为何物&#xff1a;你怎么判断奇偶呢&#xff1f; n int(input()) if n % 2 0:print(f"{n}是偶数") else:print(f&q…...

vscode环境中用仓颉语言开发时调出覆盖率的方法

在vscode中仓颉语言想得到在idea中利用junit和jacoco的覆盖率&#xff0c;需要如下几个步骤&#xff1a; 1.在vscode中搭建仓颉语言开发环境&#xff1b; 2.在源代码中右键运行[cangjie]coverage. 思路1&#xff1a;编写了测试代码的情况&#xff08;包管理工具&#xff09; …...

【测试】UI自动化测试

长期更新&#xff0c;建议关注收藏点赞&#xff01; 目录 概论WEB环境搭建Selenium APPAppium 概论 使用工具和代码执行用例。 什么样的项目需要自动化&#xff1f; 需要回归测试、自动化的功能模块需求变更不频繁、项目周期长&#xff08;功能测试时长&#xff1a;UI自动化测…...

ThinkPHP 8的多对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…...

利用 SoybeanAdmin 实现前后端分离的企业级管理系统

引言 随着前后端分离架构的普及&#xff0c;越来越多的企业级应用开始采用这种方式来开发。前后端分离不仅提升了开发效率&#xff0c;还让前端和后端开发可以并行进行&#xff0c;减少了相互之间的耦合度。SoybeanAdmin 是一款基于 Spring Boot 和 MyBatis-Plus 的后台管理系…...

【Uniapp-Vue3】request各种不同类型的参数详解

一、参数携带 我们调用该接口的时候需要传入type参数。 第一种 路径名称?参数名1参数值1&参数名2参数值2 第二种 uni.request({ url:"请求路径", data:{ 参数名:参数值 } }) 二、请求方式 常用的有get&#xff0c;post和put 三种&#xff0c;默认是get请求。…...

【安当产品应用案例100集】034-安当KSP支持密评中存储数据的机密性和完整性

安当KSP是一套获得国密证书的专业的密钥管理系统。KSP的系统功能扩展图示如下&#xff1a; 我们知道商用密码应用安全性评估中&#xff0c;需要确保存储的数据不被篡改、删除或者破坏&#xff0c;必须采用合适的安全方案来确保存储数据的机密性和完整性。KSP能否满足这个需求呢…...

如何实现网页不用刷新也能更新

要实现用户在网页上不用刷新也能到下一题&#xff0c;可以使用 前端和后端交互的技术&#xff0c;比如 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;、Fetch API 或 WebSocket 来实现局部页面更新。以下是一个实现思路&#xff1a; 1. 使用前端 AJAX 或 Fetch…...

【真机调试】前端开发:移动端特殊手机型号有问题,如何在电脑上进行调试?

目录 前言一、怎么设置成开发者模式&#xff1f;二、真机调试基本步骤&#xff1f; &#x1f680;写在最后 前言 edge浏览器 edge://inspect/#devices 谷歌浏览器&#xff08;开tizi&#xff09; chrome://inspect 一、怎么设置成开发者模式&#xff1f; Android 设备 打开设…...

ASP.NET Core 6.0 如何处理丢失的 Startup.cs 文件

介绍 .NET 6.0 已经发布&#xff0c;ASP.NET Core 6.0 也已发布。其中有不少变化让很多人感到困惑。例如&#xff0c;“谁动了我的奶酪”&#xff0c;它在哪里Startup.cs&#xff1f;在这篇文章中&#xff0c;我将深入研究这个问题&#xff0c;看看它移动到了哪里以及其他变化。…...

利用Java爬虫获取eBay商品详情:代码示例与教程

在当今的电商时代&#xff0c;获取商品详情数据对于市场分析、价格监控和竞品研究至关重要。eBay作为全球最大的电商平台之一&#xff0c;拥有海量的商品信息。通过Java爬虫技术&#xff0c;我们可以高效地获取这些数据&#xff0c;为商业决策提供支持。本文将详细介绍如何使用…...

graylog~认识一下-日志管理平台

1、介绍 Graylog 是一个开源的日志管理和分析平台&#xff0c;旨在帮助企业集中收集、存储、搜索和分析来自各种来源的日志数据。它提供了强大的实时日志处理能力&#xff0c;适用于大规模分布式系统和复杂的生产环境。 主要功能 集中化日志管理&#xff1a; 收集来自不同来源…...

Vue 拦截监听原理

Vue 渐进式JavaScript 框架 学习笔记 - Vue 拦截监听原理 目录 拦截监听原理 如何跟踪变化 拦截监听示例 观察者 注意:vue3的变化 总结 拦截监听原理 如何跟踪变化 当你把一个普通的Javascript 对象传入 Vue 实例作为data选项&#xff0c;Vue 将遍历此对象所有的proper…...

C# 解析 HTML 实战指南

在网页开发和数据处理的场景中&#xff0c;经常需要从 HTML 文档里提取有用的信息。C# 作为一门强大的编程语言&#xff0c;提供了丰富的工具和库来实现 HTML 的解析。这篇博客就带你深入了解如何使用 C# 高效地解析 HTML。 一、为什么要在 C# 中解析 HTML 在实际项目中&…...