はじめに revel っていう webflamework が巷で話題だった(乗り遅れ?)のでとりあえず動かしてみるところまでやってみます install install golang golang は前回 install してたので今回は割愛 前回 (http://qiita.com/sasarkyz/items/fc72d5afa88620757184) install revel チュートリアルに沿ってやっていきます まずは gocode 用の path をとおします
お前いつもoauth認証やってんな、という突っ込みもお待ちしております。 Facebookは未経験なのもあって結構てこずりました。 revelフレームワークを使ってfacebook認証っぽい何かを実装する ぶっちゃけ使わなくても全然いけます(確信 いつものようにアプリケーションを作成しましょ。 revel new facebookAppルーティングなどは結構適当に作っていいと思います。 TwittweAPIとの違いはFacebookはoauth2を使って認証することです。 oauth2.0のほうが結構楽な気はしてます、毎回面倒な証明書作らなくていいみたいだし。 また、oauth2.0用のライブラリは1.0とは違うライブラリを使います。 golang/oauth2 · GitHub 公式なのかな? goauth2を使ったやつは結構転がってたんですが、oauth2を使ったやつが全然なかったんで
photo by wolfpix ʕ ◔ϖ◔ʔ < Go is God. 文字列からハッシュを生成して返す関数 パスワードを生の文字列のまま保存してはならない(いましめ)。 パスワードを平文で送ってくるっぽいサイトまとめ 今まではフレームワークが勝手にやってくれてる的な状態に頼ってたんですが、自分でやらないといけない空気を感じたので自分でやらないといけないようです。 最初にささっと書いたのがこれです。 import ( "encoding/hex" "crypto/sha256" ) func toHash(password string) string { converted := sha256.Sum256([]byte(password)) return hex.EncodeToString(converted[:]) } 文字列からsha256ハッシュを求めて、出てきたバイトを文字
まず直列実行するプログラムを書く 1秒待つコマンド 2秒待つコマンド 3秒待つコマンド 上記を順番に実行していくプログラムを main.go の中身を書く。 つまり、合計で6秒かかってしまう。 package main import ( "log" "time" ) func main() { log.Print("started.") // 1秒かかるコマンド log.Print("sleep1 started.") time.Sleep(1 * time.Second) log.Print("sleep1 finished.") // 2秒かかるコマンド log.Print("sleep2 started.") time.Sleep(2 * time.Second) log.Print("sleep2 finished.") // 3秒かかるコマンド log.Print("sleep3
package main import ( "fmt" "net" "net/http" "net/http/fcgi" "os" "os/signal" "syscall" ) type Server struct { } func (s Server) ServeHTTP(w http.ResponseWriter, r *http.Request){ str := "Hello World!" w.Header().Set("Content-Type", "text/plain; charset=UTF-8") w.Header().Set("Content-Length", fmt.Sprint(len(str))) fmt.Fprint(w, str) } func main(){ const SOCK = "/path/to/sock" sig := make(chan os.
クローラのように、ユーザからの入力に応じて任意のURLにHTTPリクエストを発行するソフトウェアは、誤ってプライベートネットワークへのリクエストを処理しないようにする必要があります。悪意のあるユーザが故意にプライベートなネットワークに対してリクエストして、内部情報にアクセスするといった攻撃を行う可能性があるからです。 PerlではLWPx::ParanoidAgentやLWPx::ParanoidHandlerといったモジュールが便利です。これらのモジュールは、リクエスト先のURLをチェックしてプライベートネットワークへのリクエストを禁止してくれます。単にIPアドレスをチェックするだけでなく、ホスト名をDNSで解決して得られたIPアドレスをチェックしたり、リダイレクト先のURLをチェックしたりしてくれます。まさに偏執的です。 このLWPx::ParanoidAgentと同様の機能をもったG
ここでは、私がたどりついた最善のやり方を紹介しましょう。個人的に過去数年にわたって大量のGoコードと付き合ってきた経験から集めたものです。これらは全て非常にスケーラビリティがあると思っています。私が、スケールする、と言うときは次のような意味があります。 アプリケーションが求める環境は、アジャイル環境の中で変化していきます。開発の3、4か月後に、全てをリファクタリングする必要が出てくるなど、考えたくもないはずです。新しい機能は簡単に追加できなくては意味がありません。 あなたのアプリケーションは多くの人々によって開発されます。可読性が高く、維持しやすいものでなくてはなりません。 あなたのアプリケーションは大勢の人々に使われます。バグは容易に特定でき、修正できなくてはなりません。 長期的にみるとこれらのことが重要になる、ということを私は今までに学んできました。小さなことであっても、多数に影響しま
TL;DR go get は Ruby でいう gem みたいなもん $GOPATH は自分の環境に合わせて好きに指定してよい 例えば $HOME/.go とか $HOME/go とか 好きに設定してもいいけど、一度設定したらそれをずっと使い続けた方がたぶんいい 現在では、GOPATHを明示的に設定しない場合は自動的に設定される。 Wikiより If no GOPATH is set, it is assumed to be $HOME/go on Unix systems and %USERPROFILE%\go on Windows. ことの始まり homebrewでGoをインストールしたらのっけから Go 1.1 から go get コマンドは $GOROOT をパッケージダウンロード先として使わなくなりなりました。 go get 使うには $GOPATH が必要です。 と言われて、
2015-04-13 IntelliJ IDEAでGoLangの環境構築 2015春 GoLang IntelliJ IDEA 久しぶりにIntelliJ IDEAでGoLangの環境構築してみたら、なんか前とはちょっと変わっていたので書き残しておきます。 諸準備 Goのインストール とりあえずhomebrew使います。現状の最新版は1.4.2です。 $ brew install go 次に、環境変数を設定。.bashrcとか.zshrcとかに記述します。 export GOPATH=$HOME/_go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin ※homebrewで入れた場合、GOROOTは必要ない(はず)です。 IntelliJ IDEA CommunityでもUltimateでもどちらでも良いので、各自で用意してください。 プラグインのインスト
ソースからGolangを入れて、Vimで編集できるようになるまで 参考 http://golang.jp/install/source http://mattn.kaoriya.net/software/vim/20130531000559.htm 前提 mercurialとgitとbuild essential的なものとVimは事前にインストールされているとする。 ソースからのビルド hg clone -u release https://code.google.com/p/go してソースコードをクローンする cd go/src ./all.bash すると現在の環境に応じてビルド・テスト・ベンチマークが自動で行われる 環境変数の設定 export GOROOT=$HOME/go export GOPATH=$HOME/.golang export PATH=$GOROOT/bin:$
PFNは,「現実世界を計算可能にする」をVisionとして,膨大な計算量を必要とするシミュレーションや深層学習などの計算ワークロードを実行するためのオンプレML基盤を持っています. この取り組みについて、「使いやすい環境」、「リソースの効率的かつフェアな利用」、「信頼性・運用省力化」の観点から紹介します。 本イベント「オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜」では、オンプレミスの Kubernetes クラスタ上に構築された機械学習基盤を持つ PFN とヤフーのエンジニアが自社での取り組みについて語り尽くします! イベントサイト: https://ml-kubernetes.connpass.com/event/239859/
Introduction Covered in this tutorial: Creating a data structure with load and save methods Using the net/http package to build web applications Using the html/template package to process HTML templates Using the regexp package to validate user input Using closures Assumed knowledge: Programming experience Understanding of basic web technologies (HTTP, HTML) Some UNIX/DOS command-line knowledge Ge
日ハム三連敗かなしいですこんばんは! 今日は運良く抽選を突破、「 #gocon (ゴーコン)」と言いたいだけ的なお祭でお馴染みのGo Conference に行ってきた&そんなゴーコンのためにHello World書いて24時間も経たない内にLTしてきたお!っていう報告をさせてください。 参加イベント gocon.connpass.com おしながき gocon(ゴーコン)って何をする場なの? そもそもGolangって何? ゴーコン観戦記 Golang書き初め~Hello World通して24時間しないうちにコード書いてLTしてきました Golangとの付き合い方(私見) gocon(ゴーコン)って何をする場なの? Go Conference略してgocon(ゴーコン)は、2013年ごろから始まった、プログラミング言語「Golang」に関するイベント・お祭りです。 github.com 「
$ brew install go ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/go-1.2.2.mavericks.bottle.tar.gz ######################################################################## 100.0% ==> Pouring go-1.2.2.mavericks.bottle.tar.gz ==> Caveats As of go 1.2, a valid GOPATH is required to use the `go get` command: http://golang.org/doc/code.html#GOPATH `go vet` and `go doc` are now part
TL;DR 本記事ではVimでのGo開発環境の構築方法をまとめる。 基本的に以下のプラグインの使用方法についてのまとめになります。 fatih/vim-go: Go development plugin for Vim 情報が古くなっている可能性がありますので、まずは上記のREADMEを参照して下さい。 この記事でできること *.go をGo言語と判別してくれるようにする シンタックスハイライト オムニ補完 保存時の自動整形(go fmt) 保存時の自動ビルドとquickfix シンタックスチェック(重いので使ってないけど一応できる) GOPATHの設定 現在はGOROOTは指定する必要はないようです 今回はホームディレクトリにgoというディレクトリを作成してそこをGOPATHに指定しました fish-shellを使用している方は後述する vim-go の README に補足が書いてある
Go's Declaration Syntax(Goの宣言構文について) 2010/7/10 はじめに Goを新たに学びに来た人にはGoの宣言構文は、Cの伝統的な構文となんだってこんなに違うんだと思っているでしょう。 Goの宣言がなぜ今の形になってしまったかについて二通りのアプローチから比較し、説明させていただきます。 Newcomers to Go wonder why the declaration syntax is different from the tradition established in the C family. In this post we'll compare the two approaches and explain why Go's declarations look as they do. Cの構文について まず最初に、Cの構文について話させてください
(この内容は2014年07月時点のものです) 記事中の A Tour of Go のコードは、 このライセンス のもと、 The Go Authors と Google Inc. に帰属します 参考リソース 概観として Go メモ - 日本語公開記事 - サイボウズエンジニアのWIKI 中国語オリジナルの日本語版の解説書: build-web-application-with-golang/preface.md at master · astaxie/build-web-application-with-golang オフィシャル系 実践 Go: Effective Go - The Go Programming Language 翻訳版 (golang.jp): 実践Go言語 - golang.jp 仕様: The Go Programming Language Specificatio
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く