小编Hal*_*eir的帖子

SSE(SIMD):通过标量乘以向量

我在程序中执行的常见操作是通过标量缩放矢量(V*s,例如[1,2,3,4]*2 == [2,4,6,8]).是否有SSE(或AVX)指令执行此操作,除了首先在向量中的每个位置加载标量(例如_mm_set_ps(2,2,2,2))然后乘以?

这就是我现在所做的:

__m128 _scalar = _mm_set_ps(s,s,s,s);
__m128 _result = _mm_mul_ps(_vector, _scalar);
Run Code Online (Sandbox Code Playgroud)

我正在寻找像......

__m128 _result = _mm_scale_ps(_vector, s);
Run Code Online (Sandbox Code Playgroud)

c x86 sse simd

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

是否可以通过管理/资源管理API为Azure网站启用Always On?

我正在编写一些自动部署Azure网站的代码(包括在Azure中创建网站).我正在使用Nuget中提供的Azure管理库和Azure资源管理库.其中大部分已经到位,但是我无法通过我见过的任何API找到启用"Always On"属性的方法.可以通过网站的"配置"选项卡下的azure管理门户设置此属性.

我检查过:

  1. MSDN上的属性参考:http://msdn.microsoft.com/en-us/library/azure/dn236426.aspx
  2. powershell API(get-azureresource,get-azurewebsite,...)查看是否有对Always On的引用(没有)
  3. REST调用管理门户通过Fiddler发送.这里有一个POST中的Always On参考https://manage.windowsazure.com/Websites/UpdateConfig(据我所知,它不是管理或资源管理API的一部分).JSON主体中发送的确切路径是/ siteConfig/AlwaysOn.

那么,问题是,是否可以通过"官方"API启用/禁用Always On?

谢谢!

api rest azure azure-web-sites alwayson

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

XSLT:解析嵌入XML的HTML?

在我的网站上,我有我的页面内容的XML(从我的数据库自动生成) - 使用XSLT显示.问题是这样的:我想在一些XML标签中有一些格式.例如,如果我有一个包含如下格式的文章的XML:

<article>
  <header>Cool article</header>
  <author>Me!</author>
  <content>
    This is an article. It's <b>HUGE</b>, and here's a <a href="http://Www.foo.com">link</a>.
  </content>
</article>
Run Code Online (Sandbox Code Playgroud)

但是,如果我只使用此获取内容:<xsl:value-of select="content" />忽略/丢失所有HTML格式.我猜这是错误的XML子节点,而不是驻留在内容节点中的实际数据.

如此处所描述的那样,实现格式化的首选方式是什么?

提前致谢.

html xslt

6
推荐指数
2
解决办法
8993
查看次数

WPF:ItemsPanelTemplate中的WrapPanel扩展了列表宽度

我有一个像这样定义的列表框:

    <ListBox.ItemTemplate>
        <DataTemplate>
            <ItemsControl>
                <!-- Contents here -->
            </ItemsControl>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

我的问题是这个:这个列表包含在一个网格控件中,并且应该使用它所包含的那个单元格的所有可用空间,但它不应该强制父级分配更多空间.但是,一旦填充面板填满,而不是实际将项目包装到下一行(应该如此),它只会扩展列表框的宽度,并在此过程中强制父网格也调整大小.

如何让包装面板尊重其父级的大小,而不是强制它扩大其大小?

提前致谢!

编辑:还有一件事.我可以显式设置wrappanel的宽度以使其换行,但我希望wrappanel具有与列表框相同的大小.

size wpf wrappanel parent

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

kubectl - Retrieving the current/"new" replicaset for a deployment in json format

We're trying to build some simple automation to detect if a deployment has finished a rolling update or not, or if a rolling update has failed. The naive way (which we do today) is to simply get all the pods for the deployment, and wait until they're ready. We look at all the pods, and if one of the pods have restarted 3 or more times (since we started the update), we roll back the update. This works fine most …

kubernetes kubectl

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

Django ModelChoiceField使用来自一个模型属性的不同值

所以我正在开发一个django应用程序,我有一个模型事件.每个事件都有一些属性,比如其中一个是"hostname"(我将在整个过程中使用它作为例子).我需要实现搜索功能,用户可以搜索具有hostname == some_value的所有事件,例如hostname =="myhost.foo.bar".

现在,我希望允许用户在搜索表单的组合框中选择有效选项(即一个或多个事件中实际存在的主机名),因此我将ModelChoiceField用于我的表单.我的ModelChoiceView的子类,用于显示正确的标签:

class HostnameModelChoiceField(forms.ModelChoiceField):
def label_from_instance(self, obj):
    return obj.host.hostname
Run Code Online (Sandbox Code Playgroud)

我的表格:

class QueryForm(forms.Form):
    hostname = HostnameModelChoiceField(queryset=Event.objects.all(), required=False)
    ...
Run Code Online (Sandbox Code Playgroud)

但是,这会产生重复,因为许多事件可能具有相同的主机名.我尝试在查询集上使用"distinct()",但当然这不起作用,因为对象是不同的(即使显示的值不是).

所以,我试图只选择我需要的值:

class QueryForm(forms.Form):
    hostname = ModelChoiceField(queryset=Event.objects.all().values_list("hostname", "hostname").distinct(), required=False)
Run Code Online (Sandbox Code Playgroud)

但这不会验证!我怀疑因为值不是实际的Event实例而只是字符串值.

所以我尝试了一个常规的ChoiceField:

hostname = forms.ChoiceField(choices=Event.objects.all().values_list("hostname", "hostname").distinct(), required=False)
Run Code Online (Sandbox Code Playgroud)

这是有效的,但这个列表只填充一次,因此它与数据库不是最新的.

那么......有什么好方法可以解决这个问题吗?回顾一下这个问题:如何使用模型的某个字段中的不同值填充组合框,并使其与数据库保持同步?我认为如果我可以在使用.values(...)或.values_list(...)时进行验证,那么ModelChoiceField将是最好的选择.

真诚的,Hallgeir

django distinct choicefield

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

OpenID Connect:验证用户身份的正确方法 - ID 令牌还是访问令牌?刷新 ID 令牌?

在我们的 Web 应用程序 (ASP.NET) 中,我们使用 OpenID Connect 和授权代码流:

  1. 用户被重定向到身份提供者(例如 Azure AD),进行身份验证,
  2. 授权代码被发回我们的 Web 应用程序中的页面。
  3. 然后,我们的 Web 应用程序使用授权代码从身份服务器检索刷新令牌、id 令牌和访问令牌。这些作为 cookie 存储在客户端上(HttpOnly 标志设置为 true)。这是为了避免对服务器状态的依赖,以防用户被负载均衡器路由到不同的 Web 服务器。
  4. 当用户访问页面时,我们会验证 ID 令牌的签名和有效期,并根据应用程序中的用户数据库检查我们用于身份的声明(例如电子邮件地址或 UPN)。

这是有效的——除了我们无法刷新 ID 令牌,因此用户在 1 小时后超时,需要重新登录。根据 OpenID Connect 规范,当使用令牌端点刷新令牌时,并非所有 OpenID Connect 提供者都会提供新的 ID 令牌。

到目前为止我们看到的替代方案:

  1. 根本不要使用 ID 令牌。使用访问令牌查询用户声明的 UserInfo 端点,并将其缓存在服务器上(在缓存未命中时,例如,如果路由到不同的 Web 服务器 - 只需使用 cookie 中提供的访问令牌再次请求 UserInfo)。由于可以刷新访问令牌,这可能会正常工作。
    • 优点:我们得到一个正确刷新的令牌,由服务器验证。
    • 缺点:并非所有声明(例如 aud 和 iss)都由 UserInfo 端点提供,至少对于 Azure AD 而言。
  2. 不要验证 ID 令牌的到期时间,只要它不超过例如 12 小时。
    • 优点:简单,只需很少的努力就可以改变当前的行为。拥有我们今天也拥有的所有声明。
    • 缺点:可能存在安全风险?注释?

那么在较长时间内保留用户登录的推荐方法是什么?将访问令牌与 UserInfo 端点一起使用是合适的解决方案吗?

asp.net authentication openid-connect refresh-token

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