<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一个前端小菜菜的博客，四五年的经验，熟悉vue，react，nuxt，微信小程序，Uniapp。]]></title><description><![CDATA[一个前端小菜菜的博客，四五年的经验，熟悉vue，react，nuxt，微信小程序，Uniapp。]]></description><link>https://blog.youkuaiyun.com/qingfeng2020</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qingfeng2020]]></copyright><item><title><![CDATA[Flutter启动无法运行热重载]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/142282287</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/142282287</guid><author>qingfeng2020</author><pubDate>Sun, 15 Sep 2024 12:02:06 +0800</pubDate><description><![CDATA[Flutter报错
[ERROR:flutter/runtime/dart_isolate.cc(1315)] Unhandled exception:
WebSocketException: Invalid WebSocket upgrade request
flutter: Directories and files created successfully.
Connecting to the VM Service is taking longer than expected...]]></description><category></category></item><item><title><![CDATA[python使用openai做个简单的大模型对话转发服务]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/139760662</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/139760662</guid><author>qingfeng2020</author><pubDate>Tue, 18 Jun 2024 09:16:15 +0800</pubDate><description><![CDATA[【代码】python使用openai做个简单的大模型对话转发服务。]]></description><category></category></item><item><title><![CDATA[仙宫云自部署Ollama+openwebUI，一套代码享受多套LLM大模型]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/138970434</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/138970434</guid><author>qingfeng2020</author><pubDate>Thu, 16 May 2024 18:02:11 +0800</pubDate><description><![CDATA[不过若是机器性能不是很强的话建议公网访问，毕竟open webUI可以同时调用多个LLM大模型。因为我这里用的是docker容器服务器，所以我这里展示的是非docker的安装方式。甚至还可以将其与stable diffusion 进行联动，实现一句话画一张图。例如：通义千问，deepseek，gemma，llama，yi等大模型。抱歉我给忘了，第一次启动要在抱脸上下载文件，然后得先启动加速。安装open webUI的python依赖。11434可以换成其他的，自己定义。如果安装不动，可更换npm镜像源。]]></description><category></category></item><item><title><![CDATA[MaxKB宝塔Docker安装并配置域名访问]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/138457887</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/138457887</guid><author>qingfeng2020</author><pubDate>Sun, 05 May 2024 05:53:23 +0800</pubDate><description><![CDATA[在宝塔面板中打开SSH或者你本地使用SSH工具去链接服务器。对于一些海外AI产品的对接需要使用香港或者海外的服务器。这时我们可以看到docker容器中是有这个容器的。若不使用域名访问记得把服务器的防火墙打开。至于添加LLM模型去参考官方文档就行啦。前提是放开服务器的8080端口。服务器环境配置最好是4G+，这时我们可以设置域名访问了。默认环境LNMP随便装。占用硬盘存储大概1G。运行docker命令。直接设置纯静态就行了。]]></description><category></category></item><item><title><![CDATA[fastify关于env变量的使用]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/138276276</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/138276276</guid><author>qingfeng2020</author><pubDate>Sun, 28 Apr 2024 14:22:01 +0800</pubDate><description><![CDATA[最近在玩fastify这个node框架，说实话相对比egg或者是express-cli我更喜欢koa或者fastify这种纯手工搭建的框架。因为其具备更高的可配置性，扩展性，自由性。今天给大家伙儿出一个env环境变量的配置吧，自己写的哈，可能有点菜。但是不喜勿喷，有建议尽管提。虚心学习我这个template的代码已经上传到gitee了，有兴趣的可以去下载下来看看或者是直接使用。]]></description><category></category></item><item><title><![CDATA[TypeScript笔记]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130952406</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130952406</guid><author>qingfeng2020</author><pubDate>Tue, 30 May 2023 17:04:42 +0800</pubDate><description><![CDATA[函数返回值类型为number，参数类型为number。]]></description><category></category></item><item><title><![CDATA[自生成keystore证书查看证书的MD5，SHA1，SHA256信息]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130864514</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130864514</guid><author>qingfeng2020</author><pubDate>Thu, 25 May 2023 16:46:43 +0800</pubDate><description><![CDATA[查看自生成keystore证书的指纹信息（MD5，SHA1，SHA256）]]></description><category></category></item><item><title><![CDATA[懒人脚本一键部署一个chatglm-6b模型，基于腾讯云]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130832971</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130832971</guid><author>qingfeng2020</author><pubDate>Tue, 23 May 2023 18:44:56 +0800</pubDate><description><![CDATA[ChatGLM-6B 是清华大学开发的一个开源语言模型，它基于最先进的技术构建，提供了强大的自然语言处理能力。为了方便用户安装和使用 ChatGLM-6B，我提供了一个自动化安装脚本，它简化了安装过程，让您能够快速搭建环境并开始使用 ChatGLM-6B。当前脚本仅在腾讯云海外的GPU服务器上进行过实践，系统为Ubuntu 20。]]></description><category></category></item><item><title><![CDATA[手撕Promise【带注释详解】]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130752361</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130752361</guid><author>qingfeng2020</author><pubDate>Fri, 19 May 2023 10:30:29 +0800</pubDate><description><![CDATA[【代码】手撕Promise【带注释详解】]]></description><category></category></item><item><title><![CDATA[什么是前端宏任务，什么又是前端微任务呢？一文读懂前端微任务宏任务。]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130754014</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130754014</guid><author>qingfeng2020</author><pubDate>Thu, 18 May 2023 19:59:00 +0800</pubDate><description><![CDATA[需要注意的是，微任务具有高优先级，并且可以在同一宏任务中添加多个微任务，它们会在当前宏任务执行完毕后立即执行。而宏任务的执行时机是在当前宏任务执行完毕后，从宏任务队列中取出下一个宏任务执行。一旦宏任务执行完成，事件循环会立即检查微任务队列，并按照添加的顺序执行其中的微任务，直到微任务队列为空。在一个宏任务中，可能会产生多个微任务。这些微任务会被按照顺序添加到微任务队列中，等待宏任务执行完毕后依次执行。在前端中，宏任务和微任务是异步任务的两种不同类型。也就是说可以理解为一个宏任务包含了多个微任务。]]></description><category></category></item><item><title><![CDATA[fastify使用exceljs]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130745997</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130745997</guid><author>qingfeng2020</author><pubDate>Thu, 18 May 2023 14:30:00 +0800</pubDate><description><![CDATA[fastify是nodejs的一个服务端框架，此框架对于一些代码风格freestyle的人来说是非常舒服的。它并不会卡死你的代码结构，想怎么写就怎么写。在fastify中使用exceljs其实也还是有坑的，我们先写一下食用教程。当然，我也就不写注册路由啥的了哈，直接写一下路由绑定的函数，不懂得看我前面其他的关于fastify的教程。]]></description><category></category></item><item><title><![CDATA[使用fastify创建websocket连接，ws协议]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130682779</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130682779</guid><author>qingfeng2020</author><pubDate>Mon, 15 May 2023 13:57:26 +0800</pubDate><description><![CDATA[info是该websocket的详细信息，next是一个回调函数，接受两个参数，true和false，传true的话则会执行后面注册的监听函数。cors是允许跨域的开关，参数为true 和false，如果你没有跨域可以不用写这个参数。port是监听的端口，host传递0.0.0.0表示允许公网访问。options中还有一些其他的参数配置。我这里是将监听的函数进行提取了。]]></description><category></category></item><item><title><![CDATA[使用fastify搭建项目]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130597995</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130597995</guid><author>qingfeng2020</author><pubDate>Wed, 10 May 2023 13:43:44 +0800</pubDate><description><![CDATA[fastify的项目搭建]]></description><category></category></item><item><title><![CDATA[Nuxt中使用axios并设置代理]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130553214</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130553214</guid><author>qingfeng2020</author><pubDate>Mon, 08 May 2023 10:20:08 +0800</pubDate><description><![CDATA[Nuxt配置axios代理]]></description><category></category></item><item><title><![CDATA[Nuxt解析markdown字符串生成HTML]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130552819</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130552819</guid><author>qingfeng2020</author><pubDate>Mon, 08 May 2023 10:02:03 +0800</pubDate><description><![CDATA[nuxt解析markdown文档]]></description><category></category></item><item><title><![CDATA[Stable diffusion一键安装]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/130323364</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/130323364</guid><author>qingfeng2020</author><pubDate>Sun, 23 Apr 2023 15:50:39 +0800</pubDate><description><![CDATA[stable Diffusion在Ubuntu系统上一键安装脚本]]></description><category></category></item><item><title><![CDATA[前端同一顶级域名下的多个二级域名cookie共享]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/129097421</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/129097421</guid><author>qingfeng2020</author><pubDate>Sat, 18 Feb 2023 10:19:42 +0800</pubDate><description><![CDATA[那么此时此条cookie可以在绑定了ericzhang528.com的任何二级域，三级域的站点下进行访问了。我们平常使用cookie的话更多的是存储在当前域名下。也并不会去设置cookie的某些域。也就是如图所示的Domain中的字段，是添加到Domain里的。此时我将我本地的环境的自定义域名改成顶级域后也是可以访问的。那么我们想要添加到顶级域的话则还需要添加一个字段配置项。想我们如下写法的话cookie是默认添加到当前域的。那么此时的cookie存储域就放到了顶级域下面。其实cookie是带域的。]]></description><category></category></item><item><title><![CDATA[vite搭建vue3项目本地环境自定义域名及端口配置]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/129093227</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/129093227</guid><author>qingfeng2020</author><pubDate>Fri, 17 Feb 2023 20:34:54 +0800</pubDate><description><![CDATA[此时我们可以打开我们的vite创建的项目了，打开vite.config.js，直接输入如下配置即可，运行项目即可达到自定义域名的一个目的了。]]></description><category></category></item><item><title><![CDATA[uniapp拖拽悬浮球与页面滚动冲突]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/128973399</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/128973399</guid><author>qingfeng2020</author><pubDate>Sat, 11 Feb 2023 09:57:11 +0800</pubDate><description><![CDATA[直接给悬浮球的事件添加阻止默认行为和阻止冒泡的修饰符就行了。关于uniapp拖拽悬浮球和页面滚动冲突的解决方案，其实主要原因是点击悬浮球时相当于点击到了页面上。拖拽时触发了默认的页面滚动事件。]]></description><category></category></item><item><title><![CDATA[Vue2.x两种方式书写v-model组件来进行组件双向绑定]]></title><link>https://blog.youkuaiyun.com/qingfeng2020/article/details/128967314</link><guid>https://blog.youkuaiyun.com/qingfeng2020/article/details/128967314</guid><author>qingfeng2020</author><pubDate>Fri, 10 Feb 2023 11:58:10 +0800</pubDate><description><![CDATA[最后添加model属性来允许自定义组件使用v-model，虽然平时我们用到的时候可能不知道，也就不知道会调用到它，那是因为它被设置了默认值。而有的时候，我们则需要主动去调用它来自定义model的prop和event。来达到自定义v-model的目的。当然如果不想用input方法也可以用watch来监听inpu框的值来达到这个目的，这样就释放掉原本的input方法了。当然这个props属性你随便自定义，我这里就用value了。下文是官方的对于此api的描述。首先添加props属性，下面是此方式的完整代码。]]></description><category></category></item></channel></rss>