粗略的看了下,你们的全栈,并没有教 responsive, 也没有做资源优化等 web performance 方面的内容。 前端用的是 bootstrap, 连自己搭个东西学习的过程都省了,且把 bootstrap 用成了所谓的 960px. 客户系统用的 meiqia.com, 也不是自己做的。也没有看到针对 js 学习方面创作的 js 代码. 后台代码看不到,就不说了。 在这坛子里也没亲没故,不怕得罪人,说句,出 5 万块钱花 2 个月这么短的时间,学到的东西既不扎实,也不全面。这世界上捷径是很少的,特别是技术上来说。奉劝搞培训的人,请你们不要收贷款/砸锅卖铁/欠债来的学员。虽然是经济社会,太不讲良心说不好还是要遭罪的。
[老板只给了一本 ruby on rails web 的书] , 老板如果一本都不给,或者不给你来个 1 对 1 喂饭,你就没办法了吧? 鬼斧神差是什么玩意? 类型的什么都没有,你在讲笑话? 很奇怪某些人,不爱一个玩意,偏到这玩意的爱好者社区去发一些低级的牢骚,究竟图的是啥?
断断续续玩了好一阵子,感觉 crystal 对我很有吸引力。几点粗略感观:
总结下, 这是一个语法优美,性能强大,面对对象的语言,很多人特别是 js 方向的程序员,可能认为函数式编程是未来,不过我觉得面对对象对于解决软件复杂度问题还是大杀器。crystal 大多数情况下,可以按动态语言的编程习惯,来写出静态语言程序。且 crystal 在静态类型的前提下,没有牺牲掉灵活性。stdlib 对于流行技术做了内置,可能是人称之为 modern stdlib 的原因?并发被当做重点特性来对待,处于 语言的 roadmap 中。 就网络程序的发展来看,有后台 api 化,重前端的趋势,对于这类 app, 后端的 framework 会追求轻量,并发,高速,我觉得 crystal 还是很有发展潜力的. crystal 高速,省内存,高级语言的特点,我觉得会比 ruby 适合于更多的领域。只不过 crystal 正处于发展中,有待时日吧。
2.3 可以编译 bytecode. 记得看过个 ko1 的演讲,好像是说能提高 30% 的启动速度。数字记不大清了。
rubymine 和 atom 是两种东西。前者 ide 后者 编辑器。
atom 即便是未来,也是编辑器的未来。atom 速度上不如 sublimetext, 功能也没有什么独到之处。不过 hackable 可以自定义极多的地方,可以完全打造出适合自己的编辑器。即便如此,它也并不是 ide.
而你要的功能是 ide 所具有的功能。atom 即便弄上 ctags 之类的,也达不到 ide 中的水准。诸如你说的跳转到定义,以及自动打开该方法对应的文件,且定位到该位置,以及代码自动补全等功能,都建立在对源码的 parse 上面。
用编辑器的话,我觉得把 difinition 放脑袋里,加上适当的便于查找的组织结构会比较靠谱。不同的东西,不同的用法。
就个人观感,感觉你是做社会调查的,还不如真到知乎问呢,估计人更多点. 我觉得提问题,首先对问题是否成立,总得先做个研究吧,无论你是做社会调查,还是问技术问题。 很多国企程序员素质高,你可有论证? 假设你的前提成立,那么是否同样有很多,甚至更多国企程序员素质低呢? 再假设这个鄙视链真实且普遍存在,是否是大量低素质的国企程序员拉低了这个群体的观感呢?如果是,那么和该群体存在高素质人才就无关了。
我觉得搞了两年 ruby, 连个字符串翻转都不清楚,可能稍微会有点问题吧。 我倒不觉得不了解这个知识本身能算多大问题,而是感觉你在自身知识圈上的拓展做的有点不够。 比如说这个采集的工作,基本上就是分析 html 结构和 css 结构,然后对采集的内容可能会进行一定的操作,也就是字符串操作。按道理应该会对 html, css, 以及字符串操作比较精通才对。 程序员有一定的视野,对自身发展,业务能力方面,是绝对有好处的,视野来自于自己对自己知识边界的拓展。比如你说的前端,深入一下,学习成本并不会非常高,收益还是较大的. 于其问现在自己值多少,我觉得换个问题问问,你觉得你自己还能提升的空间有多少?二十几岁总的来说还属于积累的时候。
实现的问题只能在 c 源码中得到解释。要理解这个实现上的技术问题,只能看源码. 源码包中的 class.c 应该能找到答案。
You Scored: 10 / 10 Ranking: Ruby expert! 好开心
filco 系列你说的三种轴我都用过。我说下个人看法,仅供参考: 对于敲文字或代码,青轴我觉得最差。因为青轴的反弹最慢,会有种键位弹起跟不上手速的感觉。茶轴和红轴好很多,反弹干脆快速,无拖泥带水感。 茶轴和红轴,手感都可以,码代码两个都不可能是错误的选择,差别是茶轴有点点段落感,红轴由于触发键程短,会更有蜻蜓点水的感觉。
新手请你先学会看日志,然后学会把关键信息贴到 google 搜下。
题主的不就是 crud 么?不过是带了 scope. 而且简单,也仅和该 model 联系紧密,也不涉及到跨 model 操作。做个类放到 lib 不会过度了点?
controller 里面尽量少逻辑,特别是这种没必要的。把东西放到 model 里去,外面使用类似 xxxxx.filter_by(参数) 这样不就成了。另外类似这种其实只是匹配而不太逻辑的东西,用动态方法也是可以的。
&. try 基本上用途都是对付对 nil 对象。a.b.c 这样的火车是 nil 的老窝。 代码中频繁出现 a.b.c.method, 违反 Demeter law. 我觉得需要认真思考类设计,并适当包装。 &. 和 try 在代码中到处出现的时候,可以用 null object 来解决很大一部分。
建议以 rbenv,rvm 代替 sudo 和 system ruby。
看了下,大概是全栈的样子,不过好像没看到对学员的要求和知识储备。主要内容大概是倾向于实操。 我觉得一个知识的学习,两部分都不可少的,知识理论和实操。文中有‘跳过枯燥的基础理论’字样,还真让人不放心。 如果是一个普通的没基础的人,两个月的时间,不吃不睡,最多也只能把大象的皮毛摸个遍。独立地做个产品,我估计够呛。 我真心建议,对于普通人,自认自己仙风道骨、不是凡胎肉体的除外,将时间放大到 6 到 12 个月。可能性会大很多,也有时间来充分的思考,领悟知识点之间的联系。脑子不是大水缸,只要倒得多,倒得快,就能满得快。更像是个细脖子瓶,领悟是需要时间的。
我觉得从 rails 来管理插件,但不负责异常处理,会不会稍微简单点。 做一个加载器,比如 initializer 中的 plugins_manager.rb. 管理插件的开关状态文件(plugins_state.yml),并根据此文件加载 plugins。 插件自负责异常,确保失败时要处理自身在 plugins_state.yml 中的设定,touch restart。
(貌似 BUG)奇怪,顺便报下:为什么「注册」和「api] 两个词连起来,「api」就不显示了。
这是 google 的 geolocation: https://developers.google.com/maps/documentation/javascript/examples/map-geolocation,里面有示例。国内不翻墙可能用不了,需要注册 api key。
整个流程是从 google 那边走的,你整合代码,配置好 api key 即可。和「mvc 之间的关系」好像并没有什么关系。
刚测了下,2.4.0preview1 和 rails5 rc2 配合好像没什么问题。
其实真心推荐搞个 hp gen8,弄个 esxi,然后把这一团线扔出窗外。不过好像来不及了。
问题如此模糊,感觉不怎么好回答吧,什么样叫「不重」?「必要组件」包含哪些?「兼容性好」到底要到哪个 ie 版本?「适合国内」单纯指国内浏览器兼容性还是另有所指? 虽然有 base、skeleton 等轻型框架,但好像并不符合「兼容性好」,「适合国内」的特点。基本都是 ie8+ 的起步,新的基本都是 ie9 起步。Semantic UI 之类的还是 ie10+。 自己写的话,抛弃 rem,加上各种 fallback,弄个 reset 起步应该是最灵活的。 要么就是 css 预处理 + bootstrap、foundation 等等来深度定制,切掉你不要的部分。
个人对各种语言和技术都比较感兴趣,会去了解功能,特点以及应用范围等相关信息。至于语法等细节,则不会特意去学。倒不是说懒或者性价比低,而是不经常使用的东西,学了白学,还是会忘记的。
下午一个 bundle 命令花了 2 个小时,中间断了很多次。
首先考虑必要性吧,这个工具的本质、生命周期,以及使用对象是否需要优越的设计。如果确实必要的话,对于设计方面有困难的,还是走极简流比较适合。
该讨论页下面不是说了么,不搞语法,在注释,rdoc 等等里面搞。
一点个人看法,随便侃侃: 该文讲了 2 点,ruby 慢,ruby 并发不行。所以要学一门快不了多少,且成熟度不够的语言。 首先 ruby 在 2.3 下来看,不算太慢。且开发尚算活跃,未来进化如何,还是可以期待下的。 学 elixir 的必要性,好处在哪,能称之为「下十年的语言」的原因,还是不明显。 ps:我觉得下十年的语言应该是大家都会的 javascript 吧,或者是基于 Javascript 上的一种超集「方言」。
长见识。
渲染一个字符串?render text: 'job done.'
google 了下貌似有人说是 xcode command line tools 的问题。反正试试吧 xcode-select --install, 然后再看看