asdfsx

sam's bodega

Golang开发环境设置

开发环境的设置 老调重提,先搞定使用环境再说怎么用 关于安装,下载最新版的golang安装包,安装就好。这里重点说说环境变量的配置,摘抄一段《The way to go》里的一段 $GOROOT 表示 Go 在你的电脑上的安装位置,它的值一般都是 $HOME/go , 当然,你也可以安装在别的地方。 $GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。 $GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。 $GOBIN 表示编译器和链接器的安装位置,默认是 $GOROOT/bin ,如果你使用的是 Go 1.0.3 及以后的版本,一般情况下你可以将它的值设置为空,Go 将会使用前面提到的默 认值。 目标机器是指你打算运行你的 Go 应用程序的机器。 Go 编译器支持交叉编译,也就是说你可以在一台机器上构建运行在具有不同操作系统和处理 器架构上运行的应用程序,也就是说编写源代码的机器可以和目标机器有完全不同的特性 (操作系统与处理器架构)。 为了区分本地机器和目标机器,你可以使用 $GOHOSTOS 和 $GOHOSTARCH 设置目标机器的参 数,这两个变量只有在进行交叉编译的时候才会用到,如果你不进行显示设置,他们的值会 和本地机器( $GOOS 和 $GOARCH )一样。 $GOPATH 默认采用和 $GOROOT 一样的值,但从 Go 1.1 版本开始,你必须修改为其它 路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径 下又必须分别包含三个规定的目录: src 、 pkg 和 bin ,这三个目录分别用于存放源 码文件、包文件和可执行文件。 $GOARM 专门针对基于 arm 架构的处理器,它的值可以是 5 或 6,默认为 6。 $GOMAXPROCS 用于设置应用程序可使用的处理器个数与核数 其中最常用的就是GOPATH。你可以只设置一个GOPATH,然后把所有的项目都放在这个目录下。

Golang重新从零开始之旅

第一次接触golang还是在4年前?当时的版本大概是0.9? 当时刚用python完成了一个ETL的项目。为了压榨机器的性能,python多进程是必不可少的。于是再一次被多进程搞得痛不欲生,内存的浪费(每个进程都要加载相同的数据),多进程之间的协同(硬是塞了多个队列到各个进程里),还有时不时出现的僵尸进程。虽然我仍然十分喜欢python,但是这些始终解决不了的问题,让我生出了寻找一个替代品的想法。 最初是打算使用erlang的。其实当时接触erlang有一阵子了,对于erlang的语法什么的也算比较熟。但是最后还是放弃了,原因就是对于语言的偏好吧:对于一个习惯了python中简单方便的使用list、map进行各种组合的人来说,erlang的数据结构用起来太麻烦了;另外就是感觉erlang的社区有一种很封闭的感觉?提到erlang,多说一句,这确实是个很好的语言,有很多非常好的特性,但是始终非常小众,原因我不认为是什么函数式语法的问题,更多的问题我觉得是社区吧。 在使用erlang重新实现了一部分python的功能模块之后,我终于放弃了蛋疼的一个个把python的map改成erlang的proplists,放弃了一个个把python中的for循环改成erlang中的尾递归。这个时候我遇到了golang。 最初如何发现golang的已经记不清了。随着了解的加深,对这门语法简单、性能不错,并发容易实现的语言,产生了很强的好感。随着golang社区的重磅项目陆续诞生,甚至认为可以在分布式计算领域诞生一个可以替代hadoop的项目。不过目前来看社区的主要发展方向好像还是基础设施的建设上,重磅的项目还是主要集中在容器、集群管理、监控这个方向。虽然对这个语言很有好感,但是可惜的是还是没有用起来。只是还持续的关注着golang和golang的社区。 最近开始看rust,想着把golang也重新拿来把玩一番,于是有了这堆牢骚。多余的不说,只是希望能把golang重新熟悉一下。顺便熟悉熟悉用hugo搭blog,熟悉熟悉markdown,熟悉熟悉whatever。

git学习

参考资料: https://git-scm.com/book/zh/v2 http://igit.linuxtoy.org/contents.html git最基础操作 配置用户 git config --global user.email "user@gmail.com" git config --global user.name "user" 本地创建git管理的项目 mkdir git_study git init git status git log 创建文件并提交 echo "hello Git" > readme.txt git add readme.txt git status git commit -m "project init" git log 更改文件并提交 echo "Git is Cool" >> readme.txt git status git diff git add readme.txt git status git commit -m "Git is Cool" 在上边的操作我们可以发现,在一个Git项目中文件的状态大概分成下面的两大类,而第二大类又分为三小类:

使用hugo在github上搭建blog

安装golang的开发环境 brew install golang cat “export GOPATH=/root/gocode” >> ~/.bash_profile cat “export PATH=${GOPATH}/bin:$PATH” >> ~/.bash_profile 安装hugo go get -v github.com/spf13/hugo 源码会下载到$GOPATH/src下 可执行文件在$GOPATH/bin下 如果没有生成可执行文件,就使用go install手动安装一下hugo 创建一个站点 hugo new site localhost 执行命令的目录下会生成一个新目录localhost 该站点的所有文件都保存在该目录下 目录结构如下 . ├── archetypes ├── config.toml ├── content ├── data ├── layouts ├── static └── themes 给localhost下载一个theme cd localhost/themes git clone https://github.com/enten/hyde-y.git' 修改localhost站点的配置, 用下边的值覆盖config.toml vi config.toml # hostname (and path) to the root eg.