<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Notos Leung</title>
    <link>https://notosleung.com/</link>
    <description>Keep It Simple &amp; Stupid.</description>
    <language>zh-CN</language>
    <lastBuildDate>Wed, 01 Apr 2026 02:00:00 GMT</lastBuildDate>
    <atom:link href="https://notosleung.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用Scoop重装VSCode</title>
      <link>https://notosleung.com/posts/scoop-install-vscode</link>
      <guid isPermaLink="true">https://notosleung.com/posts/scoop-install-vscode</guid>
      <pubDate>Wed, 01 Apr 2026 02:00:00 GMT</pubDate>
      <description>先说明一下, Scoop 是适用于 Windows 平台的命令行软件管理工具, 但目前来说主要用来下载各种 Windows 的软件, 因此如果你是 Mac 或者 Linux 用户, 本文中 在Scoop上安装VSCode 的部分是可以 跳过 的 前情提要 我当然原本就有个 VSCode , 并且跟着官方发布的更新, 所以一直是保持使用最新版 然而在3月24日发布的最新版 1.113.0 中， Copilot Chat 出现了比较离谱的bug 步骤和现象是这样的: 1. 在 C…</description>
    </item>
    <item>
      <title>我第一个Monorepo</title>
      <link>https://notosleung.com/posts/my-first-monorepo</link>
      <guid isPermaLink="true">https://notosleung.com/posts/my-first-monorepo</guid>
      <pubDate>Thu, 26 Mar 2026 14:00:00 GMT</pubDate>
      <description>是这样的，我最初用 Vue 做了个叫做“ OneQuote ”的网站，然后呢，尝试着用 React Router V7 也做一个出来，毕竟不难，没用什么深奥的 Hooks ，它的名字也很直白，就叫做“ OneQuote React ”。由于这两个项目所用到的数据就在各自项目的内部，因此如果我想更新数据，就得同步更新两个项目，我觉得这样不好，所以就诞生了这个“ OneQuote monorepo ”。 简介 项目结构大概就是这样： /onequote monorepo ├──…</description>
    </item>
    <item>
      <title>npm发包初体验</title>
      <link>https://notosleung.com/posts/my-first-npm-package</link>
      <guid isPermaLink="true">https://notosleung.com/posts/my-first-npm-package</guid>
      <pubDate>Wed, 18 Mar 2026 14:00:00 GMT</pubDate>
      <description>先上地址： vite plugin react mdx wrapper （已弃用） vite plugin react mdx layout 开发初衷 前段时间我用 Vue3 开发了一个小小的应用，里边需要用到 Markdown 文件作为页面组件，在 Vue 技术栈下，有一个叫 unplugin vue markdown 的包，它主要是功能 把 Markdown 编译成Vue组件 ，在这其中有一个叫 wrapperComponent 的选项，支持自己构造一个组件来作为显示 M…</description>
    </item>
    <item>
      <title>博客重生</title>
      <link>https://notosleung.com/posts/blog-reborn</link>
      <guid isPermaLink="true">https://notosleung.com/posts/blog-reborn</guid>
      <pubDate>Thu, 19 Feb 2026 21:13:00 GMT</pubDate>
      <description>博客重生后第一篇 如果能正常出现标题、日期、内容，那说明成功了 我也不知道为什么又会打算做一个博客，并且是放弃使用之前用着的 jekyll 主题模板，而是打算从头搭建... 硬要找个原因，那应该是因为知道了 antfu 这号人吧，一个纯靠开源获取赞助并以此为生的人，真的太酷了。也不难发现，我这个博客的主题其实也很大程度地参考了他的个人博客：antfu.me，只是我去掉了一些 比较花哨 (但真的好看) 的样式/特效，化繁为简地留下了实用的设计，毕竟这回博客的设计理念是秉持 KI…</description>
    </item>
    <item>
      <title>React Router V7</title>
      <link>https://notosleung.com/posts/learning-react-router-v7</link>
      <guid isPermaLink="true">https://notosleung.com/posts/learning-react-router-v7</guid>
      <pubDate>Sat, 15 Mar 2025 14:00:00 GMT</pubDate>
      <description>React Router 在去年发布了 V7 版本，看起来从一个简单的路由工具变成了框架级别的东西，挺有意思的，所以特地研究一下。 整合更新 从官网的 changelog 看到，开发团队把 react router dom 、 @remix run/react 、 @remix run/server runtime 以及 @remix run/router 整合进了 react router ，并且支持了 Vite 作为构建工具。 这种整合对于已经使用或将要学习使用 reac…</description>
    </item>
    <item>
      <title>鸟枪换大炮</title>
      <link>https://notosleung.com/posts/technology-stack-big-zooming</link>
      <guid isPermaLink="true">https://notosleung.com/posts/technology-stack-big-zooming</guid>
      <pubDate>Sat, 16 Dec 2023 14:00:00 GMT</pubDate>
      <description>只是记录一下突然从 AngularJS 跳到 Vue3 + TypeScript 的大概历程 （吐槽） 。 提要 刚进公司时做的项目，用的就是 AngularJS ，因为最初的 Vue 就是从这个发展而来的，所以上手起来还是蛮顺，在这里把这个项目叫做“ 10 ”。然后公司发展需要吧，另一个组基于 Vue2 + ElementUI 开发了一套新的软件系统，我们叫它“ 20 ”。再然后就是最近，公司决定开发“ 30 ”项目，前端技术栈用的是 Vue3 + TypeScript ，…</description>
    </item>
    <item>
      <title>Git常用命令</title>
      <link>https://notosleung.com/posts/git-commands</link>
      <guid isPermaLink="true">https://notosleung.com/posts/git-commands</guid>
      <pubDate>Sat, 08 Aug 2020 14:00:00 GMT</pubDate>
      <description>其实我所在的组负责的项目是用 SVN 的，但也挺羡慕隔壁组的工作，用的 Vue2 技术栈， Git 代码管理工具，不过偶尔需要参考他们的东西，也是会用到 Git 。想起多年以前在实习的公司里也是用 Git ，现在借此机会趁机拾起来吧 基础配置与初始化 配置用户信息 bash git config global user.name &quot;你的名字&quot; git config global user.email &quot;你的邮箱&quot; 初始化仓库： 在当前目录创建一个新的 Git 仓库 bash…</description>
    </item>
    <item>
      <title>AngularJs的一点事：ng-if</title>
      <link>https://notosleung.com/posts/about-angularjs-ng-if</link>
      <guid isPermaLink="true">https://notosleung.com/posts/about-angularjs-ng-if</guid>
      <pubDate>Thu, 27 Jun 2019 12:00:00 GMT</pubDate>
      <description>用 AngularJs 有一年多了，一直有些什么小问题小知识，但是都没记下来，今天又重新遇到同一个小问题，同时又在一位同事的指点下，重新认识了这个问题，于是决定写写。（这里需要注明一下， AngularJs 是指 1.x 的版本，一般都是旧项目会用到） 先说说遇到的问题 昨天一个同事（后文称为“Z”）签入了一个Directive的更改，然后今天获取后，发现平时能用的一个面板展开功能失效了，我看了下代码，是这样的： html 高级搜索&amp;nbsp; 查询 清空 grid.enab…</description>
    </item>
    <item>
      <title>slice vs. splice</title>
      <link>https://notosleung.com/posts/slice-vs-splice</link>
      <guid isPermaLink="true">https://notosleung.com/posts/slice-vs-splice</guid>
      <pubDate>Sun, 13 May 2018 12:00:00 GMT</pubDate>
      <description>这俩都是 JavaScript 中 字符串 和 数组 操作中既基础又常用的，可以理解成是用来进行“切割”操作的。可能是它们之间的命名确实有点相似，所以特地出一篇来总结写写它们各自的用法以及之间的区别。 slice slice() 是一个非常高频且优雅的方法。它是 “纯函数” ，所以它 不会改变 原数组或原字符串，返回值是一个全新的浅拷贝副本。 无论是在处理数组还是字符串， slice(start, end) 的逻辑是一致的。我们可以通过不同的参数组合来拆解它的用法： 1. 不…</description>
    </item>
    <item>
      <title>Flex 布局基础</title>
      <link>https://notosleung.com/posts/flex-layout</link>
      <guid isPermaLink="true">https://notosleung.com/posts/flex-layout</guid>
      <pubDate>Thu, 29 Mar 2018 14:00:00 GMT</pubDate>
      <description>实不相瞒，css一直是鄙人的短板...工作的项目需要固定使用IE6，因此一直未有机会接触一些新的东西(也不新了)，此文旨在稍稍总结一下 Flex 布局 常用的属性和简单的适用场景，大佬勿喷。 在 Flexbox 出现之前，我们通常依赖 float 或 position 进行布局，但这些方法往往伴随着复杂的清除浮动和计算偏移。 Flex 布局（Flexible Box） 的出现，让我们能够以更加直观、灵活的方式管理页面元素的排列。 基本概念 Flex Container（容器）…</description>
    </item>
  </channel>
</rss>
