小编Ran*_*ger的帖子

使用 google-api-ruby-client '0.9.pre3' 发送 gmail 消息

在 rails 4 应用程序中使用较新的 google-api-ruby-client 发送 gmail。

require 'google/apis/gmail_v1'

Gmail = Google::Apis::GmailV1

class MailService

  def initialize(params)
    @params = params
  end

  def call
    message = Gmail::Message.new
    service = Gmail::GmailService.new
    message.raw = (redacted)
    service.request_options.authorization = current_user.token.fresh_token
    result = service.send_user_message(current_user.email, message)
  end

end
Run Code Online (Sandbox Code Playgroud)

这是调用 API 的结果:

Sending HTTP post https://www.googleapis.com/gmail/v1/users/me/messages/send?
200
#<Hurley::Response POST https://www.googleapis.com/gmail/v1/users/me/messages/send == 200 (63 bytes) 858ms>
Success - #<Google::Apis::GmailV1::Message:0x007fc9cf9b52dd
 @id="15096369c05cdb1d",
 @thread_id="15096369c05cdb1d">
Run Code Online (Sandbox Code Playgroud)

原始消息从 API Explorer 发送没有问题,但是当从我的应用程序执行时,我的收件箱中收到一封退回电子邮件。在上面的示例中,编辑后的示例是一个有效的 RFC 2822 格式的 base-64 url​​ 安全字符串,而 fresh_token 代表当前用户的 oauth2 访问令牌。

查看退回的邮件

Bounce <nobody@gmail.com>
2:43 PM …
Run Code Online (Sandbox Code Playgroud)

ruby google-api-ruby-client gmail-api

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

iTerm2不渲染vim真彩色colorscheme

Vim (v 8.0.1283) 正在 iTerm2 (v 3.2.4) 中绘制 8 位颜色,尽管配置看起来是正确的。$TERM设置正确:

$ echo $TERM
xterm-256color
Run Code Online (Sandbox Code Playgroud)

这是我的相关部分~/.vimrc

set background=dark
set termguicolors
colorscheme deep-space
Run Code Online (Sandbox Code Playgroud)

该主题的存储库没有指向 vimrc 的任何进一步配置。更令人困惑的是,这些主题是从带有 vim-plug 的rafi/awesome-vim-colorschemes中提取的,其中许多主题都可以完美运行。文档说该插件需要真彩色(我假设是 256)。

我尝试过重新启动并获取 vimrc、三次检查拼写和环境变量、重新阅读配色方案的文档,但似乎无法弄清楚它的情况。我在这里缺少什么明显的东西吗?

vim vim-plugin iterm2

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

预写日志如何提高 Postgres 中的 IO 性能?

我一直在通读Postgres 手册的WAL 章节,但对这一章的一部分感到困惑:

使用 WAL 会显着减少磁盘写入次数,因为只需将日志文件刷新到磁盘以确保提交事务,而不是事务更改的每个数据文件。

与简单地写入表/索引数据本身相比,连续写入 WAL 的性能如何?

在我看来(暂时忘记了 WAL 的弹性优势)postgres 需要完成两个磁盘操作;首先 pg 需要在磁盘上提交 WAL,然后您仍然需要更改表数据以与 WAL 一致。我确信我误解了这其中的一个基本方面,但似乎在客户端事务和表数据的最终状态之间添加一个额外的步骤实际上并不能提高整体性能。提前致谢!

postgresql database-performance wal

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

Toolkit.UWP 更新到 V5.0 后,应用程序无法在 X64 中编译(但在 X86 中正确编译)

更新 Toolkit(和 Windows 10 SDK)后,应用程序无法在 X64 中编译(但在 X86 中正常工作)。以下是错误:

ILT0005: 'C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x64.microsoft.net.native.compiler\2.2.1\tools\x64\ilc\Tools\rhbind.exe @"C: \Users\pierr\source\repos\Mon Gestionnaire de Photos\Mon Gestionnaire de Photos\obj\x64\Debug\ilc\intermediate\rhbindargs.Mon Gestionnaire de Photos.rsp"' 返回退出代码 7

RHBIND:错误 RHB0007:无法加载输入文件“Microsoft.Toolkit.Uwp.UI.srclink”。

64-bit compilation windows-community-toolkit

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

如何解释 Postgresqlrank() 关系

我有一个teams包含 30 行的表,并且有一些作为属性存储的统计信息。例如,目标、反对目标等,我创建了一个使用rank() 的视图,并且很好地对记录进行排名。这是一个删节的查询示例和结果表:

SELECT name,
   points, 
   rank() OVER (ORDER BY points DESC) AS point_tank
FROM teams;


         name          | points    | point_rank
-----------------------+-----------+----------------
 Team 1                |        14 |              1
 Team 2                |        11 |              2
 Team 3                |         9 |              3
 Team 4                |         9 |              3
Run Code Online (Sandbox Code Playgroud)

我想添加一个附加列,该列将根据排名是否平局返回布尔值。例如本例中的团队 3 和团队 4。它可能看起来像这样:

         name          | points    | point_rank     | tie
-----------------------+-----------+----------------+----------------
 Team 1                |        14 |              1 |          false
 Team 2                |        11 |              2 |          false
 Team 3                | …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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