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

项目图标组件处理

我们如何复用项目里的图标,如何维护和引用图标?
为了形成便于使用的图标库,做了如下调研:

  1. iconfont(webfont)
  2. unocss
  3. svgr
  4. iconPark
  5. unplugin-icons

我们希望达到的目的

  1. 开发自行维护,而不是由设计维护,第一是我们的设计稿经常变更,交给他们不放心,第二是这样我们使用图标会更复杂,有一些图标对于设计来说并不是“图标”,但是对于开发来说,我们需要上传到图标库去使用等等。
  2. 图标可以复用,可以变形和变色,保留动态效果。
  3. 组件库便于使用,不要占用太多的内存,如果可以按需下载更好。

其实综上所述,现在我们的图标有几种方案:1. 字体图标。2. 纯css图标(unocss)。3. svg图标(svgr,unplugin-icons)
最后经过综合考虑,我使用的是svgr的方案,多色图标用cdn链接,因为unocss要引入的额外东西太多。

iconfont

  1. ❌阿里的iconfont网站
    很不幸的是我们上传的svg变形了,设计不是按照iconfont规范画的svg,导致我们的svg图标上传上去一整个变形和无法识别。

  2. 使用webfont自己转格式
    转出来的图标也是缺斤少两,蚌埠住了,用不了。

——————

  1. 优势:
    使用方便。
  2. 缺点:
    字体图标文件下载比较慢,不能按需引入
    svg需要设计规范,否则转出来会变形

unocss

https://github.com/unocss/unocss
https://antfu.me/posts/icons-in-pure-css-zh
https://juejin.cn/post/7398378565182537754
https://juejin.cn/post/7394789388154241033

官方文档的自定义图标教程:
https://unocss.dev/presets/icons#filesystemiconloader
https://unocss.dev/integrations/next

UnoCss的方案是无二次处理的纯css方案,从0开始只需要配置放图标的文件夹路径,之后就不需要任何其他操作,只把图标放到指定路径就能用了。
优势在于:

  1. css使用方便
  2. 按需加载
  3. 转为base64,比svg更加轻量。

使用方式:

  1. https://github.com/unocss/unocss/blob/main/examples/next
  2. https://github.com/vercel/next.js/discussions/33254
  3. 类型:https://github.com/iconify/iconify/blob/main/packages/utils/src/loader/types.ts#L86

遇到问题

HMR的问题,很郁闷
https://thundermiracle.com/blog/en/2022-06-07-next-with-unocss/
https://github.com/unocss/unocss/issues/419
https://github.com/unocss/unocss/issues/2103
https://github.com/unocss/unocss/issues/3198

1. 新增uno.config.js

安装yarn add -D unocss@0.58.9 @iconify/utils ,导出自定义svg

  • 记得处理width / height为1em
  • 替换颜色为currentColor
// uno.config.js
import { defineConfig, presetUno, presetIcons } from 'unocss';
import { FileSystemIconLoader } from '@iconify/utils/lib/loader/node-loaders';export default defineConfig({presets: [presetUno(),presetIcons({collections: {custom: FileSystemIconLoader('./assets'),},}),],
});
2. 安装webpack插件
yarn add -D @unocss/webpack@0.58.9
yarn add -D @unocss/preset-uno@0.59.9

这个版本,因为我用的next,只能接受cjs模块导出的依赖。

3. webpack配置

中间各种自己尝试的test icon

const { defineConfig, presetUno, presetIcons, presetAttributify } = require('unocss');
const { FileSystemIconLoader } = require('@iconify/utils/lib/loader/node-loaders');
const path = require('path');module.exports = defineConfig({rules: [['b-pink', { background: 'pink' }]],presets: [presetAttributify(),presetUno(),presetIcons({collections: {custom: FileSystemIconLoader(path.resolve(__dirname, './assets'), (svg) => {console.log('--', svg);}),test: {'my': "<svg width=24 height=24 viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M5.03412 5.03412C5.36606 4.70217 5.90425 4.70217 6.2362 5.03412L18.9654 17.7633C19.2973 18.0952 19.2973 18.6334 18.9654 18.9654C18.6334 19.2973 18.0952 19.2973 17.7633 18.9654L5.03412 6.2362C4.70217 5.90425 4.70217 5.36606 5.03412 5.03412Z' fill='currentColor'/> <path d='M18.9659 5.03412C18.6339 4.70217 18.0957 4.70217 17.7638 5.03412L5.03464 17.7633C4.70269 18.0952 4.70269 18.6334 5.03464 18.9654C5.36658 19.2973 5.90477 19.2973 6.23672 18.9654L18.9659 6.2362C19.2978 5.90425 19.2978 5.36606 18.9659 5.03412Z' fill='currentColor' /></svg>",},carbon: () => import('@iconify-json/carbon/icons.json').then((i) => i.default),circle: {circle: '<svg viewBox="0 0 120 120"><circle cx="60" cy="60" r="50"></circle></svg>',},},customizations: {transform(svg, collection, icon) {if (collection === 'custom') {console.log('?????', svg, collection, icon);}return svg.replace(/#fff/, 'currentColor');},},}),],
});
4. postcss

作用是可以看@assets

module.exports = {plugins: {'@unocss/postcss': {configOrPath: './uno.config.js',content: ['./src/**/*.{js,ts,jsx,tsx,mdx}'],},},
};
5. 调整icon样式

比如大小为1em,颜色为currentColor
还有模式:纯色icon是mask,多色icon是background等
在这里插入图片描述

在这里插入图片描述

unplugin-icons

https://www.npmjs.com/package/unplugin-icons
一个unocss去除了各种多余css的亚子,就是可以直接只用icons组件了,对于按需的人来说应该很有用。

SVGR

https://github.com/svg/svgo#configuration
https://react-svgr.com/docs/next/
https://react-svgr.com/docs/options
https://svgo.dev/docs/plugins/addAttributesToSVGElement/

用了之后感觉还挺方便的,只是作为一个优化SVG的工具,而且直接转成reactComponent,比unocss方便。
他们的官网已经写的很详细了,直接用@svgr/webpack配置就好
对于next这样配置,而且需要注意fileLoaderRule这个和官网上的例子不一样,我们要把所有svgr的loader都处理了,所以用filter不是用find。
还有就是导出的组件用removeAttrs去掉宽高颜色,不然我们的自己配置无法生效。

    // https://react-svgr.com/docs/next/try {const fileLoaderRule = config.module.rules.filter((rule) => rule.test?.test?.('.svg'));if (fileLoaderRule.length) {config.module.rules.push({...fileLoaderRule[0],test: /\.svg$/i,resourceQuery: /url/, // *.svg?url},{test: /\.svg$/i,issuer: fileLoaderRule[0].issuer,resourceQuery: { not: [...(fileLoaderRule[0].resourceQuery?.not ?? []), /url/] }, // exclude if *.svg?urluse: [{loader: '@svgr/webpack',options: {svgoConfig: {plugins: [{name: 'preset-default',params: {overrides: {// 禁用会导致SSR问题的插件removeViewBox: false,},},},{ name: 'removeAttrs', params: { attrs: '(fill|stroke|width|height)' } },{name: 'addAttributesToSVGElement',params: {attributes: [{width: '1em',height: '1em',fill: 'currentColor',},],},},],},titleProp: true,ref: true,expandProps: 'end',namedExport: 'ReactComponent',},},],});fileLoaderRule.forEach((rule) => {rule.exclude = /\.svg$/i;});}} catch (e) {console.log('?????', e);}

iconPark

https://bytedance.larkoffice.com/wiki/wikcnJZV45hM71QgI60iwkzvXob
讲实话我觉得使用感比iconfont好多了,我上传svg不会变形。
但很令人难过的是,考虑到我们变动频繁性,以及生成链接需要经常替换的问题,舍弃了外部工具库的方案改为了自研。
如果是不怎么改,或者小项目用起来真的很舒服。
在这里插入图片描述

相关文章:

项目图标组件处理

我们如何复用项目里的图标&#xff0c;如何维护和引用图标&#xff1f; 为了形成便于使用的图标库&#xff0c;做了如下调研&#xff1a; iconfont&#xff08;webfont&#xff09;unocsssvgriconParkunplugin-icons 我们希望达到的目的 开发自行维护&#xff0c;而不是由设…...

el-tree结合checkbox实现数据回显

组件代码 <el-tree:data"vertiList"show-checkboxnode-key"id":props"defaultProps"ref"treeRefx"class"custom-tree"check-change"handleCheckChange"> </el-tree>获取选择的节点 handleCheckChan…...

虚拟机Ubuntu系统怎么扩展容量,扩展容量后进不去系统怎么办?

当我解压大文件时&#xff0c;突然报错&#xff0c;说我空间不足&#xff0c;我关闭虚拟机&#xff0c;删除了快照&#xff0c;在设置里点击扩展容量后&#xff0c;发现进不去系统了。 1.扩展容量 扩展容量需要关闭快照&#xff0c;请提前做好数据备份&#xff01; 2.进不去界…...

道通EVO MAX系列无人机-支持二次开发

道通EVO MAX系列无人机-支持二次开发 EVO Max 系列采用Autel Autonomy自主飞行技术&#xff0c;实现复杂环境下的全局路径规划、3D场景重建、自主绕障和返航&#xff1b;高精度视觉导航能力&#xff0c;使其在信号干扰强、信号遮挡、信号弱等复杂环境下&#xff0c;依然获得高精…...

解构认知边界:论万能方法的本体论批判与方法论重构——基于跨学科视阈的哲学-科学辩证

一、哲学维度的本体论批判 &#xff08;1&#xff09;理性主义的坍缩&#xff1a;从笛卡尔幻想到哥德尔陷阱 笛卡尔在《方法论》中构建的理性主义范式&#xff0c;企图通过"普遍怀疑-数学演绎"双重机制确立绝对方法体系。然而哥德尔不完备定理&#xff08;Gdel, 19…...

论文学习_Understanding the AI-powered Binary Code Similarity Detection

摘要&#xff1a;近年来&#xff0c;AI驱动的二进制代码相似性检测&#xff08;Binary Code Similarity Detection, 简称 BinSD&#xff09;已广泛应用于程序分析领域。该技术通过神经网络将复杂的二进制代码比较问题转化为代码嵌入向量之间的距离度量。然而&#xff0c;由于现…...

使用PHP对接日本股票市场数据

本文将介绍如何通过StockTV提供的API接口&#xff0c;使用PHP语言来获取并处理日本股票市场的数据。我们将以查询公司信息、查看涨跌排行榜和实时接收数据为例&#xff0c;展示具体的操作流程。 准备工作 首先&#xff0c;请确保您已经从StockTV获得了API密钥&#xff0c;并且…...

(vue)el-steps从别的页面跳转进来怎么实现和点击同样效果

(vue)el-steps从别的页面跳转进来怎么实现和点击同样效果 需求&#xff1a; 解决思路&#xff1a;监听路由&#xff0c;给active赋值对应下标 组件&#xff1a; <el-steps:active"active"finish-status"process"class"steps custom-steps":…...

什么是原码和补码

补码的本质确实是模运算&#xff08;Modular Arithmetic&#xff09;&#xff0c;这是理解补码为何能统一加减法的核心数学原理。下面用最通俗的语言和例子解释清楚&#xff1a; —### 1. 先理解什么是“模运算”- 模运算就是“周期性计数”&#xff0c;比如钟表&#xff1a; -…...

vscode 同一个工作区,不同文件夹之间跳转问题

你说的问题&#xff0c;其实和 VS Code 的「工作区」机制、c_cpp_properties.json、compile_commands.json 或 LSP 后端&#xff08;如 clangd&#xff09;的索引行为有关。 ⸻ &#x1f4cc; 你的现象总结&#xff1a; 操作方式 是否能跳转 说明 打开整个上层文件夹&#x…...

嵌入式学习--江协51单片机day5

江协每个模块的学习都是第一集讲原理&#xff0c;第二集将简单应用。如果比较着急的&#xff0c;可以不看第一集&#xff0c;只要明白怎么用就行。 今天学习DS1302时钟和蜂鸣器 DS1302 内部原理图&#xff0c;DS1302是有内部电源&#xff0c;电源的引脚名要注意 这两个原理图…...

记录算法笔记(2025.5.13)二叉树的最大深度

给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 示例 2&#xff1a; 输入&#xff1a;root [1,null,2] …...

关于github使用总结

文章目录 一、本地使用git&#xff08;一&#xff09;创建一个新的本地Git库首先在本地创建一个新的git仓库然后进行一次初始提交提交过后就可以查看提交记录 &#xff08;二&#xff09;在本地仓库进行版本恢复先执行 git log 查看项目提交历史使用 git checkout 恢复版本 二、…...

进程与线程:09 进程同步与信号量

课程引入&#xff1a;进程同步与信号量 接下来这节课开始&#xff0c;我们再开始讲多进程图像。讲多进程图像的下一个点&#xff0c;前面我们讲清楚了多进程图像要想实现切换&#xff0c;调度是如何做的。同时&#xff0c;多个进程放在内存中&#xff0c;就会存在多进程合作的…...

鸿蒙 Core File Kit(文件基础服务)之简单使用文件

查看常用的沙箱目录 应用沙箱文件访问关系图 应用文件目录结构图 Entry Component struct Index {build() {Button(查看常用的沙箱目录).onClick(_>{let ctx getContext() // UI下只能使用这个方法&#xff0c;不能 this.contextconsole.log(--应用缓存文件保存目录&#x…...

游戏引擎学习第277天:稀疏实体系统

回顾并为今天定下基调 上次我们结束的时候&#xff0c;基本上已经控制住了跳跃的部分&#xff0c;达到了我想要的效果&#xff0c;现在我们主要是在等待一些新的艺术资源。因此&#xff0c;等新艺术资源到位后&#xff0c;我们可能会重新处理跳跃的部分&#xff0c;因为现在的…...

基于Win在VSCode部署运行OpenVINO模型

一、准备工作 1、Python 下载Win平台的Python安装包&#xff0c;添加环境变量&#xff0c;测试&#xff1a; python --version 在VSCode里&#xff08; CtrlShiftP 打开命令面板&#xff09;&#xff0c;指定Python解释器为上面安装路径。写一个python脚本运行测试。 2、虚…...

关于maven的依赖下不下来的问题

相信大家对于maven下不下依赖会感到很烦&#xff0c;这里就来给大家进行解惑。 首先maven依赖报错基本是两种情况&#xff0c;一个是下载报错&#xff0c;这种情况就要考虑是否在maven的setting.xml文件中配了阿里云的相关配置没&#xff0c;其次就要检查是否真的存在这个依赖…...

按键精灵ios脚本新增元素功能助力辅助工具开发(一)

元素节点功能&#xff08;iOSElement&#xff09;​ 在按键精灵 iOS 新版 APP v2.2.0 中&#xff0c;新增了元素节点功能 iOSElement&#xff0c;该功能包含共 15 个函数。这一功能的出现&#xff0c;为开发者在处理 iOS 应用界面元素时提供了更为精准和高效的方式。通过这些函…...

【数据结构】——栈和队列OJ

一、有效的括号 题目链接&#xff1a; 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 题目的要求很简单&#xff0c;就是要求我们判断其输入的括号字符串是否是有效的括号&#xff0c;那么我们要如何判断呢&#xff1f; 我们可以这样&#xff0c;我们遍历出传入的…...

Windows部署LatentSync唇形同步(字节跳动北京交通大学联合开源)

#工作记录 一、前言 LatentSync&#xff1a;基于音频驱动的端到端唇形同步框架​ LatentSync是由ByteDance开源的一个先进唇形同步框架&#xff0c;旨在通过音频条件驱动的潜在扩散模型实现高精度的唇形同步。与传统基于像素空间扩散或两阶段生成的方法不同&#xff0c;Late…...

MySQL:关系模型的基本理论

系列文章目录 1.关系模型的基本概念 2.数据库的完整性 文章目录 系列文章目录前言一、关系模型的基本概念 1.基本术语&#xff1a; 2.关系的特征二、数据库的完整性 1.常见用例&#xff1a;2.三类完整性原则3.MySQL提供的约束 三、触发器 1.触发器的定义 2.…...

9.1 C#控制SW中零件的变色与闪烁

本文介绍:装配件中某零件隐藏与显示、零件的颜色修改。 探讨本话题的目的是为了实现如下目的:如果某个气缸报警,那么3D中该气缸红色并闪烁。 目前,当勾选部件1闪烁时,零件1-1将在显示与隐藏之间闪烁。 示例代码放到如下位置: C#与solidworks示例1-零部件的显示与隐藏资源…...

Spring Boot 跨域问题全解:原理、解决方案与最佳实践

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、跨域问题的本质 1.1 什么是跨域&#xff1f; 跨域&#xff08;Cross-Origin&#xff09;问题源于浏览器的同源策略&#xff08;Same-Origin Policy&…...

C++学习之路,从0到精通的征途:继承

目录 一.继承的概念及定义 1.继承的概念 2.继承的定义 (1)继承的定义格式 (2)继承基类成员访问方式的变化 二.基类与派生类间的转换 1.派生类对象赋值给基类的引用/指针 2. 派生类对象直接赋值给基类对象 三.继承的作用域 四.派生类的默认成员函数 1.构造函数 2.拷…...

从零开始掌握FreeRTOS(2)链表之节点的定义

目录 节点 节点定义 节点实现 根节点 根节点定义 精简节点定义 根节点实现 在上篇文章,我们完成了 FreeRTOS 的移植。在创建任务之前,我们需要先了解FreeRTOS的运转机制。 FreeRTOS是一个多任务系统,由操作系统来管理执行每个任务。这些任务全都挂载到一个双向循…...

C 语言_常见排序算法全解析

排序算法是计算机科学中的基础内容,本文将介绍 C 语言中几种常见的排序算法,包括实现代码、时间复杂度分析、适用场景和详细解析。 一、冒泡排序(Bubble Sort) 基本思想:重复遍历数组,比较相邻元素,将较大元素交换到右侧。 代码实现: void bubbleSort(int arr[], i…...

LamaIndex rag(增强检索)入门

LamaIndex RAG 搭建 lamaindex rag 的简单是例 from llama_index.embeddings.huggingface import HuggingFaceEmbedding from llama_index.core import Settings,SimpleDirectoryReader,VectorStoreIndex from llama_index.llms.huggingface import HuggingFaceLLM#初始化一个…...

七、深入 Hive DDL:管理表、分区与洞察元数据

作者&#xff1a;IvanCodes 日期&#xff1a;2025年5月13日 专栏&#xff1a;Hive教程 内容导航 一、表的 DDL 操作 (非创建)二、分区的 DDL 操作三、洞察元数据&#xff1a;SHOW 命令的威力结语&#xff1a;DDL 与 SHOW&#xff0c;Hive 管理的双翼练习题一、选择题二、代码题…...

SQLMesh信号机制详解:如何精准控制模型评估时机

SQLMesh的信号机制为数据工程师提供了更精细的模型评估控制能力。本文深入解析信号机制的工作原理&#xff0c;通过简单和高级示例展示如何自定义信号&#xff0c;并提供实用的使用技巧和测试方法&#xff0c;帮助读者优化数据管道的调度效率。 一、为什么需要信号机制&#xf…...

STM32 __main汇编分析

在STM32的启动流程中&#xff0c;__main是一个由编译器自动生成的C标准库函数&#xff0c;其汇编级调用逻辑可通过启动文件&#xff08;如startup_stm32fxxx.s&#xff09;观察到&#xff0c;但具体实现细节被封装在编译器的运行时库中。以下是其核心逻辑解析&#xff1a; 一、…...

Google Earth Engine(GEE) 代码详解:批量计算_年 NDVI 并导出(附 Landsat 8 数据处理全流程)

一、代码整体目标 基于 Landsat 8 卫星数据,批量计算 2013-2020 年研究区的 NDVI(归一化植被指数),实现去云处理、数据合成、可视化及批量导出为 GeoTIFF 格式,适用于植被动态监测、生态环境评估等场景。 二、代码分步解析(含核心原理与易错点) 1. 加载并显示研究区边…...

【漫话机器学习系列】257.填补缺失值(Imputing Missing Values)

数据科学必备技能&#xff1a;填补缺失值&#xff08;Imputing Missing Values&#xff09; 在数据分析和机器学习项目中&#xff0c;缺失值&#xff08;Missing Values&#xff09; 是非常常见的问题。缺失的数据如果处理不当&#xff0c;会严重影响模型的训练效果&#xff0…...

c 中的哈希表

哈希是一种可以接受各种类型、大小的输入&#xff0c;输出一个固定长度整数的过程。你可以将哈希理解成一种特殊的映射&#xff0c;哈希映射&#xff0c;将一个理论无限的集合A映射到有限整数集合B上。 哈希函数&#xff1a;哈希函数是哈希过程的核心&#xff0c;它决定了哈希映…...

AI空域调度系统的社会角色与伦理边界

当AI空域调度系统成为城市运行不可或缺的一部分&#xff0c;其角色已不再是单纯的技术工具&#xff0c;而逐步具备了社会属性。平台既作为智能基础设施的调度中枢&#xff0c;也承担起数据治理、行为规训和公共资源分配等功能。本章聚焦AI调度系统的“类政府性”角色崛起&#…...

pringboot3+vue3融合项目实战-大事件文章管理系统-文章分类列表

GetMappingpublic Result <List<Category>>list(){List<Category> list categoryService.list();return Result.success(list);}然后在categoryservice接口新增 List list(); 然后再categoryserviceimpl实现类里面加入 Overridepublic List<Category&g…...

关于cleanRL Q-learning

内置变量 内置变量是由编程语言解释器或运行时环境预定义的变量。它们通常用于提供程序的元信息&#xff08;如文件路径、模块名称&#xff09;或控制程序行为。在 Python 中&#xff0c;内置变量通常以双下划线开头和结尾&#xff0c;例如 __file__、__name__。 以下是一些常…...

Electron-Vue3、Electron-React、Electron-Angular打造舆情监控系统项目

Electron是一个跨平台的桌面应用开发框架&#xff0c;可以让我们用html css js的技术开发跨平台桌面上可以安装的软件。视频详解: Electron教程 ElectronVue跨平台桌面软件开发教程-2024年更新&#xff08;大地老师&#xff09; 从Electron环境搭建开始到手把手教你调试、Elect…...

STM32 修炼手册

第一章 计算机体系结构(了解) 后续在板子上开发的时候&#xff0c;需要考虑是否有操作系统 方式一&#xff1a;有操作系统&#xff0c;通过c库通过os api操作硬件方式二&#xff1a;无操作系统&#xff0c; 通过c库通过固件库操作硬件 第二章 STM32开发板概述 板子/开发板&…...

React vs Vue:点击外部事件处理的对比与实现

React vs Vue&#xff1a;点击外部事件处理的对比与实现 在 Web 应用中&#xff0c;“点击外部事件监听”是一种常见需求&#xff0c;典型应用如&#xff1a;点击弹窗外部关闭弹窗、点击下拉菜单外关闭菜单。虽然在 React 和 Vue 中实现的原理类似——都是通过监听 document 的…...

rk3576--- HDMI CEC唤醒

文章目录 一、CEC唤醒的相关概念二、CEC唤醒实现&#xff08;一&#xff09;内核配置&#xff08;二&#xff09;设备树dts&#xff08;三&#xff09;驱动注册中断&#xff08;四&#xff09;休眠后开启MCU&#xff08;五&#xff09;验证 一、CEC唤醒的相关概念 CEC 是一种在…...

榕壹云搭子系统技术解析:基于Spring Boot+MySQL+UniApp的同城社交平台开发实践

一、引言 本文将分享一款基于Spring Boot、MySQL和UniApp开发的同城社交平台的技术实现细节,重点探讨其架构设计、核心功能及开发过程中的技术考量。该项目旨在为开发者提供可扩展的社交平台解决方案,支持快速二次开发与独立部署。 二、技术选型与架构设计 1. 技术栈概览 …...

Node.js事件循环中的FIFO原则

1. Node.js事件循环中的FIFO原则 Node.js的事件循环确实遵循先进先出&#xff08;FIFO&#xff09;原则&#xff0c;但这个原则的适用范围需要明确。具体来说&#xff1a; FIFO原则的适用范围&#xff1a;FIFO原则主要适用于每个阶段内部的任务队列&#xff0c;而不是跨越不同…...

基于javaweb的SpringBoot爱游旅行平台设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...

服务器相关

虚拟机服务器搭建 virtualbox安装 下载地址&#xff1a;Downloads – Oracle VirtualBox centos镜像下载地址 centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 清华大学开源软件镜像站 | Tsinghua Open Source Mirror…...

Linux的文件查找与压缩

查找文件 find命令 # 命令&#xff1a;find 路径范围 选项1 选项1的值 \[选项2 选项2 的值…]# 作用&#xff1a;用于查找文档&#xff08;其选项有55 个之多&#xff09;# 选项&#xff1a;# -name&#xff1a;按照文档名称进行搜索&#xff08;支持模糊搜索&#xff0c;\* &…...

Q1财报持续向好,腾讯音乐如何在不确定中寻找确定性?

最近一段时间&#xff0c;各家上市公司的财报都备受关注&#xff0c;腾讯音乐娱乐集团作为文娱类的头部企业也是备受市场关注的&#xff0c;今日腾讯音乐第一季度财报已公布&#xff0c;业绩持续向好。在这个不确定性的大环境下&#xff0c;腾讯音乐是如何寻找自己的确定性的&a…...

window 显示驱动开发-报告图形内存(一)

计算图形内存 在 VidMm 能够向客户端报告准确的帐户之前&#xff0c;它必须首先计算图形内存的总量。 VidMm 使用以下内存类型和公式来计算图形内存&#xff1a; 系统总内存 此值是操作系统可访问的系统内存总量。 BIOS 分配的内存不会出现在此数字中。 例如&#xff0c;一台…...

DELL R770 服务器,更换RAID卡教程!

今天的任务&#xff0c;是帮客户的一台戴尔DELL PowerEdge R770 服务器&#xff0c;更换RAID卡&#xff08;也可以称之为PERC模块、阵列卡、RAID控制器等&#xff09;。 根据我的个传统习惯&#xff0c;依然是顺便做一个教程&#xff0c;分享给有需要的粉丝们。如果看完教程&am…...

【Java】网络编程(Socket)

网络编程 Socket 我们开发的网络应用程序位于应用层&#xff0c;TCP和UDP属于传输层协议&#xff0c;在应用层如何使用传输层的服务呢&#xff1f;在应用层和传输层之间&#xff0c;则使用套接字Socket来进行分离 套接字就像是传输层为应用层开的一个小口&#xff0c;应用程…...