小编Sam*_*nen的帖子

什么是setApplicationDestinationPrefixes用于?

我按照教程在Java Spring应用程序中实现了websockets.它到目前为止工作正常,但我真的想了解它的用途:

config.setApplicationDestinationPrefixes("/app");
Run Code Online (Sandbox Code Playgroud)

我的整个配置看起来像这样

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

  @Override
  public void configureMessageBroker(MessageBrokerRegistry config) {
    config.enableSimpleBroker("/topic");
    config.setApplicationDestinationPrefixes("/app");
  }

  @Override
  public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/hello").withSockJS();
  }
}
Run Code Online (Sandbox Code Playgroud)

我基本上只是不明白春季文档/ tut中给出的解释 - 例如

...它为@ MessageMapping-annotated方法绑定的消息指定"/ app"前缀.

java spring websocket

10
推荐指数
2
解决办法
2277
查看次数

String.Split()和String.IndexOf()之间组合变音符号的不同行为

如果我有一个包含组合变音符号的字符串,则不同字符串函数之间的行为之间似乎存在一些混淆.如果我使用String.IndexOf(),它将结合变音符号并找到正确的字符.如果我使用String.Split(),由于某种原因它不会合并它们,也不会找到组合字符.

示例代码:

string test = "abce\u0308fgh";
Console.WriteLine(test.IndexOf("e"));
Console.WriteLine(test.IndexOf("ë"));
Run Code Online (Sandbox Code Playgroud)

这将按预期工作,这意味着找不到e,但是ë是.但由于某种原因,这种行为并不相似:

string test = "abcde\u0308fgh";
Console.WriteLine(test.Split('e').Length.ToString());
Console.WriteLine(test.Split('ë').Length.ToString());
Run Code Online (Sandbox Code Playgroud)

由于某种原因,Split()不会将变音符号组合并将由e分割,而不是由ë分割.

这个功能是否有某种原因,是否有一种方法可以使一个IndexOf()函数不结合变音符号,或者最好是一个Split()函数呢?

编辑:注意到我之前写过错误的代码,它有'e'而不是"e"

string test = "abce\u0308fgh";
Console.WriteLine(test.IndexOf('e'));
Console.WriteLine(test.IndexOf('ë'));
Run Code Online (Sandbox Code Playgroud)

Split()也是行为,所以它不在方法之间,而是在获取字符或字符串之间.

.net c# unicode

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

bash/unix工具链二进制流处理/切片

我在标准输入上有一个二进制流,它是固定大小的格式,一个连续的数据包流,每个数据包有一个长度为X的头和一个长度为Y的主体.

因此,如果X = 2 Y = 6那么它就像是00abcdef01ghijkl02mnopqr03stuvwx,但它是二进制的,标题和数据都可以包含任何 "字符"(包括'\ 0'和换行符),这个例子只是为了便于阅读.

我想摆脱标题数据,所以输出看起来像这样:abcdefghijklmnopqrstuvwx.

unix工具链中是否有允许我这样做的命令?通常有没有处理二进制数据的工具?我能想到的唯一工具是od/ hexdump但是如何将结果转换回二进制?

unix bash binary-data

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

如何从 WSO2 API Manager 验证 JWT

在后端 Web 服务位于单独的服务器上并且需要确定给定请求通过 APIM 网关身份验证和授权机制的情况下,验证 JWT 是否由特定 API 管理器实例发出的推荐方法是什么?

我知道 JWT 中的标头字段包含一个“x5t”字段,它是对租户密钥存储中证书的编码引用,详情如下:

https://asankastechtalks.wordpress.com/2013/12/05/obtaining-certificate-used-to-sign-a-jwt/

由于后端 Web 服务位于单独的服务器上,我们是否需要以某种方式将公钥分发给它?另外,我们如何更新用于签署 JWT 的证书,因为它现在使用的是默认值?

validation wso2 jwt wso2-api-manager

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

MVC 6中的GetOwinContext

我在我的Asp.Net5 MVC 6 Web应用程序中使用Membership Reboot来管理我的身份,登录等.

我正在尝试让MR的OwinAuthenticationService作为IAuthenticationService接口的实现工作,我依赖注入我的控制器.

此示例涉及IAuthenticationService使用以下Autofac注册注入依赖项:

builder.Register(ctx=>HttpContext.Current.GetOwinContext()).As<IOwinContext>();
builder.Register<IAuthenticationService>(ctx =>
{
    var owin = ctx.Resolve<IOwinContext>();
    return new OwinAuthenticationService(
        MembershipRebootOwinConstants.AuthenticationType,
        ctx.Resolve<IUserAccountService>(),
        owin.Environment);
}).InstancePerLifetimeScope();
Run Code Online (Sandbox Code Playgroud)

在MVC5中,这可以HttpContext.Current.GetOwinContext()像程序集中的扩展方法一样好Microsoft.Owin.Host.SystemWeb.但是,此程序集不再用于MVC6,因此HttpContext.Current无法解决.

我已经看到新的访问方式HttpContext是使用新IHttpContextAccessor界面,但这并没有解决获取Owin上下文的问题.

有没有办法在MVC6中获取当前的Owin上下文,或者当前的Owin环境字典(因为这是OwinAuthenticationService该类使用的)?

c# asp.net httpcontext owin asp.net-core-mvc

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

在xml上使用android前缀(android:,app:,@ ..,...)

在xml文件中的AndroidStudio上,我不明白项目与android前缀和项目之间的区别,如果没有它是我的源代码的一部分,例如:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@color/white</item>
    <item name="android:textColorSecondary">@color/white</item>
    <item name="actionMenuTextColor">@color/white</item>
</style>

<style name="AppTheme.toolbar" parent="Widget.AppCompat.Toolbar">
    <item name="android:background">@color/grey</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在这个xml文件中为什么有些属性需要前缀(android :)等等.例如:

<item name="android:textColorPrimary">@color/white</item>
Run Code Online (Sandbox Code Playgroud)

这部分代码工作正常,但是当使用下面的代码时,它不起作用: <item name="textColorPrimary">@color/white</item> 所以任何人都可以帮助我知道前缀之间的区别,以及何时使用它.谢谢

xml android android-studio

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

jQuery DOM操作 - 性能比较?

我正在使用jQuery学习DOM操作,并希望了解浏览器性能最佳实践.

假设我有两个DOM元素(div,p,ol等),我希望用户只能看到第一个元素,然后才能看到第二个元素.

我可以:

  1. 使用replace()
  2. remove()第一个元素和add()第二个元素
  3. hide()第一个元素,show()第二个元素

两者之间的性能差异是什么:

  • 1对2
  • 2比3
  • 1对3

如果元素属于不同类型,是否还有其他性能考虑因素?或者,如果元素是按钮或表单字段?

browser performance jquery dom

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

具有非 WSO2 ESB 的 WSO2 API 管理器?

我已经有一个ESB(非 WSO2 产品)的工作系统。我现在正在尝试WSO2 API Manager为 3rd 方开发人员集成到我的工作系统中。是否有可能取代WSO2 ESBAPI Manage与现有的non-WSO2 ESB

esb wso2 wso2esb wso2-api-manager

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

Python numpy:每 3 行求和(每月转换为季度)

我有一组带有每月数据的一维 numpy 数组。我需要按季度聚合它们,创建一个新数组,其中第一项是旧数组的前 3 项之和,等等。

我正在使用这个函数, x =3 :

def sumeveryxrows(myarray,x):
     return([sum(myarray[x*n:x*n+x]) for n in range( int(len(myarray)/x))])
Run Code Online (Sandbox Code Playgroud)

它有效,但你能想到更快的方法吗?我对它进行了分析,97% 的时间都花在了 __getitem__ 上

python numpy

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

使用ASP.NET 5中的默认DI容器一次注册所有服务,类似于Autofac

在ASP.NET 5中,默认情况下已经发布了一个DI,它看起来很有趣.我一直在使用Autofac和MVC 5,它可以选择立即注册所有程序集.下面是一个示例代码,用于注册Autofac中以"Service"结尾的所有类.

// Autofac Configuration for API
var builder = new ContainerBuilder();

builder.RegisterModule(new ServiceModule());

...
...

builder.RegisterAssemblyTypes(Assembly.Load("IMS.Service"))
                      .Where(t => t.Name.EndsWith("Service"))
                      .AsImplementedInterfaces()
                      .InstancePerLifetimeScope();
Run Code Online (Sandbox Code Playgroud)

我的问题是,在asp.net 5的Default DI容器中是否有类似的东西,您可以立即注册所有服务?

asp.net dependency-injection repository-pattern asp.net-core-mvc asp.net-core

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