*{box-sizing: border-box; } body {margin: 0;}*{box-sizing:border-box;}body{margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px;}。
世界是靠代码运行的。我们生活的每一个方面几乎都以某种方式、形状或形式由代码处理。它可能隐藏在幕后运行,但它在我们的日常活动中无处不在。清晨,我们被闹钟或手机应用程序唤醒,在智能设备或电视上消费新闻和媒体,订购食物堂食、外卖或外送,甚至只是浏览交通,从A点到B点,代码是这一切背后的驱动力。
因此,运行世界的代码已经成倍增长,而且随着更多的应用程序和服务旨在渗透到我们的生活中,它每天都在继续增长。这些代码中的大部分并不只存在于一个人的电脑上。它是由一群人编写、分享和讨论的,而用于分享和讨论这些代码的工具无法跟上。
但这不仅仅是一个 "团队 "的问题。你有没有在网站上遇到过没有标签或分类的代码片段?当然,你有。我们都遇到过。
开发人员需要工具来帮助检测、标记、格式化和充实他们的代码,而代码检测API就是为了这个明确的目的而创建的。
什么是代码检测API?
代码检测API是一个由Runtime和APILayer共同建立的代码处理器。Runtime的工作重点是开拓代码的检测、处理、标记、充实和转换--即技术语言处理。他们负责的Pieces应用程序可以即时保存代码片段,从屏幕截图中提取代码,并从这些片段中提供代码自动完成的能力。APILayer不仅建立了可扩展和高性能的RESTful APIs,而且还建立了这些APIs运行的几乎永远在线的基础设施。
代码检测API使用起来很简单,它可以确定提供的字符串是自然语言还是技术语言(即代码)。如果它检测到的是代码,它可以高度准确地识别语言。最好的部分是代码检测API的速度;它只需要大约250毫秒来分析和识别提供的输入。它不仅速度极快,而且最大限度地减少了设备上的计算资源。
因此,无论你正在开发什么软件,无论是文档网站、论坛、在线代码编辑器,还是专注于开发人员的工具,你都需要代码检测API。
为什么使用Code Detection API?
Code Detection API是一个易于使用的API,它可以检测、处理、标记、丰富和转换代码,你不会找到任何其他服务或解决方案可以提供所有这些功能。
快速代码检测
代码检测API使用Runtime的机器学习模型确定所提供的文本字符串是否包括代码片段。
准确的分类
有很多技术语言,而代码检测API可以准确地检测30种语言,包括JavaScript、PHP、C#、Ruby、Go、HTML、Markdown、C和C++。
丰富和转换片段
代码检测API可以生成语法高亮的和截断的代码版本。
改善SEO
使用代码检测API对您网站的代码片段进行分类,并使用生成的元数据来改善索引,这将提高您网站的知名度。
高度的可扩展性
代码检测API运行在APILayer的云基础设施上,它可以满足你最小和最大的需求。
无与伦比的速度
Runtime的技术语言处理器在几毫秒内分析代码,而APILayer通过其闪电般的基础设施提供响应。
接近100%的正常运行时间
虽然没有什么是100%的,但APILayer的服务的正常运行时间是最接近的。
它是如何工作的
开始使用代码检测API很容易。首先,你需要创建一个Runtime.dev账户。在验证了您的电子邮件地址并登录后,您将进入Runtime开发者控制台。
您需要一个API密钥来使用Code Detection API,虽然在技术上您可以免费获得一个(14天的试用),但您必须提供一张信用卡来开始试用。要获得密钥,请点击Runtime Developer Console中的Discover Products按钮,选择你想要的计划,并输入你的付款信息。
开始试用后,您将被重定向到Runtime Developer Console,在那里您可以找到您的API密钥(和秘密),以及使用cURL的示例请求及其响应。
快速教程
让我们使用代码检测API来评估一些任意的文本。但是,需要注意的是,在撰写本文时,Code Detection API不支持CORS。因此,你不能在浏览器中直接使用JavaScript发送请求。因此,下面的代码示例将使用PHP和Guzzle HTTP库。注意:Guzzle库并不是必须的,你可以用cURL函数达到同样的效果。
首先,通过调用Client() 构造函数创建一个Guzzle HTTP客户端对象。
$client = new GuzzleHttp\Client();
下一步是向Code Detection API发送一个POST 请求。该请求应包括apiKey URL参数,并设置为你的API密钥,请求主体必须是JSON格式,如以下代码所示。
$response = $client->request('POST', 'https://api.runtime.dev/tlp?apikey=your_api_key', [
'json' => [
'iterable' => [
['value' => '$my_obj->method();']
]
]
]);
这段代码使用客户端对象的request() 方法,并传递三个参数。第一个参数是HTTP方法,第二个参数是要发送请求的URL,第三个参数是一个指定请求体的数组。要发送JSON,主体数组的键必须是字符串json ,其值是一个对象或数组,可以被序列化为以下结构。
{
"iterable": [
{ "value": "text to process" }
]
}
iterable 属性是一个输入数组。每个输入是一个具有value 属性的对象,其值是Code Detection API应该评估的文本。你必须在请求中包括至少一个输入。
API用一个JSON有效载荷来响应。下面是上述请求的截断响应。
和请求一样,响应也有一个叫做iterable 的属性,它是一个数组,包含了对请求的输入的结果分析。正如你所期望的,响应iterable 数组的索引与请求iterable 数组的索引直接对应。
每个结果都有naturalLanguage 和codeClassification 属性,每个属性都是一个对象,它有一个result 属性。naturalLanguage 对象的result 属性告诉你提供的输入是否是自然文本。如果提供的输入是代码,codeClassification 的result 则提供各种信息。
说到代码,让我们回到它。自然,你需要将JSON响应解码为对象。
$data = json_decode($response->getBody());
$data->iterable[0]->naturalLanguage->result; // false in this case
$data->iterable[0]->codeClassification->result->current; // the language of the input; PHP in this case
$data->iterable[0]->codeClassification->result->likelihood; // percentage of surety the input is the current’s language
价格
Code Detection API有三个订阅计划。每个计划都授予你API点数和各种功能。很明显,更高级的订阅计划授予更多的API点数并提供额外的功能。
没有免费的计划;但是,无论你选择哪种订阅,你都可以获得14天的免费试用。你必须提供一张信用卡才能开始试用。这三个计划是。
| 计划 | 说明 |
|---|---|
| 基本计划 | 这个计划让你开始使用1,000个API点数和对要求的文本进行基本分析。 |
| 专业计划 | 该计划提供6,000个学分和对所请求的文本进行更完整的分析。 |
| 企业级 | 该计划提供36,000个API点数和与专业计划相同的分析。 |
| 自定义 | 需要更多?请与他们联系,建立一个定制计划,以满足您的需求。 |
总结
开发人员必须面对的代码继续以指数形式增长。如果您或您的团队正在编写让开发人员查看、分享和讨论代码的软件,那么您需要将代码检测API集成到您的应用程序中。开始使用是快速而简单的。所以今天就开始吧!
