小编Jos*_*ore的帖子

Ruby中对象破坏的通知

我写了一个自定义的Rails模型.此模型由实际服务器支持,而不是由数据库表支持(因此它不会从中继承ActiveRecord::Base).为了从服务器获取所请求的信息,我打开了一个SSH连接.由于rails不重用对象,因此将为接收到的请求创建新对象以及与服务器的新SSH连接.为了减少服务器压力,我想在模型对象被垃圾收集之前关闭SSH连接.我想知道ruby是否提供通知机制来通知对象它将被销毁?如果是这样,我可以使用此通知知道何时关闭SSH连接.如果不是,当我知道我已完成对象时,我将需要手动操作.

如果我需要手动处理这个,我可以明确地销毁对象吗?或者我能做的最好的是object = nil

ruby garbage-collection ruby-on-rails

16
推荐指数
1
解决办法
6019
查看次数

SVNkit无法创建SVNRepoitory

我正在尝试使用SVNkit在两个svn URL上运行diff.问题是我在diff.doDiff调用时遇到错误.

org.tmatesoft.svn.core.SVNException:svn:无法为' http://svn.codehaus.org/jruby/trunk/jruby/src/org/jruby/Finalizable.java创建SVNRepository对象'org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:55)at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:40)at org.位于org.tmatesoft.svn.core.wc的org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool.createRepository(DefaultSVNRepositoryPool.java:213)的tmatesoft.svn.core.io.SVNRepositoryFactory.create(SVNRepositoryFactory.java:199). SVNClientManager.createRepository(SVNClientManager.java:242)位于org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:231)org.tmatesoft.svn.core.wc.SVNDiffClient.doDiffURLURL(SVNDiffClient.java: 769)在SVNTest.main的org.tmatesoft.svn.core.wc.SVNDiffClient.doDiff(SVNDiffClient.java:310)(SVNTest.java:30)

我仔细检查了URL(我可以在TortoiseSVN客户端打开它们).任何人都可以帮我知道发生了什么事吗?我已经发布了我在下面运行的代码.

SVNClientManager manager = SVNClientManager.newInstance(SVNWCUtil.createDefaultOptions(false), user, pass);

SVNDiffClient diff = manager.getDiffClient();
    //ISVNDiffStatusHandler diffStatus = new ISVNDiffStatusHandler();

try {
SVNURL oldURL = SVNURL.parseURIDecoded(url);    
diff.doDiff(SVNURL.parseURIDecoded(url), SVNRevision.create(oldVersion), SVNURL.parseURIDecoded(url), SVNRevision.HEAD, false, false, System.out);
} catch (SVNException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

java svn svnkit

12
推荐指数
1
解决办法
4275
查看次数

Rails架构创建问题

我正在使用Jruby和rails 2.2.2.我的问题是我的迁移未正确写入数据库模式.

这是我的迁移:

class CreateNotes < ActiveRecord::Migration
  def self.up
    create_table(:notes, :options => 'ENGINE=MyISAM') do |t|
      t.string :title
      t.text :body

      t.timestamps
    end

    execute "alter table notes ADD FULLTEXT(title, body)"

end
Run Code Online (Sandbox Code Playgroud)

这是它在schema.rb中生成的内容

create_table "notes", :force => true do |t|
  t.string   "title"
  t.text     "body"
  t.datetime "created_at"
  t.datetime "updated_at"
end

add_index "notes", ["title", "body"], :name => "title"
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  • 我如何'ENGINE=MyISAM'进入架构?
  • 为什么我的执行声明变成了add_index "notes", ["title", "body"], :name => "title"?以及如何强制迁移将其作为执行语句保留?

感谢Christian Lescuyer的回答.但是,当我尝试这个没有改变.我取消注释了config.active_record ...行,但我的架构没有改变.我已经尝试了jruby和ruby 1.8.6上的rails 2.2.2和edge rails,架构没有变化.谁能告诉我我做错了什么?

migration ruby-on-rails jruby activerecord-jdbc

10
推荐指数
3
解决办法
6261
查看次数

查询Postgres中的模式

我正在使用Postgres,我有多个模式(即S1和S2).我想运行一个使用S1和S2中的表的查询.有可能做这样的事情:

select * from S1.table1, S2.table2
Run Code Online (Sandbox Code Playgroud)

感谢所有回复.

sql postgresql schema

10
推荐指数
1
解决办法
8795
查看次数

rails部分中的条件格式

我正在渲染部分轨道,我想在渲染部分时交替使用背景颜色.我知道这不是很清楚,所以这里是我想要做的一个例子:

行一灰色背景行两黄色背景行三灰色背景行四黄色背景
  • 对不起stackoverflow接缝,以防止显示背景颜色,但我认为这使我的想法清楚

这是我正在使用的视图代码

<table>
  <%= render :partial => 'row' :collection => @rows %>
</table>
Run Code Online (Sandbox Code Playgroud)

_row.html.erb部分看起来像这样

<tr bgcolor="#AAAAAA">
  <td><%= row.name %></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何更改每隔一行的背景颜色.有没有办法做到这一点?

ruby renderpartial ruby-on-rails

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

如何在yaml中表示一个空字段

我正在使用rails上的灯具,我希望其中一个灯具字段为空白.

例:

two:
name: test
path: - I want this blank but not to act as a group heading.
test: 4
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如果path:没有它作为一个团体头衔,如何留空.有谁知道怎么做?

yaml ruby-on-rails

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

真正年轻的软件架构师

我是一名非常年轻的软件工程师/ QA团队负责人.我已经开发了大约2年的软件,其中有一年我也是软件开发公司QA团队的负责人.目前,我仍在担任QA工具的QA团队负责人/软件工程师.最近我被邀请加入一群希望成立软件公司的朋友和同事.他们希望我成为软件的架构师/技术主管(用Java编写的特殊聊天客户端就是我所能说的).我非常擅长在火中学习,我从中学到很多东西.但是,我担心我缺乏经验会导致项目失败(或至少发展不佳).所以我想知道你是否会建议我采取这个立场,尽我所能并随时学习?或者你会建议我拒绝?

如果您建议我采取这个职位,请您提供一个或者对初学Java架构有用的资源吗?

java architecture

6
推荐指数
4
解决办法
1689
查看次数

Ruby Mongo或Mongoid并发问题

我有我认为必须是并发问题.我使用的是乘客,导轨2.3.5,mongoid 1.9.2和mongo ruby​​驱动程序1.0.9.我正在使用jQuery来请求从MongoDB中提取的数据,然后在浏览器中呈现.在我开始同时提出两个这样的请求之前,一切都很顺利.在模型中,这些是请求执行的方法:

Class Visit
  include Mongoid::Document
  ...
  def self.cancellations_and_visits_by_therapist_graph(clinic_id) 
    visits = collection.group("function(x){ return { resource_id : x.resource_id } }",
            {:clinic_id => clinic_id, :visit_date => { "$gte" => Time.now - 6.months, "$lte" => Time.now}}, 
            {:visits => 0, :cancel_no_shows => 0},
            'function(obj, count) {
              if (obj.visit_status == "NO SHOW" || obj.visits_status == "CANCELLED") {
                count.cancel_no_shows += 1;
              } else {
                count.visits += 1;
              }

            }')

    visits = visits.group_by {|g| g['resource_id']}

    Resource.any_in(:mysql_id => visits.keys).order_by([:last_name, :asc]).order_by([:first_name, :asc]).inject({ 'visits' => [], 'cancel_no_shows' => [], …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mongodb mongoid

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

pymysql无法与SSL连接

我试图使用python连接到MySQL数据库,但我收到一个奇怪的错误.事实上,我可以使用来自mysqlconsole命令的相同连接值,并且连接没有任何问题.

这是我正在使用的确切代码:

从check导入pymysql导入AgentCheck

class DelayedJobCheck(AgentCheck):
    def check(self, instance):
        self.log.info("testing connection")
        self.log.info(instance)

        connection = pymysql.connect(**instance)

        cur = cnx.cursor(buffered=True)
        cur.execute("SHOW STATUS LIKE 'Ssl_cipher'")
        print(cur.fetchone())
        cur.close()
        cnx.close()

        self.gauge('hello.world', 1)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Traceback (most recent call last):
  File "/opt/datadog-agent/agent/checks/__init__.py", line 661, in run
    self.check(copy.deepcopy(instance))
  File "/opt/datadog-agent/agent/checks.d/delayed_job.py", line 10, in check
    connection = pymysql.connect(**instance)
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/pymysql/__init__.py", line 88, in Connect
    return Connection(*args, **kwargs)
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/pymysql/connections.py", line 644, in __init__
    self._connect()
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/pymysql/connections.py", line 869, in _connect
    raise exc
OperationalError: (2003, u"Can't connect to MySQL …

python mysql ssl

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

宁静的命令

我是RESTful的新手.但是,我想在我的rails应用程序中使用它.当我将它添加到我的routes.rb时,map.resources :notes我获得了创建这些方法的路由:

  • 指数
  • 创建
  • 编辑
  • 节目
  • 更新
  • 破坏

我想知道编辑/更新和创建/新的区别是什么?是否有关于这些方法对如何变化以及每个方法的作用的标准定义?

ruby rest ruby-on-rails

5
推荐指数
2
解决办法
555
查看次数