问题标签 [perfect]

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 回答
1397 浏览

ios - 我可以在 Linux 上使用 Realm 吗?

Perfect - https://www.perfect.org - 是一个新的 Web 服务器,它允许您在服务器端使用与设备上相同的语言。它将在今年年底前发布时兼容Linux版本的Swift——大概是因为它只是使用了Swift的标准库,

它有 MongoDB、MySQL、PostgreSQL 的连接器。

目前,我正在使用 Swift 中的 Realm 数据库开发一个应用程序。我也可以在服务器端使用 Realm 吗?它只使用 Swift 标准库吗?

0 投票
1 回答
403 浏览

nonblocking - 内置的http服务器是否实现了非阻塞I/O?

这是现在可用的第一个服务器端 swift 框架。我有兴趣将它用于高流量的移动应用服务器。

这个基于 swift 的框架是否实现了非阻塞 I/O http 服务器?

0 投票
1 回答
511 浏览

mysql - 在 Perfect 框架中使用 MySQL 连接器

我正在尝试使用ubuntu 下Perfect中的 MySQL 连接器连接到我的 MySQL 数据库。

我已经成功创建了MySQL.so文件,但不知道接下来要做什么,以便我可以像MySQLTests.swiftimport MySQL中的代码一样连接到 MySQL 数据库。

这是我尝试过的

复制MySQL.soPerfect/PerfectServer/PerfectLibraries/->

-I $(PERFECT_ROOT)/PerfectServer/PerfectLibraries在 ->makefile下添加/Perfect/Examples/URL Routing

添加import MySQL- Perfect/Examples/URL Routing/URL Routing/PerfectHandlers.swift>

然后我error: no such module 'MySQL'在执行make 命令时得到了。

有人知道如何使用Perfect提供的连接器吗?

我是 swift 新手,也许这个问题对于熟悉 swift 的人来说有点愚蠢。

0 投票
1 回答
88 浏览

swift - 在 Examples.xcworkspace 中执行示例应用程序时遇到问题,XCode 尝试一次执行所有示例应用程序

感谢您花时间阅读我的问题。我对服务器端开发很陌生,但对 Swift 有一些经验。

我打开了 Examples.xcworkspace。

所以我的问题是我正在尝试运行 Tap Tracker,并且

1)当我运行它时,我在输出终端中得到了这个(我认为问题的路径必须在这里): 在此处输入图像描述

2) 当我转到 URL 时,它只返回来自 URL Routing 示例的数据

3)当我按下iOS应用程序上的按钮时,它返回以下内容:

在此处输入图像描述

我试图让 TapTracker 自己工作,我知道如果我自己打开项目,然后将 PerfectServer 和 PerfectLib 添加到它工作的项目中,但是如果我打开它,我该如何运行 TapTracker示例.xcworkspace?

0 投票
0 回答
515 浏览

ios - Swift PerfectServer:POST 请求和 JSON 正文

首先,我要感谢这个令人惊叹的项目的团队,能够开始用 Swift 编写服务器端软件确实令人兴奋。

我在 Ubuntu VM 上使用 PerfectServer 成功运行 POC,并使用 API 与移动客户端交互。

有一个方面我还不太了解,那就是从我的 PerfectServer 处理程序访问请求正文数据。

这是我想到的工作流程:

  • 客户端向 PerfectServer 提交一个 POST 请求,其中包括一些 JSON 编码的正文数据
  • 一旦达到我的服务器端处理程序的“valuesForResponse:”,我就成功检索了我的请求的 WebRequest 表示
  • 请求对象确实公开了 HTTP 请求的许多属性,包括标头和类似 url 的格式化查询参数。

不幸的是,我看不到检索底层请求正文数据的方法。我希望这是某种公共属性,公开我的句柄可以检索和解码以处理请求的原始数据。

项目附带的示例工作区中提供并发送包含正文的 POST 请求的唯一示例位于项目 Authenticator 中。在这里,HTTP 正文部分采用 UTF-8 编码字符串的形式,其中的值采用类似查询参数的格式。

名称=Matteo&密码=我的密码

这会通过 WebRequest“param”属性以某种方式暴露在服务器处理程序上,在 HTTPServer 的内部实现中似乎需要一个“&”分隔的键值字符串:

我期望有一种方法以所需的任何形式/编码提供正文数据,在我的情况下是 JSON 形式:

{“名称”:“Matteo”,“密码”:“psw”}

并且能够从我的处理程序中的 WebRequest 访问该数据,对其进行解码并使用它来处理请求。总而言之,我假设您可以说 WebRequest.bodyData 公共属性是我在这里所追求的 :)。

我在这里缺少什么吗?提前感谢您的澄清!

0 投票
1 回答
82 浏览

swift - Ubuntu 上的 PerfectLib:模块似乎确实引用了过时的生成接口

在引用 PerfectLib 的更新版本时,我在让我的 PerfectServer 模块(称为 MCPushServer)在 Ubuntu 上编译时遇到问题。至于我之前的问题,我已经更新了 PerfectLib 以利用 WebRequest 的惰性 var 参数 postBodyString 来访问 JSON 正文数据。这在 Mac 上一切正常,但是当我将新文件复制到 Linux VM 并重新编译项目时,MCPushServer 中的 RegistrationHandler 无法编译,因为它无法识别 WebRequest 中的参数:

编译器的输出:

  • MCPushServer/MCUnregistrationHandler.swift:33:28: error: value of type 'WebRequest' has no member 'postBodyString' let bodyData = request.postBodyString

详细步骤如下:

  • 将 PerfectLib 复制到我的远程服务器上
  • 删除预先存在的 PerfectLib.so
  • 运行“make”:PerfectLib.so 被重新创建,它包含对“postBodyString”的引用(grep 文件并返回匹配项)
  • 运行 'sudo make install' 链接到 /user/local/lib/ > 一切正常
  • 重新编译 PerfectServer
  • cd 进入 Examples/MCPushServer 并运行 make: 出现上述错误

我还尝试注释掉 WebRequest 中的现有方法(例如:lazy var params)并重复该过程:我本来希望我的 Handler 抱怨 WebRequest 中缺少的成员,但它似乎可以应付,好像什么都没发生一样。

在我看来,好像在某个地方有一个过时的 PerfectLib / WebRequest 接口,我的模块在尝试构建时引用了该接口。有人能在这里指出我正确的方向吗?

0 投票
5 回答
4352 浏览

xcode - 如何在 xcode 中从头开始制作一个新的完美项目(Swift 服务器)?

Perfect 是一个新的 Swift 框架,用于在 swift 中创建 web/http 服务器。文档还没有,我发现从头开始构建新项目有困难。我不知道需要导入哪些框架,哪个是应用程序的入口点。main.swift 等...

我想创建一个新的 xcworkspace,其中包含我的项目“你好世界服务器”。

我试图解决的问题:

  • 必须包含哪些框架?
  • 我应该如何创建一个完美的服务器,应用程序的入口点是什么?
  • 如何创建一个响应“Hello World 消息”的“hello”根?
  • 我应该如何为服务器制作目标并最终运行服务器?
0 投票
0 回答
451 浏览

swift - 服务器端 Swift - 完美“不能将数据从一页传递到另一页。”

我想写一个例子来将数据从一个页面传递到另一个页面,但是有些事情不正确。

图1:首页输入一些文字显示在下一页。

index.mustache 文件

处理程序类 // // PerfectHandlers.swift //

欢迎.mustache 文件

WelcomeHandler.swift 文件

在我添加一些文本并按下提交后,如上图 1 所示,我的浏览器显示不会在浏览器中显示消息,而是在控制台中显示,如图 2 所示。

图2:按下提交按钮后的输出。

0 投票
1 回答
1088 浏览

ios - 使用 Swift 在 Ubuntu 上设置 Perfect 服务器时出错

我试图通过在 Ubuntu 服务器上安装 Swift 作为后端。我按照以下说明操作: http ://www.sitepoint.com/server-side-swift-with-perfect/ 不幸的是,当我执行以下操作时:

运行“make”时出现错误。错误如下:

我在这里尝试了所有不同的 Swift 快照: https ://swift.org/download/#apple-platforms 但仍然没有。请问有人可以帮忙吗?我使用的是 Ubuntu 14.04

0 投票
1 回答
1244 浏览

xcode - 如何使用 Xcode for Ubuntu 构建 Swift Perfect Server?

所以我了解我们如何为 OSX 构建它,但是我们如何在 Linux 上构建完美的服务器 http 呢?有没有办法我们可以使用 Xcode 构建源代码,但让它为 Ubuntu 编译?