小编dav*_*gan的帖子

在一个处理程序中处理所有事件?

在VB.NET中是否可以轻松编写一个事件处理程序来处理每个触发的事件?我想知道是否可以使用这样的东西制作日志记录系统.

我想做一些像(在伪代码中)的东西:

Public Sub eventHandledEvent(ByVal sender As Object, ByVal e As EventArgs)
    File.Write(sender.EventName)
End Sub
Run Code Online (Sandbox Code Playgroud)

我意识到它会很慢,但它不适用于生产系统,只能作为开发工具.

vb.net events event-handling

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

如何在 Vim 正常模式下交换键,而不仅仅是重新映射它们?

我使用 Dvorak,所以我的 .vimrc 中有以下内容:

no t j
no n k
no s l
no l n
no j t
no k s
Run Code Online (Sandbox Code Playgroud)

它将方向键映射回主行的右侧。

这通常工作得很好,除了在插件中。例如,我无法在 NERDTree 插件中使用向上和向下导航,因为它会产生其他效果。

有没有办法让我不只是简单地重新映射按键,而是告诉 Vim 在正常模式下考虑将按 t 转换为按 j,无论上下文或插件如何?

我似乎隐约记得有一个 vim 命令可以将一个键别名为另一个键,但我找不到它。

vim key-bindings

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

如果我使用Flask接收发布数据,将该数据放入WTForms表单并成功验证,是否可以免受SQL注入攻击?

我正在为我的应用程序使用Flask,WTForms和OurSQL MySQL库.我从request.form变量收到帖子数据.我把它放到WTForms表单对象中.我调用validate()该表单,然后使用OurSQL将表单数据插入MySQL数据库.

没有做任何额外的处理,我是否可以安全地从SQL注入?WTForms validate方法是否可以逃脱?如果没有,我该怎么做才能逃避数据?我正在做的一个例子如下:

form = MyWTFFormsForm(request.form)
if form.validate():
    cursor.execute("INSERT INTO mytable VALUES (?, ?, ?, ?, ?);",
            (form.field1.data, form.field2.data, form.field3.data,
             form.field4.data,
             form.field5.data))
Run Code Online (Sandbox Code Playgroud)

python mysql sql-injection flask wtforms

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

如何从文件中所有引用的文本中删除换行符?

我已从数据库导出CSV文件.某些字段是较长的文本块,可以包含换行符.从该文件中仅删除双引号内的换行符,但保留所有其他换行符的最简单方法是什么?

我不在乎它是否使用Bash命令行一个衬垫或简单的脚本,只要它工作.

例如,

"Value1", "Value2", "This is a longer piece
    of text with
    newlines in it.", "Value3"
"Value4", "Value5", "Another value", "value6"
Run Code Online (Sandbox Code Playgroud)

应删除较长文本内部的换行符,但不删除分隔两行的换行符.

python csv bash command-line text-processing

4
推荐指数
2
解决办法
3108
查看次数

如何以编程方式仅从Python字符串和没有临时文件创建嵌套目录和文件的tar存档?

我想用Python创建一个带有分层目录结构的tar存档,使用字符串作为文件内容.我已经阅读了这个问题,它显示了一种将字符串添加为文件的方法,但不是作为目录.如何在不实际制作目录的情况下动态添加目录到tar存档?

就像是:

archive.tgz:
    file1.txt
    file2.txt
    dir1/
        file3.txt
        dir2/
            file4.txt
Run Code Online (Sandbox Code Playgroud)

python file tar in-memory

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

为什么我的Amazon S3密钥权限不坚持?

我正在使用Python库boto连接到Amazon S3并为静态网站创建存储桶和密钥.我的键和值是动态生成的,因此我以编程方式而不是通过Web界面(它使用Web界面工作)进行此操作.我的代码目前看起来像这样:

import boto
from boto.s3.connection import S3Connection
from boto.s3.key import Key

conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.create_bucket(BUCKET_NAME)
bucket.configure_website('index.html', 'error.html')
bucket.set_acl('public-read')

for template in ['index.html', 'contact-us.html', 'cart.html', 'checkout.html']:
    k = Key(bucket)
    k.key = key
    k.set_acl('public-read')
    k.set_metadata('Content-Type', 'text/html')
    k.set_contents_from_string(get_page_contents(template))
Run Code Online (Sandbox Code Playgroud)

我遇到了这个代码的各种错误和问题.当密钥已经存在并且我使用此代码更新它们时,我会将每个密钥的ACL设置为public-read,但在浏览器中查看文件时,我仍然会收到403个禁止错误.

我尝试删除所有密钥以从头开始重新创建它们,现在我得到了一个NoSuchKey例外.显然关键不在那里,因为我正在努力创造它.

我是以错误的方式来做这件事的吗?有没有不同的方法来创建密钥而不是更新密钥?当权限不坚持时,我是否遇到某种竞争条件?

python django acl amazon-s3 boto

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

我可以预编译haxelib库,以便每次构建项目时都不会重新编译吗?

我正在与Haxe和NME建立一个游戏.我的代码很快编译,但后来我用haxelib添加了Nape物理引擎,现在我的编译时间增加了很多.

我的猜测是Nape库每次都被重新编译,因为看起来输出是一个单独的swf文件,删除库会缩短编译时间.

是否有可能编译一次Nape而不必每次构建时都重新编译它?Neko目标的解决方案是否不同?

optimization haxe compilation haxelib

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

访问 EditedFormattedValue 时 Datagridview 单元格变黑?

我有一个使用 datagridview 的 winforms 应用程序。当我在编辑模式下访问单元格的 EditedFormattedValue 时,有时整个单元格会变黑。这是 datagridview 的功能吗,也许是我需要关闭的某种验证功能?

我在谷歌搜索时发现了一些其他提到这个问题的地方。似乎没有一个线程知道答案是什么:

这里不调用Application.DoEvents解决了问题,但我没有调用DoEvents。
http://www.tek-tips.com/viewthread.cfm?qid=1277303&page=1

http://social.msdn.microsoft.com/Forums/en/winformsdatacontrols/thread/d9bf784d-617d-4a35-8125-fe8f67987fa2
这里没有人知道为什么会发生这种情况,但响应者建议将背景颜色设置为白色。这看起来像是黑客行为,我想知道为什么会发生这种情况。另外,更改背景颜色并不会删除我的黑色背景。

添加者: 巴洛普

在此输入图像描述

请注意,还有另一个原因,但由于此处的标题是editedformattedvalue,因此我将首先注意此示例。

涉及 EditedFormattedValue 作为原因的示例。

(当您双击单元格(从而进入编辑模式)时,它会变黑)

namespace simpleblackdgv2
{
    public partial class Form1 : Form
    {
        DataGridView dataGridView1 = new DataGridView();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            // BUG IS THAT WHEN YOU DOUBLE CLICK A CELL, IT GOES BLACK


            dataGridView1.Columns.Add("Column1", "Column1");

            dataGridView1.Rows.Add(1);

            dataGridView1.AllowUserToAddRows = false;


            this.Controls.Add(dataGridView1);


            dataGridView1.EditingControlShowing += DataGridView1_EditingControlShowing;

        }

        private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {

            // …
Run Code Online (Sandbox Code Playgroud)

vb.net datagridview winforms

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

Django在远程运行时内置测试服务器有多危险?

关于使用该manage.py runserver命令启动的内置调试服务器,Django文档声明"不要在任何类似生产环境的地方使用此服务器".

如果我想在远程机器上通过ssh开发Django应用程序,那么使用Nginx作为运行Django调试服务器的代理是合理的事情吗?Django调试服务器是不安全的,还是不是为了处理大量流量而构建的?

security django nginx

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

在哪里初始化Django会话变量?

在我的Django项目中,我正在建立一个购物车系统.我想将购物车数据存储在会话变量中,但我不知道在哪里初始化它.

我尝试过这样的事情:

if 'cart' not in request.session:
    request.session['cart'] = {}
Run Code Online (Sandbox Code Playgroud)

在自定义上下文处理器中,但上下文处理器似乎不会修改会话数据.我还能在哪里进行这样的初始化?我不想把它放在我从购物车中获取价值的每个地方.

python django session

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