小编xpt*_*xpt的帖子

go 1.5 trace命令

Go 1.5发行说明说,

新的"go tool trace"命令可以显示运行时中新跟踪基础结构生成的程序跟踪.

这真的令人兴奋,我想了解更多.但它在https://golang.org/cmd/trace/上的官方文件非常干燥.

发现Rob Pike抱怨它,要求"在1.5发布后不久,应该有一篇关于该功能的博客文章."

如果有人发布/发现了这样的博客,请在此处添加链接.或者,如果您想直接在这里回答,也欢迎.

谢谢

trace graph go demo

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

Go中的装饰器功能

装饰模式(功能)有许多好处:

当一个方法有许多正交问题时,这是非常有用的...即,这些问题都不相关,除了我们想要在我们调用方法时做所有(或一些)它们.这是装饰模式真正有用的地方.

通过实现装饰器模式,我们订阅了open-closed主体.我们的方法对未来的扩展开放,但对未来的修改是封闭的.遵守开放封闭原则有很多令人遗憾的好处.

但是,我发现的所有示例都非常复杂(例如,编写带有许多中间件的HTTP服务器).这使我很难将原则应用于其他地方.我需要一些我可以轻松尝试的东西,以便绕过它.

有人能给我一个更简单的例子,可以最好地说明如何在Go中做装饰模式(函数)吗?

Alex Alehano的这个例子太简单了,不能投入实际使用.我需要能够说明这一点的东西:

func Decorate(c Decorated, ds ...Decorator) Decorated {
    decorated := c
    for _, decorate := range ds {
        decorated = decorate(decorated)
    }
    return decorated
}
Run Code Online (Sandbox Code Playgroud)

根据不同选项/指令的字符串操作,例如,对于upper,to lower,to base64等,将是IMO的最佳示例,并且还添加前缀/后缀,因为" 如果装饰器本身被参数化,则该技术被证明是特别有价值的. ".

design-patterns decorator go demo

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

ES6(ECMAScript 2015)支持截至2018年

作为一名长期参与JavaScript编程的程序员,尽管阅读了很多文章,但我仍然有以下问题尚不清楚.

对于以下代码,

class Animal {
    constructor(public name) { }
    move(meters) {
        console.log(this.name + " moved " + meters + "m.");
    }
}

class Snake extends Animal {
    move() {
        console.log("Slithering...");
        super.move(5);
    }
}

class Horse extends Animal {
    move() {
        console.log("Galloping...");
        super.move(45);
    }

var sam = new Snake("Sammy the Python")
var tom: Animal = new …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript

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

npm sudo global installation&unsafe-perm

我正在尝试使用以下命令安装npm模块:

sudo npm install -g now
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这个时,我收到一个警告:

警告!请尝试使用该--unsafe-perm选项再次安装Now CLI .
例:npm i -g --unsafe-perm now

这个不安全的许可让我很担心,我想明确是否需要按照它来修复警告,或者我可以忽略它?

https://docs.npmjs.com/misc/config#unsafe-perm的解释对我来说并不是很重要.这从SAM-的github上2016年3月30日评论解释更清楚了解的含义.

然而,即使在阅读了两次之后,我仍然不清楚--unsafe-perm正在做什么,这意味着什么.所以,

  • 默认值:如果以root身份运行则为false
  • 设置为true以在运行程序包脚本时禁止UID/GID切换.

以上两个" 跑步 "讲述同样的事情或不同的事情吗?如果它是同一个东西,那么它是安装时间还是运行时间?

我想要的只是能够

  • 安装它
  • 并且让我系统中的任何人都能够以最小的安全风险使用它

所以我该怎么做?

node.js npm npm-install

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

Github GraphQL 搜索与过滤

根据我有限的搜索,GraphQL 似乎只能支持等值过滤。所以,

是否可以使用以下过滤条件进行Github GraphQL搜索:

  • 星星 > 10
  • 货叉 > 3
  • 总提交 >= 5
  • 总问题 >= 1
  • 未决问题 <= 60
  • 尺寸 > 2k
  • 分数 > 5
  • 上次更新是在一年内

即对以上所有条件进行过滤。是否可以?

search github github-api graphql github-graphql

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

Seaborn虫子?热图绘制不一致

这段代码:

%matplotlib inline

#import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import seaborn as sns #; sns.set()

flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")

sns.heatmap(flights, annot=True, linewidths=.2, fmt="d")

#plt.show()
Run Code Online (Sandbox Code Playgroud)

得到的结果看起来像官方结果(请在此处查看/验证):

在此输入图像描述

但是,如果我禁用内联绘图并启用plt.show(),结果将如下所示:

注释的热图?

即,如果禁用内联绘图,则注释将消失,除了一个单元格和y标签方向错误.由于这是我所做的唯一改变,我认为这是一个错误seaborn,它不能产生一致的结果.

有谁能确认一下吗?
请问有什么可能吗?

更新,感谢谢尔盖的反馈,这里是我所有相关的版本:

Python: 3.5.0 |Anaconda 2.4.0 (64-bit)| (default, Dec  1 2015, 11:46:22) [MSC v.1900 64 bit (AMD64)]
IPython: 4.0.0
Matplotlib: 1.5.0
Seaborn: 0.6.0
Run Code Online (Sandbox Code Playgroud)

所以我认为它是Python3或Matplotlib:1.5导致问题.我将添加Python3标签,以防万一.

谢谢

python heatmap python-3.x ipython-notebook seaborn

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

如何用T-SQL"选择"随机记录

这是一个很难回答的简单问题,因为"挑选"具有特殊含义.

我需要为每个人提供三个随机选择(并给出选择/行号1,2和3).难以理解的是,这些人和选秀权来自不同的牌桌,并且这些人和选秀权之间没有逻辑联系.

我能得到最接近的是:

SELECT TOP 15 database_id, create_date, RowNo, cs.name FROM sys.databases
CROSS apply ( 
  SELECT top 3 Row_number()OVER(ORDER BY (SELECT NULL)) AS RowNo,*
  FROM (SELECT top 3 name from sys.all_views ORDER BY NEWID()) T
  ) cs
Run Code Online (Sandbox Code Playgroud)

我知道以上不是人和选择,但它是一个有效的SQL,任何人都可以测试它而不创建人和首先选择表.和,

它说明了我面临的问题 -

上面的SQL会给每个人提供相同的选择,而我需要给不同的人提供不同的选择.

怎么做?谢谢.

sql t-sql sql-server

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

GitHub Actions 使用从 shell 设置的变量

目标:

在 GitHub Actions 中,从 shell 动态定义我的提交消息:

      - name: Commit changes
        uses: EndBug/add-and-commit@v7
        with:
          message: "added on $(date -I)"
Run Code Online (Sandbox Code Playgroud)

但是,似乎我必须定义一个环境变量然后使用它。我正在关注如何在 GitHub Actions 中使用 bash 表达式设置环境变量?和其他类似的帮助文件,但仍然无法告诉如何使用我之前定义的环境变量。这是我尝试过但失败的:

      - name: Checkout repo
        uses: actions/checkout@v2
      - run: |
          touch sample.js
          echo "today=$(date -I)" >> $GITHUB_ENV

      - name: Commit changes
        uses: EndBug/add-and-commit@v7
        with:
          message: "added on ${today}"
Run Code Online (Sandbox Code Playgroud)

如何让它发挥作用?

shell environment-variables github-actions

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

解决protoc-gen-go:通过添加“M”参数无法确定Go导入路径问题

与 protoc-gen-go 相同的症状:无法确定“simple.proto”的 Go 导入路径

\n
\n

对于具有以下内容的简单原型文件。

\n
syntax="proto3";\n\npackage main;\n\nmessage Person {\n      string name = 1;\n      int32 age = 2; \n}\n
Run Code Online (Sandbox Code Playgroud)\n

我正在尝试使用 protoc 为其生成 go 代码。我跑:

\n
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative simple.proto\n
Run Code Online (Sandbox Code Playgroud)\n

我收到以下错误:

\n
protoc-gen-go: unable to determine Go import path for "simple.proto"\n\nPlease specify either:\n        \xe2\x80\xa2 a "go_package" option in the .proto source file, or\n        \xe2\x80\xa2 a "M" argument on the command line.\n
Run Code Online (Sandbox Code Playgroud)\n
\n

那里的所有答案都集中在第一个选项 - 添加a "go_package" option in the …

go protocol-buffers protoc grpc-go

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

github,如何搜索我发布或评论过的问题

github只列出我发布或评论的几个问题,所以我想知道如何自己搜索其余的问题,我自己参与的所有问题.

search github

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