我正在寻找一些工具来从Javascript源中删除冷却.我能够谷歌一些,但没有一个满足以下要求:其他所有应该保持原样,特别是没有删除空格,但如果注释占一整行,该行也被删除.
不久之后,我希望能够从带有注释的格式良好的源到具有相同格式的源而无需注释.将删除仅包含注释的行,并将跟踪注释与尾随空格一起删除.其余的都保持不变.
你知道这种工作的工具吗?
编辑:我试着更具体.使用正则表达式是不可能的,因为字符//或者/*也可以出现在字符串,正则表达式等内部.
该工具应该接受这个输入
var a = true;
//the following code is every useful
var b = 2;//really, really useful
/**
Never, ever do this
var c = 3;
*/
var d = 4;
Run Code Online (Sandbox Code Playgroud)
并给出这个输出
var a = true;
var b = 2;
var d = 4;
Run Code Online (Sandbox Code Playgroud) 我需要检测刚按下的键是否是可打印的键,如字符,可能带有重音,数字,空格,标点符号等,或者是不可打印的键,如ENTER,TAB或DELETE.
有没有一种可靠的方法在Javascript中执行此操作,除了列出所有不可打印的键并希望不要忘记一些?
我是OCaml的全新手.我使用的其他语言(例如Scala,Clojure,Node.js上的Javascript)具有包管理器,允许人们将项目作为具有已知版本的已声明的依赖关系的干净平板启动.
我正试图用Opam做一些事情.理想情况下,我希望有一个文件列出依赖项(可能还有OCaml版本),以便协作者可以启动项目
git clone myproject
<magic opam command>
ocamlbuild
Run Code Online (Sandbox Code Playgroud)
并且有一个工作版本,没有在全球安装任何东西.
我知道这样做的正确方法是使用Opam开关,但我不确定在实践中该做什么.似乎交换机与编译器版本相关联,而不是每个项目(尽管有别名),而且我也无法找到是否存在某种项目Opam配置文件.
简而言之:假设有人想根据Core和Yojson(为了举例)开始一个新项目.有一个干净的可重复构建的步骤是什么?在这里,clean意味着它不会干扰现有已安装的库,并且可重现意味着它可以在具有新克隆项目的干净机器上运行.
使用数据库时,通常必须使用事务.例如,我想将一定数量的资金从帐户A转移到帐户B.这涉及两个查询:
从理论上讲,我可以单独进行查询,但会发生错误.因此,可以肯定的是,我可以在事务中打包两个查询,并确保两个操作都定期结束或根本没有任何更改.没有钱消失或被创造.
问题是,在我看来,这只会将责任从我转移到数据库供应商.现在由数据库来完成两个操作,并确保两者都已完成或没有任何更改.数据库开发人员面临着发生错误的相同问题.
数据库供应商使用哪些技术来确保交易的安全性?
我在Akka有一个演员,它将处理消息以创建某些实体.这些实体上的某些字段是根据创建时数据库中其他实体的状态计算的.
我想避免创建一个竞争条件,其中actor处理速度比数据库能够持久化实体的速度快.这可能会导致数据不一致,如下所示:
Foo并将其发送给其他actor以进行进一步处理和保存Foo.由于第一个尚未保存,因此根据DB的旧内容创建新的一个,从而产生错误Foo.现在,这种可能性非常小,因为Foos 的创建将手动触发.但仍然可以想象,双击可能会在高负荷下引起问题.谁知道明天Foo是否会自动创建.
因此,我需要的是告诉演员等待的一些方法,并且只有在确认Foo已经保存之后才恢复其操作.
有没有办法让一个演员处于空闲状态,并告诉它一段时间后恢复其操作?
基本上,我想将邮箱用作消息队列,并控制队列的处理速度.
我有一个Django应用程序,它允许不同类型的用户:公司,管理员,外部人员等.当然,使用默认的身份验证系统和组,所有这些都很容易管理.
我的问题是属于不同群体的用户将拥有不同的相关信息 - 例如,公司需要提供一些对私人用户没有意义的商业信息.因此,我需要附加不同类型的配置文件,具体取决于组.(在我的应用程序组中是互斥的.)
不幸的是,Django只允许将单个模型作为配置文件附加,并且声明该模型settings.AUTH_PROFILE_MODULE.在内部,由User.get_profile()方法检索,该方法基本上只读取该值并执行一些检查,例如模型实际存在.
我正在考虑子类化User和重写get_profile()方法,以便根据组返回不同的模型.
是否有更简单/更清洁的方式来管理不同类型的配置文件?
考虑到用户配置文件的引入完全是为了避免必须使用子类,我提出的建议似乎有点破解.
我知道THREE.js有来自各种3D图形格式的导入器.
是否有适合显示在3dStudioMax中创建的模型的导入程序?如果没有,有没有办法将一个3dStudioMax模型转换成可以在THREE.js中导入的东西?
我试图找出如何在ClojureScript中访问Javascript对象属性.如果我提前知道该物业的名称,那很容易.让foo.bar我做的就是
(.-bar foo)
Run Code Online (Sandbox Code Playgroud)
有没有办法访问其名称仅在运行时已知的属性?我正在寻找相当于JS语法
foo[dynamicBar]
据我所知,Scala标准库中的特征类似于List或者Seq是在Scala标准库中实现的,而不是语言本身的一部分.
但有一件事我不明白:一个有类似可变函数的语法
def foo(args: String*) = ...
Run Code Online (Sandbox Code Playgroud)
在内部,一个人可以访问args,它将是一个Seq.
我不清楚是否:
Seq 被认为是一种特殊的数据结构,足以作为语言的一部分出现,或者*这里的表示法是一种更通用语法的特殊情况,它设法避免对具体数据结构接口的任何引用.有谁知道哪一个是正确的解释?
我玩了!2用于Scala应用程序,我使用Specs2进行测试.我可以使用test命令或特定规范运行所有测试test-only MyParticularSpec.
我想做的是在规范中标记一些特定的规范,甚至是单个方法,以便执行以下操作:
等等.
我想这样的事情应该是可行的,也许是通过添加一些注释,但我不知道如何去做.
是否存在选择性运行某些测试而不是其他测试的机制?
编辑我在使用时已经回答了自己test-only.命令行选项仍然不适用于该test任务.在sbt指南之后,我尝试创建一个额外的sbt配置,比如
object ApplicationBuild extends Build {
// more settings
lazy val UnitTest = config("unit") extend(Test)
lazy val specs = "org.scala-tools.testing" %% "specs" % "1.6.9" % "unit"
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA)
.configs(UnitTest)
.settings(inConfig(UnitTest)(Defaults.testTasks) : _*)
.settings(
testOptions in UnitTest += Tests.Argument("exclude integration"),
libraryDependencies += specs
)
}
Run Code Online (Sandbox Code Playgroud)
当我传递没有选项的参数时,例如当我放置时,这是有效的Test.Argument("plan").但我无法找到如何传递更复杂的论点.我试过了
Tests.Argument("exclude integration")
Tests.Argument("exclude=integration")
Tests.Argument("-exclude integration")
Tests.Argument("-exclude=integration") …Run Code Online (Sandbox Code Playgroud) scala ×3
javascript ×2
3d ×1
3dsmax ×1
actor ×1
akka ×1
clojure ×1
comments ×1
database ×1
dependencies ×1
django ×1
django-users ×1
interop ×1
keyboard ×1
ocaml ×1
opam ×1
sbt ×1
specs2 ×1
testing ×1
three.js ×1
throttling ×1
transactions ×1