Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Golang開発環境 3分クッキング

$
0
0

あと3分でGolangの環境が欲しい

そういうこと、よくありますよね。
はい、ではこちらにあらかじめ茹でておいた CentOS 6.5の環境があります。

$ cat /etc/redhat-release 
CentOS release 6.5 (Final)

0:00 Golangのインストール

$ cd /usr/local/src
$ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz
$ tar -C /usr/local -xzf go1.4.2.linux-amd64.tar.gz

0:29 ~/.bashrcにGOPATHを追記

$ vim ~/.bashrc
~/.bashrc
export GOPATH=/usr/local/go/
export PATH=$PATH:/usr/local/go/bin
$ source ~/.bashrc

0:48 freshをインストール

https://github.com/pilu/fresh
ディレクトリ監視 & 自動ビルド & 実行ツール

$ go get github.com/pilu/fresh

1:34 NeoBundleのダウンロード

$ mkdir -p ~/.vim/bundle
$ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

1:48 ~/.vimrcに以下を追記してvim-goをインストール

https://github.com/fatih/vim-go

$ vim ~/.vimrc
~/.vimrc
setnocompatiblefiletype off

if has('vim_starting')setruntimepath+=~/.vim/bundle/neobundle.vim/endiffiletype plugin indent oncall neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'fatih/vim-go'call neobundle#end()letg:go_highlight_functions =1letg:go_highlight_methods =1letg:go_highlight_structs =1letg:go_highlight_operators =1letg:go_highlight_build_constraints =1syntaxon

2:05 適当なディレクトリを作りVimを起動

$ mkdir /usr/local/bin/project
$ cd /usr/local/bin/project
$ vim server.go

2:19 Vim上で :NeoBundleInstall

:NeoBundleInstall

2:37 以下のコードをコピペ

急げ間に合わない。

server.go
packagemainimport("fmt""net/http")funcmain(){http.HandleFunc("/",root)http.ListenAndServe(":8080",nil)}funcroot(whttp.ResponseWriter,r*http.Request){fmt.Fprintf(w,"Hello World.")}

2:46 Vimを閉じてfreshを起動

$ fresh

fresh.png

3:00 「サーバのIPアドレス:8080」にブラウザからアクセス

http://localhost:8080
Hello World.と表示されたら完了。

ところでGolangってなに?

  • 非常に単純な構文の言語です
  • 公式チュートリアルをこなせば大体覚えられる手軽さ
  • 並列処理が言語レベルでサポートされていて、割と楽に実装できます(switch-select ンギモチイイ)
  • 今のところ存在するORMがちょっとキモい

Webフレームワークあんの?

ありますが、MVCの形は自分で作るもの。

Goji (Routing & Controller)

https://github.com/zenazn/goji

Genmai (Model)

https://github.com/naoina/genmai

template (View)

http://blog.inagaki.in/?p=212

3分まで縮めるのに何回練習したの?

お前は今までに打ったvagrant destroyの数を覚えているのか。
普通にやると5分くらいかかります。

参考文献

http://qiita.com/hit/items/875259a27079aff14f98
http://qiita.com/izumin5210/items/1f3c312edd7f0075b09c
http://qiita.com/Kuchitama/items/68b6b5d5ed40f6f96310


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>