我将很快启动一个项目,需要支持大型二进制文件.我想将Ruby on Rails用于webapp,但我关心的是BLOB支持.根据我使用其他语言,框架和数据库的经验,BLOB经常被忽略,因此具有差,难和/或错误的功能.
RoR是否充分支持BLOB?一旦你已经承诺使用Rails,是否有任何问题蔓延?
BTW:我想使用PostgreSQL和/或MySQL作为后端数据库.显然,底层数据库中的BLOB支持很重要.目前,我想避免专注于DB的BLOB功能; 我对Rails本身的反应更感兴趣.理想情况下,Rails应该隐藏数据库的详细信息,因此我应该可以从一个切换到另一个.如果不是这种情况(即:使用Rails与特定数据库存在一些问题),那么请提及它.
更新:另外,我不仅仅是在谈论ActiveRecord.我需要在HTTP端处理二进制文件(有效地上传文件).这意味着通过Rails访问适当的HTTP标头和流.我已更新问题标题和说明以反映这一点.
我知道我可以调用GetVersionEx Win32 API函数来检索Windows版本.在大多数情况下,返回值反映了我的Windows版本,但有时并非如此.
如果用户在兼容层下运行我的应用程序,则GetVersionEx将不报告实际版本,而是报告兼容层强制执行的版本.例如,如果我正在运行Vista并在"Windows NT 4"兼容模式下执行我的程序,则GetVersionEx将不会返回版本6.0而是4.0.
有没有办法绕过这种行为并获得真正的Windows版本?
我最近升级到Subversion 1.5,现在我无法将我的代码提交到存储库.我收到一条错误消息:"403禁止响应MKACTIVITY".我知道升级有效,因为我的开发人员没有遇到这个问题.这是怎么回事?
假设没有返回void,而是返回对类的引用,即使它没有任何特定的语义意义.在我看来,它会给你更多关于如何调用方法的选项,允许你以流畅的界面风格使用它,我不能真正想到任何缺点,因为你不需要做任何事情带有返回值(甚至存储它).
因此,假设您处于要更新对象然后返回其当前值的情况.而不是说
myObj.Update();
var val = myObj.GetCurrentValue();
Run Code Online (Sandbox Code Playgroud)
你可以把两条线结合起来说
var val = myObj.Update().GetCurrentValue();
Run Code Online (Sandbox Code Playgroud)
编辑: 我一想到就问下面,回想起来,我同意它可能是不必要的和复杂的,但是关于归还这个而不是无效的我的问题就在于此.
在一个相关的说明中,你们怎么看待这种语言包括一些新的语法糖:
var val = myObj.Update()<.GetCurrentValue();
Run Code Online (Sandbox Code Playgroud)
此运算符的优先级较低,因此myObj.Update()将首先执行,然后在myObj上调用GetCurrentValue()而不是Update的void返回.
基本上我正在想象一个操作员会说"在左边的第一个有效对象上调用操作员右侧的方法".有什么想法吗?
在用Java创建类时,我经常发现自己创建的实例级集合我提前知道的非常小 - 集合中少于10个项目.但我不知道提前的项目数量,所以我通常会选择动态集合(ArrayList,Vector等).
class Foo
{
ArrayList<Bar> bars = new ArrayList<Bar>(10);
}
Run Code Online (Sandbox Code Playgroud)
我的一部分一直在唠叨我,使用复杂的动态集合来处理这么小的东西是浪费的.是否有更好的方法来实现这样的事情?或者这是常态吗?
请注意,我没有遇到任何(明显的)性能损失或类似的事情.这只是我想知道是否有更好的方法来做事.
比方说,我已经得到了阿尔法的东西,可能会或可能不会是或将与布拉沃或查理的事情.
这些是一对一的关系:没有Alpha将涉及多个Bravo.并且Bravo不会涉及多个Alpha.
我有几个目标:
我有三个想法......
PK = primary key
FK = foreign key
NU = nullable
Run Code Online (Sandbox Code Playgroud)
一张桌子上有很多nullalbe字段(平面文件)......
Alphas
--------
PK AlphaId
AlphaOne
AlphaTwo
AlphaThree
NU BravoOne
NU BravoTwo
NU BravoThree
NU CharlieOne
NU CharlieTwo
NU CharlieThree
Run Code Online (Sandbox Code Playgroud)
许多表没有nullalbe字段......
Alphas
--------
PK AlphaId
AlphaOne
AlphaTwo
AlphaThree
Bravos
--------
FK PK AlphaId
BravoOne
BravoTwo
BravoThree
Charlies
--------
FK PK AlphaId
CharlieOne
CharlieTwo
CharlieThree
Run Code Online (Sandbox Code Playgroud)
两者中最好的(或最差的):许多表的nullalbe外键很多......
Alphas
--------
PK AlphaId
AlphaOne
AlphaTwo
AlphaThree
NU FK …
Run Code Online (Sandbox Code Playgroud) 我有两个相同的表,需要将行从表复制到另一个表.最好的方法是什么?(我需要以编程方式只复制几行,我不需要使用批量复制实用程序).
有没有人有幸在64位机器上使用.Net的Oracle,并使用Oracle的UDT功能?
我已经能够使用x64 ODP.Net客户端,但找不到任何支持UDT的客户端.
谢谢
缺口
[编辑]我在下面发布了一个答案.最新版本(截至2008年12月)是11.1.0.7.这支持64位和UDT.
如何获取特定用户对存储库的提交历史记录?
我可以通过命令行或TortioseCVS访问CVS,因此使用任一方法的解决方案就足够了.
我想在警告对话框中添加一个指向网页的链接,以便我可以更详细地说明如何修复使对话框创建的错误.
如何让对话框显示如下:
There was an error. Go to this page to fix it.
wwww.TheWebPageToFix.com
Run Code Online (Sandbox Code Playgroud)
谢谢.
.net ×2
64-bit ×1
alert ×1
blob ×1
collections ×1
cvs ×1
database ×1
delphi ×1
java ×1
javascript ×1
linq ×1
linq-to-sql ×1
oracle ×1
schema ×1
sql ×1
sql-server ×1
svn ×1
tortoisecvs ×1
version ×1
winapi ×1
windows ×1