小编chu*_*ubs的帖子

仅在序列化期间使用@JsonIgnore,但不反序列化

我有一个发送到服务器和从服务器发送的用户对象.当我发出用户对象时,我不想将散列密码发送给客户端.所以我添加@JsonIgnore了密码属性,但这也阻止了它被反序列化为密码,这使得在没有密码时很难注册用户.

我怎样才能@JsonIgnore应用于序列化而不是反序列化?我正在使用Spring JSONView,所以我没有很多控制权ObjectMapper.

我试过的事情:

  1. 加入@JsonIgnore物业
  2. @JsonIgnore仅添加getter方法

java spring json annotations jackson

298
推荐指数
5
解决办法
26万
查看次数

单击表单中的按钮会导致页面刷新

我在Angular中有一个表单,里面有两个按钮标签.一个按钮提交表单ng-click.另一个按钮纯粹用于导航ng-click.但是,当单击第二个按钮时,AngularJS会导致页面刷新,触发404.我在函数中删除了一个断点,它正在触发我的函数.如果我执行以下任何操作,它将停止:

  1. 如果我删除ng-click,该按钮不会导致页面刷新.
  2. 如果我注释掉函数中的代码,它不会导致页面刷新.
  3. 如果我将按钮标记更改为锚标记(<a>)href="",则不会导致刷新.

后者似乎是最简单的解决方法,但为什么AngularJS甚至在我的函数之后运行任何代码导致页面重新加载?好像是一个bug.

这是表格:

<form class="form-horizontal" name="myProfile" ng-switch-when="profile">
  <fieldset>
    <div class="control-group">
      <label class="control-label" for="passwordButton">Password</label>
      <div class="controls">
        <button id="passwordButton" class="secondaryButton" ng-click="showChangePassword()">Change</button>
      </div>
    </div>

    <div class="buttonBar">
      <button id="saveProfileButton" class="primaryButton" ng-click="saveUser()">Save</button>
    </div>
  </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

这是控制器方法:

$scope.showChangePassword = function() {
  $scope.selectedLink = "changePassword";
};
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

211
推荐指数
5
解决办法
15万
查看次数

将所有maven依赖项下载到不在存储库中的目录?

我开始将我的项目转换为maven,因为我需要使用一个仅以二进制形式分发的库而不是maven,但是在我的头撞到墙上太长时间之后我决定不再伤害自己而只是使用蚂蚁.我想让maven将jar及其所有传递依赖项下载到我选择的目录中,这样我就可以像往常一样将它们检入我的SCM并再次成为一个幸福的开发者.
任何想法如何轻松地做到这一点?

dependencies download maven

121
推荐指数
4
解决办法
15万
查看次数

Android Studio继续获得不受支持的major.minor版本52.0

合并我的项目与其他开发人员的一些更改后,我继续得到以下内容:

Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0
Run Code Online (Sandbox Code Playgroud)

我已经尝试安装Java 8,并将我的项目设置为使用Java 8.如果我在命令行上将JAVA_HOME更改为1.8并使用gradle进行编译,则可以正常工作.如果我尝试将JAVA_HOME设置为1.7并且gradle它失败并出现相同的错误.

但是,在Android Studio中,无论JDK版本如何,它都会继续打印该错误.

其他开发人员表示他们正在使用Java 7而没有问题.我试过的其他事情:

gradle clean build
gradlew clean build
Reinstalling Android Studio
Run Code Online (Sandbox Code Playgroud)

另一个有趣的症状是Android Studio中的其他项目非常高兴.只是这个项目有这个问题.

这是我的环境设置:

OS: Mac OS X 10.9.5
Android Studio: 2.1.1
Android Studio JVM: 1.6
Project JVM: 1.7.0_75
Android SDK (Build Tools): 23.0.2
Gradle: 2.13
JAVA_HOME: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
ANDROID_HOME: /Users/me/Library/Android/sdk
Run Code Online (Sandbox Code Playgroud)

我怀疑它与gradle包装器有关,但我无法弄清楚如何使用1.7来重新初始化自己的graddle包装器.

android gradle android-studio

74
推荐指数
8
解决办法
10万
查看次数

蒙德里安:似乎无法使用聚合表

我一直在努力让聚合表工作.这是我的事实表看起来像:

employment_date_id
dimension1_id
dimension2_id
dimension3_id
dimension4
dimension5
measure1
measure2
measure3
Run Code Online (Sandbox Code Playgroud)

我将employment_date_id年度,季度和月份折叠成仅包括年份,但包括其他所有列.这是我的聚合表的样子:

yearquartermonth_year
dimension1_id
dimension2_id
dimension3_id
dimension4
dimension5
measure1
measure2
measure3
fact_count
Run Code Online (Sandbox Code Playgroud)

我只是把日期的那一部分搞砸了.其余字段保持原样.这是我的配置:

<AggFactCount column="FACT_COUNT"/>
<AggForeignKey factColumn="dimension1_id" aggColumn="dimension1_id"/>
<AggForeignKey factColumn="dimension2_id" aggColumn="dimension2_id"/>
<AggForeignKey factColumn="dimension3_id" aggColumn="dimension3_id"/>

<AggMeasure name="[Measures].[measure1]" column="measure1"/>
<AggMeasure name="[Measures].[measure2]" column="measure2"/>
<AggMeasure name="[Measures].[measure3]" column="measure3"/>

<AggLevel name="[dimension4].[dimension4]" column="dimension4"/>
<AggLevel name="[dimension5].[dimension5]" column="dimension5"/>
<AggLevel name="[EmploymentDate.yearQuarterMonth].[Year]" column="yearquartermonth_year"/>
Run Code Online (Sandbox Code Playgroud)

我大部分都是从文档中复制聚合表的第二个例子.我的大多数列都没有折叠到表中,而是维度表的外键.

我正在尝试执行的查询是这样的:

select {[Measures].[measure1]} on COLUMNS, {[EmploymentDate.yearQuarterMonth].[Year]} on ROWS from Cube1
Run Code Online (Sandbox Code Playgroud)

问题是,当我调试它并打开日志记录时,我看到看起来像这样的位键:

AggStar:agg_year_employment
 bk=0x00000000000000000000000000000000000000000000000111111111101111100000000000000000000000000000000000000000000000000000000000000000
 fbk=0x00000000000000000000000000000000000000000000000000000001101111100000000000000000000000000000000000000000000000000000000000000000
 mbk=0x00000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)

我的查询的位模式是:

Foreign columns bit key=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Measure bit key=        0x00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000 …
Run Code Online (Sandbox Code Playgroud)

olap mondrian olap4j

60
推荐指数
1
解决办法
1010
查看次数

如何从右到左制作文本方向

我想在TextView中用(从右到左的语言,即阿拉伯语)编写文本.但我想让文字从右到左书写方向.gravity:right将文本对齐.我想从右到左证明文本的合理性(使单词和数字出现在他按行输入的顺序中).怎么样 ?

android textview right-to-left

46
推荐指数
7
解决办法
6万
查看次数

无论位图的大小如何,我如何使ImageView成为固定大小

所以我正在从Web服务加载图像,但是图像的大小有时比其他图像更小或更大,当我将它们放入android中的ListView时,可视化看起来很傻.我想修改我的ImageView的大小,以便它只显示图像的一部分,如果它大于预设量.我已经尝试了所有我能想到的设置setMaxWidth/setMaxHeight,将scale类型设置为centerCrop,使用ClipableDrawable包装我的BitmapDrawable,使用Drawable.setBounds()进行设置.我已经尝试过设置XML并以编程方式设置,但都没有工作.我很惊讶设置最大宽度/高度没有做任何事情.下面是我在布局文件中使用ImageView定义的XML:

    <ImageView android:id="@+id/recipeImage"
           android:maxHeight="64px"
           android:maxWidth="64px"
           android:scaleType="centerCrop"
           android:layout_width="wrap_content"
           android:layout_height="fill_parent"
           android:layout_alignParentTop="true"
           android:layout_alignParentBottom="true"
           android:layout_marginRight="6dip"/>
Run Code Online (Sandbox Code Playgroud)

但是,没有任何效果.

java android bitmap imageview

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

形状可绘制尺寸不起作用

我有一个非常简单的形状,我想设置宽度:

<shape android:shape="rectangle">
    <solid android:color="@color/orange"/>
    <size android:width="2dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

但是,当我将它指定给EditText的背景时,它只显示橙色背景而不是宽度为2dp的矩形.为什么不设置尺寸?我想创建一个透明的drawable,左侧是橙色矩形.我也把它包裹在选择器中:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true">
        <shape android:shape="rectangle">
            <solid android:color="@color/orange"/>
            <size android:width="2dp" android:height="6dp"/>
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/transparent"/>
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

我试过添加高度只是为了看它是否会改变大小.它没有.这就像它完全忽略了它的大小.WTF?

android drawable xml-layout shapedrawable

36
推荐指数
4
解决办法
6万
查看次数

帮助了解交叉验证和决策树

我一直在阅读决策树和交叉验证,我理解这两个概念.但是,我无法理解交叉验证,因为它与决策树有关.基本上,交叉验证允许您在数据集相对较小时在培训和测试之间切换,以最大化您的错误估计.一个非常简单的算法是这样的:

  1. 决定你想要的折叠数量(k)
  2. 将数据集细分为k个折叠
  3. 使用k-1折叠训练集来构建树.
  4. 使用测试集来估计树中错误的统计信息.
  5. 保存结果以供日后使用
  6. 重复步骤3-6,持续k次,为测试装置留出不同的折叠.
  7. 平均迭代中的错误以预测整体错误

我无法弄清楚的问题是最终你会有k个决策树,它们可能会略有不同,因为它们可能不会以相同的方式分割,等等.你选择哪一棵树?我有一个想法是选择一个误差最小的一个(尽管这并不是最佳的,只是它在给出的折叠上表现最好 - 也许使用分层会有所帮助,但我读过的所有内容都说它只能帮助一点点).

据我所知,交叉验证的关键是计算节点统计数据,以后可以用于修剪.因此,树中的每个节点都会根据给定的测试集为其计算统计数据.重要的是节点统计中的这些,但是如果你的平均错误.当每棵树在他们选择分割的内容上有所不同时,如何在k树中的每个节点内合并这些统计数据等.

计算每次迭代的总误差有什么意义?这不是修剪过程中可以使用的东西.

任何帮助这个小皱纹将非常感激.

algorithm machine-learning decision-tree

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

AngularJS:链接到使用ng-repeat的指令中的元素

我有一个简单的指令,其中模板在其中使用ng-repeat.我需要运行一些代码来针对ng-repeat指令创建的一些元素实例化一个jquery组件.问题是如果我把这段代码放在链接函数中.ng-repeat尚未构建这些元素,因此没有实例化.

App.directive('myDirective', ['$compile', '$timeout', function($compile, $timeout) {
  return {
    scope: {
        domains: '='
    },
    templateUrl: '/app/partials/my_directive.html',
    link: function($scope, element, attributes) {
        element.find('.standard-help').tooltip('destroy');
        element.find('.standard-help').tooltip({placement: 'top', trigger: 'click hover focus'});
    }
  };
}
Run Code Online (Sandbox Code Playgroud)

模板看起来如下所示.我想附上

<ul class="media-list domainList">
  <li class="media" style="position:relative;" ng-repeat="domain in domains">
    <a class="domainHeader" href="javascript://">
        <span class="domainHeader">{{domain.tag}}</span>
    </a>
    <div class="media-body" style="margin-left: 52px;">
        <ul class="standardsList">
            <li ng-class="{ standardDisplayed: lessonLayout == 'standards' }" ng-hide="standard.lessons.length == 0" ng-repeat="standard in domain.standards">
                <a href="javascript://" title="{{standard.description}}" ng-show="lessonLayout == 'standards'" class="standard-help pull-right"><i class="icon-question-sign"></i></a>
                <h6 ng-show="lessonLayout == 'standards'">{{standard.tag}}</h6>
                <ul …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive

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