小编ole*_*sii的帖子

JIT.最好的方式序列化为json

我需要为jit库创建一个自定义json .我应该使用额外的C#逻辑还是以某种方式扩展JsonSerializer.Json应该是这样的 - >

var json = {
    "children": [
 {
     "children": [
     {
         "children": [],
         "data": {
             "playcount": "276",
             "$color": "#8E7032",
             "image": "http://userserve-ak.last.fm/serve/300x300/11403219.jpg",
             "$area": 276
         },
         "id": "album-Thirteenth Step",
         "name": "Thirteenth Step"
     }
}] 
Run Code Online (Sandbox Code Playgroud)

}

c# serialization json thejit

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

数据库(MySql)与引擎(InnoDB)的关系?

有超过1000万篇文章将MyISAM与InnoDB(两个所谓的数据库引擎)进行比较,维基百科模糊地将其定义为:

" ......数据库管理系统(DBMS)用来从数据库创建,读取,更新和删除(CRUD)数据的底层软件组件. "

但这究竟意味着什么?令人惊讶的是,我找不到一篇文章谈论数据库与其引擎的关系!

引擎如何在具体的现实世界中表现出来?是数据库实际上只是一个二进制文件,它的"引擎"是.exe处理文件的所有I/O吗?引擎是否处理EXPLAINAND QEP?

我想我要问的是:你如何定义MySQL的哪些职责,以及哪些活动是其底层引擎的责任?

mysql database innodb storage-engines

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

在数组中查找块

我正在查看一些面试问题,我偶然发现了这个问题:

有一个mxn数组.数组中的块用1表示,0表示无块.您应该找到数组中的对象数.对象只是一组水平和/或垂直连接的块.

例如

0 1 0 0
0 1 0 0
0 1 1 0
0 0 0 0
0 1 1 0
Run Code Online (Sandbox Code Playgroud)

答:这个数组中有2个对象.L形状对象和最后一行中的对象.

我无法想出能够捕捉到'u'(如下所示)形状的算法.我该怎么办呢?

0 1 0 1
0 1 0 1
0 1 1 1
0 0 0 0
0 1 1 0
Run Code Online (Sandbox Code Playgroud)

arrays algorithm multidimensional-array

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

如何在 Windows 上获取 ISO 8601 格式的日期时间?

在 Windows 上使用 C++ 获取ISO8601格式的日期时间的标准方法是什么?具体来说,我希望将其格式设置为:

2017-02-22T10:00:00.123-05:00 2017-02-22T10:00:00.123 >>> -05:00 <<< # how to print the offset?

我正在考虑组合GetLocalTime和的输出GetTimeZoneInformation,但这看起来很深奥。SO 上也有类似的问题,但是,我还没有找到一个以所需格式打印 UTC 偏移量的问题。有更好的方法吗?

c++ windows datetime iso8601 datetime-format

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

是否可以将代码重用于集成和单元测试?

我使用具有单元测试和集成测试的分布式系统。我试图通过在集成和单元测试之间重用代码来节省时间和维护工作。为此,我实现了一个接口和2个类:伪类和真实类。类返回一些存根数据,而类则对其他分布式服务进行一些调用。

我项目的当前结构

/ BaseTest              
   接口IFoo
-------------------------------------
/单元测试
   FakeFoo类:IFoo

   [TestFixture]
   class FooTest {...} //使用FakeFoo
-------------------------------------
/集成测试
   RealFoo类:IFoo

   [TestFixture]
   class FooTest {...} //使用RealFoo

我想以某种方式重用两个测试的代码,所以如果我有一个测试

[Test]
public void GetBarIsNotNullTest()
{
    var foo = IoC.Current.Resolve<IFoo>();
    Bar actual = foo.GetBar();
    Assert.IsNotNull(actual);   
}
Run Code Online (Sandbox Code Playgroud)

我希望此测试可同时在RealFoo和和两种实现下运行FakeFoo。到目前为止,我已经考虑过在/ UnitTest/ IntegrationTest项目之间进行复制粘贴测试,但这听起来不对。

系统是用C#编写的,但是我相信这个问题与语言无关。

有人有更好的主意吗?我做错了吗?

c# language-agnostic tdd integration-testing unit-testing

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

如何计算淘汰mvc购物车样品的总购物车价值

我试图让我的头围绕淘汰mvc框架.我正在查看购物车样本并试图找出:

  1. 如何计算总成本
  2. 在哪里添加客户端业务规则(如折扣和优惠券)

计算代码读取的小计

@using (lines.If(m => m.ProductId != -1))
{
    using (var product = lines.With(m => ko.Model.DataBase[m.CategoryId].Products[m.ProductId]))
    {
        @product.Html.Span(m => "\\$" + m.Price)                  
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试从那里获得总数时,我通常在运行时最终会遇到编译器异常或NullReferenceException.例如

@using (lines.If(m => m.ProductId != -1))
{
    using (var product = lines.With(m => ko.Model.Categories[m.CategoryId].Products[m.ProductId]))
    {
        @product.Html.Span(m => "\\$" + (lines.Model.Quantity * m.Price))                                                       
        @{double total = lines.Model.Quantity * m.Price;}
    }
}
Run Code Online (Sandbox Code Playgroud)

给我

编译器错误消息:CS1501:方法'Write'没有重载需要0个参数

好像我做错了.有人会指出我正确的方向吗?

asp.net-mvc knockout.js knockout-mvc

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

如何减少 web api 调用的样板代码?

我正在使用 ASP.NET MVC 网站和 ASP.NET Web Api 服务。当前的架构看起来像这样

浏览器 => UI 网站 => Web Api 服务 => 数据库

拆分 UI 和 Web Api 的论点是,我们可以拥有多个不同的 UI(Web、移动、桌面、手表等),它们都调用中间服务来获取数据。但是,当我需要添加新的 api 调用时,我需要添加相当多的管道样板代码(+ 我更不喜欢的样板测试)。

浏览器 => ajax 
    UI => 控制器和 web api 代理客户端
Web API => 控制器和存储库
           数据库

我在想,将 web api 与 UI 结合会更容易,因为我不需要编写额外的控制器和代理来调用它,但是我不确定这是否是正确的方法。我们有大约 20 个控制器和 100 个用 C# 编写的 api 调用。我很想知道其他人如何将 web api 与 UI 项目一起使用。

我应该将 Web Api 项目与 UI 项目合并,这样做的利弊是什么?

c# asp.net api asp.net-mvc asp.net-web-api

5
推荐指数
0
解决办法
309
查看次数

找到两个数字桶之间的最短距离

我有两个桶(无序,1维数据结构)的数字,我想计算两个桶的任何元素之间的最小距离.有没有办法找到不同桶中任何数字之间的最短距离O(1)?什么是我最好的选择?

Input
[B1] 1, 5, 2, 347, 50
[B2] 21, 17, 345

Output
2 // abs(347 - 345)
Run Code Online (Sandbox Code Playgroud)

编辑

  • 我希望有更多的查找而不是插入
  • 任何桶中最小和最大元素之间的距离小于10 ^ 5
  • 任何桶中的元素数量小于10 ^ 5
  • 存储桶中的数字"几乎"排序 - 这些是事件的时间戳.桶中可能不到1%的元素出现故障
  • 存储桶中的元素数量很少,但我需要以2k/sec的平均速率查找,并定期删除过时的存储桶并用新存储桶替换它们,因此我希望我的查找能够在 O(1)

看看为什么我需要这个以及我在之前的问题版本中想到的内容.

c++ algorithm intersection distance euclidean-distance

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

如何在发布单个文件 dotnet core 应用程序期间签署二进制文件?

我想对单文件发布的 .net core 应用程序中的二进制文件进行签名。这是因为我希望这些库在解压到 时进行数字签名。这是我的项目文件的缩短版本。%temp%\.net\%app_name%\%random_dir%

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <PublishSingleFile>true</PublishSingleFile>
    <SelfContained>true</SelfContained>
    <RuntimeIdentifier>win-x86</RuntimeIdentifier>
    <PublishTrimmed>false</PublishTrimmed>
    <PublishReadyToRun>false</PublishReadyToRun>
    <Configuration>Release</Configuration>
    <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>    
  </PropertyGroup>

  <Target Name="SignPrePublishedFiles" AfterTargets="ComputeAndCopyFilesToPublishDirectory">
    <ItemGroup>            
      <FileToSign Include="$(OutDir)Foo.*.dll" />      
    </ItemGroup>    
    <Exec Command="jsign ~~~params removed for brevity~~~ %(FileToSign.Identity)" />
  </Target>
  
</Project>
Run Code Online (Sandbox Code Playgroud)

目标在目录SignPrePublishedFiles中签署所需的文件$(OutDir),但发布的应用程序包含未签名的二进制文件。我认为这是因为以下时间不正确:AfterTargets="ComputeAndCopyFilesToPublishDirectory"或文件夹不正确,我假设$(OutDir)用于发布。在这里,我使用jsign因为构建在 Linux 上运行,但签名是针对 Windows 二进制文件完成的。

如何签署已发布的文件,特别是单文件应用程序内的文件?

msbuild publishing code-signing authenticode .net-core

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

如何在 2500 多个套接字上实现 TCP/IP 心跳?

我目前有一个异步 TCP/IP 套接字 C# WinForms 应用程序,它是“服务器”应用程序。应用程序持有客户端的持久套接字。我想实现一个心跳包来检测半开连接。

最初我想只创建一个循环并每隔 xx 秒将心跳发送到我的整个套接字集合。但是,我认为这对性能不利。

我想我应该以某种方式错开心跳并一次发送到数百个套接字。有没有人有任何经验/技术/实现来有效地实现这一目标?

c# sockets

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