我必须编写一个Java程序,它将从网络接收消息并将其内容显示给用户.问题是我收到的消息只是C结构的二进制转储.除此之外,一些消息来自小端机器,一些来自大端,没有字段转换为网络字节顺序.我的一种方法是使用JNI并将c结构转换为某些XML字符串,然后将此XML字符串序列化为Java对象.这是一项艰巨的工作,因为大约有122种不同的结构,每种结构都包含20多个区域.我想知道是否有一个图书馆/工具/方法可以让我的工作变得有点容易?
我需要编写一个简单的WPF程序来绘制Bezier曲线,但我必须以编程方式绘制它,因为我需要允许用户以交互方式修改形状.
任何执行此任务的代码示例都非常感谢!
谢谢,
麦克风
我从以前的StackOverflow问答中收集了一些信息
可以使用XmlSerializer
类序列化以下项目:
我的问题是我们如何开发一个XmlSerialize Helper类,它将Generic Collection作为Xml序列化的参数.
我使用Convert.ChangeType()从Object(我从DataBase获得)转换为泛型类型T.代码如下所示:
T element = (T)Convert.ChangeType(obj, typeof(T));
return element;
Run Code Online (Sandbox Code Playgroud)
并且这在大多数情况下工作得很好,但是我发现如果我尝试抛出一些简单的东西,就像返回以下sql查询一样
select 3.2
Run Code Online (Sandbox Code Playgroud)
上面的代码(T为double)不会返回3.2,而是3.2000000000000002.我不明白为什么会这样,或者如何解决它.请帮忙!
我需要一些关于Visual Studio解决方案和项目组织的帮助.
我有几个项目的解决方案.所有这些都是用C#编写的,并编译为GUI供GUI使用.其中一些库也与其他库有依赖关系.例如,TestExecutive需要LoggingFramework,Communications也需要LoggingFramework.
哪种组织方式最好?我正在考虑一个文件夹程序集,以便在一个地方保存库的二进制文件.就像是:
Solution
|
|-- TestExecutive
|-- LoggingFramework
|-- assemblies
Run Code Online (Sandbox Code Playgroud)
还有另一个问题.其中一个项目使用本机C dll.我在哪里放置这个图书馆?使用librarie的程序集还是最终的可执行文件?
编辑:
好的,现在假设我正在运行WinForms程序.我有源代码和二进制混合.我需要哪些功能来生成可以分发的内容?我的意思是,包含所有库和配置文件,但没有源代码.我之前使用Nullsoft安装程序做过这个,但我不知道visual studio是否可以帮助你做到这一点.
我有一个关于在Objective-C中编写init方法的一般问题.
我看到它到处都是(Apple的代码,书籍,开源代码等)init方法应该在继续初始化之前检查self = [super init]是否为nil.
init方法的默认Apple模板是:
- (id) init
{
self = [super init];
if (self != nil)
{
// your code here
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
为什么?
我的意思是什么时候初始会返回零?如果我在NSObject上调用init并且没有回来,那么一定要搞砸了,对吗?在那种情况下,你甚至可以不写一个程序......
类'init方法可能返回nil真的很常见吗?如果是这样,在什么情况下,为什么?
我发现一些帖子暗示你可以使用nokogiri gem验证XHTML对其DTD的影响.虽然我已成功使用它来成功解析XHTML(寻找'a'标签等),但我正在努力验证文档.
对我来说,这个:
doc = Nokogiri::XML(Net::HTTP.get(URI.parse("http://www.w3.org")))
puts doc.validate
Run Code Online (Sandbox Code Playgroud)
导致整堆:
[
#<Nokogiri::XML::SyntaxError: No declaration for element html>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute xmlns of element html>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute lang of element html>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute lang of element html>,
#<Nokogiri::XML::SyntaxError: No declaration for element head>,
#<Nokogiri::XML::SyntaxError: No declaration for attribute profile of element head
[repeat for every tag in the document.]
]
Run Code Online (Sandbox Code Playgroud)
所以我假设这不是正确的方法.我似乎无法找到任何好的例子 - 任何人都可以建议我做错了吗?
我在Mac OSX 10.5.8上运行ruby 1.8.6.Nokogiri告诉我:
nokogiri: 1.3.3
warnings: []
libxml:
compiled: 2.6.23 …
Run Code Online (Sandbox Code Playgroud) 好吧,我不希望这是一个黑客建议问题,所以请不要为此投票.我在网上商店工作,我发现一些旧的PHP页面容易受到用户名中的SQL注入攻击,并想知道有多糟糕.
我们使用PHP字符串在登录表单上嵌入来自POST的用户输入.
$uname = $_POST['username'];
$pass = md5($_POST['pass']);
$sql = "SELECT * FROM users WHERE username='$uname' AND password='$pass' AND userlevel='user'";
...
Run Code Online (Sandbox Code Playgroud)
然后我运行查询.
现在,我不是SQL专家,我只是在phpMyAdmin上使用我可以拼凑的内容.但我能够在没有用户名的情况下登录,而不是使用:
' OR 1 '
Run Code Online (Sandbox Code Playgroud)
我知道要逃避用户输入,我使用mysql_real_escape_string
.
我的问题是,这段代码有多脆弱,有人可以登录这个页面而不需要密码吗?我想也许他们不需要用户名,但只能强制密码.但我不是SQL大师,我想知道是否可以使用一些技巧来对付我们.
我们使用MySQL.
请不要在输入验证方面做任何讲座,我知道这有多糟糕.我们应该做很多事情,比如我们页面上的超时和锁定,所以不能强行逼迫.
原来这是一个Firebug bug的人工制品.Ajax请求被取消,但Firebug继续将其报告为活动状态.细节在这里.
我一直在运行XMLHttpRequests,我需要能够在某些情况下中止它们.
我以正常方式设置请求:
ajax = $.getJSON(url + "?updates", function(data) { ...; });
Run Code Online (Sandbox Code Playgroud)
后来我想中止这个请求,看起来很简单:
ajax.abort();
Run Code Online (Sandbox Code Playgroud)
然而,当我看着Firebug时,我发现它仍在运行......
我在尝试中止它之前就调试了ajax的值.它确认它的值是和XMLHttpRequest(readyState为0).
对abh()在XMLHttpRequest上的触发方式和时间有限制吗?