shubuzuo
shubuzuo

述而不作

日常思考 日常的一些思考


readFile 为例 nodejs 如何实现

本文通过分析 `readFileSync` 和 `readFile` 的内部实现机制,探讨了 Node.js 如何处理文件读取操作。同步方法 `readFileSync` 直接调用系统调用,而异步方法 `readFile` 则借助回调函数与事件循环实现非阻塞 IO。两者均最终通过 libuv 库的 `uv_fs_read` 函数执行实际的文件读取操作。文章详细阐述了从高层 API 到底层实现的技术细节,并强调了内部抽象机制的重要性,这些机制为 Node.js 平台提供了高效的文件处理能力。--DeepSeek

study daily source-code nodejs v8 c++ 2025 libuv javascript

v8 build linux 平台

本文详细描述了在尝试将V8嵌入到项目时遇到的挑战及其解决过程。首先,构建静态库时出现了“unknown architecture”错误,通过改用lld链接器解决了该问题。随后,程序因Undefined reference to `v8::platform::NewDefaultPlatform`而失败。为了解决这一问题,进行了多次配置尝试,包括调整目标CPU和OS、调试模式、组件构建、单体库设置以及禁用自定义libc++等参数。最终,在启用调试模式并禁用自定义libcxx后,成功编译并运行了示例程序。整个过程强调了V8文档的不足,并指出了详细配置说明的重要性,以减少用户在探索和调试过程中所需的时间和精力。--DeepSeek

study daily v8 c++ linux 2025

一次喝酒事后复盘

这篇文章记录了一次饮酒经历后的深刻反思,并以此为契机探讨了如何在社交场合中坚持个人戒律与修行原则。作者回顾了自己被迫饮酒的场景,从中总结出在面对群体压力时坚守戒律的重要性,并延伸至对“四正勤”的思考。文章不仅揭示了饮酒对身体和心理的负面影响,还讨论了在日常生活中如何通过法义抉择避免恶行、培养善业。作者最终强调,在任何情境下都要坚定自己的修行目标,不受外界干扰,并以问题结尾引发读者对自身行为与信仰之间关系的深思。--DeepSeek

study daily foxue alcohol buddhist-precepts reflections interpersonal-relationships mindfulness four-right-efforts

文档编辑版本追踪的一些思考

本文探讨了从 Word 文档到多人协作修订的完整流程,重点介绍了使用飞书云文档、Markdown 和 Git 进行版本追踪和管理的经验。作者指出,通过将 Word 文档转换为 Markdown 格式存储在 Git 仓库中,并结合飞书云文档进行多人协作,可以实现细粒度的内容变更追踪与管理。这种组合方式不仅支持内容讨论与校订,还能够通过 Git 分支轻松维护不同目录结构(如讲习目录和内容目录),同时便于后续将文档发布为网页或导出为 Word/PDF 格式。文章详细展示了从原始文档到最终发布的完整流程,并探讨了当前协作模式中的潜在问题,例如飞书评论的匿名性限制。--DeepSeek

daily document-collaboration version-control git markdown static-site-generator project-management

nestjs pg 模板

文章介绍了构建 NestJS 项目的关键步骤,包括使用 TypeORM 进行数据迁移、安装必要的开发依赖如 Winston 和 Dayjs 以实现日志管理和日期处理功能。文中还详细说明了如何通过 Swagger 文档生成 API 文档,并借助 OpenAPI SDK 工具进行代码生成。此外,文章强调了代码质量的重要性,介绍了 Linting 工具的使用以及遵循提交规范来维护代码仓库的整洁性和可追溯性。整个过程涵盖了从项目初始化到功能开发、文档编写和持续集成等多个方面,为开发者提供了一个完整的 NestJS 项目构建指南。--DeepSeek

node pgsql daily 2024 nest typeorm

nginx 密码套件安全排查

这篇文章记录了一次针对Nginx密码套件安全问题的排查过程,从使用nmap工具扫描发现安全隐患开始,到逐步定位问题根源的过程进行了详细描述。文章首先介绍了通过nmap脚本嗅探HTTP服务器密码套件的方法,并讨论了这些套件的安全性。随后,作者尝试通过配置Nginx启用TLS 1.3并禁用TLS 1.2来解决问题,但发现安全漏洞仍然存在。 在排查过程中,作者逐渐意识到问题可能出在Nginx之前的中间件上,尽管初期并未明确具体是哪种产品,但最终锁定为Web应用防火墙(WAF)配置不当导致的问题。文章还反思了整个排查过程中的经验教训,强调了系统化排查的重要性,并对运维人员的沟通效率提出了批评。 这篇文章不仅揭示了一个实际的安全问题解决案例,还引发了关于服务器安全配置、中间件影响以及团队协作等方面的思考。通过这个故事,读者可以了解到在面对复杂安全问题时如何逐步缩小范围,找到根本原因的方法。同时,它也提醒我们在安全管理中要注意各个组件之间的相互作用,避免因单一环节的疏忽导致整体安全性下降。 最后,这篇文章提出了一些值得深思的问题:Nginx的安全配置是否真的生效?中间件的影响如何评估?安全测试与实际运行环境的一致性如何保证?这些问题都值得读者在阅读后进一步探讨和实践。--DeepSeek

2023 nginx docker centos work security cloud

丐版 mongodb 全文搜索

本文探讨了如何在社区版 MongoDB 上实现中文全文搜索功能,通过结合 NestJS 和 Mongoose 开发环境,详细介绍了从 Docker 部署 MongoDB 环境到技术实现的全过程。文章分析了在没有企业版或 Atlas Search 支持的情况下,如何利用 `@node-rs/jieba` 分词工具完成中文分词处理,并通过回写机制实现搜索功能。文中还讨论了技术选型中的权衡取舍,包括分词算法选择、数据源回写策略以及与 Elasticsearch 的对比等关键问题。文章最后提出了一个值得思考的问题:在现有解决方案的基础上,是否可以通过扩展或优化进一步提升性能和用户体验?--DeepSeek

mongodb study node docker work nest fulltext search

openapi client 生成

本文详细介绍了如何通过特定的包生成优雅的API客户端并与Vue项目集成。文章涵盖了服务端配置、GitHub Actions自动化流程、前端代码封装以及Pinia状态管理等技术细节,并分享了开发过程中遇到的问题和解决方案,强调了整体体验的优雅性。--DeepSeek

study vue github ci-cd work 2024 openapi swagger

ts 严格模式配置,舒服

本文通过一段具体的tsconfig.json配置展示了TypeScript严格模式的使用,并以“严格模式真舒服啊”为主题,探讨了严格模式为开发带来的诸多好处。文章不仅呈现了一种经过实践验证的有效配置方案,更引发了对代码质量与开发者体验之间平衡的思考:在享受严格模式带来的规范性提升的同时,如何避免过度约束导致的效率下降?通过合理的配置调整,是否可以在保持代码严谨性的同时,保留一定的灵活性?这种平衡艺术不仅是技术层面的问题,更是开发团队在项目管理中需要深思的关键点。--DeepSeek

study ts daily config typescript typescript compiler

pyenv 记录

这篇文章记录了使用 `pyenv` 进行 Python 版本管理的经历与心得。作者在尝试构建 MongoDB 源码时遇到了 Python 版本兼容性问题,系统默认的 Python 3.12.3 因为脚本中使用了一些不兼容的 API 而无法顺利构建成功。因此,他决定使用 `pyenv` 来管理 Python 版本,并选择了 3.10.x 系列版本以避免兼容性问题。 文章详细介绍了如何在 Ubuntu 24.04 上安装和配置 `pyenv`,包括通过自动安装脚本快速部署以及镜像源的配置过程。作者提到在安装过程中遇到了一些问题,例如下载进度不显示、安装信息不够透明等,并对工具的友好性提出了批评。 此外,文章还分享了如何通过配置文件设置国内镜像源(如清华源和腾讯源)来加速包管理工具 `pip` 和 `poetry` 的使用。尽管部分尝试未能成功,但最终通过手动修改配置文件解决了问题。 整篇文章不仅记录了技术细节,也反映了作者在解决问题过程中的思考与体验,提出了对工具设计和用户体验的反思。文章最后以一句警示“慎之, 千万不能写这种极度不友好的程序”收尾,并留下了关于镜像源失效原因的问题值得读者进一步探索。 问题:你是否遇到过类似版本兼容性问题?如果是的话,你是如何解决的?--DeepSeek

mongodb study daily env install pyenv