标签: partial

(部分应用str)和在clojure中使用apply-str - >

如果我执行以下操作:

user=> (-> ["1" "2"] (partial apply str)) 
#<core$partial__5034$fn__5040 clojure.core$partial__5034$fn__5040@d4dd758>
Run Code Online (Sandbox Code Playgroud)

......我得到了部分功能.但是,如果我将它绑定到变量:

user=> (def apply-str (partial apply str))
#'user/apply-str
user=> (-> ["1" "2" "3"] apply-str)       
"123"
Run Code Online (Sandbox Code Playgroud)

......代码按照我的意图运作.我认为它们是相同的,但显然事实并非如此.有人可以解释为什么这对我来说?

variables clojure partial

5
推荐指数
2
解决办法
862
查看次数

使用LLVM-gcc或gcc进行部分评估/专业化

我对c/c ++的(部分)编译时评估非常感兴趣(不是像c ++中的模板参数).让我们考虑以下情况(取自[1]):

double mypower(double x, int n) {
  int i;
  double ret = x;
  for (i = 1; i < n; i++) {
    ret *= x;
  }
  return ret;
}
Run Code Online (Sandbox Code Playgroud)

然后在代码中的某处调用此函数:

mypower(x,3); // y varies all the time, 
Run Code Online (Sandbox Code Playgroud)

然后编译器可以优化它(例如循环展开).我使用的一些常用函数可以从优化中获益(通过手动创建专用函数进行测试).演示文稿[1]描述了一个搜索函数的过程,并由函数的专用版本替换.这似乎有效.但它似乎并不是非常普遍,需要为应该替换的函数编写代码.

该演示文稿似乎是从2008年开始,我找不到比此来源更多的信息.那么从那时起有什么改进吗?我更喜欢某种自动化,它对可能由属性语法控制的所有函数都做同样的事情(例如__attribute__(peval)......).此外,我希望同样适用于面向对象的代码,为不同的对象创建专门的类([2]似乎暗示这是不可能的).

另外,我希望这种专业化不仅适用于代码中的常量.我正在考虑编译为LLVM IR(字节码)的程序可以执行以下操作:

  1. 在解释器的初始化阶段运行程序,在初始化阶段,程序可以从文件中读取一些配置.初始化后,解释器停止.

  2. 从那一点开始修复一些变量(包括成员变量).提取这些变量(例如,在编译期间由属性标记).

  3. 创建专门的函数和类.将这些克隆到字节码中.

  4. 运行JIT以创建本机机器代码.

这是我要求的很多,只有少数计算密集型程序可以从这种优化中受益.但是有些人必须在努力.我可能只是不知道正确的搜索条件来提供谷歌.

注意:请不要建议使用非类型参数或手动专业化的模板类,我已经这样做了.我只是希望编译器为我工作.

链接:

[1] 介绍如何在LLVM中进行部分评估

[2] 关于部分评估的论坛信息

c++ optimization evaluation llvm partial

5
推荐指数
1
解决办法
1074
查看次数

如何确定图像是否部分损坏?C#

我有一个图像的原始字节.我使用以下代码来确定图像是否损坏

public bool IsValidGDIPlusImage(byte[] imageData)
{
    try
    {
        using (var ms = new MemoryStream(imageData))
        {
            using (var bmp = new Bitmap(ms))
            {
            }
        }
        return true;
    }
    catch (Exception ex)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果图像完全损坏,上面的代码工作正常,但如果我有一个部分损坏的图像?像下面的JPEG

在此输入图像描述

如何确定图像部分损坏?

原始图像下方是一个简单的300x300像素图像,中心有一条对角线.

在此输入图像描述 任何指导都非常感谢.谢谢

corrupt image partial

5
推荐指数
1
解决办法
949
查看次数

SpringMVC,jquery,tiles和部分重新渲染

我正在尝试使用spring mvc 3.1,tiles 2和jquery对我的网站进行部分渲染.

这是我的春天:

<beans:bean class="org.springframework.js.ajax.AjaxUrlBasedViewResolver">
   <beans:property name="viewClass" value="org.springframework.js.ajax.tiles2.AjaxTilesView"/>
</beans:bean>
Run Code Online (Sandbox Code Playgroud)

我的瓷砖conf:

<definition name="productSearch" extends="baseLayout">
    <put-attribute name="mainSection">
        <definition template="/WEB-INF/views/productSearch.jsp">
            <put-attribute name="productSearchResults" value="/WEB-INF/views/productSearchResults.jsp" />
        </definition>
    </put-attribute>
</definition>
Run Code Online (Sandbox Code Playgroud)

如您所见,有一个名为"productSearchResults"的嵌套属性.这是结果页面,我希望通过ajax重新呈现此页面.

我的控制器:

@RequestMapping(params = "search=true", value = "/", method = RequestMethod.POST)
public String searchHandler(@Valid final SearchFormBean searchformBean, final Model model) {
    model.addAttribute("productsList", productsService.findProducts(searchformBean.getSearchCriteria()));
    return "productsSearch";
}
Run Code Online (Sandbox Code Playgroud)

我的jsps:

productsSearch.jsp:

<form:form id="product-search-form" method="post" modelAttribute="productSearchFormBean">
    <input type="hidden" name="search" value="" />
    <form:input path="searchCriteria.name" />
    // AND SOME OTHER FIELDS...
    <button type="submit" onclick="this.form.search.value='true';">Search</button>
</form>
Run Code Online (Sandbox Code Playgroud)

productSearchResults.jsp:

<div id="products-result">
    <div id="search-results-info" …
Run Code Online (Sandbox Code Playgroud)

ajax jquery tiles spring-mvc partial

5
推荐指数
1
解决办法
7483
查看次数

MongoDB中的部分更新C#驱动程序 - 字典问题

我正在尝试使用以下方法构建一个通用方法来处理MongoDB C#驱动程序的所有部分更新:

public bool UpdateObject<T>(UpdatableObject<T> updatableObject)
    where T : new()
{
    var builder = GenerateMongoUpdateBuilder(updatableObject.ModifiedFields);
    var collection = GetCollection<T>();
    var result = collection.Update(Query.EQ("_id", BsonValue.Create(updatableObject.Id)), builder, new MongoUpdateOptions { Flags = UpdateFlags.Multi });
    return result.UpdatedExisting;
}

private static UpdateBuilder GenerateMongoUpdateBuilder(Dictionary<string, object> modifiedFields)
{
    var builder = new UpdateBuilder();
    foreach (var modifiedField in modifiedFields)
    {
        var type = modifiedField.Value.GetType();
        if (type.IsPrimitive || type.IsValueType || (type == typeof(string)))
        {
            builder.Set(modifiedField.Key, BsonValue.Create(modifiedField.Value));
        }
        else
        {
            builder.Set(modifiedField.Key, modifiedField.Value.ToBsonDocument());
        }
    }
    return builder;
}
Run Code Online (Sandbox Code Playgroud)

我不得不挣扎一段时间,直到我找到解决方案通过BsonValue处理原始类型和通过BsonDocument处理非原始类型.一切都运作良好,直到...我们创建了一个包含字典的对象.插入工作完美,但一旦进入更新(使用此方法) - …

c# dictionary partial mongodb

5
推荐指数
1
解决办法
1624
查看次数

Clojure宏作为函数/'部分'用于宏?

这类似于在处理Clojure宏中讨论的问题作为一个函数,但是当在顶部答案中尝试该方法时,我得到了一个错误.希望有太多关于我的特定应用程序的信息是没有必要的,因为它非常复杂,但这是我尝试做的事情的简化版本:

(defmacro make-fn [m arg1] 
    `(fn [& args#] 
      (eval `(~'~m ~'~arg1 ~@args#))))
Run Code Online (Sandbox Code Playgroud)

我在这个上下文中使用了宏:

(let [columns (make-columns table-width)
       table-name (keyword (str "table_" n))]
  (apply (make-fn helpers/tbl table-name) columns))
Run Code Online (Sandbox Code Playgroud)

"helpers/tbl"是一个宏,它需要一个表名关键字和一个包含列规范的可变数量的列表(如[:varchar 100]或其他东西).我正在尝试动态创建随机数据库表规范,以方便一些测试.无论如何,当试图执行上面的代码时,我收到以下错误:

CompilerException java.lang.RuntimeException: Unable to resolve symbol: table-name in this context, compiling:(NO_SOURCE_PATH:1) 
Run Code Online (Sandbox Code Playgroud)

我有点理解这个问题:宏扩展是在编译时完成的,我试图在宏扩展中包含一个运行时值,因此奇怪的使用引用和取消引用来使所有内容都设置得恰到好处.我基本上想要部分用于宏,并且我需要能够将这种机制重用于不同命名空间中的不同宏,并且所有的变量分辨率都是正确的.这甚至可能吗?

macros clojure partial

5
推荐指数
1
解决办法
610
查看次数

验证不在局部视图中工作

我有一个索引页面,它有两个部分视图:登录和注册.我正在使用数据模型验证.

Login.cshtml

@model Project.ViewModel.UserModel

<div style="position:inherit;">
@using (Html.BeginForm("_Login", "account"))
{
    @Html.ValidationSummary(true)
    <div class="label">@Html.Label("Username")</div>
    <div class="field">@Html.TextBoxFor(m => m.Username)</div>
    <div class="error">@Html.ValidationMessageFor(model => model.Username)</div>

    <div class="label">@Html.Label("Password")</div>
    <div class="field">@Html.PasswordFor(m => m.Password)</div>
    <div class="error">@Html.ValidationMessageFor(model => model.Password)</div>

    <input class="field" id="submit" type="submit" value="Login" />
}
Run Code Online (Sandbox Code Playgroud)

Register.cshtml

@model Project.ViewModel.UserModel

<link href="~/Content/Site.css" rel="stylesheet" />
<div style="position: inherit; margin-top: 20px">
@using (Html.BeginForm("_Register","account"))
{
    <div class="label">@Html.Label("Name")</div>
    <div class="field">@Html.TextBoxFor(m => m.FullName)</div>
    <div class="error">@Html.ValidationMessageFor(model => model.FullName)</div>

    <div class="label">@Html.Label("Username")</div>
    <div class="field">@Html.TextBoxFor(m => m.Username)</div>
    <div class="error">@Html.ValidationMessageFor(model => model.Username)</div>

    <div class="label">@Html.Label("Password")</div>
    <div class="field">@Html.PasswordFor(m => m.Password)</div>
    <div …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc partial-views partial asp.net-mvc-3 asp.net-mvc-2

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

MVC 4部分与单独的控制器和视图

我已经开发了一段时间的ASP.NET Forms,现在我正在尝试学习MVC但是如何让它做我想做的事并没有完全意义.也许我需要以不同的方式思考问题.这是我正在尝试用一个简单的例子做的事情:

目标 - 使用部分文件,该部分文件可以放置在站点上接受参数的任何位置.该参数将用于转到数据库并将生成的模型传递回视图.然后,视图将显示一个或多个模型属性.

这不是我的代码,但显示了我正在尝试做的事情.

文件:Controllers/UserController.cs

[ChildActionOnly]
public ActionResult DisplayUserName(string userId)
{
MyDataContext db = new MyDataContext()

var user = (from u in db.Users where u.UserId = userId select u).FirstOrDefault();

return PartialView(user);
}
Run Code Online (Sandbox Code Playgroud)

文件:Views/Shared/_DisplayUserName.cs

@model DataLibrary.Models.User

<h2>Your username is: @Model.UserName</h2>
Run Code Online (Sandbox Code Playgroud)

文件:Views/About/Index.cshtml

@{
    ViewBag.Title = "About";
}

<h2>About</h2>

{Insert Statement Here}
Run Code Online (Sandbox Code Playgroud)

我知道此时我需要渲染一个名为DisplayUserName的部分,但是它如何知道要使用哪个视图以及如何将userId传递给部分?

这是我期望的一个非常基本的问题,但我还没有找到一个涵盖这个问题的教程.

在此先感谢您的帮助.

controller partial asp.net-mvc-4

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

这是使用Golang从PUT/PATCH中忽略JSON有效负载中不需要的字段的最佳方法吗?

我的情况是,使用我们的API的人需要在我的资源中进行部分更新.我理解HTTP明确指出这是一个PATCH操作,即使我们这边的人都用来发送PUT请求,这就是遗留代码的构建方式.

举例来说,想象一下简单的结构:

type Person struct {
    Name string
    Age int
    Address string
}
Run Code Online (Sandbox Code Playgroud)

在POST请求中,我将提供具有所有三个值(名称,年龄,地址)的有效负载,并在我的Golang后端上相应地验证它们.简单.

但是,在PUT/PATCH请求中,我们知道,例如,name永远不会改变.但是说我想改变它age,然后我只是发送一个包含新的JSON有效载荷age:

PUT /person/1 {age:30}
Run Code Online (Sandbox Code Playgroud)

现在我的真正问题是:name如果我们的API的消费者发送包含该name字段的JSON有效负载,防止有意或无意修改使用/更新的最佳做法是什么?

例:

PUT /person/1 {name:"New Name", age:35} 
Run Code Online (Sandbox Code Playgroud)

我想到的可能的解决方案,但我实际上并不喜欢它们,是:

  1. 在我的validator方法上,我要么强行删除不需要的字段,要么name回复一条错误消息说name不允许.

  2. 创建一个DTO对象/结构,它几乎是我的Person结构的扩展,然后将我的JSON有效负载解组到它中,例如

    type PersonPut struct { Age int Address string }

在我看来,这将添加不必要的额外代码和逻辑来抽象问题,但我没有看到任何其他优雅的解决方案.

老实说,我不喜欢这两种方法,我想知道你们是否面临同样的问题,以及你们是如何解决它的.

谢谢!

api json put go partial

5
推荐指数
1
解决办法
1284
查看次数

Webpack:将html部分包含在另一个部分中吗?

有没有一种方法可以使用webpack在另一部分中包含html部分?我正在使用html-loader执行此操作:

index.html

<%= require('html-loader!./partials/_header.html') %>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在_header.html中包含另一个部分时,它无法呈现它。

这不起作用:

_header.html

<%= require('html-loader!./partials/_nav.html') %>
Run Code Online (Sandbox Code Playgroud)

partial webpack webpack-html-loader html-webpack-plugin

5
推荐指数
1
解决办法
1479
查看次数