兼职不兼职不是核心问题,问题是你的这个 idea 做出来后,你要怎么去运作市场,那核心过程说话。其实很多创业都觉得开发个网站或者一个 app 就创业了。说句自己的感觉,做一个网站或者一个 app 真的没什么难的,就算外包出去,2W 就能拿下了。
问题是在你的运营和推广,你怎么在互联网中把自己的产品推出去,怎么能把资金收回来?
兼职。。。技术。。。是需要条件,不是必要条件。
好吧,离职了有很多时间,@smallbug 一起去~
那聚会我同事去了几次。我都没去过~ @jjzxcc
这个以前都是自己写的,让 current_user 在 model 里使用,实际用是 before_filter 加到 model 的父类了去了
redmine 并不是扩张表和字段来做到自定义字段的。。。@small_fish__ 那个差不多,几张表搞定这个东东。
以我在群里混了 5 年多的经验,见过新手无数。我的经验是,细心的新手效率能高出 500%,常年看到因为一个符号一个字母浪费几天的例子
就算你用 for 循环也一样,你的数组对象在循环的时候删除一个数据,下标也位置也会向前移。所以你要想清楚啥是你想要的,这跟闭包没半毛钱关系
啥时候了深圳开分公司啊
那蝙蝠坚持了好久啊
怎么跟那啥小象网一样问问题,题还差不多。不过要求的是有解决能力比小象网要求好学好。嘿嘿,解决能力是学习的目标嘛。
哎呀,我就是那 10 个人中的一个啊~求项目
哎,偶们都是在 model 里用 current_user 的,挺好
如果在上海,可以去找漫步
这才多大的事。。。
个人建议,不期望有人听 用两个功能增加交互性。 一个功能是面向老鸟:老鸟工作中会碰到各种诡异需求,但是这些需求都是开发生活中会重复碰到的,比如我就经常去翻 4 年前写的代码,来完成现在的工作内容。把这种需求当做问题或者作业,提交到社区。并且把解决的方法或者答案也贴到社区,同时增加定时发放答案的功能。提交这个问题后,新人可以和其他老人进行答复,然后全社区的人对这些回答觉得赞或者反对。 发布诡异需求和解决方案的人,可以获得一个分值,作为这个人的活跃度。参与讨论的人,他们的答案被赞的也作为活跃度。
其实我现在的工作里 90% 都是工作量,10% 是需要技能和经验的结合。而这 10% 里又有 70% 是以前解决过的。我相信开发到一定程度后会有我这种情况出现。
另一个功能是面对新手, 新手可以提出基础性的问题(大部分问题会被人提过,这时候可以贴标签,又懒又新的人),由大家参与解释和解决。这类问题没有答案,只有回答的好坏,赞的人多表示好,好的排前面。
参与的新人获得了针对性的解答,老鸟可以获得活跃度。
慢慢的一个新手帮助就出来了。而且比较成熟的答案可以添加到 wiki 里,现在的 wiki 挺好,但是资料的来源是不是有点紧缺啊?
当然,活跃度有啥作用就有待考虑了。
虽然两个功能都是帖子 + 定时公布答案的方式,但是都是针对性的问题。避免了扯淡在技术里,被赞的贴都排前面了嘛。然后加一个看贴的模式,一个是正常排序,一个是按赞排序。
是老鸟带新鸟。太被动。本来工作中的问题就充满了乐趣,不把这些乐趣散发开,是很可惜的。 社区又充满各种死气沉沉的感觉。是太 out 了。
@xlgwr 你很适合楼主~哈哈
上海真好,深圳啊深圳
@NonTwitter 你好能折腾,哈哈
@NonTwitter 天啊,你还玩过那玩意
你要先搞清楚,你是要寄出,让别人定时收到?还是要定时寄出?
定时寄出好办,用 ruby 都可以,delayed_job 加一个异步请求弄个时间就 ok。
但是要别人定时收。。。
@blacktulip 嗯,他的需求还很初创。不过我发的是我们 5 年前的实现,包含他的需求。
class CreateNumberings < ActiveRecord::Migration
def self.up
create_table :numberings do |t|
t.column :name,:string #名称
t.column :types,:string #类型
t.column :template,:string,:default=>'' # 模板
t.text :note
end
end
def self.down
drop_table :numberings
end
end
class Numbering < ActiveRecord::Base
#根据类型产生一个新的编码,同时保存到数据库中
def self.new_number!(type)
numbering = self.get_numbering(type)
number = numbering.template.next_number
numbering.update_attributes(:template=> number)
number
end
# #根据类型产生一个新的编码
def self.new_number(type)
numbering = self.get_numbering(type)
numbering.template.next_number
end
private
def self.get_numbering(type)
numbering = Numbering.find_or_create_by_types(type)
if numbering.template.blank?
# model = type.to_s.singularize.camelize.constantize
model = type.to_s.camelize.constantize
numbering.update_attributes(:name=>model.class_name,:template=>"#{type}00000")
end
numbering
end
end
class NilClass
def next_number(qty=1)
end
def -(number)
end
def region_to(qty=1)
end
def region_sizeof(number)
end
end
class String
#得到字符串的下一个编号,是对字符串中数值区域的值的增加,
#如果该字符串没有数值区域,那么返回原字符串
#例如
# 'abc'.next_number -> abc
# 'abc100'.next_number ->abc101
# '100'.next_number ->101
# '100abc'.next_number ->101abc
# '0100abc'.next_number ->0101abc
# '0099abc'.next_number ->0100abc
# "abc100".next_number(10) ->"abc110"
# "100abc".next_number(10) ->"110abc"
# "100abc100".next_number(10) ->"100abc110"
def next_number(qty=1)
self.reverse.sub(/(0*)\d+/) { |match| (match.reverse.to_i+qty.to_i).to_s.rjust(match.length,"0").reverse }.reverse
end
#两个字符串相减,得到两个字符串之间相减的数量
#例如:
# "abc"-"abc" ->0
# "abc110"-"abc100" ->10
# "110abc"-"100abc" ->10
def -(number)
match1 = /\d+/.match(self)
match2 = /\d+/.match(number)
(match1 && match2) ? match1[0].to_i - match2[0].to_i : 0
end
#从当前区段得到下一区段,区段的间隔由qty指定,区段包括首尾部分
#例如:
# "a100".region_to(1) ->"a100"
# "a100".region_to(2) ->"a101"
def region_to(qty=1)
raise "参数不允许为0" if qty==0
next_number(qty<0? qty+1: qty-1)
end
#计算两个区段之间的大小,区段是包含首尾部分
#例如:
# "a100".region_sizeof("a100") ->1
# "a100".region_sizeof("a101") ->2
def region_sizeof(number)
(self-number).abs+1
end
end
上面 3 个代码块是核心模块了,哎,5 年前的东西了。杨总的结晶
@small_fish__ 哇,石油大学 石油涨价你有分红不?
加油,我还没搞过这个呢