问题标签 [opa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
187 浏览

opa - 如何创建字符串映射

当我尝试用

我收到此错误:

我很感激任何提示/帮助找出我的代码有什么问题。TIA,

——
巴曼

0 投票
1 回答
239 浏览

opa - 如何在 32 位 Ubuntu 中编译 Opa?

我一直在努力让 Opa 在 32 位 Ubuntu 11.10 下编译。今天我在 Stack Overflow 上发现了一个帖子,Prabhat Gupta 声称已经让它在他的 32 位 Linux 机器上编译。(有问题的线程标题为Opa chat app not working

我很想问他他是怎么做到的,但不幸的是我找不到任何办法与他取得联系。我的问题:你成功地完成了我想做的事情吗?如果是这样,您是如何做到的?我真的很想让 Opa 在 32 位系统上工作,但如果我能提供帮助,我不想复制其他人的工作。

提前致谢。

0 投票
1 回答
130 浏览

opa - 如何在没有 ID 的元素上调用 Dom.transform?

我一直在尝试扩展 hello_chat 应用程序。我想替换“body”标签的内容,但似乎找不到这样做的方法。我以为Dom.transform([Dom.select_body <- content])会做到这一点,但显然是错误的。最后,我刚刚创建了一个 ID 为“everything”的 div 来包装页面,但这个问题仍然困扰着我。

我将如何对“body”标签进行转换?可能吗?更好的是,有没有办法使用 CSS 选择器一次对一个或多个元素进行转换?

0 投票
1 回答
629 浏览

opa - Opa:如何高效地读/写大量记录

问题

我需要读取和写入大量记录(大约 1000 条)。下面的示例需要长达 20 分钟的时间来写入 1000 条记录,并且需要长达 12 秒的时间来读取它们(在进行“读取”测试时,我注释掉了该行do create_notes())。

来源

这是一个完整的示例(构建和运行)。它只将输出打印到控制台(而不是浏览器)。

还有一件事

我还尝试通过交易获取笔记(如下所示)。看起来 Db.transaction 可能是正确的工具,但我还没有找到成功使用它的方法。我发现这种get_notes_via_transaction方法与get_notes.

谢谢你的帮助。

编辑:更多细节

一些可能有用的额外信息:

经过更多测试后,我注意到写入前 100 条记录只需 5 秒。每条记录的写入时间都比前一条记录长。在第 500 条记录处,写入每条记录需要 5 秒。

如果我中断程序(当它开始感觉很慢时)并再次启动它(不清除数据库),它会以与我中断它时相同的(慢)速度写入记录。

这会让我们更接近解决方案吗?

0 投票
1 回答
224 浏览

opa - 语法错误解析

这段代码片段试图在 Opa 书中扩展“hello_chat”,它引发了如下奇怪的语法错误:

也许我犯了一些愚蠢的错误,但在大约 4 小时后无法弄清楚来源。我将不胜感激任何提示/帮助。TIA,

——
巴曼

0 投票
1 回答
109 浏览

opa - 如何在 Opa 中创建频道

再次扩展“hello_chat”困扰着我:-)

我想要做的是要求用户名和房间名称加入,并能够通知房间中的用户新用户加入channel每个房间使用两个不同的 s;一个用于用户消息(正常聊天),另一个用于服务器通知(例如“用户 X 加入房间”)。

这是我到目前为止的代码。显然join_room()有一个问题:我不知道如何为channeladd创建一个network.

我将不胜感激任何提示/帮助。TIA,

——
巴曼

0 投票
1 回答
202 浏览

opa - Opa:如何手动使缓存值无效

设置

我正在尝试实现一种相当常见的缓存模式。这就是我想要发生的事情:

  1. 第一次请求记录时,它的值被缓存。
  2. 后续请求返回缓存的记录。
  3. 更改记录时,缓存的版本将被标记为无效。
  4. 对记录的下一个请求会缓存一个新值。

问题

Cache.simple()按预期缓存值,但我似乎没有使缓存值无效的工具。Cache.make()似乎是用于这项工作的工具,但我未能成功使用它。

来源

这是一个完整的示例(构建和运行)。我想在结束时使缓存的记录无效set_name(在存储一个新值之后)。如果缓存记录成功失效,则在页面刷新时应显示从文本输入提交的名称。

谢谢。

0 投票
1 回答
327 浏览

recursion - Opa:反转字符串的最快方法是什么?

在 Opa 中实现“反转字符串”功能的最高效方法是什么?

我知道String.reverse()。它确实完成了工作,但它的源代码绑定到了一些外部函数。我想了解重新排序字符串的最佳(最快)工具是什么。

因此,例如,这可行,但不是特别快:

我怎样才能让这个表现更好?

编辑:基于 akoprowski 答案的另一种实现

我想这就是他的想法。这个比解析器版本快得多,但是如果您需要做的只是反转一个字符串,那么内置String.reverse是要走的路。

编辑:上述实现并不理想

查看接受的答案以获得更好的选择。

0 投票
1 回答
105 浏览

database - 从 Opa 数据库下载文件

我已经使用 Upload 模块将文件保存到 Opa 数据库中。

现在我想从数据库中下载这些文件。我怎样才能做到这一点 ?

任何想法 ?

谢谢,

开曼

0 投票
1 回答
177 浏览

database - opa:通过表单询问用户详细信息并将其保存到数据库

如何向用户询问一些数据(一些字段可以在之后修改),将其存储在数据库中,然后将收集到的一些数据显示给站点用户,以便所有 db 内容都不会暴露在页面源代码中?

这是一个完整的示例,在页面重新加载后,所有数据都在页面源中可见: