V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lpisces  ›  全部回复第 2 页 / 共 2 页
回复总数  40
1  2  
2013-03-21 17:16:08 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@insub 我觉得还有一条纠结的原因就是 “造轮子” 的问题,不知道你怎么看这个。

打个比方说,基本上每个项目都要写后台,于是rails有了rails_admin,active_admin这种东西。每个项目都要有认证,于是有了divise这种东西。ruby china上的观点说rails_admin这种东西都是玩具,都得自己写。不然遇到不满足需求然后自己搞不定或者搞定成本大于自己搞就完蛋了。

但是我觉得rails之所以敏捷,是因为它把很多开发中要用到东西都集成进框架了。

我说的重构不是每一行代码都重写。我觉得在原型设计阶段要定义好数据结构的大方向,这部分在后面的重构是不应该动大刀子的,除非应用的负载上涨到了质变。

重构的是vc层面的东西。
2013-03-21 16:48:11 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@xgdy 你想的太美好了,全都是只看不买的
2013-03-21 16:46:43 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@insub 其实我跟你的问题一样,总是寻求一个敏捷的方式,但是总被各种因素干扰。

我现在觉得就是快速实现原型,然后推到重构。这样最少可以有一个直观的东西让人看到,自己也可以在实现原型的过程中发现问题,便于在重构时避免跳进重复的坑。这就是传说中的快速迭代。

关于rails,我觉得快速开发是其最大的特点之一,但是其与众不同之处是bdd这种模式,很可惜,我对unit test,RSpec这样的东西不是很了解,但觉得是很好的东西,应该用起来提高代码质量。不能总是用smoking ping模式来调试代码。然后用bdd模式写代码可以让自己目标性更加强一点。

现在这个demo完全没有test代码,可见一斑。

粗浅见解,见笑了~
2013-03-20 14:16:53 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
2013-03-19 15:29:04 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@xgdy 那有那么简单,做得不好,重新推到
2013-03-19 13:37:17 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@xgdy

不会写没关系啊,写代码的都是码农,有点子就行

不想做满大街的美丽说那种

不知道你有啥好点子
2013-03-19 13:27:50 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@insub 这个不算上线吧,很多想写的没有写,现在你看到的这些业余时间一个礼拜左右吧
2013-03-19 12:08:15 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
@acpp 之前搞过php,python之类的
花了两个礼拜把ror guide看了一遍

@lyhapple 这个是实验性质的,很多地方很粗糙,打算重构。 vps是香港的

api调用

def sign(app_secret, params)
str = []
str << app_secret
str << params.sort.join
str << app_secret
Digest::MD5.hexdigest(str.join).upcase
end

def api_url
api_url = 'http://gw.api.taobao.com/router/rest'
end

def url(params)
url = []
params.sort.each {|k, v| url << (k.to_s << '=' << URI.encode(v.to_s).to_s)}
api_url << '?' << (url.join '&')
end

def get(url)
res = Net::HTTP.get_response(URI.parse(url))
res.body
end

def product_params(app_key, app_secret, cid)
params = {}
params[:format] = 'json'
params[:timestamp] = (Time.now).strftime("%Y-%m-%d %H:%M:%S")
params[:sign_method] = 'md5'
params[:v] = '2.0'
params[:method] = 'taobao.taobaoke.items.coupon.get'
params[:fields] = ['item_imgs', 'num_iid', 'seller_id', 'nick', 'title', 'price', 'item_location', 'seller_credit_score', 'click_url', 'shop_click_url', 'pic_url', 'taobaoke_cat_click_url', 'keyword_click_url', 'coupon_rate', 'coupon_price', 'coupon_start_time', 'coupon_end_time', 'commission_rate', 'commission', 'commission_num', 'commission_volume', 'volume', 'shop_type'].join ','
params[:cid] = cid
params[:keyword] = ''
params[:sort] = 'volume_desc'
params[:app_key] = app_key
params[:page_no] = 1
params[:page_size] = 100
params[:shop_type] = 'b'
params[:sign] = sign(app_secret, params)
params
end

task :product => :environment do
app_key = Setting.g 'app_key', 'taobao'
app_secret = Setting.g 'app_secret', 'taobao'
categories = Category.where("level = ? or id = ?", 2, 50008055).all
categories.each do |c|
next if TaobaoCategory.where(:cid => c.id).first.nil?
params = product_params app_key, app_secret, c.id
json = get(url(params))
p json
products = ActiveSupport::JSON.decode(json)
next if products.nil? || products['taobaoke_items_coupon_get_response'].nil? || products['taobaoke_items_coupon_get_response']['taobaoke_items'].nil?
items = products['taobaoke_items_coupon_get_response']['taobaoke_items']['taobaoke_item']
next unless items.respond_to? :each
items.each do |p|
img_json = get(url(img_params app_key, app_secret, p['num_iid']))
imgs = ActiveSupport::JSON.decode(img_json)
imgs = imgs['items_list_get_response']['items']['item']
unless imgs[0]['item_imgs'].empty?
p['imgs'] = []
imgs[0]['item_imgs']["item_img"].each do |i|
p['imgs'] << i['url']
end
end
save_product p, c.id, Product
end
end
end

代码凑活看吧
2013-03-18 16:45:06 +08:00
回复了 lpisces 创建的主题 分享创造 刚学了下rails,写了个淘宝客网站玩玩
用ruby调用淘宝rest api
2013-01-12 15:42:16 +08:00
回复了 ngf 创建的主题 酷工作 创业公司找前端和后端开发(php+mysql)兼职实习全职 ~=全职1-3w
发过去了,希望有回复
2012-11-26 00:47:40 +08:00
回复了 lpisces 创建的主题 分享创造 一个极为简洁的淘宝客程序
2012-11-25 00:52:52 +08:00
回复了 Greenly 创建的主题 分享创造 深度兴趣爱好社区招募种子用户
2012-11-24 22:39:04 +08:00
回复了 lpisces 创建的主题 分享创造 一个极为简洁的淘宝客程序
代码写的烂,只是图写得快,放在google code上了
搜tbk2012
2012-11-24 22:35:07 +08:00
回复了 lpisces 创建的主题 分享创造 一个极为简洁的淘宝客程序
现在流行啥?
2012-08-23 15:50:04 +08:00
回复了 lpisces 创建的主题 酷工作 [北京]奇艺网招聘php开发工程师
薪资范围9k+吧

具体可以根据水平面议
2012-08-23 15:49:42 +08:00
回复了 lpisces 创建的主题 酷工作 [北京]奇艺招聘运维工程师
薪资范围9k+吧

具体可以根据水平面议
最悲哀的事情就是,“你不是技术吗,怎么这都不会啊?”,“技术,这个啥时候能弄好啊”,“技术,帮我看看这个电脑怎么样?”,“技术,你会刷机吗?”,“技术,。。。。。”
2012-07-22 18:52:11 +08:00
回复了 iceseaboy 创建的主题 Linux 你使用率最高的命令是什么?
1 403 40.3% vim
2 259 25.9% ls
3 235 23.5% cd
4 30 3% svn
5 18 1.8% mysql
6 9 0.9% pwd
7 6 0.6% mv
8 6 0.6% l
9 4 0.4% touch
10 3 0.3% service
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4852 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 05:37 · PVG 13:37 · LAX 21:37 · JFK 00:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.