go语言云存储项目学习,go语言云项目


学了几天go语言,其实也不太枯燥,就是想结合实际项目操作下,感谢道哥,向才哥,shell,王明,天智,马伟伟,江总,,立元,时少,小魁等人的帮助

开始充满探索的学习,我能说遇到错误都不知道怎么百度吗

1,生成github公钥下载源码(前提是公司的私有仓库给你权限,然后fork到自己的仓库里),clone下代码到本地

1.2 检查SSH公钥 cd ~/.ssh

看看存不存在.ssh,如果存在的话,掠过下一步;不存在的请看下一步

1.3生成SSH公钥

$ ssh-keygen -t rsa -C "your_email@youremail.com"  # Creates a new ssh key using the provided email Generating public/private rsa key pair.  Enter file in which to save the key (/home/you/.ssh/id_rsa):

现在你可以看到,在自己的目录下,有一个.ssh目录,说明成功了

1.4输入github密码
Enter passphrase (empty for no passphrase): [Type a passphrase]  Enter same passphrase again: [Type passphrase again]

这个时候输入你在github上设置的密码。

1.5 然后在.ssh中可以看到
Your identification has been saved in /home/you/.ssh/id_rsa.  # Your public key has been saved in /home/you/.ssh/id_rsa.pub. # The key fingerprint is:  # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com 添加SSH公钥到github

打开github,找到账户里面添加SSH,把idrsa.pub内容复制到key里面。

1.6 测试是否生效

使用下面的命令测试

ssh -T git@github.com


2.make源代码,这里作为测试,只是编译了base和image包

首先要先source 配置文件,类似env.sh等文件,当然可以将source语句放入~/.bashrc中

export GOROOT=/usr/local/go
export GOPATH=~/Desktop/main/sorter:~/Desktop/main/calproj
export PATH=$PATH:$GOROOT/bin
export QBOXROOT=~/qbox
source $QBOXROOT/base/env-mock.sh
source $QBOXROOT/image/env.sh

 

首先进入base包,make,编译通过

接着进入image包,make,需要第三方包ImageMagick-6.8.9-3.tar.gz

后面测试curl上传图片到服务器时,存在bug

原因ImageMagic版本过高,应该采用ImageMagick-6.8.8-10.tar.gz
 lcms2-2.6.tar.gz和lcms2-2.6.tar.gz,解压后安装,在文件夹下

./configure   或者./configure --prefix(指定安装路径)

make

make install


3.运行项目

image的make完成后,进入fop_cgo/bin 

运行./qboximage会提示缺少配置文件

find ./ -name "*.conf"找到配置文件,然后将其移动的和qboximage同一文件夹下


运行./qboximage -f qboximage.conf 


这里出错要看源代码乐,进入~/qbox/image/fop_cgo/src/qbox.us/app/qboximage,的qboximage.go文件,查看第72行,回溯向上,应该是地址或者是启地址的服务有问题


mes.BindHost对应配置文件qboximage.conf中的本机参数,


log_dir的文件夹不存在,我们手动建立下

mkdir run

mkdir run/auditlog

,接着查看server,这就涉及到了base包里面的fopd,不过这里只是报个警告


4.测试项目

启动服务,可以看出监听的是14102端口,这里我们向服务上传一个图片,这里上传failed是因为ImageMagic版本过高


遇到错误我们要解决,在不知道版本问题的情况下,查看服务器端输出和日志文件


日志文件在image包下的bin/fop_cgo/run/auditlog/image(这个文件夹还是先前错误自己手动加的,因为配置文件qboximage.conf中表明乐)


这里的convert命令是C语言的命令,直接在命令行执行,结果是OK 的,因为service.go中一旦生成成功就会删除临时文件,在临时文件夹找不到变形成功的照片,但是服务端日志打印是成功生成乐,所以程序是对的,考虑是ImageMagic库引入的版本过高

当然也可以先做个测试,让临时文件不删除(去源代码注释掉删除临时文件那句话)


因为我们调用的是修改图片功能(imageView2在url中可以看到哦),一般都在src下

这里对应的参数参照~/qboxtest/qbox/base/biz/src/qbox.us/fop/fopd下的service.go里面的参数设置,注意fsize是图片本身大小


可以在run/autilog/image下查看日志


GO语言是什语言?我们应该怎学?

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go是谷歌2009发布的第二款编程语言.2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用 Go Logo的一种BASIC语言.
  北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
  谷歌资深软件工 程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率.”派克表示,和今天的C++或C一样,Go是一种系统语言.他解释道,“使用它可以进行快速开 发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大.”

不过这种语言尚未成熟,google人员自身也在开发相关项目,还不着急学,不过说是和java很像,如果你学好java,go语言能轻松掌握。
 

学GO语言好还是java语言好??

综合来说学JAVA的比较快一些,在网上找例子比较方便
对于一个武林高手来说,用什么编程工具都一样,只是武器不同而已。
 

相关内容

    暂无相关文章