小编use*_*220的帖子

什么是缓存控制:私有?

当我访问chesseng.herokuapp.com时,我得到一个看起来像的响应头

Cache-Control:private
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/css
Date:Tue, 16 Oct 2012 06:37:53 GMT
Last-Modified:Tue, 16 Oct 2012 03:13:38 GMT
Status:200 OK
transfer-encoding:chunked
Vary:Accept-Encoding
X-Rack-Cache:miss
Run Code Online (Sandbox Code Playgroud)

然后我刷新页面然后得到

Cache-Control:private
Connection:keep-alive
Date:Tue, 16 Oct 2012 06:20:49 GMT
Status:304 Not Modified
X-Rack-Cache:miss
Run Code Online (Sandbox Code Playgroud)

所以看起来缓存工作正常.如果它适用于缓存,则ExpiresCache-Control的重点是:max-age.更令人困惑的是,当我在https://developers.google.com/speed/pagespeed/insights/上测试该页面时,它告诉我"利用浏览器缓存".

caching http cache-control browser-cache http-headers

138
推荐指数
3
解决办法
11万
查看次数

关系数据库与图数据库的比较

有人可以向我解释一个关系数据库(例如MySQL)与Neo4j等图形数据库相比的优缺点吗?

在SQL中,您有多个表,其中各种ID链接它们.然后你必须加入连接表.从新手的角度来看,为什么要将数据库设计为需要连接,而不是将连接从一开始显示为边缘,就像使用图形数据库一样.从概念上讲,对新手来说没有任何意义.据推测,这有一个非常技术但非概念性的原因?

sql relational-database graph-databases

80
推荐指数
5
解决办法
4万
查看次数

force_ssl在Rails中做了什么?

在之前的一个问题中,我发现我应该设置nginx ssl终止,而不是让Rails处理加密数据.

那为什么以下存在呢?

config.force_ssl = true
Run Code Online (Sandbox Code Playgroud)

我在生产配置文件中看到了这个注释.但是,如果期望nginx将处理所有ssl的东西,以便我的rails应用程序不处理加密数据,那么做config.force_ssl = true什么?

如果我知道我将永远使用nginx,我应该把它留在生产中注释掉吗?

ssl ruby-on-rails nginx

79
推荐指数
4
解决办法
5万
查看次数

为什么fortran用于科学计算?

我读过Fortran仍然大量用于科学计算.对于已经大量投资Fortran的代码,这对我来说很有意义.

但是有理由将Fortran用于其他现代语言的新项目吗?与更流行的语言(C++,Java,Python,Ruby等)相比,Fortran中的语言设计决策是否更适合科学计算?例如,与我提到的其他语言相比,Fortran的特定语言功能是否允许编译器中的数值优化程度更高?

fortran

57
推荐指数
3
解决办法
5万
查看次数

什么是Haskell的DataKinds扩展?

我试图找到一个对DataKinds扩展的解释,这对我来说只是读过Learn You a Haskell才有意义.是否有一个标准的来源,对我来说,我学到的东西很少?

编辑:例如文档

使用-XDataKinds,GHC会自动将每个合适的数据类型提升为一种类型,并将其(值)构造函数作为类型构造函数.以下类型

并举例说明

data Nat = Ze | Su Nat
Run Code Online (Sandbox Code Playgroud)

产生以下种类和类型构造函数:

Nat :: BOX
Ze :: Nat
Su :: Nat -> Nat
Run Code Online (Sandbox Code Playgroud)

我没有明白这一点.虽然我不明白是什么BOX意思,陈述Ze :: NatSu :: Nat -> Nat似乎说明的是,通常已经是泽和苏都是正常的数据构造完全一样,你希望看到与ghci的情况

Prelude> :t Su
Su :: Nat -> Nat
Run Code Online (Sandbox Code Playgroud)

haskell types algebraic-data-types data-kinds

56
推荐指数
2
解决办法
1万
查看次数

Dynamic dispatch in Haskell

用例如Java编写的程序很大程度上依赖于动态调度.如何用Haskell等函数式语言表达这些程序?换句话说,Haskell在"动态调度"下表达这个想法的方式是什么?

haskell functional-programming dynamic-dispatch

49
推荐指数
4
解决办法
6402
查看次数

为什么SQL数据库在命令日志中使用预写日志?

我读到了Voltdb的命令日志.命令日志记录事务调用,而不是像在预写日志中那样更改每一行.通过仅记录调用,命令日志保持最低限度,从而限制磁盘I/O对性能的影响.

任何人都可以解释数据库理论背后为什么Voltdb使用命令日志以及为什么标准SQL数据库(如Postgres,MySQL,SQLServer,Oracle)使用预写日志?

sql database logging transactions voltdb

46
推荐指数
1
解决办法
1万
查看次数

RabbitMQ独占和自动删除的区别?

第19页的"RabbitMQ in Action"一书给出了独占和自动删除的描述:

exclusive - 设置为true时,您的队列将变为私有,并且只能由您的应用程序使用.当您需要将队列限制为仅一个使用者时,这非常有用.

自动删除 - 当最后一个使用者取消订阅时,将自动删除该队列.如果您需要仅由一个使用者使用的临时队列,请将auto-delete与exclusive结合使用.当消费者断​​开连接时,队列将被删除.

但据我所知,使用独占时,自动删除是多余的.只需要独家.RabbitMQ 教程似乎就是这样说的

...一旦我们断开消费者,就应该删除队列.有一个独家标志:

result = channel.queue_declare(exclusive=True)
Run Code Online (Sandbox Code Playgroud)

在该教程中没有提及自动删除,并且sudo rabbitmqctl list_bindings似乎表明在接收器消失后队列实际上被删除了.

rabbitmq

44
推荐指数
2
解决办法
3万
查看次数

为什么Rust有struct和enum?

Rust的枚举是代数数据类型.据我所知,这似乎包含了什么结构.有必要保留它的结构有什么不同?

rust

36
推荐指数
3
解决办法
7570
查看次数

何时使用Paxos(实际使用案例)?

有人可以给我一份Paxos的实际用例列表.这是需要达成共识的真正问题,是更大问题的一部分.

以下是Paxos的用例吗?

假设有两个客户在扑克服务器上互相玩扑克.扑克服务器被复制.我对Paxos的理解是,它可以用来保持代表当前扑克之手的内存数据结构的一致性.也就是说,确保所有副本具有完全相同的内存状态.

但为什么Paxos必要?假设需要处理新卡.如果一切正常,运行相同代码的每个副本将生成相同的卡.为什么客户端不能从所有复制的服务器请求最新状态,并选择最多出现的卡.因此,如果一台服务器出现错误,客户端仍然可以通过选择多数来获得正确的状态.

algorithm distributed consensus paxos

22
推荐指数
3
解决办法
8704
查看次数