# array
C:\> (1,2,3).count
3
C:\> (1,2,3 | measure).count
3
# hashtable
C:\> @{1=1; 2=2; 3=3}.count
3
C:\> (@{1=1; 2=2; 3=3} | measure).count
1
# array returned from function
C:\> function UnrollMe { $args }
C:\> (UnrollMe a,b,c).count
3
C:\> (UnrollMe a,b,c | measure).count
1
C:\> (1,2,3).gettype() -eq (UnrollMe a,b,c).gettype()
True
Run Code Online (Sandbox Code Playgroud)
与HashTables的差异是众所周知的,尽管官方文档仅提到它(通过示例).
但是,功能问题对我来说是个新闻.我有点震惊,现在还没有咬过我.我们编程人员可以遵循一些指导原则吗?我知道在C#中编写cmdlet时会出现WriteObject的重载,您可以在其中明确地控制枚举,但是AFAIK在Posh语言本身中没有这样的构造.正如最后一个例子所示,Posh解释器似乎相信被管道对象的类型没有区别.我怀疑在引擎盖下可能会有一些Object vs PSObject的怪异,但是当你编写纯粹的Posh并期望脚本语言"正常工作"时,这没什么用处.
/编辑/
基思是正确的指出,在我的例子中,我传入一个字符串[]参数而不是3个字符串参数.换句话说,Measure-Object说Count = 1的原因是因为它看到的是一个数组,其第一个元素是@("a","b","c").很公平.这些知识允许您以多种方式解决问题:
# stick to single objects
C:\> (UnrollMe a b c | measure).count
3 …Run Code Online (Sandbox Code Playgroud) 我一般关于渲染管道的问题,我看过ASP.NET MVC管道方案,还有一个名为View Engine的步骤,它是如何工作的?我想知道这种情况:
Response.End()在@{}页面开头的块中使用这个中断执行页面并停止渲染视图?我需要一个工具,以图形方式表示我们的构建管道.下面的ThoughtWorks Go和Jenkins Pipeline插件的截图几乎可以说明我想要它的样子.
问题是我们已经将Jenkins用于我们的构建和部署,以及一些其他用于编排类型职责的自定义工具.我们不希望管道工具本身进行构建或部署,它只需要调用Jenkins!我尝试了Go,它要求的第一件事是我的源代码是什么以及如何构建它.我无法以Jenkins进行构建的方式开始工作,但Go创建了管道.
我也尝试过Jenkins Pipeline插件,但它非常有限.首先,它不适用于Join插件(因此我们不能并行运行作业,这是一项要求).它还假设我们的所有任务都发生在Jenkins中(Jenkins无法在我们的测试实验室之外看到我们的生产环境).我不知道这是否也是可行的选择.
那么,有没有人对某些管道工具有什么建议可以做我正在寻找的东西?

在Rails的导游说:
如果生产中缺少预编译文件,您将获得Sprockets :: Helpers :: RailsHelper :: AssetPaths :: AssetNotPrecompiledError异常,指示丢失文件的名称.
我执行:
bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
但是我没有收到任何错误,而且我的javascript文件在manifest.yml中丢失了.它也没有出现在公共/资产中,所以问题只出在生产上.
我在application.js中
//= require formalize/jquery-formalize
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
谢谢.
我从github gtfs_SQL_importer复制了以下代码:
cat gtfs_tables.sql \
<(python import_gtfs_to_sql.py path/to/gtfs/data/directory) \
gtfs_tables_makeindexes.sql \
vacuumer.sql \
| psql mydbname
Run Code Online (Sandbox Code Playgroud)
我试图在Windows上运行它,并用cat等效的windows 替换对UNIX命令的调用,type这应该与is-there-replacement-for-cat-on-windows类似.
但是,当我执行该代码时,我收到一些错误:
文件名,目录或文件系统的语法是错误的.
所以我试图将管道文件的数量限制为仅将对python的调用和对以下内容的调用结合起来psql:
type <(C:/python27/python path/to/py-script.py path/to/file-argument) | psql -U myUser -d myDataBase
Run Code Online (Sandbox Code Playgroud)
产生相同的错误.
但是,当我单独执行python脚本时,它按预期工作:
C:/python27/python path/to/py-script.py path/to/file-argument
Run Code Online (Sandbox Code Playgroud)
因此,我假设使用错误导致type将脚本的结果直接传递给psql.
有谁知道正确的语法?
编辑:为了确保问题与未找到的文件无关,我使用了命令中所有参数的绝对路径,除了type和psql-command(它们都通过%PATH%-variable 处理).
我刚刚阅读了k-fold交叉验证,并意识到我无意中使用当前的预处理设置泄漏数据.
通常,我有一个火车和测试数据集.我在整个火车数据集上做了一堆数据插补和一次热编码,然后运行k-fold交叉验证.
泄漏是因为,如果我正在进行5倍交叉验证,我将训练80%的列车数据,并在剩余的20%的列车数据上进行测试.
我真的应该根据80%的火车来估算20%(而我之前使用的是100%的数据).
1)这是考虑交叉验证的正确方法吗?
2)我一直在研究这个Pipeline类sklearn.pipeline,它似乎对做一堆变换很有用,然后最终将模型拟合到结果数据中.但是,我正在做一些像" float64用平均值列出缺失数据"这样的东西,"用模式归还所有其他数据",等等.
这种插补没有明显的变压器.我该如何将这一步添加到Pipeline?我会创建自己的子类BaseEstimator吗?
这里的任何指导都会很棒!
所以,我在一个文件夹中有一组目录00-99.每个目录都有100个子目录,00-99.每个子目录都有数千个图像.
我正在尝试做的基本上是在计算平均文件大小时得到进度报告,但我无法让它工作.这是我当前的查询:
get-childitem <MyPath> -recurse -filter *.jpeg | Where-Object { Write-Progress "Examining File $($_.Fullname)" true } | measure-object -Property length -Average
Run Code Online (Sandbox Code Playgroud)
这显示了一个在每个文件被处理时更新的栏,但最后我没有回到平均文件大小数据.显然,我做错了,因为我试图破解Where-Object打印进度声明可能是一个坏主意(tm).
由于存在数百万个图像,因此该查询显然需要非常长的时间才能工作.如果我理解正确的话,get-childitem几乎是查询时间的一部分.什么指针得到我想要的?AKA,我的结果理想情况是:
Starting...
Examining File: \00\00\Sample.jpeg
Examining File: \00\00\Sample2.jpeg
Examining File: \00\00\Sample3.jpeg
Examining File: \00\00\Sample4.jpeg
...
Examining File: \99\99\Sample9999.jpg
Average File Size: 12345678.244567
Run Code Online (Sandbox Code Playgroud)
编辑:我可以做简单的选项:
get-childitem <MyPath> -recurse -filter *.jpeg | measure-object -Property length -Average
Run Code Online (Sandbox Code Playgroud)
然后离开我的工作站一天半或者其他东西,但这似乎有点低效= /
问题是 :
我们有一个使用流水线操作的传输协议,并使用一个8位长的序列号(0到255)
发件人可以使用的最大窗口大小是多少?(发送者在等待确认之前可以在网上发送多少个数据包?)
Go-Back-N最大窗口大小为:w = 2 ^ m -1 w = 255.
选择性重复最大窗口大小为:w =(2 ^ m)/ 2 w = 128.
我不知道哪个是正确的,我应该使用哪个公式.
感谢帮助
我需要将一些数据传递给程序的stdin.
在c中,这是微不足道的:
WriteFile(h, &cb, 4); // cb is a 4 byte integer
WriteFile(h, pData, cb);
Run Code Online (Sandbox Code Playgroud)
要么
fwrite(&cb, sizeof(cb), 1, pFile);
fwrite(pData, cb, 1, pFile);
Run Code Online (Sandbox Code Playgroud)
或者c#你会使用BinaryWriter(我认为这段代码是对的,我现在没有c#,...)
Bw.Write((int)Data.Length);
Bw.Write(Data, 0, Data.Length);
Run Code Online (Sandbox Code Playgroud)
在PowerShell中我确信它是可能的,但这是我能得到的尽可能接近.这显然是将4个字节的大小打印为4个人类可读数字:
$file = "c:\test.txt"
Set-content $file "test data" -encoding ascii
[int]$size = (Get-ChildItem $file).Length
$bytes = [System.BitConverter]::GetBytes($size)
$data = Get-content $file
$bytes
$data
11
0
0
0
test data
Run Code Online (Sandbox Code Playgroud)
我需要在管道上发送的二进制数据看起来像这样(\ xA是不可打印字符的转义表示,我不想在输出中使用'\',我想要'\ xA'表示的BYTE输出) :
\xA\x0\x0\0test data
Run Code Online (Sandbox Code Playgroud)
我不知道如何以二进制格式写出管道中的字节数组.我也不知道如何摆脱回车.
编辑: 我发现我可以这样做:
$file = "c:\test.txt"
Set-content $file "test data" -encoding ascii
"File: …Run Code Online (Sandbox Code Playgroud) c#的类型系统是否能够指定一个函数,该函数接受可以通过形成管道的多个函数?
效果类似于链接,而不是
var pipeline = a.Chain(b).Chain(c)
Run Code Online (Sandbox Code Playgroud)
一个人可以写
var pipeline = CreatePipeline(a,b,c)
Run Code Online (Sandbox Code Playgroud)
哪个a,b和c是函数?我已经包含了一些示例代码来说明,谢谢.
void Main()
{
Func<int, string> a = i => i.ToString();
Func<string, DateTime> b = s => new DateTime(2000,1,1).AddDays(s.Length);
Func<DateTime, bool> c = d => d.DayOfWeek == DayOfWeek.Wednesday;
//var myPipeline = CreatePipeline(a, b, c);
Func<int, bool> similarTo = i => c(b(a(i))) ;
Func<int, bool> isThisTheBestWeCanDo = a.Chain(b).Chain(c);
}
public static class Ext{
//public static Func<X, Z> CreatePipeline<X,Z>(params MagicFunc<X..Y>[] fns) {
// return
//}
public static Func<X, Z> Chain<X,Y,Z>(this Func<X,Y> …Run Code Online (Sandbox Code Playgroud) pipeline ×10
powershell ×3
asp.net-mvc ×1
assets ×1
binary ×1
c# ×1
chaining ×1
collections ×1
deployment ×1
file ×1
ienumerable ×1
javascript ×1
jenkins ×1
performance ×1
progress ×1
python ×1
razor ×1
scikit-learn ×1
tcp ×1