Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.
Get Feederxiejingyang.com
Get the latest updates from Xieisabug directly as they happen.
Follow now 25 followers
Last updated about 1 month ago
about 1 month ago
过去在读代码的时候或者是学习的时候,经常让大模型给我画流程图,一直是用的 mermaid 的方式来绘制,使用这种方法的好处就是大模型基本上都会,因为 mermaid 算是非常有名的 markdown 中展示流程图的方案了。 但是我在和网友沟通的时候,得知了一种使用 drawio 来绘制流程图的方法,这种方法不仅能够改善 mermaid 图不方便修改的问题,而且还能借助...
about 2 months ago
随着干产品这个职业的深入,发现这个职业对于聪明要求的上线真是无限高,最近这段时间的几个感触记录一下: 产品经理最好是有一定的增长能力,把增长能力转化为设计的功能点做到产品里,比如了解当前的主流叙事和“流量密码”,把这些东西快速的融入到产品中,方便增长。这一点大部分的老板都比较敏感,通常有“流量密码”出来的时候老板总是第一时间希望能够在产品中添加,以蹭到这波流量,但老板的产品设计能力较弱,通常容易出现非常突兀的融合。 能把握到科技的发展,尤其是在现在 AI 发展速度爆炸的现在,仅仅设计一款利用到现有科技力量的产品是远远不够的,要能设计出随着领先与科技发展的产品,随着科技发展而得到提高。最火的例子就是 Cursor 了,模型越来越强,让 Cursor 从不好用变成了神器。 要有一定的非共识,有非共识的产品才能脱颖而出,否则就是靠资源堆砌的普通产品,随时可以被以更多资源堆砌的另一个产品替代。 接着上面的非共识,我举个我自己领悟到的:免费用户(或者说弱用户)应该被作为产品的资源和能力,来融入产品的设计。著名的设计比如网游的氪金机制、排行榜机制等。
2 months ago
最近从 Windsurf 切回 Cursor 又切回 Copilot 了,一是对 AI 越来越了解,交给 AI 的活越来越多,导致积分制的 AI...
2 months ago
最近有个小玩具要做,想要能够通过授权链接来给公司的阿里云服务器添加白名单。最开始想到这个事情的时候,就决定用 Cloudflare 的 Worker 或者 Pages 来做,因为开发方便,又不需要自己搞服务器来部署服务端和数据库。也因此踩了个小坑,特此记录。 首先我选择了 Pages,因为可以加前端页面,前后端都写到一个项目里,反正是个小玩具。前端不赘述了,用 Cursor 直接简单描述一下就能生成,包含登录页和功能页两个页面,用 Pages...
4 months ago
我的电脑上安装了几个 JDK 来应对不同项目的开发,经常要进行切换,突然发现 macos 上有这么一个工具: /usr/libexec/java_home 这个工具能够快速查看电脑里安装的所有 JDK: /usr/libexec/java_home -V 输出大概为: Matching...
4 months ago
距离上次写周记,过了大概 60 天,这段时间经历了很多事情。得益于我有用 Obsidian 写日记的习惯,所以把周记一次性补全,倒是也不太难。 工作 这 60 天经历了一次工作上的崩溃,太多的角色压在身上喘不过气了,很长一段时间都是早起睁眼就开始工作,晚上睡觉的前一刻也是在工作。高强度的工作和压力,导致身体和心理都出了些问题,血压一度升高到 160(吃药后),并且久坐带来了干眼症和坐骨神经痛。对于那些工作狂大佬,更加敬佩,尤其是像马斯克这样承受着巨大压力的,以前在看马斯克传的时候,从文字里无法体会到的压力现在有了通感了。经过长时间的考虑,我最终做出了离职休息的决定,然后便打了电话和老板沟通了很久,不过最后还是没离职成功,再燃烧半年看看公司的发展吧。不过,把离职的决定说出来之后,给自己的心理相当于进行了一次压力释放,这是一种美化的说法,通俗的说就是降低了一些自己的责任感,再通俗点就是摆烂了一些。现在的创业环境——除开 AI 这个领域,其他行业都不太景气,通过融资快速发展的模式似乎已经很难走通了,所以在现有产品稳定的情况下,也许明年会朝着...
7 months ago
又是一个双周记,最近事情是真的很多,而且又碰上假期综合征,就周记的优先级就越来越靠后了。 工作 最近碰到了许多以前没有碰到的问题,以后也许会把这些问题排查清楚后当做连载来做个交代,简单介绍下遇到的几个问题: clickhouse断电数据损坏 国庆节写字楼断过一次电,服务器上的多个数据库中的一个clickhouse损坏了,这个问题倒是比较好解决,可以让clickhouse自己进行修复,只需要修改一些配置。不过我选择了更加粗暴的解决方案,重新搞个新的clickhouse,毕竟那个clickhouse只是存放开发和测试环境日志的。 数据库与查询结果不同 某个配置在没有进行操作过的情况下,被一个每10秒巡检一次的定时任务判定为开启,但实际上该配置从接口日志上来看,没有在界面上被触发过,查看了mysql的binlog也没有发现过该时段有过修改记录。定时任务的逻辑非常简单,入口就是直接select该配置值,如果该值没有开启,后续的逻辑都不会走。现在陷入了灵异的事件,数据根据证据表明是没有修改过的,逻辑表明该配置是开启了的。也就是数据库和查询的结果对不上,现在还没有找到问题所在。数据库没有读写分离,没有集群,就是单例架构,代码中也没有使用缓存。 内存泄露 在使用kafka的时候,发送消息会返回一个凭证,但是没有消费这个凭证,所以随着消息的积累,这个凭证占用内存会不停升高。解决起来也很简单,消费一下不做逻辑就行了。 新版本的宣讲PPT用了很多PowerPoint的自动过度转场,没花什么功夫就让整个PPT高级了很多,也让很多页PPT看起来更加有连贯性。我现在做PPT的动画会直接复制几页,然后移动需要播放动画的个体,利用转场自动过度的效果,就很简单又丝滑的让几个个体在页面上动画起来了。可惜???美和时间都没有允许我做出好看的PPT,大多数的页面就是截图和文字,有空了一定要去学一下排版相关的设计教程。 还在和客户配合排查问题的时候发生了一件“有意思”的事情:客户有多个安全设备,目前发现线上的某个文件被安全设备影响了访问不正常,配合排查的时候短暂关闭了所有的安全设备,确认文件可以正常访问了。于是开始一个个启动安全设备排查问题,看起来其实这个操作很正常,不过在我们安全厂商眼里变成了“俄罗斯轮盘”游戏。启动了第一个安全设备,没问题,启动了第二安全设备,也没问题。本来非常自信的我,也开始怀疑自己的安全设备是否有问题了。这种情况和俄罗斯轮盘的游戏一模一样,我在等待的时候,我的心率和压力飙升: 最后的结局很神奇,所有设备启动了都没有问题了,最后也只能不了了之,但我却感受到了“俄罗斯轮盘”的力量。...
7 months ago
工作 国庆假期是真的在放松,很少工作,最多也就是巡检下客户的服务器,预研下之后要用到的自动测试框架之类的。 学习 为了设计Tea的插件系统,我研究了很多带有插件能力的程序的实现方式,其中我比较中意的是Obsidian的设计方式。关于插件系统,我有几个苦恼的点,第一是如何提供原生能力给插件,毕竟我不想插件也编写Rust,Obsidian是通过在前端项目中提供很多API来定义该插件的能力,并且提供了一些生命周期函数来让插件定义行为,而且好在我用的tauri本来就会开放一些基础API给前端,少了我很多工作。第二个苦恼是,灵活性和安全性的问题。插件很难像我开发Tea的本体一样做到那么多能力,而且那样也失去了插件系统本身的意义,我希望在我提供了大模型交互能力和存储能力的基础上,再来通过界面提供大模型驱动的一些应用功能,但在我实际设计这个插件系统的时候,我自己设想的应用在我设计的框架上都举步维艰,所以很明显的是我设计的并不够灵活,这还得从前辈们的设计里取取经。安全性就更难保证了,我参考了figma的插件设计的文章,他们为了安全花费了大量的精力,并且我觉得他们牺牲了开发的便利性,和我制作Tea插件系统的初衷背道而驰,我希望以后AI能便利的按照需求来为用户创建插件,太过复杂的插件系统很难和现在的AI能力匹配,我决定用最偷懒的方法来解决安全问题,我只内置我审核过并且开源的插件(Obsidian好像也是这么做的)。第三个苦恼的是技术方面,我希望插件打包后不要太大,如果每个插件都包含一套React相关的库,势必是会浪费很多存储空间,加载也会变慢,这个目前还是没有解决,插件只能自带UI库,不过也带来了一个好处,就算是用Vue也能加载进来了。。。还有更多的苦恼,不过???决苦恼也是会带来爽感的,可能这就是为啥我一直喜欢编程的原因吧。 在日常用Tea的时候,又发现了一个很爽的地方:我想 给terminal设置环境变量之后自动切换到obsidian目录然后git push到github 这个操作加个别名然后一键完成(因为github时不时被墙),我不知道如何在powershell里编写这个命令,于是我用Tea来询问,并且让他编写一个命令能够运行后自动添加别名并且持久化,接下来我就只要利用Tea的代码运行能力直接点一下运行,这个别名就加好了。 生活 这个假期过得非常放松,和朋友开黑玩《三角洲行动》,想想之前开黑玩游戏,好像是几年前玩绝地求生了。还带娃去逛了逛公园,七天中唯一一天离开电脑,结果客户那边就出问题找过来了,好在同事帮忙解决完了。
7 months ago
工作 本周大部分还是干的产品的活,不过现在相对于之前来说已经得心应手了,而且AI大大的增强了我作为产品经理的能力,平时使用AI的时候会把需求一步步分解然后描述清楚,让我现在写PRD文档的时候如鱼得水。并且还碰到了之前没怎么遇见过的两个问题:时间回溯导致定时任务和雪花算法都报错的问题、Clickhouse在某些查询条件下会内存爆掉无法查询的问题。目前还没找到原因,只能先加强巡检避免问题产生影响。之后解决了问题会单独记录下解决过程。本周的工作还有一个重要的事情,我将开发环境从IDEA切换到了VS Code,IDEA的AI插件太难用了,我怀疑Copilot团队就是故意不做好让用户转向VS Code,至于不转到Cursor和Zed的原因是,Cursor的能力在我的评估体系里不如VS Code+Aider,而Zed也非常不适合Java这种体量的项目。目前转到VS Code还不是正式转过去,我需要先用VS Code工作一个月才能说能否正式抛弃IDEA。 学习 过于忙了没有产出多少的BIL文章,其实学习了不少东西的,十一假期的时候一一给这些文章补上。像是Cloudflare的产品更新、SQLite的“Many Small Queries”性能、一些特定场景下AI的提示词等等,这些属于文章不短且内容较深,我写文章的时候应该对这些东西的理解还会加深一个层次,我自己也很期待来写这些文章。Tea的更新进度我个人还比较满意,把Bang的交互调整了下,对于补全的交互能达到我自己还相对满意的程度了,就是前端调试补全面板位置的时候废了我老劲了,之前有一部分代码是AI写的,所以不熟悉结构和css的情况下来调整绝对定位让难度提高了一个数量级。 生活...
7 months ago
本文只是对四款自动编码的产品做一个横向比较,单独的产品使用评测可以看看博客里单独评测的文章。最有有AI生成的对比表,省流的可以看每个对比的结果和最后的表。并且该横向评测的结果也只是我自己日常使用的主观感受,每个人的场景不同自然会有不同的体验。(叠甲 选手简介 Cursor Composer:Cursor Composer是一款集成在Cursor编辑器中的AI自动化编程工具。它能够根据用户的需求描述,自动分析项目代码,并生成相应的代码修改方案。 Cursor Composer Zed Workflow:Zed Workflow是Zed编辑器的一个功能,允许用户通过提示来指导AI进行代码修改。与其说它像Cursor Composer,不如说是Github Copilot...
8 months ago
这次测试的是Zed的Workflow,原理其实和Cursor Composer差不多,也就是让大模型对需要修改的文件,按照格式来进行输出,编辑器再解析该格式。不过Cursor对自动化的交互做的好很多,不仅自动获取了需要修改的文件,还自动触发了修改动作,Zed的Workflow就是缺少了这两步。先看我的使用流程:我的使用如下图: Prompt如下: 我希望bang-list这个提示是展示在我输入框的下方,并且能够跟随我的光标位置移动的。 而且当bang-list出现的时候,我是可以上下进行bang选择的,选择完成之后,bang会自动填充到我的输入框中,并且bang-list会消失。 我输入的!删除的时候,或者输入的!后面不匹配任何bang,bang-list也会消失。 可以看到Zed AI是需要你自己去指定文件的,比Copilot和Cursor都要差一些。AI的回复如下,会分步骤将实现需求所需要修改的代码展示出来,并且有Transform操作直接将修改映射到对应的代码处。但实测该能力对大模型要求比较高,deepseek能够胜任代码编写工作但是无法保证格式每次都正确,4o和Sonnet 3.5是没有问题的。 点击Transform之后就像下图一样,会在对应文件修改代码并且展示diff view。 如下图是我使用Deepseek(忽略右上角的gpt4o,那是我覆写的model...
8 months ago
写在最前:我个人更偏爱实用主义,对于界面啥的要求很低(绝对不是给我自己界面丑开脱!),所以Aider没有界面在我看来绝对不是减分项,但是肯定会有人觉得这是很重要的事情,所以如果介意这一点的可以在心里先给这个项目减分。 用Aider的需求是紧接着之前新增的bang命令,我准备在前端界面上进行一点预览,比如!current_date这个bang应该在前端界面上能预览到日期,并且每分钟都检查是否到了新的日期等等;获取选中文本需要和Rust配合,在Rust获取到文本之后再想办法传递到前端展示。如何安装可以直接去官网查下,我不介绍了,先介绍下我是如何使用的,首先先搞 .aider.conf.yml ,持久化配置,不然每次启动Aider都要搞很多命令,我改的一般是下面几个配置: # 不进行自动提交 auto-commits: false # 用deepseek模型提供商 deepseek: true...