我经常发现自己将配置值传递给访问它们的函数,如下所示:
var arg1 = 'test1';
if(isUndefined(config.args.arg1)){
arg1 = config.args.arg1;
}
var arg2 = 'param2';
if(isUndefined(config.args.arg2)){
arg2 = config.args.arg2;
}
var arg3 = '123';
if(isUndefined(config.args.arg3)){
arg3 = config.args.arg3;
}
Run Code Online (Sandbox Code Playgroud)
之后我会像这样使用它们:
var url = '<some-url>?id='+arg1+'&='+arg2 +'=' + arg3;
Run Code Online (Sandbox Code Playgroud)
jQuery/ExtJS或任何其他框架是否提供了一种以简单的方式访问这样的变量的解决方案,并为变量赋予默认值?
就像是:
getValueOfObject(config,'args.arg3','<default>');
Run Code Online (Sandbox Code Playgroud)
或者可能有一个标准的解决方案.
注意:
我也在考虑你有默认值的常见模式
var defaults = {
args: {
args1: ....
}
...
}
Run Code Online (Sandbox Code Playgroud)
并做一个对象合并.
然后将对象编码为param String.但正如您所看到的,对象值有时也包含参数名称.
我想在JVM上注册一个回调,所以我知道垃圾收集何时发生.有没有办法做到这一点?
编辑:我想这样做,所以我可以在我的应用程序日志中发生垃圾收集时注销,所以我可以看到它是否与我看到的问题相关.打开-Xloggc很有帮助,但是将GC日志(自应用程序启动以来使用秒数)的时间集成到我的主应用程序日志中有点棘手.
编辑2012年4月:从Java7u4开始,您可以从GarbageCollectorMXBean获取通知(一个很好的例子).
我需要禁用IPv6.为此,java文档表明设置jvm属性java.net.preferIPv4Stack=true.
但我不明白如何从代码本身做到这一点.
许多论坛演示了从命令提示符执行此操作,但我需要在运行时执行此操作.
我Error reading assemblies: No assembly descriptors found在构建项目时得到了.我正在尝试为我的.sh文件设置权限并排除一个.jar让我的应用程序崩溃的令人讨厌的文件...我不认为问题是关于那个......
我的maven-assembly插件在我的pom.xml文件中添加如下:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/src.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我的程序集描述符如下所示:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>my-assembly-descriptor</id>
<formats>
<format>jar</format>
<format>war</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>${project.build.directory}</outputDirectory>
<includes>
<include>*.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<excludes>
<exclude>spring-2.5.4.jar</exclude>
</excludes>
</dependencySet>
</dependencySets>
</assembly>
Run Code Online (Sandbox Code Playgroud)
我项目中的结构是:
Interface - src - main - assembly - src.xml
- pom.xml
Run Code Online (Sandbox Code Playgroud)
当尝试运行 - >调试为 - >然后在目标推送
assembly:single
我犯了同样的错误.我在控制台试了一下 …
好吧,我进行了搜索和搜索,没有人得到我的确切答案,或者我错过了.我让我的用户通过以下方式选择目录:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
startActivityForResult(intent, READ_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
在我的活动中,我想捕捉实际路径,这似乎是不可能的.
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M){
//Marshmallow
} else if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){
//Set directory as default in preferences
Uri treeUri = intent.getData();
//grant write permissions
getContentResolver().takePersistableUriPermission(treeUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
//File myFile = new File(uri.getPath());
DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri);
Run Code Online (Sandbox Code Playgroud)
我选择的文件夹位于:
Device storage/test/
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下所有方法来获得确切的路径名称,但无济于事.
File myFile = new File (uri.getPath());
//returns: /tree/1AF6-3708:test
treeUri.getPath();
//returns: /tree/1AF6-3708:test/
pickedDir.getName()
//returns: …Run Code Online (Sandbox Code Playgroud) 我试图准确理解Apache ZooKeeper("ZK")解决了什么类型的问题,也许他们的食谱页面是最好的起点.
首先,我做了以下假设:
我相信Apache Kafka就是一个例子,其中Kafka使用ZK创建一个分布式队列(这是列出的ZK食谱之一).因此,如果我的假设是正确的,ZK公开那些API方法,Apache Kafka的创建者直接使用ZK或使用Curator来实现"Queue"ZK Recipe.
如果我上面的任何假设都是错误的,请先纠正我!假设我或多或少走上正轨:
查看ZK食谱列表,我看到以下内容(非详尽无遗):
为了让我欣赏这些食谱和他们提出的解决方案,我首先需要了解他们解决的问题!我理解锁定来自基本的Java并发,但我只是没有看到"分布式锁定"何时需要的用例.对于领导选举,我所能想到的 - 作为首先需要它的一个用例- 将是你正在构建一个你想要带有内置主/从或主要/辅助功能的应用程序.也许在这种情况下,您可以使用ZK来实现自己的"领导者选举"配方,或者只是使用Curator的Leader Latch开箱即用.至于障碍,我不知道这些与锁有什么不同.所以我问:
真的需要一些聪明的头脑来帮助我.我被卡住了!我正在实施一个系统,允许用户将视频和文件上传到我的网站.我目前正在为他们提供ftp访问他们自己的ftp用户帐户,他们上传所需的文件.Linux服务器上的FTP支持用户配额.
但是,现在我需要将我的上传协议从ftp协议移开,并通过http查看amazon s3文件上传系统.ftp只是给防火墙,端口,主动,被动等问题太多了.列表继续.:)虽然http s3上传只是用户允许互联网访问将要进行上传的桌面应用程序的问题.
我已经完成了一切工作,我需要为每个用户设置配额.如何在不支持它的Amazon s3等系统上实施存储配额?我不能无限制地访问我的用户,我不想把我的服务器放在中间,因为它只是意味着我的服务器必须接收文件然后在后端上传到s3,这可以通过安装s3来完成作为一个驱动器,但然后再次回到通过ftp上传到我的服务器到安装的s3驱动器.
我希望我的应用程序直接上传到s3服务器,但通过上传到1个存储桶中的psuedo amazon文件夹来维护用户配额.每个用户都会在他们上传到的存储桶中获得一个子文件夹.
使这项工作的实施/逻辑是什么?
我是否通过查找/ keyname /中的文件来设置另一台服务器来监视用户,以查看该密钥名称将使用多少存储空间?在保持每个帐户使用状态最新方面,这不会花费很多钱吗?
请帮助,我需要一个策略.类似于存储在s3上的dropbox实现,但具有用户上传的配额限制.
我们以编程方式创建Cassandra节点(自动生成yaml和使用CassandraDaemon).理想情况下,由于配置需要,我们可以在不同的主机上使用不同的端口.这是可能的(通过种子规范或自定义类的实现)?似乎种子列表只能获取IP地址而不是端口.
我正在尝试解决Spark Streaming中的一个(简化的)问题:假设我有一个用户做的事件日志,其中每个事件都是一个元组(用户名,活动,时间),例如:
("user1", "view", "2015-04-14T21:04Z")
("user1", "click", "2015-04-14T21:05Z")
Run Code Online (Sandbox Code Playgroud)
现在我想收集用户的事件来做一些分析.假设输出是对以下内容的一些分析:
("user1", List(("view", "2015-04-14T21:04Z"),("click", "2015-04-14T21:05Z"))
Run Code Online (Sandbox Code Playgroud)
这些事件应该保存2个月.在此期间,可能会有大约500万这样的事件,以及数以百万计的独特用户,这些都是这里的关键.
我的问题是:
updateStateByKey当我有数百万个密钥存储时,在DStream上做这样的事情是否可行?DStream.window这里没用,当我有2个月的长度窗口,并希望有几秒的幻灯片?PS我发现,updateStateByKey每个幻灯片上的所有键都会调用它,这意味着每隔几秒就会调用数百万个时间.这让我对这个设计产生了怀疑,我宁愿考虑以下替代解决方案:
java ×3
amazon ×1
amazon-s3 ×1
android ×1
apache-spark ×1
assemblies ×1
broadcast ×1
c# ×1
cassandra ×1
documentfile ×1
dropbox ×1
get ×1
ipv4 ×1
ipv6 ×1
javascript ×1
object ×1
quota ×1
storage ×1
upload ×1