我希望这会是一件简单的事情,但我找不到任何可以做到的事情.
我只想获取给定文件夹/目录中的所有文件夹/目录.
例如:
<MyFolder>
|- SomeFolder
|- SomeOtherFolder
|- SomeFile.txt
|- SomeOtherFile.txt
|- x-directory
Run Code Online (Sandbox Code Playgroud)
我希望得到一个数组:
["SomeFolder", "SomeOtherFolder", "x-directory"]
Run Code Online (Sandbox Code Playgroud)
或上面的路径,如果这是如何服务...
那么上面有什么已经存在的吗?
在尝试使用Typescript的时候,我意识到模块中的类(用作命名空间)不可用于其他类,除非我export在它们之前编写了关键字,例如:
module some.namespace.here
{
export class SomeClass{..}
}
Run Code Online (Sandbox Code Playgroud)
所以现在我可以使用上面这样的代码:
var someVar = new some.namespace.here.SomeClass();
Run Code Online (Sandbox Code Playgroud)
但是我只是想知道为什么使用这个关键字而不是仅仅使用public在方法级别使用的关键字来表示方法或属性应该是外部可访问的.那么为什么不使用相同的机制来使类和接口等在外部可见?
这将产生如下结果的代码:
module some.namespace.here
{
public class SomeClass{..}
}
Run Code Online (Sandbox Code Playgroud) 我仍然是相当新的承诺,目前正在使用蓝鸟,但我有一个场景,我不太确定如何最好地处理它.
例如,我在快递应用程序中有一个承诺链,如下所示:
repository.Query(getAccountByIdQuery)
.catch(function(error){
res.status(404).send({ error: "No account found with this Id" });
})
.then(convertDocumentToModel)
.then(verifyOldPassword)
.catch(function(error) {
res.status(406).send({ OldPassword: error });
})
.then(changePassword)
.then(function(){
res.status(200).send();
})
.catch(function(error){
console.log(error);
res.status(500).send({ error: "Unable to change password" });
});
Run Code Online (Sandbox Code Playgroud)
所以我追求的行为是:
所以,目前抓到似乎没有停止的链接,这是有道理的,所以我想知道如果有,我以某种方式迫使链停在基于错误的某一点的方式,或是否有更好的办法构造它以获得某种形式的分支行为,就像有一种情况一样if X do Y else Z.
任何帮助都会很棒.
我有一个场景,我有一个接口,有一个像这样的方法:
interface SomeInterface
{
SomeMethod(arg1: string, arg2: string, arg3: boolean);
}
Run Code Online (Sandbox Code Playgroud)
像这样的一个类:
class SomeImplementation implements SomeInterface
{
public SomeMethod(arg1: string, arg2: string, arg3: boolean = true){...}
}
Run Code Online (Sandbox Code Playgroud)
现在问题是我似乎无法告诉接口第3个选项应该是可选的还是有一个默认值,就像我试图告诉接口有一个默认值我得到错误:
TS2174: Default arguments are not allowed in an overload parameter.
如果我从界面中省略默认值并像这样调用它:
var myObject = new SomeImplementation();
myObject.SomeMethod("foo", "bar");
Run Code Online (Sandbox Code Playgroud)
它抱怨参数与任何覆盖都不匹配.那么是否有一种方法可以为参数提供默认值并从接口继承,我不介意接口是否必须将值作为默认值,因为它始终是一个可选参数.
这可能是一件简单的事情,但我有以下代码:
<div>
@using (Html.BeginForm()) {
<p>
...
</p>
}
</div>
Run Code Online (Sandbox Code Playgroud)
而且它一直抱怨起始{括号必须后跟一个结尾}括号,但它在那里,所有做这类东西的代码示例都表明这是做到这一点的方式,所以我有点困惑为什么它没有不行......
我不确定这是否可行,但我有一个场景,我有一个验证系统,当一些东西通过一个依赖的observable变得有效/无效时通知我的验证系统.现在,当用户填写表单时,这非常有效,因为dependantObservable是从基础observables值更改驱动的.(即,如果Name属性发生更改,它将重新评估isValid依赖的observable,它将依次通知我绑定到验证系统的绑定).
现在我的问题是,如果用户根本没有触摸表单而只是直接提交,它将不会触发绑定,因为任何observable的基础值都没有改变,因此没有订阅者会知道任何验证更改发生.理想情况下,我不想通过每个observable并重新分配它的当前变量来推动验证评估,这反过来会触发验证状态的变化.所以我真正想做的就是让这个isValiddependantObservable 刷新,因为缺少一个更好的词.
无论哪种方式看起来都很讨厌,但我的选择似乎是:
1)对所有被验证的observable强制进行值更改(可怕)2)强制重新评估isValid dependantObservable以触发订阅者(不太可怕,但仍然不好)3)重写验证库以公开forceValidation()函数这将以某种方式触发所有要重新评估的内容,从而绕过底层observable触发验证管道的需要.
有任何想法吗?
我知道很多次都会问这个问题,但大多数问题都发生在2009-2010.
我很肯定一段时间我正在努力删除它们,但是我现在找不到任何方法将它们删除.
那么这个领域有没有进步?微软让IIS无法轻松配置这些标头似乎很疯狂.
目前已经尝试过:
我听说有一个ISAPI过滤器可以删除它们,但是我无法在任何地方找到它,并且没有从头开始编写的经验,但可能最终成为唯一的方法.
这就是为什么我想删除所有内容的Etags的原因.我让客户端缓存所有内容(过期和最后修改),所以一旦从服务器获取静态文件,它就永远不需要再次查询服务器,直到它过期.就像使用Etags一样,您仍然需要向服务器请求每个文件,以确定标记是否仍然匹配.因此,使用客户端缓存只会请求您需要的内容.
我还有一个版本控制系统,所以当发生变化时,静态内容会被引用为my.js?12345而不是my.js?12344.无论如何,重点是我目前认为删除Etags将大大改善我当前项目的一个瓶颈.
为了给这个问题提供更多的上下文,我有一个Web应用程序(asp mvc),它基本上将CRUD操作包装到MongoDb实例,它在模型被验证并发送到存储之前执行验证和某些业务逻辑,检索等
现在我们遇到的一个问题是,在新版本中,模型已经改变,但现有数据没有,这里是一个例子:(它是c#特定的,但问题确实是语言不可知的)
public class Person
{
public Guid Id {get; set;}
public string Name {get; set;}
public int Age {get;set;}
public string BadgeNo {get;set;}
}
public class Person
{
public Guid Id {get; set;}
public string Name {get; set;}
public int Age {get;set;}
public string EmployeeNo {get; set;} // Still contains same data as BadgeNo just called something different
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,对象的结构发生了变化,但是在Mongo的土地上,它仍然传递出一个BadgeNo,而不是一个EmployeeNo.在SQL领域,我们通常会有一个迁移脚本,它作为构建脚本的一部分运行,它将更改架构并更新/插入/删除该增量的任何其他数据.
那么如何用Mongo 管理这类迁移呢?我是否还应该使用一个脚本来更新Mongo中的所有实例?还是有一些其他首选的做法来做这种事情.
关于这个问题的任何建议都会很棒
===编辑===
目前我似乎想要使用迁移选项而不是逐步淘汰方法,所以考虑到这一点,任何人都可以推荐任何帮助这一领域的工具,否则每次迁移(假设滚入,推出) )必须是一个具有所有逻辑的预编译程序集.我正在思考FluentMigrator的内容,但不是使用SQL而是使用Mongo.目前我的构建脚本使用Nant,我看过一些ruby工具,但不确定是否有任何.net等价物.
我正在查看Typescript,并且对于如何通过命令行从ts文件构建js文件感到有点困惑.
它在文档中暗示你可以通过nodeJS轻松完成,如果我想要一个对nodeJS的依赖,这将是很好的...那么有没有办法通过命令行编译它而没有nodeJS或visual studio?
对于某些人来说这可能看起来很疯狂,但我会在最后输出构建脚本步骤以输出javascript,然后将其打包到我的版本中,因为我倾向于使用RubyMine进行大部分javascript开发并且不想要对构建服务器的nodeJS或Visual Studio的依赖.
我看到的所有示例都显示了一个带有构造函数的类.可以不加入构造函数吗?很像C#如何自动使你成为默认的空构造函数?
typescript ×4
javascript ×2
node.js ×2
.net ×1
arguments ×1
bluebird ×1
build-script ×1
caching ×1
command-line ×1
directory ×1
etag ×1
http-headers ×1
iis ×1
iis-7.5 ×1
interface ×1
knockout.js ×1
migration ×1
module ×1
mongodb ×1
promise ×1
public ×1
razor ×1
validation ×1