小编non*_*one的帖子

去语言执照

我以前曾问过类似的问题,但这次我想专注于go语言.我一直在阅读go语言wiki页面,并意识到摘要中有一个许可证段BSD style + Patent grant.我知道还有一个gcc前端go,我猜测它有类似GPL许可证的东西虽然在维基页面中没有提到它,这让我想知道:

上述BSD许可是否适用于:

  • 编译器
  • 和/或语言
  • 和/或标准库

如果有这样的区别?

一个实用的答案会受到欢迎(即我如何可以授权源或二进制?),以及旧的语言(对比C,C++,Java如果有的话)..

licensing go

10
推荐指数
1
解决办法
5384
查看次数

matplotlib中的2d hsv颜色空间

我试图在matplotlib中重现这个图(取自维基百科)

在此输入图像描述

基本上是2d hsv颜色空间,饱和度设置为1.0.这是我到目前为止所做的

from pylab import *
from numpy import outer

x = outer(arange(0, 1, 0.01), ones(100))

imshow(transpose(x), cmap=cm.hsv)
show()
Run Code Online (Sandbox Code Playgroud)

这绘制了色调通道,但我不知道如何添加第二个通道.

python numpy matplotlib

9
推荐指数
1
解决办法
8079
查看次数

使用git推送时显示进度条

我正在尝试将一个大文件推送到git存储库,git push -u origin master但它在中途失败了.如果我能看到失败的话,那将是非常有帮助的.有没有办法显示进度条git push

编辑:做一些蛮力我最后在第7或第8次审判时能够推送文件,但我仍然对这个问题感到好奇.

git git-push

9
推荐指数
1
解决办法
6079
查看次数

使用`tail -f`截断文件时清除屏幕

我正在使用tail -f打印不断变化的文件的内容.截断文件时,它显示如下:

blah (old)..
blah more (old)..
tail: file.out: file truncated
blah..
blah more..
Run Code Online (Sandbox Code Playgroud)

当我经常更改文件时,这会变得很混乱,因此很难看到文件的开始/结束位置.clear当文件被截断时,是否有某种方法以某种方式显示屏幕,以便它显示如下?

tail: file.out: file truncated
blah..
blah more..
Run Code Online (Sandbox Code Playgroud)

bash tail gnu-coreutils

9
推荐指数
2
解决办法
4004
查看次数

模板中typename赋值的目的是什么

我遇到过这段代码(我试图包含所有细节,以防我遗漏了一些东西):

template< typename TYPE = TYPE_with_an_arbitrarily_long_name,
          typename KIND = KIND_with_an_arbitrarily_long_name>

class Foo
{
public:
    virtual void bar(TYPE& t, KIND& k) = 0;
};
Run Code Online (Sandbox Code Playgroud)

而我不理解的部分是模板内的赋值:

template <typename TYPE = TYPE_with_an_arbitrarily_long_name, ..
Run Code Online (Sandbox Code Playgroud)

我一直试图了解这个的影响,但到目前为止我无法生产任何东西.以下是我尝试过的一些内容:

#include <iostream>
#include <typeinfo>
using namespace std;

template<typename T>
void foo(T t) {
    cout << typeid(t).name() << " ";
}

template<typename T = int>
void bar(T t) {
    cout << typeid(t).name() << " ";
}

template<typename T = double>
void baz(T t) {
    cout << typeid(t).name() << " "; …
Run Code Online (Sandbox Code Playgroud)

c++ templates

9
推荐指数
3
解决办法
4100
查看次数

如何提出高缓存未命中率的例子?

我试图想出一个具有高缓存未命中率的示例程序.我想我可以尝试逐列访问矩阵,如下所示:

#include <stdlib.h>

int main(void)
{
    int i, j, k;

    int w = 1000;
    int h = 1000;

    int **block = malloc(w * sizeof(int*));
    for (i = 0; i < w; i++) {
        block[i] = malloc(h * sizeof(int));
    }

    for (k = 0; k < 10; k++) {
        for (i = 0; i < w; i++) {
            for (j = 0; j < h; j++) {
                block[j][i] = 0;
            }
        }
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我使用-O0flag 编译它并使用perf …

c c++ caching perf

9
推荐指数
1
解决办法
2766
查看次数

使用go语言提取目录层次结构

我正在尝试使用go语言将文件夹的目录层次结构提取到数据结构中.filepath.Walk似乎是要走的路,但我到目前为止所能做的就是打印文件和文件夹的名称.这是我正在使用的:

func main() {
    visit := func(path string, info os.FileInfo, err error) error {
        if info.IsDir() {
            fmt.Println("dir:  ", path)
        } else {
            fmt.Println("file: ", path)
        }
        return nil
    }

    err := filepath.Walk("./", visit)
    if err != nil {
        log.Fatal(err)
    }
}
Run Code Online (Sandbox Code Playgroud)

这会打印文件夹的名称,如:

dir:   folder1
file:  folder1/file1.txt
file:  folder1/file2.txt
file:  folder1/file3.txt
file:  folder1/file4.txt
dir:   folder1/folder2
file:  folder1/folder2/file5.txt
file:  folder1/folder2/file6.txt
file:  folder1/folder2/file7.txt
file:  folder1/folder2/file8.txt
file:  folder1/folder2/file9.txt
Run Code Online (Sandbox Code Playgroud)

对于树结构我想过使用类似的东西:

type File struct {
    Name string
    Content string
}

type Folder struct …
Run Code Online (Sandbox Code Playgroud)

tree go

8
推荐指数
1
解决办法
5641
查看次数

c ++通过双换行拆分字符串

我一直试图用双换行符分割一个字符串("\n\n").

input_string = "firstline\nsecondline\n\nthirdline\nfourthline";

size_t current;
size_t next = std::string::npos;
do {
  current = next + 1;
  next = input_string.find_first_of("\n\n", current);
  cout << "[" << input_string.substr(current, next - current) << "]" << endl;
} while (next != std::string::npos);
Run Code Online (Sandbox Code Playgroud)

给了我输出

[firstline]
[secondline]
[]
[thirdline]
[fourthline]
Run Code Online (Sandbox Code Playgroud)

这显然不是我想要的.我需要得到类似的东西

[first line
second line]
[third line
fourthline]
Run Code Online (Sandbox Code Playgroud)

我也试过,boost::split但它给了我相同的结果.我错过了什么?

c++ string split

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

Vim:随时刷新 chrome :write

我想要一个解决方案,它执行 vim wiki 中描述的内容,但适用于 Chrome。

也就是说,我试图避免这种情况:

  • 编辑您的 HTML/CSS 文件。
  • 在 Vim 中点击保存。
  • CMD/CNTRL/ALT+TAB转到 Firefox。
  • Ctrl-R在 Firefox 中按以刷新。
  • CMD/CNTRL/ALT+TAB回到 Vim。
  • 一次又一次地做,每次都畏缩一下。

vim wiki 解决方案适用于 firefox,我在网上找到的其他脚本和解决方案仅适用于 Mac。但是我在 Windows 上,通常会在屏幕左半部分打开 vim(编辑 html),在屏幕右半部分打开 chrome(显示我正在编辑的文件)。

一个真正“愚蠢”的解决方案对我来说很好用。也就是说,vim 和浏览器之间甚至不需要文件名的通信。如果我可以在 vim 中打开一种模式,将其称为“自动刷新”,现在无论何时我在 chrome 中:w执行当前活动的选项卡都会刷新自身,而不会将焦点从 vim 窗口上移开。那将是完美的。是否可以?

vim google-chrome

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

在终端vim的ballooneval

我一直在使用pyclewn进行调试vim.它的工作原理相当不错的gvim使用ballooneval,以显示变量的值,但问题是我主要使用vim在终端,使我无法使用气球功能.

我已经找到了这个,但它看起来已经被淘汰了,我无法让它工作,因为没有安装说明.有没有人知道ballooneval在终端vim中使用的方法?

vim

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

标签 统计

c++ ×3

go ×2

vim ×2

bash ×1

c ×1

caching ×1

git ×1

git-push ×1

gnu-coreutils ×1

google-chrome ×1

licensing ×1

matplotlib ×1

numpy ×1

perf ×1

python ×1

split ×1

string ×1

tail ×1

templates ×1

tree ×1