<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[uikoo9的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/uikoo9</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; uikoo9]]></copyright><item><title><![CDATA[【MCP】一文对接图表MCP-mcp-server-chart]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/150582263</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/150582263</guid><author>uikoo9</author><pubDate>Thu, 21 Aug 2025 14:23:48 +0800</pubDate><description><![CDATA[是基于antv的图标MCP，可以轻松的让大模型生成各种图表。]]></description><category></category></item><item><title><![CDATA[webpack随笔07-bootstrap]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/125301890</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/125301890</guid><author>uikoo9</author><pubDate>Wed, 15 Jun 2022 23:00:00 +0800</pubDate><description><![CDATA[上一篇讲了webpack集成bulma这个css框架，本文讲下webpack集成bootstrap框架上文：webpack随笔06-bulma_uikoo9的博客-优快云博客 bulma：Bulma: Free, open source, and modern CSS framework based on Flexboxbootstrap：Bootstrap · The most popular HTML, CSS, and JS library in the world.通过文件的方式引入css，js就]]></description><category></category></item><item><title><![CDATA[webpack随笔06-bulma]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/125271951</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/125271951</guid><author>uikoo9</author><pubDate>Tue, 14 Jun 2022 23:00:00 +0800</pubDate><description><![CDATA[推荐一个网站：Find the best package for you and test it online, Analyze tech stack for your project. | DEVTOOL.TECH这里可以看到npm包各种信息，比如按npm包star数排行，下载数排行，以及npm包详细信息等 npm包详情内，有很多聚合的信息这个网站比较有意思，可以看到目前流行的npm包是哪些流行npm包（star排行）中，css类前三：bootstrap（老牌大哥），element-ui，bulma，Bu]]></description><category></category></item><item><title><![CDATA[centos随笔04：acme.sh申请https证书]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/125180450</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/125180450</guid><author>uikoo9</author><pubDate>Wed, 08 Jun 2022 11:31:17 +0800</pubDate><description><![CDATA[搭建网站的时候，有的网站地址是http://xxx，有的是https://，两者的不同是https更安全，申请了ssl证书，前几年http类的网站还挺多，目前看基本都是https类网站了，ssl证书有各种档位，免费，收费每年几百，几千到几万各不同，如果是自己搭建网站使用免费证书应该够用了，一般申请免费证书使用acme.sh比较方便github：GitHub - acmesh-official/acme.sh: A pure Unix shell script implementing ACME client]]></description><category></category></item><item><title><![CDATA[centos随笔03：centos8.2安装mysql]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/125065945</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/125065945</guid><author>uikoo9</author><pubDate>Tue, 31 May 2022 15:17:14 +0800</pubDate><description><![CDATA[【mysql/mariadb】

由于使用的是腾讯云轻应用服务器，这里安装mariadb替代





【dnf/yum】

dnf是yum包管理器的升级，虽然在服务器上这两个命令都可以用，建议使用dnf管理包



【检索mariadb】


dnf search mariadb

通过search命令可以检索可以安装的应用包



【安装mariadb】


dnf install mariadb mariadb-server

在centos下需要安装mariadb和mariadb-ser...]]></description><category></category></item><item><title><![CDATA[centos随笔02：安装nodejs]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/125003311</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/125003311</guid><author>uikoo9</author><pubDate>Fri, 27 May 2022 14:53:28 +0800</pubDate><description><![CDATA[【前言】

安装nodejs有很多种方式，

但是nodejs的版本管理常见的是通过n或者nvm管理

n - npm

https://github.com/nvm-sh/nvm



【n vs nvm】

简单的对比一下，感兴趣的可以在网上找一些资料看下

n，是一种npm包，也就是说一般你得先安装好nodejs，有了npm环境后，才能使用n

nvm，不依赖nodejs和npm环境，直接可以使用

从个人以前使用的经验上来看，n比nvm比较好用



【nodejs下安装n】

如果已经有nod..]]></description><category></category></item><item><title><![CDATA[centos随笔01：设置alias]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/125003157</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/125003157</guid><author>uikoo9</author><pubDate>Fri, 27 May 2022 14:26:14 +0800</pubDate><description><![CDATA[【alias】

别名，一些常用的命令可以设置别名方便后续使用，例如将clear设置为cls



【设置】

alias可以配置到任意地方，一般会放在~/.bashrc这个路径


vim ~/.bashrc

打开文件后在红框的部分继续添加自己想设置的别名，然后保存





【生效】

添加别名后还要通过source命令让别名生效


source ~/.bashrc

生效后即可使用你自己设置的别名了
...]]></description><category></category></item><item><title><![CDATA[webpack随笔05-less-loader]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/124889684</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/124889684</guid><author>uikoo9</author><pubDate>Fri, 20 May 2022 20:16:12 +0800</pubDate><description><![CDATA[【前言】

less也是用的比较多的css预编译语音的一种，详见：Getting started | Less.js

最早是因为大名鼎鼎的bootstrap使用less，所以比较有名



【less-loader】

webpack解析less文件需要使用到less-loader，详见：less-loader - npm

用法也比较简单，如下


module.exports = {
  module: {
    rules: [
      {
        test: /\.less$/i..]]></description><category></category></item><item><title><![CDATA[webpack随笔04-webpack5压缩js&css]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/124637017</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/124637017</guid><author>uikoo9</author><pubDate>Sat, 07 May 2022 18:47:11 +0800</pubDate><description><![CDATA[【前言】

webpack5的压缩大致和webpack4相似，稍微有一些不同



【不压缩css】

dev模式下不需要压缩css，且讲css以style的形式注入到html即可


  rules: [
    {
      test: /\.css$/,
      include: [
          /node_modules[\\/]antd/,
          /node_modules[\\/]normalize\.css/,
          /iconfont\.cs...]]></description><category></category></item><item><title><![CDATA[Electron实战QZip-03：渲染进程开发]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/124576010</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/124576010</guid><author>uikoo9</author><pubDate>Wed, 04 May 2022 22:23:34 +0800</pubDate><description><![CDATA[【前言】

上一节讲了electron应用的主进程开发部分，本节继续渲染进程的开发

Electron实战QZip-02：主进程开发_uikoo9的博客-优快云博客



【渲染进程开发模式选择】

上节讲了使用qiao-electron-cli init生成的代码项目结构





qzip，主项目，主要是构建mac应用和dmg打包，以及提供dev的electron环境

｜--qzip-pack，打包相关的配置文件和图标等

｜--qzip-src

    ｜--qzip-main，主...]]></description><category></category></item><item><title><![CDATA[Electron实战QZip-02：主进程开发]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/124560445</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/124560445</guid><author>uikoo9</author><pubDate>Tue, 03 May 2022 22:43:48 +0800</pubDate><description><![CDATA[【前言】

上一节Electron实战QZip-01：初始化项目&amp;打包应用_uikoo9的博客-优快云博客

主要讲了使用qiao-electron-cli - npm

的相关命令

1.init，生成一个electron的项目

2.icon，生成mac下icns图标

3.packmac，生成mac应用

4.packdmg，生成dmg安装包

5.config文件介绍



本节可以QZip这个应用的主进程开发



【qiao-electron】

electron主进程开发中有很多..]]></description><category></category></item><item><title><![CDATA[Electron实战QZip-01：初始化项目&打包应用]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/124547674</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/124547674</guid><author>uikoo9</author><pubDate>Mon, 02 May 2022 23:13:18 +0800</pubDate><description><![CDATA[【前言】

Electron那些事系列：Electron那些事01：起步_uikoo9的博客-优快云博客

主要是介绍Electron常见的特性，从本章开始实战做一个Electron应用



【QZip】

第一个实战项目不能太大，还需要把之前讲的内容串起来，

想来想去，做一个zip压缩和解压缩的工具吧，

名字暂定QZip



【qiao-electron-cli】

在写Electron那些事系列过程中，抽了一个electron打包相关的工具，

qiao-electron-cli - ...]]></description><category></category></item><item><title><![CDATA[一文学会用Lerna管理多个npm包]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/124190634</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/124190634</guid><author>uikoo9</author><pubDate>Fri, 15 Apr 2022 16:43:54 +0800</pubDate><description><![CDATA[【前言】

大部分开发项目来说，一般都是一个项目对应一个代码库，这样分工比较明确，也比较好管理，

monorepo，单一代码库，是将多个项目集中在一个代码库内，

几种场景

1.多个项目集中在一起

比如将前端项目，后端项目，移动端项目，都集中在一个代码仓库内

参考文章：5分钟搞懂Monorepo - 简书

2.前端管理多个npm包项目

前端项目中一般会涉及多个npm包项目，一般每个npm包项目单独一个代码仓库

这种场景下，将多个npm包项目集中在一个代码仓库内管理



【lerna安装...]]></description><category></category></item><item><title><![CDATA[Electron那些事11：快捷键和黑暗模式]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123996223</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123996223</guid><author>uikoo9</author><pubDate>Wed, 06 Apr 2022 18:31:25 +0800</pubDate><description><![CDATA[【前言】

本节讲下electron下设置快捷键和mac黑暗模式的使用



【快捷键设置】

快捷键设置比较简单，下面是全局快捷键设置


globalShortcut.register(shortcutKey, shortcutCallback);

传入快捷键名称，和快捷键回调即可



这里需要在app退出时释放掉全局快捷键，如下


  app.on('will-quit', () =&gt; {
    globalShortcut.unregisterAll();
  });



【黑暗..]]></description><category></category></item><item><title><![CDATA[Electron那些事10：本地数据库sqlite]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123924787</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123924787</guid><author>uikoo9</author><pubDate>Sat, 02 Apr 2022 19:57:18 +0800</pubDate><description><![CDATA[【前言】

上一节讲了本地日志，本地数据（文件）的部分，

详见：Electron那些事09：本地数据_uikoo9的博客-优快云博客

虽然本地日志可以记录日志信息，

本地数据可以记录简单的配置文件，

但是像一些复杂的业务，需要维护一个本地数据库进行查询，本节讲一下本地数据库sqlite



【sqlite】

sqlite是有名的本地数据库，在很多系统中都有应用，SQLite Home Page





当然也有nodejs的版本，一般配套和electron使用，sqlite3 - np...]]></description><category></category></item><item><title><![CDATA[Electron那些事09：本地数据]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123841233</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123841233</guid><author>uikoo9</author><pubDate>Wed, 30 Mar 2022 17:06:27 +0800</pubDate><description><![CDATA[【前言】

electron开发桌面应用后，不可避免的要记录一些本地数据，

类似web浏览器中的cookie，session，localstorage，websql，indexeddb这些

本节来讲一下electron怎么记录本地数据



【本地日志】

Electron那些事06：本地日志和异常上报_uikoo9的博客-优快云博客

这一节讲了通过log4js记录本地日志，文章内只讲了传一个filename：vq.log，

但是并没有说这个日志文件会记录到那里，本节来探索一下



首先回顾..]]></description><category></category></item><item><title><![CDATA[Nodejs支持es6语法]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123833136</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123833136</guid><author>uikoo9</author><pubDate>Tue, 29 Mar 2022 22:01:16 +0800</pubDate><description><![CDATA[【前言】

nodejs是否支持es6语法呢，网上搜索大部分答案是要基于babel转一下才能支持，

其实目前nodejs的版本已经支持了es6语法了
]]></description><category></category></item><item><title><![CDATA[Electron那些事08：通过preload让渲染进程支持nodejs]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123696187</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123696187</guid><author>uikoo9</author><pubDate>Wed, 23 Mar 2022 21:16:58 +0800</pubDate><description><![CDATA[【前言】

标题有点长，本节想讲的是如何让渲染进程支持nodejs的能力，

Electron那些事04：进程通信_uikoo9的博客-优快云博客

04章节讲过一种方式，通过设置如下的属性





本节要讲的是另一种方式，供参考



【非preload的方式】

在复述一下04章节讲的方式

1.主进程中，打开一个window的时候，设置这些属性


        webPreferences.nodeIntegration = true;
        webPreferences.co...]]></description><category></category></item><item><title><![CDATA[Electron那些事07：窗口定制]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123680889</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123680889</guid><author>uikoo9</author><pubDate>Wed, 23 Mar 2022 12:00:36 +0800</pubDate><description><![CDATA[【前言】

之前章节简单介绍了窗口，本节介绍一下窗口定制，

Electron那些事03：渲染界面_uikoo9的博客-优快云博客



【默认窗口】

接之前的例子，可以看到mac上默认窗口会有一个标题栏，

但是实际开发中基本没有这种默认的标题栏





【无边框窗口】

第一种方式是为window添加frame属性，设置为false，这样就是无边框窗口了





效果如下





【设置标题栏样式】

上述效果可以看到左上角的关闭按钮也没有了，这个不是想要的效果

另一个方式是设置标题...]]></description><category></category></item><item><title><![CDATA[webpack随笔03-sass]]></title><link>https://blog.youkuaiyun.com/uikoo9/article/details/123666224</link><guid>https://blog.youkuaiyun.com/uikoo9/article/details/123666224</guid><author>uikoo9</author><pubDate>Tue, 22 Mar 2022 18:06:37 +0800</pubDate><description><![CDATA[【前言】

sass，css预编译语言的一种，还有less，stylus等，详见：Sass: Syntactically Awesome Style Sheets

简单来说就是自定义了一种语言，可以很方便的写css，并且最终会编译为css文件，

简单对比一下，

less，由于bootstrap使用，所以用的人比较多，但是没有sass好用

sass，比较好用，之前基于ruby的问题，sass缩进的问题都有改善



【几种版本】

在官网上可以看到sass有几种版本



dart sass，这...]]></description><category></category></item></channel></rss>