小编Jor*_*ero的帖子

删除切片中的元素

func main() {
    a := []string{"Hello1", "Hello2", "Hello3"}
    fmt.Println(a)
    // [Hello1 Hello2 Hello3]
    a = append(a[:0], a[1:]...)
    fmt.Println(a)
    // [Hello2 Hello3]
}
Run Code Online (Sandbox Code Playgroud)

这个删除技巧如何与append函数一起工作?

似乎它在第一个元素(空数组)之前抓住了所有东西

然后在第一个元素(位置零)之后追加所有内容

......(点点)是做什么的?

go

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

Golang将image.Image转换为[] byte

转换图像时遇到问题.图像转换为[]字节.问题点用虚线包裹.

image_data, err := mybucket.Get(key)

if err != nil {
    panic(err.Error())
}

// reset format of data []byte to image.Image

original_image, _, err := image.Decode(bytes.NewReader(image_data))

new_image := resize.Resize(160, 0, original_image, resize.Lanczos3)
- - - - - - - - - - - - - - - - - - - - - - - - - - -
// reset format the image.Image to data []byte here
var send_S3 []byte
var byteWriter = bufio.NewWriter(send_S3)
- - - - - - …
Run Code Online (Sandbox Code Playgroud)

go

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

调整图像大小

我在这里使用Go resize包:https://github.com/nfnt/resize

1)我从S3中提取图像,如下:

image_data, err := mybucket.Get(key)
// this gives me data []byte
Run Code Online (Sandbox Code Playgroud)

2)之后,我需要调整图像大小:

new_image := resize.Resize(160, 0, original_image, resize.Lanczos3)
// problem is that the original_image has to be of type image.Image
Run Code Online (Sandbox Code Playgroud)

3)将图像上传到我的S3存储桶

err : = mybucket.Put('newpath', new_image, 'image/jpg', 'aclstring')
// problem is that new image needs to be data []byte
Run Code Online (Sandbox Code Playgroud)

如何将data []字节转换为---> image.Image并返回----> data [] byte ??

在此先感谢您的帮助!

image-processing go

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

转到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万
查看次数

[] uint8 && [] byte(Golang Slices)之间的区别

我正在运行的一个函数:image.Decode()

image.Decode函数接受io.Reader &&,io.Reader函数接收[]字节.

当我传入[] uint8时,如果给我这个错误:

panic: image: unknown format
Run Code Online (Sandbox Code Playgroud)

如何将[] uint8转换为[]字节?

UPDATE

错误发生在星号区域,因为image.Decode无法读取变量xxx.

    package main

    import (
        "github.com/nfnt/resize"
        "image"
        "image/jpeg"
        "fmt"
        "launchpad.net/goamz/aws"
        "launchpad.net/goamz/s3"
        "bytes"
        "encoding/json"
        "io/ioutil"
        "os"
        "reflect"
    )

    type Data struct {
        Key string
    }

    func main() {

      useast := aws.USEast

      connection := s3.New(auth, useast)
      mybucket := connection.Bucket("bucketName")

      image_data, err := mybucket.Get("1637563605030")

      if err != nil {
        panic(err.Error())
      } else {
        fmt.Println("success")
      }

      xxx := []byte(image_data)

      ******* THIS IS WHERE THE ERROR OCCURS **************

      original_image, _, err := image.Decode(bytes.NewReader(xxx)) …
Run Code Online (Sandbox Code Playgroud)

go

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

组织环境变量Golang

在Node.js中,我使用nconf模块为每个项目提供环境变量,如S3键,GCM键等.

我无法在Go中找到类似的解决方案.

有哪些普遍接受的工具可以帮助管理每个Go项目的环境变量?

提前致谢.

environment-variables go

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

设置属性时,我可以在Javascript对象中编写if语句吗?

使用if语句设置attributeTwo.这样做的正确方法是什么?

var testBoolean = true;

var object = {
  attributeOne: "attributeOne",
  attributeTwo: if (testBoolean) { "attributeTwo" } else { "attributeTwoToo" },
}
Run Code Online (Sandbox Code Playgroud)

javascript

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

Docker + Nodejs +私有回购+私有NPM模块 - 访问问题

我正在使用Docker设置Node.js服务的部署.

我所拥有的Dockerfile是从网络上的各种示例中拼凑而成的.Dockerfile的目录包括:

  • Dockerfile
  • id_rsa
  • start.sh

这是Dockerfile:

FROM ubuntu:13.10

# make sure apt is up to date
RUN apt-get update

# install npm, git, ssh, curl
RUN apt-get install -y npm git git-core ssh curl

RUN mkdir /nodejs && curl http://nodejs.org/dist/v0.10.31/node-v0.10.31-linux-x64.tar.gz | tar xvzf - -C /nodejs --strip-components=1

# Fixes empty home
ENV PATH $PATH:/nodejs/bin

ENV HOME /root

# SSH SETUP
RUN mkdir -p /root/.ssh
ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN echo "IdentityFile /root/.ssh/id_rsa" >> /root/.ssh/ssh_config
RUN ssh-keyscan github.com …
Run Code Online (Sandbox Code Playgroud)

ssh node.js npm docker boot2docker

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

在Node.js中,何时数据存储在堆上?

在C中,您明确要求并管理堆上的内存,因此与堆的交互定义明确/明显.你如何在Node.js中解释这个?

子问题:

  • 功能存储在何处/如何存储?
  • 是否有某些对象/原语总是存储在堆上?(例如缓冲区)
  • 数据是否从堆栈迁移到堆?什么时候?

关于这个问题的优秀资源的参考也将不胜感激,谢谢.

memory-management heap-memory stack-memory node.js

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

在Angular.js(.ttf)中包含一个字体

我有一个.ttf字体文件,我需要在我的Angular.js应用程序中使用.我不知道如何导入它并在我的css文件中访问它.

有人可以给我一些使用Angular/CSS的字体文件的方向吗?

css fonts angularjs

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

遍历Golang地图

我初始化了一个名为data的变量,如下所示:

   var data interface{}
Run Code Online (Sandbox Code Playgroud)

然后我把原始的json解组成了.

   err = json.Unmarshal(raw, &data)
Run Code Online (Sandbox Code Playgroud)

我在它上面运行了这两个函数:

   fmt.Println(reflect.TypeOf(data))
   fmt.Println(data)
Run Code Online (Sandbox Code Playgroud)

那些归还:

   map[string]interface {}
   map[tasks:[map[payload:map[key:36A6D454-FEEE-46EB-9D64-A85ABEABBCB7] code_name:image_resize]]]
Run Code Online (Sandbox Code Playgroud)

我需要访问"密钥".我尝试了这些方法以及其他一些方法:

   data["tasks"][0]["payload"]["key"]
   data[0][0][0][0]
Run Code Online (Sandbox Code Playgroud)

这些都给了我一个类似于这个的错误:

    ./resize.go:44: invalid operation: data["tasks"] (index of type interface {})
Run Code Online (Sandbox Code Playgroud)

关于如何从这个界面中获取"关键"值的任何建议?提前致谢.

go

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

无法将类型s3.Bucket传递给Golang函数

我正在尝试调整S3存储桶中的所有图片,但是当我将存储桶传入resize_images函数时出现错误.为了这个例子,我将我拉到的图片限制为5(假设我需要维护这个结构).

这是我一直得到的错误:

./mass_resize.go:92:不能在函数参数中使用mybucket(类型*s3.Bucket)作为类型s3.Bucket

这是代码:

package main

import (
    "fmt"
    "launchpad.net/goamz/aws"
    "launchpad.net/goamz/s3"
    "log"
    "image"
    "bytes"
    "github.com/nfnt/resize"
    "image/jpeg"
    // "reflect"
)

func resize_images(image_keys []s3.Key, mybucket s3.Bucket) {

    for _, v := range image_keys {

        // check to see if this image is already in small version

        image_data, err := mybucket.Get(v.Key)

        if err != nil {
            panic(err.Error())
        } else {
            fmt.Println("success")
        }

        image_bytes := []byte(image_data)

        original_image, _, err := image.Decode(bytes.NewReader(image_bytes))

        if err != nil {
            fmt.Println("Error occurred after image.Decode function")
            panic(err.Error())
        } else …
Run Code Online (Sandbox Code Playgroud)

go

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

获取响应行错误 - Redigo Redis客户端

我正在使用JSON序列化结构创建字符串并在redis连接上运行PUBLISH命令.

_, err := r.Do("PUBLISH", key, ncs)
Run Code Online (Sandbox Code Playgroud)

此go服务用于处理/重新利用在我们的聊天应用程序上发送的所有消息,然后将事件发送回客户端.

执行PUBLISH命令后,redis连接经常发出错误,并且它是以下之一:

  • redigo:错误的响应行终止符
  • redigo:意外的反应线

无法理解这些并且错误不断出现,这些回复意味着什么?&&为什么他们会为我而生?

go redis redigo

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