从不删除或更新数据的通用数据库

Rich Hickey倡导的数据pipe理方法给了我很大的启发,并且在Datomic中实现,数据不会在原地发生变异,所有版本始终保留并且可以查询,而且时间是第一步 ,一stream的概念。 当然,还有专门的数据库,比如说Git,或者其他的源码控制系统。 问题是,如果有任何(或多或less)通用数据库pipe理系统的关系,graphics,层次结构,文档或任何其他风味,可以有效地使用,如电子商务Web应用程序。 或者Datomic是唯一的select呢?

C ++是否通过值或引用传递对象?

一个简单的问题,我在这里找不到答案。 我所理解的是,在调用过程中将一个parameter passing给一个函数,例如 void myFunction(type myVariable) { } void main() { myFunction(myVariable); } 对于像int , float等简单的数据types,函数是通过值调用的。 但是,如果myVariable是一个数组,只有起始地址被传递(尽pipe我们的函数是通过值函数调用的)。 如果myVariable是一个对象,也只传递该对象的地址,而不是创build一个副本并传递它。 所以回到这个问题。 C ++是否通过引用或值传递一个对象?

是否有一个最佳做法,并推荐替代MVC中的会话variables

好的,在任何人试图确定这是一个“重复”的问题之前, 我已经回顾了大多数关于类似问题的SO上的post,但即使是所有的说法,我仍然有点困惑于决定性的问题,或者我应该就此一致同意。 但是我可以说我(根据职位)确定地确定答案是基于要求的范围。 但即使考虑到这一点,对于我如何处理这个问题,我的意见也显得太多了。 我的直接要求是,我需要从1个控制器中存储多个视图的可变数据。 更具体地说,我有一个控制器和相应的视图,处理购物车项目计数,我想坚持在多个视图的数据。 我在想,_layout视图是这个最合乎逻辑的select。 现在我已经成功地完成了这个任务,将值赋给一个从我的_layout视图中获取的Sessionvariables; 因此,即使用户在网站内的任何位置导航,购物车中的商品数量也会一直存在,直到他们离开网站或完成结帐; 在这种情况下,variables将在代码中清除。 我读过的post似乎有偏见,要么偏离会话variables,而是支持Cookies并将数据存储在数据库中; 或者说为了我打算使用它们的目的,Sessionvariables是完全可以使用的。 我读过的另一件事表明,如果由于信息存储在服务器上,网站上的stream量很高,会话variables可能会阻碍整体性能。 我个人不能certificate将这种types的信息存储在数据库中,然后敲击数据库,我想这可能会影响网站的性能,对于存储临时数据似乎有点矫枉过正。 TempData,ViewData和ViewBag在保存数据时不起作用,因此它们不是IMO要求的合乎逻辑的select。 如果还有另一个适用于Sessionvariables的替代方法(这对我来说很合适),我想知道它是什么。 2个提供最好build议似乎相互矛盾的post让我有些困惑。 缺点: 避免在ASP.NET MVC中使用会话状态是一个好习惯吗? 如果是,为什么和如何? 优点: 仍然可以在ASP.NET mvc中使用会话variables,或者有一些更好的select(如购物车) 似乎这个问题(尽pipe提出了许多不同的变化)没有我可以总结的明确答案。 如果有更好的方法来完成这个没有过度杀伤,那么这就是我正在寻找的答案。 我同时在Global.ascx应用程序开始部分看到了MVCfilter的使用,但是这对于在控制器级别设置的variables和静态variables可能不太合适。 有人可能会对这个话题提出许多不同的意见,也许会提供一个更确定的答案吗? 我敢肯定,不同的意见有其自己的位置,我不是企图抹黑他们。 但有一个明确的,可能是一致的答案会更好; 那么我可以通过其他职位来确定什么是最适合我的应用程序。 当然,如果这个问题没有确定的答案, 只要告诉我,我会尝试从其他职位得到我自己的答案。 谢谢 ================================================== ========= 对答复提供了更新的回应 caching和cookies似乎是从响应的一般偏好,但是我也注意到caching它不是一个理想的候选人跨多个Web服务器使用的声明,因为同步可能是一个潜在的问题。 对Tim的评价是,数据库存储已经过优化,用户可以select稍后返回并继续他们离开的地方。 这是一个很好的观点,但要高瞻远瞩。 这可能是合理的,因为有些用户可能不会在数据库中留下不必要的数据。 因此,为了保持数据库的优化和清洁(这对我而言是同等重要的),需要执行维护任务,根据设定的时间阈值自动使这些logging到期以考虑这些情况。 虽然维护任务不是一个不容置疑的select,但我仍然认为这仅仅是为了作为临时存储的目的而增加了一点工作。 尽pipe如此,我还是尊重蒂姆的build议,并认为在一定程度上反驳我的初步意见是值得的。 数据库似乎不是存储临时数据的可行scheme; 所以我认为妥协可能是将数据存储在数据库中(或者在购物车或类似的情况下)或许在结账之后。 就像您之前所说的那样,随后的访问可能会持续跟踪数据,因此您有交易logging。 但更重要的是,这些交易的数据与数据库保持真正的相关性。 还有人表示,尽pipeSession比数据库快, 但是尽pipe有一些警告,可以在某种程度上被其他机制所缓解,例如利用SessionStateBehavior属性,只是作为一个例子。 但是……我认为Erik用Dunning-Kruger效应开了点家。 虽然从这里给出的答案的内容和解释, 我严重怀疑任何回应者的专业知识都是有问题的。 尽pipe如此,我倾向于认同获得一致意见的事实可能比我的预期要高一些。 我更特别要寻找的是能够舒适地适应多种情况的技术的普遍共识。 […]

R 3.4.1“单个蜡烛”个人图书馆path错误:无法创build“不适用”

我刚刚在我的Linux Mint 18.1肉桂机上更新到R(3.4.1“Single Candle”),我试图安装一个软件包。 R返回了以下内容: > install.packages('ggplot2') Installing package into '/usr/local/lib/R/site-library' (as 'lib' is unspecified) Warning in install.packages("ggplot2") : 'lib = "/usr/local/lib/R/site-library"' is not writable Would you like to use a personal library instead? (y/n) y Would you like to create a personal library NA to install packages into? (y/n) y Error in install.packages("ggplot2") : […]

.NET / Windows Forms项目有没有替代Maven的?

什么是用来代替Maven的C#Windows窗体项目? 我们有世界各地的开发人员,并试图提出一些干净简单,快速的依赖pipe理系统。

在Clojure中代表一棵树

在Clojure中代表一棵树的习惯用法是什么? 例如: A / \ BC /\ \ DEF 性能不重要,树木不会超过1000个元素。

CodeIgniter,模型和ORM,如何处理这个?

我从CodeIgniter开始,经过几个小时的谷歌潜水,我有点困惑。 让我们试着用一个简单的例子来解释我的问题:我有一个'名字'和'颜色'字段的表'汽车'。 因此,我想要一个PHP类的汽车,以便我的代码可以看起来像这样: $car = new Car('BMW', 'red'); //new $car Object $car->save(); //this will make an SQL insert to the table 'car' //Lets query all cars $cars = Car::get_all(); //cars will be an array of Car objects, (not a set of rows!) 因此,我正在寻找与RubyOnRails或Django(Python)中的东西非常相似的东西。 我需要处理所有types的关系,并能够以真正的OOP + MVC方式编写代码。 这些是我的失败方法来得到它: 使用外部ORM (DataMapper,Doctrine,AcidCrud …) 他们要么需要太多的设置,要么处理好关系。 使用CodeIgniter类 (扩展CodeIgniter的Model类) class Car […]

使用ggplot2绘制“序列标识”?

是否可以使用ggplot2绘制一个序列标志图 ? 有一个基于名为“ seqLogo ”的“grid”的软件包 ,但我想知道是否可以有一个ggplot2版本。 谢谢。

立即窗口,“expression式不能被评估…”

当我在devise时尝试在即时窗口中评估expression式时,出现错误: 在devise模式下不能评估expression式。 如果我编译ASP.NET项目,并尝试在debugging模式下运行,我得到另一个错误: 在运行模式下不能评估expression式。 为什么我会得到这些错误? 过去我使用了立即窗口,即使在devise模式下也能正常工作。

Rails模型:你将如何创build一个预定义的属性集?

我试图找出devise一个轨道模型的最佳方法。 为了这个例子的目的,假设我正在构build一个字符数据库,它可能有几个不同的固定属性。 例如: Character – Morality (may be "Good" or "Evil") – Genre (may be "Action", "Suspense", or "Western") – Hair Color (may be "Blond", "Brown", or "Black") … 等等。 所以,对于angular色模型,我有几个属性,我想基本上有一个固定的可能select列表。 我希望用户能够创build一个angular色,并以我希望他们从每个可用选项中挑选一个angular色。 我也希望能够让用户使用这些属性中的每一个进行search…(例如,“向我展示'好'的angular色,从'悬念'stream派,并有'布朗'头发)。 我可以想到一些方法来做到这一点… 1:为每个属性创build一个string并validation有限的input。 在这种情况下,我将在字符表上定义一个string列“Morality”,然后在其中指定一个选项,然后对该类常量进行validation。 find好的angular色就像Character.where(:morality=>'Good') 。 这是好的,简单的,坏处是如果我想添加一些更多的细节的属性,例如有一个“好”和“邪恶”的描述,和一个页面,用户可以查看所有的字符为给定的道德。 2:为每个属性创build一个模型 在这种情况下, Character belongs_to Morality ,就会有一个Morality模式和一个有两个logging的moralities表: Morality id:1, name:Good等 find好的字符就像Morality.find_by_name('Good').characters …或者Character.where(:morality=> Morality.find(1) 。 这工作正常,但这意味着你有几个表只存在less数预定义的属性。 3:为属性创build一个STI模型 在这种情况下,我可以做同样的#2,除了创build一个通用的“CharacterAttributes”表,然后子类为“道德属性”和“GenreAttribute”等。这使得许多属性只有一个表,否则似乎大致相同作为想法#2。 […]