问题列表 - 第12304页

使用Python解析Gmail并将所有旧日期标记为"已读"

简而言之,我创建了一个新的Gmail帐户,并将其他几个帐户链接到每个帐户(每个帐户都有1000条消息),我正在导入.所有导入的邮件都是未读的,但我需要它们显示为已读.

我对python有一点经验,但我只使用mail和imaplib模块发送邮件,而不是处理帐户.

有没有办法批量处理收件箱中的所有项目,只需将早于指定日期的邮件标记为已读?

python email gmail pop3 imap

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

确定给定sql连接的协议

我正在尝试查看与sql 2008的给定连接使用的连接协议(无论是共享内存,命名管道还是tcp/ip)...我没有在sql活动监视器中看到此信息.我有什么地方可以看到这个吗?

sql-server

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

SOA服务设计/认证

我是SOA的新手,因此我在进行实验.

目前,给我带来最大问题的部分是身份验证,我目前对它的想法涉及以下内容:

客户端向身份验证/用户服务发送某种身份验证消息,此服务查询数据库,如果找到用户且密码有效,它将以会话ID响应,此ID将用于所有进一步的请求这个客户.

这似乎对我很好,但我不知道如何处理对其他服务的请求,我想到了三种不同的方法.

  1. 如果会话有效,则每个服务都会询问身份验证服务,如果有效,则询问用户所处的角色.身份验证服务在数据库中查找并相应地进行回复.

  2. 身份验证服务将所有会话信息保存在ram中,并在没有db往返请求的情况下响应.

  3. 身份验证服务向esb发送授权消息,esb将此授权消息转发给每个服务,这些服务将其缓存.不需要进一步请求身份验证服务.如果用户注销或他的角色发生变化,则会发送另一条消息并由所有服务进行处理.

我认为第一种方法对身份验证服务/ db造成了太大的压力,但是实现起来的工作量最小.

第二个仍然很容易实现,但对身份验证服务的压力几乎保持不变.

第三个实现起来有点复杂,但由于没有访问认证服务,因此会减少响应时间.但是,如果会话信息太多,这种方法就会失败,并且很难给出可扩展性.

authentication soa

8
推荐指数
1
解决办法
4299
查看次数

抑制XmlSerializer发出的空值类型

请考虑以下Amount值类型属性,该属性标记为可为空的XmlElement:

[XmlElement(IsNullable=true)] 
public double? Amount { get ; set ; }
Run Code Online (Sandbox Code Playgroud)

当可空值类型设置为null时,C#XmlSerializer结果如下所示:

<amount xsi:nil="true" />
Run Code Online (Sandbox Code Playgroud)

我希望XmlSerializer能够完全抑制元素,而不是发出这个元素.为什么?我们使用Authorize.NET进行在线支付,如果存在此null元素,Authorize.NET会拒绝该请求.

当前的解决方案/解决方法是根本不序列化Amount值类型属性.相反,我们创建了一个互补属性SerializableAmount,它基于Amount而是序列化的.由于SerializableAmount的类型为String,默认情况下,如果默认为null,则XmlSerializer会抑制类似引用类型的引用类型,一切都很有效.

/// <summary>
/// Gets or sets the amount.
/// </summary>
[XmlIgnore]
public double? Amount { get; set; }

/// <summary>
/// Gets or sets the amount for serialization purposes only.
/// This had to be done because setting value types to null 
/// does not prevent them from being included when a class 
/// is being serialized.  When a nullable value type is …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-serialization

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

当使用/不使用self时调用本地方法的方式不同.为什么?

我有User与之has_many关系的模型UserFilter.UserFilter与...有belongs关系User.

在User模型中,我有一个名为的方法 update_user_filters(filter_params_array)

这种方法user_filters像这样修改

def update_user_filters(filter_params_array)
  new_filters = []
  old_filter = user_filters 

  filters_params_array.each do |filter_params|
    if filter_params[:id].blank? #if the filter does not yet exist
      new_filters << UserFilter.new(filter_params)
    end
  end
  user_filters = new_filters
end
Run Code Online (Sandbox Code Playgroud)

user_filters会将其设置为预期值,但在保存时不会更新user_filters数据库中的值.

但是,如果我将分配更改为以下内容,则确实如此.有人可以解释为什么会这样吗?

self.user_filters = new_filters
Run Code Online (Sandbox Code Playgroud)

请注意,当我user_filters在模型中首次引用时,在db中执行select操作,因此我不确定此本地方法在使用self和不使用时的工作方式不同self

ruby ruby-on-rails

0
推荐指数
1
解决办法
199
查看次数

使用Linq选择前100条记录

如何使用Linq返回前100条记录?

我有一张有4000万条记录的桌子.

此代码有效,但速度很慢,因为将在过滤之前返回所有值:

var values = (from e in dataContext.table_sample
              where e.x == 1
              select e)
             .Take(100);
Run Code Online (Sandbox Code Playgroud)

有没有办法返回过滤?喜欢T-SQL TOP子句?

c# linq

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

大数据库的DB是什么?

我正在着手一个项目,在短期内可能会跨越数百万行,所以我正在研究我使用的数据库,因为这肯定会成为一个问题.从我所看到的,一旦你遇到一个表的2,000,000行问题,SQL就会出现问题.是否为这些大型项目推荐了一个好的数据库?

这是一个我正在讨论的网站,归档旧条目并不理想,但如果它被证明是一个我无法克服的问题就可以完成.

谢谢.

mysql sql database oracle

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

查找当前运行文件的路径

如何找到当前运行的Python脚本的完整路径?也就是说,我需要做些什么来实现这个目标:

$ pwd
/tmp
$ python baz.py
running from /tmp 
file is baz.py
Run Code Online (Sandbox Code Playgroud)

python

42
推荐指数
4
解决办法
7万
查看次数

使用Python列表作为队列的效率

一位同事最近编写了一个程序,其中他使用Python列表作为队列.换句话说,他.append(x)在需要插入物品时和.pop(0)需要移除物品时使用.

我知道Python有collections.deque,我正在试图弄清楚是否花费我(有限)的时间来重写这段代码来使用它.假设我们执行了数以百万计的追加和流行但从未有超过几千个条目,他的列表使用是否会成为一个问题?

特别是,Python列表实现使用的底层数组是否会无限增长,有数百万个点,即使列表只有一千个,或者Python最终会做一个realloc并释放一些内存?

python memory-leaks list

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

此客户端太旧,无法使用工作副本

我到谷歌的每个地方我得到了同样的答案,但这对我来说是错误的答案.最初我在我的服务器上为Windows安装了Subversion 1.5.6(我运行Windows Server 2008),并为项目创建了一个存储库.然后我在笔记本电脑上使用了Tortoise客户端版本1.6.X来更新项目.在我尝试使用post-commit钩子脚本(我在提交时更新wwwroot中的文件夹以反映网页上的更改)之前,一切都很糟糕.我收到一条消息,说"这个客户太旧了,无法使用工作副本'XXX'".

所以我在笔记本电脑上卸载了SVN客户端,并从服务器上删除了存储库.然后我从头开始在服务器上创建了一个新的存储库并安装了TortoiseSVN版本1.5.6,如果客户端版本与服务器上的Subversion相同,那么它们应该很好用.在我再次下载我的笔记本电脑上的存储库并重新安装我的钩子脚本后,我得到了相同的消息......

必须不断删除我的存储库并重新安装我的客户以寻找通过反复试验合作的存储库,这是非常艰苦和具有破坏性的.我认为如果TortoiseSVN和我的服务器Subversion都是1.5.6,为什么存储库会争论,我没有理由(并且可以在网上找不到).

有谁在那里可以提供一些见解,为什么我会得到这个消息?甚至有人可以让我知道我需要使用哪个版本的TortoiseSVN才能让我的服务器SVN 1.5.6不要抱怨.我的钩子脚本在我的服务器上的命令行工作,所以我知道这不是它的错.提前致谢.

svn tortoisesvn post-commit windows-server-2008

22
推荐指数
1
解决办法
7万
查看次数