撸主 我真心觉得最好先提高一下 ruby 代码的水平再想怎么解决问题... 看你的第一个脚本 都想哭了
-> 产生的 this 指向的是 $('#something')
=> 产生的 this 是外面的 this 吧
Mechanize.new.get('http://www.smsadmin.cn/smsmarketing/wwwroot/api/get_send/',
{ uid: ***,
pwd: ****,
mobile: ***,
msg: "nihao#{@str}",
})
撸主用个 gem 岂不是很好
dream.jp 的中文版 不优惠 但是能用支付宝
不知道李笑来老师算不算一个
撸主搜索下 Textmate 中文字体 虽然瘦了点 但是无压力 多年 Textmate 习惯 导致不喜欢 sublime 和菊花...
大三就这么牛了 确实厉害
看上去只能用第三方服务了 或者自己用 Faye 写一个
例如你开了 2 个进程 nginx 反向代理 更新的时候先停掉一个 然后更新以后启动一个 再停掉另一个 启动另一个 这样看上去是没停
太牛逼了
#!/usr/bin/env ruby
# encoding: utf-8
#copy tag from test env to prod env
require 'mysql2'
class TagCopy
CMS_COLUMNS = %w[id no tag_key tag_name tag_url tag_desc structure type isleaf child level brand_no category_no channel_no other_no row_num site sort_no ad_quantity image_size parent_id enable_more].join(',')
def initialize
@from_db = Mysql2::Client.new(:host => "192.168.xx.xx", :port => 3306, :username => "mysql", :password => "mysql", :database => "mydb")
@to_db = Mysql2::Client.new(:host => "192.168.xx1.xx2", :port => 3306, :username => "root", :password => "root", :database => "mydb")
end
def get_tag_by_key(tag_key)
results = @from_db.query("SELECT #{CMS_COLUMNS} FROM tbl_cms_tags WHERE tag_key = '#{@from_db.escape(tag_key)}'")
uuid = @to_db.query("SELECT REPLACE(UUID(),'-','')", :as => :array).to_a[0]
puts "total #{results.count} records "
srid = @to_db.query("SELECT id FROM tbl_cms_tags WHERE tag_key = 'ol_main'").to_a[0]
results.each do |row|
#puts row.inspect
add_tag(row, uuid[0], srid[0])
getChild(uuid[0], row["id"]) if row["child"] > 0
end
@from_db.close
@to_db.close
end
def getChild(new_pid, parent_id)
results = @from_db.query("SELECT #{CMS_COLUMNS} FROM tbl_cms_tags WHERE parent_id = '#{@from_db.escape(parent_id)}'");
results.each do |row|
uuid = @to_db.query("SELECT REPLACE(UUID(),'-','')", :as => :array).uuid.to_a[0]
add_tag(row, uuid[0], new_pid)
getChild(uuid[0], row["id"]) if row["child"] >0
end
end
def add_tag(row, id, parent_id)
row.merge!('id' => id, 'site' => row["site"] || 0, 'row_num' => row["row_num"] ? row["site"] : 1, 'sort_no' => row["sort_no"] || 0)
insert_sql = "INSERT INTO yitian_b2c_db.tbl_cms_tags (#{row.keys.join(',')},ad_quantity) VALUES (#{row.values.map{|v| "'#{v}'"}.join(',')},0)"
puts insert_sql
@to_db.query(insert_sql)
end
end
if __FILE__ == $0
tc = TagCopy.new
tc.get_tag_by_key("ol_index")
end
简单帮你改了改 肯定还能优化的 我没运行起来 可能会有小错误 只能你自己小调试啦 没这么多时间哈~
#2 楼 @tianshuai 额 怎么放了一个这么大的 XML 在 public 目录下面呢... 你在服务器的 console 下调试一下试试?
同样是 Java 转 Ruby 我的建议是: 首先 不推荐上来就写这么复杂功能的东西 应该先把书看完 第一本:Ruby Programming 然后 能写一行的 不要写两行
uuid =@to_db.query("SELECT REPLACE(UUID(),'-','')", :as => :array)
uuid = uuid.to_a[0]
直接写成 uuid =@to_db.query("SELECT REPLACE(UUID(),'-','')", :as => :array).to_a[0]
不好么...
第三 看下 Ruby 风格指南 http://stylesror.github.io
最后 祝你早日拜托屎一样的一坨坨...