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

东田数码科技前端面经

东田数码科技有限公司前端面经

一个月三次面试,也是逐渐积攒了许多经验,也有遇到面试官问到的重复的问题,也有一些我不懂的问题,以下是4.27东田前端面经,希望给大家做参考。

1-自我介绍

我是ac鸽,就读与XXX,巴拉巴拉。建议说一下自己熟悉的技术栈,还有对前端有浓厚的兴趣,让面试官有问题可问。

2-笔试

一来就让我先填一些基本信息,然后就先让我填一下笔试内容。内容如下,波珠还是有准备的,也是完成了80%多。

3-less/css实现水平垂直居中的div(两张方法以上)

这里波珠在上一次面试的时候已经被问过一次了,所以这道题也是毫无例外的拿下了。

/* 方法1:Flex布局 */
.container {display: flex;justify-content: center;align-items: center;height: 100vh;
}/* 方法2:Grid布局 */
.container {display: grid;place-items: center;height: 100vh;
}/* 方法3:绝对定位 + Transform */
.container {position: relative;height: 100vh;
}
.inner-box {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);
}/* 方法4:绝对定位 + margin auto */
.container {position: relative;height: 100vh;
}
.inner-box {position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;width: fit-content;height: fit-content;
}

4. 移动端适配方案

这个波珠在面试的路上刚好刷到了,恰巧就拿下了嘻嘻。

  1. rem方案(推荐):

    • 通过JS动态设置document.documentElement.style.fontSize
    • 结合postcss-pxtorem自动转换px为rem
    • 基准值通常设置为设计稿宽度/10(如375px设计稿 → 37.5px)
  2. viewport方案(vw/vh):

    /* 设计稿750px时,1vw = 7.5px */
    .element {width: (100vw / 7.5); /* 100px → 13.333vw */
    }
    
    • 使用postcss-px-to-viewport插件自动转换
  3. 媒体查询

    @media screen and (max-width: 375px) {.element { font-size: 14px; }
    }
    
  4. Flexible方案(阿里方案):

    • 通过JS检测dpr动态调整viewport和font-size
    • 已逐步被vw方案取代
  5. 响应式图片

    <img src="small.jpg" srcset="medium.jpg 768w, large.jpg 1024w">
    

5. Vue中v-if和v-show的区别

优化后答案:

v-ifv-show
编译方式动态添加/移除DOM始终保留DOM,切换display属性
性能开销较高的切换开销较高的初始渲染开销
适用场景运行时条件很少改变需要频繁切换显示状态
生命周期触发创建/销毁生命周期不触发生命周期

使用建议

  • 需要权限控制/数据加载时用v-if
  • 选项卡切换等高频操作用v-show

6. PC端与移动端事件对应关系

这个波珠没有准备,被宰了一道呜呜呜。只会个click,pc端还有对应的键盘事件。

PC端事件移动端事件特殊处理
clicktouchstart/touchend移动端有300ms延迟,可用fastclick库解决
mouseovertouchmove需要阻止默认行为:e.preventDefault()
mousedowntouchstart注意多点触控:通过e.touches数组获取触点
mouseuptouchend注意触点离开时的坐标判断
mousemovetouchmove需要处理坐标计算:e.changedTouches[0].clientX
dblclick无直接对应可通过自定义手势识别实现

7. 防抖与节流

// 防抖:最后一次操作后执行
function debounce(fn, delay) {let timer = null;return function(...args) {clearTimeout(timer);timer = setTimeout(() => fn.apply(this, args), delay);};
}// 节流:固定时间间隔执行
function throttle(fn, interval) {let lastTime = 0;return function(...args) {const now = Date.now();if (now - lastTime >= interval) {fn.apply(this, args);lastTime = now;}};
}

应用场景

  • 防抖:搜索框输入、窗口resize结束判断
  • 节流:滚动加载、鼠标移动事件、游戏角色移动
  • 回答计时器定时器差不多就OK了,但是也要会手写

8.前端三化深度解析(模块化/组件化/工程化)

一、模块化 (Modularization)

1.1 演进历程

// IIFE阶段(2015年前)
(function(window) {function fn1() {...}window.moduleA = { fn1 };
})(window);// CommonJS阶段(Node.js)
const moduleB = require('./moduleB');
module.exports = { ... };// ES Modules阶段(现代标准)
import moduleC from './moduleC.js';
export const func = () => {...};

1.2 核心价值

  • 依赖管理:通过import/require明确定义依赖关系

  • 作用域隔离:每个模块拥有独立词法作用域

  • 按需加载:动态加载模块(Dynamic Import)

    import('./module.js').then(module => {...});
    

1.3 进阶实践

  • Tree Shaking:通过静态分析消除死代码

  • 循环引用:使用import() + await解决

  • 模块联邦(Webpack 5):实现跨应用共享模块

    // 模块提供方
    new ModuleFederationPlugin({name: 'app1',exposes: { './Button': './src/Button' }
    })
    

二、组件化 (Componentization)

2.1 设计原则

原则实现示例
单一职责按钮组件只处理点击交互
受控/非受控<Input value={value} onChange={...}/>
组合优于继承使用<Slot>children进行组合

2.2 高级模式

// 高阶组件(HOC)
const withLogger = WrappedComponent => {return props => {useEffect(() => {console.log('Component mounted');}, []);return <WrappedComponent {...props} />;};
};// 渲染属性模式
<DataProvider render={data => (<Component data={data} />
)}/>

2.3 跨框架方案

<!-- Web Components -->
<template id="my-component"><style>...</style><div class="container"><slot name="content"></slot></div>
</template><script>customElements.define('my-component', class extends HTMLElement {constructor() {super();const template = document.getElementById('my-component');const shadowRoot = this.attachShadow({mode: 'open'});shadowRoot.appendChild(template.content.cloneNode(true));}});
</script>

三、工程化 (Engineering)

3.1 完整工具链

代码管理
Git
Git Hooks
Monorepo
开发环境
Vite/Webpack
HMR热更新
质量保障
Jest单元测试
Cypress E2E测试
ESLint/Prettier
构建部署
Docker
CI/CD流水线
性能监控

3.2 关键实践

  • 自动化构建

    # 现代构建流程示例
    npm run lint # 代码检查
    npm run test:unit # 单元测试
    npm run build # 生产构建
    npm run deploy # 自动部署
    
  • 微前端架构

    // 乾坤框架配置
    registerMicroApps([{name: 'app1',entry: '//localhost:7100',container: '#container',activeRule: '/app1',}
    ]);
    
  • 性能优化

    // 代码分割示例(React)
    const OtherComponent = React.lazy(() => import('./OtherComponent'));function MyComponent() {return (<Suspense fallback={<div>Loading...</div>}><OtherComponent /></Suspense>);
    }
    

四、三化协同关系

4.1 开发流程映射

模块化 组件化 工程化 提供可复用的功能单元 构建可视化界面系统 通过工具链管理模块依赖 实现自动化组件测试/发布 模块化 组件化 工程化

4.2 项目演进示例

  1. 初创阶段:使用create-react-app快速搭建基础工程
  2. 成长阶段
    • 拆分业务模块为独立npm包
    • 建立UI组件库
  3. 成熟阶段
    • 实现微前端架构
    • 搭建私有镜像仓库
    • 实施灰度发布策略

五、面试延伸问题准备

5.1 常见追问

  1. “如何设计一个可维护的React组件?”

    • 参考答案要素:
      • PropTypes/TS类型定义
      • 清晰的目录结构(index.js + style.module.css)
      • 单元测试覆盖率要求
  2. “Webpack和Vite的核心差异是什么?”

    • 关键点对比:
      WebpackVite
      构建机制Bundle-basedESM-based
      冷启动时间较慢(全量打包)极快(按需编译)
      适用场景复杂项目现代浏览器项目
  3. “如何实现跨团队组件共享?”

    • 解决方案:
      • 搭建私有npm仓库(Verdaccio)
      • 使用Storybook建设组件文档站
      • 制定版本管理规范(Semver)

5.2 项目经验包装建议

  • 模块化案例
    “在XX项目中,我将用户认证模块解耦为独立SDK,使多个子项目复用率提升70%”

  • 组件化案例
    “主导开发可视化图表组件库,通过参数化配置支持10+业务场景,减少重复代码量约3万行”

  • 工程化案例
    “引入GitLab CI流水线后,构建部署时间从15分钟缩短至2分钟,并实现自动化回归测试”

前端三化「说人话」总结:


1. 模块化 → 代码分块,像拼乐高

  • 干啥用? 把代码拆成一个个独立小文件,避免所有代码堆一起
  • 举个栗子🌰
    • 用户登录功能 → 单独写个login.js
    • 支付功能 → 单独写个pay.js
  • 好处:改一个功能不会影响其他,还能重复使用

2. 组件化 → 造可复用的零件

  • 干啥用? 把界面拆成可复用的零件(按钮/表格/弹窗)
  • 现实类比:就像手机零件,换个摄像头不影响屏幕
  • 开发日常
    <!-- 直接复用别人写好的组件 -->
    <SearchBar @search="handleSearch"/>
    <DatePicker v-model="date"/>
    
  • 好处:不用重复造轮子,团队协作更高效

3. 工程化 → 搞自动化生产线

  • 核心目标:让开发→测试→上线像流水线一样自动运行
  • 标配工具
    • 代码质检员:ESLint(检查代码格式错误)
    • 自动打包机:Webpack(把代码压缩打包)
    • 自动测试机:Jest(自动跑测试用例)
    • 一键部署:CI/CD(代码提交后自动发布)
  • 好处:减少人工操作,避免低级错误

三化关系一句话总结:

  • 模块化:把代码写成独立积木块
  • 组件化:把积木块拼成标准零件
  • 工程化:建个自动化工厂批量生产

面试加分金句:

“我们项目用模块化解耦业务逻辑,通过组件库统一UI规范,最后用工程化工具实现从代码提交到自动部署的全流程——就像先造零件、再组装汽车、最后建自动化工厂”


通俗版理解检测✅
下次被问到时,试着用「拼乐高→造零件→建工厂」的比喻串起来讲,面试官听完绝对眼前一亮! ✨

面试

面试的时候面试官没问什么问题,他看了我简历发现我用的技术栈跟他们公司的业务比较契合,也是使用动画跟3D结合,问了我的项目都是一个人开发吗?是都上线了是吗?我说都是的,上面都有部署链接。

后面面试官问我要什么问题想问的,我就问了一些常见的问题。

1-公司的具体业务是?

2-有加班吗?加班有调休还是有加班费?

3-一周上几天班?

4-在贵公司能学到什么东西?

5-进了公司,是使用公司的电脑还是自带笔记本?(因为涉及到公司的保密,一般都是公司的电脑)

6-薪资大概能开到什么水平?由于波珠只是的憋佬仔实习生,也不敢要太多哈哈,反正希望越多越好。

祝大家都能拿到满意的offer!!

相关文章:

东田数码科技前端面经

东田数码科技有限公司前端面经 一个月三次面试&#xff0c;也是逐渐积攒了许多经验&#xff0c;也有遇到面试官问到的重复的问题&#xff0c;也有一些我不懂的问题&#xff0c;以下是4.27东田前端面经&#xff0c;希望给大家做参考。 1-自我介绍 我是ac鸽&#xff0c;就读与…...

【音视频】SDL窗口显示

SDL视频显示函数简介 SDL_Init()&#xff1a; 初始化SDL系统SDL_CreateWindow()&#xff1a;创建窗口SDL_WindowSDL_CreateRenderer()&#xff1a;创建渲染器SDL_RendererSDL_CreateTexture()&#xff1a;创建纹理SDL_TextureSDL_UpdateTexture()&#xff1a; 设置纹理的数据S…...

小球在摆线上下落的物理过程MATLAB代码

‌物理建模‌&#xff1a; 使用摆线参数方程定义轨迹&#xff1a;x r(θ - sinθ), y r(1 - cosθ)通过微分方程求解角度θ随时间变化关系&#xff0c;考虑能量守恒定律计算实时速度分量和切向加速度 ‌可视化特性‌&#xff1a; 灰色虚线显示完整摆线轨迹红色小球实时显示当…...

【设计模式】享元模式

享元模式属于结构型设计模式 核心思想是通过共享技术&#xff0c;实现相似对象的高效复用。用 1%的资源支撑100%的需求——通过对象状态的分离与共享&#xff0c;用最小内存支持海量对象 内部状态&#xff1a;对象中不变的部分共享 外部状态&#xff1a;对象中变化的部分非共享…...

R中实现数值求导的包numDeriv

介绍 numDeriv 是一个用于数值求导的 R 包&#xff0c;它提供了计算函数导数的简单方法&#xff0c;支持一阶导数和高阶导数的计算。 计算一阶导数 grad(func, x, method"Richardson", sideNULL, eps1e-4, method.argslist(), ...) 参数&#xff1a; func&#x…...

常用的多传感器数据融合方法

1. 概述 根据具体需求&#xff08;实时性、计算资源、噪声特性&#xff09;选择合适的方法&#xff0c;实际应用中常结合多种方法&#xff08;如UKF与神经网络结合&#xff09;。 传统方法 &#xff08;KF/EKF/UKF/PF&#xff09;依赖数学模型&#xff0c;适合动态系统&#…...

[Lc_week] 447 | 155 | Q1 | hash | pair {}调用

447_Q1 题解 class Solution {typedef pair<int,int> PII;// 自定义哈希函数struct HashPII {size_t operator()(const PII& p) const {return hash<int>()(p.first) ^ (hash<int>()(p.second) << 1);}};public:int countCoveredBuildings(int n,…...

HTML5 新特性详解:语义化标签、表单与音视频嵌入

前言 HTML5作为当前Web开发的核心技术&#xff0c;为开发者提供了更强大、更语义化的工具集。本文将深入探讨HTML5的三大核心特性&#xff1a;语义化标签、增强的表单功能以及原生的音视频支持&#xff0c;帮助开发者构建更现代化、更易维护的网页应用。 一、HTML5语义化标签…...

关于 React Fiber 架构、Hooks 原理

下面将详细介绍你提到的关于 React Fiber 架构、Hooks 原理等相关知识点&#xff1a; React Fiber 架构概述 1. 架构演变 在 React 16 版本之前&#xff0c;采用的是栈调和&#xff08;Stack Reconciler&#xff09;&#xff0c;流程是 JSX 经过 render 函数转换为虚拟 DOM&…...

音视频之H.265/HEVC熵编码

H.265/HEVC系列文章&#xff1a; 1、音视频之H.265/HEVC编码框架及编码视频格式 2、音视频之H.265码流分析及解析 3、音视频之H.265/HEVC预测编码 4、音视频之H.265/HEVC变换编码 5、音视频之H.265/HEVC量化 6、音视频之H.265/HEVC环路后处理 7、音视频之H.265/HEVC熵编…...

【视频生成模型】通义万相Wan2.1模型本地部署和LoRA微调

目录 1 简介2 本地部署2.1 配置环境2.2 下载模型 3 文生视频3.1 运行命令3.2 生成结果 4 图生视频4.1 运行命令4.2 生成结果 5 首尾帧生成视频5.1 运行命令5.2 生成结果 6 提示词扩展7 LoRA微调 1 简介 2 本地部署 2.1 配置环境 将Wan2.1工程克隆到本地&#xff1a; git cl…...

Java高频面试之并发编程-09

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;详细说说ThreadLocal ThreadLocal 是 Java 中用于实现线程本地变量的工具类&#xff0c;主要解决多线程环境下共享变量的…...

[Vulfocus解题系列]Apache HugeGraph JWT Token硬编码导致权限绕过(CVE-2024-43441)

[Vulfocus解题系列]Apache HugeGraph JWT Token硬编码导致权限绕过&#xff08;CVE-2024-43441&#xff09; Apache HugeGraph 是一款快速、高度可扩展的图数据库。它提供了完整的图数据库功能&#xff0c;具有出色的性能和企业级的可靠性。 Apache HugeGraph 存在一个 JWT t…...

MySQL最新安装、连接、卸载教程(Windows下)

文章目录 MySQL最新安装、连接、卸载教程&#xff08;Windows下&#xff09;1.MySQL安装2.MySQL连接2.1 命令行连接2.2 图形化连接&#xff08;推荐&#xff09; 3.MySQL卸载参考 MySQL最新安装、连接、卸载教程&#xff08;Windows下&#xff09; 1.MySQL安装 MySQL 一共可以…...

Scala 函数柯里化及闭包

一、柯里化 1.1 定义 柯里化是将一个接受多个参数的函数转换为一系列接受单个参数的函数的过程。每个函数返回一个新函数&#xff0c;直到所有参数都被收集完毕&#xff0c;最终返回结果。 1.2 示例 非柯里化函数&#xff08;普通多参数函数&#xff09; def add(a: Int, b…...

EasyRTC嵌入式音视频通信SDK助力视频客服,开启智能服务新时代

一、背景 在数字化服务浪潮下&#xff0c;客户对服务体验的要求日益提升&#xff0c;传统语音及文字客服在复杂业务沟通、可视化指导等场景下渐显不足。视频客服虽成为企业服务升级的关键方向&#xff0c;但普遍面临音视频延迟高、画质模糊、多端适配难、功能扩展性差等问题&a…...

OceanBase数据库-学习笔记1-概论

多租户概念 集群和分布式 随着互联网、物联网和大数据技术的发展&#xff0c;数据量呈指数级增长&#xff0c;单机数据库难以存储和处理如此庞大的数据。现代应用通常需要支持大量用户同时访问&#xff0c;单机数据库在高并发场景下容易成为性能瓶颈。单点故障是单机数据库的…...

Android 理清 Gradle、AGP、Groovy 和构建文件之间的关系

在 Android 开发中&#xff0c;我们常常会接触到一系列看似相近却各有分工的名词&#xff0c;比如&#xff1a;Gradle、Groovy、AGP、gradle-wrapper.properties、build.gradle、settings.gradle 等等。 它们彼此之间到底是什么关系&#xff1f;各自又承担了什么角色&#xff1…...

ubuntu 安装ollama后,如何让外网访问?

官网下载linux版本&#xff1a;https://ollama.com/download/linux 1、一键安装和运行 curl -fsSL https://ollama.com/install.sh | sh 2、下载和启动deepseek-r1大模型 ollama run deepseek-r1 这种方式的ollama是systemd形式的服务&#xff0c;会随即启动。默认开启了 …...

安卓的Launcher 在哪个环节进行启动

安卓Launcher在系统启动过程中的关键环节启动&#xff0c;具体如下&#xff1a; 内核启动&#xff1a;安卓设备开机后&#xff0c;首先由引导加载程序启动Linux内核。内核负责初始化硬件设备、建立内存管理机制、启动系统进程等基础工作&#xff0c;为整个系统的运行提供底层支…...

【银河麒麟高级服务器操作系统】在VMware虚拟机情况下出现软锁处理过程

系统环境及配置 系统环境 物理机/虚拟机/云/容器 VMware虚拟机&#xff0c;宿主机型号是YK SR750 网络环境 外网/私有网络/无网络 私有网络 硬件环境 机型 VMware Virtual Platform 处理器 Intel(R) Xeon(R) Gold 6348 CPU 2.60GHz 内存 64GB 整机类型/架构 x86…...

Ubuntu 22.04.4操作系统初始化详细配置

上一章节&#xff0c;主要讲解了Ubuntu 22.04.4操作系统的安装&#xff0c;但是在实际生产环境中&#xff0c;需要对Ubuntu操作系统初始化&#xff0c;从而提高系统的性能和稳定性。 一、查看Ubuntu系统版本和内核版本 # 查看系统版本 testubuntu:~$ sudo lsb_release -a Rel…...

[ACTF2020 新生赛]Upload

先写一个万能的一句话木马 使用一句话木马 发现这个是有内容过滤的 过滤了 <? 发现这个过滤的很死那就只能使用 不带 ? 的短标签了 使用script 标签 这个的使用只限于对方的php是5版本的 正好是低版本的 所以直接上传 改一下后缀为 phtml 成功上传 但是我们没有…...

Harbor2.0仓库镜像清理策略

背景 在持续集成和持续部署的流程中&#xff0c;频繁的构建和部署会生成大量的镜像版本。这些历史镜像如果不及时清理&#xff0c;会占用大量的存储空间&#xff0c;导致 Harbor 仓库膨胀&#xff0c;影响系统性能。 目前 公司的Harbor存储已经占用1T&#xff0c;好多的repo的…...

从零开始了解数据采集(二十一)——电子制造行业趋势分析案例

这次分享一个偏行业性的趋势分析案例&#xff0c;在项目中为企业实实在在的提高了良品率。不懂什么是趋势分析的同学&#xff0c;可以翻看前面的文章。 在广东某电子制造厂中&#xff0c;管理层发现最近几个月生产良品率有所波动&#xff0c;但无法明确波动原因&#xff0c;也…...

从零开始开发一个简易的五子棋游戏:使用 HTML、CSS 和 JavaScript 实现双人对战

介绍 五子棋&#xff0c;作为一种经典的棋类游戏&#xff0c;不仅考验玩家的策略与判断力&#xff0c;还能在繁忙的生活中带来一丝轻松。今天&#xff0c;我们将用 HTML、CSS 和 JavaScript 来开发一个简易的五子棋游戏&#xff0c;玩家可以在浏览器中与朋友展开一场刺激的对决…...

用Node.js施展文档比对魔法:轻松实现Word文档差异比较小工具,实现Word差异高亮标注(附完整实战代码)

引言&#xff1a;当「找不同」遇上程序员的智慧 你是否经历过这样的场景&#xff1f; 法务同事发来合同第8版修改版&#xff0c;却说不清改了哪里 导师在论文修改稿里标注了十几处调整&#xff0c;需要逐一核对 团队协作文档频繁更新&#xff0c;版本差异让人眼花缭乱 传统…...

计算机基本理论与 ARM 相关概念深度解析

一、计算机基本理论 1. 计算机的组成 计算机硬件系统由五大部件构成&#xff1a; 运算器&#xff1a;负责算术运算&#xff08;如加减乘除&#xff09;与逻辑运算&#xff08;如与、或、非&#xff09;&#xff0c;是数据处理的核心单元。控制器&#xff1a;从存储器中逐条提…...

adb常用的20个命令

ADB&#xff08;Android Debug Bridge&#xff09;是Android开发工具中的一个命令行工具&#xff0c;常用于与Android设备进行交互、调试和测试。以下是ADB常用的20个命令&#xff1a; ‌adb devices‌&#xff1a;列出所有已连接的设备及其状态。‌adb connect <device_ip…...

C++如何使用调试器(如GDB、LLDB)进行程序调试保姆级教程(2万字长文)

C作为一门高性能、接近底层的编程语言&#xff0c;其复杂性和灵活性为开发者提供了强大的能力&#xff0c;同时也带来了更高的调试难度。与一些高级语言不同&#xff0c;C程序往往直接操作内存&#xff0c;涉及指针、引用、多线程等特性&#xff0c;这些都可能成为错误的温床。…...

【计算机哲学故事1-2】输入输出(I/O):你吸收什么,便成为什么

“我最近&#xff0c;是不是废了……”她瘫在沙发上&#xff0c;手机扣在胸口&#xff0c;盯着天花板自言自语。 我坐在一旁&#xff0c;随手翻着桌上的杂志&#xff0c;没接话&#xff0c;等着她把情绪发泄完。 果然&#xff0c;几秒后&#xff0c;她重重地叹了口气&#xf…...

驱动开发硬核特训 · Day 22(上篇): 电源管理体系完整梳理:I2C、Regulator、PMIC与Power-Domain框架

&#x1f4d8; 一、电源子系统总览 在现代Linux内核中&#xff0c;电源管理不仅是系统稳定性的保障&#xff0c;也是实现高效能与低功耗运行的核心机制。 系统中涉及电源管理的关键子系统包括&#xff1a; I2C子系统&#xff1a;硬件通信基础Regulator子系统&#xff1a;电源…...

Linux一个系统程序——进度条

一、回车与换行 \n :回车加换行 \r:换行 观察我们发现以上的两个代码除了缺少/n没有任何区别&#xff0c;但是运行代码之后我们会发现有何大的不同&#xff0c;图一会先在屏幕上打印helloworld在进行休眠2&#xff0c;但是图二会先休眠2在打印helloworld&#xff0c;原因是pr…...

从零到精通:深入剖析GoFrame的gcache模块及其在项目中的实战应用

一、引言 在后端开发的世界里&#xff0c;Go语言凭借其简洁的语法、高效的并发模型和强大的标准库&#xff0c;已成为许多开发者的首选。从Web服务到分布式系统&#xff0c;Go的身影无处不在&#xff0c;而其生态也在不断壮大。作为Go生态中的一颗新星&#xff0c;GoFrame&…...

【Linux系统】静态库与动态库

库制作与原理 1. 什么是库 库是写好的现有的&#xff0c;成熟的&#xff0c;可以复用的代码。现实中每个程序都要依赖很多基础的底层库&#xff0c;不可能每个人的代码都从零开始&#xff0c;因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式&#xff…...

从零实现分布式WebSocket组件:设计模式深度实践指南

一、为什么需要WebSocket组件&#xff1f; 实时通信需求 传统HTTP轮询效率低&#xff0c;WebSocket提供全双工通信适用于即时聊天、实时数据监控、协同编辑等场景 分布式系统挑战 多节点部署时需解决会话同步问题跨节点消息广播需借助中间件&#xff08;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

接着上篇&#xff1a;https://blog.csdn.net/sinat_15906013/article/details/147052013&#xff0c;我们介绍了&#xff0c;什么是MCP&#xff1f;使用cline插件/cherry-studio安装了Mcp Server&#xff0c;本篇我们要借助spring-ai实现MCP Client和Server。 使用spring-ai的…...

LeetCode12_整数转罗马数字

LeetCode12_整数转罗马数字 标签&#xff1a;#哈希表 #数字 #字符串Ⅰ. 题目Ⅱ. 示例 0. 个人方法&#xff1a;模拟官方题解二&#xff1a;硬编码数字 标签&#xff1a;#哈希表 #数字 #字符串 Ⅰ. 题目 七个不同的符号代表罗马数字&#xff0c;其值如下&#xff1a; 符号值I…...

展销编辑器操作难度及优势分析​

也许有人会担心&#xff0c;如此强大的展销编辑器&#xff0c;操作起来是否会很复杂?答案是否定的。展销编辑器秉持着 “简单易用” 的设计理念&#xff0c;致力于让每一位用户都能轻松上手&#xff0c;即使是没有任何技术背景的小白&#xff0c;也能在短时间内熟练掌握。​ 编…...

展销编辑器在未来的发展前景​

展销编辑器在展销行业的发展前景极为广阔&#xff0c;有望引领行业迈向更加智能化、个性化、沉浸式的新时代&#xff0c;对行业变革产生深远影响。​ 随着人工智能、虚拟现实、增强现实等技术的不断发展和融合&#xff0c;展销编辑器将实现更加智能化的功能。例如&#xff0c;借…...

央视两次采访报道爱藏评级,聚焦生肖钞市场升温,评级币成交易安全“定心丸”

CCTV央视财经频道《经济信息联播》《第一时间》两档节目分别对生肖贺岁钞进行了5分钟20秒的专题报道。长期以来&#xff0c;我国一直保持着发行生肖纪念钞和纪念币的传统&#xff0c;生肖纪念钞和纪念币在收藏市场保持着较高的热度。特别是2024年初&#xff0c;央行发行了首张贺…...

登高架设作业指的是什么?有什么安全操作规程?

登高架设作业是指在高处从事脚手架、跨越架架设或拆除的作业。具体包括以下方面&#xff1a; 脚手架作业 搭建各类脚手架&#xff0c;如落地式脚手架、悬挑式脚手架、附着式升降脚手架等&#xff0c;为建筑施工、设备安装、高处维修等作业提供安全稳定的工作平台。对脚手架进行…...

Kaamel白皮书:IoT设备安全隐私评估实践

1. IoT安全与隐私领域的现状与挑战 随着物联网技术的快速发展&#xff0c;IoT设备在全球范围内呈现爆发式增长。然而&#xff0c;IoT设备带来便捷的同时&#xff0c;也引发了严峻的安全与隐私问题。根据NSF&#xff08;美国国家科学基金会&#xff09;的研究表明&#xff0c;I…...

uniapp跨平台开发---动态控制底部切换显示

业务需求 不同用户或者应用场景,底部tab展示不同的内容,针对活动用户额外增加底部tab选项 活动用户 非活动用户 实现思路 首先在tabbar list中增加中间活动tab的路径代码,设置visible:false,然后再根据条件信息控制活动tab是否展示 pages.json {"pagePath": "…...

django admin 去掉新增 删除

在Django Admin中&#xff0c;你可以通过自定义Admin类来自定义哪些按钮显示&#xff0c;哪些不显示。如果你想隐藏“新增”和“删除”按钮&#xff0c;可以通过重写change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission属性来实现。 方法1&…...

final static 中是什么final static联合使用呢

final static 联合使用详解 final 和 static 在 Java 中经常一起使用&#xff0c;主要用来定义类级别的常量。这种组合具有两者的特性&#xff1a; 基本用法 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电脑使用 如果你的电脑作为打包机&#xff0c;一定要锁定自己的ip,如果ip动态获取&#xff0c;可能后续会导致jenkins无法访问,还需要重新配置jenkins和http-server的端口 从jenkins官网下载windows版 Thank you for downloading Windows Stable installer 1.jenkins安…...

颠覆传统微商!开源AI智能名片链动2+1模式S2B2C商城小程序:重构社交电商的“降维打击”革命

摘要&#xff1a;传统微商模式长期依赖暴力刷屏、多层分销与价格战&#xff0c;导致用户信任崩塌、行业合规风险激增&#xff0c;近三年行业淘汰率高达67%。本文创新性提出“开源AI智能名片链动21模式S2B2C商城小程序”技术-商业融合架构&#xff0c;通过AI驱动的智能内容引擎、…...