从 Demo 到生产:AI Agent 工程真正难在哪里
答辩里介绍了不少 AI 与数据可视化结合的实践。有些能力已经能够稳定生成内容,也开始进入实际使用阶段。
共 45 篇文章。
答辩里介绍了不少 AI 与数据可视化结合的实践。有些能力已经能够稳定生成内容,也开始进入实际使用阶段。
最近在考虑一个 Mac 桌面客户端的自动更新问题。一开始我以为这件事比较简单:CI 打出一个 DMG,上传到对象存储,再让客户端定时检查版本接口就可以了。
给 OpenCode 客户端接一个文生图能力:让用户在对话里直接让 AI 生成图片,图片落到本地工作区,还能在对话里预览。一开始以为这就是一次图片 API 调用,把代码完整梳理了一遍才发现,实际链路要长得多——四个进程接力,模型自己并不直接生图。这里做个记录。
最近在规划一个基于开源 Agent Runtime 的桌面客户端,UI 开发很快遇到一个具体问题:到底要不要引入第三方组件库?是用 MUI、Ant Design 快速搭页面,还是所有组件都自己写?
周末我做了一件事:把自己 GitHub 上的 32 个私人项目,逐个过了一遍,判断哪些适合开源。结论是——一个都不能直接发。
最近在优化一个图表组件库的构建速度。这个项目之前的正式 build 特别慢,慢到每次验证都让人下意识想先去做别的事。
Haskell 是一种纯函数式 (purely functional) 编程语言。
可以提供一个default theme,即跨业务线通用的那部分主题。
这篇是一次 D3 代码整理。原来的时间线代码把数据处理、路径生成、样式设置、事件绑定都塞在一个类里,写第一版很快,但后面加交互、换主题、做测试都会慢下来。
// 手动连接 this.renderEngine.resourceManager = this.resourceManager; this.interactionHandler.container = this.renderEngine.getContainer()
项目下的fixed、final等等文件,是否都是之前调试过程中的产物呢?现在调试完成了,是否应该对测试模块下的代码进行一个整体性的梳理,去掉这些 │ Fixed、Final 等等文件,将其编写为整洁的代码呢? 另外帮我分析一下目前的这个测试模块,其程序设计、技术选型等等是否
我们最近要开发一个组件给业务方使用,网页对于性能有较高的需求。而我们的组件代码量比较大,会导致组件的 CDN 比较大,加载耗时较长。因此我们需要对组件进行分包处理,将原本较大的 CDN 拆分为多个相对较小的 CDN。
这篇不是在说“封装几个组件”。我真正想拆的是:一个可视化组件库怎么跨框架使用,怎么同时支持 CDN 和 npm,怎么按需加载,组件销毁时怎么把事件、动画和资源清理干净。
在开发基于 AI 的 ECharts 配置修改器时,我遇到一个问题:当 AI 返回包含 JavaScript 函数的图表配置时,这些函数在传输和解析过程中丢失,导致动态配置(如颜色函数、格式化器等)无法正常工作。 关联内容:[[流式输出]]
项目需要用到 RAG,我们选择用 LlamaIndexTS,但是外网功能开发完,在内网准备发布的时候,发现 npm install 报错。
之所以问这2个问题,是因为就我观察到,公司目前大部分前端开发人员,都是在做体力活,陷入了无尽的业务开发中。这些低效的工作浪费了大家大量的时间。
最近在做范式组件,我写了动态柱状图和折线图,在考虑如何给使用者开放配置项的时候,考虑到如果全部配置都给用户,我感觉他们的理解成本会比较高,因此我想将配置封装为Theme类,只开放设计规范中允许的配置项给用户。
形成一个自己的程序框架至关重要。程序框架其实就是你抽象自己的设计思路,抽取可复用部分,形成后续项目的基座。里面应该包含了程序目录结构、调试工具、编码规范的约束工具、日志工具、发布工具、常用函数库、常用业务库等等。这样就避免每次你都从头再来一遍,也避免了犯一些低级错误。
比如手机页面,高宽分别放大5倍(实际截屏面积应该是放大了25倍),9秒的视频,截了近500秒,差不多是50倍的时间,太夸张了。
注意:如果是在项目下,通过 Dockerfile 安装 Puppeteer,请务必在 Dockerfile 执行 npm install 之前,添加如下这一行,否则会因为内网无法下载 chrome 而导致 Puppeteer 安装失败:
注意:为了避免权限问题,这里我选择了以管理员身份运行VitualBox软件。
之前写了一段解析网页的代码,现在回头重构,发现烂得不行。这里选取一段关于流程的做个分析改进。
可视化领域,有一本非常经典的书籍《The Grammar of Graphics》,一直都想仔细读一下。但是这本书似乎没有中译本,只有英文版。就我目前这么烂的英文阅读水平,啃起来绝对很吃力。因此我想先统计下这本书里面的单词词频,找到高频的生词,我先通过比如扇贝单词等APP将这些生词背下来,这样看书的
架构师(Architect /ˈɑːrkɪtekt/)是很多技术人员的职业发展目标。但是绝大多数人(至少我身边的绝大多数人),对于架构师的定义、工作职责、能力要求并没有一个很清晰的了解。这也就导致大家的职业规划只是嘴上说说,没有明确的目标和行动策略。
我们需要在一开始,就把这三要素给讨论确定下来。这部分内容花费的时间多一点也是很值得的。
今天有个需求,想用一下文本转语音的功能。转换接口返回给我们的音频是一个字符串,因此需要做一些转换才能使用。这里记录下。
最近写一个行业关系图的组件,写的时候我是直接拆分为几个JS文件,然后在html页面中引入这几个文件,没有采用模块化的方法。开发到后期时,准备处理打包相关的事情了,然后就得将这些程序转为模块化的形式。这个过程耗费了我不少时间,因此这里记录下,用于今后参考。
在之前的笔记《D3Charts-给legend实现动画分页效果》中,已经提过了自己了解项目时踩过的一些坑:
Office的PPT在画图时其实是很强大的,这个已经能够满足常规需求了,因此直接选择PPT作为画图工具即可。
又到招聘季了(其实秋招已经过了...)。今年我们组照例没有意外的分到了0个秋招的实习生(其实分到了一个,结果第一天分给我,第二天这位同学就说不来了)。没办法,只能自己散招了。
数据可视化是数据驱动的领域,不过我发现不仅仅是数据可视化,在很多其他场景,也应用到了数据驱动的理念。
修改相关服务器的 /usr/local/nginx/conf/ai.conf 配置
let common = { "apps":[ { "name":"你的项目名称", "script":"./app.js", "instances":"max", "execmo
近日同事开发的一个项目出现了主从数据库切换异常的问题,由于大家都是新接触数据库的主从配置,许多基本的配置都是从他人的博客中摘抄而来,难免出现一些意外,这个问题就是在这样的环境下产生的。
如果需要的话,要进行数据评估,将当前需要的容量、今后可能增长的容量,都评估好发给运维
参考自这篇文章:https://www.cnblogs.com/cjsblog/p/9712457.html
因为一个tomcat下部署多个应用,一旦某个应用要发布,就得全部引用都重启一次,特别麻烦。
单机启动zookeeper: nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper-run.log 2>&1 &
有一个对外提供指标组信息的接口,返回内容为包含多个指标组信息的数组。接口要求返回的指标组,必须按照数据库中的权重字段(weight)的值排序。
https://blog.csdn.net/ifrozen/article/details/53127542
可以的,只是会报个错,这应该是之前的线程报的错误,不影响新部署的程序的使用:
有一个业务的数据库结构,包含很多一对多关系,大致类似下图的result属性的结构:
项目中经常会出现一些场景,需要我们通过Java程序去调用Shell命令,比如获取服务器的某些信息、调用PHP脚本、调用某个软件等等。
项目开发结束,马上就要部署上线了。而Java Web应用的部署方式有很多,为了合理的利用资源,我们想先对每种方式进行测试,然后选择最优的作为我们的方案。因此我让组里的实习生YWD同学做了一些测试工作。
比如9:50左右,1分钟Load Average达到11: shell root 16214 2.9 0.2 35456 22932 ? S 09:44 0:05 php /var/www/html/cate/cron/gjzg/OriginalData/../