不会。
楼上神仙打架。
哎哟兄弟,做产品的你就认命了吧。。怎么能少了报告。。
因为你是在 dev 模式,所以 rails s 是阻塞的:一个进程卡住,就不服务其他了。
要是你用了 unicorn 之类的多进程服务器的话,应该就不会有这个问题了。
我觉得如果楼主面临着 mac 与 linux 的选择的话,其实你要的答案是 heroku。
我就是来看看第一句然后就走的。。
恭喜恭喜~!
#8 楼 @blacktulip 嗯。。说起来有盗版有正版吧,有些书本身就是开源的,在上面可以找到。有些书是有版权的,也找得到.....
只能说...大家尽量去上面下载 O'Reilly 开源出来的书籍吧。。
这个网站皮皮书屋也有很多类似的电子书。
#42 楼 @tyaccp_guojian 我是那个简历的主人...其实我学的东西大部分都不是老师教的,我也不在乎老师在学校教的那些。如果今后要回顾我大学期间学习的计算机知识,我主要会感谢 O'Reilly、机械工业出版社、各种开源文档以及开源社区。
听说这是 Node.js 最适用的场景...用了 Node.js,同时并发多少都能撑住。。。至于上万的话能不能,可以去 cnodejs 问问吧我觉得。
/\d{4}\\/\d{2}\\/\d{2}/
试试这个?
『你是不是彰显自己的个性,ruby 都是日本人在玩』
这句话是无知成年人在面对自己不懂领域时,对青少年说出的典型话语。
#63 楼 @tangzhan_ 一直在寻找更合适的词语来表述:)
墨龙科技??莫非我们在川大见过面??
对的,这是 Ruby 不好的地方。
之前只有 &:*
,后来进一步简化,有了 :*
。以后只使用后者就好了
他们的本质都是会自动调用 #.to_proc。
对了,楼主,忘了说。我最近为了面前端职位,一直都是复习的 HTTP、CSS、JS 这类东西。Python 已经很久没有看了,虽然平常也会使用它。
这份面试题合不合格的话,要看你面的是什么公司的什么职位了。但如果面试者单纯面这些,而缺乏了一些主观性方面的题目的话,当然是不合格的一个面试题。
and 我觉得,有可能面试官也不是想你全部回答出来这些问题吧,可能他是想尽量多出点题目,然后挑你掌握的部分跟你聊,免得出了你刚好不懂的题目把你给错过了。
首先,你既然打算以后让授权用户可以创建多个单词表,那么你的 user 表 和 wordlist 的关系一定得是一对多的啊,你的帖子里说是 一对一,这让我很迷惑。
我就当是一对多吧。当你在 activerecord 里面指定了 user 和 wordlist 的关系后,你应该可以通过
current_user.wordlists 来取出当前用户对应的 wordlist 来的。Rails 会自动取出 user_id 对应当前用户的 wordlist 来。这样的话,当然『每个用户仅能对自己的单词表进行增、删、改、查操作,而无法对其他用户的单词表做这样的操作。』啦。
『今后想实现,普通的注册用户仅能创建一个单词表,只有授权的用户可以实现多个单词表。 请问实现这样的效果,实现的思路是什么?』
我觉得你在 #2 楼 的两个需求啊,其实都是关于权限控制方面的内容,这跟你用不用 devise 貌似关系不是很大。有兴趣的话,去了解一下 cancan 这个 gem 吧。
#21 楼 @lgn21st 我觉得 @hello_little_yy 貌似不是在鄙视楼主诶...他鄙视的是面试官吧...因为一开始他 bless 楼主啊..
楼主,这是我在不查任何资料的情况下,直接打开 ST2 答题的结果,希望对你有帮助。
我最近也在面试,虽然不是面试 Python 程序员。:):
1. List 对应普通编程概念中的数组,在 Python 中,List 里面可以容纳不同类型的数据,且 List 的大小是可以动态分配的。Tuple 相当于不可变的 List,使用起来在性能上有优势。Dict 对应编程概念中的 Hash 或者叫字典,是 Key-Value 形式的一个容器,Key 不可重复。顺便说说,还有个类型叫 Set,可以理解为不存在重复值的 List。
使用场景:
需要存储相同类型的一系列数据时,使用 List。
当上一场景的数据集不需要发生变化时,使用 Set。
当数据可以通过某种方式的 标志 进行读取时,使用 Dict。比如一个 House,里面会有 Bed,Table 等等其他嵌套的属性,且可以通过标志进行定位。
2.
List Comprehension 是从 Haskell 里面借来的思想,它是一种语法糖。用它可以实现 filter 与 map 功能的简写。
代码示例:
[i for i in xrange(100) if i % 2 == 0] # 取出 100 以内的所有偶数。
直接使用 '+' 号,不考虑它与 str.join 之间的效率问题,因为解释器会优化。
4.
for line in open('filename.txt'): print line
5.
try: d[keyy] = 1 except KeyError, e: print e
6.
generator 会使用 yield 来产生数据,可以被 for 来逐个调用。如果不使用 for 来遍历 generator 的话,可以通过 iterator 的 next 一类的函数来手动控制消费数据的节奏。如果没记错,iterator 还可以向 generator 通过 send 来发送数据进行交互。
当 generator 不被继续消费时,它会『停止』并等待下一步的消费,这是 Python 中的协程特性。
他们的关系是:generator 提供一个可用的数据集,惰性的产生数据;iterator 负责消费。
7.
特殊方法??元编程吗?或者是 '__' 包含的方法??我随口说几个。
len 长度相关
getattr and getattribute 略
index 貌似是这么写。控制 [] 操作符的意义。
8.
最简单的方式是使用 docstring 的测试。如果用到相关测试库的话,记不得名字。但测试的主要思想还是明白的。
9.
docstring 可以被用来生成文档,而 comment 一般不负责这个功能。且 docstring 里面可以加测试用例和一些类似 @arg:int 这样的详细说明。
使用场景:
当概括性地描述一个 类 或者 函数 的时候,使用 docstring。
当针对小的功能或者代码段进行说明的时候,使用 comment。
10.
Python 中的正则又没有什么需要特殊注意的地方。略。
唯一需要注意的地方就是,当使用的正则多次出现时,最好用上 re.compile
。
11.
decorator 通俗地讲是用来『包裹』函数的。它出现在函数或者类的定义之上,用来执行一些 pre_run 和 post_run 的功能,但它一般不用来改变函数的内部运行内容。
用法??比如写了一个通用的『函数参数打印』 decorator 的话,就可以在需要的函数前加上这个 decorator。
代码示例:
@logArgs def myFunc(arg1, arg2): pass
12.
Python 以文件作为 namespace,不存在通常意义上的全局变量和函数。所使用的外部模块都需要通过 import 来导入。
variable scope 的话,就只说说闭包方面的内容吧。在一个函数中是可以『看见』外部变量的,但只限于 get 而无法 set,一般情况下,会借助 global 声明来完成某些变量的共享。当然,也有个叫做 local 的声明可以使用,这样的话,某个被 local 声明了的变量就会从当前函数自动向外查找。
13.
classmethod 会把自己作为 cls 参数传给所定义的函数(当然,也不一定要叫 cls 这个名字),而且定义出来的函数是一个类函数。用 staticmethod 与 classmethod 差不多,只是类不会把自己传给函数,一般使用 classmethod 就好了。
普通 method 也要分两种情况。不在类中定义 method 时,不会传入 self,在类中定义时,需要手动传入 self。
and 说更细也行,只是不懂面试官想考什么。
14.
略。
15.
举一个例子:Flask 通过 decorator 的方式来实现 route 我觉得很巧妙。
#1 楼 @5long #4 楼 @jjym #6 楼 @zgm #7 楼 @quakewang #8 楼 @wuwx #10 楼 @luikore #11 楼 @sevk
忍不住 at 了楼上所有人的原因是,你们真的觉得在这个问题里面用上了 :to_i 这个方法是合适的吗??
看到楼上的朋友用 :to_i,让我想起了大一上 C 语言课的时候,老师要我们计算一个数字有几个尾随的 0,比如 300 有两个,10000 有四个。由于 C 语言里面的字符串老师不打算让我们接触,于是就让我们通过求余的思维来做这一题,而且它也没提到 其实这题就逻辑上来说,是不应该用求余来做的 。
楼上的各位你们想想,楼主的需求要的是一种 模式 上的匹配!而你们却通过 :to_i 的方式来找出这种模式上的匹配,我觉得是不可取的一种思维。更正确的方式应该是通过字符串的思维来对待楼主的需求,即,通过正则来完成。
借用一下 #11 楼 的代码,我给出的答案是:
["11.0", "0.1", "1.2", "1.3", "0.2", "-11.5"].group_by{|s| s.match(/(.+?)./)[1] }
输出:
{"11"=>["11.0"], "0"=>["0.1", "0.2"], "1"=>["1.2", "1.3"], "-11"=>["-11.5"]}