- 博客(167)
- 收藏
- 关注

原创 软件架构思考:从备份服务器挂掉导致业务中断谈谈mongodb主从选举策略到CAP权衡到重构业务实现-面向不确定性、不一致性、不可用进行数据建模 - 读写分离、读写缓存来提高业务可用性
面向不确定性、不一致性和不可用性进行数据建模,需要对系统的核心和非核心数据进行合理分离,并采用读写分离、读写缓存等策略进行优化。这种设计思路不仅能够提升业务的可用性,还能为系统扩展性和性能优化提供良好的基础。在实际应用中,通过精细化的缓存策略和读写分离的配置,可以实现更高效、更稳定的数据服务,为用户提供更好的体验。我感觉这也是必然之路,现在的所谓稳健、也是基于一个不稳定的假设,例如阿里云华为云aws都出现过大规模不可用,一些头部应用也出现过业务不可用,尤其是一些核心业务。
2024-11-20 14:58:25
926

原创 前端工程反思笔记:从 CDN 依赖包被删导致个站打不开到数年前因11 行代码导致上千项目崩溃谈谈npm黑洞- 统计下你的项目有多少个依赖吧!
前端项目中的依赖管理问题需要引起更多开发者的重视,我们应该意识到依赖管理中的风险与隐患。减少不必要的依赖、重视模块设计、合理管理版本,是提升前端项目稳定性的重要手段。同时,我们也应当关注开源库的所有权和维护问题,支持那些为社区作出贡献的开发者,让开源生态变得更加健康和可持续。发布包、使用第三方包的时候,好好管理下依赖,不要一股脑的安装,最好选择0运行依赖的开源库。
2024-10-22 15:21:11
1049

原创 前端大模型入门:实战篇之Vue3+Antdv+transformers+本地模型实现增强搜索
本文将结合之前的文章,实现一个场景的实战应用,项目代码开发。利用纯前端实现增强的列表搜索,抛弃字符串匹配,目标是使用番茄关键字可以搜索到西红柿。
2024-09-29 12:16:53
2612
原创 2025年后:尽量不做纯粹的软件工程师 - 前端/后端/全栈
前一个章节,我讲述了不要学习知识的原因,因为Ai的知识量超过了几乎任何一个人类,不仅仅是文学艺术、还有软件。如果你尝试过Agent自动开发,就能够理解我说的是什么了。但是目前对于物理世界还是有欠缺的,是维度级别的差距,也是我们能够深入探索的方面,离我们最近的就是嵌入式了。再提一句,别再花钱买各种课,尤其是超过99的课程,50年经验的技术顾问都不如gemini2.5pro。不如在AI的指导下,自己实践项目和探索吧。
2025-04-06 15:00:00
138
原创 2025年后:不要为知识付高额学费了
未来最吃香的,不是记得多,而是能做出新东西的人。能整合知识,创造新内容的人能用AI高效工作的人能结合自己的经验,创造新方法的人能自己发现机会、发现问题、提出解决方案的人所以,与其焦虑地报班学课,不如静下心来问自己:“我现在最想解决的问题是什么?然后带着这个问题去找答案,去实践。你有没有也遇到“花了很多钱学课,结果发现网上能找到答案”的经历?欢迎留言说说你的故事,也可以把这篇文章分享给朋友,让大家少走点弯路、多点勇气探索!
2025-04-04 13:32:48
850
原创 C++三种智能指针介绍及ESP32S3开发中的应用
C++的智能指针(和)为内存管理提供了强大的工具,帮助开发者避免常见的内存管理错误。在ESP32S3开发中,智能指针可以帮助你更安全、更方便地管理硬件资源和动态内存。作为前端开发者,虽然你可能不熟悉C++的内存管理机制,但通过掌握智能指针,你可以更轻松地过渡到嵌入式开发领域。希望本文能为你提供一些有用的指导,祝你在ESP32S3开发中取得成功!参考资料。
2025-04-04 12:25:00
782
原创 护颈指南 - 改善骨质增生、避免耳石症-健康必坑经历分享
这篇指南将为你详细解析骨质增生和耳石症的原因,提供一套科学实用的护颈方案,帮助你远离颈椎问题,恢复健康高效的工作状态!
2024-12-31 14:00:01
915
原创 前端Python应用指南(八)WebSocket与实时应用:用Flask和Django实现聊天系统
WebSocket是一种在单个TCP连接上进行全双工通信的协议,它特别适用于需要实时通信的应用,如在线聊天、实时推送、股票行情、多人在线游戏等。与传统的HTTP协议不同,WebSocket连接一旦建立,客户端和服务器之间可以持续通信,而不需要每次都重新建立连接。客户端发出请求后,服务器可以主动推送数据给客户端,而无需等待客户端发起请求。WebSocket为现代Web应用提供了实时通信的能力,Flask和Django都能非常便捷地集成WebSocket功能。
2024-12-31 10:03:35
1168
原创 Sora体验报告(一):ChatGPT Plus开放了注册通道- 我来扒一扒OpenAI的AGI视频生成功能-目前是基于next框架
OpenAI结合其强大语言模型与视频处理技术,推出的跨领域、跨模态的人工智能体验Sora。通过这一功能,用户不仅可以进行文本交互,还能体验到视频内容的生成与理解,甚至通过与AGI的视频交互,获取实时的多模态反馈。简单来说,这意味着用户能够通过与AGI的对话,不仅仅局限于文字、图像等形式,还能与视频内容进行互动,甚至让AI根据对话内容实时生成视频、进行视频剪辑或提供视频分析。
2024-12-30 11:05:42
1122
原创 前端Python应用指南(七)使用SQLAlchemy与Django ORM:数据库操作的Python实践
SQLAlchemy是一个非常强大的Python数据库工具库,广泛用于数据库操作。它支持多种数据库类型,并且能够实现SQL的原生操作以及面向对象的数据库映射。SQLAlchemy提供了两种主要的操作方式:一种是核心模式(Core),另一种是ORM模式ORM模式允许你以面向对象的方式与数据库进行交互,简化了数据库操作。Django是一个全栈Web框架,内置了强大的ORM(对象关系映射)功能,使得开发者可以通过Python对象与数据库进行交互。
2024-12-30 10:13:41
1277
原创 前端进阶之副作用的分析和控制
副作用分析和控制,是成为高阶软件工程师的必经之路,希望你能够了解它是什么,以及有哪些手段控制它,从而使得软件更稳健
2024-12-28 22:41:54
1104
原创 前端Python应用指南(六)构建RESTful API:使用Flask和Django实现用户认证与授权
RESTful API通常用于前后端分离的应用,用户认证与授权机制用于保护API,使得只有经过认证的用户才能访问特定的资源。JWT(JSON Web Token)作为一种轻量级的认证方式,广泛应用于前后端分离的Web应用中。在本文中,我们将分别使用Flask和Django用户注册用户登录(并生成JWT)保护需要授权的API(通过JWT)通过本文的示例,我们分别展示了如何使用Flask和Django实现用户认证与授权,保护RESTful API。Flask适合轻量级项目,灵活且简洁。
2024-12-28 15:33:16
1258
原创 深入理解HTML页面加载解析和渲染过程(一)
一篇老文章,存在草稿有点可惜HTML页面呈现通常包括三个主要过程:加载、解析和渲染。让我们详细探讨每个过程。
2024-12-27 21:58:06
962
原创 前端Python应用指南(五)用FastAPI快速构建高性能API
FastAPI是一个现代的、快速(高性能)的Web框架,用于构建API。它基于Python 3.6+的类型提示,具有自动生成API文档的功能,同时还具有非常出色的性能,接近于Go和Node.js等编程语言的表现。FastAPI的设计灵感来自于Flask和Pydantic,并利用了Python的类型提示和异步编程模型,使得开发者可以用更少的代码实现更高效、更安全、更易于维护的API。通过本篇博文,我们快速入门了FastAPI,并使用它构建了一个简单的API。
2024-12-27 17:09:26
1500
原创 写给Pythoner的前端进阶指南(九)实战三:一个简单的任务管理系统
本文介绍了如何为前端开发者,特别是 Python 开发者,构建一个简单的任务管理系统。通过实现任务的增、删、改、查功能,使用 HTML、CSS 和 JavaScript 完成前端页面,并通过 LocalStorage 保存数据。文章详细讲解了如何操作 DOM、处理用户交互、以及如何使用本地存储实现数据持久化。对于有 Python 背景的开发者来说,本项目为后续学习如何与 Python 后端(如 Flask 或 Django)结合,提供了实践基础。
2024-12-26 18:36:05
1001
原创 前端Python应用指南(四)Django实战:创建一个简单的博客系统
在Django中,模型(Model)是数据库的映射,它定义了数据库表的结构以及与数据交互的方式。接下来,我们将定义一个简单的Post模型,用来表示博客文章。创建Django项目和应用定义数据模型并进行数据库迁移创建视图和URL路由。
2024-12-26 15:51:06
1231
原创 写给Pythoner的前端进阶指南(八)实战二:实现一个简单的聊天室
本篇将继续带领python用户深度学习前端技术,实现一个简单的聊天室项目,通过这个过程,你将学习到前端设计的基础知识、WebSocket的实时通信原理,以及如何构建一个完整的前后端交互应用。这种实践能帮助你从需求分析到功能实现,再到优化和发布,全面提升开发能力。
2024-12-25 18:46:36
972
原创 前端Python应用指南(三)Django vs Flask:哪种框架适合构建你的下一个Web应用?
Django是一个高层次的Python Web框架,旨在快速开发复杂的数据驱动型网站。它由Adrian Holovaty和Simon Willison于2005年开发,并于2008年正式发布。Django强调快速开发、易于扩展和可重用的组件,使开发者能够专注于应用的业务逻辑,而不必处理重复的工作。Flask和Django各有千秋,适用于不同类型的项目。Flask的简单和灵活使得它在快速开发和小型项目中占有优势,而Django的强大功能和全栈特点则适合构建复杂和大规模的Web应用。
2024-12-25 15:40:25
1588
原创 前端Python应用指南(二)深入Flask:理解Flask的应用结构与模块化设计
通过蓝图和模块化设计,Flask应用能够轻松地扩展和维护。无论是路由、视图函数还是数据库模型,都可以被拆分到不同的模块中,避免了代码的膨胀和管理困难。通过合理的模块化设计,你的Flask应用将变得更加清晰、灵活和易于维护。在这篇文章中,我们重点介绍了Flask应用的基本结构以及如何通过蓝图实现模块化。希望通过这篇文章,你能够更好地理解Flask的架构设计,并在实际开发中应用这些技巧构建高效、可维护的Flask应用。
2024-12-24 09:38:09
1182
原创 写给Pythoner的前端进阶指南(七):实战一之构建一个动态网页
通过本篇实战项目,我们创建了一个简单的动态博客页面,支持用户查看和提交评论。前端使用了 HTML、CSS 和 JavaScript,后端部分则通过 Node.js(或 Python Flask)实现了简单的 API。这个项目展示了前后端交互的基本概念,并且通过异步请求和 DOM 操作避免了页面刷新,使得用户体验更加流畅。希望通过这篇文章,你能够更好地理解如何结合 JavaScript 和后端技术实现动态网页。如果你有任何问题或进一步的讨论,欢迎在评论区留言,我们一同交流!
2024-12-23 18:12:21
1162
1
原创 前端工程反思 - 从 YOLO、Vant 等知名开源项目上游依赖被注入恶意挖矿应用谈谈 FOSS 的信任危机
之前在知乎就看到过相关的回答,有人提问如何让自己被辞退后代码就不可用,有人就提到了自己弄一个知名库的版本例如lodash.js然后引入,如果被辞退了,就改这个依赖,注入一些随机性的行为让错误不容易被发现。没想到,真有人这么做了!然而,近期频发的供应链攻击事件,让人们对开源软件的信任产生了前所未有的危机。开源软件的繁荣是技术界的伟大成果,但供应链攻击表明,我们不能只享受开源的便利,而忽略其潜在风险。
2024-12-23 15:23:14
1021
原创 写给Pythoner的前端进阶指南(六):网络编程
AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的技术。虽然“XML”在名称中,但 AJAX 现在通常使用 JSON 格式进行数据交换。AJAX 在前端开发中被广泛用于实现动态内容加载和无刷新更新。WebSockets 是一种在客户端和服务器之间建立持久连接的协议。与传统的 HTTP 请求不同,WebSockets 允许在客户端和服务器之间进行双向通信。
2024-12-21 19:21:18
996
原创 写给Pythoner的前端进阶指南(五):事件驱动模型
JavaScript 的事件驱动模型是前端开发的基石,理解事件循环、事件绑定和事件代理的工作原理将帮助你更好地处理异步任务和用户交互。与 Python 中的事件驱动框架相比,JavaScript 的事件驱动模型更侧重于 DOM 事件和浏览器中的用户交互,而 Python 的事件驱动框架更多地应用于高性能的网络编程。
2024-12-21 10:51:24
879
原创 barin.js(十五)FeedForward实战教程 - 手写数字识别(MNIST 数据集)
在本篇文章中,我将带你深入了解如何使用 `brain.js` 库中的 `FeedForward` 神经网络来实现手写数字识别任务。以经典的 MNIST 数据集为例,利用浏览器环境中的 CDN 引入 `brain.js`,并通过逐步实现数据准备、模型构建与训练、评估、优化等过程,帮助你掌握如何在浏览器中使用神经网络进行实际的机器学习任务。
2024-12-20 20:00:00
1036
原创 写给Pythoner的前端进阶指南(四):异步编程 - 原生支持的 async/await
在开发中,异步编程是处理并发任务的重要方式。无论是请求数据、读取文件还是执行网络操作,异步编程能够有效提升程序的性能和响应速度。Python 和 JavaScript 都支持异步编程,但它们的实现方式有所不同。在这篇文章中,我们将深入探讨 JavaScript 中的异步编程,特别是如何通过回调函数、Promise 以及 `async/await` 来处理异步任务。对于熟悉 Python 的开发者来说,理解 JavaScript 中的异步编程模式,将有助于你在不同语言之间的过渡。
2024-12-20 15:41:45
809
原创 写给Pythoner的前端进阶指南(三):JavaScript面向对象编程-类、继承、多态和封装、this
在 Python 中,你通过class关键字定义类,并使用构造函数(__init__)来初始化对象的属性。JavaScript 同样使用class关键字定义类,但构造函数的写法略有不同,通常是通过来实现。
2024-12-19 23:08:42
655
原创 写给Pythoner的前端进阶指南(二):快速迁移指南和JavaScript Cheatsheet
从Python迁移到JavaScript,并不意味着要完全放弃你已经学到的编程技能。通过理解两者之间的差异和相似之处,你可以更快速地掌握JavaScript的核心概念和常用语法。本篇快速迁移指南和Cheatsheet只是一个开始,接下来你可以通过实践逐步深化对JavaScript的理解,拓展你的开发能力。
2024-12-19 18:10:23
898
原创 前端的Python应用指南(一):快速构建 Web 服务器 - Flask vs Node.js 对比
Flask是一个轻量级的 Python Web 框架,遵循 WSGI(Web Server Gateway Interface)标准,采用微框架(micro-framework)设计。Flask 的设计理念是让开发者能够灵活选择使用不同的库和工具,而无需过多依赖框架本身。Flask 非常适合快速构建 Web 应用,API 后端,或者进行快速原型开发。Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,使得 JavaScript 可以用于服务器端编程。
2024-12-18 21:45:00
1801
2
原创 写给Pythoner的前端进阶指南(一):前言-深入学习前端后会有哪些新的机遇
对于一名 Python 开发者来说,学习 JavaScript 是一种跨越前端和后端的技能提升。它不仅可以帮助你掌握 Web 开发的核心技术,还能让你进入全栈开发、移动开发、桌面应用开发等多个新兴领域。无论是提升个人技能,还是拓展职业选择,掌握 JavaScript 都将为你打开一扇通向技术世界的大门。在后续的文章中,我将从 JavaScript 的基础知识讲起,一步步引导你理解这门语言的核心概念,并通过实际项目将所学内容应用于实践。
2024-12-18 17:22:03
804
原创 barin.js(十四)GRU实战教程 - 文本情感分析之有害内容检测
本教程通过使用 **brain.js** 库中的 **GRU** 模型,展示了如何实现一个简单的有害内容检测系统。该系统能够分析输入的中文文本,判断其是否包含恶意、攻击性或不当言论。我们介绍了GRU模型的基本原理、训练过程及其与RNN和LSTM的区别,并提供了完整的HTML和JavaScript代码。通过优化策略和实践建议,读者可以进一步提升模型性能,应用于社交平台、评论系统等场景,实现实时的内容过滤与监控。
2024-12-17 16:33:07
1226
原创 前端的Python入门指南(完):错误和异常处理策略及最佳实践
错误的是在程序运行过程中,导致程序无法继续执行的情况,常常是由编译错误、语法错误等引起的。实际上编程中有两种处理派系:一种是已知错误不算错误派;一种是错误即错误派;我属于后者,这一章节主要介绍python的错误处理作为入门指南的最后篇章,希望你能够写出优雅、一致和稳健的代码
2024-12-17 10:43:28
1255
原创 brain.js(十三)LTSM实战教程 - 从股票预测到文本生成及RNN的对比、不只是时序数据预测
本文介绍了 **brain.js** 中的 **LSTM**(长短期记忆网络)及其与 **RNN**(循环神经网络)和 **LSTMTimeStep** 的对比。首先解释了 **LSTM** 的核心原理及其解决传统 **RNN** 梯度消失问题的优势,接着详细对比了 **RNN**、**LSTM** 和 **LSTMTimeStep** 在时间序列预测任务中的适用性。通过实际案例,展示了 **LSTM** 在股票预测和文本生成中的应用,并提供了模型选择的实践建议,帮助读者理解如何在不同场景下选择合适的神经网
2024-12-16 18:07:55
1306
原创 前端的Python入门指南(十):常用的全局变量和接口介绍
JavaScript 和 Python 都提供了一些非常实用的全局变量和接口,帮助开发者处理日常的编程任务。虽然两者的实现方式不同,但都能够高效地完成文件操作、HTTP 请求和定时任务等常见功能。
2024-12-16 09:44:35
949
原创 bain.js(十二):RNN神经网络实战教程 - 音乐乐谱生成 -人人都是作曲家~
本篇教程将引导你使用 brain.js 在浏览器中实现一个基于 RNN 的音乐乐谱生成系统。通过构建和训练一个简单的循环神经网络,我们将学习如何利用音符序列生成新的音乐片段。教程包括环境配置、数据准备、模型构建与训练、生成乐谱的代码示例,并提供了实践建议和总结。通过这一实例,你将掌握 RNN 在艺术创作中的应用,并能扩展到更复杂的音乐生成任务。
2024-12-14 19:48:16
1244
原创 前端的 Python 入门指南(九):模块化的实现、使用及注意事项对比
JavaScript 更侧重于静态分析和编译期优化,而 Python 则是动态加载和执行的方式。在 JavaScript 中,ES6 模块化通过import和export来处理依赖关系,使用起来更加简洁和灵活;而 Python 的模块化则通过import语句和包的组织方式来实现代码的结构化。需要特别注意的事项包括循环导入、模块缓存以及在开发过程中可能遇到的路径问题。在 Python 中,动态导入可能会带来一些复杂性,需要特别小心。
2024-12-14 10:53:15
1133
原创 bain.js(十一):基于多变量时间序列的股票数据预测实战-以成交量、换手率和价格波动率为例
本文介绍了使用 **brain.js** 在浏览器中进行多变量时间序列预测的实战教程,重点对比了 **GRUTimeStep** 和 **LSTMTimeStep** 两种神经网络模型。通过示例数据(如成交量、换手率、价格波动率等股票市场信息),讲解了如何准备数据、进行归一化处理,并训练预测模型。对比分析了两种模型的性能和适用场景,发现 **GRU** 更适合短期预测,训练速度较快;而 **LSTM** 适合处理长期依赖关系,适用于复杂的时间序列预测。
2024-12-13 17:07:05
856
原创 前端的 Python 入门指南(八):多线程编程与实现方法对比
多线程(Multithreading)是在同一个进程中运行多个线程,每个线程可以独立执行任务。线程之间共享内存空间,因此可以高效地交换数据。I/O 密集型任务:如文件读写、网络请求。计算密集型任务:如数据加密、图像处理。
2024-12-13 11:01:49
906
原创 Brain.js(十):GRUTimeStep 实战教程 - 股市指数预测以及与 LSTMTimeStep 对比
GRU(门控循环单元,Gated Recurrent Unit)是一种 RNN(循环神经网络)的变体,旨在解决标准 RNN 的梯度消失问题,同时简化了 LSTM(长短时记忆网络)的结构。Brain.js 提供的是 GRU 的时间序列预测版本,非常适合用于股市、天气等时间序列数据的预测。轻量级:比 LSTM 更简单,计算效率高。时间序列友好:能够捕获时间序列数据中的长期依赖。高性能:在许多实际任务中表现优于传统的 RNN。通过本教程,我们了解了如何使用 Brain.js 的模块进行时间序列数据预测。
2024-12-12 14:26:55
1237
ToB项目身份认证AD集成(完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能的服务类
2024-10-12
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
2024-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人