盒子格式化上下文外部显示类型(display-outside)
1规定盒子如何与统一格式上下文中的其他元素一起显示
内部显示类型( display-inside )
123规定盒子内部布局方式,比如display: flex (外部显示为block ) 参与BFC(块级格式化上下文)display:inline-flex (外部显示为inline) 参与IFC(内联级格式化上下文)
BFC块级格式化上下文
FC(Formatting Context)(格式化上下文)
所有的盒子都属于FC
可能属于一个BFC(block)(div/p/h1)、也可能是IFC(inline)(a/span/i/img)
会生成BFC的情况
BFC的作用帮助盒子一个挨着一个沿着垂直方向排布
margin就是由BFC来解析的
两个盒子都设置margin时候会折叠,就是BFC在起作用
1在同一个BFC里,两个盒子的margin才会折叠
1HTML可以形成标准流,因为本身就是一个独立的BFC环境
1在BFC中,每个元素的左边缘是紧挨着包含块的 ...
吐槽最初技术栈为Vue+Electron+TS,太甜美的难了。。。配置报错问题一大堆,一路报错问AI一路改,长达三个小时把文件改的乱七八糟无法收尾忍痛放弃新开项目
**最后技术栈选择为 **Vue+Electron+Vite+JS ,包管理工具选择为 pnpm
完整代码见github仓库 ......(还没推,因为dist文件太大的原因没办法传,目前还在寻找更合理的推送方案)
主步骤初始化创建
1pnpm create vite Tclick --template vue
依赖
package.json 直享版
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960{ "name": "clock", "private": true, "version": "0.0.0", " ...
WebSocket
低延迟,双向实时通信(双全工),长期运行
简介相比HTTP协议,WebSocket是一种****实时通信协议
在实时通讯前,HTTP通过****轮询解决实时问题
轮询:客户端定期向服务器发送请求
长轮询:客户端发出请求后,保持连接打开,等待新数据响应后再关闭连接
Comet:保持长连接,返回请求后继续保持连接打开
WebSocket的连接只需要建立一次
建立连接理论须知需要HTTP向服务器发起一次常规Get请求,并在这个请求头上携带Upgrade
Upgrade作为升级请求将传递给服务器,协议从HTTP升级为WebSocket
在此之后客户端和服务器即可随时向彼此发送消息
具体代码前端
1const socket = new WebSocket("ws://localhost:8080");
123456789socket.onopen =function(event){ console.log("Websocket连接已打开")}socket.onmessage =functio ...
Node.js基础模块系统require & module
CommonJS规范
模块化:把代码按功能分开(可复用性强)
举例
123function sayHello(name) { return `Hello, ${name}`}
12345678const express = require('express');//引入express模块const sayHello = require('./myModule');//引入自定义模块const app = express();app.get('/', (req, res) => { res.send(sayHello('World'));});
npm包管理
就是前端常见的 npm install 下包
异步编程回调函数Promise
可以通过 util.promisify将基于回调的API转换为返回Promise的形式
async关键字定义一个返回Prom ...
源码学习
未读mini-vue搭建笔记原理概况1https://github.com/cuixiaorui/mini-vue
Vue3模块组织方式流程图
简单来说处理编译
compiler-sfc专门解析sfc (使用rollup-vue把App.vue单文件组件编译成JS)
compiler-dom依赖core,处理template标签,把template编译转化成一个render函数
compiler-core给dom提供依赖
处理运行时
runtime-dom依赖core
runtime-core最重点的核心代码
runtime-reactivity实现vue的响应式
更为详细的runtime-reactivity 响应式系统
提供了诸如 reactive、ref 等 API 来创建响应式对象或变量。 使用 WeakMap 数据结构来跟踪依赖关系,确保当数据变化时能够通知相关的观察者进行更新。 实现了 effect 函数机制,用于自动追踪和触发副作用函数的执行。
runtime-core 跨平台渲染
Vue3 的运行时核心模块,提供了跨平台的渲染能力。它的主要职责包括: 定义了通用的渲 ...
本文项目主干结构12345678910111213141516171819202122232425262728293031323334353637├── public│ └── data.json # 数据文件(静态拆分数据时使用)│├── src│ ├── utils # 工具│ │ └── request.ts # axios二次封装│ ││ ├── store # Pinia仓库│ │ └── chartStore.ts # 管理图表相关的数据│ ││ ├── services # API 服务│ │ └── api.ts # 模拟后端 API 请求│ ││ ├── components # 组件│ │ ├── chart # 图表组件│ │ │ ├── category # 图表分类│ │ │ │ └── rose.vue # 玫瑰图组件│ │ │ │ ...
技术探索
未读前端技术方向选型
数据可视化简介:将数据以图表、图形等可视化形式展示
技术平台:
技术栈
12数据可视化库,如D3.js、ECharts、AntV等JavaScript的数组操作、数据过滤
难点
1234数据处理和分析能力要求高JavaScript的数组操作、数据过滤等方法不同图表类型的特点和配置选项复杂,需要深入了解可视化效果的设计和优化难度大,如色彩搭配、布局调整等。
市场需求度:高
成熟性:比较成熟,已有许多成熟的数据可视化库,功能强大,基本能满足常见需求。
可延展性:较好,可与后端数据处理、前端交互等技术集成,拓展数据可视化的应用场景。
跨端简介:一套代码在不同的平台上运行,如Web、Android、iOS、小程序等。
技术平台:
技术栈
1234掌握跨端框架,如ReactNative、Flutter等;了解不同平台的原生开发技术,如Android的Java/Kotlin、iOS的Swift/Objective-C;熟悉前端的基础技术HTML、CSS、JavaScript;掌握相关的打包和发布工具,如Cordova、Capacitor等。
难点
123不同平台的原生开发 ...
网页视频捕获工具本地解析工具基于Windows系统
MKVToolNix Downloads – Matroska tools for Linux/Unix and Windows
(当然网站里也有其他系统的工具,只是我没用用过)
**下载后解压出来 **MKVToolNix 文件夹
**启动项是 **mkvtoolnix-gui.exe
浏览器脚本media-source-extract 装到油猴里(文件放在最后了)
使用
脚本文件12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612 ...
更改 GitHub 用户名注意事项更改前须知首先,更改用户名不会删除仓库或提交历史。
**旧用户名下的仓库 URL(如 ****https://github.com/旧用户名/repo)会 **自动重定向到新地址
但: ///重定向仅保留几个月,之后可能失效,建议尽快更新所有引用///
** **///如果旧用户名被他人注册,重定向会失效///
** **///依赖旧 URL 的服务(如 CI/CD、书签)需手动更新///
注意:
确保本地仓库已与远程同步(git push)。
导出仓库列表(可选,用于后续检查)。
检查依赖项:
第三方服务(如 CI/CD、域名绑定、OAuth 登录)是否依赖你的旧用户名。
文档、README、外部链接中是否有直接引用旧用户名的 URL。
更改用户名1GitHub,Settings → Account → Change username
更改 ...
Github
未读保姆级GitHub主页美化教程
实际上这些都存在一个README文件里
下面我们来一步一步建设你的GitHub主页
GitHub中的初始操作
复制仓库地址
12找一个你想要存储在本地的文件地址右键Open Git Bash here
1git clone +Paste把刚才复制的地址粘贴过来 回车
1tip:如果有报错很多情况是梯子不稳定,没有连接到git仓库,多关闭刷新反复试试
编译器这里拿VS Code示范
需要安装的插件
1下载完插件之后
1所编写的组件是按顺序排列的
代码结构详解
一般格式模板(可以先复制到自己的编译器里)
123<p align="center"> <img src="" /></p>
1下面我们来逐一实现组件的代码
组件海浪效果边饰网站
https://capsule-render.vercel.app/
123左侧选择完后点击右侧“Copy”复制到模板的“src”属性后
更多具体样式参考
https://github.com/kyechan9 ...