我想知道是否有像Vaad一样构建在GWT之上的类似框架,它包装了原始的GWT组件,但只有服务器端的事件处理?(我知道Vaadin是建立在GWT之上的.我正在寻找替代解决方案.)
Vaadin很好,因为它是预编译的性质.我上次使用GWT时发现GWT的编译时间可怕.如果事件处理代码在服务器上运行,那么维护安全性也会更容易一些.如果可以以类似的方式使用标准GWT,那将是很好的.
我正在测试我的Arduino UNO的串行传输速度.根据我的要求,我必须从主机PC向Arduino传输3KB/s.我编写了一个非常简单的程序,它回复了结果,Serial.available()然后在Arduino IDE的串行监视器中进行了测试.我已经开始发送字符,直到达到63字节的最大值.我对此感到非常惊讶,因为我在某处看到Arduino有一个128byte的串行缓冲区.
无论如何,我已经编写了一个非常简单的协议,它以48字节的数据包传输数据(实际上是49个字节,因为标题字符).主机发送一个d字符,然后发送48个字节的数据.为了测试传输的有效性,我发送一个从0到47的简单字节序列,在Arduino端进行验证.如果验证失败,UNO开始闪烁PIN13上的板载LED.一旦发送了字节,主机就会等待一个简单k字符的确认.一旦完成处理实际数据包,Arduino就会发送它.
主机程序测量传输的数据包的数量,并在1秒后显示它.波特率为9600时,PC成功传输~16包/秒(~800字节/秒),这是相当不错的.我试图通过将双方的波特率提高到57600来改善这一点; 但是,发送的数据包数量只会增加一点.我不知道问题是什么.也许我已经达到USB串口转换器的某种限制?
这是我的代码.
PC(Java,我使用jSSC进行串口通信)
package hu.inagy.tapduino.server;
import jssc.SerialPort;
import jssc.SerialPortException;
/**
* Test Arduino communication.
*/
public class App
{
private static void testComm(SerialPort port) throws SerialPortException {
long runningSeconds = 0;
long time = System.currentTimeMillis();
long numberOfPackets = 0;
boolean packetSent = false;
while (runningSeconds < 10) {
long currentTime = System.currentTimeMillis();
if (currentTime - time > 1000) {
runningSeconds++;
time = currentTime;
System.out.println(numberOfPackets + " …Run Code Online (Sandbox Code Playgroud) 我有两个URI对象.一个指向JAR文件中的文件夹,另一个指向同一JAR文件中的文件.该文件位于第一个URI指定的目录的子文件夹中.我喜欢创建一个相对URI,因此生成的URI只包含JAR中文件的相对路径.
文件夹URI
jar:file:/C:/Users/inagy/.m2/repository/hu/inagy/my-config-artifact/2.0-SNAPSHOT/my-config-artifact-2.0-SNAPSHOT.jar!/conf/
Run Code Online (Sandbox Code Playgroud)资源URI
jar:file:/C:/Users/inagy/.m2/repository/hu/inagy/my-config-artifact/2.0-SNAPSHOT/my-config-artifact-2.0-SNAPSHOT.jar!/conf/somesubpath/someconfig.xml
Run Code Online (Sandbox Code Playgroud)在调用之后,folderUri.relativize(resourceURI)我希望得到以下URI:
somesubpath/someconfig.xml
Run Code Online (Sandbox Code Playgroud)但是我得到了resourceURI,这意味着根据URI类的Javadoc,JDK代码发现这两条路径彼此不相对.
这是一个错误还是我做错了什么?
我们正在尝试在新项目中使用Activiti.我已经创建了一个使用Hibernate通过JPA的设置,用于持久化参与该过程的实体,JPA与Activiti互连,因此我们可以将这些实体用作JPA变量.请参阅:Activiti文档的JPA章节
我发现Activiti不允许我在涉及JPA变量的进程上创建查询,我想在JPA实体字段上进行过滤.例如,如果我的进程具有引用Book实体的变量,则无法为具有特定标题的书籍的进程创建查询.
克服这个问题的最佳方法是什么?我虽然单独使用Hibernate查询实体,然后在Activiti上进行第二次查询以获得所涉及的过程但是我担心它会很慢.另外,如果我正在反过来(首先查询进程然后在实体上使用Hibernate进行第二次查询)Activiti做了不必要的JPA变量填充,我无法找到如何只获取实体ID保存到我的数据库的Activiti变量表中.
当我在项目上执行clean&build时,Maven将所有资源复制到目标文件夹,但带有创建的时间戳,而不带有src / main / resources文件夹中原始文件的时间戳。是否有可能以某种方式指示它保留原始时间戳?
这对我们造成问题的原因是,我们正在开发的软件在启动时就进行了数据库迁移,我们希望保持其在开发人员机器上的执行力。但是由于时间戳不断变化,这会导致不必要的资源重新加载到数据库。
我想知道 Dart 是否能够在运行时执行闭包,并且具有 Groovy 所具备的委托支持?请参阅此示例以更好地理解:2 小时内从头开始的 Groovy DSL。
我有一个用 Groovy 编写的 DSL,用于轻松定义 MARC 库记录。我希望能够通过将定义调用绑定到程序中的委托类来本地处理类似的 Dart 脚本。
record {
leader "00000nam a2200000 u 4500"
controlfield "001", "LIB001"
controlfield "005", "20120311123453.0"
datafield("100") {
subfield "a", "Author of record"
}
datafield("245", "0") {
subfield "a", "Title of record"
}
}
Run Code Online (Sandbox Code Playgroud)
你可能会想:为什么不能用 JSON 来表达呢?有了这样的 DSL,我可以做的不仅仅是表达数据。因为它是嵌入式的,所以您可以在 DSL 中执行在主机语言(本例中为 Groovy)中有效的任何操作。如果您必须使用不同的值多次定义同一事物,则可以执行 for 循环,您可以使用 GString 表达式、调用数据库、访问文件等。定义 DSLD 后,IDE 就会了解您的概念,就像它一样始终是语言的一部分,它可以为您提供辅助工具。它具有很强的表现力和直观性。
我正在寻找 Dart 的类似功能。
我打算用Dart创建一个跨平台的桌面应用程序.因为还没有现成的支持Dart的框架,我必须首先将Dart编译为Javascript.由于围绕HTML5构建的桌面框架提供了一些我计划使用的自定义Javascript API(文件系统访问,本机库支持等),因此无法在Dartium中进行完全开发.
我发现了以下可能符合我需求的框架,但我正在寻找使用Dart开发时的最佳实践.
我打算试用Google的NaCL.我应该使用哪个IDE进行开发?能够从IDE编译项目并在Chrome中运行它会很不错.一些基本的调试也非常有用.
在互联网上没有找到任何有用的东西.我正在使用带有匈牙利语键盘布局的Windows 7安装,并且我无法AltGr+C在Eclipse中使用&符号(&)输入我的Java源文件.我可以对XML文件做同样的事情.如果我改回英文键盘布局,我可以输入使用Shift+8.
是什么阻止了Eclipse中的这个快捷方式?我可以毫无问题地在NetBeans中输入相同的内容.
我正在寻找通过过滤完成日期来查询 Activiti 中已完成任务的解决方案。因为一旦它们完成act_hi_taskinst,BPMN 引擎就会将完成的任务条目移动到表中,我希望所需的过滤器在HistoricTaskInstanceQuery类中。但是没有什么能像startedAfter/startedBefore和finishedAfter/finishedBefore像方法HistoricProcessInstanceQuery。该表具有start_time_和end_time_列,因此没有理由不能进行这种查询。
是否有其他方法可以通过这些属性进行过滤,或者目前解决此问题的唯一方法是act_hi_tasks直接绕过 Activiti 引擎查询表?
在我们公司,我们使用Liferay作为门户网站.开发这样一个庞大的框架的最大问题是,即使在一台不错的PC上,重启也需要很长时间.我们正在尝试使用热部署,但这有时可能不起作用(依赖关系需要重启,有时会发生PermGen空间错误,Liferay必须被杀死等)
我正在考虑的是,对于我们的大多数portlet,我们并没有真正使用任何Liferay特定服务,只是JSR 168提供了标准的东西.所以我想知道是否有可用于Jetty或Tomcat的最小portlet环境,我们可以使用它来更快地开发portlet?当然我知道,一旦遇到Liferay特定的服务电话,这不是一个选择.
我之前测试的是Apache Pluto,它是一个完整的但仍然是轻量级的portlet容器,但它的工作方式不同于组装portlet的方式(web.xml应该被修改),并且它破坏了我们的构建环境与Liferay的兼容性.所以这不是一个选择,但我正在寻找类似的东西.
我正在尝试在Google Chrome Canary版本中实现并启用W3C Web Audio API.(目前我在Windows 7 x64上有15.0.865.0 canary)演示应用程序运行正常.
我喜欢使用,MediaElementAudioSourceNode因为我喜欢播放更大的OGG音乐.对于这样的音频文件,API说我应该使用它而不是AudioBufferSourceNode.
我写了一个非常简单的例子:
<script type="text/javascript">
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'dubfx.ogg');
var audioContext = new webkitAudioContext();
var streamingAudioSource = audioContext.createMediaElementSource(audioElement);
streamingAudioSource.connect(audioContext.destination);
</script>
Run Code Online (Sandbox Code Playgroud)
但是,我只是听到点击而不是实际音频.我在JavaScript控制台中看不到任何错误,所以我猜代码没问题,可能缺少一些初始化.如果我audioElement.play()通过Web Audio API 调用而不是路由,则音乐播放得很好.我错过了什么或者当前的WebKit实现是否被破坏了?