小编Ric*_*urt的帖子

有没有办法为 CloudWatch 日志组过滤器生成 AWS 控制台 URL?

我想将我的用户直接发送到特定的日志组和过滤器,但我需要能够生成正确的 URL 格式。例如,这个网址

https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/
%252Fmy%252Flog%252Fgroup%252Fgoes%252Fhere/log-events/$3FfilterPattern$3D$255Bincoming_ip$252C$2Buser_name$252C$2Buser_ip$2B$252C$2Btimestamp$252C$2Brequest$2B$2521$253D$2B$2522GET$2B$252Fhealth_checks$252Fall$2B*$2522$252C$2Bstatus_code$2B$253D$2B5*$2B$257C$257C$2Bstatus_code$2B$253D$2B429$252C$2Bbytes$252C$2Burl$252C$2Buser_agent$255D$26start$3D-172800000
Run Code Online (Sandbox Code Playgroud)

将带您到一个名为的日志组,/my/log/group/goes/here并使用此模式过滤过去 2 天的消息:

[incoming_ip, user_name, user_ip , timestamp, request != "GET /health_checks/all *", status_code = 5* || status_code = 429, bytes, url, user_agent]
Run Code Online (Sandbox Code Playgroud)

我可以解码 URL 的一部分,但我不知道其他一些字符应该是什么(见下文),但这对我来说看起来并不像任何标准的 HTML 编码。有人知道这种 URL 格式的编码器/解码器吗?

%252F == /
$252C == ,
$255B == [
$255D == ]
$253D == =
$2521 == !
$2522 == "
$252F == _
$257C == |

$2B == +
$26 == &
$3D == =
$3F == ?
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudwatch aws-cloudwatch-log-insights

14
推荐指数
4
解决办法
2338
查看次数

什么是与Github和多台计算机一起工作的最佳方式?

我正在开发一些学校评分软件,并决定使用Github来主持该项目.在我的Ubuntu盒子上构建了一些代码后,我将它推送到Github,然后将其克隆到我的MacBook Pro.编辑MBP上的代码后,我将其推回到Github.第二天早上,我尝试用U更新我在Ubuntu盒子上的回购git pull,这给了我各种麻烦.

什么是在这种情况下工作的最佳方式?我不想分叉我自己的回购,我真的不想发送自己的电子邮件或拉请求.为什么我不能像对待Github一样对待Github并将其推送到不同计算机上的所有个人回购中?

git ruby-on-rails github

12
推荐指数
2
解决办法
6666
查看次数

Rails app记录重复请求

我有一个Rails应用程序,它为开发中的每个请求生成重复请求.该应用程序运行Rails 2.3.5,我的主要开发机器运行Ubuntu 10.4.但是,相同的代码运行正常,而不会在我的OS X 10.6框上显示重复的请求.它也可以在任一台机器上以生产模式运行而不会出现问

  Processing DashboardController#index (for 127.0.0.1 at 2010-07-16 10:23:08) [GET]
  Parameters: {"action"=>"index", "controller"=>"dashboard"}
Rendering template within layouts/application
Rendering dashboard/index
  Term Load (1.9ms)   SELECT * FROM "date_ranges" WHERE ('2010-07-16' BETWEEN begin_date and end_date ) AND ( ("date_ranges"."type" = 'Term' ) ) 
  StaticData Load (1.1ms)   SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
  CACHE (0.0ms)   SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
Rendered dashboard/_news (0.1ms)
  CACHE (0.0ms)   SELECT * FROM "static_data" WHERE ("static_data"."name" = …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

8
推荐指数
3
解决办法
3550
查看次数

为什么我的会话在使用PerformanceTest而不是IntegrationTest时会过期?

好吧,我正在编写性能测试,并且无法像在集成测试中那样保持会话持续存在.据我所知,PerformanceTest是IntegrationTest的子代,任何集成测试都应该与性能测试一起使用.但是,当我进行集成测试并将其复制到性能时,将ActionController :: IntegrationTest更改为ActionController :: PerformanceTest,然后运行测试,它会失败.

我正在使用Authlogic并且没有遇到集成测试会话的问题.通过性能测试虽然看起来会正确创建会话但是当我访问"/ reports"页面(这是一个受保护的页面)时,它会将我重定向到登录页面,就像根本没有用户会话一样.

require 'performance_test_help'

class SimpleTest < ActionController::PerformanceTest
  setup :activate_authlogic

  test "login" do
    assert user_session = UserSession.create!(User.find_by_login("admin"))

    get "/reports"
    assert_response :success
  end
end
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我已经尝试了多种方式来获得用户会话(创建,发布等),似乎没有任何工作.这是我第一次写性能测试,所以我可能做了一些愚蠢的事......

BTW:我在Debian Squeeze上运行Ruby 1.8.7,Rails 2.2.2.

integration-testing ruby-on-rails performance-testing authlogic

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

如何在EventMachine实现中捕获异常?

我对这个帖子有类似的问题,我尝试了给定的解决方案,但无济于事.

我的项目是一个Ruby bot,它使用Blather库连接到Jabber服务器.问题是,当服务器出现问题并且Blather生成异常时,整个程序退出,我没有机会捕获异常.

这是一些显示问题的简单代码.在localhost上没有运行Jabber服务器,因此Blather客户端会抛出异常.我的印象是EM.error_handler {}能够拦截它,但我从未看到**** ERROR消息,程序就停止了.:(

#!/usr/bin/env ruby
require 'rubygems'
require 'blather/client/client'

EM.run do
  EM.error_handler { puts " **** ERROR " }

  Blather::Stream::Client.start(
    Class.new {
    }.new, 'echo@127.0.0.1', 'echo')
end
Run Code Online (Sandbox Code Playgroud)

我认为问题是Blather也使用EventMachine并且可能正在调用EM.stop,这会导致外部EM实例停止.

ruby xmpp eventmachine

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

从Ruby on Rails执行系统任务的最佳方法是什么?

我正在构建一个小型系统管理Web应用程序(想想Web-Min,但在RoR中),我需要能够从我的Ruby代码访问系统参数.例如,我想允许用户更改服务器的主机名,时区或网络配置.

我目前的想法是有一个单独的setuid脚本(Perl,Ruby,??),以便我可以从我的RoR代码调用它,它将执行操作.这非常麻烦而且不是很优雅.我是一个Ruby新手,想知道是否有更好的方法来完成这类事情.

谢谢!

ruby setuid ruby-on-rails

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

如何让RMagick将图像包裹在圆柱体周围?

我正试图用RMagick(ImageMagick)将图像包裹在一个圆柱体周围,并且我很难过.有几种类型的扭曲(桶,弧,仿射等)似乎是一个良好的开端,但没有什么真正适合.我还发现了很多复杂的命令行(复杂的数学运算),但这对RMagick没有多大帮助.Fred的ImageMagick脚本包含一个cylinderize脚本,但它非常复杂,并且执行了很多命令行操作,我无法转换为RMagick调用.

有人在那之前做过这个或者可以将ImageMagick命令行转换为RMagick调用吗?

ruby rmagick imagemagick cylindrical

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

如何在保存多态对象的父级之前获取它?

我有一个标准的多态关系,我需要在保存它之前知道它的父亲是谁.

Class Picture < AR::Base
  belongs_to :attachable, :polymorphic => true
end

Class Person < AR::Base
  has_many :pictures, :as => :attachable
end

Class Vehicle < AR::Base
  has_many :pictures, :as => :attachable
end
Run Code Online (Sandbox Code Playgroud)

我正在通过Paperclip上传图片,我构建了一个处理器,需要对不同的图片做不同的事情(即人物图片应该有宝丽来的外观,车辆图片应该有叠加).我的问题是在保存图片之前我不知道它是否与人或车辆相关联.

我尝试在Person&Vehicle中放置一个"标记",以便我可以告诉他们appart,但是当我在Paperclip处理器中时,我唯一看到的是Picture类.:(我的下一个想法是爬上堆栈试图让父母打电话,但这对我来说似乎很臭.你会怎么做?

polymorphism ruby-on-rails paperclip

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

如何在CarrierWave过程中创建新文件?

我的用户上传了一个包含3个文件(A.ttf,A.svg,A.otf)的zip文件,我想将原始zip和3个字体文件存储在其中.我用这段代码创建了3个版本

version :ttf
    process :font => :ttf
end

version :svg
    process :font => :svg
end

version :otf
    process :font => :otf
end
Run Code Online (Sandbox Code Playgroud)

它成功保存了原始文件的4个副本,所有副本都具有正确的文件名.但是,我不知道如何让CarrierWave存储单个文件.此代码不起作用.:(

def font(format)
  new_file = nil

  # Loop through the zip file and extract the files
  Zip::ZipFile.open(@file.file) do |files|
    files.each do |f|
      next unless f.file?

      filename  = f.name.split("/").last
      ext       = filename.split('.').last

      # Save the file with the proper file extension
      new_file = f if ext == format
  end

  # Return the file to be stored by CarrierWave
  new_file …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails process carrierwave

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

如何在ActiveRecord中建模朋友关系

我有一个People模型,我想允许非定向关系(朋友,家人,邻居等)当你将一个人标记为另一个人的朋友时,他们都是彼此的朋友.

Class People
  id
  name

Class Relationship
  id
  person_a_id
  person_b_id
  relationship_type
Run Code Online (Sandbox Code Playgroud)

现在,假设我们有一些People数据(记录ID = 1,2,3,4,5),这就是Relationship表的外观:

id  person_a_id  person_b_id  relationship_type
--  -----------  -----------  --------------------
 1     1            2           friend
 2     1            3           neighbor
Run Code Online (Sandbox Code Playgroud)

这告诉我的是,人1有一个朋友(人2)和一个邻居(人3).它还告诉我,Person 2有一个朋友(Person 1),Person 3有一个邻居(Person 1).

我想我可以通过一些自我指导协会做到这一点,但我认为有一种更清洁的方式.我错过了什么,那里有一颗宝石,等着满足我的每一个需求(至少就这个问题而言)?或者我必须写一个......

activerecord ruby-on-rails

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

在Ruby和JavaScript中复制计算的最佳方法是什么?

我有一个Ruby on Rails应用程序,我需要在Ruby和JavaScript中复制一些计算.Ruby用于服务器端,但我还需要使用JavaScript在浏览器上计算学生成绩.

我的第一个想法是使用字符串构建JavaScript函数,将其转换为JSON,将其发送到解码的浏览器并用作普通的JavaScript函数.这听起来对你有用吗?我尝试过一些简单的事情

def letterGradeCalc
  "function calcLetterGrade(score) {
    if( score >= 90 ) { return 'A'; }
    else if( score >= 80 ) { return 'B'; }
    else if( score >= 0 ) { return 'F'; }
    else return '';
  }".to_json
end

但是当浏览器获取它时,它不是有效的JavaScript函数.它看起来像一个,但它有双引号.

我在这里吠叫错了吗?我觉得有一些非常简单的方法可以做到这一点,但我完全错过了它.:)

javascript ruby json function

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

我应该如何保留订单数据,而不将其与可能发生变化的基础产品定价数据联系起来?

我有一个处理和存储订单的应用程序.每个订单都由包含定价,大小调整,颜色等各种内容的订单项组成.我的问题是如何在不将其与可能发生变化的基础数据捆绑在一起的情况下持久保存该数据.

例如,某人订购的东西由5件物品组成,每件物品价值1美元,总共5美元.但是,在未来的某个时刻,个别事物的成本会变为0.50美元.现在,当我提出旧订单时,它的总成本是2.50美元而不是5美元.

最初,我想过不允许更新子表,但这并不可行,因为定价是基于巨大的定价网格,客户只想更新而不是每次价格变化时都不会创建新的定价网格.每个定价网格需要数小时才能完成设置,而定价每隔几天就会发生变化.

另一个想法是序列化整个订单并从中开始工作.但是,这使得更新系统和更改任何内容变得困难.旧订单将不再正常显示,甚至可能导致系统崩溃.

这是一个相当普遍的问题,我正在寻找最佳实践观点.

ruby-on-rails archiving

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