我的rails网站运行Mongrel,我使用的内存量有问题.我的ruby-bin进程占用了大约66 MB的驻留内存.如何减少rails使用的内存量?
如果以这种速度占用内存,在一台机器上运行许多rails服务器是不太经济的.我的php5 fcgi进程位于15-25 MB之间.
我对RoR很不熟悉,会不会使用JRuby的帮助?任何有助于减少内存占用和提高性能的评论都非常受欢迎.
我想在我的模型中将数据类型表示为单个列,但实际上数据将存储在数据库的多个列中.我在SQLAlchemy中找不到任何有关如何执行此操作的良好资源.
我希望我的模型看起来像这样(这是一个简单的例子,使用几何而不是我真正的问题,这很难解释):
class 3DLine(DeclarativeBase):
start_point = Column(my.custom.3DPoint)
end_point = Column(my.custom.3DPoint)
Run Code Online (Sandbox Code Playgroud)
这样我就可以一次分配一个具有点的(x,y,z)分量的对象,而无需单独设置它们.如果我必须将每个组件分开,这可能会变得很难看,特别是如果每个类都有几个这样的复合对象.我会将值组合到一个编码字段中,除了我需要分别查询每个值.
我能够在文档中找到如何使用单个列创建自定义类型.但是没有迹象表明我可以将单个类型映射到多个列.
我想我可以通过使用一个单独的表来实现这一点,并且每列都是一个外键,但在我的情况下,我觉得将每个点的一对一映射到一个单独的表是不合理的,这个仍然无法一次性设置相关值.
我在这里有点困惑,我使用队列,我到了一点,我有点迷失.
我有一个名为getPeoplewho 的方法,必须从服务器获取用户的图片.为了不阻止应用程序,我使用了这个:
-(IBAction)seeMorePeople{
dispatch_queue_t getPeopleQueue = dispatch_queue_create("Pinta Ocupantes", NULL);
dispatch_async(getPeopleQueue, ^{
[self getPeople];
});
dispatch_release(getPeopleQueue);
}
Run Code Online (Sandbox Code Playgroud)
每次用户点击按钮时都会执行上一个代码.像"从这张专辑给我照片"然后另一个点击"现在我想要来自其他专辑的人物照片",不同的照片和不同数量的照片.如果用户非常快地点击按钮,则第一个队列在第二个队列已经启动时不会完成获取数据.在getPeople我将数据存储在NSMutableArray中时,所以当两个队列同时执行时,两个队列都在同一个数组上写入,并且应用程序因超出范围异常而崩溃.getPeople通过数据的方式是这样的:
-(void)getPeople:(NSDictionary *)peopleDictionary{
//I receive an NSDictionary and I go through it
NSArray *keys = [peopleDictionary allKeys];
int indexOfArray = 0;
for(NSString *key in keys){
//Complex operation that are not important
[peopleInArray insertObjetAtIndex:indexOfArray];//People in array is a global variable
indexOfArray++;
}
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚的是如何摆脱这种情况,我想在第二个队列进入时停止第一个队列,但是GCD没有这个选项...任何其他方式来完成这个,希望没有专业重新编码,无论如何我现在没有想法,所以任何线索都会有所帮助.
我想使用C#连接到SOAP Web服务.在我直接进入之前,尝试任何谷歌抛出的东西,我想问一下,在我完成大部分工作的情况下,最干净,最好的方法是什么.
我想要一个高级方法,我给它一个WSDL,它基本上会为我处理很多事情.我当然不想要做任何XML,除了看它正在做什么调试.
微软为此做的最好的最好的库/方法是什么?请注意,我更关注优化开发人员的时间而不是性能,尽管在这种情况下可能没有太大区别.
在Django模型中有一个很好的方法来指定特定的索引存储类型吗?
例如,MySQL的默认存储类型是BTREE,对于我的特定列,将HASH(哈希表)作为存储类型可能更有效.
没有创建自定义字段或修改django核心,我找不到一个好方法,这将为我做这件事.我也可以通过在创建表后修改索引来实现此目的.
这种情况对于大多数事情来说可能无关紧要,但是有些情况下哈希表是一种更有效的查找机制,当然,对列的排序要么不必要,要么没有意义.例如,具有随机生成数据的列通常不会对信息进行合理的排序(除非您正在寻找可重复的随机排序 - 但这不是重点).
我有一个在UIScrollView其中有一个子视图.如果我设置contentSize的UIScrollView创建后立即,一切工作如我所料,我得到滚动.
挑战在于其中的视图UIScrollView是动态大小的.宽度是固定的,但在设置scrollview时高度未知.
当我[scrollView setContentSize:CGRectMake(...)]在内部视图执行后执行操作时,scrollview会更新为正确的大小并且滚动工作.所以基本滚动工作正常.
然而,主要的问题是,当我setContentSize稍后,UIScrollView决定向下滚动(带动画)滚动视图的末尾,这不是我想要的,我希望滚动保持在顶部,并让滚动视图中的内容要么变大或变小,而不改变明显的滚动位置.
我错过了什么?
我在schema.xml中定义了一个字段:
<field name="id" type="integer" indexed="true" stored="true" required="true" />
Run Code Online (Sandbox Code Playgroud)
它也是uniqueKey架构的.
我无法使用查询网址对此字段执行查询:
/select?q=4525&qf=id&fl=id,name%2Cscore
Run Code Online (Sandbox Code Playgroud)
这不会返回任何结果,但是,如果我使用不同的查询搜索不同的字段(例如文本字段),我会得到许多结果,其中包括存储的ID.Solr非常适合文本字段,但我无法根据唯一ID查询项目.
我错过了什么?是否还需要执行其他步骤才能建立索引?
我正在寻找一种ECMAScript替代方案,作为自定义应用程序逻辑的脚本语言.我喜欢ECMA,特别是新规范的语法(如AS3).
不幸的是,AS3引擎不是开源的,无法集成到项目中.我想要一种专为面向对象使用而设计的脚本语言.
具体来说,是否有一种语言:
我宁愿做的事情
prototype对象您了解哪些语言符合此个人资料?我很难找到专为良好的面向对象设计而设计的高质量脚本语言.
javascript scripting-language dynamic-languages actionscript-3 ecma262
.net ×1
c# ×1
client-side ×1
django ×1
ecma262 ×1
ios ×1
iphone ×1
javascript ×1
jruby ×1
model ×1
mongrel ×1
objective-c ×1
orm ×1
solr ×1
sqlalchemy ×1
uikit ×1
web-services ×1