小编Myl*_*ell的帖子

TFS2010 - 并行构建 - 单一解决方案,单一构建代理

我们有TFS2010和单个解决方案,有近200个项目(是的,我知道,不好主意,不是我的!).我在4核(8超)机器上的构建时间从大约30秒开始,从4分钟顺序完成,通过解耦代码来实现高水平的构建并发性.我现在想在构建服务器上获得它的好处,这必须是可能的,因为MSBuild支持并行构建.怎么样?

msbuild compilation visual-studio tfs2010

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

MonoDevelop - 代码窗口配色方案

有没有办法在MonoDevelop中自定义代码窗口颜色方案?如果可能的话,我想要像黑曜石之子这样的东西.

monodevelop

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

Erlang OTP UDP 服务器

这是一个简单的 UDP 服务器:

-module(kvstore_udpserver).
-author("mylesmcdonnell").

%% API
-export([start/0]).

start() ->
  spawn(fun() -> server(2346) end).

server(Port) ->
  {ok, Socket} = gen_udp:open(Port, [binary]),
  loop(Socket).

loop(Socket) ->
  receive
    {udp, Socket, Host, Port, Bin} ->
      case binary_to_term(Bin) of
        {store, Value} ->
          io:format("kvstore_udpserver:{store, Value}~n"),
          gen_udp:send(Socket,Host,Port,term_to_binary(kvstore:store(Value)));
        {retrieve, Key} ->
          io:format("kvstore_udpserver:{retrieve, Value}~n"),
          gen_udp:send(Socket,Host,Port,term_to_binary(kvstore:retrieve(Key)))
      end,
      loop(Socket)
  end.
Run Code Online (Sandbox Code Playgroud)

我怎样才能重组这个,以便

a)它,或者至少是它的相关部分,是一个 gen_server,这样我就可以添加到监督树中

b) 通过在单独的进程中处理每条消息来增加并发性。

我已经为我的 TCP 服务器重新实现了 Learn You Some Erlang 中的 sockserv 示例,但我正在努力确定 UDP 的类似模型。

erlang udp

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

TeamCity Parameterise VCS密码

我正在运行TeamCity 9x,它似乎不支持VCS密码参数,这意味着我必须使用SSH密钥(证明很难,但这是一个单独的问题)或输入每个构建配置的密码,这是不可接受的,因为我们将最终有超过100个构建配置,所以更改密码将是非常艰巨的.

有没有办法可以指定一次密码并将其注入每个VCS根目录?

teamcity teamcity-9.0

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

使用 aws-vault 运行 Goglang

我使用 aws-vault 在 ZSH 中建立到我的开发 AWS 环境的安全会话,一切都很好。现在我想运行我的 IDE (Gogland),让它假设 aws-vault 会话,这样我就可以反过来调试一些依赖于 S3 的测试。

我如何才能让进程(例如 Gogland)继承 aws-vault 会话?在建立保险库会话后,我尝试从 shell 简单地启动 Gogland,但无济于事。

amazon-web-services goland

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

最大并发节流

我希望这个问题有很多可能的解决方案,我可以自己提出一些解决方案,其中一些明显优于其他解决方案,但我确定没有一个解决方案是最优的,所以我很想听听那些真正的多线程专家.

我有大约100件可以同时执行的工作,因为它们之间没有依赖关系.如果我按顺序执行这些操作,我的总执行时间大约是1:30.如果我在线程池中对每个工作进行排队,则需要大约2米,这告诉我,我正在尝试一次做太多,并且所有这些线程之间的上下文切换否定了拥有这些线程的优势.

所以基于这个假设(如果这是错误的话,请随时把我击倒)如果我只排队到系统中的核心数(这台机器上有8个),那么任何时候我都会减少上下文切换从而提高整体效率(其他流程线程当然不能承受),有人能建议这样做的最佳模式/技术吗?

顺便说一下,我使用的是smartthreadpool.codeplex.com,但我没有.

.net c# multithreading .net-3.5

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

如何使用autofac注册开放泛型类型,封闭泛型类型和装饰?

我使用Autofac作为我的IoC容器.我有:

  1. IRepository<>,我的存储库界面;
  2. DbContextRepository<>,使用EntityFramework的DbContext的存储库的通用实现;
  3. 比如说PersonRepository : DbContextRepository<Person>,程序集中的一些封闭类型的存储库 ;
  4. 而a RepositoryDecorator<>,用一些标准的额外行为来装饰我的存储库;

我正在使用autofac将它们全部注册为:

builder.RegisterGeneric(typeof(DbContextRepository<>))
            .Named("repo", typeof(IRepository<>));

builder.RegisterGenericDecorator(
                typeof(RepositoryDecorator<>),
                typeof(IRepository<>),
                fromKey: "repo");            

var repositorios = Assembly.GetAssembly(typeof(PersonRepository));
builder.RegisterAssemblyTypes(repositorios).Where(t => t.Name.EndsWith("Repository"))
          .AsClosedTypesOf(typeof(IRepository<>))
          .Named("repo2", typeof(IRepository<>))
          .PropertiesAutowired();

builder.RegisterGenericDecorator(
               typeof(RepositoryDecorator<>),
               typeof(IRepository<>),
               fromKey: "repo2");
Run Code Online (Sandbox Code Playgroud)

我想要做的是:

  1. 注册DbContextRepository<>为通用实施IRepository<>;
  2. 然后注册已关闭的类型存储库,以便它们可以在需要时重载先前的注册;
  3. 然后装饰它们,当我要求容器解析IRepository时,它给我一个RepositoryDe​​corator,它具有正确的IRepository实现,是DbContextRepository或已经注册的封闭类型.

当我尝试解析一个IRepository<Product>没有闭合类型实现的时,它会正确返回一个装饰的DbContextRepository.

但是,当我尝试解决的IRepository<Person>,它一个封闭式的实现,这也给了我一个装饰DbContextRepository,而不是装饰PersonRepository.

c# inversion-of-control autofac

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

在Linux上监视/审计文件删除

其中一个应用程序deps的.beam文件之一正在被删除,我不确定是什么/如何.

有没有办法监视或审核文件,看看删除后会发生什么?

我正在使用RedHat发行版.

linux filesystems

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

在 Win2012 上通过 Powershell 安装 Windows 服务 - 拒绝访问

我正在运行以下命令,但无法弄清楚为什么在调用 New-Service 时访问被拒绝:

param(
    [string]$serviceName,
    [string]$exePath,
    [string]$username,
    [string]$password
)

"Attempting to install service '$serviceName' - '$exePath'"
$secpassword = convertto-securestring -String $password -AsPlainText -Force  

$cred = New-Object System.Management.Automation.PSCredential($username, $secpassword)

$existingService = Get-WmiObject -Class Win32_Service -Filter "Name='$serviceName'"

if ($existingService) 
{
  "'$serviceName' exists already. Stopping."
  Stop-Service $serviceName
  "Waiting 3 seconds to allow existing service to stop."
  Start-Sleep -s 3

  $existingService.Delete()
  "Waiting 5 seconds to allow service to be un-installed."
  Start-Sleep -s 5  
}

"Installing the service."
New-Service -BinaryPathName $exePath -Name $serviceName -Credential $cred …
Run Code Online (Sandbox Code Playgroud)

powershell windows-server-2012

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

自动增加内部版本号

我有两个解决方案的项目.一个是版本3.0.0.*,另一个是2.0.0.*.我使用MSBuild脚本在Team City上构建我的解决方案.如何将版本字符串的内部版本号部分注入AssemblyVersion属性,并保留在开发时定义的major.minor.patch.

换句话说我想手动控制major.minor.patch(并且解决方案中的各个主要部分的主要部分会有所不同)但是会自动增加内部版本号.

.net versioning msbuild teamcity

3
推荐指数
1
解决办法
2222
查看次数