小编Ami*_*iri的帖子

什么是Keycloak的OAuth2/OpenID Connect端点?

我们正在尝试将Keycloak评估为SSO解决方案,并且它在许多方面看起来都很好,但是文档在基础知识方面却很缺乏.

对于一个给定Keycloak安装http://localhost:8080/的境界test,有什么的OAuth2授权端点,OAuth2用户令牌端点ID连接的UserInfo终点

我们对使用Keycloak自己的客户端库不感兴趣,我们希望使用标准的OAuth2/OpenID Connect客户端库,因为使用keycloak服务器的客户端应用程序将使用多种语言编写(PHP,Ruby,Node,Java,C# ,Angular).因此,使用Keycloak客户端的示例对我们来说并不适用.

keycloak

70
推荐指数
10
解决办法
7万
查看次数

D:找到具有特定属性的所有函数

目前是否可以跨模块扫描/查询/迭代所有具有某些属性的函数(或类)?

例如:


source/packageA/something.d:

@sillyWalk(10)
void doSomething()
{
}
Run Code Online (Sandbox Code Playgroud)

source/packageB/anotherThing.d:

@sillyWalk(50)
void anotherThing()
{
}
Run Code Online (Sandbox Code Playgroud)

source/main.d:

void main()
{
    for (func; /* All @sillWalk ... */) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

d

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

是否有Java EE JDK

我知道这已被问了一百万次我做了我的功课,但最后我还不完全理解的是,是否有"Java EE JDK"?

当我下载SDK时,它会尝试安装我不想要的大量垃圾.所以我做了一些阅读并意识到实际上Java SDK是一组技术上与JDK无关的工具.所以我正在寻找的只是简单的JDK单独下载.

我们知道Sun的(现在的Oracle)网站一直提供 "Java SE JDK" .但是,我正在开发一个Web应用程序,并对一些 Java EE特性感兴趣:javax.servlet,javax.validation,javax.persistence和javax.transaction.所以我真正想要的是"Java EE JDK".

我正在使用典型的Maven/Tomcat/Spring/Hibernate设置,在过去,我总是在Maven提供的范围中为我的项目添加仅API依赖项,用于Java EE规范的这些部分,即:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

因此,如果我为我的项目所需的所有Java EE API执行此操作,那么我实际上将Java SE JDK与一些其他手动声明的Java EE组件一起使用.此外,当我指示我的IDE使用Java EE SDK安装附带的JDK时,这些额外的命名空间不可用.

换句话说,对于所有意图和目的,似乎Java EE SDK下载附带的JDK等同于我在安装"Java SE JDK"时获得的JDK ...如果这是正确的那么有我不需要安装Java EE SDK,我可以简单地使用Java(SE)JDK声明我需要的任何Java EE组件作为*-api /提供的依赖关系,如上所述.

所以我的问题是:我在上面描述了正确的方法,还是有"Java EE JDK"这样的东西?即一个JDK,它带有未实现的接口,如javax.servlet和javax.resources等等?如果这样的野兽存在,我会从哪里下载?

java java-ee

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

我可以将VS 2013外观改为2010吗?

刚刚安装了VS 2013(之前在2010年),我深感遗憾.我很高兴公司拿起标签!

我已经阅读了一下,发现很多人讨厌VS 2012/2013的外观和感觉,并且有一些工具和技巧可以在VS 2012中恢复2010年的外观和感觉.但是我找不到类似的东西.对于2013年,我想知道我是否错过了它,或者它还没有发明.


编辑:我发现了其他人可能感兴趣的两件事:

  1. 禁用ALL CAPS菜单(这是另一个SO问题,很容易找到)
  2. 禁用文件内容扩展(这似乎不太知道,上帝知道这个家伙甚至发现它...

编辑#2:最后我没有使用提供的答案中的主题.似乎"接近2010"主题在2013年以"蓝色"名称内置.我决定不再使用图标和颜色,尝试习惯这些图标.上面的hacks,加上VSCommands对我来说已经足够了.

visual-studio visual-studio-2013

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

在Kotlin中动态获取名称功能

如何在Kotlin中按名称动态获取函数?

即:

fun myFunc11() { println("Very useful function 11") }

val funcName = "myFunc" + 11
val funcRef = getFunction(funcName)

funcRef()
Run Code Online (Sandbox Code Playgroud)

编辑:接受的答案似乎是正确的,但是代码目前在Kotlin中遇到了一些错误.提交的错误报告:https://youtrack.jetbrains.com/issue/KT-10690

reflection kotlin

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

Gradle:是否可以发布到Gradle自己的本地缓存?

我知道我可以使用maven插件mavenLocal()来安装工件并在本地使用它.

然而,进一步研究这一点,我注意到这意味着工件安装到Mavens的标准~/.m2,但同时Gradle自己的缓存~/.gradle/caches以不同的格式存在.

这对我来说似乎很浪费,a)使用两个本地缓存,以及b)必须添加mavenLocal()到所有项目中.我想知道是否有办法向Gradle发布工件~/.gradle/caches

gradle

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

以非侵入方式将Resharper代码注释添加到自己的代码中

我想用StringFormatMethod属性标记我的一个方法,因此Resharper语法突出显示它.

我能够通过引用JerBrains.Annotations程序集并添加属性来完成此操作.

但是我发现这是一种非常有创意的方法.这里并不是每个人都使用JetBrains,它需要将.dll提交给subversion,添加依赖项,并使用特定于特定IDE的内容乱丢代码,我讨厌.

我读到了"外部注释"功能,但我无法做到.我不确定我是否做错了,或者解决方案中的项目是否完全不受支持(即不是编译的程序集引用).

那么有没有办法以非侵入方式向项目中的方法添加代码注释?

PS这是方法:

使用系统;

namespace MyLib
{
    public static class Assert
    {
        public static void That(bool condition, string format, params object[] @params)
        {
            if (!condition)
                throw new Exception(string.Format(format, @params));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是内容

C:\ Program Files(x86)\ JetBrains\ReSharper\v7.1\Bin\ExternalAnnotations\MyLib.xml:

<assembley name="MyLib">
    <member name="MyLib.Assert.That(System.Boolean,System.String,System.Object[])">
        <attribute ctor="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor">
            <argument>format</argument>
        </attribute>
    </member>
</assembley>
Run Code Online (Sandbox Code Playgroud)

c# resharper syntax-highlighting

8
推荐指数
3
解决办法
4273
查看次数

Mono:适用于Windows的HeapShot GUI在哪里?

可能是一个愚蠢的问题,但是 - Mono网站上HeapShot页面说:

如果Heap Shot没有适用于您的操作系统的安装程序或软件包,...

对我来说意味着在interweb上存在一个页面,其中包含各种平台的下载链接,其中可能列出或不列出Windows 7.

然而,对于我的生活 - 我无法弄清楚那个页面的生活方式.

我现在宁愿不去构建它,我尝试过,我错过了大量的库,可能是我安装单声道时未经检查的东西.

在我(重新)安装GTK#和其他恶作剧并构建该死的东西之前,有人可以解释一下:是否可以简单地下载Mono的HeapShot GUI的Windows版本?

c# mono

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

D:用代表减少

这段伪代码工作得很好:

RANGE.reduce!((a,b) => a + b);
Run Code Online (Sandbox Code Playgroud)

实际上它出现在多个示例和文档中.

但是,这不起作用,我无法弄清楚原因:

RANGE.reduce!((a,b) => { return a + b; });
Run Code Online (Sandbox Code Playgroud)

我一直收到以下错误:

algorithm.d(52,52): Error: cannot implicitly convert expression
    (__lambda1(result, _param_1.front()))
    of type int delegate() nothrow @nogc @safe
    to int
Run Code Online (Sandbox Code Playgroud)

我认为它可能是D中的一个错误,但也许我错过了一些东西......?

(我的实际委托更复杂,我只是将代码简化为演示问题的最小示例).

d

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

C++:所有增强路径操作段错误(OSX/GCC)

我正在尝试使用增强路径执行几乎任何操作,从而获得一致的段错误.

(编辑:似乎所有segfaulting函数都与之相关current_path())

Sample program:

#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <iostream>

using namespace std;
using namespace boost::filesystem;
using namespace boost::system;


int main(int argc, const char * argv[])
{
    error_code err;
    auto p = path("hello/../world");
    cout << p.string() << endl;
    path c = canonical(p, err);
    cout << c.string() << endl;
}
Run Code Online (Sandbox Code Playgroud)

以上只是一个例子,以下也是段错:
auto p = current_path(err);

和:
auto p = initial_path(err);

编译:
g++-4.9 -lboost_filesystem -lboost_system -std=c++11 main.cpp -o ./path-test

输出:

hello/../world
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)

通过Homebrew安装GCC和Boost . …

c++ macos gcc boost boost-filesystem

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