函数式这么玩,是因为他们没对象… 这个东西,写到时候挺爽的,维护起来略麻烦
signature 喊的最凶的是 clojure、elrang 这种。也有一些实现,但实际项目中用的又没多少。 clojure 这种没有对象的概念,操作的都是字段。 ruby 这种面向对象语言,操作的不是某个字段,而是类。
我觉得前端挺不容易的。不单单技术方面,还要很耐心,还要跟后端扯皮。
分工。后门后端大佬一般不写代码,但绝对是团队核心。
一个全局锁,就不行了吧。。
大神可以去分享啊
发的时候存了 redis 里,加过期时间,每次发的时候都有判断有没有这个 key,有就不发,没有就发,并刷新 key。 或者利用 rate limit 也能做。
为啥我觉得一楼比正文好呢
一般 IM 都会用 Erlang 或者 Rust,钉钉完全是用 Java 吗(我就是好奇问问,楼主可以忽略我?
Rei 说的是锁 Shell
Shell.find(params[:id]).lock(:true)
,
其他线程还想读的这个 id 的 shell 的话,就要等锁。
如果你不想锁 Shell 的话,还可以先把 shell 的 book 都创建出来(不给 id),在加 book 的时候,就可以上锁了。
Redis 的分布式锁,也可以,效果应该是一样的(哦,不是,如果操作时间特别长,redis 好,因为上了 exclusive lock,所有读操作都锁了,redis 分布式锁,只锁了加入 shell 这个操作)
为什么不成功或者失败的时候,jenkins 发个请求?
websocket-client-simple
,连一两个还好,多了,性能怎么样,就不知道了。
AC 改的话,先要能主动连 ws,收消息要 hack、发消息也要 hack(AC 是对 channel 发消息,然后做广播,client 不需要),还要再配合 AC 的抽象,还不如自己写。
用 Erlang/Elixir 啊,要不然用 Rust 啊。 我瞎说的,其实 AcitionCable 够用了,实在不行 AnyCable。
spring boot 对 sqlite 支持不好,要 copy past 一堆代码,很麻烦。RoR 直接引入。
schema 和 migration 可以没有(我不知道有没有,有你可以说),RoR 默认有。
console 似乎是有,这个我不确定,但用起来似乎是很麻烦。当然,如果你有更好的办法,我也愿意学习。
我只是委婉的告诉你,这几点,我认为 spring boot 做的不怎么样。当然,如果你觉得做的好,也请说出你的理由。因为看你之前的回复,你对 Spring Boot 和 RoR 都很了解(因为你说他们一样,所以我认为,你很了解两者),希望可以向你学习。
难道 Java 流行只是因为功能太少?
这种句式一点意义都没有,几十年前还流行打鸡血呢,现在还流行注射中草药呢。
你说 SB 和 RoR 一样,就举出例子来。你知道 java 为什么流行,就说出来。
流行本身就没有什么意义,然后抛出了一个疑问句,没有任何依据,就更没意义。
我想知道 sping boot 怎么用 sqlite,schema 在哪,migration 怎么用,console 怎么用。。
牛逼!
有的时候,人们在谈性能的时候,都忘了说是 IO 密集型,还是 CPU 密集型。
当初定技术栈的时候,为啥选 C?性能原因?
Ruby 不像 Clojure 对这个东西那么急切(我不是说 Ruby 不需要)。
Clojure 很需要这个东西,是因为,Clojure 把 map 当对象用,把 map 的字段当方法用,Ruby 有对象,对象有啥方法、字段都是相对明确的。
TF 是啥?
具体说说?
ruby-china 的影响力: 如果学习后端技术,最好的方法是 clone ruby-china 论坛。 如果学习前端技术,最好的方法是 clone ruby-china 客户端。 如果想宣传某门语言,最好的方法是,用这门语言做一个论坛。
要改下标题,现在是 5k 了
明白,看来八成是 cpu 密集型任务,多线程没啥意义。亦或是 sidkiq 调度多任务的时候,消耗比较大……
我是觉得产品的需求不如用户故事靠谱 ,不过这个只是我个人经验,可能不是很有参考价值。。。
推行敏捷、或者项目管理,在软件公司挺难的,教给别人就更不容易了
大部分的 Scrum 团队,都只是在玩 Scrum 过程的团队而已。
有的对敏捷了解比较少,有的只是走个过场,却不知道这些工具、方法是为了解决什么问题而存在的。知其然,不知其所以然。
为啥不用多线程做?ruby 多线程不靠谱吗?
cucumber 首先是沟通工具,减少产品和开发之间的认知差距。 cucumber 之后才是自动化工具 用 cucumber 的话,就要搭上一个开发,测试搞不定。测试还有其他自动化工具,cucumber 这是看起来对开发友好。
如果把 cucumber 当沟通工具,写写用户故事就可以了,挺好的。 如果当做自动化工具,只能说仁者见仁了。
那个 gem 还真没了解过
进程调度问题
给每个用户 100 个额度,用完了再分配。
第一个和第二个问题 假设 A 算 1000 个单位,就先让他算 100 个,算完了再分给他 100。这个时候,B 进来了,B 插入 100 个任务,B 就会先算完。
第三个问题 加优先级就可以,爸爸们都放到爸爸队列里,爸爸们有任务,就先算爸爸的。还可以,如果是爸爸,就分配 200 个单位。
还可以从需求上解决,比如算完 1 个就给反馈什么的。
但说身体这一条,我有一个朋友在大学当老师,一周几节课,身体也不好。。。因为管不住吃、喝,还不运动。
如果仅仅是身体的话,早睡加上运动,会好很多(不过做到这些也挺难的)。
ror 应该是把配置读到某个对象里(ruby 几乎啥都是对象),更新配置,在 reload 这个对象应该就可以了。
如果有很多服务,有需要有统一的配置,比如 reids、mysql,就用配置中心。觉得配置中心麻烦,可以放到 reids 里。
关键是内存里的要 refresh,还不如重新部署一次…