小编Joh*_*ith的帖子

处理用户发送的"字符串包含空字节"

我有一个API控制器,它接收有关媒体文件的路径和id3标签的信息,并使用PostgreSQL/Rails将它们保存到Active Record实例.

但有时用户会发送字符串,例如:

"genre"=>"Hip-Hop\u0000Hip-Hop/Rap"
Run Code Online (Sandbox Code Playgroud)

和Rails/Postgres在尝试坚持时并不完全满意save:

An ArgumentError occurred in internals#receive:

 string contains null byte
 activerecord (3.2.21) lib/active_record/connection_adapters/postgresql_adapter.rb:1172:in `send_query_prepared'
Run Code Online (Sandbox Code Playgroud)

如何在Ruby中清除此字符串以完全删除空字节?

ruby postgresql ruby-on-rails

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

列出播放列表项时返回的持续时间?

我正在使用这个网址:

https://www.googleapis.com/youtube/v3/playlistItems?
    playlistId=FLFe0SGNFqZ9E2owO5ZDZpeg&
    part=snippet,contentDetails,status
Run Code Online (Sandbox Code Playgroud)

获取YouTube播放列表项目.

我包括了part我感兴趣的所有内容,但我发现无法退回duration该项目.

https://developers.google.com/youtube/v3/docs/playlistItems/list

这可能吗?

目前我只回来了这样的项目:

{
  "status": {
    "privacyStatus": "public"
  }, 
  "kind": "youtube#playlistItem", 
  "contentDetails": {
    "videoId": "tL-Ba86UhoE"
  }, 
  "snippet": {
    "playlistId": "FLFe0SGeFqZ9E2owO5ZDZpwg", 
    "thumbnails": {
      "default": {
        "url": "https://i1.ytimg.com/vi/tL-BA86Uhoh/default.jpg", 
        "width": 120, 
        "height": 90
      }, 
      "high": {
        "url": "https://i1.ytimg.com/vi/tL-BA86Uhoh/hqdefault.jpg", 
        "width": 480, 
        "height": 360
      }, 
      "medium": {
        "url": "https://i1.ytimg.com/vi/tL-BA86Uhoh/mqdefault.jpg", 
        "width": 320, 
        "height": 180
      }
    }, 
    "title": "Music Video", 
    "resourceId": {
      "kind": "youtube#video", 
      "videoId": "tL-BA86Uhoh"
    }, 
    "channelId": "UCFe0SGNFqZ9E2owO5ZDZpwg", 
    "publishedAt": "2013-07-06T18:41:43.000Z", 
    "channelTitle": "channeltitle", 
    "position": 0, 
    "description": "Video …
Run Code Online (Sandbox Code Playgroud)

youtube youtube-api youtube-data-api

11
推荐指数
1
解决办法
1296
查看次数

Rails 4有很多通过和订单范围

我有这个型号:

class User < ActiveRecord::Base
  has_many :customers, -> { order('customers.name ASC') }
  has_many :stores, -> { order('company_stores.id ASC').uniq }, through: :customers
end
Run Code Online (Sandbox Code Playgroud)

当我尝试

user.stores
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

PG::InvalidColumnReference: ERROR:  for SELECT DISTINCT, ORDER BY expressions must appear in select list
Run Code Online (Sandbox Code Playgroud)

因为Rails执行了一个SELECT DISTINCT of company_stores.*,但ORDER BY也出现了customers.name

我应该放弃协会的命令吗?

ruby-on-rails

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

postgres:如何将 hstore 转换为 JSON 数据类型

我正在尝试编写一个迁移以将现有 hstore 列转换为 JSON(不是 JSONB)。

我尝试了不同的解决方案json USING cast(hstore_column as json),在 github 上找到了一些功能,但没有真正解决问题。

主要问题是没有直接转换,其次是即使我将列转换为文本作为中间步骤,我也需要将默认列值更改为 json。

有人已经这样做了吗?

postgresql json hstore

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

解决$ 1:模糊重定向

我正在使用此脚本定期将postgresql的旧私有实例备份到gmail:

#!/bin/bash
/opt/local/lib/postgresql83/bin/pg_dump maxgests -U postgres | gzip --best -c > $1 && (/opt/local/bin/mutt -s `date "+%d-%m-%Y-%H:%M"` -a $1 $2 < /dev/null)
Run Code Online (Sandbox Code Playgroud)

最近我得到了这个:

./postgres_to_gmail.sh: line 2: $1: ambiguous redirect
Run Code Online (Sandbox Code Playgroud)

脚本不再有效.Mac OS X 10.6.8.

anytone可以告诉我什么是错的以及如何解决它?

第一个参数是路径,就像 /tmp/database.gz

第二个参数是电子邮件.

bash

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

Git只忽略与文件夹同名的文件

我有这个目录结构:

app/.bundle/
app/file1.bundle
app/tmp/file2.bundle
app/.gitignore
Run Code Online (Sandbox Code Playgroud)

我想在.gitignore中添加一个只忽略以.bundle结尾的文件的条目.

*.bundle也会忽略该文件夹.bundle,但我希望它与内容一起签入.

git

6
推荐指数
1
解决办法
1270
查看次数

如何在 parse.com 上执行计划备份?

您对定期备份 parse.com 数据库有什么建议吗?

关于这方面的信息非常稀少,我想在仪表板中执行类似于手动导出数据功能的操作,但每天执行一次。

有没有人有他们想分享的脚本或类似的东西?

Parse 说他们会考虑这个功能,但一年过去了。

database backup database-backups parse-platform

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

sidekiq中的ActiveRecord :: Base.connection.query_cache_enabled

我有一段代码一遍又一遍地执行相同的查询,它在线程中的后台工作程序中执行此操作.

我签出了activerecord查询缓存中间件,但显然需要在使用前启用它.但是我不确定这是否安全,是否会影响其他正在运行的线程.

你可以在这里看到测试:https://github.com/rails/rails/blob/3e36db4406beea32772b1db1e9a16cc1e8aea14c/activerecord/test/cases/query_cache_test.rb#L19

我的问题是:我可以直接借用和/或使用中间件来在线程中安全地阻止块的持续时间吗?

当我尝试ActiveRecord::Base.cache do我的CI开始左右失败...

activerecord multithreading ruby-on-rails

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

bootstrap 4导航栏仅在移动设备上粘

我有这个(哈姆尔):

  %body
    .container
      %nav.navbar.sticky-top.navbar-expand-md.navbar-light.bg-light
Run Code Online (Sandbox Code Playgroud)

是否只有引导程序才能使此导航栏粘顶仅在移动(< lg)上?

twitter-bootstrap bootstrap-4

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

重写 Logger 以在输出中添加 __MODULE__

Elixir 中是否可以覆盖 Logger 函数以始终在调用它的模块前面添加?"[#{__MODULE__}] "

喜欢

Logger.debug("Fetching Exchange Information and Trading Rules...")

变成日志:

[debug] [Elixir.Binance.Futures.Rest.Client] Requesting Exchange Information and Trading Rules...

elixir

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

如何总结嵌套数组中的值

我有一个以下格式的数组:

arr = [
 ["OMAA002S16001006 1088", 13],
 ["OMAA002S16001006 1088", 13],
 ["OMAA002S16001006 1088", 10],
 ["OMRA001S16116037 1001", 10],
 ["OMRA001S16116037 0110", 9],
 ["OMAA002S16001014 0119", 9],
 ["OMAA002S16001002 0134", 9]
]
Run Code Online (Sandbox Code Playgroud)

第一个条目是相同的代码,但具有不同的数字.什么是使条目独特并总结右边值的最佳方法?结果应该是这样的:

[
 ["OMAA002S16001006 1088", 36],
 ["OMRA001S16116037 1001", 10],
 ["OMRA001S16116037 0110", 9],
 ["OMAA002S16001014 0119", 9],
 ["OMAA002S16001002 0134", 9]
]
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
2
解决办法
281
查看次数