小编Jor*_*ksa的帖子

我应该验证构造函数中的参数吗?

我正在按照MVC模式创建一个Web应用程序.

在有效的Java中,作者提到在创建新对象时验证类的构造函数中的参数.

但是我没有创建一些将由第三方使用的API.我的类只接受表单输入字段中的参数,这些参数在提交给服务器之前已经过验证.

所以在这种情况下,我应该按照作者在Effective java中提到的方式创建我的类,否则它是无用的?

java model-view-controller design-patterns

17
推荐指数
1
解决办法
2万
查看次数

JPA:外键也是主键映射

我一整天都试图解决这个问题,但没有运气!此外,我试图阅读网络上的大多数教程,但众所周知,他们都充满了无用的例子,不能反映你在现实世界中的需求.

所以这是我的情况:

数据库:

表:车辆(vehicleId,品牌,型号,devYear,regNumber)< - vehicleId是PrimaryKey

table:extras(vehicleId,allowSmoke,allowFood,allowDrinks,airConditioner)< - vehicleId是PK和FK.

关键是如果我有一个类Vehicle和一个映射到数据库的类TravelExtras,我希望Vehicle类具有一个属性TravelExtras travelExtras和get和set方法.

不幸的是,无论我尝试在数据库中持久保存对象时我都会遇到各种错误.

这是一个例子:

        EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "NaStopPU" );
        EntityManager entitymanager = emfactory.createEntityManager( );
        entitymanager.getTransaction( ).begin( );


        TravelExtra travelExtra = new TravelExtra();


        entitymanager.persist(travelExtra);


        Vehicle vehicle = new Vehicle(2L, "10152487958556242", "Mazda", "626", "334343", 2005, 4);  
        vehicle.setTravelExtra(travelExtra);

        entitymanager.persist(vehicle);



        entitymanager.getTransaction().commit();
        entitymanager.close( );

        emfactory.close( );
Run Code Online (Sandbox Code Playgroud)

任何人都知道这种一对一的案例使用什么样的注释?

java database orm jpa

14
推荐指数
2
解决办法
2万
查看次数

为什么这个事件处理程序使用"e = e || event"?

有人可以解释一下这行代码意味着什么:

function(e) { e = e || event; e.returnValue = false; return false; }
Run Code Online (Sandbox Code Playgroud)

为什么参数名为e
如果我把它改成'myparam'它会起作用吗?
什么e = e意思?

声明的变量event(后||)在哪里?什么是e.returnValue?

javascript cross-browser event-handling dom-events

11
推荐指数
2
解决办法
5001
查看次数

在JavaScript中交换两个对象

我有以下代码:

MyObject.prototype.doIt = function()
{
     var a = this.obj1;
     var b = this.obj2; 
}
Run Code Online (Sandbox Code Playgroud)

我如何交换this.obj1this.obj2的值,以便obj1变为obj2,obj2变为obj1.

注意:请记住我不使用原始类型.

javascript swap

6
推荐指数
3
解决办法
9066
查看次数

google maps api v3没有顺利拖动

我开始使用maps api v3实现我的软件.不幸的是,我发现v3 API有一些严重的问题,这些问题让我从商业许可证中退回.

我的客户使用高清分辨率为1920x1080的显示器,地图占据屏幕空间的90%.不幸的是,我在谈论这个问题.当我在地图上用鼠标点击并开始拖动它时,它不是很平滑,而且真的很烦人.所有的乐趣消失了.

我使用Windows XP,Windows 7和Windows 8尝试了一些不同的风格.我正在使用的浏览器是Firefox,Chrome和IE最新版本.以下是我尝试拖动地图时的结果:

  1. 小屏幕分辨率320x240:Firefox,Chrome和IE处理得非常好.不可能注意到拖动不平滑.
  2. 小屏幕分辨率320x240,地图上有10条折线:Chrome和IE处理得很好但是如果您有使用v2 API的经验,您会发现有所不同.Firefox - 噩梦,拖拽根本不顺利.
  3. 中等屏幕分辨率1024x768.Firefox - 有一些不确定的滞后.Chrome和IE浏览器 - 平滑拖动,但如果你快速移动鼠标,事情会变得更糟.
  4. 中等屏幕分辨率1024x768,地图上有10条折线.Firefox - 噩梦.Chrome和IE浏览器 - 您开始注意到有一些延迟,但同时它看起来很平滑.
  5. 高分辨率1920x1080.Firefox - 巨大的滞后.Chrome和IE浏览器 - 好一点但仍有明显的滞后.6)高屏幕分辨率1920x1080,地图上有折线:Firefox,Chrome广告IE - NIGHTMARE.拖动地图几乎是不可能的.

有趣的事实:

  1. 谷歌地图的v2 API不存在上述问题.
  2. 当鼠标移动小于每秒50-60像素时,上述问题不存在.拖动非常顺利.当鼠标快速移动时,会出现滞后现象.
  3. http://maps.google.com上,问题根本不存在但是当我在开发人员上打开一些代码示例指导问题就在那里.以下是一个示例:https://google-developers.appspot.com/maps/documentation/javascript/examples/full/circle-simple.

我认为我尽可能深地描述了问题,无论我多么努力地绕过它,我找不到任何解决方案.

如果有人就这个问题发表意见,我会很高兴的.

PS不幸的是我没有v2的密钥所以我不能创建一个例子,你可以在我的localhost之外查看地图,但我找到了一个网站,其中有一个并排比较(v2和v3).尝试拖动地图以查看非常不同.

http://www.wolfpil.de/v2-v3-sidebyside.html

地图的分辨率非常小,很可能没有经验的用户可能看不到差异所以我也会给你单独的地图链接,你只需要使用firebug或类似的debuger来使画布分辨率更大.然后你会看到我在说什么.

lag google-maps-api-3

6
推荐指数
2
解决办法
4255
查看次数

燃料图平滑算法

我正在开发车队管理系统,其中一项任务是显示代表车辆燃油消耗的图表(基于来自CANBUS的数据).

如果数据值介于0和100之间,则表示百分比.因此,如果我得到一个45的整数,则意味着油箱中的燃油为45%.

但是,如果车辆正在移动,则由于船舶的物理原因可能存在不一致的数据.例如,数据系列可能是:

76,76,75,74,73,73,71,70 < - 这是一个很好的模式,因为它显示了燃料如何下降.

76,70,75,76,77,76,74,74,73,72,69,72,73,73,72,71 < - 这不是一个好的模式因为跳槽中的燃料不是因为一致,我收到的数据不适合显示给用户.

我想平滑值,但是根据我一次选择的平均值,结果是不同的.

关键问题是,有时候我必须在图表中显示排水和加油时刻,并且必须不顺畅.

我可以使用什么样的算法以令人信服的方式分析和表示我的图表?

java algorithm math statistics

6
推荐指数
1
解决办法
661
查看次数

在javascript中传递匿名函数作为参数

我有以下javascript代码:

   EventsManager.prototype.hideContainer = function()
   {
     var that = this;

     var index = that.getNextUnreadEventIndex();
     if(index !== -1)
     {
         EventsManager.animateHideLeft(function() //<--- passing a function as parameter to another function
         {
             var unreadEvent = that.eventsList.splice(index,1)[0];
             unreadEvent.isEventOnFocus = true;

             that.eventsList.push(unreadEvent);
             that.displayLastEvent();
         });  
     }
   }
Run Code Online (Sandbox Code Playgroud)

这是EventsManager.animateHideLeft()函数的代码:

EventsManager.animateHideLeft = function(callback)
{
   var p = document.getElementById("eventsContainer");
   var width = parseFloat(p.style.width);

   if(!width || width === "NaN") width = 200;

   if(width <= 10)
   {
      clearTimeout(fr);
      alert(typeof callback); //<-- this shows "undefined"
      callback();
   }
   else
   {
      width = width - …
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
1
解决办法
87
查看次数

顶部和底部固定高度,流体高度中间

我要问的是我用javascript做过的事情,但我确实想用css实现它(如果可能的话)

这是场景:

我有一个DIV元素,其高度为h px.这个非常DIV元素也有3个子元素,它们也是DIV元素.他们的目的如下:

第一个DIV元素是k px高度,并附加到父容器的顶部.它的高度是恒定的.

第二个DIV元素是n px高度,并附加到父容器的底部.它的高度是恒定的.

第三个DIV元素是h - (n + k) px.

我想要的是当我调整父div(这是一个浮动框)以自动保持第三个DIV元素h - (n + k)px时.

这可能css实现吗?

html css css3 responsive-design

4
推荐指数
2
解决办法
1201
查看次数