问题列表 - 第198721页

为什么'x + = y'并不总是与Python(2.7)中的'x = x + y'相同?

我总是这么认为

x += y
Run Code Online (Sandbox Code Playgroud)

只是一个捷径

x = x + y
Run Code Online (Sandbox Code Playgroud)

但似乎不是列表的情况:

x = []

x2 = x

print x is x2
True

x += [2]

print x is x2
True

x = x + [2]

print x is x2
False
Run Code Online (Sandbox Code Playgroud)

python

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

Spring Security OAuth-访问被拒绝

不知道我在哪里配置了AuthorizationServer。该代码成功地从db中检索了使用,然后由于某种原因我遇到了以下错误:Access is denied (user is not anonymous); delegating to AccessDeniedHandler。(请参阅Auth Server日志在此处)这不是用户登录以执行授权的全部原因。

我需要在哪里指定谁可以访问什么?

授权服务器

@SpringBootApplication
@ComponentScan(basePackages = {"com.web.authserver"})
@EntityScan(basePackages = {"com.web.entity", "com.web.authserver"})
public class HLOAuth2AuthServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(HLOAuth2AuthServerApplication.class, args);
    }

    @Configuration
    @EnableAuthorizationServer
    protected static class OAuth2Config extends AuthorizationServerConfigurerAdapter {

        @Autowired
        DataSource dataSource;

        @Override
        public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
            endpoints
                    .tokenStore(tokenStore())
                    .approvalStore(approvalStore())
                    .authorizationCodeServices(authorizationCodeServices());
        }

        @Bean
        public JdbcClientDetailsService clientDetailsService() {
            return new JdbcClientDetailsService(dataSource);
        }

        @Bean
        public TokenStore tokenStore() {
            return new JdbcTokenStore(dataSource); …
Run Code Online (Sandbox Code Playgroud)

java spring oauth spring-security spring-security-oauth2

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

Java Streams - 过滤先前过滤的值

我正在尝试使用Java的Streams,并试图找出可能的内容以及它们的优点和缺点.目前我正在尝试使用流来实现Eratosthenes的Sieve,但似乎找不到循环使用先前过滤的值而不将它们存储在单独的集合中的好方法.

我想要完成这样的事情:

IntStream myStream = IntStream.range(0,3);
myStream.filter(s -> {
    System.out.print("[filtering "+s+"] ");
    myStream.forEach(q -> System.out.print(q+", "));
    System.out.println();
    return true; //eventually respond to values observed on the line above
});
Run Code Online (Sandbox Code Playgroud)

具有所需的输出:

[filtering 0] 
[filtering 1] 0, 
[filtering 2] 0, 1, 
[filtering 3] 0, 1, 2, 
Run Code Online (Sandbox Code Playgroud)

请注意,在过滤每个新值时,会观察到所有先前过滤的值.这样可以轻松实现Eratosthenes的Sieve,因为我可以过滤掉所有非素数值,并且每个新值都可以检查以前通过素数过滤器的所有数字的可分性.

但是,上面的示例在NetBeans中给出了一个错误:

local variables referenced from a lambda expression must be final or effectively final
Run Code Online (Sandbox Code Playgroud)

这似乎是因为我在已经作用于myStream的过滤器中引用了myStream.是否有任何解决此错误的好方法(即,制作仅包含到目前为止已过滤的值的流的最终副本),或者是否有更好的方法解决此类问题而不使用单独的集合来存储值?

java lambda filter java-8 java-stream

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

Jupyterhub:get_config在哪里定义,如何创建自定义身份验证器?

我想创建一个使用自定义重定向来验证用户身份的jupyterhub安装。用户将输入我们Jupyterhub的网址,将其重定向到单独的身份验证系统,然后绕过login.html返回到应用程序。似乎最初需要在实际的Jupyterhub源代码上进行大量的黑客操作才能使其正常工作。

根据我目前的了解,我们需要自定义jupyterhub / jupyterhub / handlers / login.py jupyterhub / auth.py。我们希望避免这种情况,并使用官方支持的机制。我以为也许可以创建自己的身份验证器,以便在配置文件中使用,例如

c = get_config()
c.Authenticator.stuffGoesHere
Run Code Online (Sandbox Code Playgroud)

并实现自己的:

class LoginHandler(BaseHandler)  // login.py
Run Code Online (Sandbox Code Playgroud)

此外

class Authenticator(LoggingConfigurable):  // auth.py
Run Code Online (Sandbox Code Playgroud)

但是我什至看不清如何做到这一点,因为我不知道在哪里

 get_config()
Run Code Online (Sandbox Code Playgroud)

实现以及如何覆盖它。我在想这个吗?希望有一个单独的系统来处理登录名的解决方案(我们可以从此外部系统获取用户名,以进行docker Provisioning等操作,用于dockerspawner)。顺便说一句,get_config实际定义在哪里?

python authentication jupyter

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

我可以在程序中使用常数而不将其存储在内存中吗?

这是我的C代码:

#include "stdio.h"
#define SIZE1 500;
int main(int argc,char* argv[]){
    unsigned long SIZE2=500;
    char astring2[SIZE2];
    char astring[SIZE1];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我删除包含"define"的行和包含的行,char astring[SIZE1];那么程序将很好地工作,但是内存中至少需要4个字节来存储数字500.

我希望看到的工作不起作用的是我删除这两行:

unsigned long SIZE2=500;
char astring2[SIZE2];
Run Code Online (Sandbox Code Playgroud)

当我编译上面的完整代码时,编译器给了我这些错误:

./teststring.c: In function 'main':
./teststring.c:6: error: expected ']' before ';' token
Run Code Online (Sandbox Code Playgroud)

这告诉我,它有SIZE1的问题.我也试过在SIZE1的值附近加上引号,但我仍然收到同样的错误.

有没有办法可以做到这一点,还是我被迫在内存中存储一​​个数字来使用它?

我不想在我的程序中随处输入相同的数字,所以请不要建议char astring[500]作为答案,但如果编译器在幕后为我编写,因为它将代码编译为可执行格式.

我的编译器是GCC 4.1.2版.

c gcc const

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

低API下的StandardCharsets.UTF_8低于19

我正在使用此代码将斯堪的纳维亚字符正确发布到php.

这里的问题是API 19之前不支持StandardCharsets.UTF_8

byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);

DataOutputStream wr = new DataOutputStream( con.getOutputStream());
wr.write( postData );
Run Code Online (Sandbox Code Playgroud)

字段需要API级别19(当前最小值为14):java.nio.charset.StandardCharsets #UTF_8

我应该如何使用低于19的API?

java encoding android http url-parameters

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

无法在Jupyter笔记本中获取python3

如何让python3在Jupyter中运行?我也无法让它提供该内核.当我ipython3 notebook在终端运行时,我检查Python的版本:

import sys
print(sys.version)
Run Code Online (Sandbox Code Playgroud)

在哪里我得到输出:

3.4.0 (default, Jun 19 2015, 14:20:21) 
[GCC 4.8.2]
Run Code Online (Sandbox Code Playgroud)

当我跑步时jupyter notebook,我只能选择新python 2笔记本和

import sys
print(sys.version)
Run Code Online (Sandbox Code Playgroud)

在哪里我得到输出:

2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2]
Run Code Online (Sandbox Code Playgroud)

我试着跑:

sudo ipython3 kernelspec install-self
[TerminalIPythonApp] WARNING | File not found: 'kernelspec'
Run Code Online (Sandbox Code Playgroud)

ipython ipython-notebook jupyter

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

是否可以在Swift if语句中定义变量?

是否可以在Swift if语句中定义变量,然后在语句之外使用它?

    var cellWidth = requiredWidth
    if notification.type == "vote"{
        var cellWidth = maxWidth - 80
        println("cellWidth is \(cellWidth)")
        println("maxWidth is \(maxWidth)")
    }
    println("cellWidth is \(cellWidth)")
Run Code Online (Sandbox Code Playgroud)

我可以将使用cellWidth的代码复制到if语句中,但这似乎效率低下.有没有更好的方法来处理Swift中的条件变量?

if-statement swift

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

如何仅包含刀片模板?

如何在存在刀片模板的情况 @包含它?我可以这样做:

@if (File::exists('great/path/to/blade/template.blade.php'))
   @include('path.to.blade.template')
@endif
Run Code Online (Sandbox Code Playgroud)

但那真的不优雅高效.

我可以在没有if语句的情况下包含它,如果文件不在这里,则捕获并隐藏错误,但如果不是野蛮的话,这有点脏.

什么会是伟大的是这样的:

@includeifexists('path.to.blade.template')
Run Code Online (Sandbox Code Playgroud)

(伪代码,但此刀片命令不存在)

laravel blade

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

使用 jsonlite 将 R 中的未命名列表写入 json 数组

我正在向想要使用http://json2csharp.com/将数据字符串转换为对象数组的C# 开发人员发送数据。我认为 jsonlite 包对此有好处,但他没有得到他想要的结果,当我检查生成的输出时,它并不是我所期望的。我对这种情况的解释是生成的输出

x <- list( 
  a=list( a=1,b='x',c=list("Foo","Bar"), d=as.Date("2015-01-01") ),
  b=list( a=2,b='y',c=list("Hello","World"), d=as.Date("2014-12-31") ),
  c=list( a=3,b='z',c=NULL, d=as.Date("2016-02-29") )
)
toJSON(x, pretty = FALSE )
Run Code Online (Sandbox Code Playgroud)

曾是

{"a":{"a":[1],"b":["x"],"c":[["Foo"],["Bar"]],"d":["2015-01-01"]},"b":{"a":[2],"b":["y"],"c":[["Hello"],["World"]],"d":["2014-12-31"]},"c":{"a":[3],"b":["z"],"c":{},"d":["2016-02-29"]}} 
Run Code Online (Sandbox Code Playgroud)

它将所有子元素数据放入列表中,同时将父命名列表视为命名元素的对象。R 没有与 JSON 设计的相同类型的类型,所以这可能是 toJSON 的预期行为,但我想要更像

[{"a":1,"b":"x","c":["Foo","Bar"],"d":"2015-01-01"},{"a":2,"b":"y","c":["Hello","World"],"d":"2014-12-31"},{"a":3,"b":"z","c":{},"d":"2016-02-29"}] 
Run Code Online (Sandbox Code Playgroud)

如何将 R 中的列表写入 jsonlite 中的 JSON 数组?

json r list jsonlite

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