其实这是给后端程序员用的前端框架……
那啥 CSRF token 放在 cookie 里面有啥问题么?话说 AngularJs 就要求服务端设置一个 csrf cookie(实际上除了放 cookie 根本没别的地方可以放啊,服务端整个页面都是静态模板,渲染是在客户端进行的)……另外为啥 API 就不需要 CSRF?
ψ(゚д゚#) /usr/bin/time ruby -e '100000000.times { 100 }'
3.94user 0.00 system 0:0 3.95elapsed 99%CPU (0avgtext+0avgdata 6932maxresident)
这格式好奇葩,难道是 zsh 的问题……
看到最后jQuery is required
然后默默地关掉了……比大小不能不包括依赖的东西啊……
我怎么感觉我认识你……你北大附中的么?
我很好奇最终统计结果大概是怎么样的呢,我猜使用次数最多的那个 css 出现次数也不会超过 10 次吧?
我现在是前端完全用 AngularJs,将后端仅作 API 来用,不过前端部分模板和静态文件也还是用 Rails 的方法来做:
view 部分,Angurlar 没有也不需要特别的模板语言,直接在 layout 里面去掉 yeild 的部分,view 文件原来怎么摆现在依然怎么摆,然后自己写个 helper 按照 Rails 的约定将所有 view 合并生成一个 index.html,production 时缓存起来,让所有 html 请求指向它就行了。这样还有个好处:因为实际只产生一个 index.html 而且是静态缓存的,所以写 view 的时候完全不需要考虑 rails 渲染效率问题,可以根据需要肆无忌惮地使用 partial,反正设置好编辑器文件直接跳转很快的,也就不怕所谓的 slim 多层缩进的问题;
然后是 scss 直接 Assets Pipeline,coffee 部分根据业务逻辑切了几个小块,也还是用 Assets Pipeline,然后自己写个 loader.js.erb 用 Assets Pipeline 产生的 js 路径来作异步加载
至于 generator,Rails 自带了 generator 而且可以很简单地自定义 generator,为啥还要用这些?yeoman 我试过,默认生成的模板不合适还是得改,看了一下工作量不比自己写 generator 小……而且还要个问题,前后端完全解耦就没法简单地将后端一些逻辑直接搬过来了,比如没有 form helper,手写 form 会无比蛋疼,原来可以用 ruby 来写的一些东西也没法弄了,比如我整了个 helper 根据后端的 routes 自动生成 Angular 用的 routes;另外完全分开成两套东西,部署的时候复杂度也增加了……
#107 楼 @larryzhao 你只是因为自己学的第二外语是德语才这样说而已,通常人们都会觉得外语比自己母语学起来要难……
但是其实有很简单的方法来相对客观的评价这个问题:自己去写这么几个软件:英语、德语、汉语的互译软件; 英语、德语、汉语各自的校对软件; 英语、德语、汉语写作时的自动补全软件……要是觉得着些太难的话,去折腾一下中文编程……
#76 楼 @larryzhao 既然你自己都知道,语言不是完全逻辑的事,那怎么还没明白呢……语言是将语言表达形式(书面和口语)和语言的内涵(实际表达的意思)建立相互映射,学习语言说白了就是最终形成这个记忆,就像计算机里建立索引一样,想要表达某个意思能立刻想起表达方式,看到听某个表达方式马上能知道所表达的含义。于是迄今为止学习外语最有效率的方法依然是一个字:背,没错,就是一个个去背,这有啥可怕的?谁学语言不是背出来的?
然后学习某门语言的难度基本上就取决于这个要记忆的索引的大小,规则越多,要记的规则自然越多,但是再看看词汇量呢?看看相对应的各个考试要求词汇量吧,德语四级 2400 左右,六级 3000~4000,DAF 6500 左右,英语四级 4000 多,六级 6000 多,GRE,再加 7500,也就万吧个……对应相当的水平,难道你真心觉得记多那么几条规则会比记多出来的单词要难?恰恰因为英语没有像德语那样严格的构词法,才会多出来那么多乱七八糟更加没有规则的词汇
再看看汉语:美国一个正常高中毕业生的词汇量大概有 10000,而国内一个高中毕业生要求掌握 3800 个常用汉字。似乎轻松不少,不过字和词是不一样的,虽然没有确切数据,还是大致可以估算一下:
1994 年清华大学计算机系利用计算机建立了一个大规模的数据库,“它对覆盖汉语的 6763 个常用字的汉语语素及其所构成的二字词、三字词、四字词进行了穷举描述。在汉语语素数据库中共有语素项 17470 个,语素 10442 个,二字词 78230 个,三字词 6700 个,四字词 14200 个。这个数据库共有 116600 条记录 1”。统计数据表明,在这 10442 个语素中,单字语素有 9712 个,占总数的 93%,二字及二字以上的语素为 730 个,占 7%。成词语素 2878 个,半成词语素 432 个,待界定语素 1148 个。由这些语素构成的二字词共 43097 个,其中名词 22016 个,占 51.1%,动词 15666 个,占 36.4%,形容词 3276 个,占 7.6%,三类词占二字词总数的 95%。
大致合理地假设单字词与字数 N 成线性关系,二字词与排列 A(N,2) 成线性关系,三字词与排列 A(N,3) 成线性关系,小说 2 万个应该是有了……我们自己母语是汉语自然意识不到,但是大概这就是外国人在学汉语时要记的东西……
#68 楼 @larryzhao 以语法数量来区分语言难易程度才不科学了吧……语法说白了只是可枚举的规则,类比一下棋类运动,中国象棋有 7 种棋子,9×10 的棋盘,行棋有很多约束,国际象棋 6 种棋子,8×8 的棋盘,围棋只有 1 种棋子,19×19 的棋盘,从规则的复杂性来说,中国象棋高于国际象棋,远大于围棋,但是实际难度呢?公认是围棋远远大于国际象棋远大于中国象棋……
反过来看,约束越少,排列组合起来的可能性明显越多啊,比方网上流传的小明系列:
领导:你这是什么意思?小明:没什么意思。意思意思。领导:你这就不够意思了。小明:小意思,小意思。领导:你这人真有意思。小明:其实也没有别的意思。领导:那我就不好意思了。小明:是我不好意思
正是因为没有各种词性词格,才会出现这种一个语素表达 N 中意思的情况,这才是难学的,那种啃几个星期就能背下来的语法书有什么难学的,单说语法难度对程序员来说不是“21 天精通 X 语言”系列么……
实际上,遇到问题要 google 的时候,报错信息是英文的,相关代码是英文的,也就是根本就想不出啥中文关键词,为啥会需要中文文档……真需要中文文档的人为啥不自己翻译,反而让根本不需要中文文档的人来翻译
直接绑定个快捷键不是更快么……
#12 楼 @beyondyuqifeng 反正域名肯定没匹配对,不然不会进到那个 default 里面去的
相当可能是因为你没用域名访问……你是不是直接用 localhost 或者 ip 地址来访问啊……
弱弱的问下,这是要在哪设置?要重编译 ruby 么?为啥我在 shell 里面 export 后测试速度没啥显著区别……
#2 楼 @wppurking 实际上在中国有多少程序员能胖得起来的……这图哪里 sad 了,简直要羡慕嫉妒恨啊
没对比组说明不了问题,实际相当可能是一般人群肥胖的增多了而已
弱弱的问下,这玩意能在 jbuilder rabl 什么的里面用么?
#1 楼 @flypiggys git submodule update 不更新的吧……
升级明明可以git submodule foreach git pull origin master
像 devise 的默认密码重置邮件是这样的
<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @resource.reset_password_token) %>
明明应该要个 token 的啊,你用户密码模块是自己写的还是用的什么 gem?
就是 .css.erb 这样的来搞啊,貌似你不应该将?v=3.2.1
写在那儿,其实根本没必要,要也是应该放在外面吧……然后有个问题是 assets pipeline 不会根据引用目标内容的改变而自动重编译.css.erb 或者 coffee.erb 这样的文件,需要自定义 guard 来加 timestamp
那个贴子里面唯一正确的做法是 "*p
这才是从系统剪切板粘贴,不需要进入编辑模式……
进入编辑模式以后,即使已经set paste
,但实际上是一个个字符输入,既慢又会触发各种插件,引起各种问题……
没啥区别,这又不能加网速……
ActiveSupport::Concern