问题标签 [kemal]
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.
crystal-lang - 使用块的 Kemal 配置
Kemal 目前允许通过以下方式设置配置选项:
Kemal.config.env = "development"
Kemal.config.port = "3456"
我想用块做一些事情:
configuration do |config|
config.env = "development"
config.port = "3456"
...
end
这甚至可能吗?
感谢您的任何见解。
memory-leaks - 如何释放为 Crystal 中的某些结构分配的内存 - 手动?
我有一个基于 Kemal 的 RESTful Web 服务,它返回“非常大”(从 10 到 17M 大小)的 JSON 数据块,这些数据是由“大”哈希结构中的 to_json 方法生成的。
根据 GC 警告消息,我的代码“可能导致内存泄漏”,而我自己的测量结果表明内存在应用程序运行时“泄漏”。
所以,我认为,手动释放为哈希分配的内存和它的 JSON 字符串表示会很好,但我不知道如何做到这一点:我对不良记录的 GC.free 方法的实验没有成功,我没有'不知道往什么方向继续我的调查...
请告诉我我该怎么做才能避免内存泄漏?
你可以在这里https://github.com/DRVTiny/Druid/blob/master查看我非常简单的应用程序(实际上它是在封闭的公司网段内开发的)的不是非常新鲜但通常是实际的版本/src/druid_mp.cr
导致内存泄漏的代码:
PS 我在每个用户请求之后插入了 after_all 钩子执行 GC.collect 。不知道,也许这可以解决我的问题(但我认为这根本不是正确的方法)。
UPD:在我将 GC.collect 添加到 after_all Kemal 钩子之后 - 内存泄漏消失了。但是全局 GC.collect 可能太慢了,而且据我所知,它会阻塞所有光纤和 socket.accept()。请让我知道我是否弄错了。
crystal-lang - 如何在 kemal 俚语中使用 content_for
content_for
对我不起作用。我使用凯末尔和俚语。这里代码:
布局.slang
index.slang
在输出 HTML 中我看不到alert("msa7")
. 我的代码有什么问题?
apache - apache2 后面的 Kemal,mod_proy 不提供静态文件
我有一个基于 kemalcr 的应用程序服务器在 http://127.0.0.1:3000上监听- 在 apache2 后面。
当在本地运行 kemalcr-app 时,一切都很好,静态文件 - 例如 /assets/stylesheets/styles.css 完美交付。
但是在 apache2 后面的生产主机上部署时 - 对 style.css 的请求将导致 404
我的虚拟主机的 apache 配置如下所示:
在 apache2 后面浏览 $mydom.com 时,kemal 响应良好 - 除了静态文件。
我的目录结构如下:
但是对http://mydom.com/assets/stylesheets/styles.css的请求会导致 404。有什么想法吗?
crystal-lang - 以 JSON 形式返回 Granite 验证错误
我有一个User
带有一些验证的花岗岩模型。当有人向 发出POST
请求时users/new
,我想将验证错误(如果有)作为 JSON 返回。目前,我有:
但是当我尝试编译时,我得到:
crystal-lang - 从 JSON 参数创建 Granite 模型
我希望发生的事情:有人可以users/new
使用参数发出发布请求,我想User
从 JSON 参数创建一个对象。
在自述文件中,它给出了这个例子:
但是当我尝试这样做时,我得到了这个编译时错误:
以下是env.params.json
登录到控制台时的样子:
任何帮助将非常感激。
jquery - 如何使用水晶语言和 kemal 计算每页
我有一些菜单,例如:
我想创建查看次数最多的快速操作下拉菜单。我的jQuery:
我的后端:
但是,这种方式计算所有页面。我将计算每页的页面,每个页面都是用户点击的。可以帮我。
mysql - MySql Connect 用 Kemal 迷失在 Crystal 语言中
我尝试将 Kemal Framework 与 Crystal-mysql 连接。这是我的碎片:
这是我的联系:
但是,如果我正在跑步,crystal src/book.cr
我会遇到这个错误:
我该如何解决它。
concurrency - 在没有 IO 的光纤之间循环
据我所知,水晶循环光纤与 io,这意味着如果一根光纤正在等待 io,水晶将切换到另一根光纤。
如果我们生成了两根纤程,但其中一根在没有 io 的情况下进行持续计算/循环怎么办?
例如,使用下面的代码,服务器不响应任何 http 请求
crystal-lang - 如何在 Kemal after_all 方法中访问路由的返回值?
从 Kemal 文件中的 after_all 处理程序,我如何修改来自路由的响应?[见下面的例子]
该文档没有任何 after_all 路由的示例,而且我似乎无法在包含它的上下文中找到任何对象。我该怎么做?