我现在右手边坐着一个 38 岁的大叔程序员,股票交易平台的技术骨干,需求、开发、运维、运营都得管理和支持,前端、后段代码,什么 php、java、shell script、obj、swift、javascript/css/html,都得看。还得应付日历上画满的会议。一天从早忙到晚,还是抽空用 ruby+rails 写了一个项目,现在已经上线了。他从来没有用过 ruby 和 rails,也请教我一些很平常的 ruby/rails 的问题,但是基本上自己撸完的。代码我看过,写得不咋滴,但是能说明什么呢。
哈,这么老的帖子竟然有人回复。
怎么说呢?我见过你说的类似你提及的类型的程序员,我总结下来就两种:
但结果 (至少某个阶段) 都一样,看他们很累,真的很累,写代码只图快,又懒得写测试,
对于 TDD 完全不感冒,更别提 JDD(Joy Drive Development) 了,他们的工作模式
多数都是:先快后慢, 总体上来看,修 Bug 时间远多过 创造客户价值 的时间。
毫不夸张的说,五年来看,也许我不如你们,十年来看,大概这种类型的,一定不如我。
顺便说一声:我也是大叔级别的。做开发五年了,比你同事还要大上三四岁,但从你对他 的描述来看,我目前不如他。
@jasl , rust 1.8 开始支持交叉编译了。下面是一段文档:
Since Rust 1.8 you can install additional versions of the standard library for different targets using rustup/multirust.
For example:
$ rustup target add x86_64-unknown-linux-musl
Which then allows for:
$ cargo build --target x86_64-unknown-linux-musl
不知道这是不是意味着,如果知道目标部署机器的架构,例如:server 是 X86_64 架构,开发机也是, 我是否可以本地编译好 rust 库文件,直接部署到目标服务器开始使用?
如果可以实现,我想首要的好处,就是不需要在目标机器安装编译环境,虽然文件可能会大一点, 但是对于只在部分核心 (较少的地方) 的部分使用 rust 的项目,还是很有优势的。
详细看了下,确实酷!
刚反应过来,Yehuda Katz 不就是 bundle 的作者么,rust 核心开发成员,rails 核心开发成员,rubinius 核心开发成员 ...... 还有好多,真正的大神啊!
不知道,我只是把例子跑起来而已,话说,宏不是应该 ! 结尾才对吗?
ruby! 肯定是宏。
Ruby 社区的人一般都写 Ruby On Rails
建议改为 中国 Ruby 社区的人一般都写 Ruby On Rails.
国外,我觉得 Ruby 社区和 Rails 社区还是有点分割线的吧?
抱歉挖坟,现在主流的 Firefox 版本 52 已经支持了. Chrome 的下一个主流版本也会支持。
这两家只要支持,可以认为 %70 的浏览器已经支持了。
楼主的路子,是典型的 CTO 成长之路啊。
这个什么都懂一点但什么都不专精的万金油。
CTO 在不同的技术深度方面当然多多益善,但是就这条,是通往 CTO 之路的根本。
好吧,我发觉其实我甚至不需要区分 staging 和 production,就我目前的差别,两个环境变量搞定
补充,主要是本地 Linux 已经有环境了,觉得 APP 的 容器有点多余,要在环境隔离,一致性的角度说,开发容器也蛮有用的。不过,你得像我一样,搞个万能的 docker_bash 脚本了,不管容器挂了还是什么异常,你总能进去,毕竟,你不总是改 APP,也会改其他,哦,你还得 mount 一个编辑器进去,你不想吧编辑器放到容器里吧!
好吧,我也发现了,我本地开发搞个 development 的 docker 一阵子了,但感觉真是没有卵用。不过 staging 容器要有的,我用的生产的数据的拷贝,而且,设置里面,将请求设为本地请求那个参数,设为 true,大家懂的。😜
期望视频早点出来,一次非常棒的分享!
全是干货!大赞 @dsh0416 造轮子的精神,国内社区太缺这样的人了!一味地拿来主义,是不会进步的。
到了的报个到啊!我到了
我明天也去,耶!
@ruby_xi , 这是引用那里的内容?
其实 instance_exec 和 class_exec 两者区别,就是使用 def 定义方法时,前者在对象的 singleton class, 后者在对象的 class 之上。
我看到你查询时没有指定使用的分析器,我觉得你的问题可能是以下原因造成的。
简单点就一句话:使用正确的分析器创建索引,并且在 query 时,指定索引的分析器。
下面是一个 elasticsearch-rails 的例子:
settings index: {
analysis: {
analyzer: {
ik_max_word: {
type: 'ik',
use_smart: false
},
ik_smart: {
type: 'ik',
use_smart: true
}
}
}
}
mapping do
indexes field,
type: 'string',
analyzer: "ik_smart",
searchAnalyzer: "ik_smart",
boost: 10
end
end
search(
query: {
multi_match: {
query: '关键字',
fields: ['title', 'description'],
type: 'best_fields',
analyzer: 'ik_smart'
},
}
)
如果你不指定 mapping, 直接使用 ik 查询,结果是惨不忍睹的。
三楼精辟。
Previous pry + byebug
Now: autotest + puts
travel_to(date_or_time) support &block argument too.
in fact, travel_to invoke travel internally, so, it can support block as a argument.
不小心从头到尾看完了,赞!受益匪浅。
看过 @chitsaou 写的有关 OAuth2 的好多文章,虽然仍旧没完全弄懂,但是对我帮助好大,
这篇帖子的大量回复超级有用,这样的帖子,竟然没有标记精华,无语了。
酷~ 写的太棒了。
@OhCoder , 有关 Copy On Write 占用内存的问题,能否回答下?
酷!这篇文章以及翻译太棒了!学习到了很多东西!
看了半天,每个线程都拥有自己的对象池,线程之间又不能分享这些对象,感觉好像在 app server 层次,实现了类似于 erlang 的轻量级进程的意思,貌似很吸引人,就是不知道付费的多线程版本实际效果会有多好,其实单核单线程的免费版貌似看起来也不错,就是不知道有没有实际应用来验证到底效果如何?
感觉上,汲取了之前各种模型的长处,并且做了好多改进,使得这些长处可以发挥更大的作用,并且通过很深层次的 hack, 让这些优点可以完美的互相工作,像梦一样的 hn 一站式 app server 解决方案呀。
有个问题:
一个正常大小的 Rails app 单个进程可以耗费 250MB 的内存
这有没有考虑 cow 的作用?真的得那么大么?
还有我希望指出一些我认为很明显的理解错误。(也许是楼主只是表达错了?)
所以反向代理缓存不必完全用来解决 slow client 问题
看原文,
They don’t solve the slow client problem entirely.
这个句子应该译为:
它们并没有完全解决 slow client 的问题。
Twemproxy 的原生版本依赖的是全局变量,使用多个线程才能让全局系统变成不可用。
原文是:
making the entire system unusable with multiple threads.
这个句子应该译为:
使用多线程时,整个系统将变的 y 不可用。
Hi, @small_fish__ , 不知道为什么,听你说到有错误,好激动...
如果你可以确定不是之前 ERB 文件排版/缩进的问题而造成的 Slim 解析错误, (我没有做语法分析,那样太复杂了,而且效果也不一定好), 你可以直接 发送转换前与转换后的结果到我的邮箱:zw963 网易。
谢谢。