Vue3 01.响应式

ref在组合式API中,推荐使用ref()函数来声明响应式状态: import { ref } from 'vue'const count = ref(0) ref函数中接收的参数为需要包装为响应式对象的数据,函数会将数据包装在value属性中返回对应的响应式对象。修改该属性,将会触发页面更新。 const incr...

阅读全文

判断提前,循环置后

文章链接 作者提出了两个编程的技巧,我觉得非常有用。 1. 将判断提前到调用的地方使用比如先在一个函数中进行判断,在判断之后调用另一个函数,然后另一个函数中又有一个判断,那么可以直接把这两个判断都提到外部调用的地方,让这两个函数都变成纯执行的函数 //修改前fn g() { if foo && bar { h() ...

阅读全文

Mastra 03 Workflow简单使用

Mastra中的工作流程可以帮助编排复杂的操作序列,具有如分支、并行执行、资源暂停等功能。 大多数的AI应用都需要不止一次的调用语言模型。如果想要运行多个步骤,有条件地跳过某些步骤,甚至完全暂停执行步骤,可以使用Workflow。 Mastra的Workflow提供以下功能: 定义步骤,并将这些步骤聚合链式执行的标准。 支持简单(线性)和高级(分支、并行)...

阅读全文

Mastra 02 Agent的更多使用

多层级Agent使用Agent嵌套Agent的形式来运行 创建一个编写博客内容的Tool,内部调用编写博客的Agent进行博客内容生成 创建一个文章内容润色的Tool,内部调用润色文章的Agent进行博客内容润色 创建一个发布博客的Agent,给其加入上述的两个Tool,然后prompt中让其使用Tool,先生成内容,再润色内容 import {...

阅读全文

Mastra 01 Agent的简单使用

简单介绍TS AI Agent框架Mastra,提供记忆功能框架、执行Workflow、RAG等功能。 Agent使用System Promptsimport {createOpenAI} from "@ai-sdk/openai";import {Agent} from '@mastra...

阅读全文

LeetCode 24 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3] 示例 2:输入:head = []输出:[] 示例 3:输入:head = [1]输出:[1] 提示: ...

阅读全文

CSS 全屏滚动

See the Pen CSS Scroll Snap by kmmoonlight (@kmmoonlight) on CodePen. 全屏滚动总结下来就只有两个属性,scroll-snap-type和scroll-snap-align。在父元素上面添加scroll-snap-type属性,并设置为y mandatory,意思是在...

阅读全文

CSS 渐变色边框

See the Pen Gradient Border With Radius by kmmoonlight (@kmmoonlight) on CodePen. .border-div { width: 400px; height: 300px; border: solid 10px transparent; //...

阅读全文

LeetCode 23 合并K个升序链表

给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序...

阅读全文

CSS Mask图片切换效果

效果演示 See the Pen Mask Use by kmmoonlight (@kmmoonlight) on CodePen. 制作思路CSS 的mask属性用于控制元素的可见区域,通过图像或渐变的透明度来隐藏或显示部分内容。元素的每个像素根据遮罩的对应像素的透明度决定显示程度。遮罩中完全透明的区域会隐藏元素内容,不透明区域则保留...

阅读全文