<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Linaaaqi</title><description>这是一个使用 Astro 和 React 开发的博客主题。</description><link>https://linaaaqi.com/</link><language>zh-CN</language><item><title>Node 开发 CLI 工具简易指南</title><link>https://linaaaqi.com/posts/node/node-%E5%BC%80%E5%8F%91-cli-%E5%B7%A5%E5%85%B7%E7%AE%80%E6%98%93%E6%8C%87%E5%8D%97/</link><guid isPermaLink="true">https://linaaaqi.com/posts/node/node-%E5%BC%80%E5%8F%91-cli-%E5%B7%A5%E5%85%B7%E7%AE%80%E6%98%93%E6%8C%87%E5%8D%97/</guid><description>本文介绍了使用 Node.js 和 TypeScript 开发 CLI 工具的实用方法，从项目搭建、核心实现到用户体验优化，提供了完整的开发指南和最佳实践建议</description><pubDate>Tue, 19 Aug 2025 15:27:00 GMT</pubDate></item><item><title>clientWidth scrollWidth offsetWidth 傻傻分不清楚</title><link>https://linaaaqi.com/posts/web/clientwidth-scrollwidth-offsetwidth-%E5%82%BB%E5%82%BB%E5%88%86%E4%B8%8D%E6%B8%85%E6%A5%9A/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/clientwidth-scrollwidth-offsetwidth-%E5%82%BB%E5%82%BB%E5%88%86%E4%B8%8D%E6%B8%85%E6%A5%9A/</guid><description>Element.clientWidth、Element.scrollWidth 和 HTMLElement.offsetWidth 是 DOM 元素的三个常用属性，用于获取元素的宽度信息。本文介绍了这三个属性的定义、计算公式和示例，帮助开发者更好地理解它们之间的区别。</description><pubDate>Thu, 16 Jan 2025 15:21:00 GMT</pubDate></item><item><title>Git 推送分支提示错误</title><link>https://linaaaqi.com/posts/devops/git-%E6%8E%A8%E9%80%81%E5%88%86%E6%94%AF%E6%8F%90%E7%A4%BA%E9%94%99%E8%AF%AF/</link><guid isPermaLink="true">https://linaaaqi.com/posts/devops/git-%E6%8E%A8%E9%80%81%E5%88%86%E6%94%AF%E6%8F%90%E7%A4%BA%E9%94%99%E8%AF%AF/</guid><description>Git 推送分支时，若遇到 HTTP 500 Internal Server Error 错误，可能是单个文件大小超过 Git 缓冲区大小。解决方案包括设置全局或当前仓库的 buffer size，或删除过大的文件。</description><pubDate>Fri, 27 Dec 2024 16:53:00 GMT</pubDate></item><item><title>The Secrets of the &apos;delete&apos; Operator in JavaScript</title><link>https://linaaaqi.com/posts/web/the-secrets-of-the-delete-operator-in-javascript/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/the-secrets-of-the-delete-operator-in-javascript/</guid><description>The real purpose of the ‘delete operator’ in JavaScript is to delete a property reference of an object. It can behave strangely in some special cases, so it’s best to only use it to remove configurable properties that exist on the object itself. Additionally, when you remove a property from an object, and this property’s value is an object without any remaining references, the JavaScript runtime will eventually automatically free the object owned by that property.</description><pubDate>Fri, 27 Dec 2024 16:53:00 GMT</pubDate></item><item><title>The web&apos;s Clipboard API</title><link>https://linaaaqi.com/posts/web/the-webs-clipboard-api/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/the-webs-clipboard-api/</guid><description>本文介绍了 Web Clipboard API 的使用方法，包括如何复制和读取剪贴板中的文本，提供了详细的代码示例和解释。</description><pubDate>Fri, 27 Dec 2024 16:53:00 GMT</pubDate></item><item><title>iOS 键盘弹出导致布局问题</title><link>https://linaaaqi.com/posts/web/ios-%E9%94%AE%E7%9B%98%E5%BC%B9%E5%87%BA%E5%AF%BC%E8%87%B4%E5%B8%83%E5%B1%80%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/ios-%E9%94%AE%E7%9B%98%E5%BC%B9%E5%87%BA%E5%AF%BC%E8%87%B4%E5%B8%83%E5%B1%80%E9%97%AE%E9%A2%98/</guid><description>利用 Visual ViewPort API 解决 iOS 下键盘弹出时 Webkit 会导致页面布局出现滚动条等问题。</description><pubDate>Fri, 27 Dec 2024 16:53:00 GMT</pubDate></item><item><title>通过Gitlab CI构建Docker镜像</title><link>https://linaaaqi.com/posts/devops/%E9%80%9A%E8%BF%87-gitlab-ci-%E6%9E%84%E5%BB%BA-docker-%E9%95%9C%E5%83%8F/</link><guid isPermaLink="true">https://linaaaqi.com/posts/devops/%E9%80%9A%E8%BF%87-gitlab-ci-%E6%9E%84%E5%BB%BA-docker-%E9%95%9C%E5%83%8F/</guid><description>本文介绍了如何通过Gitlab CI在Docker环境中构建Docker镜像。首先，解释了`dind`（Docker in Docker）的概念，然后展示了项目的文件结构，包括`.gitlab-ci.yml`和`Dockerfile`。接着，详细讲解了`.gitlab-ci.yml`文件的配置，特别是如何使用`docker:dind`服务来构建和推送Docker镜像。最后，提供了相关文档链接供进一步阅读。</description><pubDate>Fri, 01 Jan 2021 00:00:00 GMT</pubDate></item><item><title>js 中的 debounce(防抖) 和 throttle(节流)</title><link>https://linaaaqi.com/posts/web/js-%E4%B8%AD%E7%9A%84-debounce%E9%98%B2%E6%8A%96-%E5%92%8C-throttle%E8%8A%82%E6%B5%81/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/js-%E4%B8%AD%E7%9A%84-debounce%E9%98%B2%E6%8A%96-%E5%92%8C-throttle%E8%8A%82%E6%B5%81/</guid><description>防抖：将多次操作合并为一次操作，维护一个计时器，规定在 delay 时间后触发函数，期间再次触发会重置计时器。节流：保证一定时间内只触发一次函数，通过判断是否到达一定时间来触发函数。区别：节流在规定时间内一定会执行一次，而防抖只在最后一次事件后触发。</description><pubDate>Mon, 20 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Vue 2 升级 TypeScript 简单食用方式</title><link>https://linaaaqi.com/posts/web/vuejs-2-%E5%8D%87%E7%BA%A7-typescript-%E7%9A%84%E7%AE%80%E5%8D%95%E9%A3%9F%E7%94%A8%E6%96%B9%E5%BC%8F/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/vuejs-2-%E5%8D%87%E7%BA%A7-typescript-%E7%9A%84%E7%AE%80%E5%8D%95%E9%A3%9F%E7%94%A8%E6%96%B9%E5%BC%8F/</guid><description>Vue 2 升级 TypeScript 简单食用方式：本文介绍了如何在 Vue 2 项目中添加 TypeScript 支持，包括安装 TypeScript、配置 `tsconfig.json` 文件、使用 `Vue.extend` 和 `vue-class-component` 定义组件等方法。通过这些步骤，您可以在 Vue 2 项目中享受 TypeScript 带来的静态类型检查和更好的开发体验。</description><pubDate>Mon, 02 Dec 2019 00:00:00 GMT</pubDate></item><item><title>GitHub Actions 及 GitHub Pages 简单搭配</title><link>https://linaaaqi.com/posts/devops/git-actions-%E5%9F%BA%E7%A1%80%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/</link><guid isPermaLink="true">https://linaaaqi.com/posts/devops/git-actions-%E5%9F%BA%E7%A1%80%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/</guid><description>本文介绍了 GitHub Actions 和 GitHub Pages 的基本概念及其优势，并通过示例展示了如何使用 GitHub Actions 实现对 GitHub Pages 的自动化部署。</description><pubDate>Sat, 28 Sep 2019 00:00:00 GMT</pubDate></item><item><title>async / await 使用注意</title><link>https://linaaaqi.com/posts/web/async-await-%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F/</link><guid isPermaLink="true">https://linaaaqi.com/posts/web/async-await-%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F/</guid><description>本文介绍了 JavaScript 中 `async/await` 的用法，解释了其语法、返回值和执行顺序，并通过示例展示了如何使用 `async/await` 处理异步操作，避免回调地狱。</description><pubDate>Tue, 28 May 2019 00:00:00 GMT</pubDate></item></channel></rss>