小编Joh*_*don的帖子

Jetty:如何禁用日志记录?

我试图在另一个程序中嵌入Jetty 6.1.Jetty正在转储INFO-log信息,我需要将其关闭.是否有一种简单的方法来禁用logmaticaly的记录?

logging jetty

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

用于vim的Razor .cshtml语法高亮显示?

我正在寻找一个.cshtml vim语法文件.是否有任何项目没有进入www.vim.org?

vim syntax-highlighting razor vim-syntax-highlighting

16
推荐指数
3
解决办法
2830
查看次数

转到S3连接

继续学习Go,我正在编写一个管理图片的组件.

我一直在看这里的s3库:https://godoc.org/launchpad.net/goamz/s3#ACL

在Node中,我使用Knox客户端并连接到我的桶,如下所示:

    var bucket = knox.createClient({
        key: config.get('AWS_KEY'),
        secret: config.get('AWS_SECRET'),
        bucket: "bucketName"
    });
Run Code Online (Sandbox Code Playgroud)

在Go s3库中,我看到了使用s3存储桶所需的所有功能,但我找不到连接功能 - 与上面的相似.

到目前为止,我在Docs中找到了这个:

    type Auth struct {
        AccessKey, SecretKey string
    }
Run Code Online (Sandbox Code Playgroud)

似乎我需要调用此函数:

    func EnvAuth() (auth Auth, err error)
Run Code Online (Sandbox Code Playgroud)

这是EnvAuth功能:

    func EnvAuth() (auth Auth, err error) {
        auth.AccessKey = os.Getenv("AWS_ACCESS_KEY_ID")
        auth.SecretKey = os.Getenv("AWS_SECRET_ACCESS_KEY")
        // We fallback to EC2_ env variables if the AWS_ variants are not used.
        if auth.AccessKey == "" && auth.SecretKey == "" {
            auth.AccessKey = os.Getenv("EC2_ACCESS_KEY")
            auth.SecretKey = os.Getenv("EC2_SECRET_KEY") …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 go

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

如何在Docker compose中运行一次命令

所以我正在使用docker compose文件来部署我的Go web服务器.我的服务器使用mongo,所以我在docker compose中添加了一个数据卷容器和mongo服务.然后我写了一个Dockerfile来构建我的Go项目,最后运行它.

但是,还有另一个必须完成的步骤.编译完项目后,我必须运行以下命令: ./my-project -setup

这将向数据库添加一些必要的信息,并且只需添加一次信息.但是我不能在Dockerfile上添加这一步(在构建过程中),因为mongo必须已经启动.

那么,我怎样才能做到这一点?即使我重新启动服务器然后再次运行,docker-compose up我也不希望再次执行此命令.

我想我错过了一些Docker的理解,因为我实际上并不了解数据量容器的所有内容(他们只是停止了装载卷的容器吗?).另外,如果我重新启动服务器,然后运行docker-compose up,将运行哪些命令?它是否会启动与现在使用给定CMD停止的相同容器?

无论如何,这是我的docker-compose.yml:

version: '2'
services:
  mongodata:
    image: mongo:latest
    volumes:
      - /data/db
    command: --break-mongo
  mongo:
    image: mongo:latest
    volumes_from:
      - mongodata
    ports:
      - "28001:27017"
    command: --smallfiles --rest --auth
  my_project:
    build: .
    ports:
      - "6060:8080"
    depends_on:
      - mongo
      - mongodata
    links:
      - mongo
Run Code Online (Sandbox Code Playgroud)

这是我的Dockerfile来构建我的项目图像:

FROM golang

ADD . /go/src/my_project
RUN cd /go/src/my_project && go get
RUN go install my_project
RUN my_project -setup
ENTRYPOINT /go/bin/my_project …
Run Code Online (Sandbox Code Playgroud)

go mongodb docker

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

Go:从套接字读取时出现意外的EOF

我有以下简单的golang程序来下载Google的隐私政策.不幸的是,unexpected EOF在读取6861字节后,它总是会因错误而崩溃,即使文档更长.为什么?

package main

import "net"
import "fmt"
import "io"
import "os"

func die(msg string, s os.Error) {
    fmt.Printf("%s crashed: %v\n", msg, s)
    os.Exit(1)
}

func main() {
    fd, err := net.Dial("tcp", "google.com:80")
    if err != nil { die("dial", err) }

    req := []byte("GET /intl/en/privacy/ HTTP/1.0\r\nHost: www.google.com\r\n\r\n")
    _, err = fd.Write(req)
    if err != nil { die("dial write", err) }

    buf := make([]byte, 1024)
    nr := 1

    for nr > 0 {
        nr, err = io.ReadFull(fd, buf)
        if …
Run Code Online (Sandbox Code Playgroud)

sockets go eof

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

在64位模式下不支持OleDB?

我一直在使用Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0来读取.csv,.xls和.xlsx文件.

我刚刚发现原生64位模式都不支持这些技术!

我有两个问题:

  1. 在64位模式下以编程方式读取.csv,.xls和.xlsx文件的支持方式是什么.我无法在任何地方找到答案.

  2. 如果我无法读取所有三种文件类型,那么在64位环境中读取.csv文件的最佳方法是什么?

笔记:

  • 我正在使用.NET(3.5p1)
  • 这是一个收缩包装应用程序; 再分配是一个关键因素.

更新:

我可以使用CorFlags强制应用程序以32位模式运行,这是有效的,但是不可取.

.net c# csv oledb 64-bit

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

去解析yaml文件

我正在尝试使用Go解析yaml文件.不幸的是我无法弄清楚如何.我有的yaml文件是这样的:

---
firewall_network_rules:
  rule1:
    src:       blablabla-host
    dst:       blabla-hostname
...
Run Code Online (Sandbox Code Playgroud)

我有这个Go代码,但它不起作用:

package main

import (
    "fmt"
    "io/ioutil"
    "path/filepath"

    "gopkg.in/yaml.v2"
)

type Config struct {
    Firewall_network_rules map[string][]string
}

func main() {
    filename, _ := filepath.Abs("./fruits.yml")
    yamlFile, err := ioutil.ReadFile(filename)

    if err != nil {
        panic(err)
    }

    var config Config

    err = yaml.Unmarshal(yamlFile, &config)
    if err != nil {
        panic(err)
    }

    fmt.Printf("Value: %#v\n", config.Firewall_network_rules)
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到一个错误.我认为这是因为我没有为src和dst键/值创建结构.仅供参考:当我将其更改为列表时,它可以正常工作.

所以上面的代码解析了这个:

---
firewall_network_rules:
  rule1:
    - value1
    - value2
...
Run Code Online (Sandbox Code Playgroud)

struct yaml go

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

去命名参数

如何将字典作为函数的参数列表传递,如在Go 3中的Python 3中?

Python 3:

def bar(a,b,c):
    print(a,b,c)

args={c: 1, b: 2, a: 3}
bar(**args)
Run Code Online (Sandbox Code Playgroud)

空白:

func bar( a, b, c int) {
    fmt.Printf("%d, %d, %d", a, b, c)
}

func main(){
    args := make(map[string]int)
    args["a"] = 3
    args["b"] = 2
    args["c"] = 1
    // what next ?
}
Run Code Online (Sandbox Code Playgroud)

reflection go python-3.x

13
推荐指数
2
解决办法
6337
查看次数

Go - 将表示二进制数的字符串转换为int

我写了一个愚蠢的解决方案,任何更好的食谱?正如你可以看到很多无用的转换.

package main

import (
    "fmt"
    "strconv"
    "math"
)

func conv(str string) int {
    l := len(str)
    result := 0.0
    for i,n := range str {
        number,_ := strconv.Atof64(string(n))
        result += math.Exp2(float64(l-i-1))*number
    }
    return int(result)
}

func main() {
    fmt.Println(conv("1001"))
}
Run Code Online (Sandbox Code Playgroud)

go

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

Erlang并发模型与Scala vs Go

最近,我一直在深入研究功能编程.通过这个,我对Erlang及其并发模型有了一些了解.

令人惊讶的是(至少对我来说)我发现它(Erlang)被用在许多着名的核心应用程序的核心,比如Facebook的聊天频道,What's App Messenger的后端,还有核心在线使命召唤服务器.我甚至在一些论坛中读到,对于参与Web请求的分布式系统,Erlang比node.js或JVM更具可扩展性(不确定该信息是否准确)

  • 为什么我们有例如Twitter从RoR迁移到Scala的案例?尽管Scala旨在与Functional范例一起使用,但Erlang不会更好吗?

  • 我无法理解的另一个重要案例是谷歌.众所周知(通过Google I/O 2011中的Go的演示)核心应用程序是基于C++或Java构建的.那么,如果Erlang能够适应这个角色,为什么他们必须创建Go(golang)呢?

注意:别误会我的意思.对我来说很明显,如果你在Java中有扎实的背景,那么Scala将比Erlang更快地学习功能编程.但我的意思是,我把生产力放在一边.

Erlang的优点是什么才能让人们去学习并投入大量时间学习它?

非常感谢你.

concurrency erlang jvm functional-programming scala

12
推荐指数
1
解决办法
7496
查看次数