我有一个SVG文件,我想通过Raphael显示(每个svg文件是我正在尝试绘制的树中的节点,树的实际连接将由raphael制作).我尝试过类似的东西:
var vector_image = paper.image("test.svg", 50,50,50,50);
Run Code Online (Sandbox Code Playgroud)
但没有骰子,似乎只接受像png或jpeg这样的"真实"图像文件?拉斐尔本身使用可缩放矢量图形,我觉得这很奇怪.
无论如何(没有将SVG文件解析为javascript片段并将它们粘贴到html文档中)以使用Raphael(或任何其他基于矢量的javascript图形引擎?)显示现有的SVG文件
如果必须解析它,有没有简单的方法来做到这一点,只需手动抓取文件?我在Ruby on Rails服务器上运行这个代码,所以我想避免在这个框架之外的解决方案,如果可能的话(我通过这个网站听说过一个PHP解决方案......我宁愿手工编写代码而不是在此项目中添加另一种语言).
-Jenny
假设我有两个表EMPLOYEE和INCHARGE_ROOM,EMPLOYEE.INCHARGE_ROOMS有| INCHARGE_ROOM.ID的分隔数据
ID NAME INCHARGE_ROOMS
1 K 1 | 2 | 3 | 4
2 S 2 | 4 | 5
INCHARGE_ROOM_ID INCHARGE_ROOM_NAME
1 RED
2 BLUE
3 YELLOW
4 ORANGE
5 BLACK
如果我想
选择所有的房间,其中K是IN INGARGE.
预期的结果是
NAME INCHARGE_ROOM
K RED
K BLUE
K YELLOW
K ORANGE
这是我的代码:
<?php
$id = $_GET["id"];
if (is_int($id) === FALSE) {
header('HTTP/1.1 404 Not Found');
exit('404, page not found');
}
?>
Run Code Online (Sandbox Code Playgroud)
它总是进入if.
$('#btnSelectAll').click(function() {
$('.inputchbox').attr('checked', true);
});
$('#btnCancel').click(function() {
$('fieldset:not(:checked)').find("input,select,textarea").removeAttr('disabled');
});
Run Code Online (Sandbox Code Playgroud)
取消时我需要只启用选中的复选框吗?我可以使用这样的东西吗?
在selectall按钮上我选择了我的字段集中的所有复选框,但是在这里我只需要选中启用的复选框和未禁用的复选框.所以在我自己的字段集上禁用复选框吗?
如何排除禁用的复选框?
我是第一次设计游戏,但我想知道游戏时间的基础.它是基于时钟还是依赖于帧?(注意:我不确定'游戏时间'这里是否是正确的词,如果不是,请纠正我)
更清楚的是,想象一下这些场景:
在两台计算机上播放相同的游戏,其中角色以相同的速度行走.
如果游戏时间基于帧,则角色在计算机1上的移动速度是原来的两倍.另一方面,如果游戏时间基于实际时间,计算机1将显示两倍的帧,但角色移动速度一样快就像在电脑上2.
我的问题是,处理游戏时间的最佳方法是什么,优点和缺点是什么?
有嵌套列表视图是否可行/可取?
即listView包含在另一个listview的行中?
一个例子是我的主列表显示博客帖子,然后在每一行中,你有另一个列表视图的每个帖子的评论(这将是可折叠的)
更新:此泄漏已解决.如果您遇到类似的泄漏,并且您的应用程序是多线程的,那么您最有可能从后台线程进行UIKit调用; 利用例如[NSThread performSelectorOnMainThread:]将UIKit呼叫路由到主线程,这是 允许它们的唯一地方.
我最近在我目前的项目上运行Leaks以发现泄漏,并且我一直在遇到这些"泄漏",据我所知,这些泄漏并非真正泄漏.根据Leaks的说法,以下代码直接来自项目,有两个漏洞:
- (NSArray *)areaForIndex:(int)index
{
NSMutableArray *a = [NSMutableArray arrayWithArray:
[world retrieveNeighborsForIndex:index]]; // leak 1
[a insertObject:[references objectAtIndex:index] atIndex:0];
return [NSArray arrayWithArray:a]; // leak 2
}
Run Code Online (Sandbox Code Playgroud)
如果我将第一行更改为:泄漏1消失:(参见更新2-3)
如果我将最后一行更改为:泄漏2消失:
return a;
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不能用泄漏1做到这一点,因为我正在将一个不可变数组转换为可变数组.不过,无论如何,arrayWithArray应该是自动释放的,所以从我所知道的,它不应泄漏任何东西.任何想法为什么会这样?
更新:我在设备和模拟器上都测试了这个.两者都有泄漏.但是,在模拟器上,我得到了一些关于此泄漏的其他信息:
泄漏的历史如下:
# | Category | Event Type | Timestamp | RefCt | Address | Size | Responsible Library | Responsible Caller
--+----------+-------------+
0 | CFArray | Malloc | 00:09.598 | 1 | 0x474f6d0 | 48 | asynchro | -[muddyGrid areaForIndex:] …Run Code Online (Sandbox Code Playgroud) 我正在使用ASP.NET成员资格提供程序的包装器,以便我可以使用更多松散耦合的库.我想使用StructureMap来提供真正的IoC,但是我在使用User-to-Profile工厂对象进行配置时遇到了麻烦,我正在使用它来在用户的上下文中实例化配置文件.这是相关的细节,首先是库中的接口和包装器:
// From ASP.Net MVC Membership Starter Kit
public interface IProfileService
{
object this[string propertyName] { get; set; }
void SetPropertyValue(string propertyName, object propertyValue);
object GetPropertyValue(string propertyName);
void Save();
}
public class AspNetProfileBaseWrapper : IProfileService
{
public AspNetProfileBaseWrapper(string email) {}
// ...
}
Run Code Online (Sandbox Code Playgroud)
接下来,用于与配置文件数据中的特定属性进行交互的存储库:
class UserDataRepository : IUserDataRepository
{
Func<MembershipUser, IProfileService> _profileServiceFactory;
// takes the factory as a ctor param
// to configure it to the context of the given user
public UserDataRepository(
Func<MembershipUser, IProfileService> profileServiceFactory) …Run Code Online (Sandbox Code Playgroud) 通过Cactus Kev的扑克手评估员阅读,我注意到以下声明:
起初,我认为在将它传递给评估者之前,我总是可以先简单地对手进行排序; 但排序需要时间,我不想浪费任何CPU周期整理手.我需要一种不关心五张牌的顺序的方法.
......
经过深思熟虑,我有一个头脑风暴来使用素数.我会给十三个卡片等级中的每一个分配一个素数值......这个系统的优点在于,如果你将每张卡片的等级的主要值乘以你手中,你将获得一个独特的产品,无论订单如何五张牌.
...
由于乘法是计算机可以进行的最快计算之一,如果我们在评估之前被迫对每只手进行排序,我们已经减少了数百毫秒的时间.
我很难相信这一点.
Cactus Kev将每张卡片表示为4字节整数,并通过调用来评估指针eval_5cards( int c1, int c2, int c3, int c4, int c5 ).我们可以将卡表示为一个字节,将扑克手表示为5字节数组.对这个5字节数组进行排序以获得一个独特的手必须非常快.它比他的方法快吗?
如果我们保持他的表示(卡片为4字节整数)怎么办?可以对5个整数的数组进行排序比乘以它们更快吗?如果没有,可以采用何种低级优化来更快地对少量元素进行排序?
谢谢!
大家好的答案; 我正在对排序与乘法的性能进行基准测试,以获得一些硬性能统计数据.
我有一些带有竞争条件的代码......我知道它是竞争条件,因为它不会一直发生,而且似乎更常发生在双核机器上.
当我追踪时,它永远不会发生.虽然,它也可能是一个僵局.通过分析完成和不发生的日志的完成阶段,我已经能够将此错误指向单个函数.但是,我不知道在这个功能的范围内发生了什么.它不在顶级.
如果是竞争条件,添加日志语句或断点将改变时间,并防止这种情况发生.
除了获得竞争条件分析器之外,我还能使用哪种技术来确定这种情况的发生方向吗?
这是在Visual Studio 9中,使用C++(非管理类型).
c++ race-condition visual-studio-2008 conditional-statements