<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0"><channel><title>Jonathan</title><link>https://yang143.cn</link><atom:link href="https://yang143.cn/rss.xml" rel="self" type="application/rss+xml"/><description>心怀所愿，奔赴山海</description><generator>Halo v2.22.14</generator><language>zh-cn</language><image><url>https://yun.yang143.cn/blog/2024/1/logo.webp</url><title>Jonathan</title><link>https://yang143.cn</link></image><lastBuildDate>Fri, 15 May 2026 13:34:21 GMT</lastBuildDate><item><title><![CDATA[vue总结]]></title><link>https://yang143.cn/archives/1709091730329</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vue%E6%80%BB%E7%BB%93&amp;url=/archives/1709091730329" width="1" height="1" alt="" style="opacity:0;">Vue 总结 对 proxy &amp; Object.defineProperty 理解 Object.defineProperty 的主要三个问题： 不能监听数组变化 ：无法监听到数组下标的变化，导致通过数组下标添加元素，不能实时响应 必须遍历对象的每个属性 ：只能劫持对象的属性，从而需要对每个对象，每]]></description><guid isPermaLink="false">/archives/1709091730329</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Tue, 29 Aug 2023 08:04:00 GMT</pubDate></item><item><title><![CDATA[内网穿透 - frp]]></title><link>https://yang143.cn/archives/1708409281805</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%20-%20frp&amp;url=/archives/1708409281805" width="1" height="1" alt="" style="opacity:0;">github 文档地址 使用 systemd 这个示例将会演示在 Linux 系统下使用 systemd 控制 frps 及配置开机自启。 在 Linux 系统下，使用systemd 可以方便地控制 frp 服务端 frps 的启动和停止、配置后台运行和开启自启。]]></description><guid isPermaLink="false">/archives/1708409281805</guid><dc:creator>Jonathan</dc:creator><category>工具</category><pubDate>Fri, 19 May 2023 06:56:00 GMT</pubDate></item><item><title><![CDATA[vite打包优化]]></title><link>https://yang143.cn/archives/1708604320680</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vite%E6%89%93%E5%8C%85%E4%BC%98%E5%8C%96&amp;url=/archives/1708604320680" width="1" height="1" alt="" style="opacity:0;">分析打包 安装 rollup-plugin-visualizer 插件，此插件可以展示构建时长、chunk 数量及大小，是分析构建的绝佳利器。 pnpm add rollup-plugin-visualizer -D 在 vite.config.ts 中引入 import { visualize]]></description><guid isPermaLink="false">/archives/1708604320680</guid><dc:creator>Jonathan</dc:creator><category>经验分享</category><pubDate>Mon, 10 Apr 2023 12:20:00 GMT</pubDate></item><item><title><![CDATA[GitHub自动构建并部署]]></title><link>https://yang143.cn/archives/1705822864338</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=GitHub%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BA%E5%B9%B6%E9%83%A8%E7%BD%B2&amp;url=/archives/1705822864338" width="1" height="1" alt="" style="opacity:0;">name: Release on: push: branches: - main jobs: Build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 -]]></description><guid isPermaLink="false">/archives/1705822864338</guid><dc:creator>Jonathan</dc:creator><category>经验分享</category><pubDate>Tue, 21 Mar 2023 07:50:00 GMT</pubDate></item><item><title><![CDATA[coding项目自动构建部署]]></title><link>https://yang143.cn/archives/1705756144233</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=coding%E9%A1%B9%E7%9B%AE%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BA%E9%83%A8%E7%BD%B2&amp;url=/archives/1705756144233" width="1" height="1" alt="" style="opacity:0;">1. 创建构建计划 1.1 选择自定义构建过程 1.2 配置代码源 根据需求选择代码源并配置代码仓库，配置完成后直接点]]></description><guid isPermaLink="false">/archives/1705756144233</guid><dc:creator>Jonathan</dc:creator><category>经验分享</category><category>工具</category><pubDate>Wed, 15 Feb 2023 07:28:00 GMT</pubDate></item><item><title><![CDATA[玩转JS之ES新特性及实用小技巧]]></title><link>https://yang143.cn/archives/1708681825870</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=%E7%8E%A9%E8%BD%ACJS%E4%B9%8BES%E6%96%B0%E7%89%B9%E6%80%A7%E5%8F%8A%E5%AE%9E%E7%94%A8%E5%B0%8F%E6%8A%80%E5%B7%A7&amp;url=/archives/1708681825870" width="1" height="1" alt="" style="opacity:0;">String.prototype.padStart -- es2017 把指定字符串填充到字符串头部，返回新字符串。 语法 str.padStart(targetLength [, padString] targetLength 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度，则返]]></description><guid isPermaLink="false">/archives/1708681825870</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Wed, 16 Nov 2022 05:58:00 GMT</pubDate></item><item><title><![CDATA[算法-跳跃游戏]]></title><link>https://yang143.cn/archives/1708412608778</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=%E7%AE%97%E6%B3%95-%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F&amp;url=/archives/1708412608778" width="1" height="1" alt="" style="opacity:0;">给定一个非负整数数组 nums ，你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1： 输入：nums = [2,3,1,1,4]]]></description><guid isPermaLink="false">/archives/1708412608778</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Tue, 31 May 2022 07:08:00 GMT</pubDate></item><item><title><![CDATA[完美解决CentOS8 yum安装AppStream报错，更新yum后无法makecache的问题]]></title><link>https://yang143.cn/archives/1705908254546</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=%E5%AE%8C%E7%BE%8E%E8%A7%A3%E5%86%B3CentOS8%20yum%E5%AE%89%E8%A3%85AppStream%E6%8A%A5%E9%94%99%EF%BC%8C%E6%9B%B4%E6%96%B0yum%E5%90%8E%E6%97%A0%E6%B3%95makecache%E7%9A%84%E9%97%AE%E9%A2%98&amp;url=/archives/1705908254546" width="1" height="1" alt="" style="opacity:0;">问题 CentOS 8 yum安装软件时，提示无法从AppStream下载 [root@C8-3 ~]# yum -y install httpd mariadb-server mariadb php php-mysql Repository AppStream is listed more tha]]></description><guid isPermaLink="false">/archives/1705908254546</guid><dc:creator>Jonathan</dc:creator><category>经验分享</category><pubDate>Mon, 23 May 2022 02:56:00 GMT</pubDate></item><item><title><![CDATA[pm2命令手册]]></title><link>https://yang143.cn/archives/1705926909739</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=pm2%E5%91%BD%E4%BB%A4%E6%89%8B%E5%86%8C&amp;url=/archives/1705926909739" width="1" height="1" alt="" style="opacity:0;">pm2 常用命令 pm2 stop app # 停止服务 pm2 restart app # 重启服务 pm2 pull app # 更新服务到最新代码 pm2 show app # 查看服务的参数信息 pm2 log app # 查看服务日志 pm2 ls # 查看已部署的服务列表 p]]></description><guid isPermaLink="false">/archives/1705926909739</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Thu, 28 Apr 2022 10:01:00 GMT</pubDate></item><item><title><![CDATA[nginx]]></title><link>https://yang143.cn/archives/1705926240883</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=nginx&amp;url=/archives/1705926240883" width="1" height="1" alt="" style="opacity:0;">nginx 1. 快速安装 1.1 安装 yum install nginx 安装完成后命令行中输入nginx -v查看当前 Nginx 版本信息 1.2 相关文件夹 使用 rpm -ql nginx 来查看 Nginx 安装位置 主要文件夹有两个 /etc/nginx/conf.d/]]></description><guid isPermaLink="false">/archives/1705926240883</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Tue, 12 Apr 2022 08:36:00 GMT</pubDate></item><item><title><![CDATA[oh-my-zsh]]></title><link>https://yang143.cn/archives/1705908946001</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=oh-my-zsh&amp;url=/archives/1705908946001" width="1" height="1" alt="" style="opacity:0;">安装zshbrew install zsh zsh-completions 切换到zsh[sudo] chsh -s $(which zsh) 安装oh-my-zshgit clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh]]></description><guid isPermaLink="false">/archives/1705908946001</guid><dc:creator>Jonathan</dc:creator><category>工具</category><pubDate>Thu, 24 Mar 2022 03:26:00 GMT</pubDate></item><item><title><![CDATA[chrome 开发者面板操作指南]]></title><link>https://yang143.cn/archives/f77f06b2-b524-459b-8cf8-fe07d0af0820</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=chrome%20%E5%BC%80%E5%8F%91%E8%80%85%E9%9D%A2%E6%9D%BF%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97&amp;url=/archives/f77f06b2-b524-459b-8cf8-fe07d0af0820" width="1" height="1" alt="" style="opacity:0;">编辑页面上的任何文本 在控制台输入document.body.contentEditable="true"或者document.designMode = 'on'就可以实现对网页的编辑了。 递增/递减 CSS 属性值 * 增量0.1 * Mac： Option +向上和Option +向下]]></description><guid isPermaLink="false">/archives/f77f06b2-b524-459b-8cf8-fe07d0af0820</guid><dc:creator>Jonathan</dc:creator><category>工具</category><pubDate>Mon, 10 Jan 2022 08:08:00 GMT</pubDate></item><item><title><![CDATA[vue2使用composition-api&<script setup>]]></title><link>https://yang143.cn/archives/ffdbed44-1b43-4d2e-b654-078bf1af015c</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vue2%E4%BD%BF%E7%94%A8composition-api%26%3Cscript%20setup%3E&amp;url=/archives/ffdbed44-1b43-4d2e-b654-078bf1af015c" width="1" height="1" alt="" style="opacity:0;">Vue2 像 Vue3 一样使用compostition-api #安装 npm install @vue/composition-api # or yarn add @vue/composition-api 在使用 @vue/composition-api 前，必须先通过 Vue.use() 进行]]></description><guid isPermaLink="false">/archives/ffdbed44-1b43-4d2e-b654-078bf1af015c</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><category>经验分享</category><pubDate>Fri, 10 Dec 2021 02:02:00 GMT</pubDate></item><item><title><![CDATA[vue2源码分析-new vue发生了什么]]></title><link>https://yang143.cn/archives/4c1a2054-1c66-4c49-87fb-5187c0ea65c4</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vue2%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90-new%20vue%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88&amp;url=/archives/4c1a2054-1c66-4c49-87fb-5187c0ea65c4" width="1" height="1" alt="" style="opacity:0;">src/core/instance/index.js initMixin 注册_init 方法 initLifecycle(vm) initEvents(vm) initRender(vm) callHook(vm, 'beforeCreate') initInjections(vm) // res]]></description><guid isPermaLink="false">/archives/4c1a2054-1c66-4c49-87fb-5187c0ea65c4</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Tue, 30 Nov 2021 10:02:00 GMT</pubDate></item><item><title><![CDATA[vue2源码分析-数据驱动]]></title><link>https://yang143.cn/archives/1705911766534</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vue2%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90-%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8&amp;url=/archives/1705911766534" width="1" height="1" alt="" style="opacity:0;">Vue.js 一个核心思想是数据驱动。所谓数据驱动，是指视图是由数据驱动生成的，我们对视图的修改，不会直接操作 DOM，而是通过修改数据。他相比我们传统的前端开发，如使用 jQuery 等前端库直接修改 DOM，大大简化了代码量。特别是当交互复杂的时候，只关心数据的修改会让代码逻辑变得非常清晰，因为]]></description><guid isPermaLink="false">/archives/1705911766534</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Mon, 29 Nov 2021 08:23:00 GMT</pubDate></item><item><title><![CDATA[vue2 源码分析-Vue 异步更新原理]]></title><link>https://yang143.cn/archives/1705910375277</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vue2%20%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90-Vue%20%E5%BC%82%E6%AD%A5%E6%9B%B4%E6%96%B0%E5%8E%9F%E7%90%86&amp;url=/archives/1705910375277" width="1" height="1" alt="" style="opacity:0;">Data对象：vue中的data方法中返回的对象； Dep对象：每一个Data属性都会创建一个Dep，用来搜集所有使用到这个Data的Watcher对象； Watcher对象：组件视图对象，主要用于渲染DOM V]]></description><guid isPermaLink="false">/archives/1705910375277</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Wed, 24 Nov 2021 11:04:00 GMT</pubDate></item><item><title><![CDATA[vue-cli 迁移至 vite]]></title><link>https://yang143.cn/archives/1705910033187</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vue-cli%20%E8%BF%81%E7%A7%BB%E8%87%B3%20vite&amp;url=/archives/1705910033187" width="1" height="1" alt="" style="opacity:0;"># 安装插件 yarn add -D vite-plugin-vue2 修改 vite.config.js import {createVuePlugin} from 'vite-plugin-vue2' import {defineConfig} from 'vite' export defau]]></description><guid isPermaLink="false">/archives/1705910033187</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><category>工具</category><pubDate>Tue, 23 Nov 2021 07:02:00 GMT</pubDate></item><item><title><![CDATA[vite]]></title><link>https://yang143.cn/archives/1705909804882</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=vite&amp;url=/archives/1705909804882" width="1" height="1" alt="" style="opacity:0;">传统的 bundle 模式 Vite vite 工作流 启动服务 =&gt; 查找入口文件（module script） =&gt; 浏览器发送请求 =&gt; vite劫持请求处理返回文件到浏览器 Vite 运行 Dev 命令后只做了两件事情，一是启动了一个用于承载资源服务的 service；二是使用 esbuil]]></description><guid isPermaLink="false">/archives/1705909804882</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Mon, 22 Nov 2021 07:52:00 GMT</pubDate></item><item><title><![CDATA[Python 学习笔记（变量类型）]]></title><link>https://yang143.cn/archives/a83b1f01-ad1f-4dd1-8942-d7b654d6cc61</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=Python%20%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E5%8F%98%E9%87%8F%E7%B1%BB%E5%9E%8B%EF%BC%89&amp;url=/archives/a83b1f01-ad1f-4dd1-8942-d7b654d6cc61" width="1" height="1" alt="" style="opacity:0;">标准数据类型（5） String 字符串 Number 数字 List 列表 Tuple 元祖 Dictionary 字典 数字 Python支持四种不同的数字类型： int (有符号整数) lo]]></description><guid isPermaLink="false">/archives/a83b1f01-ad1f-4dd1-8942-d7b654d6cc61</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Sat, 20 Nov 2021 11:21:00 GMT</pubDate></item><item><title><![CDATA[Python学习笔记（运算符）]]></title><link>https://yang143.cn/archives/81e35cf8-6b83-4578-908b-e81ea1caec32</link><description><![CDATA[<img src="https://yang143.cn/plugins/feed/assets/telemetry.gif?title=Python%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E8%BF%90%E7%AE%97%E7%AC%A6%EF%BC%89&amp;url=/archives/81e35cf8-6b83-4578-908b-e81ea1caec32" width="1" height="1" alt="" style="opacity:0;">Python语言支持以下类型的运算符: 算术运算符 比较（关系）运算符 复制运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级]]></description><guid isPermaLink="false">/archives/81e35cf8-6b83-4578-908b-e81ea1caec32</guid><dc:creator>Jonathan</dc:creator><category>学习笔记</category><pubDate>Thu, 18 Nov 2021 09:00:00 GMT</pubDate></item></channel></rss>