问题标签 [pipeline]

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 投票
2 回答
685 浏览

development-environment - 开发环境和 API 开发的最佳实践?

我目前的雇主使用第三方托管的 CRM 提供商,我们在两个系统之间有一个相当复杂的集成层。CRM 提供商的功能之一是让开发人员以类似 Java 的语言编写业务逻辑,并在用户单击按钮或向系统提交新帐户等事件时触发验证和/或业务逻辑。

我们使用的一项功能是让在托管提供商上运行的业务代码调用我们托管的 Web 服务。典型的例子是销售代表输入一个新的销售线索并点击一个按钮来 ping 我们的系统,看看我们是否可以根据电子邮件地址、公司/名字/姓氏等识别新的销售线索,如果可以,返回代表该个人的内部 GUID。这一切对我们来说都很好,但是我们一次又一次地试图建立一个理智的开发环境来工作。

因此,虽然我们的用例有点细微差别,但这通常适用于任何构建 API 以供第三方使用的开发公司: 当您构建供外部使用的 API 时,设计开发管道和环境时有哪些最佳实践世界?

在我们的办公室,我们所有的开发人员都在防火墙后面,因此正在进行的代码不会受到外部世界的影响,在我们的例子中是 CRM 提供商。我们可以在防火墙上戳洞,但从安全表面区域的角度来看,这并不理想。特别是如果需要在类似 DMZ 的区域中的开发人员数量很高。我们目前正在 DMZ 中尝试单台开发机器,然后根据需要进行远程处理以进行开发工作,但如果多个开发人员需要该机器,就会产生资源稀缺问题,更不用说他们进行潜在的冲突更改(例如不同的分支)。

我们考虑过通过为这些服务构建虚假客户端来模拟/伪造传入请求,但这是构建功能集的一个相当大的开销(尽管它本质上确实增强了我们 API 的可测试性)。这也不能排除这样一个事实,即有时我们确实需要诊断/调试来自真实客户端本身的问题,而不是一些伪造的请求有效负载。

其他人在这些类型的场景中做了什么?在这个混搭时代,必须有很多人有开发 API 的经验——对于那里的人来说,哪些工作(和不工作)好?

0 投票
2 回答
344 浏览

compiler-construction - 灵活的编译器管道定义

我正在为 .NET 开发一个编译器框架,并且想要一种灵活的方式来定义管道。我考虑了以下选项:

  • 世界自然基金会
  • 自定义 XML 管道描述
  • 代码中的自定义管道描述(使用 Nemerle 的宏为其定义语法)
  • 其他基于代码的描述

要求:

  • 不得仅依赖 .NET (3+) 的更高版本中的功能,因为它旨在跨平台并在托管内核之上使用,这意味着半受限的 .NET 功能。
  • 必须允许有条件的管道构建,因此您可以指定某些命令行选项将对应于某些元素和顺序。

WWF 会很好,但不符合第一个要求。其他人会工作,但由于所涉及的工作而不是最佳的。

有谁知道几乎不需要修改就能满足这些目标的解决方案?

0 投票
15 回答
8084 浏览

architecture - 使用短路评估的好处

在大多数语言中,b不会被评估,因为a它是假的,所以a && b不可能是真的。我的问题是,就架构而言,短路不会更慢吗?在管道中,您是否只是在等待获得 a 的结果以确定是否应评估 b 时停止?做嵌套ifs会更好吗?这甚至有帮助吗?

另外,有谁知道短路评估通常被称为什么?这个问题是在我发现我的编程朋友从未听说过短路评估并表示它不常见,在许多语言中都没有,并且在管道中效率低下之后出现的。最后一个我不确定,所以请教各位!

好的,我想一个不同的例子来解释我的朋友可能来自哪里。他认为,由于并行评估如下语句:

将使系统崩溃,没有短路的架构(因此不允许上述语句)在处理如下语句时会更快:

因为如果它不能并行执行 (a),它就不能并行执行 (b)。在这种情况下,允许短路的语言比不允许短路的语言慢。

我不知道这是不是真的。

谢谢

0 投票
7 回答
32423 浏览

wpf - 您如何确定 WPF 使用的是硬件渲染还是软件渲染?

我在各种平台上对 WPF 应用程序进行基准测试,我需要一种简单的方法来确定 WPF 是使用硬件还是软件呈现。

我似乎想起了一个电话来确定这一点,但我现在不能动手。

另外,是否有一种简单的基于代码的方法来强制一个渲染管道在另一个渲染管道上?

0 投票
4 回答
29518 浏览

powershell - 在 ForEach 循环中运行程序

我试图让这个简单的 PowerShell 脚本正常工作,但我认为从根本上来说是错误的。;-)

我基本上想获取目录中的文件,并将它们作为参数一一传递给自定义工具。

0 投票
8 回答
10507 浏览

powershell - 是否可以从过滤器中终止或停止 PowerShell 管道

我编写了一个简单的 PowerShell 过滤器,如果它的日期在指定的开始日期和结束日期之间,它会将当前对象推送到管道中。管道中的对象总是按日期升序排列,所以只要日期超过指定的结束日期,我就知道我的工作已经完成,我想告诉管道上游命令可以放弃他们的工作,以便管道可以完成它的工作。我正在阅读一些非常大的日志文件,并且我经常只想检查日志的一部分。我很确定这是不可能的,但我想问一下。

0 投票
3 回答
2405 浏览

asp.net - IIS、Asp.NET 管道和并发

我想知道 Web 应用程序中的并发性实际上是如何工作的。我已经阅读了几篇文章,据我了解,HttpApplication 的多个实例将同时工作。现在,我创建了一个简单的 Web 应用程序来测试并发性并将以下内容放入 global.asax:

我期望如果我几乎同时在多个浏览器选项卡中浏览到 Web 应用程序根目录,它们会同时启动和停止。然而,他们似乎没有。第二个标签开始时间与第一个结束时间相同。然后,我通过在 httpmodule 或 default.aspx page_load 中使用相同的代码进行测试,并得到了相同的结果。

这里发生了什么?为什么不并行处理请求?

编辑:我主要将我的理解放在两篇文章中:

http://msdn.microsoft.com/en-us/magazine/cc188942.aspx说“如果针对同一应用程序的多个请求同时到达,将使用多个 HttpApplication 对象。”

并且http://www.code-magazine.com/article.aspx?quickid=0511061&page=5有一个 aspx 页面的示例,它基本上按照我的测试进行,并带有评论“模拟慢速请求,因此我们可以并排看到多个请求。” 在 Thread.Sleep 调用旁边

我可能完全误解了某些东西……但是什么?

http://www.code-magazine.com/article.aspx?quickid=0511061&page=5

0 投票
3 回答
35030 浏览

bash - 你如何区分 Bash 中的两个管道?

如何在不使用 Bash 中的临时文件的情况下区分两个管道假设您有两个命令管道:

你想diff在他们的输出中找到。一种解决方案显然是:

是否可以在不使用 Bash 中的临时文件的情况下这样做?您可以通过在其中一个管道中进行管道来区分一个临时文件:

但是您不能同时将两条管道通过管道传输到 diff 中(至少不是以任何明显的方式)。是否有一些巧妙的技巧/dev/fd可以在不使用临时文件的情况下做到这一点?

0 投票
1 回答
3118 浏览

c# - SSIS - PipelineComponent 中的 ProcessInput 被多次调用

伙计们。我正在为 SSIS 开发一个自定义组件。我在处理输入时遇到问题。问题是“ProcessInput”方法被多次执行。在这种情况下两次。

这是流程输入片段:

我不知道为什么它被调用了两次。这是数据流:

数据流 http://img371.imageshack.us/img371/3001/dataflowprocessinputrb6.png

这是映射窗口: 映射窗口 http://img78.imageshack.us/img78/3772/mappingprocessinputzs2.png

0 投票
2 回答
1068 浏览

.net - Biztalk 拆分文件和使用

在 Biztalk 2006 中,我有一个自定义管道,可以在每个文件被映射之前将一个文件拆分为多个文件。在发送管道中,我使用“使用临时文件进行写入”。我的问题是:当拆分消息并使用“使用临时文件进行写入”时,是否将每个拆分的文件同时从 temp 文件夹移动到 out 文件夹,或者每个拆分的文件都移动到 out文件夹一旦完成,不等待其他文件?这些文件非常小,所以我还没有发现。我只想知道标准行为,所以我不必花费太多时间来创建大文件并观察结果。感谢帮助 :)