小编Pet*_*ron的帖子

Python Web Framework最像ASP.NET MVC 3

尽管我喜欢在ASP.NET MVC上构建,但现在是时候离开Windows了.

我想以最少的痛苦切换到基于Python的东西.

在没有讨论切换的优点或原因的情况下,哪个Python Web框架在体系结构方面与ASP.NET MVC 3最相似?

建筑实例

我说的是流程,而不是语言.

典型的.NET路由

routes.MapRoute( // maps requests at /Product/ to ProductController
    "Products", // Route name
    "Product/{action}/{id}", // URL with parameters
    new { controller = "Product", action = "Index", id = UrlParameter.Optional }
        // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)

典型的.NET控制器

public class ProductController
{
    public ActionResult Index(IndexInputModel inputModel)
    {
        // do something with inputModel ...
        var viewModel = new ProductIndexViewModel()
        {
            Products = productList;
        }
        return View("~/Views/Product/Index.cshtml", viewModel);
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

典型的~/Views/Product/Index.cshtml.NET Razor视图 …

python asp.net-mvc web-frameworks

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

提交后修复Mercurial存储库中的重命名

我们的Mercurial存储库中的许多文件都在一次提交中移动,但这些文件未标记为已重命名.更糟糕的是,一些文件也在同一个提交中被修改.

如何在保持更改和文件移动的同时,撤销变更集并正确检测重命名?

mercurial rename tortoisehg backout

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

OSX 上 MIPS MT7688 OpenWRT 的交叉编译 (mipsel-unknown-linux-musl)

当我尝试使用 rustc 1.32.0-nightly 在 OSX 上为小端 MIPS(运行 OpenWRT 的 MT7688 处理器)交叉编译 Cargo starter main.rs 文件时,出现以下错误:

cargo build --target=mipsel-unknown-linux-musl
   Compiling led v0.1.0 (/Users/petrus/Projects/led)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--eh-frame-hdr" "-L" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.2kthj4han7xcr84g.rcgu.o" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.440j3fk0cam0b0pu.rcgu.o" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.482rers61msj2848.rcgu.o" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.498udk2wtgjsw4ib.rcgu.o" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.4uh6jdaux45o6bh1.rcgu.o" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.5fq5qqfqkwjepod2.rcgu.o" "-o" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps/led-fb2a88ec64854daf.49n6u1xnbbs66t12.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/Users/petrus/Projects/led/target/mipsel-unknown-linux-musl/debug/deps" "-L" "/Users/petrus/Projects/led/target/debug/deps" "-L" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib/libstd-27a0dffe96f2ad3e.rlib" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib/libpanic_unwind-fe8b80af161a561e.rlib" "/var/folders/rl/b7dvjss14wj6415t0v4f7z3m0000gn/T/rustcFd840X/libunwind-ecc019d8c6cb3f8a.rlib" "/var/folders/rl/b7dvjss14wj6415t0v4f7z3m0000gn/T/rustcFd840X/liblibc-5d68beb2e4661bda.rlib" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib/liballoc-de565f8c0b8e0971.rlib" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib/librustc_std_workspace_core-0a55bee6cc97e346.rlib" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib/libcore-4075eb2b0854a330.rlib" "-Wl,--end-group" "/Users/petrus/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/mipsel-unknown-linux-musl/lib/libcompiler_builtins-ecf284221505c8a3.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lc"
  = note: clang: warning: argument unused during …
Run Code Online (Sandbox Code Playgroud)

macos openwrt mips cross-compiling rust

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

使用 setLocalVolume 控制 Discord 中的本地用户语音音量

我正在尝试通过网络应用程序以编程方式控制 Discord 频道中用户声音的相对本地音量。

Discord 的游戏 SDK 有一个记录在案的 API 调用,用于控制用户VoiceManager.setLocalVolume(userId, level)在本机游戏中的本地音量,但游戏 SDK 的批准目前处于暂停状态,我并不想制作本机游戏。

所以,我转向了Discord 浏览器插件。在discordapp.com上,我可以看到setLocalVolume定义了一个名为的函数,但我不知道如何调用它。Discord API 似乎被 Webpack 混淆了。

如何通过利用本地 Discord 进程来控制 Discord 中的本地用户音量?我很高兴制作并安装一个自定义浏览器插件,以针对基于网络的 Discordapp.com 页面执行此操作。

voice volume discord

7
推荐指数
0
解决办法
1537
查看次数

在ASP.NET MVC中使用StructureMap注入多租户存储库

我正在多租户ASP.NET MVC应用程序中实现StructureMap,以注入我的租户存储库的实例,这些存储库基于ITenantContext接口检索数据.该Tenant问题由下式确定RouteData在一个基本控制器的 OnActionExecuting.

如何告诉StructureMap构造TenantContext(tenantID);tenantID从我的RouteData或某个基本控制器属性派生的位置?

基础控制器

鉴于以下路线:

{tenant}/{controller}/{action}/{id}
Run Code Online (Sandbox Code Playgroud)

我的基本控制器Tenant根据{tenant} URL参数检索并存储正确的.使用时Tenant,ITenantContext可以构建具有an的存储库,以仅检索与该租户相关的数据.

根据其他DI问题,可能AbstractFactory是一个解决方案?

structuremap asp.net-mvc routing repository multi-tenant

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

调用EditorFor(...)时隐藏公共属性的编辑标签?

在调用时Html.EditorFor(m => m),m具有公共属性的公共类在哪里,为具有该属性的属性显示隐藏的输入和标签[HiddenInput].

  • 如何隐藏标签而不将其设为私有或创建编辑器模板?

public class User
{
    [HiddenInput]
    public Guid ID { get; set; } // should not be displayed in editor template
    public string Name { get; set; } // should be editable
}
Run Code Online (Sandbox Code Playgroud)

EditorFor(...) 标签的ID属性不受欢迎的结果

<div class="editor-label">
    <label for="ID">ID</label> <!-- Why is this here? -->
</div>
<div class="editor-field">
    <input id="ID" name="ID" type="hidden" value="">
</div>
Run Code Online (Sandbox Code Playgroud)

meta-attribute editorfor editorformodel asp.net-mvc-2

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

神经网络示例将多维特征分为两组

我正在寻找一个监督神经网络的良好源代码示例,该网络接受两个以上的特征(与大多数XY示例不同)并将数据分为两组.根据我的阅读,支持向量机(SVM)可能是一个解决方案?

我发现的所有分类例子都是二维的.以下是一些:

我试图将罕见事件与通常稳定的许多输入区分开来.功能是键值对,其值通常可以作为一个小数字离散化.第一类可用的训练数据是巨大的,但第二类训练集很少,如果这样做有所不同.

示例训练集

A类

[2, 1, 0, 1, 4, 3] -> A  
[1, 1, 2, 3, 3, 0] -> A
[0, 0, 1, 3, 2, 0] -> A
Run Code Online (Sandbox Code Playgroud)

B类

[0, 4, 4, 4, 4, 3] -> B
Run Code Online (Sandbox Code Playgroud)

分类示例

[1, 3, 4, 4, 4, 0] -> ??? (probably B)
Run Code Online (Sandbox Code Playgroud)

置信度,例如."85%确定B",有助于区分罕见事件的门槛.

神经网络是最好的解决方案吗?是否有内置的.NET库?

c# classification neural-network

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

对于多个预期值,Assert.AreEqual(expected,actual)

如何断言变量满足Visual Studio单元测试环境中的两个值中的任何一个?

我见过其他测试框架是这样的:

Assert.That(result.ViewName, Is.EqualTo("HomePage") | Is.Empty);
Run Code Online (Sandbox Code Playgroud)

我对Visual Studio的单元测试环境没有经验.

unit-testing assert visual-studio

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

通过RPXNow加速20秒的OpenID登录

我已经为多个应用程序实现了RPXNow,作为OpenID和OAuth的一个很好的抽象,以支持Google和Facebook登录.我唯一的抱怨是登录时间过长.点击谷歌的"登录"按钮后,整个过程需要8-10秒才能完成,这来自我的本地机器!我只查询https://rpxnow.com/api/v2/auth_info一次来自my的响应字符串AccountController,其中包括登录结果和用户配置文件.

所以我选择实施DotNetOpenAuth.使用Google作为我的提供商,完成登录仍需要7-9秒!它不能是我的存储库层,因为Forms登录是即时的.因此,我必须将等待时间归因于我的系统,RPXNow和身份验证提供程序之间的延迟.同样的延迟发生在我的基本和高级RPXNow账户上.

StackOverflow上的Google OpenID登录似乎是即时的.如何加快我的OpenID登录速度?如果我可以将登录时间缩短到1-3秒,我愿意放弃RPXNow.


编辑:好的,所以我去了我的RPXNow请求实际需要多长时间,并且它不到两秒钟(从冷启动开始的1984ms和2100ms),但整个过程需要7-8*秒.也许这是重定向或谷歌的登录框.我将不得不再运行一些诊断程序.

  • 热烈的开始.缓存了RPXNow脚本,图像和DNS.

更多测试:我正在使用384kbps的ADSL连接进行测试,这也是SA的大多数人仍然拥有的.以下是使用Google登录的时间细分:

冷启动故障:

  1. 加载RPXNow小部件: 3.1s
  2. 加载弹出窗口: 5.9s
  3. 点击Google提供商:忽略
  4. 加载Google登录框: 4.1s
  5. 提交Google详细信息:忽略
  6. 等待RPX重定向: 7.7s(包括1.9s auth时间)

总登录时间,不包括在内.数据输入:

20.8秒.

太长.

热启动细分:

  1. 加载RPXNow小部件: 2.2s
  2. 通过Google登录: 6.5s(包括1.8s auth时间)

总登录时间,不包括在内.数据输入:

8.7秒

几乎可以接受.

openid asp.net-mvc performance rpxnow dotnetopenauth

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

为什么MongoDB查询使用$ gt和$ lte而不是>和<=?

我是MongoDB的新手.它似乎建立在JavaScript语法之上.为什么不能用更清晰的比较运营商如<>=而不是$gt$lte

在线shell示例:

db.scores.find({a: {'$gte': 2, '$lte': 4}});

javascript comparison operators mongodb

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