小编Jam*_*nan的帖子

测试string是否是Ruby on Rails中的数字

我的应用程序控制器中有以下内容:

def is_number?(object)
  true if Float(object) rescue false
end
Run Code Online (Sandbox Code Playgroud)

以及我的控制器中的以下条件:

if mystring.is_number?

end
Run Code Online (Sandbox Code Playgroud)

条件是抛出undefined method错误.我猜我is_number在错误的地方定义了......?

ruby string integer ruby-on-rails

99
推荐指数
8
解决办法
10万
查看次数

Ruby on Rails 3无法通过OSX上的套接字'/tmp/mysql.sock'连接到本地MySQL服务器

我有一个标准的Rails3环境,RVM 1.2.9,Rails 3.0.5,Ruby 1.9.2p180,MySQL2 Gem 0.2.7,mysql-5.5.10-osx10.6-x86_64

运行rake db:migrate创建数据库时遇到的错误是:

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

config/database.yml有

development:
  adapter: mysql2
  host: localhost
  username: root
  password: xxxx
  database: xxxx
Run Code Online (Sandbox Code Playgroud)

确定这是我想念的简单事.

mysql macos ruby-on-rails-3

83
推荐指数
5
解决办法
9万
查看次数

使用SSL将Pentaho Kettle/Spoon连接到Heroku PostgreSQL的问题

我正在尝试使用Spoon附带的JDBC驱动程序将勺子连接到Heroku PostgreSQL实例.Heroku需要SSL,因为它是独立的PostgreSQL实例,我已启用它.

我可以使用其他使用SSL的客户端软件连接到数据库,因此这似乎特定于Java/JDBC.我不太了解Java对此进行故障排除所以希望有人在此之前已经有过这样的事情.

我得到以下和相当详细的错误消息提到SSLHandshakeException,但我不确定这是否是其他原因或症状?也许我需要在Java中指定SSL证书?

Error connecting to database [XXXX.com] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Error connecting to database: (using class org.postgresql.Driver)
The connection attempt failed.


org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Error connecting to database: (using class org.postgresql.Driver)
The connection attempt failed.


at org.pentaho.di.core.database.Database.normalConnect(Database.java:374)
at org.pentaho.di.core.database.Database.connect(Database.java:323)
at org.pentaho.di.core.database.Database.connect(Database.java:285)
at org.pentaho.di.core.database.Database.connect(Database.java:275)
at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:76)
at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2455)
at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:511)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:329) …
Run Code Online (Sandbox Code Playgroud)

postgresql ssl pentaho jdbc kettle

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

Engine Yard Rails app - 在Elastic Load Balancer(ELB)上终止SSL并传递X-Forwarded-Proto http头

https://support.cloud.engineyard.com/entries/21715452-use-elastic-load-balancing-with-engine-yard-cloud上关注 Engine Yard文档

得到了这个设置并且似乎运行良好,允许我们在ELB上使用SSL Terminated而不是服务器.从理论上讲,这应该允许我们在单一环境中使用多个SSL证书.

此设置意味着浏览器和ELB负载平衡器之间的流量是SSL,但是从ELB到应用程序服务器的转发流量将被解密.这导致我们的rails 3.2.8应用程序强制SSL出现问题 - 它将每个解密的请求重定向回其https等效项,后者再次从负载均衡器向应用程序服务器发送解密请求,从而导致无限循环条件.

如果我们在我们的应用程序中禁用强制SSL,我们需要测试每个请求以查看它是否来自SSL连接,如果它确实我们可以响应,如果没有,则重定向它.

根据此发行说明(http://aws.amazon.com/releasenotes/7778622769836370),当从https连接传递流量时,ELB将传递包含"https"的X-Forwarded-Proto标头.

首先,在Engine Yard的请求中没有名为"X-Forwarded-Proto"的标题."HTTP_X-FORWARDED_PROTO"确实存在,但即使通过SSL将流量发送到ELB,它也始终包含"http".

任何人都可以提供任何洞察力或解决方法的想法吗?到目前为止,我已经尝试了没有太多运气的安永支持.

ssl ruby-on-rails amazon-web-services http-headers engineyard

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

访问限制为Heroku静态IP地址的API的好策略是什么?

我需要我的应用程序才能访问基于单个静态IP地址限制访问的第三方API.

由于Heroku dynos和路由网格的动态特性,这是不可能的 - 我需要一些具有固定IP地址的东西作为代理.

一个美国东部EC2 Linux/Nginx实例似乎是明智的选择,但这些似乎是很多工作/维护的东西非常微不足道.有谁知道那里的任何服务吗?

http nginx ip-address heroku amazon-ec2

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

使用 Kinesis Firehose 时,VPC 内的 Elasticsearch 不断出现 503 错误

我正在使用Amazon Kinesis Data Generator将数据发送到测试 Kinesis Firehose Stream,以便在 Elasticsearch Service 集群中建立索引。

数据生成器发送一个相当基本的 json 文档进行处理,流元素工作正常,Lambda 转换也是如此。到目前为止,我已经验证并能够测试所有内容。仅当向我的 VPC 内的 Elasticsearch 发出请求时,我才会收到错误。

如果我将管道切换为使用公共 Elasticsearch 域,则效果很好,但当我在 VPC 内使用 Elasticsearch 域时,会收到503 错误。这是每个请求的一致错误,因此不是容量问题。

这是我看到的错误的示例。只是一个通用的 503。我不确定这是否来自负载均衡器或目标(Elasticsearch 本身)。

{
 "deliveryStreamARN": "arn:aws:firehose:eu-west-2:xxx:deliverystream/firehose-test",
 "destination": "arn:aws:es:eu-west-2:xxx:domain/elasticsearch-test",
 "deliveryStreamVersionId": 1,
 "message": "Error received from Elasticsearch cluster. <html><body><h1>503 Service 
 Unavailable</h1>\nNo server is available to handle this request.\n</body></html>",
 "errorCode": "ES.ServiceException",
 "processor": "arn:aws:lambda:eu-west-2:xxx:function:transform-test:$LATEST"
}
Run Code Online (Sandbox Code Playgroud)

VPC内的其他应用程序可以毫无问题地使用Elasticsearch服务。这似乎是 Firehose 特有的东西。

我已经阅读并重新阅读了文档,但无法弄清楚为什么相同的数据管道在公共 ES 域上工作正常,但在我的 VPC 内的 ES 域上却不能。我已经仔细检查了所有角色、策略、安全组和子网。Firehose 和 Elasticsearch 都使用相同的 VPC、安全组和子网。安全组的入站规则允许HTTPS。一切看起来都是正确的,但仍然出现错误,并且 Elastic 中没有任何内容被索引。

我还阅读了这篇 AWS 博客文章大约 …

amazon-web-services amazon-vpc amazon-kinesis amazon-elasticsearch amazon-kinesis-firehose

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

MySQL更新连接未按预期工作

我在ubuntu 12.10和MySQL Workbench上使用MySQL 5.1.41.

我有2个产品表,t1和t2.t1是实时数据,t2是准备更新到t1的导入数据,用于更新所有新产品价格.所以我跑:

SELECT * FROM t1
JOIN t2 ON t1.id = t2.id
WHERE t1.price != t2.price;
Run Code Online (Sandbox Code Playgroud)

这将返回1201记录,其中价格不同并需要更新.所以我跑:

UPDATE t1 JOIN t2 ON t1.id = t2.id
SET t1.price = t2.price
WHERE t1.price != t2.price;
Run Code Online (Sandbox Code Playgroud)

这完成没有错误并报告1143行受影响,行匹配:1143更改:1143警告:0

所以这里已有的东西不对.选择查询中有1201条记录不同,但只有1143条使用相同的连接和条件进行了更改?

运行初始选择查询我希望看到仍有不同价格的58条记录.但是当它运行时,我得到了与我最初相同的1201.就像没有提交更新一样.

有任何想法吗?

mysql sql transactions join sql-update

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