小编Pau*_*aul的帖子

烧杯作为会话中间件

我正在使用bottle.py编写应用程序,并且beaker.middleware.SessionMiddleware:

如何修改session.timeoutsession.cookie_expires值以便我可以实现一个登录系统,将用户登录30天?

我已经实现了标准的登录系统,所以一切正常,直到浏览器关闭,但是如果用户选中" 记住我"复选框,我想修改这些值.

如果用户选中" 记住我"复选框,我想到了两个变体:

  • 设置session.cookie_expiressession.timeout30天,但似乎因为我收到了Cookie到期的浏览器会话结束时,无视我的运行时修改,我不能在运行时修改这些值.

  • 设置session.timeout为30天并覆盖名为beaker.session.id写入相同会话ID但不同的到期日期的cookie .但是从第1点开始的运行时问题仍然存在,似乎我无法访问我刚用烧杯创建的会话ID,所以我不知道在cookie中存储什么.

我该如何实现呢?

python beaker bottle

5
推荐指数
0
解决办法
1634
查看次数

使用mod_wsgi部署烧瓶应用程序

我正在尝试将我的一个Flask应用程序部署到apache上的mod_wsgi,但我遇到了麻烦,因为apache试图解决文件系统上的一些路由:

apache的error_log:

[Mon Aug 06 19:18:38 2012] [error] [client ::1] File does not exist: 
/srv/http/webchat/src/_publish_message, referer: http://localhost:88/webchat/chat
Run Code Online (Sandbox Code Playgroud)

我说的是"一些路由",因为身份验证(在"/"上)和重定向到"/ chat"有效.

路径"_publish_message"可以通过这样的AJAX访问(使用jQuery):

function publish_message(e){
    e.preventDefault();
    $.post('/_publish_message', {'message': "user's message taken from a text field"})
        .fail(Handler.publish_error);
}
Run Code Online (Sandbox Code Playgroud)

路径"_sse_stream"用作EventSource的URL.

这两个都不行!

虚拟主机配置:

<VirtualHost *:88>
    ServerName webchat.dev

    WSGIDaemonProcess webchat user=http group=http threads=5
    WSGIScriptAlias /webchat /srv/http/webchat/src/webchat.wsgi
    WSGIScriptReloading On

    DocumentRoot /srv/http/webchat/src

    <Directory /srv/http/webchat/src>
        WSGIProcessGroup webchat
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

webchat.wsgi文件中:

import sys
sys.path.insert(0, '/srv/http/webchat/src')
from index import app as application
Run Code Online (Sandbox Code Playgroud)

部署一个基本的"hello …

python apache mod-wsgi web-deployment flask

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

构建现有JS代码的框架

我有一些我为开源应用程序编写的程序性javascript代码,我想将它重构为OOP,因为我对javascript框架的经验很少,所以我很难找到一个适合我需求的代码,尽管我没有我还没试过任何东西,我刚刚读到了AngularJS,Backbone.js和Knockout.

我想构建代码,因为,目前,有一堆乱七八糟的全局变量和函数.

我必须提到所有业务逻辑都在服务器级别处理,因此客户端代码使用它接收的数据或来自服务器的请求来处理UI.

代码可以在这里找到:https: //github.com/paullik/webchat/blob/asp.net/webchat/Static/Js/chat.js

你有什么建议吗?

javascript oop refactoring frameworks

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

AddOrUpdate时锁定ConcurrentDictionary?

我使用a ConcurrentDictioanry<string, HashSet<string>>来访问许多线程中的一些数据.

我在本文中读到(向下滚动)该方法AddOrUpdate未在锁中执行,因此可能危及线程安全.

我的代码如下:

//keys and bar are not the concern here
ConcurrentDictioanry<string, HashSet<string>> foo = new ...;
foreach(var key in keys) {
    foo.AddOrUpdate(key, new HashSet<string> { bar }, (key, val) => {
        val.Add(bar);
        return val;
    });
}
Run Code Online (Sandbox Code Playgroud)

为了确保一切都是线程安全的,我应该将声明括AddOrUpdatelock声明中吗?

.net c# thread-safety concurrentdictionary

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

根据鼠标拖动方向和模型中的位置旋转模型组

Viewport3D在WPF中添加了几个立方体,现在我想用鼠标操作它们的组.

初始立方体

当我点击并拖动这些立方体中的一半时,我希望孔平面在拖动方向上旋转,旋转将被处理,RotateTransform3D因此它不会成为问题.

问题是我不知道应该如何处理阻力,更确切地说:我如何知道立方体的哪些面被拖过以确定要旋转的平面?

例如,在下面的情况下,我想知道我需要顺时针旋转立方体的右平面,因此蓝色面的行将位于顶部,而不是位于背面的白色面.

第二个立方体

在此示例中,顶层应逆时针旋转90度: 第三个立方体

目前我的想法是在立方体上放置某种不可见的区域,以检查拖动发生在哪一个VisualTreeHelper.HitTest,然后确定我应该旋转哪个平面,该区域将匹配第一个拖动示例:

在此输入图像描述

但是当我添加所有四个区域时,我又回到原点,因为我仍然需要根据哪些区域"触摸"确定方向和旋转面.

我愿意接受各种想法.

请注意,这个立方体可以自由移动,因此当用户点击和拖动时它可能不在初始位置,这最让我困扰的是.

PS:拖动将的组合来实现MouseLeftButtonDown,MouseMoveMouseLeftButtonUp.

c# 3d wpf graphics

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

如果PREARY KEY由FOREIGN KEY引用,则MySQL REPLACE的行为与UPDATE不同

我有两张桌子:

CREATE TABLE `category` (
  `category_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` mediumint(8) unsigned NOT NULL,
  `name` varchar(20) CHARACTER SET ascii NOT NULL,
  `description` varchar(100) DEFAULT NULL,
  `repeat_interval` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `color` mediumint(8) unsigned NOT NULL,
  PRIMARY KEY (`category_id`),
  KEY `id` (`user_id`),
  CONSTRAINT `category_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON  DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `event` (
  `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `category_id` int(10) unsigned NOT NULL,
  `name` varchar(20) CHARACTER SET ascii …
Run Code Online (Sandbox Code Playgroud)

mysql replace

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

如何在SciPy中创建对角稀疏矩阵

我正在尝试创建一个稀疏矩阵,其中2D图案沿着对角线向下延伸.用一个简单的例子来解释这可能是最容易的.

说我的模式是:[1,0,2,0,1] ......

我想创建一个稀疏矩阵:

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

scipy.sparse.dia_matrix似乎是一个很好的候选者,但是,我根本无法弄清楚如何从可用的文档中完成我想要的东西.先感谢您

python numpy scipy sparse-matrix diagonal

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

用于插入数据的最快数据结构,而不是用于搜索

任何人都可以告诉我哪个是插入数据的最快数据结构.我的要求是加载人名,然后以超快的速度检索它们.不存在排序,搜索特定名称等,甚至是内存的问题,因为总人数可能不超过20个.单个要求是加载人员并在稍后阶段检索名称.有谁有想法吗?

c++ data-structures

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

JAXB 将绑定应用于多个 .xsd 模式

我有几个我无法控制的 XML 模式,并且我想在通过 XJC 生成 Java 类时应用某些自定义。

一些自定义应该适用于所有.xsd文件,但我不确定如何实现这一点。

目前我有这个.xjb文件:

<jxb:bindings version="2.1" 
  xmlns:jxb="http://java.sun.com/xml/ns/jaxb" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
  jxb:extensionBindingPrefixes="inheritance">

    <jxb:bindings schemaLocation="../schemas/A.xsd">
         <jxb:schemaBindings>
            <jxb:package name="my.foo.a" />
        </jxb:schemaBindings> 

        <jxb:bindings node="//xs:complexType[@name='A']">
            <jxb:class name="A" />
            <inheritance:implements>my.foo.interfaces.IA</inheritance:implements>           
         </jxb:bindings>

         <jxb:bindings node="//xs:complexType[@name='Device']">
            <jxb:class name="Device" />
            <inheritance:implements>my.foo.interfaces.IDevice</inheritance:implements>          
         </jxb:bindings>             
    </jxb:bindings>

    <jxb:bindings schemaLocation="../schemas/B.xsd">        
        <jxb:schemaBindings>
            <jxb:package name="my.foo.b" />
        </jxb:schemaBindings>

        <jxb:bindings node="//xs:complexType[@name='B']">
            <jxb:class name="B" />
            <inheritance:implements>my.foo.interfaces.IB</inheritance:implements>       
         </jxb:bindings>

        <jxb:bindings node="//xs:complexType[@name='Device']">
            <jxb:class name="Device" />
            <inheritance:implements>my.foo.interfaces.IDevice</inheritance:implements>          
         </jxb:bindings>             
    </jxb:bindings>      
</jxb:bindings>
Run Code Online (Sandbox Code Playgroud)

这个 Ant 任务:

<taskdef name="xjc" classname="org.jvnet.jaxb2_commons.xjc.XJC2Task">
    <classpath>
        <fileset dir="../../dependencies/lib" >
            <include name="activation-*.jar"/>
            <include name="jaxb-api-*.jar"/>
            <include name="jaxb-impl-*.jar"/> …
Run Code Online (Sandbox Code Playgroud)

java jaxb xjc jaxb2 jaxb2-basics

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

使用valgrind在strstr()中读取大小1无效

我正在用valgrind检查一些代码,我得到了这个错误:

==7001== Invalid read of size 1
==7001==    at 0x402E21B: strstr (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==7001==    by 0x8049742: replace_in_file (functions.c:191)
==7001==    by 0x8049C55: parse_dir (functions.c:295)
==7001==    by 0x8049059: main (main.c:214)
==7001==  Address 0x42018c3 is 0 bytes after a block of size 3 alloc'd
==7001==    at 0x402B018: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==7001==    by 0x80496EC: replace_in_file (functions.c:183)
==7001==    by 0x8049C55: parse_dir (functions.c:295)
==7001==    by 0x8049059: main (main.c:214)
Run Code Online (Sandbox Code Playgroud)

代码段如下所示:

long int replace_in_file(char **sets, FILE *file, char *path, const char *mode){
    long int n = 0, size …
Run Code Online (Sandbox Code Playgroud)

c valgrind strstr

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