7作者: tonyonodi6 个月前
几年前,我在这里发布了 NumPad v1,当时它还只是一个围绕我编写的计算器引擎的、轻量级的 CodeMirror 封装器。<p>现在,我把它重写成了一个 PWA,支持多文档,将它们持久化到 IndexedDB,并为付费用户提供同步服务。同步功能由 Automerge[1] 在后台处理,这应该能相对容易地实现文档共享功能。<p>[1] <a href="https:&#x2F;&#x2F;automerge.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;automerge.org&#x2F;</a>
1作者: zhousg6 个月前
HarmonyOS 5 新闻应用日历事件管理实现 摘要 本文介绍了HarmonyOS 5.0新闻应用中日历事件管理功能的实现,包括绑定弹出窗口、添加日历事件和显示事件详情。该实现使用ArkTS语言。 代码实现 1. 绑定弹出组件 .bindSheet($$this.isShow, this.AccountDetailBuilder, { height: 500 }) 2. 实现添加日历事件的功能 async addCalendarEvent (title: string) { await this.currCalendar?.addEvent({ title: title, startTime: Number(new Date('2025-12-12 19:00:00')), endTime: Number(new Date('2025-12-12 21:00:00')), reminderTime: [0, 5, 10, 60], type: calendarManager.EventType.NORMAL }) this.currCalendarEvents = await this.currCalendar?.getEvents() || [] } 3. 构建账户详情组件以显示事件列表 @Builder AccountDetailBuilder() { Column({ space: 15 }) { Text(this.currCalendar?.getAccount().displayName) .fontSize(24) .fontWeight(500) Column({ space: 15 }) { Button('订阅CNN新闻') .onClick(() => { this.addCalendarEvent('订阅CNN新闻') }) Button('订阅BBC新闻') .onClick(() => { this.addCalendarEvent('订阅BBC新闻') }) } Text('我的订阅:') List({ space: 15 }) { ForEach(this.currCalendarEvents, (event: calendarManager.Event) => { ListItem(){ Column({ space: 5 }){ Text(event.title) Text(new Date(event.startTime).toString()) } .padding({ left: 15, right: 15 }) .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Start) .width('100%') .height(60) .borderRadius(12) .backgroundColor('#DDDDDD') } }) } } .padding(15) .alignItems(HorizontalAlign.Start) }
1作者: zhousg6 个月前
HarmonyOS 5 新闻应用日历账户管理实现 摘要 本文介绍了 HarmonyOS 5.0 新闻应用中日历账户管理功能的实现。该功能包括用于添加特定类型日历账户的按钮,以及用于删除日历账户的构建器。使用 ArkTS 语言实现账户的添加和删除操作。 1. 实现账户添加按钮组件 ``` Column({ space: 15 }){ Button('添加体育新闻账户') .onClick(async () => { await this.addAccount('体育新闻', '#006699') this.list = await this.calendarMgr.getAllCalendars() }) Button('添加世界新闻账户') .onClick(async () => { await this.addAccount('世界新闻', '#ffaa00') this.list = await this.calendarMgr.getAllCalendars() }) } .margin(15) ``` 2. 实现账户删除构建器 ``` @Builder DeleteBuilder (calendar: calendarManager.Calendar) { Text('删除') .fontSize(24) .width(120) .textAlign(TextAlign.Center) .height('100%') .onClick(async () => { await this.calendarMgr.deleteCalendar(calendar) this.list = await this.calendarMgr.getAllCalendars() }) } ```
1作者: shivajikobardan6 个月前
我已经困在 TCP 里好几个小时了。 看来我还没有完全理解大方向。 感觉我理解了大部分东西,但还是… 我现在正在学习 Go back N、选择重传之类的东西。 滑动窗口… 记住数据包格式不是什么大问题。 我想理解内部的基础设施工程。
1作者: giaco_hendel6 个月前
大家好,我想问问你们对一件事的看法。<p>我们开发了 vykee.co 作为一款用户引导工具。它的理念是:通过对新用户隐藏高级功能,让 SaaS 界面更容易理解。<p>其中一个主要功能是标签系统,它允许 SaaS 公司标记界面元素,并将多个元素组合成一个功能。所以基本上我们有一个前端的 UI 层(为每个元素和功能都配备了唯一的标识符和注释)。<p>我认为这个 UI 层对 LLM 来说可能非常有用:如果我们把所有这些 UI 信息放在一个简单的 llms.md 文件中(就像一个针对 LLM 的 robots.txt),它们就能比解析 HTML 或依赖截图更好地理解界面。<p>现在——这只对基于浏览器的代理有用。<p>我们讨论过这个问题,有人认为押注 MCP 而不是基于浏览器的代理更有意义,因为 MCP 是标准,并且被更广泛地采用。他们的想法是设置一个 MCP 并将其连接到已标记的前端元素。<p>你们认为押注基于浏览器的代理还有意义吗?<p>谢谢!
1作者: diamajax6 个月前
我很高兴分享 AGI-SaaS v1.0.0,这是一个用于检索增强生成(RAG)的开源 Python 框架: • 基于插件的 LLM 管道 • 异步、并发 API 调用 • 支持 OpenRouter、OpenAI 和 llama.cpp 开始使用: pip install agi-saas==1.0.0 欢迎提供反馈和建议!