问题标签 [design-decisions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 通过 rails 托管多个站点 - 我应该使用一个 rails 实例还是多个?
我正在构建一个 Rails 应用程序,它将托管多个射箭联盟网站。让我们称之为 myarchery.com,假设我有 2 个站点:billsleague.myarchery.com 和 jimsleague.myarchery.com。
现在,当我构建它时,我可以:
让一个 Rails 应用程序提供子域(大本营风格),共享所有模型等,但将帐户属性放在所有内容上
使用自己的 Rails 应用程序实例设置每个帐户
我更喜欢在一个实例中运行它们——(B/CI 可以在他们注册时立即设置他们的网站,进行一次登录等)。但是,我想看看是否有正当理由独立运行它们。
如果这会影响您的答案,我计划使用 apache/passenger 在 Linode 上运行它
r - What kind of on-line / real-time applications have you deployed using R?
R can be very useful for prototyping and some exploratory work. However, I'd like to know what kind of on-line
or real-time
applications have you (the SO reader) successfully deployed using R and why did you choose R for that task.
Questions:
- What kind of problem did it solve? (trending, analysis, etc.)
- Why did you choose R over other programming languages? (pros/cons: speed, scaling, etc.)
I'm looking for first-hand experiences, so please do not answer unless you have that.
java - 从访问器抛出异常的错误设计决定?
我已经阅读了一些关于在访问器中抛出异常的优缺点的答案,但我想我会用一个例子来提出我的具体问题:
getStrings()
正在抛出一个尚未设置的Exception
时间。strings
这种情况是否可以通过某种方法更好地处理?
wizard - 巫师的逻辑行为
我的问题是关于向导中后退按钮的一般功能。我在考虑这个按钮的可能行为,但我找不到任何线索,哪一个是这两个选项之间的正确选择。
1- 它应该显示上一页,并且不应该保存在当前表单中所做的更改。
2- 它应该显示上一页,并且应该保存在当前表单中所做的更改。
我想知道您认为哪个选项是后退按钮的正确行为以及原因。
java - If we have @Override why is there not @Implementation or @Implements`?
I'm curious as to why we have the @Overrides annotation, but there is not a similar idiom for interfaces (such as @Implements or @Implementation). It seems like it'd be a useful feature, as you could require the interface you are implementing to be a value of the annotation.
Was this a conscious decision or just an overlooked one?
I found this question, but it doesn't seem to discuss why there wasn't a separate annotation created.
c++ - 为什么 iterator::end() 是非静态成员并且与 string::npos 不相似?
在遍历 a std::map
orstd::vector
或其中包含的任何容器iterator
时,会检查.variable.end()
而不是container<>::end
. 例如,
上面突出显示的部分不能是这样的:
这类似于 static member string::npos
。.end()
提供每个变量基础而不是每种类型的容器基础的设计决策背后的原因可能是什么?(即map<int,int>::end
和map<int,double>::end
会有所不同;但对于每个map<int,int>
变量,::end
将是相似的。)
model-view-controller - MVC - 视图中的数据源容器
在干净的 MVC 中,我会从数据库中收集数据并将其传递给要呈现的视图。
即使视图逻辑选择不渲染某些元素。这提出了以下问题:
准备一个包含所有数据库查询的容器是否干净,但仅在视图开始迭代此容器(它是可迭代的)时从视图中获取数据,而不是“在控制器中”获取数据?
附录
我传递给视图的容器是“一种”模型,我们称之为模型ExpensiveObjectProvider
。当这个容器被传递给视图时,数据还没有从数据库中获取。
容器封装的对象可能很昂贵。我认为仍然在控制器中执行此操作的唯一原因是错误处理(如果数据库查询出错、连接问题等)。您认为从控制器中的数据库中预取前 1-2-3 个对象,然后将容器传递给视图(如果没有发生异常)并让视图消耗预取的数据,这是一个很好的权衡吗?并在迭代容器时获取新项目?
database - 多个复选框的数据库模式
我目前有一个用户表,现在想为特定用户添加其他用户相关信息。接受此信息的表单具有语言和操作系统等字段,每个字段都有一个带有复选框的选项列表。
例如:
已知语言:复选框 PHP、Java、Ruby
操作系统知识:Windows、Linux、Mac
目前我的数据库表如下所示:
这看起来像是一个很好的架构吗?还有更多这样的与用户相关的字段,每个字段都需要有自己的表,并且表中似乎有很多冗余,因为成千上万的用户会知道 PHP,因此将有数千行以 PHP 作为语言对于每个不同的用户。
有没有更好的方法来组织架构?
template-engine - 为什么 Playframework 2 使用自定义 Scala 模板引擎而不是 scalas 以 xml 模式构建?
Play 2.0 使用自定义的基于 scala 的模板引擎,允许在 html 代码中使用 scala 的子集。
为什么做出这个设计决定而不是使用 scalas 内置 xml 模式?
播放模板引擎有一些缺点,例如
- 仅支持 scala 的一个子集,例如似乎无法在函数内部定义函数
- eclipse中没有编辑器支持
另一方面,我知道 play scala 模板引擎支持非格式良好的 html,这在 scalas xml 模式下是不可能的,但我想应该总是可以以格式良好的方式编写模板。我只是 play 和 scala 的初学者,只是想了解上下文。
jsf - 为什么将“立即”属性添加到 EditableValueHolders?
最初immediate
标志仅用于ActionSource
接口。但后来它也被添加到EditableValueHolder
界面中。设计决策的原因是什么?