タグ

golangとgoに関するhyottokoalohaのブックマーク (10)

  • Go言語でのORMを色々検討してみた - タオルケット体操

    フルスタックと聞いたからrevel使ってみたのにモデル層のサポートどころかORM(あるいはそれを良い感じに使うレール)もないじゃねえかみたいな感じで仕方なくちょろっと調査した、みたいな所感だけを書いた雑なエントリです。 結論 色々やろうとすると最終的には諦めてdatabase/sqlを使うのが良い。割り切りが大事。 試したライブラリ GORM https://github.com/jinzhu/gorm 多分一番リッチ。 後で書くけど、リレーションを含めたコードファーストなデータストア定義とかをしたいならこれしか選択肢なさそう。 gorp https://github.com/go-gorp/gorp 正確には"ORM-ish library for Go"だけどね genmai https://github.com/naoina/genmai "Simple, better and ea

    Go言語でのORMを色々検討してみた - タオルケット体操
  • Big Sky :: golang でメモ専用コマンド「memo」作った。

    « Ruby の a = a + 1 はなぜ undefined method '+' for nil:NilClass なのか | Main | Ruby の Array#<< は Array#push よりも速いか » 僕は日々 memolist.vim という Vim plugin を使い、仕事で思いついた疑問点や会話の一部をメモ取りする様にしています。相手と会話している最中に「あ、ここ大事だ」と思ったら vim を起動して :MemoNew してメモを編集していました。もちろん Vim ですから起動は抜群に速くてとてもご機嫌良く動くのですが、どうしてもこれをシェルから扱いたいという要求に負けてささっと作ってみました。 GitHub - mattn/memo: Memo Life For You README.md memo Memo Life For You Usage NAME:

    Big Sky :: golang でメモ専用コマンド「memo」作った。
    hyottokoaloha
    hyottokoaloha 2017/02/14
    即座にメモ取りを開始したい Markdown で書きたい 簡単に grep したい シェルと融合したい
  • GoでとあるAPIサーバを実装し直した話 | メルカリエンジニアリング

    サーバサイドエンジニアの @b4b4r07 です。この記事は Go Advent Calendar 2016 の 19 日目です。今回は Go (Revel フレームワーク) で書かれていた API サーバをフルスクラッチで書き直したお話をします。 Revel とは A high productivity, full-stack web framework for the Go language 公式の説明にあるように、Revel は高機能でフルスタックな Web フレームワークです。 複雑なルーティングや、パラメータのパーシング、テンプレート機能など、Web アプリケーションを作ろうとなったときに必要な手段はたいてい兼ね揃えているようです。公式ドキュメントに詳しく書かれています。 Revel 以外にも Go 製の Web フレームワークは多数あり、有名どころだと以下のようなものが挙げられ

    GoでとあるAPIサーバを実装し直した話 | メルカリエンジニアリング
  • Go言語で文字列を1文字ずつのリストにする - メモ置き場

    関連 : pythonrubyで文字列を1文字ずつのリストにする - brainstorm runeじゃなくてstringのリストにする package main import ( "strings" "fmt" ) func main() { str := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" fmt.Printf("%#v", strings.Split(str, "")) } 実行結果 []string{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "

    Go言語で文字列を1文字ずつのリストにする - メモ置き場
  • Golang: math/big で大きい数や細かい数を扱う - CUBE SUGAR CONTAINER

    Golang の数値型はビット数が決められているため、扱える数の大きさや精度に限界がある。 整数の大きさの限界 例えば 2 を 64 ビット左シフトした整数を作ってみる。 package main import "fmt" func main() { fmt.Println(2 << 64) } 上記を実行しようとすると int 型で扱える範囲を越えているとコンパイラに怒られる。 $ go run overflow.go # command-line-arguments ./overflow.go:6: constant 36893488147419103232 overflows int 整数で最も大きな数を扱える型は int64 なので 64 ビットで表現できる範囲に限られる。 より大きな数を扱う じゃあ、それよりも大きな数を扱うにはどうしたら良いかというと多倍長整数を使えば良い。 G

    Golang: math/big で大きい数や細かい数を扱う - CUBE SUGAR CONTAINER
  • Goで言語処理100本ノック2015 第1章: 準備運動 - Qiita

    package main import "fmt" func Reverse(s string) string { runes := []rune(s) //rune配列に変換 for i, j := 0, len(runes)-1; i<j; i, j = i+1, j-1 { runes[i], runes[j] = runes[j], runes[i] } return string(runes) } func main() { s := "stressed" fmt.Printf("%v\n",s) fmt.Println(Reverse(s)) } Recverse(s):文字列を引数としてrune配列として、順番を逆順として文字列を出力する。 自分の調べた限りだとGoで文字列をインデックス操作しようとするにはrune配列にするのが一般的?ぽいです。 pythonなら s[::-

    Goで言語処理100本ノック2015 第1章: 準備運動 - Qiita
  • チュートリアル - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 チュートリアルの翻訳、11回目(最終回)です。 前回までの訳を含めてチュートリアル[日語訳]にまとめてありますのでごらんください。 多重化 チャネルを使うことで多重化処理のコードをほとんど書くことなく、複数の独立しているゴルーチンに対してデータ配信することができます。 今回のポイントとしては、サーバーへ送信するメッセージ内にあらかじめ返信用チャネルを含めておき、それを使ってクライアントに返信を行います。 実際のクライアント/サーバプログラムは多くのコードからできていますが、ここでは分かりやすいように単純化した例で説明します。 まずはじめにrequest型を定義し、そこに返信に使用するチ

  • Goで毎分100万リクエストを処理する | POSTD

    Malwarebytes は、驚くべき成長を見せています。1年以上前にこのシリコンバレーの会社に入社して以来、私の主な仕事は急成長するセキュリティ企業の力となるシステムの設計と開発です。日々数百万人が利用する製品をサポートするために必要な、全ての基盤をつくります。私は12年以上、アンチウイルスとアンチマルウェアに関わるいくつかの会社で働いてきました。毎日処理する膨大なデータのせいで、これらのシステムがどれだけ複雑なものになるかを理解しています。 面白いことに、ここ9年ほどで私が携わったWebのバックエンド開発のほとんどは、Ruby on Railsが使われていました。誤解されないように言っておきますが、私はRuby on Railsが大好きですし、すばらしい環境だと思っています。しかし、Rubyでシステムを設計し始めると忘れてしまうのは、マルチスレッド化や並列化、高速化、メモリオーバーヘッ

    Goで毎分100万リクエストを処理する | POSTD
  • シュッと golang に入門する話 - ちなみに

    photo by ajstarks なんか最近みんな書いてる golang 。OSS へのコントリビュートチャンスも増えてきました。自分でバリバリ書くには時間も自信もない。でも、バグ修正くらいならやってみたい。それくらいの目的のために最低限必要な知識を書いてみました。 この記事では、自分ではバリバリ書けないけれど、golang の OSS プロジェクトには貢献したいという人向けに、出来るだけシュッと学べるように重要なポイントのみ絞って紹介していきます。 初心者向けの優しい解説記事という訳ではないので、自分で調べるためのキッカケとしての読み方を想定しています。また、自分自身が想定読者のため、間違ったことを書いている可能性もあります。という逃げも書いておきます。 開発環境 基的に Mac OSX + HomeBrew + Atom を前提とします。といいつつ、golang も Atom もす

    シュッと golang に入門する話 - ちなみに
  • 逆引きGolang

    これはなにか 逆引きRubyの内容をGolang化しつつあるものです。 当方も初学者なので、いろいろといい加減なコードが含まれると思いますが そのつもりでご参照ください。 Go 1.4.1 で確認しています。Golangは仕様変更が激しいので、都度仕様を確認ください。 なお、ソースコードはGithubに置いてありますので、 何かあればPull Requestでお知らせください。 なお、当初から予定していたファイル系とgoroutineまでなんとか書き上げたので、 ここでいったん更新を終了します(2015/08/12)。 目次 文字列 日付と時刻 数値 配列 マップ 正規表現 ファイル ディレクトリ goroutine Credits RubyTips is founded by TAKEUCHI Hitoshi. HTMLs are generated by Pandoc and deco

    hyottokoaloha
    hyottokoaloha 2016/09/21
    すごく良い
  • 1