当前计划: 1. 微前端 2. 做组件库玩 3. 收集 uniapp 知识点 | 未来计划: 1. Nest (使用 electron) ,spring 2. electron, tarui 等的深入学习, 之前知识回顾与深入 3. 编辑器相关知识了解 |
---|---|
Component
- [x] space组件 ✅ 2024-12-10
- [x] 三种简单组件(copy,mutationObserver,Portal) vue仅使用copy ✅ 2024-12-10
- [x] watermark组件
- [x] lazy-load ✅ 2025-02-19
- [x] useCookie,useHover,useScrolling ✅ 2025-02-19
- [x] useSize,useHover,useTimeout,useWhyDidYouUpdate,useCountDown ✅ 2025-02-19
- [ ] react-spring
- [x] message ✅ 2025-03-03
- [x] popover ✅ 2025-03-03
- [x] colorPicker ✅ 2025-03-03
- [x] onBoarding 漫游组件 ✅ 2025-03-03
- [x] upload ✅ 2025-03-03
- [x] form ✅ 2025-03-03
- [x] keepalive ✅ 2025-03-03
- [x] 国际化 ✅ 2025-04-17
- [x] 拖拽组件 ✅ 2025-04-22
- [x] playground ✅ 2025-04-22
- [x] 低代码 ✅ 2025-04-22
- [ ] Flow振荡器
- [ ] 在线钢琴
- [ ] 基于 shadcn 的配置化表单
elctron
Electron 推荐功能点清单
基础功能
- 多窗口管理
- 全局快捷键注册
- 系统托盘支持
系统交互
- 电池状态监控
- CPU 性能监控
- 内存使用率监控
文件处理
- 文件加密与解密
- 文件上传与下载处理
- 文件压缩与解压缩
多媒体功能
- 屏幕录制工具
- 音频录制工具
- GIF 制作工具
网络相关
- 自动更新功能
- 实时聊天工具
- 网络流量监控
用户交互
- 动态主题切换
- 屏幕共享工具
- 快捷导航工具
数据可视化
- 实时数据监控仪表盘
- 3D 数据展示工具
- 动态报表工具
安全功能
- 密码管理器
- 用户权限管理
- 数据备份与恢复工具
生产力工具
- 日历与待办事项工具
- 快捷启动器
- 屏幕时间统计工具
高级功能
- AR/VR 支持工具
- OCR(光学字符识别)工具
- 语音识别与控制工具
基础功能
系统交互
硬件交互
文件处理
多媒体功能
网络相关
开发者工具
用户交互
数据可视化
安全功能
生产力工具
娱乐功能
其他高级功能
node
nest
基础功能
- 模块化架构 (Modules)
- 控制器 (Controllers)
- 服务 (Providers)
- 依赖注入 (Dependency Injection)
- 中间件 (Middleware)
- 守卫 (Guards)
- 管道 (Pipes)
- 拦截器 (Interceptors)
- 异常过滤器 (Exception Filters)
- 配置管理 (ConfigModule)
数据库支持
- TypeORM 集成
- Mongoose 集成
- Sequelize 集成
- Prisma 集成
- 数据库事务管理
- 数据库连接池配置
网络与 API
- RESTful API 开发
- GraphQL 支持
- WebSocket 支持
- gRPC 集成
- 文件上传与下载
- 静态资源服务
- 缓存机制 (CacheModule)
- 请求验证与数据转换
认证与授权
- JWT 认证
- OAuth2 集成
- Session 管理
- 基于角色的访问控制 (RBAC)
- 基于权限的访问控制
- 单点登录 (SSO)
消息队列与事件管理
- RabbitMQ 集成
- Kafka 集成
- Redis Pub/Sub
- 事件总线 (EventEmitter)
- 任务队列 (Bull)
- 定时任务 (ScheduleModule)
性能优化
- 全局缓存支持
- 日志管理 (Logger)
- 性能监控 (Metrics)
- 应用全局范围拦截器
- 请求限流 (Rate Limiting)
文件处理
- 文件上传 (multer)
- 文件流处理
- 文件加密与解密
- 静态文件服务
- 图片处理 (sharp)
- 文件压缩与解压缩
安全功能
- 防止 XSS 攻击
- 防止 CSRF 攻击
- HTTPS/SSL 配置
- 数据加密与解密
- 速率限制 (Rate Limiting)
- 安全头设置 (Helmet)
测试功能
- 单元测试 (Unit Test)
- 集成测试 (Integration Test)
- E2E 测试 (End-to-End Test)
- Mock 服务与依赖
- 测试覆盖率分析
微服务支持
- 基于 TCP 的微服务
- 基于 Redis 的微服务
- 基于 NATS 的微服务
- 集成服务发现 (Consul, Eureka)
- 分布式事件总线
- 服务负载均衡
数据可视化与分析
- 实时数据仪表盘
- 图表生成与展示
- 数据导出与备份
- 数据分析工具集成
推荐功能点
以下是基于 NestJS 功能点中的推荐功能,它们在实际开发中极具实用性和广泛的应用场景:
基础功能
- 模块化架构: 提供清晰的代码组织方式,适合大型应用开发。
- 依赖注入: 提高代码复用性和可维护性,是框架的核心特性。
- 异常过滤器: 统一管理异常处理,提升代码的健壮性。
网络与 API
- RESTful API 开发: 构建标准化的 API 接口,适合大多数应用场景。
- GraphQL 支持: 适合复杂查询场景,尤其是前后端分离项目。
- WebSocket 支持: 实现实时通信功能,适合聊天或协作类应用。
认证与授权
- JWT 认证: 简单易用,适合大多数基于 Token 的认证场景。
- OAuth2 集成: 支持第三方登录,如 Google、Facebook 等。
- 基于角色的访问控制 (RBAC): 实现细粒度的权限管理。
消息队列与事件管理
- RabbitMQ 集成: 提供高效的消息队列支持,适合微服务架构。
- 定时任务: 实现自动化任务调度,如定期清理数据或发送通知。
- 事件总线: 提供事件驱动的编程模型,适合解耦模块间的通信。
性能优化
- 全局缓存支持: 提高应用性能,减少重复计算。
- 请求限流: 防止接口被滥用,提升系统稳定性。
- 日志管理: 提供丰富的日志功能,便于调试和监控。
文件处理
- 文件上传 (multer): 实现文件上传功能,适合内容管理类应用。
- 图片处理 (sharp): 实现图片缩放、压缩等功能,适合多媒体应用。
- 文件加密与解密: 提供数据安全保障,适合敏感信息的存储和传输。
测试功能
- 单元测试: 提高代码质量,快速验证功能正确性。
- E2E 测试: 模拟用户操作,验证完整功能流程。
- Mock 服务与依赖: 减少对外部服务的依赖,提升测试效率。
微服务支持
- 基于 TCP 的微服务: 提供高效的服务间通信。
- 集成服务发现: 支持服务动态注册与发现,适合分布式系统。
- 服务负载均衡: 提升系统的高可用性和扩展性。
大模型功能指南
以下是几大热门模型的功能实现指南,包括部署和微调等操作的具体做法。
Dify
Dify 是一个简单好用的大模型应用开发工具。
部署
- 安装 Dify:
- 使用 Docker 快速安装。
bashdocker run -d --name dify-server -p 8080:8080 dify/dify
- 配置环境:
- 配置 API 密钥和模型服务地址。
yamlmodel: openai_api_key: YOUR_API_KEY
- 运行服务:
- 访问
http://localhost:8080
进入 Dify 的管理界面。
- 访问
微调
- 准备数据:
- 标注样本数据,保存为 JSON 或 CSV 格式。
- 上传数据:
- 登录 Dify 后台,上传您的训练数据集。
- 开始微调:
- 在管理界面选择模型和数据集,点击开始训练。
Ollama
Ollama 是一个专注于本地化大模型推理的工具。
部署
- 安装 Ollama CLI:
- 下载二进制文件并配置路径。
bashcurl -O https://ollama.com/install.sh | bash
- 启动服务:
- 使用 Ollama CLI 启动本地推理服务。
bashollama serve --port 8000
微调
- 准备数据:
- 收集领域特定的数据集。
- 使用 Ollama 微调工具:
- 执行以下命令进行模型微调。
bashollama fine-tune --model llama-2 --data your_dataset.json
OpenAI GPT 系列
部署
- API 集成:
- 注册 OpenAI API 密钥。
- 使用以下代码进行调用:
pythonimport openai openai.api_key = "YOUR_API_KEY" response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": "Hello!"}] ) print(response['choices'][0]['message']['content'])
微调
- 准备数据:
- 数据需为 JSONL 格式,示例如下:
json{"prompt": "Input text", "completion": "Expected output"}
- 上传数据:
- 使用 OpenAI CLI 上传数据集。
bashopenai tools fine_tunes.prepare_data -f your_dataset.jsonl
- 启动微调:bash
openai api fine_tunes.create -t "file-ID" -m "curie"
Claude (Anthropic)
部署
- 获取 API 访问:
- 申请 Anthropic 的 API 访问权限。
- API 调用:
- 使用 Claude 的 API 进行交互:
pythonimport anthropic client = anthropic.Client(api_key="YOUR_API_KEY") response = client.complete( prompt="Hello, Claude!", model="claude-v1", max_tokens_to_sample=100 ) print(response["completion"])
微调
- Claude 暂不支持传统的微调,可通过设计 Prompt 优化模型行为。
LLaMA (Meta)
部署
- 下载权重:
- 从官方或 Hugging Face 下载 LLaMA 模型权重。
- 加载模型:
- 使用 PyTorch 或 Hugging Face Transformers 加载:
pythonfrom transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2") tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2") inputs = tokenizer("Hello!", return_tensors="pt") outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0]))
微调
轻量化微调(LoRA):
- 使用 Hugging Face 的 LoRA 方法:
pythonfrom peft import LoraConfig, get_peft_model config = LoraConfig( r=8, lora_alpha=32, target_modules=["q_proj", "v_proj"], lora_dropout=0.05 ) model = get_peft_model (model, config)
开始训练:
- 使用 Trainer 或 Accelerate 执行训练任务。
可视化
微前端
- [ ] 回顾微前端
- [ ] css 隔离
- [ ] 性能优化
- [ ] 通信原理
- [ ] singe-spa
- [ ] qiankun
- [ ] 工程化
- [ ]