小编Way*_*rts的帖子

PostgreSQL - 如何从事务块外的代码运行VACUUM?

我正在使用带有psycopg2的Python,并且我试图VACUUM在每日操作后运行一个完整的插入数千行.问题是,当我尝试VACUUM在我的代码中运行命令时,我收到以下错误:

psycopg2.InternalError: VACUUM cannot run inside a transaction block
Run Code Online (Sandbox Code Playgroud)

如何从事务块外部的代码运行它?

如果它有所不同,我有一个简单的DB抽象类,下面显示了一个子集用于上下文(不是runnable,省略了异常处理和docstrings以及进行了行跨越调整):

class db(object):
    def __init__(dbname, host, port, user, password):
        self.conn = psycopg2.connect("dbname=%s host=%s port=%s \
                                      user=%s password=%s" \
                                      % (dbname, host, port, user, password))

        self.cursor = self.conn.cursor()

    def _doQuery(self, query):
        self.cursor.execute(query)
        self.conn.commit()

    def vacuum(self):
        query = "VACUUM FULL"
        self._doQuery(query)
Run Code Online (Sandbox Code Playgroud)

python sql postgresql psycopg2 vacuum

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

SQL查询参数化如何工作?

我觉得这有点傻,因为我似乎是世界上唯一一个没有得到它的人,但无论如何都要去.我将以Python为例.当我使用原始SQL查询(我通常使用ORM)时,我使用参数化,就像使用SQLite的这个例子一样:

方法A:

username = "wayne"
query_params = (username)
cursor.execute("SELECT * FROM mytable WHERE user=?", query_params)
Run Code Online (Sandbox Code Playgroud)

我知道这有效,我知道这是一般推荐的方法.一个SQL注入易受影响的方法来做同样的事情将是这样的:

方法B:

username = "wayne"
cursor.execute("SELECT * FROM mytable WHERE user='%s'" % username)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以告诉我理解SQL注入,正如本维基百科文章中所解释的那样.我的问题很简单:方法A与方法B有什么不同?为什么方法A的最终结果与方法B不同?我假设该cursor.execute()方法(Python的DB-API规范的一部分)负责正确转义和输入类型检查,但这在任何地方都没有明确说明.在这种情况下,这就是所有参数化吗?对我来说,当我们说"参数化"时,所有这些都意味着"字符串替换",如%-formatting.这是不正确的?

sql security sql-injection

33
推荐指数
1
解决办法
4871
查看次数

用于CRUD的NHaml T4模板?

我想询问是否有人或已经看过NHAMl的T4模板与MVC 2.0的默认T4 CRUD(列表,创建等)模板相同?

c# asp.net-mvc t4 nhaml asp.net-mvc-2

26
推荐指数
1
解决办法
1534
查看次数

如何在Safari中进行WebKit 3D变换后强制重新渲染

我正在使用CSS 3D转换来缩放div,例如:

-webkit-transform: scale3d(2,2,1);
Run Code Online (Sandbox Code Playgroud)

缩放本身在任何WebKit浏览器中都能正常工作.但是,在Safari(移动设备或Windows)上使用此功能时,不会重新呈现div的内容.结果是缩放后内容变得模糊.

仅在使用3D变换时才会出现此效果.使用时一切正常

-webkit-transform: scale(2);.

为了在iPhone/iPad上利用硬件加速,使用3D转换会很不错.

有人知道怎么告诉Safari用新的比例重新渲染div吗?

css safari webkit transform scale

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

在Windows上构建64位C Python扩展

我问这个问题是因为我需要构建一个特定的模块(aspell_python,http://wm.ite.pl/proj/aspell-python/ )来处理在Windows 7上运行的64位Python 2.6(64当然是机器).我也一直想知道如何使用C代码加速某些功能,所以我希望将来为Python创建自己的外部C模块.

谁能告诉我在C中成功构建64位Python扩展所需的步骤?我知道Python,我知道C,但我不了解Visual Studio或Windows特定的开发人员问题.我尝试使用Visual Studio 2008(这是此处唯一可用的商业产品)遵循Python网站(http://docs.python.org/extending/windows.html#building-on-windows)上的官方指南,但即使是最基本的例子也无法建立.

c python 64-bit

23
推荐指数
1
解决办法
6392
查看次数

是否有任何研究支持或反对频繁更改密码?

我正在寻找关于频繁更改密码的安全性影响的研究,查看每一个或两个月或类似的强制密码更改所带来的安全性好处/问题.

有谁知道吗?

security passwords

18
推荐指数
2
解决办法
5570
查看次数

以编程方式重新启动Node.js服务器

如何从代码重启Node.js服务器?例如,如果使用expressjs框架,

app.get('/restart', function (req, res, next) {
//Code to restart a server
})
Run Code Online (Sandbox Code Playgroud)

我想从这样的应用程序重启服务器,而不去控制台等.怎么做?

node.js

18
推荐指数
1
解决办法
7490
查看次数

正则表达式语法在POSIX和PCRE之间发生变化

我们目前正在升级我们的Varnish Cache服务器.作为该过程的一部分,我们仅升级其中一个,以查看它与旧版本相比的行为方式.

在这个新版本中进行的一些主要更改是将正则表达式引擎从POSIX更改为PCRE.这意味着我们的一些清除(正则表达式清除)已停止在较新的服务器上工作.

我想知道是否有人可以列出/指出POSIX和PCRE之间的实际语法差异列表.或者也许是将POSIX正则表达式转换为PCRE正则表达式的函数.

这样我只能转换到新服务器的清除 - 而不会影响系统中为其他服务器实现的当前正则表达式语法.

regex caching pcre posix varnish

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

Winforms - 可视化删除按钮单击事件

.NET新手提醒

使用Visual C#2008 Express Edition我不小心为按钮创建了一个单击事件.然后我删除了自动创建的方法代码,这导致了一个错误,表示现在已经在表单加载代码中引用的函数无法再找到.

Form1.Designer.cs文件的InitializeComponent()功能中删除以下行...

this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);
Run Code Online (Sandbox Code Playgroud)

...似乎可以做到这一点,但是,由于#region开头的以下警告,它让我觉得非常脏:

/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
Run Code Online (Sandbox Code Playgroud)

我无法使用表单设计器找到一种方法来执行此操作,我认为这是此警告隐含的方法.这样做的正确方法是什么?

c# events visual-studio-express winforms

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

HAML-茉莉花装置

是否可以将haml-fixtures与jasmine-jquery结合使用?

我不是很满意必须创建很多静态html-fixture,因为我的所有视图都是用haml编写的.因此,我不仅需要创建大量重复的代码,而且还必须将(已经重复的)代码重写为HTML.双重痛苦.

有什么建议?最佳做法?到目前为止,有人使用过jasmine-jquery和fixtures吗?

jquery haml ruby-on-rails jasmine

16
推荐指数
1
解决办法
1365
查看次数