<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ChlorineC&apos;s Blog</title><description>Coding With Passion</description><link>https://chlorinec.top/</link><language>zh-CN</language><follow_challenge><feedId>114519738335069184</feedId><userId>100918347469291520</userId></follow_challenge><item><title>ROG Ally Xbox X 掌机折腾记录</title><link>https://chlorinec.top//posts//</link><guid isPermaLink="true">https://chlorinec.top//posts//</guid><pubDate>Mon, 06 Apr 2026 09:16:00 GMT</pubDate></item><item><title>我用OpenCode全自动优化了终端启动速度</title><link>https://chlorinec.top//posts/optimize-terminal-with-opencode/</link><guid isPermaLink="true">https://chlorinec.top//posts/optimize-terminal-with-opencode/</guid><description>从 62 秒到 0.2 秒，313 倍速度提升的完整优化之旅。本文分享如何使用 OpenCode AI 进行全自动终端优化，从问题诊断到最终解决，完整记录这次性能提升 313 倍的优化过程。同时解决了全局 CLI 依赖混乱、不同环境找不到正确工具的问题。</description><pubDate>Wed, 04 Mar 2026 10:02:00 GMT</pubDate></item><item><title>【monorepo疑难症】pnpm不是依赖隔离吗？怎么类型还是串味了？</title><link>https://chlorinec.top//posts/global-types-in-monorepo/</link><guid isPermaLink="true">https://chlorinec.top//posts/global-types-in-monorepo/</guid><description>monorepo 迁移后，作者发现：即便 pnpm 依赖“隔离”，不相关子包仍会出现 React 类型串味。根因是某子包依赖版本不一致，导致安装了两份 @types/react，而 TS 的类型解析会按 Node 向上查找并穿透 symlink；更致命的是 JSX/React 属于全局类型，一旦被某个上下文加载就可能污染整个仓库。文中还用最小复现说明：根 tsconfig.json 会把 monorepo 视作同一类型上下文；为避免冲突，关键类型依赖应尽量统一，或用独立 tsconfig、types/typeRoots 等付出配置成本隔离。</description><pubDate>Fri, 09 Jan 2026 08:11:00 GMT</pubDate></item><item><title>开源键盘固件编辑入门 &amp; Lofree Flow 2 87键Mac驱动分享</title><link>https://chlorinec.top//posts/qmk-and-via-hands-on/</link><guid isPermaLink="true">https://chlorinec.top//posts/qmk-and-via-hands-on/</guid><description>这篇文章介绍如何入门修改开源键盘固件，并分享 Lofree Flow 2 87 键在 Mac 上的驱动/配置方案。作者以 VIA（usevia.app） 为核心工具，说明通过网页端连接键盘后进行按键映射与功能调整的思路与入口，帮助用户快速上手自定义键位、适配 macOS 使用习惯，并提供相关资源链接以便直接配置。</description><pubDate>Wed, 31 Dec 2025 10:16:00 GMT</pubDate></item><item><title>当 Flexbox 遇上滚动：一场关于 min-height 的“捉迷藏”游戏</title><link>https://chlorinec.top//posts/flexbox-scroll-min-height/</link><guid isPermaLink="true">https://chlorinec.top//posts/flexbox-scroll-min-height/</guid><description>解释 Flexbox 与滚动容器的冲突根因（flex 项目默认 min-height:auto），并给出通用修复方案（min-height:0 或 overflow 与尺寸配合）、Tailwind 实践、嵌套场景与调试技巧，帮助在布局中恢复正确滚动。</description><pubDate>Sat, 27 Sep 2025 08:01:00 GMT</pubDate></item><item><title>微调一个自己的大模型可能远比想象中更容易</title><link>https://chlorinec.top//posts/weclone-practice/</link><guid isPermaLink="true">https://chlorinec.top//posts/weclone-practice/</guid><description>通过使用WeClone项目，用户可以轻松微调大模型，利用自己的聊天数据创建数字分身，整个过程简单且成本低，只需基础的计算机知识即可上手。微调的关键在于数据，LoRA技术使得在保持原有模型智能的基础上，低成本地优化特定任务表现。</description><pubDate>Sat, 14 Jun 2025 07:54:00 GMT</pubDate></item><item><title>「每日一技」使用patch对npm包缝缝补补</title><link>https://chlorinec.top//posts/npm-patch/</link><guid isPermaLink="true">https://chlorinec.top//posts/npm-patch/</guid><description>在前端开发中，使用patch-package或pnpm的内置patch功能可以优雅地修改npm包，保持代码的简便性和持久性。patch-package适合npm和yarn用户，而pnpm提供了更现代的解决方案。</description><pubDate>Thu, 17 Apr 2025 07:46:00 GMT</pubDate></item><item><title>「每日一技」nvm根据项目配置自动切换Node版本</title><link>https://chlorinec.top//posts/nvm-auto-switch/</link><guid isPermaLink="true">https://chlorinec.top//posts/nvm-auto-switch/</guid><description>通过创建 .nvmrc 文件和配置自动切换脚本，可以实现Node.js版本的自动切换，提高开发效率并避免版本不匹配的问题。建议将 .nvmrc 文件提交到版本控制，并在项目README中说明版本要求。</description><pubDate>Mon, 07 Apr 2025 15:05:00 GMT</pubDate></item><item><title>我平时都使用哪些AI工具——Raycast AI开启PC Agent时代</title><link>https://chlorinec.top//posts/my-ai-tools-recommendation/</link><guid isPermaLink="true">https://chlorinec.top//posts/my-ai-tools-recommendation/</guid><description>这篇博客总结了作者在AI工具使用上的经验，特别是如何通过Raycast AI提升工作效率。作者认为AI工具本质上是大脑的延伸，传统工具如Notion等主要解放了双手，而AI工具则进一步减轻了大脑负担。Raycast AI成为作者的主力平台，因其结合本地工具和多模态功能，提供了更强的智能和功能性，超越了之前使用的POE平台。</description><pubDate>Mon, 17 Mar 2025 16:12:00 GMT</pubDate></item><item><title>走进与逃离Arc：我的浏览器选择之路</title><link>https://chlorinec.top//posts/arc-browser-alternative/</link><guid isPermaLink="true">https://chlorinec.top//posts/arc-browser-alternative/</guid><description>作者回顾了自己从使用IE到Chrome、Edge，再到Arc浏览器的经历，强调Arc的创新设计和功能，但因性能问题决定寻找替代品，最终选择了Vivaldi浏览器，并通过配置还原Arc的部分体验。</description><pubDate>Wed, 19 Feb 2025 07:18:00 GMT</pubDate></item><item><title>我修好了我的博客——如何设计一个全新的博客框架</title><link>https://chlorinec.top//posts/my-brand-new-blog-system/</link><guid isPermaLink="true">https://chlorinec.top//posts/my-brand-new-blog-system/</guid><description>作者分享了个人博客框架迭代历程：从Hexo迁移到Astro的尝试，到发现Elog平台带来的启发，最终思考将Notion作为内容管理系统的新方案。文章重点描述了作者对博客系统的核心需求——解决创作同步问题，以及在探索NotionNext等解决方案过程中遇到的技术限制和思考。</description><pubDate>Tue, 18 Feb 2025 00:00:00 GMT</pubDate></item><item><title>每日一技：VS Code独立配置</title><link>https://chlorinec.top//posts/vscode-profile/</link><guid isPermaLink="true">https://chlorinec.top//posts/vscode-profile/</guid><description>使用VS Code的独立配置功能，可以为不同项目创建特定的配置文件，解决了在公司环境中因安全合规要求而无法使用第三方插件的问题。通过配置云同步和工作区单独配置，满足日常开发需求。推荐使用Codeium作为开源解决方案。</description><pubDate>Fri, 03 Jan 2025 19:12:00 GMT</pubDate></item><item><title>Typescript 类型声明 All-in-one</title><link>https://chlorinec.top//posts/all-about-dts/</link><guid isPermaLink="true">https://chlorinec.top//posts/all-about-dts/</guid><description>TypeScript 的类型声明文件 .d.ts 提供了 JavaScript 代码的附加元信息，支持类型提示和自动补全。使用 DefinitelyTyped 仓库可以为没有类型声明的 npm 包提供类型支持，类型定义可通过 type 和 interface 进行，declare 语法用于为已有的 JS 变量或函数添加类型。三斜杠指令用于引入额外的文件依赖。</description><pubDate>Fri, 03 Jan 2025 19:12:00 GMT</pubDate></item><item><title>前端模块化的最后一块拼图——浏览器中如何运行模块</title><link>https://chlorinec.top//posts/module-for-browsers/</link><guid isPermaLink="true">https://chlorinec.top//posts/module-for-browsers/</guid><description>前端模块化的演变包括CJS、AMD、CMD、UMD和ESM，现代浏览器支持ESM，webpack负责模块处理和打包，确保在浏览器中高效运行模块，支持代码拆分和Tree Shaking以优化性能。</description><pubDate>Thu, 02 Jan 2025 16:57:00 GMT</pubDate></item><item><title>抛弃React和Vue，让前端工程返璞归真</title><link>https://chlorinec.top//posts/front-end-without-toolchain/</link><guid isPermaLink="true">https://chlorinec.top//posts/front-end-without-toolchain/</guid><description>本文探讨了前端开发的复杂性，提倡回归以后端为中心的架构，强调使用简单的工具和技术，如模板引擎、jQuery、alpine.js和htmx，来简化开发流程。作者认为，现代前端工具链的复杂性逐渐偏离了简化开发的初衷，建议在不引入过多复杂性的情况下，利用Web Components等标准技术来实现可复用组件，从而提高开发效率。</description><pubDate>Fri, 01 Mar 2024 00:00:00 GMT</pubDate></item><item><title>再谈模块化：Node中ESM与CJS的解析策略</title><link>https://chlorinec.top//posts/how-node-resolve-modules/</link><guid isPermaLink="true">https://chlorinec.top//posts/how-node-resolve-modules/</guid><description>本文讨论了Node.js中ESM与CJS的模块解析策略，强调了tsconfig.json中的module和moduleResolution字段对模块解析的影响。通过分析Node对两种模块标准的支持，指出了配置不匹配导致的错误，并提供了解决方案，包括将moduleResolution修改为Node16以确保正确的解析算法。最后，强调了在使用ESM时必须在导入语句中包含文件扩展名。</description><pubDate>Mon, 19 Feb 2024 15:54:00 GMT</pubDate></item><item><title>2023年度总结——我为什么选择了前端</title><link>https://chlorinec.top//posts/personal-review-fe-in-2023/</link><guid isPermaLink="true">https://chlorinec.top//posts/personal-review-fe-in-2023/</guid><description>本文总结了作者在前端开发领域的学习与成长历程，从大二的项目学习到2023年的实习经历，强调了通过项目实践和面试驱动学习的重要性。作者探讨了前端技术的广度与深度，认为前端并未“死亡”，而是面临着技术的两极分化，未来的发展方向包括拓展Web技术栈和探索全栈开发。文章还提出了大前端技术栈的横向与纵向拓展策略，鼓励前端工程师不断学习与适应新技术。</description><pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Windows Dev Drive快速上手体验</title><link>https://chlorinec.top//posts/win-dev-drive-hands-on/</link><guid isPermaLink="true">https://chlorinec.top//posts/win-dev-drive-hands-on/</guid><description>Windows 11 23H2引入了Windows Dev Home和Dev Drive，后者基于ReFS文件系统，提供了性能提升和数据可靠性。在基准测试中，Dev Drive在某些开发命令下表现优于NTFS，平均领先约5秒。虽然Dev Home的功能尚未完全可用，但Dev Drive在日常开发中仍显示出一定的优势，值得开发者尝试。</description><pubDate>Wed, 15 Nov 2023 16:06:00 GMT</pubDate></item><item><title>Bun 1.0 初体验体验：这口包子香吗？</title><link>https://chlorinec.top//posts/bun-hands-on/</link><guid isPermaLink="true">https://chlorinec.top//posts/bun-hands-on/</guid><description>Bun 1.0是一个新的JavaScript运行时，作为Node.js的替代品，提供更快的包管理和开发解决方案。尽管目前在生产环境中尚不成熟，但它集成了多种工具，支持统一模块标准和Web API，具有显著的性能优势。Bun的包管理器速度比pnpm快4倍，支持原生JSX和TS，且具备构建工具的潜力。整体来看，Bun在运行时和工具链上均有加速效果，但仍需进一步发展以满足生产需求。</description><pubDate>Wed, 25 Oct 2023 00:00:00 GMT</pubDate></item><item><title>从零开始的SSR入门之旅</title><link>https://chlorinec.top//posts/ssr-from-scratch/</link><guid isPermaLink="true">https://chlorinec.top//posts/ssr-from-scratch/</guid><description>本文介绍了从零开始的SSR入门之旅。首先讲解了使用React Router进行路由配置，然后介绍了全局状态管理的实现，使用了redux和redux-toolkit。接下来讨论了数据预取的重要性，并使用thunk实现了异步请求数据的功能。最后，提供了一些参考资料供进一步学习。</description><pubDate>Wed, 20 Sep 2023 16:40:00 GMT</pubDate></item><item><title>【译&amp;补】使用ref回调替代useRef吧</title><link>https://chlorinec.top//posts/ref-callback/</link><guid isPermaLink="true">https://chlorinec.top//posts/ref-callback/</guid><description>在React中，useRef和useEffect常用于管理组件的可变值和副作用，但在响应DOM元素挂载时，使用useCallback作为ref的回调函数更为有效。useCallback确保在元素挂载和卸载时被调用，避免了因useRef导致的生命周期回调未触发的问题。文中还介绍了其他几种优化Node操作的方法，如使用useState、useStateRef和useRefWithCallback，以提高性能和管理复杂性。</description><pubDate>Mon, 04 Sep 2023 00:00:00 GMT</pubDate></item><item><title>从设计模式看 react-redux 的工作原理</title><link>https://chlorinec.top//posts/deep-dive-react-redux/</link><guid isPermaLink="true">https://chlorinec.top//posts/deep-dive-react-redux/</guid><description>本文探讨了redux的发布-订阅模式的实现，强调其与原生useContext和useReducer的区别。redux通过subscription实例实现按需刷新，避免无关组件的更新。文章详细介绍了发布-订阅模式的基本概念、与观察者模式的对比，以及redux中的实现，包括Provider组件和Hook API的用法，如useSelector和useDispatch等，展示了redux如何解耦组件与状态更新的过程。</description><pubDate>Wed, 23 Aug 2023 16:53:00 GMT</pubDate></item><item><title>你真的需要useMemo和useCallback吗</title><link>https://chlorinec.top//posts/do-u-need-memo-and-callback/</link><guid isPermaLink="true">https://chlorinec.top//posts/do-u-need-memo-and-callback/</guid><description>本文深入探讨了React中的useMemo和useCallback的使用场景和性能影响。useMemo用于缓存计算结果以减少不必要的计算，适合在计算开销较大的情况下使用，而useCallback用于缓存函数定义以避免不必要的组件刷新。作者强调，过度使用这两个Hook可能导致性能下降，建议在实际需要时再使用，并提出了其他优化方案，如使用useReducer和合理组织组件逻辑。</description><pubDate>Sun, 13 Aug 2023 16:48:00 GMT</pubDate></item><item><title>工欲善其事，必先利其器——打造自己趁手的终端体验</title><link>https://chlorinec.top//posts/shell-optimize/</link><guid isPermaLink="true">https://chlorinec.top//posts/shell-optimize/</guid><description>本文讨论了如何优化命令行终端体验，包括Shell Prompt的设计、Prompt工具的选择（如oh-my-posh和starship）、Nerd Fonts的使用，以及Powershell和Unix终端的配置。强调了不同版本Powershell的特点和配置文件的管理，介绍了oh-my-zsh的安装与主题选择，最后提到tmux作为终端复用工具的使用。</description><pubDate>Sun, 06 Aug 2023 17:01:00 GMT</pubDate></item><item><title>Docker 里的 shebang 踩坑记</title><link>https://chlorinec.top//posts/shell-shebang/</link><guid isPermaLink="true">https://chlorinec.top//posts/shell-shebang/</guid><description>在使用 Docker 部署 Node 后端项目时，遇到因 shebang 行尾符问题导致的错误。通过分析发现，Windows 的 CRLF 行尾符在 Linux 环境中导致无法识别 node，最终通过设置 VS Code 和 Git 配置为 LF 行尾符，以及使用 dos2unix 工具解决了问题。建议在团队中使用 .gitattributes 文件以确保一致的行尾符配置。</description><pubDate>Wed, 12 Jul 2023 17:38:00 GMT</pubDate></item><item><title>初探 Docker - 原理和实践</title><link>https://chlorinec.top//posts/hands-on-docker/</link><guid isPermaLink="true">https://chlorinec.top//posts/hands-on-docker/</guid><description>本文介绍了Docker的基本原理和实践，包括容器的轻量级特性、隔离机制、核心概念（镜像、容器、仓库）以及如何使用Docker命令启动容器、构建镜像和管理数据卷。强调了容器与虚拟机的区别，容器通过Linux的Namespace和Cgroups实现进程隔离，Dockerfile用于定义镜像的构建过程，数据卷用于实现容器间的数据共享和持久化存储。</description><pubDate>Tue, 11 Jul 2023 17:43:00 GMT</pubDate></item><item><title>Python 编程环境重新构建</title><link>https://chlorinec.top//posts/python-dev-env/</link><guid isPermaLink="true">https://chlorinec.top//posts/python-dev-env/</guid><description>本文记录了重新构建Python编程环境的过程，主要包括从零开始构建面向PyQt5的环境和整理混乱的Python环境。使用miniconda管理多个Python环境，强调了conda的包管理和虚拟环境管理功能，介绍了mamba作为conda的替代品以提高依赖解析和下载速度，并详细说明了安装CUDA和PyTorch的步骤。</description><pubDate>Sat, 08 Jul 2023 17:49:00 GMT</pubDate></item><item><title>WebSocket应用研究</title><link>https://chlorinec.top//posts/web-socket/</link><guid isPermaLink="true">https://chlorinec.top//posts/web-socket/</guid><description>本文探讨了在React中使用react-use-websocket库来实现WebSocket功能的最佳实践，包括如何封装WebSocket逻辑、处理连接状态、发送和接收消息，以及使用ArrayBuffer传输文件。此外，文中还介绍了Socket.IO的工作原理及其与WebSocket的区别，提供了Node.js后端服务器的示例代码，展示了如何实现低延迟的双向通信和进度反馈。</description><pubDate>Sat, 08 Jul 2023 17:47:00 GMT</pubDate></item><item><title>前端包管理器 - pnpm</title><link>https://chlorinec.top//posts/pnpm/</link><guid isPermaLink="true">https://chlorinec.top//posts/pnpm/</guid><description>pnpm是一个高效且节省空间的前端包管理器，通过改进的非扁平node_modules目录和硬链接机制优化依赖管理。与npm和yarn相比，pnpm在性能和兼容性上表现优越，尤其在缓存情况下安装速度更快。pnpm的安装过程分为解析、目录结构计算和链接依赖项三个步骤，采用符号链接解决幽灵依赖问题，并通过硬链接机制减少硬盘占用。pnpm还支持monorepo，并提供了操作全局store的命令。</description><pubDate>Fri, 09 Jun 2023 15:02:00 GMT</pubDate></item><item><title>前端包管理器 - yarn 与 PnP</title><link>https://chlorinec.top//posts/yarn-berry/</link><guid isPermaLink="true">https://chlorinec.top//posts/yarn-berry/</guid><description>本文介绍了前端包管理器Yarn的不同版本，特别是Yarn v2及其PnP（Plug&apos;n&apos;Play）机制。Yarn v1与npm相比具有离线模式和lock文件等优点，而Yarn v2引入了monorepo支持和零依赖安装。PnP机制替代了传统的node_modules目录，通过优化依赖解析过程，提高了安装速度并解决了依赖版本冲突和幽灵依赖问题。此外，文中还讨论了Yarn的插件化设计、兼容性问题及其解决方案。</description><pubDate>Fri, 09 Jun 2023 15:01:00 GMT</pubDate></item><item><title>前端包管理器 - npm</title><link>https://chlorinec.top//posts/npm/</link><guid isPermaLink="true">https://chlorinec.top//posts/npm/</guid><description>本文介绍了前端包管理器npm的发展历史、功能和重要性。npm不仅是一个包管理器，还是前端项目管理的基础，管理依赖、项目信息和脚本。文章详细探讨了npm的历史、模块化概念、依赖管理的演变，以及如何使用npm管理项目和发布自己的npm包。尽管npm在现代前端开发中逐渐被yarn和pnpm等新工具取代，但其核心思想和机制仍然对开发者有重要的学习价值。</description><pubDate>Tue, 06 Jun 2023 15:05:00 GMT</pubDate></item><item><title>HTML表单（form）相关知识</title><link>https://chlorinec.top//posts/html-form/</link><guid isPermaLink="true">https://chlorinec.top//posts/html-form/</guid><description>本文介绍了HTML表单的基本知识，包括表单的定义、元素、提交方法、验证方式及其在组件库中的应用。表单用于收集用户输入，支持多种元素如&lt;input&gt;、&lt;select&gt;和&lt;textarea&gt;，并通过action和method属性定义提交行为。强调了客户端和服务端的验证方式，以及使用JSON格式提交表单数据的优势。最后，讨论了在Ant Design与Vue中的表单使用方法。</description><pubDate>Wed, 31 May 2023 15:20:00 GMT</pubDate></item><item><title>monorepo 前端项目实操</title><link>https://chlorinec.top//posts/monorepo/</link><guid isPermaLink="true">https://chlorinec.top//posts/monorepo/</guid><description>本文介绍了monorepo（单体仓库）的概念及其在前端项目中的应用，强调了使用yarn workspace和lerna进行项目管理的优势。monorepo允许多个项目在同一仓库中管理，便于依赖共享和版本发布。文章还探讨了monorepo的优缺点、适用场景以及最佳实践，包括commit规范、Git Hooks和自动化工具的使用，旨在帮助开发者更高效地管理和维护前端项目。</description><pubDate>Fri, 26 May 2023 15:22:00 GMT</pubDate></item><item><title>浅谈软件架构：微服务和微前端</title><link>https://chlorinec.top//posts/microservice-hands-on/</link><guid isPermaLink="true">https://chlorinec.top//posts/microservice-hands-on/</guid><description>本文探讨了软件架构中的微服务和微前端概念，强调了微服务作为SOA架构的细化，解决了系统复杂性和效率问题。微前端则将微服务的思想应用于前端开发，允许将前端应用拆分为独立的小模块，提升可维护性和灵活性。文章还讨论了微服务和微前端的实现方案、优缺点，以及在特定场景下是否需要采用微前端架构。</description><pubDate>Thu, 25 May 2023 15:27:00 GMT</pubDate></item><item><title>防抖与节流的应用与实现</title><link>https://chlorinec.top//posts/js-debounce-and-throttle/</link><guid isPermaLink="true">https://chlorinec.top//posts/js-debounce-and-throttle/</guid><description>防抖和节流是用于合并频繁事件请求的技术，防抖在事件稳定后调用回调，而节流则在指定时间间隔内定期调用。防抖适用于搜索框和页面布局更新等场景，节流则用于限制事件处理的频率。可以使用Lodash库中的_.debounce和_.throttle函数来实现这两种功能，并通过按需引入来减小打包体积。</description><pubDate>Wed, 24 May 2023 15:31:00 GMT</pubDate></item><item><title>peerDependencies 版本冲突解决</title><link>https://chlorinec.top//posts/npm-peer-dependency/</link><guid isPermaLink="true">https://chlorinec.top//posts/npm-peer-dependency/</guid><description>在配置Prettier和ESLint、StyleLint时，遇到npm依赖冲突问题。解决方法包括使用--legacy-peer-deps选项、升级或降级相关依赖，如将stylelint-prettier降级至1.2.0以解决兼容性问题。yarn在处理依赖时未出现此问题，可能是其依赖解析策略不同。文中还探讨了peerDependencies的作用及其在依赖冲突中的处理方式。</description><pubDate>Wed, 24 May 2023 15:30:00 GMT</pubDate></item><item><title>我的个人密码管理方案 - KeePass</title><link>https://chlorinec.top//posts/KeePass/</link><guid isPermaLink="true">https://chlorinec.top//posts/KeePass/</guid><description>本文介绍了个人密码管理方案，选择了开源的KeePass作为主要工具，强调了其便捷的多端同步、自动填充和安全性。作者分享了KeePass的配置过程、插件使用、自动填充优化以及移动端的配置，最后讨论了双因素认证和TOTP的管理方法，提供了实用的参考资料和使用体验的改进建议。</description><pubDate>Tue, 23 May 2023 15:35:00 GMT</pubDate></item><item><title>前端开发要知道的网络基础</title><link>https://chlorinec.top//posts/network-fundamentals/</link><guid isPermaLink="true">https://chlorinec.top//posts/network-fundamentals/</guid><description>本文介绍了前端开发中网络基础的关键概念，包括HTTP状态码与REST API的关系、TCP/IP协议的三次握手与四次挥手、DNS和DHCP协议、用户状态校验、常见网络攻击及其防范、HTTPS协议及其加密算法、HTTP/2.0的特性以及WebSocket协议的应用。重点强调了安全性和性能优化的重要性。</description><pubDate>Thu, 18 May 2023 15:39:00 GMT</pubDate></item><item><title>深入 Javascript 基础</title><link>https://chlorinec.top//posts/javascript-fundamentals/</link><guid isPermaLink="true">https://chlorinec.top//posts/javascript-fundamentals/</guid><description>本文深入探讨了JavaScript的基础特性，包括基本数据类型、原型与原型链、this指针、闭包、作用域链等。强调了JavaScript的原型继承机制，null与undefined的区别，以及如何实现继承和使用闭包。还讨论了变量提升、局部死区和性能开销等概念，提供了对JavaScript语言设计的深入理解。</description><pubDate>Fri, 05 May 2023 16:00:00 GMT</pubDate></item><item><title>全排列问题</title><link>https://chlorinec.top//posts/permutation/</link><guid isPermaLink="true">https://chlorinec.top//posts/permutation/</guid><description>全排列问题涉及将n个不同元素中任取m个元素的排列，特别是m=n时的全排列。文中介绍了递归DFS与剪枝方法来解决全排列问题，避免重复排列的产生，并提供了C#代码实现。此外，还讨论了如何找到下一个排列数的算法，强调了从后向前查找升序对和逆序排列的步骤，以实现字典序的排列。</description><pubDate>Fri, 28 Apr 2023 16:44:00 GMT</pubDate></item><item><title>深入理解浏览器事件循环</title><link>https://chlorinec.top//posts/js-event-loop/</link><guid isPermaLink="true">https://chlorinec.top//posts/js-event-loop/</guid><description>本文深入探讨了浏览器的事件循环机制，解释了JavaScript的执行过程、事件循环的必要性以及如何实现非阻塞调用。通过分析JS引擎的单线程特性和渲染线程的互斥，提出了通过消息队列和事件循环来处理异步任务的方案。此外，文章还介绍了宏任务与微任务的优先级机制，并通过示例代码展示了事件循环的执行顺序和现代浏览器的多线程模型。</description><pubDate>Tue, 25 Apr 2023 16:39:00 GMT</pubDate></item><item><title>使用 Hexo 搭建和部署个人网站</title><link>https://chlorinec.top//posts/blog-solution/</link><guid isPermaLink="true">https://chlorinec.top//posts/blog-solution/</guid><description>本文介绍了使用Hexo搭建和部署个人网站的过程，包括技术选型、博客架构、配置与插件、部署方案以及后续开发计划。Hexo因其简单的架构和良好的自定义性被选为平台，文中详细阐述了如何通过Git和CI/CD实现自动化部署，以及如何配置图床和优化SEO。还提供了多个Hexo主题的推荐和未来开发的计划，包括基于React的GUI管理工具。</description><pubDate>Fri, 21 Apr 2023 16:41:00 GMT</pubDate></item><item><title>关于刷题环境的看法与选择</title><link>https://chlorinec.top//posts/what-is-best-leetcode-lang/</link><guid isPermaLink="true">https://chlorinec.top//posts/what-is-best-leetcode-lang/</guid><description>本文讨论了刷题时选择编程语言和环境的标准，强调使用简单的文本编辑器和单文件脚本而非IDE。推荐的语言包括C++、JavaScript、Python、C# Script和Java，分别分析了它们的优缺点和配置过程。C++因其性能和现代语法被优先推荐，JavaScript和Python则因其易用性和灵活性受到青睐。文章还提到在线平台的环境不透明性和代码提示不足的问题。</description><pubDate>Tue, 11 Apr 2023 16:46:00 GMT</pubDate></item><item><title>初探 C# Script</title><link>https://chlorinec.top//posts/hands-on-csx/</link><guid isPermaLink="true">https://chlorinec.top//posts/hands-on-csx/</guid><description>C#脚本（CSX）是一个用于快速测试C#和.NET代码段的工具，源于VS2015发布的REPL环境。它允许用户在命令行中轻松编写和运行C#脚本，支持引入程序集和其他脚本。文中提供了一个经典的牌组大小判断的示例，并介绍了两种运行CSX脚本的工具：dotnet-script和scriptcs，推荐使用dotnet-script，因为其功能更强大且更新更频繁。最后，文中还提到如何使用传统项目环境进行刷题。</description><pubDate>Mon, 10 Apr 2023 16:48:00 GMT</pubDate></item><item><title>利用Table布局实现EDM设计</title><link>https://chlorinec.top//posts/edm/</link><guid isPermaLink="true">https://chlorinec.top//posts/edm/</guid><description>EDM（电子直邮营销）是一种通过电子邮件向特定受众发送商业信息的营销方式，具有独特的HTML编写要求，如兼容性问题和使用&lt;table&gt;布局。EDM编写需遵循特定规则，如使用内联样式和独立代码处理移动端与桌面端。文中还探讨了EDM编写过程中的可读性和维护性问题，并提出了建立EDM框架的建议，以提高代码的可维护性和可读性，强调组件复用和样式管理的重要性。</description><pubDate>Sun, 19 Mar 2023 16:50:00 GMT</pubDate></item><item><title>寻找 ReSharper 开源替代</title><link>https://chlorinec.top//posts/reshaper-alternatives/</link><guid isPermaLink="true">https://chlorinec.top//posts/reshaper-alternatives/</guid><description>本文探讨了寻找ReSharper的开源替代品的过程，作者最终选择放弃ReSharper，回归原生Visual Studio，原因包括高昂的授权费用、启动速度慢以及配置复杂。为了改善.NET开发体验，作者从前端开发者的角度对Visual Studio进行了多方面的自定义，包括主题、字体、代码提示、格式化工具等，推荐了SonarLint、CodeRush、Code Maid、CSharpier等插件，以尽可能复刻ReSharper的功能。</description><pubDate>Tue, 14 Feb 2023 00:00:00 GMT</pubDate></item><item><title>协变与逆变</title><link>https://chlorinec.top//posts/covariant-and-contravarirant/</link><guid isPermaLink="true">https://chlorinec.top//posts/covariant-and-contravarirant/</guid><description>协变和逆变是类型安全和类型转换中的重要概念，尤其在强类型语言如C#/Java/Typescript中应用广泛。协变允许子类型隐式转化为父类型，而逆变则相反。PECS规则强调生产者逆变和消费者协变，以确保类型安全。C#中通过in和out关键字实现协变和逆变，允许基于类型的类型在处理继承关系时保持类型安全。</description><pubDate>Mon, 23 Jan 2023 16:53:00 GMT</pubDate></item><item><title>评《不能继续助长部分中国大学生的好逸恶劳思潮》</title><link>https://chlorinec.top//posts//</link><guid isPermaLink="true">https://chlorinec.top//posts//</guid><description>本文对一篇批评中国大学生懒惰思潮的文章进行了深刻反思，指出加班与劳动的混淆，以及资本家对劳动者的剥削。作者强调劳动的真正意义在于实现个人价值，而非单纯的加班。通过对比不同类型的奴隶，揭示了社会阶层的复杂性与劳动者的困境，呼吁年轻人应当团结起来，追求真正的自由与尊重。</description><pubDate>Fri, 28 Jan 2022 16:56:00 GMT</pubDate></item><item><title>20岁的碎碎念</title><link>https://chlorinec.top//posts/birthday-20th/</link><guid isPermaLink="true">https://chlorinec.top//posts/birthday-20th/</guid><description>这篇文章是作者在20岁生日时的感悟，回忆了童年、成长过程中的学习与恋爱经历，以及对时间流逝的思考。作者表达了对过去的怀念和对未来的期待，强调了在亲密关系中保持独立的重要性，并希望能继续记录生活中的思考与回忆。最后，作者祝自己生日快乐，展现了对生活的积极态度。</description><pubDate>Wed, 01 Dec 2021 16:57:00 GMT</pubDate></item></channel></rss>