不得不说本文对我的启发挺大!
WEB 需要一场变革!
加强了对类 WebSocket 和 API 的支持。
本人用的是最土的方案,没用 MongoDB,没用 JSONB,用冗余字段。
# 表名:客户资料表
# 描述:t1, s1等这些列的定义见columns表。
class CreateCustomers < ActiveRecord::Migration
def change
create_table :customers do |t|
t.belongs_to :company, index: true
t.belongs_to :salesman
t.integer :t1
t.integer :t2
t.integer :t3
t.integer :t4
t.integer :t5
t.integer :t6
t.string :s1 #这是手机号,如果存在效率问题,可以考虑用bigint
t.string :s2
t.string :s3
t.string :s4
t.string :s5
t.date :d1
t.date :d2
t.date :d3
t.datetime :dt1
t.datetime :dt2
t.integer :t7
t.integer :t8
t.integer :t9
t.string :s6
t.string :s7
t.string :s8
t.string :s9
t.string :s10
t.string :s11
t.string :s12
t.string :s13
t.string :s14
t.string :s15
t.string :s16
t.string :s17
t.string :s18
t.string :s19
t.string :s20
t.timestamps
end
end
end
# 表名:自定义数据列
class CreateColumns < ActiveRecord::Migration
def change
create_table :columns do |t|
t.belongs_to :company, index: true
t.string :name # 值是s3, t1, d2, dt2这样的数据。's'起头表示输入型, 't'起头表示下拉选框型(下拉选项值需要关联options表), 'd'起头表示日期型,'dt'起头表示时间型;N表示第几个
t.string :title
t.integer :width
t.timestamps
end
end
end
# Column中类型为“下拉选项”的具体选项
class CreateOptions < ActiveRecord::Migration
def change
create_table :options do |t|
t.belongs_to :company, index: true
t.integer :tid #Column表的t开头的字段id,如't2',则此处值为2
t.integer :value
t.string :text
end
end
end
要么接受它,要么改变它,要么影响它。你的帖子说到 ruby 的没试过,没试过就去试一下啊。这还用说。 还有你说 Python 的很多。是不是想显示自己 Python 懂的不少呢? 社区的管理我也说过有问题,但总体上我还是非常满意的,因为不可能做到十全十美。 你自己经受不起打击,多从自己找问题吧。 注意自己的能量:你负能量有些多哦。
作为一个 Ruby 工程师能想到用 Lua+Nginx 实现一个面向侧面的服务,的确不容易。
好处就是当你那咸鱼干式的 Ruby 代码被公司资深而活跃的 Java 程序员们用丰腴的 Java 语言重构后,还能剩下一些 Lua+Nginx 代码,因为你是面向侧面的,无视正面的变革。
不过我相信公司精明的 Java 工程师一定会发现您的设计上的致命问题:性能、可维护性和兼容性等。所以更好的替代方案将驾着七色彩云面世:Apache + Java 的面向侧面的架构!当然,如果不够,还会有人见人爱的 Tomcat。可能都不需要用 JDK6, JDK4 就差不多了,不需要太多变化。
我已经感觉到你情绪上的变化了,您可能不知道,我写 Java 的代码行数可能比你读的代码行数还要多。我知道现在 Ruby 是有点火了,你有深入调研过原因吗?据我所知,这波互联网浪潮已经让我们许多资深的 Java 程序员倒下了。如果没有他们倒下,Ruby 能有今天?
走笔至此,默默感恩!
#46 楼 @as181920 你用的是 bunny 1.6.3?低版本 bunny 存在这个 bug,见: https://github.com/ruby-amqp/bunny/issues/240 我也遇见了,我升级到 bunny 2.2.1 后没有这个问题了。
oa414 DeathKing 躺枪了
#2 楼 @huacnlee 您认为这个项目:https://github.com/gazeldx/ruby-db-admin 是组件?不是完整的开源项目?为什么这么认为呢?您对组件的定义是什么?
#15 楼 @oneapm 向您汇报一个 bug,在引用了 OneAPM 后,贵公司会在每个页面的 header 加入
<script type="text/javascript">window.BWEUM||(BWEUM={});BWEUM.info={"beacon":"bi-collector.oneapm.com/beacon/rum/ruby","errorBeacon":"bi-collector.oneapm.com/beacon/error/ruby","licenseKey":"ZBbaN~yjaiyJnAij","applicationID":2272758,"transactionName":"DwkkDDMWLzYlBBAPCzZDJz8kGTVqJwgKFQs0CWkxLxMkPQ==","queueTime":0,"applicationTime":209,"agent":"//bi-collector.oneapm.com/static/js/bw-send-411.4.5.js"}</script>
<script type="text/javascript" src="//bi-collector.oneapm.com/static/js/bw-loader-411.4.5.js"></script>
今天收到公司客服报障,说一个页面报错了,经过排查,我发现是我写的一个 javascript function today()
被贵公司的这段 header 中加入的代码替换掉了,这段代码中也有 today 对象,但不是 function。我希望你们可以注意一下,不要用了 OneAPM 的包后导致客户产品出现故障。
谢谢。
很多公司完全可以和 shixian 平台上的牛人们对接一下。
有时候不一定是要让牛人做多少事情,可能就是请他做做顾问,把握下大的方向。方向定了,具体实施还是全职 Programmer 去干。
感觉平台上的人的质量还是挺高的。因为一个我认识的程序员在上面,他能力不错,但开价并不高。
一个小小的建议,程序员的种类有点少。顾问角色:iOS 工程师 Android 工程师 UI 设计师 前端工程师 后端工程师 产品经理 运营/编辑 其它
我想帮助公司招人,要找的人是纯 C 语言的,能不能在“其它”中出现呢?
后端工程师只包含(Java PHP Python Ruby 全栈),不全。C, Go, Lua, Scala 等呢?
这个不错,先给钱,其它的都好说。 特别是公司如果觉得 Programmer 好的话,甚至可能高薪挖 Programmer 过去。 所以不只是简单的兼职,还是找工作跳槽的好平台。 我看好你们。加油!
“管理员”,这三个字,我看到的都是责任
#25 楼 能请到 Laurent 实在不易。
RubyConfChina 安排在节假日,比如双休日可能会更好些。今天是工作日呢。
#1 楼 @yukihiro_matz 是啊,就是我觉得。因为对我 care 这件事。 我想改后对您应该没有什么坏处吧? 既然不改有人会介意,改了对其他人没有影响,就可以改掉它。