• 谢谢指正,确实是 float,我写错了 😀

  • Tower 的任务也需要做拖动排序,文章里面的这种方案的弊端在于,当数据量比较大的时候,比如一个项目里有几百条任务,然后每天有大量的用户去做任务的拖动操作,这个时候如果你把全量数据都发过来重新排序,就会有大量的数据库写操作,效率会很低。

    我们采用的办法是,设置 position 字段为 float,这样当你拖动一条任务的时候,你只需要发送给服务器这条任务排序以后前后的任务 ID 是什么。

    比如我有如下任务:

    任务1 - position 50.0
    任务2 - position 100.0
    任务3 - position 150.0
    

    我如果把 任务3 拖动到 任务1 和 任务2 中间,只需要设置 任务3 的 position 为 (50.0 + 100.0) / 2 = 75.0 即可。这样每次只会更新一条记录,压力就会小很多。

  • yep

  • 是的

  • Yep

  • 首先 CalendarEvent 上有一个版本号字段,然后用这个 https://github.com/rossta/montrose 批量生成提醒,放进 sidekiq perform_later 里面执行,这里需要注意的是要传入 CalendarEvent 当前的版本号。

    每次更新 CalendarEvent 的时候 update 版本号,并且重新生成发送任务。队列在执行的时候,先判断版本号是否和当前 CalendarEvent 对应的一致,一致才真正的发送通知。

    还有个问题是,重复到什么时候呢?比如按周提醒的事件,创建多少提醒事件呢?Tower 里面是默认创建一整年的,每年 1月1号 重新生成所有 CalendarEvent 的批量事件。

  • Tower 其实体量并不大,只能算是小型 Web 应用,不需要拆分的。新版 Tower 还有一个月左右发布,目前代码总量只有 7347 行,因为是重写,所以很多结构做了精简,用了不少成熟的 gem,实现都很简单,完全不需要什么微服务,engine 之类的东西。

  • 并没有

  • 远程工作可以看成是不用到办公室上班的工作,所以时间还是正常工作时间,不会有考勤。手上基本上不会出现没有任务的情况,没有任务可以做重构,可以做性能优化,可以补充文档,补写测试,妥妥的 full time。

  • 有点悬,我们这次要招募 Ruby On Rails 熟手。

  • 嗯嗯?是哪位呢?可以加我微信哈

  • 不要以后啊,就现在嘛...

  • 招啊,缺人得很。知人后续还要做招聘、绩效、培训,每一坨都相当于一个独立产品。

  • 是的哈

  • 嗯,谢谢提示,我已经在正文里面增加微信联系方式,如果没有及时回复,可以直接加微信

  • 不好意思,被当做垃圾邮件自动过滤了,已经回复

  • Rails 标准前端栈,Turbolinks + jQuery,不过我们有在自己写一个适配 Rails 的开源前端,还没发布

  • 开源 Tower 的编辑器 Simditor at 2016年12月21日

    @huacnlee 举报一下楼上这个 ID,在 simditor github repo 的起码 10 个 PR 里也是这样恶意留言

  • 已决定留北京 at 2016年10月26日

    彩程设计招人,欢迎发邮件到 join@mycolorway.com

  • 我司招人,远程办公,正在开发非常牛叉的新产品,如果在深圳会场,可以找 @ichord 同学看 DOMO~

  • 工作也旅行 - 工作日常 at 2015年09月05日

    #40楼 @johnnyhappy365 「来和我们一起工作吧! join@mycolorway.com」:)

  • 工作也旅行 - 工作日常 at 2015年09月05日

    #30楼 @rainchen 沙溪是个几乎没有游客的地方,特别是他呆的这几个月,是旅游的淡季,更是人少,基本上青旅都是他包场,所以安静的环境是没问题的。

    关于整个团队都远程,因为我们从08年就开始创业,前几年一直聚在一起,沟通已经没有障碍,核心团队保持良好的工作习惯,其他新来的同学就能「入乡随俗」。远程办公对于现阶段的我们利大于弊,可以节省不少路上奔波的时间,节省找办公室的成本,每个人都能享受最快的网络,没有地理限制的招人。

    另外每年两个月集中办公,因为找的都是山青水秀远离人烟的地方,所以基本上大家每天都在投入工作,从产出来看会比平时高 30% 以上(这个看 Github 的 Graphs 就能知道),彩程从来都是反对「旅行办公」的,我们提倡的是每个人应该选择他自己工作效率最高的地方(我们团队有些成员每天也到一个固定办公地点上班),沙溪是 ichord 的选择,我们这些老男人一般来说都是选择在家工作。

    最后你说的另一半的问题,因为远程,平时多些时间为家人做做饭,陪陪小孩,工作需要的时候他们也能理解,没有事情是完美的,都是平衡出来的。

  • #19楼 @aidewoode 直接投 Ruby 职位就行了哈~

  • How Ruby Uses Memory at 2015年05月28日

    ... 既然你已经把我暴露了,我就很不要脸的出来帮你顶一发了 :P

  • #16楼 @0x9397 嗯...周围同学虽然不给力,但是对于自己在同龄人中的基本能力水平应该有判断了吧 :)