<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>技术 on </title>
    <link>https://www.cillian.website/categories/%E6%8A%80%E6%9C%AF/</link>
    <description>Recent content in 技术 on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <managingEditor>cilliantech@gmail.com (希里安CILLIAN)</managingEditor>
    <webMaster>cilliantech@gmail.com (希里安CILLIAN)</webMaster>
    <lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.cillian.website/categories/%E6%8A%80%E6%9C%AF/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hermes Agent vs OpenClaw：2026 两大开源 AI Agent 框架对比</title>
      <link>https://www.cillian.website/post/20260410/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20260410/</guid>
      
        <description>&lt;p&gt;一个&amp;quot;越用越聪明&amp;quot;，一个&amp;quot;本地优先可控&amp;quot;——两个都是 AI 智能体框架，但设计哲学截然不同，以下内容为AI Agent生成，古法手打实践文章，等我用了再发布。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>AI，到底给运维工作带来了什么？</title>
      <link>https://www.cillian.website/post/20260407/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20260407/</guid>
      
        <description>AI 改变了运维？</description>
      
    </item>
    
    <item>
      <title>最新科技趋势</title>
      <link>https://www.cillian.website/post/20260403/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20260403/</guid>
      
        <description>一年之计在于春</description>
      
    </item>
    
    <item>
      <title>这两个k8s客户端有什么不一样</title>
      <link>https://www.cillian.website/post/20250716/</link>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20250716/</guid>
      
        <description>k8s客户端</description>
      
    </item>
    
    <item>
      <title>给cilikube开发新的ui</title>
      <link>https://www.cillian.website/post/20250527/</link>
      <pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20250527/</guid>
      
        <description>ui</description>
      
    </item>
    
    <item>
      <title>Nodejs认证拿到手了</title>
      <link>https://www.cillian.website/post/20250525/</link>
      <pubDate>Sun, 25 May 2025 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20250525/</guid>
      
        <description>Nodejs认证</description>
      
    </item>
    
    <item>
      <title>Ai真的很强大</title>
      <link>https://www.cillian.website/post/20240911/</link>
      <pubDate>Wed, 11 Sep 2024 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20240911/</guid>
      
        <description>&lt;h2 id=&#34;人总是会出问题&#34;&gt;人总是会出问题&lt;/h2&gt;
&lt;p&gt;古话说的好，圣人千虑必有一失，愚人千虑必有一得。&lt;/p&gt;
&lt;p&gt;我觉得，人不是机器，无法做到严丝合缝，精确无误。但是人可以借助机器的力量达到万无一失。&lt;/p&gt;
&lt;h2 id=&#34;合理使用ai&#34;&gt;合理使用ai&lt;/h2&gt;
&lt;p&gt;这两天体会到ai生成式对话、绘画、视频、语音，总之方方面面都是及其强大的。我在思考如何合理使用，提升自己的工作与生活效率。总之必须得合理利用啊！&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>拥抱开源</title>
      <link>https://www.cillian.website/post/20231031/</link>
      <pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231031/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Next.js 14 发布：Server Actions 已稳定、部分预渲染进入预览 &amp;ndash;next.js社区&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;苹果发布 M3 系列芯片，采用 3nm 工艺、支持 “动态缓存” 技术 &amp;ndash;苹果&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>开发中redis用途</title>
      <link>https://www.cillian.website/post/20231016/</link>
      <pubDate>Mon, 16 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231016/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Kubuntu 23.10 版本已发布！Linux 内核 6.5 带来了硬件兼容性的改进，以及对英特尔 Arc 图形的全方位支持，你现在可以在最新的系统上尝试 Kubuntu。 &amp;ndash;Linux中国社区&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>一文搞懂css、scss、tailwindcss区别</title>
      <link>https://www.cillian.website/post/20231013/</link>
      <pubDate>Fri, 13 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231013/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首届字节跳动开源 OpenDay 将于10月21日在北京大钟寺工区举办。 &amp;ndash;字节&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ubuntu 23.10 “Mantic Minotaur” 再度亮相，搭载了 GNOME 45，以及众多引人瞩目的升级。 &amp;ndash;Linux社区&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>原子化CSS图标以及redis使用</title>
      <link>https://www.cillian.website/post/20231011/</link>
      <pubDate>Wed, 11 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231011/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;祈祷世界和平！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;小米自研“MIOS”再上热搜，MIUI 14成收官之作？&amp;ndash;脚本之家&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;微软表示，VBScript 已被弃用，被列在其 Windows 客户端废弃功能列表中。在未来的 Windows 版本中，VBScript 将作为一项可选功能，之后会从 Windows 中删除。&amp;ndash;&lt;a href=&#34;https://www.theregister.com/2023/10/10/microsoft_says_vbscript_will_be/&#34;&gt;https://www.theregister.com/2023/10/10/microsoft_says_vbscript_will_be/&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue项目系列（三）</title>
      <link>https://www.cillian.website/post/20231010/</link>
      <pubDate>Tue, 10 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231010/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;CNCF微观调查：培训有助于开发人员职业生涯和薪酬，但缺乏时间和成本成为最大阻力。 &amp;ndash;CNCF&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;下一代 Docker 来了！1小时构建缩至1.5分钟，构建速度提高了39倍！还能结合 LangChain、Ollama 等做 AI 应用开发。&amp;ndash;Dockercon&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue3&#43;ts项目系列（二）</title>
      <link>https://www.cillian.website/post/20231009/</link>
      <pubDate>Mon, 09 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231009/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;NanUI 作者在国庆节发布了停更公告，称该项目将暂停开发，原因是去年被裁员失业后，他已转行销售钢材，现在很难腾出时间来开发和维护 NanUI 项目。这还能说什么呢，活着要紧！ &amp;ndash;&lt;a href=&#34;https://github.com/XuanchenLin/NanUI/discussions/367&#34;&gt;https://github.com/XuanchenLin/NanUI/discussions/367&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2023年10月28日，第一届「稀土掘金创新论坛」和您相约北京，以「AI时代下的管理变革」为主题。 &amp;ndash;掘金社区&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最近巴以冲突，这个伤亡，咱老百姓还是祈祷世界和平吧！&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;elmentplus-unplugin-自动导入&#34;&gt;elmentplus-unplugin 自动导入&lt;/h2&gt;
&lt;p&gt;Element Plus 官方文档中推荐按需自动导入的方式，需要使用额外的插件 unplugin-auto-import 和 unplugin-vue-components 来导入要使用的组件。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue3&#43;ts项目系列（一）</title>
      <link>https://www.cillian.website/post/20231008/</link>
      <pubDate>Sun, 08 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231008/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;前端UI组件Ant Design大家都在用吗，Ant Design Pro开箱即用框架升级V5了，确实方便。 &amp;ndash;antdesign社区&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Python3最新版本已经发行到3.12.0（2023年10月7日） &amp;ndash;python&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;k8s更新至1.28.2版本，下一个版本1.28.3预计将在本月18日更新，1.28版本停止维护期在2024年10月28日. &amp;ndash;k8s&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>微服务、容器治理</title>
      <link>https://www.cillian.website/post/20231003/</link>
      <pubDate>Tue, 03 Oct 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20231003/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;最近 spring 官方推出了一项技术可以将项目的启动时间缩短到 79 毫秒，这项技术被 spring 官方命名为Spring Native，翻译成中文叫Spring 云原生。&amp;ndash;Java社区&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vector日志收集</title>
      <link>https://www.cillian.website/post/20230927/</link>
      <pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230927/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;openai陷版权风波，美作家协会联名起诉。 &amp;ndash;&lt;a href=&#34;https://www.theregister.com/2023/09/21/authors_guild_openai_lawsuit/?td=keepreading&#34;&gt;https://www.theregister.com/2023/09/21/authors_guild_openai_lawsuit/?td=keepreading&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2023年9月27日 - 中国，上海 有鉴于云原生人才在开源社区的需求与来越来大，LF开源软件学园（LFOSSA）与CNCF 联合发布云原生人才培养计划- 中国区Powered by LFOSSA &amp;amp; CNCF。此计划专为 企业、高校及科研单位而设的，LFOSSA希望透过这个计划，可以帮助机构进一步培养更多云原生开源人才，共建更好的云原生社区。另外本人也是此计划受益者，感兴趣的朋友可以关注下。 &amp;ndash; LFOSSA&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>apisix</title>
      <link>https://www.cillian.website/post/20230926/</link>
      <pubDate>Tue, 26 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230926/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Claude 和 ChatGPT 正面对决？亚马逊对Anthropic砸下40亿美元投资。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;--https://www.anthropic.com/index/anthropic-amazon&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;因违反欧盟《通用数据保护条例》（GDPR）中儿童数据处理方面的规定，TikTok遭爱尔兰数据保护委员会（DPC）处以3.45亿欧元重罚。
&lt;code&gt;-- https://thehackernews.com/2023/09/tiktok-faces-massive-345-million-fine.html&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenAI于9月25日宣布将在ChatGPT中推出新的语音和图像功能。他们提供了一种新的、更直观的界面，可以语音对话或向ChatGPT展示需要讨论的内容。
&lt;code&gt;-- https://openai.com/blog/chatgpt-can-now-see-hear-and-speak&lt;/code&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>coredns安装</title>
      <link>https://www.cillian.website/post/20230925/</link>
      <pubDate>Mon, 25 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230925/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;openGemini社区迎来了一个重要的里程碑：openGemini开源一周年。openGemini是华为云数据库创新Lab团队自主设计、研发的一款面向全球开源的云原生分布式时序数据库。&amp;ndash;华为开源社区&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Linux 宣布推出Istio Certified Associate（ICA）认证考试。&amp;ndash;CNCF&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DataV Vue一款数据可视化应用搭建工具,感兴趣可以关注下。 &amp;ndash;github&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;corendns是啥&#34;&gt;corendns是啥&lt;/h2&gt;
&lt;p&gt;CoreDNS 是一个开源的域名系统（DNS）服务器和DNS查询解析器。它是一个轻量级、可扩展的DNS服务器，专门设计用于在 Kubernetes 等容器编排平台上提供服务发现和DNS解析功能。以下是关于 CoreDNS 的一些重要信息：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>聊聊cfssl</title>
      <link>https://www.cillian.website/post/20230921/</link>
      <pubDate>Thu, 21 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230921/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在最新发布的 v1.7 版本中，Karmada 新增了应用跨集群定时弹性伸缩的能力，用户可以通过 Cron 表达式设定一个时间计划，Karmada 根据设定的时间对应用进行扩缩容，既可以定时直接调整工作负载的副本实例数，又可以结合FederatedHPA 策略定时调整 FederatedHPA 伸缩范围，实现复杂场景下的工作负载伸缩。 &amp;ndash;Karmada&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>k8s中集群、pod和宿主机网段为什么不能一样</title>
      <link>https://www.cillian.website/post/20230920/</link>
      <pubDate>Wed, 20 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230920/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fedora 39 即将热门登场！Fedora 39 将在2023年10月17日正式发布。带来了全新的定制版，同时可以无限制地访问 Flathub。 &amp;ndash;&lt;a href=&#34;https://news.itsfoss.com/fedora-39-features/&#34;&gt;https://news.itsfoss.com/fedora-39-features/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JDK21 GA版本发布，还在坚守jdk8的同学举个小手。&amp;ndash;&lt;a href=&#34;https://openjdk.org/projects/jdk/21/&#34;&gt;https://openjdk.org/projects/jdk/21/&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>k8s排查故障常用方法</title>
      <link>https://www.cillian.website/post/20230919/</link>
      <pubDate>Tue, 19 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230919/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ICT 产品和解决方案总裁杨超斌出席即将在迪拜举行的移动宽带论坛！了解为什么移动网络正在拥抱 5.5G 技术的力量。&amp;ndash; &lt;a href=&#34;https://tinyurl.com/yckyyseu&#34;&gt;https://tinyurl.com/yckyyseu&lt;/a&gt; #HWMBBF #5GAdvanced&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;新的 Node.js v20（当前）现已推出 ，我看了官网为v20.7.0 &amp;ndash; nodejs.org&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>常用Dockerfile</title>
      <link>https://www.cillian.website/post/20230918/</link>
      <pubDate>Mon, 18 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230918/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;今天是九月十八日，一个中国人民永远不会忘记的日子，勿忘国耻，吾辈自强。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ChatGPT造了一家名为 ChatDev 的虚拟软件开发公司，还有AI版CEO、CTO、程序员&amp;hellip;来自布朗大学和多所中国大学的研究人员进行了一项实验，看看由 ChatGPT 3.5 模型版本支持的 AI 机器人是否可以在没有训练的情况下完成软件开发。针对这项实验，他们还发表了一篇标题为《Communicative Agents for Software Development》（https://arxiv.org/pdf/2307.07924v3.pdf）的论文，分享了全过程，并将项目在 GitHub 上开源出来：https://github.com/OpenBMB/ChatDev &amp;ndash; CSDN&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>磁盘清理</title>
      <link>https://www.cillian.website/post/20230915/</link>
      <pubDate>Fri, 15 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230915/</guid>
      
        <description>&lt;h2 id=&#34;答读者问&#34;&gt;答读者问&lt;/h2&gt;
&lt;p&gt;杀掉已删除的进程通常不会直接释放磁盘空间。当你杀死一个进程时，操作系统会回收与该进程相关的内存和系统资源，但它不会立即删除该进程所占用的文件或释放磁盘空间。&lt;/p&gt;
&lt;p&gt;如果你怀疑有已删除但仍在运行的进程占用了磁盘空间，你可以执行以下操作：&lt;/p&gt;
&lt;p&gt;检查进程是否仍在运行：首先，使用命令如ps aux | grep &lt;process-name&gt;或sudo lsof | grep deleted
来检查已删除的进程是否仍在运行。如果进程已经被杀死，你将看不到相关的输出。如果它仍在运行，可以使用kill命令将其终止。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>磁盘清理</title>
      <link>https://www.cillian.website/post/20230914/</link>
      <pubDate>Thu, 14 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230914/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;2023成都马拉松10月29日开跑！（9月15日）9时正式开启。10月29日（周日）7:30，比赛将准时开跑。 &amp;ndash;成都发布&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Iphone15发布，是出手，还是等十六？&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;程序员们保重身体，珍惜当下，别太卷了。向这位老哥学习，90后程序员回老家卖羊粪，一个月销售额高达120万！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;耗时近 10 年，长亭科技倾情打造，核心检测能力由智能语义分析算法驱动，专为社区而生，不让黑客越雷池半步。雷池是一款简单易用、广受好评的社区 WAF 项目，是一款底层基于 Nginx 的 Web 网关，作为反向代理接入网络，清洗来自黑客的恶意流量，保护你的网站不受黑客攻击。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>etcd常用命令</title>
      <link>https://www.cillian.website/post/20230912/</link>
      <pubDate>Tue, 12 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230912/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在 2023 年 9 月 7 日举办的 2023 全球数字生态大会上，腾讯正式发布自研通用大语言模型——混元，并宣布通过腾讯云对外开放。&amp;ndash;腾讯云社区&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>青云平台</title>
      <link>https://www.cillian.website/post/20230911/</link>
      <pubDate>Mon, 11 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230911/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Mojo 编程语言开放下载，声称比 Python 快 68000 倍，Mojo 是 Modular AI 公司开发的新编程语言，它结合了 Python 的易用性以及 C 语言的可移植性和性能，目标是使其成为 AI 研究和生产的理想选择。&amp;ndash;OSC社区
&lt;a href=&#34;https://developer.modular.com/&#34;&gt;https://developer.modular.com/&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>web服务器系统参数优化</title>
      <link>https://www.cillian.website/post/20230906/</link>
      <pubDate>Wed, 06 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230906/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;斯诺登揭露棱镜计划已过去10年了，时间过得真快啊！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;IBM 宣布推出 50TB 企业级磁带机和磁带盒 &amp;ndash;&lt;a href=&#34;https://www.forbes.com&#34;&gt;www.forbes.com&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;开发人员Boris Kolpackov将Linux用于管理内核配置的“make xconfig”图形用户界面移植到Qt6。保留了Qt5工具包的兼容性 - 至少就Qt 5.15 LTS而言。 &amp;ndash;&lt;a href=&#34;https://www.phoronix.com&#34;&gt;www.phoronix.com&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>计算机知识框架复习</title>
      <link>https://www.cillian.website/post/20230905/</link>
      <pubDate>Tue, 05 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230905/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;「美酒加咖啡，一杯再一杯」，一共卖了542万杯。瑞幸的应用和小程序部署在TKE serverless 集群上。周一当天，面对流量高峰，TKE在两分钟内就拉起了数千核计算资源。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;腾讯数字生态大会亮点纷呈，9月7-8日（本周四和周五），腾讯云数据库专场将为大家带来一场与国产数据库&amp;amp;云原生数据库有关的技术盛宴。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;作为全球规模最大、最活跃的大模型开发工具与社区，Colossal-AI 再次迭代，提供开箱即用的 8 到 512 卡 LLaMA2 训练、微调、推理方案，对 700 亿参数训练加速 195%，并提供一站式云平台解决方案，极大降低大模型开发和落地应用成本。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>日志收集工具有哪些</title>
      <link>https://www.cillian.website/post/20230904/</link>
      <pubDate>Mon, 04 Sep 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230904/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Murena Fairphone 5 发布：搭载去谷歌化的 /e/OS 系统，murena是一家在欧洲的智能手机和云服务供应商，凭借其去谷歌化的产品，受到了越来越多的关注。他们和智能手机制造商合作，提供开箱即用的隐私关注体验 &amp;ndash;Linux 中国&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;网易云音乐 Tango 前端低代码引擎正式开源 ，官方文档站点: &lt;a href=&#34;https://netease.github.io/tango/&#34;&gt;https://netease.github.io/tango/&lt;/a&gt;  &amp;ndash;网易&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Kubesphere强制修改密码</title>
      <link>https://www.cillian.website/post/20230830/</link>
      <pubDate>Wed, 30 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230830/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;华为全球首发卫星通话，网速高达5G，很高端的样子，有没有买的朋友说说体验如何。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;kubepshere-强制修改密码&#34;&gt;kubepshere 强制修改密码&lt;/h2&gt;
&lt;p&gt;先放官网文档有关密码重置的地址：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.kubesphere.io/zh/docs/v3.3/faq/access-control/forgot-password/&#34;&gt;https://www.kubesphere.io/zh/docs/v3.3/faq/access-control/forgot-password/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在 Host 集群执行以下命令修改指定帐户的密码：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl patch users &amp;lt;USERNAME&amp;gt; -p &amp;#39;{&amp;#34;spec&amp;#34;:{&amp;#34;password&amp;#34;:&amp;#34;&amp;lt;YOURPASSWORD&amp;gt;&amp;#34;}}&amp;#39; --type=&amp;#39;merge&amp;#39; &amp;amp;&amp;amp; kubectl annotate users &amp;lt;USERNAME&amp;gt; iam.kubesphere.io/password-encrypted-
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>如何清理docker占用空间</title>
      <link>https://www.cillian.website/post/20230829/</link>
      <pubDate>Tue, 29 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230829/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;今儿忙，没空看新闻&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;docker清理空间&#34;&gt;docker清理空间&lt;/h2&gt;
&lt;p&gt;一句命令查看占用空间：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker system df
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Type 列出docker使用磁盘的四种类型：包括images占用空间、containers容器占用空间、local volumes挂在本地数据卷的空间、构建中产生的缓存空间，RECLAIMABLE 是可回收大小。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>go如何在windows编译成二进制文件</title>
      <link>https://www.cillian.website/post/20230828/</link>
      <pubDate>Mon, 28 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230828/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;特斯拉为首次涉及自动驾驶仪死亡的试验做准备。 &amp;ndash;Reuters.com&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在庆祝其成立32周年后的几天，Linus Torvalds今天宣布Linux 6.5内核系列的最终版本作为主要更新，引入了一些新功能，更新和新驱动程序以获得更好的硬件支持以及其他更改。经过七周的RC，Linux内核6.5具有新功能，例如ALSA中的MIDI 2.0支持，对RISC-V架构的ACPI支持，对UML（用户模式Linux）的Landlock支持，对AMD“Zen”系统的更好支持，以及对ARMv8.8 memcpy/memset指令的用户空间支持。Linux 6.5 中还新增了对功率封顶子系统和英特尔 RAPL 的 TPMI 接口驱动程序的英特尔 TPMI（拓扑感知寄存器和 PM 胶囊接口）支持，以及 EAS 平衡器中的“可运行提升”功能，以提高特定工作负载的 CPU 利用率。此版本还改进了 SMP 调度的负载平衡器，以识别具有多个繁忙同级的 SMT 内核，并允许优先级较低的 CPU 拉取任务以避免多余的迁移，并改进了 EXT4 文件系统的日志、块分配器子系统和并行 DIO 覆盖的性能。&amp;ndash;linux.slashdot.org&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>git打标签</title>
      <link>https://www.cillian.website/post/20230825/</link>
      <pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230825/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;网络攻击迫使天文望远镜停运数周，全球天文科研遭受沉重打击，美国国家光学红外天文研究实验室（NOIRLab）是美国国家科学基金会运营的地基天文学协调中心。8月1日，该实验室发布新闻公告，首次宣布检测到其位于夏威夷希罗的北双子座天文望远镜遭到明显的网络攻击，可能给这台仪器带来物理危险。&amp;ndash;CNCERT国家工程研究中心&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Zadig 开源v1.18.0发布，Zadig 是一套分布式开源的持续部署系统，和其它 CI/CD 不同，Zadig 不仅可以提供高可用的 CI/CD 能力，同时内置很多面向不同技术场景的最佳实践。 &amp;ndash;Zadig&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ingress报错解决</title>
      <link>https://www.cillian.website/post/20230824/</link>
      <pubDate>Thu, 24 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230824/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在Safari两年后，Chrome计划将地址栏移到底部。iOS上的Google Chrome测试版本现在可以将地址栏放在屏幕底部，正如MacRumors贡献者Steve Moser所发现的那样。这是一个很好的变化，可以让您将地址栏移近拇指 - 尽管值得注意的是，这是在Apple在iOS 15中默认将URL栏移至Safari底部两年后发生的。&amp;ndash;&lt;a href=&#34;https://www.theverge.com&#34;&gt;www.theverge.com&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Microsoft正在将流行的编程语言Python引入Excel。该功能的公共预览版现已推出，允许Excel用户操作和分析来自Python的数据。“您可以使用 Python 绘图和库在 Excel 中操作和浏览数据，然后使用 Excel 的公式、图表和数据透视表来进一步优化您的见解，”Microsoft 现代工作总经理 Stefan Kinnestrand 解释道。“现在，您可以通过直接从 Excel 功能区访问 Python 在熟悉的 Excel 环境中执行高级数据分析。” &amp;ndash;tom-warren&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue面试题学习</title>
      <link>https://www.cillian.website/post/20230823/</link>
      <pubDate>Wed, 23 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230823/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;LFOSSA X RISC-V International推出RISC-V人才培养计划，，LFOSSA希望透过这个计划，可以帮助机构进一步培养更多RISC-V开源人才，共建更好的RISC-V社区。&amp;ndash;LOFSSA&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CNCF宣布K8s自动缩放器KEDA毕业，这个事件驱动的自动缩放器现在已经在45多家组织中投入生产使用，包括联邦快递、Grafana Labs、毕马威、Reddit 和 Xbox。KEDA[1]（Kubernetes Event-Driven Autoscaling，Kubernetes 事件驱动自动缩放器）是一个专门为 Kubernetes 设计的事件驱动自动缩放器，可以轻松地添加到 Kubernetes 集群中以扩展应用程序。&amp;ndash;CNCF&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>前端页面中使用进度条</title>
      <link>https://www.cillian.website/post/20230822/</link>
      <pubDate>Tue, 22 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230822/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;原定9月2日举办的Ceph Days China活动将推迟至12月份与OpenInfra Days China一同举办。相关后续筹备情况，请持续关注！&amp;ndash;ceph开源社区&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;kpack加入了Buildpacks社区组织 &amp;ndash;LFAPC&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Volcano 社区 v1.8.0 版本正式发布，Volcano是业界首个云原生批量计算项目，于2019年6月在上海 KubeCon 正式开源，并在2020年4月成为 CNCF 官方项目。2022年4月，Volcano 正式晋级为CNCF 孵化项目。 &amp;ndash;容器魔方&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>为什么运维开发告警这么多</title>
      <link>https://www.cillian.website/post/20230821/</link>
      <pubDate>Mon, 21 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230821/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在Meta新的重返办公室政策生效前几周，该公司的人力资源主管写信给员工，警告一再违反规则的员工将面临严重后果。zoom和亚马逊也都宣布，重返办公室。就是说，远程工作并没那么容易实现。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;根据F5的2023年应用战略现状报告调查的1000多名全球IT领导者，混合云网络很热门。42%的调查受访者提到了混合网络。这高于AIOps和边缘计算等热门话题,接近第三位零信任和IT/OT融合,这两个话题的占比均为44%。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;未来的工作是人工智能增强和远程。今年商业领域最大的两个悬而未决的问题是远程工作是否会继续存在，以及人工智能将如何影响工作。可以看下麦肯锡的全球调查名为“2023 年人工智能的状态：生成人工智能的突破之年”（对“代表各个地区、行业、公司规模、职能专业和任期的 1，684 名参与者”的调查）显示了人工智能在商业领域的增长速度。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;夜莺监控发布v6.0.3版本，增强告警订阅功能。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;关于告警消息的一点思考&#34;&gt;关于告警消息的一点思考&lt;/h2&gt;
&lt;p&gt;先来梳理下有一般有哪些告警&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>一分钟创建一个websocket应用</title>
      <link>https://www.cillian.website/post/20230817/</link>
      <pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230817/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;OpenAI使用GPT-4 LLM进行内容审核，警告不要有偏见，该公司希望在人类参与循环的情况下消除训练期间引入的不良偏见。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;8月15-16日，DeveloperWeek CloudX 在美国加州San Mateo 圆满举行。会议期间，大会颁布了 CloudX 2023 奖项获得者。WasmEdge Runtime荣获 2023 年 CloudX 大奖的云物联网和边缘计算类别奖！&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>解决gin中时间格式</title>
      <link>https://www.cillian.website/post/20230816/</link>
      <pubDate>Wed, 16 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230816/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Hyperledger Fabric Certified Practitioner (HFCP) 认证预约开放，感兴趣的可以看一下。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt; https://training.linuxfoundation.cn/certificates/32&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;2023年8月15日，kubernetes1.28更新，这更新速度真的很给力。1.24于 2023-05-28进入维护模式，生命周期结束于2023-07-28。1.23已经在2月28日停止支持。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue3制作一个初级血轮眼</title>
      <link>https://www.cillian.website/post/20230813/</link>
      <pubDate>Sun, 13 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230813/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;美国普渡大学的研究发现，OpenAI 开发的人工智能聊天机器人 ChatGPT 在回答软件编程问题时，错误率超过一半，但仍能骗过三分之一的提问者。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;国产“ChatGPT”已超70多家，科大讯飞副总裁钟锟：“赛马”将跑出世界级的大模型。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Stability.ai宣布推出生成式 AI 产品Stable Chat。StableChat是由Stability.ai开发的类ChatGPT生成式AI产品，基于开源大语言模型StableBeluga1/2开发而成。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>springboot应用使用k8s服务发现</title>
      <link>https://www.cillian.website/post/20230812/</link>
      <pubDate>Sat, 12 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230812/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;原本定于8月6日的vueconf因为安全防控规定，取消了。详情查看地址：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&#34;https://vue.w3ctech.com/&#34;&gt;https://vue.w3ctech.com/&lt;/a&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;最近工信部新闻大家看了吧，所有的APP以及小程序需要在024年3月31日前完成备案。所以涉及到的朋友需要提前准备呀。详情地址如下：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s/E4zAI5Y--nqRcRdPgSe-cw&#34;&gt;https://mp.weixin.qq.com/s/E4zAI5Y--nqRcRdPgSe-cw&lt;/a&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;viteconf2023在10月5-6日举办，可以现在申请免费门票哦，详情地址如下：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&#34;https://viteconf.org/23/tickets/yyx990803?t=Vite&#34;&gt;https://viteconf.org/23/tickets/yyx990803?t=Vite&lt;/a&gt;‘&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://mmbiz.qpic.cn/mmbiz_png/3fdeQLoQfqHrfn2ZpSbWCmh8tau7zW7E9LKUUawdYsibhajiaCF7Azv21sJQsogOXGXbcQ7icOdUAK5bCet5iaf5VA/640?wx_fmt=png&#34; alt=&#34;Alt text&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34; /&gt;
&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>玩转vscode之10大高频技巧</title>
      <link>https://www.cillian.website/post/20230810/</link>
      <pubDate>Thu, 10 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230810/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;java21的功能开发已经完成进入第二阶段，java21是LTS长期支持版本，看技术博主介绍包含了大量新增功能，具体不太懂，感兴趣的可以自己去看下。但是估计还有一大批的朋友还留在java8。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;英伟达公布新的人工智能芯片，称运行LLM的成本将“大幅下降”。代号GH200，与目前最高端的AI芯片H100具有相同的GPU，但GH200将GPU与141千兆字节（141GB）的尖端内存以及72核ARM中央处理器配对。据说它会疯狂推理！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ChatGPT在iOS上已经有一段时间了，但它终于也出现在Android上了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;grafana在7月26日更新10.0.3版本，10版本看的真的绚丽，后期更新分享。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;vscode-高频小技巧&#34;&gt;vscode 高频小技巧&lt;/h2&gt;
&lt;p&gt;相信敲代码的时候，记住一些快捷键或者用一些小技巧，就能节省不少重复操作。今天介绍几个小tips，帮助提升码代码效率！&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;多光标 给出一端代码&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>你知道多少种linux网络工具</title>
      <link>https://www.cillian.website/post/20230809/</link>
      <pubDate>Wed, 09 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230809/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;亚马逊拥有全球一半以上的Arm服务器CPU。信息来自Bernstein Research发布的一份报告，该报告估计全球近10%的服务器包含Arm处理器，其中40%位于中国。但分析师表示，只有一家公司-亚马逊-在其亚马逊网络服务（AWS）数据中心部署了全球50%以上的Arm服务器CPU。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenAI推出网络爬虫GPTBot，引发网站所有者和创建者的拦截工作。在没有大张旗鼓或官方宣布的情况下，ChatGPT制造商OpenAI本周推出了一个新的网站抓取机器人，用于扫描网站内容以训练其大型语言模型（LLM）。但在机器人的消息传出后，一场反抗随之而来，因为网站所有者和创建者迅速交换了有关如何阻止 GPTBot 抓取其网站数据的提示。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;美网络安全和基础设施安全局CISA发布了一份报告，重点介绍了 2022 年最常被利用的漏洞。排在榜首的是 Log4J （CVE-2021-44228）。这并不奇怪，因为这可能是我们几十年来看到的最具影响力的漏洞之一导致完全远程入侵。第二个最常被利用的漏洞是 Atlassian 汇合代码注入（CVE-2022-26134）。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>如何在vue3中使用代码编辑器</title>
      <link>https://www.cillian.website/post/20230808/</link>
      <pubDate>Tue, 08 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230808/</guid>
      
        <description>&lt;h2 id=&#34;今日新闻&#34;&gt;今日新闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;疫情期间成为居家办公代名词的zoom公司，最近发布消息称要求员工返回办公室办公。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;距离opensuse亚洲峰会，提交演讲征集材料还剩十二天，感兴趣的可以看一下，在10月21-23日在重庆邮电大学举办。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;linux OSSummit日本峰会正在寻找充满热情的个人来就所有科技领域进行充满活力的演讲。 如果您有一个让众人惊叹的主题，并且可以参与的话，可以关注下。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;劳伦斯利弗莫尔国家实验室的科学家们刚刚在聚变能领域实现了另一个里程碑。 在 ReadME 项目中了解开源如何帮助推动核物理的未来。
地址：
&lt;a href=&#34;https://github.com/readme/featured/nuclear-fusion-open-source&#34;&gt;https://github.com/readme/featured/nuclear-fusion-open-source&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>致敬！vim编辑器之父</title>
      <link>https://www.cillian.website/post/20230806/</link>
      <pubDate>Sun, 06 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230806/</guid>
      
        <description>&lt;h2 id=&#34;近日见闻&#34;&gt;近日见闻&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Vim 文本编辑器作者Bram Moolenaar 的家人于8月5日，在Google Groups论坛中公布了Bram Moolenaar (1961年 - 2023年8月3日)去世的消息，享年62岁。葬礼将在荷兰举行，用荷兰语进行。不知说什么，很难过，每个人的一生其实很短暂，我认为能留下一些美好的作品在世间是一种幸福。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>k8s为啥不用docker部署</title>
      <link>https://www.cillian.website/post/20230803/</link>
      <pubDate>Thu, 03 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230803/</guid>
      
        <description>&lt;h1 id=&#34;说点有意思的新闻&#34;&gt;说点有意思的新闻&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;CNCF8月4日有免费的备考CKA的公开课，主讲人为吴振老师。感兴趣的可以听一下。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;9月26日至28日在上海举报kubcon+cloudnativecon+opensource summit围绕云原生、安全、服务网格、网络+边缘、开放AI+数据等主题展开讨论协作。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LFX Mentorship第三期开放申请了，带薪为Linux和CNCF实习项目做贡献。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;云原生社区成都站Meetup在8月19日举行，感兴趣可以关注下。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;部署&#34;&gt;部署&lt;/h1&gt;
&lt;p&gt;相信学习之初现在都是用kubeadm部署的。一键部署，确实快速。但是否能用于生产环境还要打个问号。&lt;/p&gt;
&lt;p&gt;为什么不用容器部署kubernetes呢，将每个K8s的组件进行容器化，做成一个个容器镜像，然后宿主机使用docker run不就部署完成了吗？据我所学，早期k8s部署脚本中，有一个脚本就是用docker部署k8s项目，这个脚本相比于ansible以及saltstack部署也简单不少。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>IPv4要开始收费了？</title>
      <link>https://www.cillian.website/post/20230802/</link>
      <pubDate>Wed, 02 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230802/</guid>
      
        <description>&lt;h1 id=&#34;先聊点有意思新闻&#34;&gt;先聊点有意思新闻&lt;/h1&gt;
&lt;p&gt;1.AWS宣布将从2024年2月1日开始，对所有公共IPv4 地址以每小时每个IP地址收取0.005美元的政策来收费。亚马逊表示，这些收费将适用于所有 AWS 服务，包括EC2、关系数据库服务（RDS）数据库实例、Elastic Kubernetes Service (EKS)，并将适用于所有 AWS 区域（商业、AWSChina、GovCloud）。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>go开发之数据操作</title>
      <link>https://www.cillian.website/post/20230801/</link>
      <pubDate>Tue, 01 Aug 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230801/</guid>
      
        <description>&lt;h1 id=&#34;聊点科技新闻&#34;&gt;聊点科技新闻&lt;/h1&gt;
&lt;p&gt;1.何恺明github主页宣布将于 2024 年加入麻省理工学院（MIT）电气工程与计算机科学系（EECS），成为一名教师。何许人也？
1984 年生于广东广州的何恺明，事业上基本一路狂飙，只有自己搜索一下才知道这位天才有多么厉害。不过也值得思考，这么优秀的人才&amp;hellip;&lt;/p&gt;
&lt;p&gt;2.nodejs安全发布预警：我们将在 2023 年 8 月 8 日或之后不久发布 v16、v18 和 v20 发行版的新版本。目前最新版本20.5.0，稳定版本为18.17.0&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Kubeflow成为CNCF孵化项目啦！</title>
      <link>https://www.cillian.website/post/20230731/</link>
      <pubDate>Mon, 31 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230731/</guid>
      
        <description>&lt;p&gt;先聊点科技新闻：&lt;/p&gt;
&lt;p&gt;1、埃隆马斯克做事很牛，几天时间，Twitter相关移动应用和网站基本换为新logo-X，X真的很有魔力。&lt;/p&gt;
&lt;p&gt;2、7月31日，openSUSE-repos试用新的CDN，对于世界各地喜欢linux发行版openSUSE的朋友来说是个好事。将存储库索引服务 （RIS） 用于核心分发存储库来简化 openSUSE 存储库管理，其最新更新将用户切换到新 cdn.opensuse.org。&lt;/p&gt;
&lt;p&gt;开源项目推荐：&lt;/p&gt;
&lt;p&gt;1、Kubernetes Jobs Manager Operator&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>有在用confluence吗？</title>
      <link>https://www.cillian.website/post/20230727/</link>
      <pubDate>Thu, 27 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230727/</guid>
      
        <description>&lt;p&gt;先聊点有意思的科技新闻：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;埃隆马斯克重金赎回x.com，现在访问会指向twitter.com。马斯克本人的twitter头像也改为x的logo，网站logo也改了，但还未完全下线小蓝鸟logo，不过也快了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dockercon 时隔多年在今年10月4-5日回归，在美国洛杉矶举办，同步全球。与数千名开发人员和行业领导者会面并向他们学习，以增强您的技术知识。
注册地址：
&lt;a href=&#34;https://www.dockercon.com/2023/home&#34;&gt;https://www.dockercon.com/2023/home&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub Copilot 利用 Next.js 和包依赖项在 1 分钟内构建一个 Markdown 编辑器
具体内容查看：
&lt;a href=&#34;https://dev.to/github/how-to-build-a-markdown-editor-in-two-minutes-with-github-copilot-khb&#34;&gt;https://dev.to/github/how-to-build-a-markdown-editor-in-two-minutes-with-github-copilot-khb&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>容器技术原理</title>
      <link>https://www.cillian.website/post/20230726/</link>
      <pubDate>Wed, 26 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230726/</guid>
      
        <description>&lt;p&gt;先说说什么是容器技术：&lt;/p&gt;
&lt;p&gt;首先明确容器技术是一种虚拟化技术：&lt;/p&gt;
&lt;p&gt;1、创建一个与操作系统层面隔离的应用程序的运行环境&lt;/p&gt;
&lt;p&gt;2、实现应用程序的快速部署、可移植性和资源隔离&lt;/p&gt;
&lt;p&gt;优势：&lt;/p&gt;
&lt;p&gt;总结为八个字：一次打包，随处运行。就是开发者将应用程序及其所有依赖项（如库、配置文件等）打包到一个容器中，并在任何支持容器技术的环境中运行，无需担心底层操作系统的差异。&lt;/p&gt;
&lt;p&gt;1、快速部署：容器可以在几秒钟内启动和停止，实现快速部署和开发周期。&lt;/p&gt;
&lt;p&gt;2、资源隔离：容器之间相互隔离，确保应用程序和资源的安全性。&lt;/p&gt;
&lt;p&gt;3、可移植性：容器可以在不同的环境中运行，无需担心底层操作系统的不同。&lt;/p&gt;
&lt;p&gt;4、高效利用资源：容器共享宿主机的内核，减少资源占用和开销。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>k8s更新至1.27.4啦！</title>
      <link>https://www.cillian.website/post/20230720/</link>
      <pubDate>Thu, 20 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230720/</guid>
      
        <description>&lt;p&gt;更新文档：
&lt;a href=&#34;https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md&#34;&gt;https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;k8s在7月19日也就是昨天按期更新了，1.27.4如约而至。上月的更新一个月后，一转眼，一个月又没了，所以说要向官方学习。&lt;/p&gt;
&lt;p&gt;上月更新文章：&lt;/p&gt;
&lt;p&gt;k8s刚刚更新1.27.3版本啦！&lt;/p&gt;
&lt;p&gt;下次月度补丁版本更新预计目标日期是8月9日。看看这次更新了哪些内容吧。&lt;/p&gt;
&lt;p&gt;功能：&lt;/p&gt;
&lt;p&gt;1、修复了alpha功能，SIG网络和节点组，CloudDualStackNodeIPs&lt;/p&gt;
&lt;p&gt;2、使用go1.20.6构建，SIG发布测试组&lt;/p&gt;
&lt;p&gt;Bug修复：&lt;/p&gt;
&lt;p&gt;这次的修复还是很多的，一起看看：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>中间件笔记</title>
      <link>https://www.cillian.website/post/20230718/</link>
      <pubDate>Tue, 18 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230718/</guid>
      
        <description>&lt;p&gt;中间件到底是什么？&lt;/p&gt;
&lt;p&gt;这周也本应该分享关于中间件的知识，但是实际的关于中间件的实战经验不是很多，今天就相关理论研究一番。有一个大致的框架。&lt;/p&gt;
&lt;p&gt;中间件是指位于应用程序和操作系统之间的软件组件，用于协调和连接不同的系统、服务或组件，以实现数据传输、通信和功能扩展。它们在分布式系统、网络通信和应用集成中起着关键的作用。以下是一些常见的中间件及其功能：&lt;/p&gt;
&lt;p&gt;消息队列中间件：消息队列中间件允许应用程序之间异步地发送和接收消息。常见的消息队列中间件包括 Apache Kafka、RabbitMQ、ActiveMQ 和 ZeroMQ。它们用于构建解耦、可扩展和可靠的分布式系统，实现应用解耦、流量削峰和任务异步处理等功能。&lt;/p&gt;
&lt;p&gt;数据缓存中间件：数据缓存中间件用于将数据存储在高速缓存中，以提供快速的数据访问。Redis 和 Memcached 是两种常见的数据缓存中间件，它们支持键值存储和多种数据结构，如字符串、哈希表、列表等。缓存中间件可用于加速读取操作、减轻后端数据库的负载，并提供数据的临时存储。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>npm依赖包升级</title>
      <link>https://www.cillian.website/post/20230713/</link>
      <pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230713/</guid>
      
        <description>&lt;p&gt;上一篇文章介绍了vue-cli和create-vue两款vue脚手架，现在官方已经推荐使用creat-vue进行项目的构建，知道cli是基于webpack构建的，每次都需要全部打包构建，而vite就不需要，所以vite速度是更快的。&lt;/p&gt;
&lt;p&gt;还得说一下，因为今天用vue-cli脚手架生成项目，发现上篇文章说最后版本是5.0.7是不对的哈，抱歉，应该是停留在2022年7月7日的V5.0.8版本。&lt;/p&gt;
&lt;p&gt;那么对于一些以前基于webpack的vue应用项目，如果转向vite，应用代码是需要改动的，如果项目比较复杂的话，就还是比较麻烦。么如何从Vue CLI迁移到Vite的内容，我需要另写一篇来介绍，感兴趣的可以先看下这篇内容：
&lt;a href=&#34;https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/&#34;&gt;https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;那么，如果是vue cli创建的项目，那么npm依赖包的更新是必要的。所以来分享如何进行依赖包的更新。&lt;/p&gt;
&lt;!-- 我这里简单翻译一下这篇文章：

https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/

2021年之前在用vue开发，脚手架基本就是vue cli，但是目前vite是vue cli的绝佳替代品。

为什么要从Vue CLI迁移到Vite呢？主要原因在于速度。Vite的开发服务器非常快速。因为它使用浏览器原生支持的JavaScript模块，所以服务器启动时间几乎是即时的。这种方法也意味着，无论应用程序的大小如何，热模块替换都保持快速，因为不需要重新构建整个捆绑包。

为了说明这一点，下面是一个全新的Vue CLI项目与使用Vite的完全相同项目的性能对比。

启动时间：
Vue CLI - 2591毫秒（超过2秒）
Vite - 259毫秒（远远低于半秒钟 - 快10倍）⚡️
热模块替换（HMR）：
Vue CLI - 171毫秒
Vite - Vite没有在控制台打印，但根据观察...几乎是即时的

需要记住的是，这只是生成的样板代码。随着项目的增长，Vue CLI版本的速度将会逐渐变慢，而Vite承诺无论项目大小如何，性能都会保持在相同的水平。

如何从 Vue CLI 迁移到 Vite

所以你确信 Vite 适合你，你如何将你的项目从使用 Vue CLI 迁移到 Vite？

为了回答这个问题，我用 Vue CLI 构建了一个全新的项目，我将与您一起完成将其转换为 Vite 的步骤。当然，你通常不会从一个全新的 Vue CLI 项目开始，但其中许多步骤对于你建立的项目是相同的。

另外，我选择从 Vue 2 代码库工作，因为你们中的大多数人可能已经建立了完善的代码库仍在 Vue 2 上运行。但是，我也在下面的过程中做了笔记，Vue 3 的情况会有所不同。

最后，如果您不想和我一起完成整个过程，您可以在此示例存储库中看到更改的差异。 --&gt;
&lt;p&gt;npm更新依赖包：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue脚手架</title>
      <link>https://www.cillian.website/post/20230712/</link>
      <pubDate>Wed, 12 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230712/</guid>
      
        <description>&lt;p&gt;vue-cli&lt;/p&gt;
&lt;p&gt;仓库地址：
&lt;a href=&#34;https://github.com/vuejs/vue-cli/tree/dev&#34;&gt;https://github.com/vuejs/vue-cli/tree/dev&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;访问地址:
&lt;a href=&#34;https://cli.vuejs.org/&#34;&gt;https://cli.vuejs.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;版本已停留在2022年7月7日：V5.0.8&lt;/p&gt;
&lt;p&gt;官方已经提示:&lt;/p&gt;
&lt;p&gt;Vue CLI 处于维护模式！&lt;/p&gt;
&lt;p&gt;对于新项目，请使用 create-vue 来搭建基于 Vite 的项目的脚手架。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>后端语言</title>
      <link>https://www.cillian.website/post/20230710/</link>
      <pubDate>Mon, 10 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230710/</guid>
      
        <description>&lt;p&gt;今天没有学习后端相关知识。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue笔记</title>
      <link>https://www.cillian.website/post/20230707/</link>
      <pubDate>Fri, 07 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230707/</guid>
      
        <description>&lt;h3 id=&#34;vue核心概念总结&#34;&gt;vue核心概念总结&lt;/h3&gt;
&lt;p&gt;响应式数据 (Reactive Data): Vue.js 的一个核心特性是数据的响应式。这意味着当数据发生变化时，相关的视图会自动更新。你可以使用 data 对象来定义响应式数据，并在模板中使用它们。&lt;/p&gt;
&lt;p&gt;模板 (Templates): Vue.js 使用基于 HTML 的模板语法来声明视图。模板中可以包含 Vue.js 的指令、表达式和过滤器，用于控制和展示数据。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>vue核心概念</title>
      <link>https://www.cillian.website/post/20230706/</link>
      <pubDate>Thu, 06 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230706/</guid>
      
        <description>&lt;p&gt;今天收到了阿里的人工智能模型“通义千问”的内测资格，试了一下，我也非专业人士，就不瞎评测了。只是对比百度文心一言，个人感觉不相上下，离chatgpt还是有一点差距的。但是对于一些简单问题或者代码编写还是完全够用的，心底里还是很欣慰的，毕竟有更多的选择对我们普通人是更友好的。
官网：
&lt;a href=&#34;https://qianwen.aliyun.com/&#34;&gt;https://qianwen.aliyun.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;img src=&#34;180f058bb39dd67d05203bf7990c06f.png&#34; alt=&#34;
&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34; /&gt;
&lt;/h2&gt;
&lt;p&gt;上次分享了使用vue+ts+vite+antd+pnpm编写了一个简单的应用，在这里面我们其实就是一个熟悉前端工程化的过程，antd是ui组件、pnpm是包管理器，ts是js的超集，可以在编译时进行检查，而vite又是一个快速开发构建的工具，可以快速启动开发服务器并进行代码的编译和打包，支持热更新。总之利用这些工具和方法，能够大大的提升开发的效率。&lt;/p&gt;
&lt;p&gt;今天就开始一点点根据自己收获进行分享：&lt;/p&gt;
&lt;p&gt;1、ts（TypeScript）是js的超集，可以编译成普通的js，支持任意浏览器，任意系统，并且开源。怎么理解超集，简单理解应该是ts兼容js，但ts有更强大的功能。就是说ts是基于js基础上多了一个类型系统，可以在编译前帮你检查出错误，可以避免因为js没有类型约束导致的一些BUG，而往往这些BUG只有在运行的时候才能发现，会导致生产的故障。ts在编译的时候先将代码编译成js，才能在浏览器或者nodejs中执行。&lt;/p&gt;
&lt;p&gt;如果对于ts还不太熟悉的话，就直接先上官网研究一下，如果会js的话，上手ts还是很容易，总之最好就是一边写一边学，效果会豪横多。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>使用vue&#43;ts&#43;antd&#43;pnpm实现天气查询应用</title>
      <link>https://www.cillian.website/post/20230705/</link>
      <pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230705/</guid>
      
        <description>&lt;p&gt;上一篇介绍了前端工程化的一些东西，说要从vue开始学习，那么相比理论，直接进行开发实例能够更好的理解工程化带来的便利。说说今天要做的小应用，上一篇介绍了轮播图，这次就是查询天气卡片显示。&lt;/p&gt;
&lt;p&gt;先说说实现的核心思路：
1、监听城市名
2、接口请求
3、接口数据返回
4、动态渲染页面&lt;/p&gt;
&lt;p&gt;看看实现的完成图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;399824d2ca18e49cd9be147c27d52ca.png&#34; alt=&#34;
&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34; /&gt;
&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>前端工程化</title>
      <link>https://www.cillian.website/post/20230704/</link>
      <pubDate>Tue, 04 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230704/</guid>
      
        <description>&lt;p&gt;今天和一个资深的前端开发前辈聊了聊，我说作为一个非专业的前端爱好者，该怎么快速学习前端的知识。这位前辈这样说，“你应该庆幸你是因为爱好才学习前端知识，而不是为了谋生而学习。还有从开始就不要把自己作为一个业余的开发者去学习，只要是你爱好的就应该成为学习动力，努力之后一定可以成为专业的开发者。”这番话对我感触挺大的，有爱好并为之努力，一定可以收获更多。&lt;/p&gt;
&lt;p&gt;然后这个前辈就分享了以前学习前端的过程，就是先用记事本写HTML页面结构，然后加入CSS进行排版美化页面，后来再写一些js代码增加交互功能，根据实际需求，需要多少页面就创建多少个页面。&lt;/p&gt;
&lt;p&gt;但现在的前端开发，早就进入了工程化开发的时代，已经存在有各种现代化的框架，编译工具以及预处理器等等。&lt;/p&gt;
&lt;p&gt;下面就传统和工程化的前端开发优劣介绍下：&lt;/p&gt;
&lt;p&gt;传统开发：没有采用工程化工具和流程的情况下进行开发，通常需要开发者手动管理文件、依赖和构建过程。&lt;/p&gt;
&lt;p&gt;优势：
1、入门快，不需要额外学习配置工具和流程
2、灵活，根据需求喜好选择合适工具，直接操作DOM
3、轻量：没有复杂的构建和工具依赖，项目体积小&lt;/p&gt;
&lt;p&gt;劣势：
1、效率低，手动管理较多，缺乏自动化工具和流程
2、维护难，没有统一的代码风格，团队协作难
3、难扩展，缺少模块化和组件化&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>下半年运维开发写作计划</title>
      <link>https://www.cillian.website/post/20230703/</link>
      <pubDate>Mon, 03 Jul 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230703/</guid>
      
        <description>&lt;p&gt;转眼间上半年已过去，下半年已经开始了，努力搬砖中！这周打算主要介绍前端相关知识，奈何搬砖过程中遇到不少问题，暂时只能是想到哪写哪，先记录起来，后面抽空再统一整理。&lt;/p&gt;
&lt;p&gt;截止今天，自己分享的已经从前后端开发到自动部署的基础知识都有所涉及了，上篇分享的gitlab-ci流程已经弄完了，不过都是用shell执行器实现的，文件内容就很简单，直接打包拷贝到nginx服务器而已。因为docker执行器一个是对于简单项目来说构建时间久，还有就是因为有网络环境隔离的原因，操作起来不是那么方便。&lt;/p&gt;
&lt;p&gt;上半年运维开发写作计划中，从3月到6月主要就是从计算机基础、开发基础、前后端学习，以及开源项目的学习和开发这几个方面来写的。分享的基本都是基础知识，其实也是自己学习的过程，文章内容基本都是安装操作以及相关基础知识之类的。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s?__biz=Mzg2OTY1ODU4NA==&amp;amp;mid=2247485673&amp;amp;idx=1&amp;amp;sn=57dc973e6be7b79130cf4f48a1490c27&amp;amp;chksm=ce98f25ef9ef7b48bd8b2b367e16f38644e17da23fe93078c58a63db401f78bbb27117b4cdef&amp;amp;token=1357150504&amp;amp;lang=zh_CN#rd&#34;&gt;https://mp.weixin.qq.com/s?__biz=Mzg2OTY1ODU4NA==&amp;mid=2247485673&amp;idx=1&amp;sn=57dc973e6be7b79130cf4f48a1490c27&amp;chksm=ce98f25ef9ef7b48bd8b2b367e16f38644e17da23fe93078c58a63db401f78bbb27117b4cdef&amp;token=1357150504&amp;lang=zh_CN#rd&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;那么下半年还是持续分享这几方面的知识，但是对自己的所写的文章要求肯定会高一点，一方面是督促自己，另一方面也是对自己读者的负责，毕竟已经有不少读者的关注，还是压力蛮大的。&lt;/p&gt;
&lt;p&gt;“下半年就开始着重某一个点，比如从实战项目中涉及的知识点由浅到深解析学习，详细计划根据实际情况选择展开。”这是上半年说的，只是一个大概描述，我后来想了一下就拆分如下：&lt;/p&gt;
&lt;p&gt;主要就四件事：&lt;/p&gt;
&lt;p&gt;1、基础知识巩固&lt;/p&gt;
&lt;p&gt;2、前后端语言以及云原生的持续学习&lt;/p&gt;
&lt;p&gt;3、开源项目的维护&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>docker执行器自动化部署vue项目</title>
      <link>https://www.cillian.website/post/20230628/</link>
      <pubDate>Wed, 28 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230628/</guid>
      
        <description>&lt;p&gt;今天接着上次，使用gitlab中的cicd功能自动部署vue项目，如果全部使用shell执行器，肯定是可以的，就是要提前在runner宿主机或者远程部署主机上安装好node环境以及其他依赖的环境，这里今天尝试的是docker执行器，构建操作在docker中完成。&lt;/p&gt;
&lt;p&gt;首先是chatgpt给的CI的范例：&lt;/p&gt;
&lt;h2 id=&#34;定义一个stages阶段包括buildtest和deploy&#34;&gt;定义一个stages阶段，包括build、test和deploy&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;stages:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - test
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - deploy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# 定义构建阶段
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;build:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  stage: build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  image: node:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cache:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    paths:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - node_modules/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  before_script:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  script:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# 定义测试阶段
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;test:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  stage: test
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  image: node:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cache:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    paths:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - node_modules/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  before_script:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  script:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - npm run test
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# 定义部署阶段
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deploy:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  stage: deploy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  image: node:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  before_script:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - yum install -y nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  script:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - rm -rf /usr/share/nginx/html/*
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - cp -r dist/* /usr/share/nginx/html/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - systemctl restart nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但这里有几个问题：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>流水线使用浅谈</title>
      <link>https://www.cillian.website/post/20230627/</link>
      <pubDate>Tue, 27 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230627/</guid>
      
        <description>&lt;h2 id=&#34;使用总结&#34;&gt;使用总结&lt;/h2&gt;
&lt;p&gt;通过前面的分享，我已经在自己的环境中安装了gitlab-runner和jenkins，我以前用的是脚本全自动部署，所有操作都是由shell执行器完成，并没有涉及docker执行器。然后今天我就分享下，对于gitlab-runner执行器的一点认识。&lt;/p&gt;
&lt;h2 id=&#34;jenkins和gitlab-ci&#34;&gt;jenkins和gitlab-ci&lt;/h2&gt;
&lt;p&gt;有读者有疑惑，为什么先用gitlab-ci而不是jenkins，我这里就来简单对比下，gitlab的流水线和jenkins的流水线。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;安装和配置:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;GitLab CI:作为GitLab的一部分,安装简单,配置也较简单。&lt;/li&gt;
&lt;li&gt;Jenkins:独立工具,安装和配置较复杂,需要配置各种插件和环境。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;使用难度:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;GitLab CI:配置简单,YAML格式的配置文件,易上手,学习曲线平稳。&lt;/li&gt;
&lt;li&gt;Jenkins:功能强大,但配置繁琐,需要编程来实现较复杂的任务,学习曲线较陡。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;与源码管理的结合:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;GitLab CI:原生集成了Git,非常易于与GitLab仓库结合,可以自动检测仓库更改并运行流水线。&lt;/li&gt;
&lt;li&gt;Jenkins:可以结合各种源码管理工具,但需要手动配置触发器来检测更改。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;可扩展性:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;GitLab CI:可以安装GitLab Runner来扩展,支持与Kubernetes集成,较易于水平扩展。&lt;/li&gt;
&lt;li&gt;Jenkins:本身支持分布式部署,有大量插件可以连接不同环境,扩展性高但复杂。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;预置环境和资产:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;GitLab CI:没有预置的环境或资产,每次运行流水线时会创建独立环境。&lt;/li&gt;
&lt;li&gt;Jenkins:有丰富的预置环境、凭证、缓存等资产,可以重复使用,但也增加了管理难度。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那么到底如何选择：
GitLab CI简单易用,但功能略少,扩展和管理也相对简单。适用于中小型项目。
Jenkins功能强大,但较复杂,需要投入更多时间去管理与扩展。适用于大型项目。
两者可以很好地结合使用,例如使用GitLab CI进行 daily build,使用Jenkins进行发布管理。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>使用jenkins-2.401.1</title>
      <link>https://www.cillian.website/post/20230626/</link>
      <pubDate>Mon, 26 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230626/</guid>
      
        <description>&lt;h2 id=&#34;gitlab-ci使用&#34;&gt;gitlab-ci使用&lt;/h2&gt;
&lt;p&gt;接着上篇文章，先将项目上传至gitlab，其中包含编写ci文件，然后就会自动检测到并构建运行ci文件。&lt;/p&gt;
&lt;p&gt;这个gitlab-ci文件要在项目中的根目录中，形式如：
.gitlab-ci.yaml&lt;/p&gt;
&lt;p&gt;在这个文件中，可以定义：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;脚本&lt;/li&gt;
&lt;li&gt;配置文件&lt;/li&gt;
&lt;li&gt;命令&lt;/li&gt;
&lt;li&gt;要部署到的环境位置&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;比如官方给的举例：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>gitlab-runner跑起来！</title>
      <link>https://www.cillian.website/post/20230622/</link>
      <pubDate>Thu, 22 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230622/</guid>
      
        <description>&lt;h2 id=&#34;cicd&#34;&gt;CI/CD&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;总体概括&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;CI/CD 是持续集成(Continuous Integration)和持续部署(Continuous Delivery/Deployment)的缩写。&lt;/p&gt;
&lt;p&gt;持续集成Continuous Integration
持续交付Continuous Delivery
持续部署Continuous Deployment&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>gitlab-16.0.2！</title>
      <link>https://www.cillian.website/post/20230621/</link>
      <pubDate>Wed, 21 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230621/</guid>
      
        <description>&lt;h1 id=&#34;安装gitlab-runner&#34;&gt;安装gitlab-runner&lt;/h1&gt;
&lt;p&gt;中文版本官方文档：
&lt;a href=&#34;https://docs.gitlab.cn/runner/install/&#34;&gt;https://docs.gitlab.cn/runner/install/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;看官方文档，有以下理解：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;gitlab-runner开源，使用go编写，可以作为单个二进制文件运行，没有特定语言要求。&lt;/li&gt;
&lt;li&gt;可以使用docker部署或者部署到k8s集群。&lt;/li&gt;
&lt;li&gt;可以在linux、macos、freebsd、windows平台安装使用。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;部署方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;容器中&lt;/li&gt;
&lt;li&gt;手动下载二进制文件&lt;/li&gt;
&lt;li&gt;使用rpm包安装&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;注意：出于安全和性能原因，不应该在托管GitLab 实例的机器上安装GitLab Runner。
今天我们选择使用yum方式安装，因为是centos系统使用居多，用yum管理也比较方便。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>代码仓库</title>
      <link>https://www.cillian.website/post/20230620/</link>
      <pubDate>Tue, 20 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230620/</guid>
      
        <description>&lt;p&gt;目前已经复习了Linux、网络、前后端、docker以及k8s的基础知识，现在就是开始研究持续集成和持续部署也就是CI/CD,目前主流的就是gitlab+自带的cicd流程或者jenkins+docker/k8s作为实现手段，那我们首先安装gitlab，上传代码，然后安装gitlab-runner作为代码的运行环境。将代码部署到k8s集群中，实现快速的代码部署更新迭代，下面就来介绍，可能这篇文章无法全部写完，会持续输出。&lt;/p&gt;
&lt;h2 id=&#34;gitlab安装&#34;&gt;gitlab安装&lt;/h2&gt;
&lt;p&gt;官方文档：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.gitlab.com/ee/install/&#34;&gt;https://docs.gitlab.com/ee/install/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;环境要求：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;安装包约占2.5G存储空间，考虑使用LVM逻辑卷管理挂载硬盘空间&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;由于文件系统性能可能会影响 GitLab 的整体性能,不建议使用基于云的文件系统进行存储。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NFS 用于 Git 存储库存储已弃用。更多信息,参阅官方声明。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Harbor-2.8.2更新快速搭建</title>
      <link>https://www.cillian.website/post/20230619/</link>
      <pubDate>Mon, 19 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230619/</guid>
      
        <description>&lt;h2 id=&#34;harbor更新了那些内容&#34;&gt;Harbor更新了那些内容&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;组件更新&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代理缓存收到太多请求错误（429）时返回错误&lt;/li&gt;
&lt;li&gt;在 #2.8.2 版本中将发行版提升到 v2.8.0&lt;/li&gt;
&lt;li&gt;修复：更新 TRIVYVERSION=v0.42.0 &amp;amp; TRIVYADAPTERVERSION=v0.30.12&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其他更改&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>k8s-1.27.3</title>
      <link>https://www.cillian.website/post/20230615/</link>
      <pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230615/</guid>
      
        <description>&lt;p&gt;在希里安公众号上！&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>前端表格开发原来如此简单</title>
      <link>https://www.cillian.website/post/20230614/</link>
      <pubDate>Wed, 14 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230614/</guid>
      
        <description>&lt;h1 id=&#34;前端表格开发原来如此简单&#34;&gt;前端表格开发原来如此简单&lt;/h1&gt;
&lt;p&gt;前一段时间中，我们开发的表格当时只有展示后端信息的效果，并不能完成增删改查的操作。今天花了一点时间学习了下antd表格的使用，完成了具备增删改查完整通用功能的前后端交互，分享给大家，但界面稍丑，不断会完善。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.cillian.website/images/image-4.png&#34; alt=&#34;Alt text&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34; /&gt;

&lt;img src=&#34;https://www.cillian.website/images/image-5.png&#34; alt=&#34;Alt text&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34; /&gt;

&lt;img src=&#34;https://www.cillian.website/images/image-6.png&#34; alt=&#34;Alt text&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34; /&gt;
&lt;/p&gt;
&lt;h2 id=&#34;涉及技术点&#34;&gt;涉及技术点&lt;/h2&gt;
&lt;p&gt;前端：
vite+ts+antd3+vue3&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>表格全栈开发</title>
      <link>https://www.cillian.website/post/20230613/</link>
      <pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230613/</guid>
      
        <description>&lt;h1 id=&#34;前后端表格开发&#34;&gt;前后端表格开发&lt;/h1&gt;
&lt;h2 id=&#34;前端&#34;&gt;前端&lt;/h2&gt;
&lt;p&gt;创建vite&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://cn.vitejs.dev/&#34;&gt;https://cn.vitejs.dev/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;使用pnpm创建&lt;/p&gt;
&lt;p&gt;pnpm create vite&lt;/p&gt;
&lt;h2 id=&#34;后端&#34;&gt;后端&lt;/h2&gt;</description>
      
    </item>
    
    <item>
      <title>前端学习笔记</title>
      <link>https://www.cillian.website/post/20230612/</link>
      <pubDate>Mon, 12 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230612/</guid>
      
        <description>&lt;h1 id=&#34;前端学习记录1&#34;&gt;前端学习记录（1）&lt;/h1&gt;
&lt;h2 id=&#34;ts和js有什么区别&#34;&gt;ts和js有什么区别&lt;/h2&gt;
&lt;p&gt;ts和js的主要区别如下:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;类型系统
TypeScript是一个结构化的类型系统,JavaScript是一门无类型语言。这意味着在TypeScript中,变量、函数、对象等都有明确的类型定义,而在JavaScript中,变量可以随意赋值任何类型的值。
TypeScript的类型系统给JavaScript带来的好处是:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;优秀的IDE支持(代码补全、接口提示等)&lt;/li&gt;
&lt;li&gt;编译时的类型检查&lt;/li&gt;
&lt;li&gt;减少不合理的代码&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;可选类型和严格null检查
TypeScript有可选类型,可以对可能为null的值进行类型定义。并且在严格的null检查模式下, eliminates抛出空指针异常。&lt;/li&gt;
&lt;li&gt;接口
TypeScript支持接口,可以用来明确的强制一个合约。接口的好处是:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;对对象的形状进行抽象&lt;/li&gt;
&lt;li&gt;可以在编译时检查是否符合接口要求&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;枚举
TypeScript支持枚举,枚举可以使代码更清晰和简洁。&lt;/li&gt;
&lt;li&gt;类
TypeScript作为一个面向对象的语言,支持类与继承。在TypeScript中,类有以下特点:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;支持public, private和protected修饰符&lt;/li&gt;
&lt;li&gt;支持抽象类&lt;/li&gt;
&lt;li&gt;支持接口继承&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;编译器
TypeScript需要通过编译器编译成JavaScript后才可以运行,编译过程中会进行类型检查和语法检查。
总之,TypeScript在JavaScript的基础上,新增了可选的类型系统、接口、枚举、类等面向对象的语言特性,并通过强大的编译器,在静态检查的同时,生成干净的JavaScript代码。
两者的主要区别在于:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;类型系统:TypeScript是结构化的类型系统,JavaScript是无类型&lt;/li&gt;
&lt;li&gt;可选类型和空指针检查:TypeScript通过可选类型和严格的空指针检查提高代码稳定性&lt;/li&gt;
&lt;li&gt;接口:TypeScript通过接口定义对象形状和编译时类型检查&lt;/li&gt;
&lt;li&gt;枚举: TypeScript通过枚举使代码更简洁清晰&lt;/li&gt;
&lt;li&gt;类:TypeScript支持类,继承等面向对象语言特征&lt;/li&gt;
&lt;li&gt;编译器:TypeScript需要编译器编译为JavaScript后运行&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;在vue3tsantd设计一个表格的过程是什么&#34;&gt;在vue3+ts+antd设计一个表格的过程是什么&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;创建Table.vue组件,引入ant-design-vue的Table和其他组件:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;table&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;columns&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dataSource&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;dataSource&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ts&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defineComponent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Table&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Tag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Space&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;ant-design-vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defineComponent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;components&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ATable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Table&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ATag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Tag&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ASpace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Space&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;定义表格的数据接口和类型:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;interface TableData {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  id: number;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  name: string;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  age: number;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  address: string;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;type TableRow = {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  key: number;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  name: string;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  age: number;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  address: string;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  actions: JSX.Element  // 操作列
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;定义表格列columns:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;columns = [
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    title: &amp;#39;Name&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    dataIndex: &amp;#39;name&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  },
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    title: &amp;#39;Age&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    dataIndex: &amp;#39;age&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  },
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    title: &amp;#39;Address&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    dataIndex: &amp;#39;address&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  },
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    title: &amp;#39;Actions&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    dataIndex: &amp;#39;actions&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    width: 150,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fixed: &amp;#39;right&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;获取表格数据并设置给dataSource:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import axios from &amp;#39;axios&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;axios.get&amp;lt;TableData[]&amp;gt;(&amp;#39;/table/list&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  .then(res =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    this.dataSource = res.data.map(row =&amp;gt; ({
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      ...row,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      actions: (
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &amp;lt;Aspace&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &amp;lt;ATag&amp;gt; Edit &amp;lt;/ATag&amp;gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &amp;lt;ATag&amp;gt; Delete &amp;lt;/ATag&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &amp;lt;/Aspace&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      )
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    }))
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  })
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;发送新增/编辑请求并更新表格:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;axios&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;post&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;/table/add&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;newRow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dataSource&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;actions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;axios&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;put&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;/table/update&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;updatedRow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rowIndex&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dataSource&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;findIndex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;row&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dataSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rowIndex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;n&#34;&gt;actions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;发送删除请求并从表格删除相应行:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;axios.delete(`/table/delete/${selectedRowKeys[0]}`)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  .then(res =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    this.dataSource = this.dataSource.filter(row =&amp;gt; row.id !== res.data.id)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  })
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;一个vue3ts的页面结构是什么样的&#34;&gt;一个vue3+ts的页面结构是什么样的&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;入口文件main.ts:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createApp&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;App&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./App.vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;app&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createApp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;App&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;app&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;#app&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;App.vue根组件:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;app&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;router&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;view&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ts&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defineComponent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defineComponent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;App&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;routes/index.ts 路由定义文件:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createRouter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createWebHashHistory&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;vue-router&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Home&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;../views/Home.vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;routes&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Home&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;component&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Home&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;router&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createRouter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;history&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createWebHashHistory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;routes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;router&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;views/Home.vue 视图组件:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;home&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;h1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Home&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;h1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ts&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defineComponent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;defineComponent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Home&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;shims-vue.d.ts 定义vue的类型声明:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;declare&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;module&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;*.vue&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DefineComponent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;component&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DefineComponent&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{},&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{},&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;any&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;component&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;其他.vue组件、接口定义、类型定义等。
以上就是vue3+ts项目的基本页面结构,主要包括:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;入口文件main.ts&lt;/li&gt;
&lt;li&gt;App根组件&lt;/li&gt;
&lt;li&gt;路由定义文件routes/index.ts&lt;/li&gt;
&lt;li&gt;视图组件views/Home.vue&lt;/li&gt;
&lt;li&gt;shims-vue.d.ts的vue类型声明&lt;/li&gt;
&lt;li&gt;其他vue组件、接口定义、类型定义等&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ts和vue3有什么关系&#34;&gt;ts和vue3有什么关系&lt;/h2&gt;
&lt;p&gt;ts和vue3有以下关系:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>推荐好用的AI工具</title>
      <link>https://www.cillian.website/post/20230611/</link>
      <pubDate>Sun, 11 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230611/</guid>
      
        <description>&lt;h1 id=&#34;推荐好用的ai工具&#34;&gt;推荐好用的AI工具&lt;/h1&gt;
&lt;h2 id=&#34;先聊点别的&#34;&gt;先聊点别的&lt;/h2&gt;
&lt;p&gt;周末两天一晃就过去了，周末我一般就不更新文章，主要用来休息。出去转一圈啊补补觉啊啥的，以前都是比较迷信弯道超车，空闲时间加大学习和“卷”的力度。但是后来觉得如果不是自主自愿的去学习的话，完全靠自律去学的效率真的不高。而且最近看到很多年轻人工作劳累导致猝死的。所以咱要有身体健康第一位的觉悟，有良好的作息，保持平日的效率即可。因为咱们打工人工作日本来就很累了，周末还是好好休息吧。今天我就是水一篇文章，推荐一些好用的AI工具。&lt;/p&gt;
&lt;h2 id=&#34;关于ai工具&#34;&gt;关于AI工具&lt;/h2&gt;
&lt;p&gt;最近有看到新闻，有一些所谓的智能AI传媒公司，基本全是AI员工。文案、策划、设计、视频剪辑，美术，全部交给各种AI工具。甚至直播都是AI数字人，可以24小时不间断直播宣传。看到这大家有什么想法呢？&lt;/p&gt;
&lt;p&gt;虽然我也不太喜欢不AI产生的一些批量化的作品，但没有办法。目前AI取代一些基础岗位是发展趋势。这也倒逼着大家要提升自我综合能力，防止被AI替代。所以我们不能成为AI工具的奴隶，而是要认识AI，并学会使用AI工具，相信随着自己专业能力的提升，就不会那么焦虑了。&lt;/p&gt;
&lt;h2 id=&#34;ai工具推荐&#34;&gt;AI工具推荐&lt;/h2&gt;
&lt;p&gt;这里就不详细介绍如何使用，感兴趣的直接上官网探索。&lt;/p&gt;
&lt;p&gt;易用GPT类：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;pandora&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>一文了解Lint</title>
      <link>https://www.cillian.website/post/20230609/</link>
      <pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230609/</guid>
      
        <description>Lint</description>
      
    </item>
    
    <item>
      <title>负载均衡</title>
      <link>https://www.cillian.website/post/20230607/</link>
      <pubDate>Wed, 07 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230607/</guid>
      
        <description>负载均衡</description>
      
    </item>
    
    <item>
      <title>网络必备知识系列</title>
      <link>https://www.cillian.website/post/20230606/</link>
      <pubDate>Tue, 06 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230606/</guid>
      
        <description>网络系列</description>
      
    </item>
    
    <item>
      <title>Linux从入门到入魔</title>
      <link>https://www.cillian.website/post/20230605/</link>
      <pubDate>Mon, 05 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230605/</guid>
      
        <description>开工</description>
      
    </item>
    
    <item>
      <title>cillian-platfrom开源啦</title>
      <link>https://www.cillian.website/post/20230601/</link>
      <pubDate>Thu, 01 Jun 2023 00:00:00 +0000</pubDate>
      <author>cilliantech@gmail.com (希里安CILLIAN)</author>
      <guid>https://www.cillian.website/post/20230601/</guid>
      
        <description>开工</description>
      
    </item>
    
  </channel>
</rss>
