タグ

Goとプログラミングに関するDryadのブックマーク (12)

  • 分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog

    Lobiチームの長田です。 今回はkatsubushiというアプリケーションを紹介します。 https://github.com/kayac/go-katsubushi katsubushiはid発番を行うアプリケーションです。 水平分割されたデータベースに対してユニークなidを発番するために作られました。 なお、記事中の「データベース」はMySQLを指します。 katsubushiの特徴 Snowflakeと同様のアルゴリズムでid発番 SnowflakeはTwitter社がかつて公開していたid発番アプリケーションです。 https://github.com/twitter/snowflake/tree/master 既にメンテナンスされておらず、masterブランチにはその旨が書かれたREADMEしか残されていません。 タグが切られているので、ソースコード等はそちらで確認できます。

    分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog
  • GoのChannelを使いこなせるようになるための手引 - Qiita

    Go使いたくなる理由の一つに、マルチスレッドプログラミング的なものを高速な言語で安全に実装したいというのがある。Goにおいてそれを支えるのが、自前で実装した軽量スレッドといえるgoルーチンと、mutexなどのロックの代わりに使えるChannelという概念だ。 実際に実装するときに、Goルーチンは難しくないが、Channelを使うのは割と知識と経験が必要なのでここでは、Channelについてすこし詳しく書いてみる。 Message Passing まずは理論から。 Goのチャネルなどのロックを使わない方法の並行処理はMessage Passingと呼ばれている。 以下の英語Wikipediaにあるように数学的な理論にもなっているしっかりした枠組み。 ErlangのActor Modelなどもこの仲間。GoのチャネルとActor Modelは、実は、同等の概念で表現方法が違うだけらしい。 (

    GoのChannelを使いこなせるようになるための手引 - Qiita
    Dryad
    Dryad 2015/12/07
    基本的にはChannelをポーリングして待つ感じになるのかな/Erlangのアクターと同じは言い過ぎでは…。
  • 新鋭の言語: この5年を振り返る

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    新鋭の言語: この5年を振り返る
    Dryad
    Dryad 2014/10/22
    Scala→Javaの移行事例がまさに何年も前のYammerの話以外に挙げられてないし、全体としては逆だと思うけどなぁ。とはいえ、sbt回りは早急になんとかした方が良いのは確か。
  • [翻訳]なんでGoってみんなに嫌われてるの? - Qiita

    原文:http://npf.io/2014/10/why-everyone-hates-go/ 酔っぱらった勢いで訳出してるので、違ってたら修正リクエストください。 訳者の1行でわかるサマリ それって、Goのシンプルな言語哲学が、ML系言語好きのアイデンティティを挑発しちゃってるからじゃないの? いや、実際みんなって訳じゃないんだろうけど。最近、なんてGoをみんなそんなに批判的なのかって言うquoraの質問が出たもんで。(わるい、普段はquoraへのリンクを張らないんだけど、それがこの記事のきっかけだからね。)この質問への回答を見るまえにもう、僕には、次みたいなことが書かれていることがわかってた: Goは70年代に立ち往生した言語だ Goは40年間に及ぶプログラミング言語研究の成果を無視してる Goはブルーカラーの凡夫のための言語だ Go使いはJava1.0で仕事しても大丈夫なんだろう。

    [翻訳]なんでGoってみんなに嫌われてるの? - Qiita
    Dryad
    Dryad 2014/10/17
    Goは「洗練されたC」という位置付けでユースケースが競合するものじゃないし、それに苛立ちを表明する「ML系言語信者」なんて本当にいるんだろうか(´・ω・`)
  • Go : 盛り上がり感 (hype) を実力にすることが重要 - ワザノバ | wazanova.jp

    http://commandcenter.blogspot.se/2012/06/less-is-exponentially-more.html Goの開発メンバであるRob Pikeが、なぜRuby / Python経験者がGoに移ってくるのに、C++の開発者はあまり飛びついてこないのかについて昨年のブログで語ってます。 Goの開発のきっかけは、C++11の新機能の説明会に参加して、質的でないと思う機能がどんどん追加されることに失望したから。 Cを元に開発しようという話しはでたが、実際のGoの開発過程では様々な言語のベストプラクティスを考慮してつくったので、Cがベースになったわけではない。 ただし、結果的には、 C / C++ と比較して相当シンプルになった。我々は、”Less is more” で、余計なものを入れずに当に必要なものを揃えた方が問題を解決しやすい開発言語になると考え

  • The Benchmark with Go REST API Server - stanaka's blog

    I gave a presentation about lightweight REST API Server by Go, and performance comparison with Go, Perl and Ruby at GoCon 2013 autumn. The slide about benchmarking result is as follows. This shows milliseconds per request with 10,000 sequential requests at various conditions, which are go/perl/ruby, messagepack/json, and mysql SQL query/innodb memcached plugin. "direct memcached (innodb)" is direc

    The Benchmark with Go REST API Server - stanaka's blog
    Dryad
    Dryad 2013/10/17
    んー、今はまだGoのJSONパーサやMySQLアダプタの実装が成熟してないというだけでは…?(´・ω・`)
  • システムプログラミング言語 - saneyuki_s log

    第7回くらいのServo Readingで話したことをざっくりまとめた。誰がどれを話したかはmangleしてあるので御容赦を。 個人的にざっくりとTwitterなどなどをクロールして得た感想だけど、GoはCompiled Pythonともいうべき立ち位置な気がする。PythonとかPerlとかRubyとかシェルスクリプトとか以上C未満な箇所を、JavaScalaよりももっとスマートに置き換える、そういう意味での「システム」開発言語。 対する?Rustは、カーネルとかブラウザエンジンとかゲームエンジンとか、ハードウェアに近いエリアの計算機資源をがしがしと叩きまくるための言語。C/C++の面倒くさい因習やエクストリームな部分をうまく隠蔽しつつ、時々必要になったらunsafeブロックで例外的に許容する。その安全性の担保として、コンパイラを使った静的チェックをCPUとメモリにものを言わせてブイブ

    システムプログラミング言語 - saneyuki_s log
    Dryad
    Dryad 2013/10/16
    システムプログラミング言語、という話なら同意見かなー。
  • Go メモ - 日本語公開記事 - Confluence

    特徴statically typed でも型推論や自動的に satisfy される interface のお蔭でお手軽に書けるのが素晴らしい。concurrent language goroutine という軽量プロセスとチャネルベースの通信。CSP といや分かる人はわかるね。 複数 CPU 使うのも runtime.GOMAXPROCS() を呼び出すだけというお手軽さ。GC 当然基的にスタティックリンク ランタイム内包なので動かすの楽defer RAII や with みたいなことが構文的にとても簡単に書けるようになっている。アンチ例外 panic で基死ぬようになっている。色々な型の例外を飛ばすというのは、仕様の面で難しいので採用しなかったんだろう。 後発言語の潔さ・割り切り感があっていい。言語仕様がコンパクト オブジェクト指向回りは複雑なことはしないが、十分に強力。ある程度豊富

  • The domain name 42GO.COM is for sale | Undeveloped

    Buyer Protection ProgramUndeveloped safeguards your purchase. You never have to worry! We protect every transaction through a careful escrow process, leading to 100% successful acquisitions since 2014. First, we secure the domain from its current owner. Then, we help you become the new owner. Finally, we only proceed with paying the seller out after you confirm the reception of the domain.

    Dryad
    Dryad 2013/08/07
    素のJavaのSocketでNIOでもない、というのはどうなんだろう。
  • OSCON 2013でのGo関連の発表 - YAMAGUCHI::weblog

    はじめに こんにちは、Go界の平賀源内です。さて、先月末にOSCON 2013がオレゴンで開催されましたが、その中発表でいくつかGo関連で話題になったものもあったので、一つまとめてみようと思います。 Go関連の発表 Go関連の発表は以下の7つでした。(発表時間順) Introduction to Go: OSCON 2013 - O'Reilly Conferences, July 22 - 26, 2013, Portland, OR How Learning Go Made Me A Better Programmer: OSCON 2013 - O'Reilly Conferences, July 22 - 26, 2013, Portland, OR Office Hour with the Gophers: OSCON 2013 - O'Reilly Conferences, J

    OSCON 2013でのGo関連の発表 - YAMAGUCHI::weblog
  • GitHub - etcd-io/etcd: Distributed reliable key-value store for the most critical data of a distributed system

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - etcd-io/etcd: Distributed reliable key-value store for the most critical data of a distributed system
    Dryad
    Dryad 2013/08/01
    Goで書かれたZooKeeper的なモノらしい。
  • そろそろGoについて一言いっておくか - kuenishi's blog

    昨日、GoCon(ごうこん)なるイベントに参加してきた。以下に続く話は5割以上がフィクションなので虚実織り混ざっている様を楽しみながらお読みいただけたらと思う。 最初に発表されたニュースを聞いたときは、Goはよい車輪のよい再発明で、結局GoogleC++Javaを使い続けるだろうし、世間はGoogle独自言語としてみなすのだろうなという予感はあったし、2010年だから2011年ころはそういう見方をされていたように記憶されている。私もそういうものだと思っていたし、特に関心を持つこともしなかった。いま思えば正常性バイアスだったのだろう。 実際に昨日のカンファレンスで一番興味深かったのは鵜飼さんによるGoの解説だった。比較対象がC++, Python, Javaだったことが最も印象的で、普段からErlangやOCamlといった関数型言語に接していた身として新鮮だった。話を聞くうちにGoogl

    そろそろGoについて一言いっておくか - kuenishi's blog
    Dryad
    Dryad 2013/04/14
    C/C++で書くところはGoで書きたいなぁとずっと思っている。
  • 1