小编dte*_*ech的帖子

combineLatest只在其中一个流发生变化时才会发出

我有一个频繁值的流和一个慢的流.我希望将它们组合起来,但只在较慢的一个发出时才发出一个值.所以combineLatest不起作用.像这样:

a1
a2
b1
(a2,b1)
a3
a4
a5
b2
(a5,b2)
Run Code Online (Sandbox Code Playgroud)

目前我正在这样做,有更清洁的方式吗?

withLatest[A,B](fast : Observable[A], slow : Observable[B]): Observable[(A,B)] =
  Observable({ o =>
    var last : A
    fast.subscribe({a => last = a})
    slow.subscribe({b => o.onNext((last,b))})
  })
Run Code Online (Sandbox Code Playgroud)

编辑:此运算符现在位于Rx中,并使用LatestFrom调用.

scala reactive-programming rx-java

6
推荐指数
1
解决办法
1739
查看次数

从localhost或file://访问JSON服务

我正在制作一个打算在PC上本地运行的html页面,最好不要运行本地服务器(file://).我也使用jQuery使操作/ AJAX更容易一些.

我试图从twitter API加载2个结果,但是我收到一个错误.代码如下:

$.getJSON("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=someuser&count=9", {},
    function (data) {
        $.each(data.items, doSomething1);
    });
$.getJSON("http://search.twitter.com/search.json?q=somequery&result_type=recent&count=9", {},
    function (data) {
        $.each(data.items, doSomething2);
    });
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下代码,但它没有改变结果.

$.getJSON("http://api.twitter.com/1/statuses/user_timeline.json",
    {
        count:          "9",
        screen_name:    "someuser"
    },
    function(data) {
        $.each(data.items, updateAWTweets);
    });
$.getJSON("http://search.twitter.com/search.json",
    {
        q:              "somequery",
        result_type:    "recent",
        count:          "9"
    },
    function(data) {
        $.each(data.items, updateHashTagTweets);
    });
Run Code Online (Sandbox Code Playgroud)

我在chrome中获得以下错误(在localhost服务器上):

XMLHttpRequest cannot load http://search.twitter.com/search.json?q=somequery&result_type=recent&count=9. Origin http://localhost:62153 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

或(带文件://链接)

XMLHttpRequest cannot load http://api.twitter.com/1/statuses/user_timeline.json?screen_name=someuser&count=9. Origin null is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么解决这个问题?

javascript twitter json xmlhttprequest

5
推荐指数
2
解决办法
2万
查看次数

仅显示GIT回复用户可以使用gitweb访问哪些用户

我目前正在尝试设置GIT存储库服务器,以便我们可以从SVN切换到GIT.我几乎覆盖了所有东西,但我留下了一个问题.

目前的设置如下:

  • 所有开发人员(和非开发人员)都拥有用户帐户和正确的组,因为服务器是NIS客户端
  • 所有回购都是在/ var/git /中制作的
  • 所有拉/推都是通过ssh完成的

到目前为止,这完美地起作用,并且消除了对gitosis或gitolite的需要.

因为我希望对存储库有一个可浏览的概述,所以我设置了gitweb,包括pathinfo.因为repos是私有的,我通过Perl AuthenNIS设置了身份验证,这样可行,但是在这里我遇到了一个问题.

不希望所有开发人员都可以访问所有存储库,但是gitweb只显示它(apache用户)可以读取的每个存储库.

所以我的问题是:是否有可能让gitweb只显示当前登录用户有权访问的GIT repo?

可能的方法:

  1. 通过.htaccess进一步访问控制.pathinfo会启用此功能,但它不会阻止通过非pathinfo URL访问repo(例如/repo.git/不起作用,但/gitweb.cgi?p=repo.git会)
  2. 建立完整的gitosis/gitolite环境并将其整合到gitweb(基本上是这个).我想防止这种情况,因为开销是不可取的
  3. 使gitweb作为经过身份验证的HTTP用户运行.这将解决所有访问控制问题,但我不知道如何做到这一点
  4. gitweb的$export_auth_hook结合$cgi->remote_user似乎很有希望,但我对perl的理解太有限了,无法使用它(钩子需要验证用户是否有权在显示/导出之前访问repo目录)

有谁知道如何做3或4个工作或有另一个解决方案?

git authentication perl gitweb

5
推荐指数
1
解决办法
1751
查看次数

从数据库中删除html实体

由于我的前任错误(MySQL)数据库我想使用包含很多HTML实体(例如,€而不是).

由于数据库应该包含原始数据(数据库不应该与HTML有任何关系)我想从数据库中删除它们并将其存储在正确的UTF8中,因此配置就是这样.

什么是解决这个问题的好方法?我唯一能想到的是编写一个获取所有数据的PHP脚本,通过html_entity_decode()运行它并将其写回.它是可行的,因为它是一次性操作,而DB只有大约100MB,但它仍然不是最佳的.

有任何想法吗?

sql html-entities

5
推荐指数
1
解决办法
2410
查看次数

PHP变量"默认值"

我想从会话中获取值,但如果未定义,则使用默认值.当然,我想绕开PHP的通知.

以下函数执行此操作:

function get(&$var, $default){
    if(isset($var)) return $var;
    return $default;
}
Run Code Online (Sandbox Code Playgroud)

行动中的例子

有没有办法在不在每个文件中定义此函数的情况下执行此操作?

php variables default-value

5
推荐指数
2
解决办法
1万
查看次数

PHP Firebird API:php_interbase还是PDO?

我们已经在新脚本中使用PDO 2年来连接到我们的MySQL,PostgreSQL和SQLite数据库.

我们现在开始一个项目,我们需要阅读(也许是一些简单的UPDATE)Firebird 2.5数据库文件.我想使用PDO,因为我们已经使用它,它将不再是一个过渡.然而,PDO_FIREBIRD PECL包似乎是在2006年更新的.

所以我的问题是:将PDO Firebird驱动程序或php_interbase API用于新项目是否更好?即PDO Firebird驱动程序的生产值得吗?

php firebird pdo

5
推荐指数
1
解决办法
2946
查看次数

IntelliJ没有在maven项目中加载传递依赖

我做了一个小型图书馆,我们打电话给它lib.它依赖于另一个库,sublib可在Maven中心使用:

lib/pom.xml:

<dependencies>
    <dependency>
        <groupId>3rdparty</groupId>
        <artifactId>sublib</artifactId>
        <version>x</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试lib在我的项目中使用proj.我把它设置为依赖:

proj/pom.xml:

<dependencies>
    <dependency>
        <groupId>mynamespace</groupId>
        <artifactId>lib</artifactId>
        <version>y</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

当我运行mvn exec:java -D exec.mainClass=mynamespace.proj.Main程序运行正常.但是,如果我从IntelliJ运行它,我会收到以下错误:

java.lang.NoClassDefFoundError: 3rdparty/SomeSubLibClass
    at mynamespace.SomeLibClass.method(SomeLibClass.java:100)
Run Code Online (Sandbox Code Playgroud)

这似乎表明IntelliJ不会加载传递sublib依赖.我怎样才能解决这个问题?

java intellij-idea maven

5
推荐指数
1
解决办法
2017
查看次数

按时间分组记录

我有一个包含datetime列和一些misc其他列的表.datetime列表示发生的事件.它可以包含一个时间(当时发生的事件)或NULL(事件未发生)

我现在想要计算特定间隔(15分钟)内发生的记录数,但不知道该怎么做.

例:

id | time                | foreign_key
1  | 2012-01-01 00:00:01 | 2
2  | 2012-01-01 00:02:01 | 4
3  | 2012-01-01 00:16:00 | 1
4  | 2012-01-01 00:17:00 | 9
5  | 2012-01-01 00:31:00 | 6
Run Code Online (Sandbox Code Playgroud)

我现在想要创建一个创建类似于以下结果集的查询:

interval            | COUNT(id)
2012-01-01 00:00:00 | 2
2012-01-01 00:15:00 | 2
2012-01-01 00:30:00 | 1
Run Code Online (Sandbox Code Playgroud)

这在SQL中是否可行,或者任何人都可以建议我可以使用哪些其他工具?(例如,将数据导出到电子表格程序不会有问题)

sql sqlite group-by aggregate

4
推荐指数
1
解决办法
4806
查看次数

Kotlin 合约:两个属性的链接非空

假设我有一堂这样的课:

data class URLAndPath(
   val baseUrl: URL,
   val path: String?
) {
    val url get(): URL? =
        try { path?.let { URL(baseUrl, it) } }
        catch(_: Exception) { null }

    init { require(path == null || url != null) { "Invalid URL $baseUrl$path" } } 
}
Run Code Online (Sandbox Code Playgroud)

这个类确保当path != null且仅当url != null

Kotlin 契约似乎是告诉编译器这些关系的方式。上述不变量可以用 Kotlin 合约建模吗?

我的最终结果是让如下代码编译:

val x = URLAndPath(URL("http://example.org/"), "index.html")
if(x.path != null) {
    // currently: Error: Only safe (?.) or non-null asserted (!!.) calls …
Run Code Online (Sandbox Code Playgroud)

kotlin kotlin-contracts

4
推荐指数
1
解决办法
2318
查看次数

如何检查函数是否已经在Java中调用?

我在Android Java项目中两次调用了一个方法,但是我只想调用一次。当我第二次调用该方法时,我想检查该方法是否已经被调用。代码是这样的:

class SomeClass {
    //called with certain condition
    private void a(){
         c(); //first call
    }

    private void b() {
         c(); //second call,check here whether function is invoked already or not,if invoked not invoke here or vice-versa
    }

    //called with certain condition
    private void c() {

    }
}
Run Code Online (Sandbox Code Playgroud)

java android

2
推荐指数
1
解决办法
8482
查看次数

F# 向外部 DU 添加额外的案例

假设我有一个 DU ,我不能(或不想)改变它:

type OrDU =
    | A
    | B
    | C
Run Code Online (Sandbox Code Playgroud)

现在在另一个程序中,我需要一个 DU,它与上述相同,但需要一些额外的情况。

type ExtraDU = 
    inherit OrDU
    | D
    | E
Run Code Online (Sandbox Code Playgroud)

但是,DU 不能扩展。什么是最好的解决方案?理想情况下,我想要简单的互操作,即 aOrDu可以用作 a ExtraDU,并且ExtraDU没有额外情况的an可以转换回 a OrDU

inheritance f# discriminated-union

2
推荐指数
1
解决办法
326
查看次数

用函数值覆盖特征方法

说我有这样的特质

trait X {
  def foo(param: String): Int
}
Run Code Online (Sandbox Code Playgroud)

我想用函数值覆盖它,我必须这样做:

class XImpl extends X {
  private val fooF: String => Int = ???
  override def foo(param: String): Int = fooF(param)
}
Run Code Online (Sandbox Code Playgroud)

因为以下不起作用

class XImpl extends X {
  override val foo: String => Int = ???
}
/*
       error: class XImpl needs to be abstract. Missing implementation for:
         def foo(param: String): Int // inherited from trait X
                                            ^
       error: value foo overrides nothing.
       Note: the super classes of class XImpl contain …
Run Code Online (Sandbox Code Playgroud)

inheritance scala

2
推荐指数
1
解决办法
57
查看次数

Django:分配尚未创建的类的外键

我有关系数据库,其中一个关系看起来像这样:

Student < --- > Major_enrollments
Run Code Online (Sandbox Code Playgroud)

所以我需要在两个表中创建一个带有外键的列到第二个表.我怎么能这样做,如果我定义类,例如学生优先,我会收到这样的错误通知:" NameError:name'Major_enrollments'未定义 ".

这是我写的一段代码(models.py):

class Students(models.Model):

    nr_album = models.IntegerField()
    fName = models.CharField(max_length=70)
    lName = models.CharField(max_length=70)
    pesel = models.BigIntegerField()
    address = models.CharField(max_length=100)
    major_enrollments = models.ForeignKey(Major_enrollments) #<---THAT DOESN'T WORK

    def __unicode__(self):
        return unicode(self.pesel)


    class Meta:
        db_table='Students'

class Major_enrollments(models.Model):
    majors = models.ForeignKey(Majors)
    students = models.ForeignKey(Students)

    def __unicode__(self):
        return unicode(self.id)

    class Meta:
        db_table='Major_enrollments'
Run Code Online (Sandbox Code Playgroud)

python sql django

1
推荐指数
1
解决办法
145
查看次数