标签: layer

DAO应该验证输入

由于DAO层通常负责在给定某些输入(如user_id等)的情况下从DB访问数据,它是否应该检查其输入的有效性?

例如,如果有一个DAO方法基于user_uid获取用户,这是一个(> 0)主键,那么DAO方法是否应该在进行必要的DB调用之前检查此约束?或者它应该假设任何更高的层调用此方法将处理约束并且永远不传递-ve id?DAO方法可以在其doc中发布此约束,以便编写更高层的程序员能够意识到它.

您通常使用哪种方法?为什么?

感谢致敬!

validation dao layer data-access-object

8
推荐指数
2
解决办法
2484
查看次数

Spring安全保护服务层,Web服务层或两者兼而有之?

我有一个API,我通过REST暴露,我正在考虑在哪里放置权限限制.
我已经读到有一个关于保护服务层的最佳实践,因为它正在进行工作,你不知道它将被调用到哪里但是我不确定什么是关于WS的最佳实践层.
我有一个想法是,我需要在服务层上有一个非常精细的授权模型和WS层上非常粗糙的授权模型,以便最大限度地减少破坏DRY原则,但仍然有一些概念深度防守.

例:

对于Users资源,有一个UserWS和一个UserService.管理员可以创建/更新/删除用户,用户可以阅读其他用户.
假设UserWS受到约束,%root%/users我将intercept-url为该URL 定义一个具有ROLE_USER权限的URL,该权限仅表示您必须是用户才能到达那里,但服务层本身将指定相关方法的特定权限.

其他选择是:

  • 在服务和WS
    -Pro 上放置相同的授权要求 - 您将尽早过滤掉入侵者(如果您使用的是弹簧mvc,则保存参数的转换)
    配置的复制是维护问题并且容易出错=>安全问题


  • 如果来自WS
    Con的服务层可能会从不同的上下文中使用, 则仅将授权要求尽快放在WS -Pro-Filter上

  • 仅在服务上实现授权要求 -
    Pro-No Duplication
    Con-Overhead允许"直率"无效请求到达服务层

非常感谢有关选项的任何反馈

java spring-security layer service-layer

8
推荐指数
1
解决办法
2453
查看次数

CABasicAnimation从当前图层位置开始

这是我的Obj-C编程的第二周,我在动画方面遇到了一些问题.

我用这个动画:

 CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
    fullRotation.duration = 4;
    fullRotation.repeatCount= 1000;
    [[stick layer] addAnimation:fullRotation forKey:@"60"];}
Run Code Online (Sandbox Code Playgroud)

此动画从我的应用程序启动开始,然后单击某些按钮,这些按钮在单击时更改动画持续时间,但新动画(具有相同代码但持续时间不同)从图像"棒"的原始位置开始.我可以做些什么来制作其他动画从当前位置开始360度转弯?谢谢.

部分代码更多解释:

-(void)viewDidAppear:(BOOL)animated{
    CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
    fullRotation.duration = 4;
    fullRotation.repeatCount= 1000;
    [[stick layer] addAnimation:fullRotation forKey:@"60"];}

- (IBAction)button1:(UIButton *)sender {

 CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
    fullRotation.duration = 6;
    fullRotation.repeatCount= 1000;
    [[stick layer] addAnimation:fullRotation forKey:@"60"];}
Run Code Online (Sandbox Code Playgroud)

objective-c layer cabasicanimation ios

8
推荐指数
1
解决办法
7816
查看次数

8
推荐指数
1
解决办法
639
查看次数

在UIBlurEffect上画一个洞

Xcode 8.0 - Swift 2.3
我有一个内部扩展来创建非常好的模糊层:

internal extension UIView {

    /**
     Add and display on current view a blur effect.
     */
    internal func addBlurEffect(style style: UIBlurEffectStyle = .ExtraLight, atPosition position: Int = -1) -> UIView {
        // Blur Effect
        let blurEffectView = self.createBlurEffect(style: style)
        if position >= 0 {
            self.insertSubview(blurEffectView, atIndex: position)
        } else {
            self.addSubview(blurEffectView)
        }
        return blurEffectView
    }

    internal func createBlurEffect(style style: UIBlurEffectStyle = .ExtraLight) -> UIView {
        let blurEffect = UIBlurEffect(style: style)
        let blurEffectView = UIVisualEffectView(effect: blurEffect) …
Run Code Online (Sandbox Code Playgroud)

overlay objective-c layer ios swift

8
推荐指数
1
解决办法
2492
查看次数

演示文稿,业务和数据层

我刚刚开始使用C#进行编程,并且正在阅读将应用程序/网站划分为三个不同层次的文章,这是最佳实践,但我很难理解具体方法.我正致力于一个宠物项目,更多地关注C#,但我不想从任何坏习惯开始.你能看看我有什么,看看我做得对吗?提供一些关于如何将所有内容分解为不同层次的提示建议?

表达层

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Project: Ruth</title>
  <link href="CSS/StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
  <form id="form1" runat="server">
    <div class="Body">
      <div class="Header">
        <div class="Nav">
          <img src="images/Header_Main.gif" alt="" width="217" height="101" />
          <div class="Menu">
            <a href="Default.aspx">
              <img src="images/Header_Home-Off.gif" alt="" /></a>
            <a href="Default.aspx">
              <img src="images/Header_About-Off.gif" alt="" /></a>
            <a href="Register.aspx">
              <img src="images/Header_Register-Off.gif" alt="" /></a>
            <a href="Default.aspx">
              <img src="images/Header_Credits-Off.gif" alt="" /></a>
          </div>
        </div>
      </div>
      <div class="Content">
        <div class="CurrentlyListening">
          <asp:Label ID="lblCurrentListen" …
Run Code Online (Sandbox Code Playgroud)

c# data-access-layer presentation layer

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

我们可以在<li>中给出<div>

我们可以在un order list标签中给出div标签..............它将采用这种格式

<li><div>blablabla</div></li>
Run Code Online (Sandbox Code Playgroud)

可能吗

html tags layer html-lists

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

在d3.js中显示/隐藏图层

首先:我是d3.js的新手!

我有一张地图,上面显示了一些点.现在我想添加按钮来显示/隐藏点数.我到现在为止:

function checkAll(){
    d3.selectAll("g").attr("visibility", "visible");
}
function uncheckAll(){
    d3.selectAll("g").attr("visibility", "hidden");
}
Run Code Online (Sandbox Code Playgroud)

这工作到目前为止,但隐藏/显示整个地图.

我有一个"drawpoints()"函数,用于绘制地图上的点.如何更改我的代码,它只显示/隐藏点而不是整个地图?

layer show-hide d3.js

7
推荐指数
1
解决办法
7186
查看次数

了解 keras Conv2DTranspose 的输出形状

我很难理解 keras.layers.Conv2DTranspose 的输出形状

这是原型:

keras.layers.Conv2DTranspose(
    filters,
    kernel_size,
    strides=(1, 1),
    padding='valid',
    output_padding=None,
    data_format=None,
    dilation_rate=(1, 1),
    activation=None,
    use_bias=True,
    kernel_initializer='glorot_uniform',
    bias_initializer='zeros',
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None
)
Run Code Online (Sandbox Code Playgroud)

在文档(https://keras.io/layers/convolutional/)中,我读到:

If output_padding is set to None (default), the output shape is inferred.
Run Code Online (Sandbox Code Playgroud)

在代码(https://github.com/keras-team/keras/blob/master/keras/layers/convolutional.py)中,我读到:

out_height = conv_utils.deconv_length(height,
                                      stride_h, kernel_h,
                                      self.padding,
                                      out_pad_h,
                                      self.dilation_rate[0])
out_width = conv_utils.deconv_length(width,
                                     stride_w, kernel_w,
                                     self.padding,
                                     out_pad_w,
                                     self.dilation_rate[1])
if self.data_format == 'channels_first':
    output_shape = (batch_size, self.filters, out_height, out_width)
else:
    output_shape = (batch_size, out_height, out_width, self.filters)
Run Code Online (Sandbox Code Playgroud)

和(https://github.com/keras-team/keras/blob/master/keras/utils/conv_utils.py):

def deconv_length(dim_size, …
Run Code Online (Sandbox Code Playgroud)

layer shapes keras

7
推荐指数
1
解决办法
8455
查看次数

将tensorflow tf.contrib.layers.layer_norm转换为tf2.0

我想将以下代码从 tf1.0 更改为 tf2.0

 tf.contrib.layers.layer_norm(
      inputs=input_tensor, begin_norm_axis=-1, begin_params_axis=-1, scope=name)
Run Code Online (Sandbox Code Playgroud)

此代码取自https://github.com/google-research/bert/blob/master/modeling.py 第 364 行。

请帮我。

layer tensorflow

7
推荐指数
2
解决办法
7294
查看次数