Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

速さは正義! やはり「最速」という言葉は胸を熱くするものがあります。 使うWebフレームワークのレスポンスが速ければ速いほど、ユーザービリティはよくなる上に、必要なサーバー台数も減らせるなど、いいことづくめです。 ただ、レスポンスの速さだけを追い求めて機能を削ったものは、開発の速度を遅くします。 Web開発に通常必要な機能は全て用意した上で、なお速い、そんな都合のいいフレームワークが求められます。 そこで、最近知った「revel」という「最速」にして「フルスタック」のWebフレームワークについて、調べたことを記載していきます。 今回は、 速さの計測方法解説 revelの概要 Go言語の概要 revelのインストール・実行までの手順 などについて記載します。 ※ ここで言っている「最速」とは、一秒間に何レスポンス返せるか、というような、ベンチマーク的な意味です。 ※ ここで言っている「フルス
なぜに今Go言語? Node.jsからGo言語に切り替えたという記事を最近よく見かける気がします。Go言語ってGoogleが作った言語っていうくらいしか前提知識なかったのであまりピンと来てなかったんですが、下記のid:yosuke_furukawaさんの記事で最近ようやく興味を持ち始めました。 はてなブログに投稿しましたFarewell Node.js (翻訳) - from scratchURL 2014-07-06 09:46:24 via Hatena 記事はNode.js界隈で貢献の大きかったvisionmediaがNodeを捨てて、Goに切り替えて開発を行うと宣言したという内容です。ぼくはNode.jsも最近触り始めた程度なので記事に書かれているようなNode.jsならではの苦労についてはまだあまりピンと来てないところもあるのですが、確かにJavaScriptのエラーハンドリング
Programs need to be able to take up different courses of action based on different situations - if you want to go to the beach turn left, or if you want to go the movies, turn right. The if else statement is a simple control structure. The general statement in Go is similar to: if some_boolean_expression { // execute this block if some_boolean_expression is true } else if alternate_boolean_express
カヤックは今後、積極的にGo言語を推進していくことになりました。7月末までのGo言語での実績一覧です。 https://github.com/kayac/alphawing https://github.com/kayac/parallel-benchmark https://github.com/acidlemon/go-dumper https://github.com/fujiwara/zabbix-aggregate-agent https://github.com/fujiwara/go-zabbix-get https://github.com/fujiwara/go-redis-setlock https://github.com/shogo82148/androidbinary https://github.com/mix3/go-irc https://github.co
Toby Hede technology • people • strategy • architecture • data I am a passionate, hands-on technical leader and developer with over 20 years of experience in technology. I act at the intersection of people, technology and business strategy, melding deep technical expertise with business-focused strategic thinking,honed by a polyglot development background and years of experience spent in the trenc
私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を本文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの
概要: と言うような話を書きたくなった 僕はしばらく前まで、 Golang をメインにプログラミングしてたんだけど、 最近またPerlでもプログラミングを再開したので、 今日はその辺りの話を書いてみる。 Perl使いから見たGolang 正直なところ、Golangの型システムってどうなの? っていうと、 Golangの型システムは、 interface 型は、メソッドの引数/戻り値の定義しかできない Moo::Role みたいな感じ strcut 型は、 Moo で作ったクラスのような感じ ととらえると、結構分かりやすいな、と僕は感じでいる。 で、Golangは静的型付けなわけだけど、この、 静的型付け っていうのは、僕は今回が初めてで、結構感激したというか、 ああ、静的型付けってこんなに便利なんだ! と思ったんだけれども、 この静的型付け、 内部的に入出力の値を厳格に定めたい という時に
私が今現在最も使っている言語が Golang で、最も注力しているものが Kocha という WEB アプリケーションフレームワーク開発である。 Golang とは Go言語 のことで、Go だとググラビリティが低すぎるため Golang と書いている。 さて、Golang の WEB アプリケーションフレームワークを作っていると言うと大抵の人がこのようなことを言う。 「Go で WEB (サービス|アプリ)を作ろうとは思わない。」 なぜだろうか。Golang が静的型付け言語で事前にコンパイルが必要であり、Rails や Django に比べてアドバンテージが無いからだろうか。 実際 WEB 開発に於いてのアドバンテージは無いに等しいし、静的型付けが必要であれば、Java があり、Scala があり、Play Framework がある。Golang である必要が無い。 ではなぜ私
TL;DR fork元(オリジナル)をgo getしてその中で作業,forkした自分のレポジトリにpushしてPull Requestを送る. 問題 Github上のGo言語のプロジェクトにコミットするとき,cloneの仕方で若干ハマることがある.普通のOSSプロジェクトの場合は,forkしてそれをcloneしてpush,Pull Requestとすればよい.Go言語のプロジェクトでは,同じレポジトリの中でパッケージを分け,それをimportして使ってるものがある.そういう場合にforkしたものをそのままcloneすると,importの参照先がfork元の名前になりハマる. 例えば,github.com/someone/toolがあるとする.このレポジトリはgithub.com/someone/tool/utilsという別パッケージを持っており,mainがそれを使っているとする.つまり以下
二日間ほど集中してgo言語でコード書いたので、その間に感じたことをまとめてみます。普段はだいたいPerlやJavaScriptでWebアプリケーションを書いています。 まとめの要約 go言語良い Webアプリケーション書くならPerlとかRubyが良い PerlとかRuby書ける人がミドルウェア書くならgo言語良い 気に入ったところ コンパイルエラーが親切 たとえば気楽な気持ちで以下のようなコードを書くと package main import ("fmt"; "net/http"; "log") func main() { resp := http.Get("http://hatenablog.com/") fmt.Println(math.Pi) } 以下のように丁寧に問題箇所を教えてくれます。 ./hoge.go:6: imported and not used: "log" ./h
Goのランタイムのバグを踏んで解決しました。解決までの過程を記事にします。 同じようなランタイムのバグを踏んで、小さい再現コードを作れない場合の参考にしてください。 自分のプログラムを疑う あるSlackチャンネルで Go で書かれたサーバーのクラッシュが話題になっているのを見つけました。その時に共有してもらったトレースバックです。 runtime: pointer 0xc007b8af97 to unused region of span span.base()=0xc004000000 span.limit=0xc004002000 span.state=1 fatal error: found bad pointer in Go heap (incorrect use of unsafe or cgo?) runtime stack: runtime.throw(0xc046ca,
Golang ってネットワークを扱うのが凄く楽で色んな物が作りたくなるんだけど、いつも pubsub っぽいのが欲しくなって毎回作ってる気がしたので汎用的に扱えるインタフェースを作った。 mattn/go-pubsub - GitHub https://github.com/mattn/go-pubsub 使い方は簡単で、まず subscribe 側はある型を引数に持つコールバックで Sub を呼び出す。 ps := pubsub.New() ps.Sub(func(i int) { fmt.Println("int subscriber: ", i) }) そして publish 側はある型を指定して Pub を呼び出す。 ps.Pub(1) Pub された値と同じ型の引数を持つ subscriber のみがメッセージを受け取れるという仕組み。構造体も渡せるので複雑なメッセージ内容もOK
https://www.youtube.com/watch?v=Iebb5dXaScE 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 GopherCon 2014における、PoptipのCEOであるKelsey Falterの講演。同社はCNN、ESPN、L’Orealなどメディア & コンシューマグッズ大手に、ソーシャルメディアコンテンツの分析やアンケートのプラットフォームを提供しているNew Yorkのスタートアップです。 最初はNode.jsで開発したが、スタートアップにありがちな大手顧客の対応のためのスケールアップと、平行して資金調達活動を続ける中での時間がないバタバタの状況で、 インスタンスが落ちるとシングルポイント障害点になってしまう。ホストしているサーバの障害やアプリのクラッシュなどが
以前 Perl で、forkして並列実行するベンチマークを取るためのライブラリ、Parallel::Benchmark というのを書きました。 Parallel::Benchmark というモジュールを書きました - 酒日記 はてな支店 これを使うと、単に Perl コードのベンチマークだけではなく、並列に外部にアクセスして計測を行うような (たとえばApacheBenchのような) ベンチマークツールが簡単に作れるので重宝しています。(仕事では、ソーシャルゲームのサーバアプリケーションに対する負荷テストを行うために使ったりもしています) で、思い立って Go 版を書きました。 kayac/parallel-benchmark · GitHub 使用例 フィボナッチ数を求めるコードを並列実行するベンチマーク fib(30) を1回計算するごとにスコア1とする 10個の goroutine
PC間でのファイル受け渡しのときにファイルサーバを使うことがたまにありますが、OSによってファイルパスやその書式が違ったり、受け渡し用のディレクトリをつくるとか、ファイル渡したいだけなのに、なんだか小さなひっかかりがあってスマートじゃないなあといつも感じてました。 なので、もっと直感的に「ほい、これ」って渡せるツールをつくってみました。 Hoi Hoiはファイルの受け渡しを簡単に行うためのコマンドラインツールです。Go言語で書かれており、HTTPファイルサーバを利用して機能を提供します。 monochromegane/hoi (An easy file transfer tool using http file server.) ファイルを渡す 使い方は簡単でローカルのファイルパスをhoiコマンドの引数に渡すだけです。 そうすると以下のような、ダウンロード用のURLが出力されます。 htt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く