小编Ili*_*ski的帖子

便携式C++构建系统

我正在为C++项目寻找一个易于维护的便携式构建系统.主要平台应包括Windows(Visual Studio 8+)和Linux(gcc); Cygwin可能是一个优势.我们正在考虑两种主要的可能性:CMakeBoost.Jam.SCons也可以选择,但我还没有调查过.CMake和Boost.Jam似乎具有以下特征:

CMake的:

  • (+)生成本机"makefile"(Windows解决方案,Eclipse项目)
  • (+)测试和包装的扩展
  • ( - )需要每个项目文件夹中的配置文件
  • ( - )基于一种过于冗长的特殊语言

Boost.Jam:

  • 单独构建,没有中间步骤
  • ( - )不生成本机解决方案/项目
  • (+)简洁的语言类似于经典的makefile
  • (+)直观支持多线程和静态/动态库等属性

什么是其他可能性以及经验之后的真正优势?什么构建系统可以在途中创建解决方案?

c++ portability build-process

28
推荐指数
4
解决办法
8995
查看次数

Docker忽略.dockerignore中的模式

我打算从docker镜像中排除python生成的文件.所以我.dockerignore在上下文目录的根目录中添加了:

# Ignore generated files
*.pyc
Run Code Online (Sandbox Code Playgroud)

Alas docker build忽略了这一点,并复制了如下所示的整个目录树:

/contextdir/
|-- Dockerfile
\-- src/
    |-- a.py   # this is copies - all right
    \-- a.pyc  # this should be ignored, but is copied too. Why?
Run Code Online (Sandbox Code Playgroud)

ignore docker

17
推荐指数
2
解决办法
7975
查看次数

Angular:范围变量与函数

Angular中更好的东西 - 绑定到变量或函数.特别是:

  • 由于摘要调用或为函数创建的其他监视,是否会导致性能下降?
  • 对于范围功能应该和不应该做什么有什么建议吗?

两个选项的示例:

<!-- With function -->
<button ng-disabled="noDataFoo()">Add</button>

<!-- With variable -->
<button ng-disabled="noDataFlag">Add</button>
Run Code Online (Sandbox Code Playgroud)

支持控制器:

app.controller('sample', function($scope, $http) {
    $scope.noDataFlag = true;

    $scope.noDataFoo = function () {
        return !$scope.data;
    };

    $http('/api/getdata').success(function(data) {
        $scope.data = data;
        $scope.noDataFlag = false;
    };
});
Run Code Online (Sandbox Code Playgroud)

data-binding angularjs

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

spm.js中的新功能

刚刚得知存在另一个包管理器:静态包管理器spm.js - http://spmjs.io/.通过对文档的简要回顾,该工具看起来非常类似于"老好"Bower.

是这样吗?Bower或npm没有提供的spm.js有什么不同?

frontend package-managers npm bower

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

.Net中的Ping.Send(ip,timeout)返回太快,并在超时时抱怨

我反复使用此方法,以便监视与本地网络中计算机的连接。使用cmd执行相同的测试时,结果稳定且一致:

C:\Windows\system32>ping -t 192.168.11.12

Pinging 192.168.11.12 with 32 bytes of data:
Reply from 192.168.11.12: bytes=32 time=1ms TTL=126
Reply from 192.168.11.12: bytes=32 time=1ms TTL=126
Run Code Online (Sandbox Code Playgroud)

但是从C#运行500毫秒超时时,它有时甚至会在超时到期之前失败:

C:\Windows\system32>ping -t 192.168.11.12

Pinging 192.168.11.12 with 32 bytes of data:
Reply from 192.168.11.12: bytes=32 time=1ms TTL=126
Reply from 192.168.11.12: bytes=32 time=1ms TTL=126
Run Code Online (Sandbox Code Playgroud)

如果我将超时更改为1秒-所有操作均成功通过,平均ping为0.9毫秒。

我发现的唯一类似的东西是-http: //support.microsoft.com/kb/2533627,它没有太大帮助。

为什么会发生这种情况,以及如何监视高速率连接?

c# network-programming .net-4.0

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

为什么上下文管理器很慢

一位同事向我指出,该with声明可能很慢。所以我测量了确实,从contextmanager函数中获取值比从 Python 2.7 中的生成器获取值要长 20 倍,在 PyPy 2.6 中甚至要长 200 倍。

为什么会这样?是否可以重写contextlib.contextmanager()以运行得更快?

供参考:

def value_from_generator():
    def inner(): yield 1

    value, = inner()
    return value

def value_from_with():
    @contextmanager
    def inner(): yield 1

    with inner() as value:
        return value
Run Code Online (Sandbox Code Playgroud)

和时间:

$ python -m timeit 'value_from_generator()'
10000000 loops, best of 3: 0.169 usec per loop

$ python -m timeit 'value_from_with()'
100000 loops, best of 3: 3.04 usec per loop
Run Code Online (Sandbox Code Playgroud)

python performance with-statement

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

.git/log的目的是什么?

.git/log在搜索git保存stash提交的地方时注意到了.发现:

$ ls .git/logs/
HEAD  refs 
$ diff .git/refs/ .git/logs/refs/ | head -n3
Common subdirectories: .git/refs/heads and .git/logs/refs/heads 
Common subdirectories: .git/refs/remotes and .git/logs/refs/remotes 
diff .git/refs/stash .git/logs/refs/stash 
Run Code Online (Sandbox Code Playgroud)

含义stash- 是唯一的唯一文件logs.但它没有说明这个文件夹的基本原理.那么.git/loggit重复引用的目的是什么?为什么?

git git-stash

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

std set of boost :: shared_ptr <string>

我有一组boost :: shared_ptr,我希望不是通过共享指针而是通过字符串来排序和统一.我是否必须提供一个新的比较函数来获取共享指针并比较内容,或者我是否可以使用这样的比较器?

c++ boost shared-ptr

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

AngularJS + RequireJS + domReady中的未捕获对象

我有一个工作的AngularJS应用程序,并开始使用RequireJS进行模块依赖.遵循本指南 - http://www.startersquad.com/blog/angularjs-requirejs/ - 使用domReady插件手动启动角度应用程序.

在Chrome中测试并进入Uncaught object控制台.没有角度通常提供的通常细节,只有无用的调用堆栈.

这是我的应用程序的一个非常简化的版本:

<html ng-app="myApp">
<body>
    <script data-main="/scripts/config.js" src="scripts/require.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

config.js:

requirejs.config({
    shim: { 'angular': { exports: 'angular' } },
    deps: ['starting']
});
define(['require', 'angular', 'app'], function (require, angular) {
    require(['domReady!'], function (document) {
        angular.bootstrap(document, ['myApp']);
    });
});
Run Code Online (Sandbox Code Playgroud)

app.js:

define(['angular'], function (angular) {
    var app = angular.module("myApp", []);
    return app;
});
Run Code Online (Sandbox Code Playgroud)

domready requirejs angularjs angular-bootstrap

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

IIS Express响应服务不可用于特定端口上的本地请求

我有一个工作的ASP.NET应用程序在自动生成的端口上运行,如53000.在移动到另一个端口(在我的情况下为8080)后,IIS Express开始响应503 Service Unavailable.其他港口确实有效.

Internet上有很多关于检查内容和调试方法的提示,而在大多数情况下,提示与IIS相关或从远程计算机访问.不过我试过了:

  • 回顾 %userprofile%\Documents\IISExpress\config\applicationhost.config
  • 授予权限 netsh http add urlacl url=http://mymachinename:50333/ user=everyone
  • 使用端口8080在不同机器上测试相同的应用程序 - 确实有效
  • 在端口8080上运行另一台服务器(mongoose) - 确实有效
  • 验证端口是否被收听netstat- 没问题

我没有检查防火墙和文件夹权限,因为应用程序是从其他端口提供的.

asp.net http-status-code-503 iis-express

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

,=运算符

在查看一些Python代码时,我注意到了看起来像,=运算符的用法:

a ,= b
Run Code Online (Sandbox Code Playgroud)

经过实验和对赋值语句语法的非常仔细的检查,我开始意识到它实际上是"元组解包",a,左侧是长度为1 的元组,b右侧是集合.所以在一个简单的例子中,它就像以下一样,但也适用于任何迭代/生成器:

assert len(b)
a = b[0]
Run Code Online (Sandbox Code Playgroud)

我很好奇这个技巧是否有名称,是否有不那么模糊的技术可以达到相同的效果?

python operators python-2.7

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

Windows 10 - 在 cmd 中编译 C++

我的main.cpp文件C:\Documents夹中有一个文件。为了在 C++11 中编译这个程序,我需要输入什么命令?

而且,有没有一种方法可以包含-Wall, -Wextra, or 之-Werror类的选项,类似于您在 Ubuntu 中的做法?

c++ cmd compilation

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

Angular - UI路由器 - 状态重入

如何配置UI路由器默认重新进入或重新加载状态?

例如,用户想要刷新页面,因此他单击该页面后面的链接.但目前该链接不可点击,因为它转到同一页面并且状态不会改变.使用浏览器按钮刷新确实有效,因此它会重新加载整个SPA - 这是不可取的.

这个问题 - 重新加载当前状态 - 刷新数据 - 描述了类似的效果.是否可以更改此解决方案 - /sf/answers/1623912041/ - 以定义默认行为?

顺便说一句,可能我的方法是不正确的,我在UI路由器中缺少一些基本的想法.请指出是否是这种情况.

angularjs single-page-application angular-ui-router

2
推荐指数
1
解决办法
619
查看次数