我一直在使用python和RDBMS'(MySQL和PostgreSQL),我注意到我真的不明白如何使用游标.
通常,他的脚本通过客户端DB-API(如psycopg2或MySQLdb)连接到数据库:
connection = psycopg2.connect(host='otherhost', etc)
Run Code Online (Sandbox Code Playgroud)
然后创建一个游标:
cursor = connection.cursor()
Run Code Online (Sandbox Code Playgroud)
然后可以发出查询和命令:
cursor.execute("SELECT * FROM etc")
Run Code Online (Sandbox Code Playgroud)
现在查询的结果在哪里,我想知道?它在服务器上?还是我的客户端上的一点点,我的服务器上的一点点?然后,如果我们需要访问某些结果,我们会获取它们:
rows = cursor.fetchone()
Run Code Online (Sandbox Code Playgroud)
要么
rows = cursor.fetchmany()
Run Code Online (Sandbox Code Playgroud)
现在让我们说,我不检索所有行,并决定执行另一个查询,以前的结果会发生什么?是他们的开销.
此外,我应该为每种形式的命令创建一个游标,并以某种方式不断地将它重用于那些相同的命令; 我头psycopg2可以某种方式优化多次执行但具有不同值的命令,它是如何值得的?
谢谢
是否可以将.ashx文件设置为Web应用程序的起始(或默认)页面?如果是这样,它是如何完成的?
编辑 - 一些很好的建议.我已将"Default.ashx"添加到IIS默认文档和网站上的"启用默认文档",但是,它只显示目录列表,即使我已禁用目录浏览.
任何其他建议将不胜感激.(IIS版本5.1)
编辑 - 重新启动IIS,它的工作原理.
问题 - 我是否也可以询问是否可以从Visual Studio 2005中将起始页面设置为.ashx?在执行此操作后,我似乎无法在Visual Studio中进行调试.
答案 - 在应用程序属性中,可以在"Web"选项卡下选择"开始操作".实际上,它还允许选择使用哪个服务器/端口和调试器.很酷.
背景:
我正在为REST Web服务设计身份验证方案.这并非"真正"需要安全(它更像是一个个人项目),但我希望尽可能安全地将其作为锻炼/学习体验.我不想使用SSL,因为我不想要麻烦,而且主要是设置它的费用.
这些SO问题对我开始特别有用:
我正在考虑使用简化版的Amazon S3身份验证(我喜欢OAuth,但它似乎对我的需求来说太复杂了).我正在为请求添加由服务器提供的随机生成的nonce,以防止重放攻击.
要回答这个问题:
S3和OAuth都依赖于对请求URL进行签名以及一些选定的标头.他们都没有签署 POST或PUT请求的请求体.这是不是容易受到中间人攻击,它会保留url和header并用攻击者想要的任何数据替换请求体?
看起来我可以通过在被签名的字符串中包含请求主体的哈希来防止这种情况.这样安全吗?
我正在使用jQuery和fadeIn&fadeOut效果.我有以下代码显示和隐藏带有消息的div.
`
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$("#upd").fadeIn(3000);
$("#upd").fadeOut(20000);
});
});
</script>
<style type="text/css">
div
{
background: rgb(237, 243, 254);
margin: 0px 0px 5px 0px;
padding: 13px 30px 13px 30px;
width: 300px;
}
</style>
Run Code Online (Sandbox Code Playgroud)
`
它在Internet Explorer上完美运行,但它在chrome中没有做任何事情,我在firefox中显示和隐藏行为.
这个库是否有一个特殊的步骤可以在所有浏览器中均匀地或至少接近地工作?
我可以找到各种关于如何为DCOM编程的东西,但实际上没有关于如何以编程方式设置/检查安全性的内容.
我不是要重新创建dcomcnfg,但如果我知道如何在C#(首选或VB.net)中重现dcomcnfg的所有功能,那么我的目标就在眼前.
我似乎无法在此找到任何好的资源,没有开源API或甚至是如何执行每个步骤的快速示例.即使在这里,DCOM或dcomcnfg也没有返回任何结果,也没有关于如何设置/验证/列出安全性的结果.
如果有人对开放API或某些示例有一些指示,我将不胜感激.
我开始研究一个相当复杂的软件.这是一个个人项目,但我仍然付出了很多努力.现在,我习惯于处理其他人的解决方案/设计或者以非常可控的方式发展的项目.
这一次,我开始两次编写基础知识,我很快发现自己陷入困境.所以我休息了一下,决定在编写单行之前写下完整的解决方案.我所做的(按顺序)是:
现在,我整个部分都会变得很慢.我已经建立了一个个人维基,我用它来编写这些规范,但我清楚地感觉到我缺乏经验和明确的方法论.
我知道软件设计是一个非常复杂的主题,并且已经写了很多关于它的书籍,但我希望你能分享你的经验/建议/方法.
在处理个人中型项目时,您在开始编码之前指定了什么?怎么样?
提前致谢
我正在使用Active Merchant和PayPal沙箱创建商店.它似乎工作正常,但我不认为它甚至是远程安全的.我真的不太了解HTTPS以及如何实现安全连接.
我目前正在通过会话中的信用卡和账单信息(可能不是最聪明的想法).我目前的代码发布在下面.我真的需要帮助我们采取什么方向和步骤,以使这个安全,可用的商店.
def payment
session[:billing_address] = params[:billing_address]
end
def summary
@credit_card = params[:credit_card]
session[:credit_card] = params[:credit_card]
@billing_address = session[:billing_address]
@cart = get_cart
@purchases = @cart.purchases
@total = @cart.total
end
def finish
@cart = get_cart
@total = @cart.total
credit_card = ActiveMerchant::Billing::CreditCard.new( session[:credit_card] )
billing_address = session[:billing_address]
flash[:notice] = credit_card.errors and return unless credit_card.valid?
gateway = ActiveMerchant::Billing::PaypalGateway.new(:login=>$PAYPAL_LOGIN, :password=>$PAYPAL_PASSWORD)
res = gateway.authorize(@total, credit_card, :ip=>request.remote_ip, :billing_address=>billing_address)
if res.success?
gateway.capture(@total, res.authorization)
flash[:notice] = "Authorized"
else
flash[:notice] = "Failure: " + res.message.to_s
end
end
Run Code Online (Sandbox Code Playgroud) 我对正则表达式(c#)感到绝望,所以我希望得到一些帮助:
基本上我需要解析一个文本,我需要在文本中找到以下信息:
示例文本:
KeywordB:***TextToFind* 其余不相关,但 **KeywordB: Text ToFindB然后是更多文本。
我需要在某个可能以“:”结尾的关键字之后找到单词。
[更新]
谢谢 Andrew 和 Alan:很抱歉重新打开这个问题,但该正则表达式中缺少一件非常重要的事情。正如我在上一条评论中所写的那样,是否可以将变量(要查找多少个单词,取决于关键字)作为正则表达式的一部分?
或者:我可以为每个关键字使用不同的正则表达式(只会满手)。但仍然不知道如何在正则表达式中保持“要查找的词”常量
我正试图找到一种方法来确定我脚本中两个字符串之间的区别.我可以通过diff或comm轻松地做到这一点,但我不处理文件,我不想将它们输出到文件,进行比较并将其读回.
我看到comm,diff,cmp都允许传递两个文件或文件和标准输入 - 我想如果我不想输出两个文件那就好......但它仍然有点糟糕.
一直在思考我可以使用grep或正则表达式 - 但我猜不是.
我有模型Foo有字段栏.bar字段应该是唯一的,但允许空值,这意味着如果bar字段是null,我想允许多个记录,但如果不是,null则值必须是唯一的.
这是我的模型:
class Foo(models.Model):
name = models.CharField(max_length=40)
bar = models.CharField(max_length=40, unique=True, blank=True, null=True, default=None)
Run Code Online (Sandbox Code Playgroud)
这是表的相应SQL:
CREATE TABLE appl_foo
(
id serial NOT NULL,
"name" character varying(40) NOT NULL,
bar character varying(40),
CONSTRAINT appl_foo_pkey PRIMARY KEY (id),
CONSTRAINT appl_foo_bar_key UNIQUE (bar)
)
Run Code Online (Sandbox Code Playgroud)
当使用管理界面创建多个bar为空的foo对象时,它会给出一个错误:"Foo with this Bar已经存在."
但是当我插入数据库(PostgreSQL)时:
insert into appl_foo ("name", bar) values ('test1', null)
insert into appl_foo ("name", bar) values ('test2', null)
Run Code Online (Sandbox Code Playgroud)
这很好用,它允许我插入超过1条记录,条形为空,所以数据库允许我做我想要的,这只是Django模型的错误.有任何想法吗?
编辑
就DB而言,解决方案的可移植性不是问题,我们对Postgres感到满意.我已经尝试设置一个可调用的唯一,这是我的函数返回True/False为特定的bar值,它没有给出任何错误,但是如果它没有任何影响那么缝合.
到目前为止,我已经从bar属性中删除了唯一的说明符并处理了应用程序中的bar唯一性,但仍然在寻找更优雅的解决方案.有什么建议?