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函数一起工作?
似乎它在第一个元素(空数组)之前抓住了所有东西
然后在第一个元素(位置零)之后追加所有内容
......(点点)是做什么的?
转换图像时遇到问题.图像转换为[]字节.问题点用虚线包裹.
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 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 ??
在此先感谢您的帮助!
继续学习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) 我正在运行的一个函数: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) 在Node.js中,我使用nconf模块为每个项目提供环境变量,如S3键,GCM键等.
我无法在Go中找到类似的解决方案.
有哪些普遍接受的工具可以帮助管理每个Go项目的环境变量?
提前致谢.
使用if语句设置attributeTwo.这样做的正确方法是什么?
var testBoolean = true;
var object = {
attributeOne: "attributeOne",
attributeTwo: if (testBoolean) { "attributeTwo" } else { "attributeTwoToo" },
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Docker设置Node.js服务的部署.
我所拥有的Dockerfile是从网络上的各种示例中拼凑而成的.Dockerfile的目录包括:
这是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) 在C中,您明确要求并管理堆上的内存,因此与堆的交互定义明确/明显.你如何在Node.js中解释这个?
子问题:
关于这个问题的优秀资源的参考也将不胜感激,谢谢.
我有一个.ttf字体文件,我需要在我的Angular.js应用程序中使用.我不知道如何导入它并在我的css文件中访问它.
有人可以给我一些使用Angular/CSS的字体文件的方向吗?
我初始化了一个名为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)
关于如何从这个界面中获取"关键"值的任何建议?提前致谢.
我正在尝试调整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) 我正在使用JSON序列化结构创建字符串并在redis连接上运行PUBLISH命令.
_, err := r.Do("PUBLISH", key, ncs)
Run Code Online (Sandbox Code Playgroud)
此go服务用于处理/重新利用在我们的聊天应用程序上发送的所有消息,然后将事件发送回客户端.
执行PUBLISH命令后,redis连接经常发出错误,并且它是以下之一:
无法理解这些并且错误不断出现,这些回复意味着什么?&&为什么他们会为我而生?
go ×9
node.js ×2
amazon-s3 ×1
angularjs ×1
boot2docker ×1
css ×1
docker ×1
fonts ×1
heap-memory ×1
javascript ×1
npm ×1
redigo ×1
redis ×1
ssh ×1
stack-memory ×1