タグ

goに関するkatryoのブックマーク (21)

  • Go言語とコンテナ

    長かった連載も今回が最終回です。 この連載では、プログラムがコンピュータ上で動くときに何が起きているのかを、Go言語のコードを通して覗いてきました。 今回は、その締めくくりとして、コンテナについて紹介します。 現在広く利用されているコンテナ技術であるDockerのコアは、Go言語製のlibcontainerというライブラリです。 このライブラリを使って自作のコンテナを仕立ててみます。 今回の原稿にあたっては、仮想化周りでsyohexさんに細かく指摘をいただきました。ありがとうございました。 仮想化 コンテナの話に入る前に、コンテナと目的がよく似た技術である仮想化について説明します。 仮想化は、コンテナよりも先に広く使われるようになった技術ですが、 歴史的にさまざまなソリューションがあり、どのような仕組みか、どのようなメリットがあるか、どのような制約があるか、どこにフォーカスするかで分類の

    Go言語とコンテナ
    katryo
    katryo 2017/06/22
    いい最終回だった
  • [Deprecated] Go CodeReviewComments 日本語翻訳 #golang - Qiita

    注意 記事は以降更新されません。 https://knsh14.github.io/translations/go-codereview-comments/ こちらに移動しました。 以前にGoを書く機会があったときにレビュアーに「俺に持ってくる前にこれを読んで直してからこい!」 と言われたので、読んだ証拠に翻訳しました。 Go Code Review Comments 原文 go fmt あなたのコードに gofmt を走らせると、自動的に機械的に直すことのできるスタイルの大部分を修正してくれます。 世にあるGoのコードのほとんどすべてが gofmt を使っています。 この文章の残りは機械的に直すことのできないポイントについて解説します。 代わりに goimports を使う手段もあります。 gofmt に加えて必要に応じてimport内に空行をつけたり消したりする機能があります。 Co

    [Deprecated] Go CodeReviewComments 日本語翻訳 #golang - Qiita
    katryo
    katryo 2017/03/03
    “"URL" は "URL" か "url" でなければならず、"Url" ではいけません。”
  • Google App EngineでGoを動かすときに知っておくべきこと(ソースコード・ビルド編) - 詩と創作・思索のひろば

    Google App Engine(GAE)で Go 製のウェブアプリを動かしたかった話。いっぺん動かしてみると GAE/Go はウェブアプリを動かす環境としてはとてもいい。ただ、中途半端な知識だけで始めると開発者としてはつまずくことが多かったので、分かりにくい点をまとめておく。 Google App Engine Go Standard Environment について goapp は $GOPATH 以下もアプリケーションのソースとしてアップロード/コンパイルする goapp はプロジェクトルート以下のソースコードをすべてコンパイルしようとする go-app-builder: Failed parsing input: parser: bad import "syscall" in ... go-app-builder: Failed parsing input: app file x

    Google App EngineでGoを動かすときに知っておくべきこと(ソースコード・ビルド編) - 詩と創作・思索のひろば
  • Go Traps

    (No output before you click the [Run] button) (No errors before you click the [Run] button) See also Golang resources The golang wiki has a page CommonMistakes about gotchas. The page 50 Shades of Go: Traps, Gotchas... on CloudImmunity. The command vet helps detecting potential errors in code. programming-idioms.org has over 120 Go idiomatic snippets (and other languages). gobyexample.com has over

  • z.shをGoで書き換え(ようとしてい)る話とGoの学びかた - Qiita

    z.shをGoで書き換え、Windows対応とパフォーマンスの向上を図ろうとしている話。 なお、たたき台を完成させて華麗に公開しようとしていたところ今日に限って体調を崩してしまったので、未完成です。すみません。 ですので、書いている最中に思ったことを書き連ねます。 最終的に完成しましたら、この記事にも変更コミットをしたいと思います。 なお、進捗は後日こちらでごらんください。 https://github.com/zchee/zgo ローカルの物は未コミットです。申し訳ない。 絶対!! 絶対家超えてやるぞ!!! Goアドベントカレンダーをご覧の皆さんであれば、普段の生息地はターミナルの中だと思います。 そのターミナル内で縦横無尽にディレクトリを行き来するためのヘルパースクリプト、それがz.shです。 Bashやzshに対応し、標準のhistoryなどとは別に、今まで行き来したディレクトリパ

    z.shをGoで書き換え(ようとしてい)る話とGoの学びかた - Qiita
    katryo
    katryo 2015/12/24
    超よさそう to me
  • Go最後の秘宝「GUI」を探しに行く - Qiita

    Golangができること、むしろ「得意」と言われるものはすでにたくさんあります。 クロスコンパイルが得意だし依存が少ないバイナリができるから、いろんな環境で使えるコマンドラインツールを書くにはGoがいいよ パフォーマンスが高いし文字列処理もやりやすいので、高速なAPIサーバが得意。gRPCでもHTTP/2でも Webアプリケーション・フレームワークも増えてきていてウェブサービス作れるよ ビルドシステムとパッケージマネージャ内蔵なので、gitから簡単にパッケージをダウンロードしてきたり、◯makeコマンドとか◯runtとか◯owerで消耗しなくて済む gopher.jsでJavaScriptにもなる 逆に今まであまり良い解がなくて、「Goにはちょっと不向きだね」と言われ続けていたのがGUIです。鳴り物入りで出てきたGXUIが開発が止まってしまい、それと同じぐらいにshinyというものが開発が

    Go最後の秘宝「GUI」を探しに行く - Qiita
  • go-setlock - Go port of setlock - その手の平は尻もつかめるさ

    [2015/08/10 12:47 追記]なんか一部のOS Xで動かないので調査中です…… [2015/08/11 10:15 追記]v1.1.0で直っています setlock は daemontools に同梱されているコマンドラインツールで,非常に便利かつ強力なツールであることが知られています.この件については以下の記事などが参考になります. Kazuho@Cybozu Labs: setlock を使って cron をぶんまわす方法 Linux - setlockを使って簡単に多重起動防止機能を実装する - Qiita そしてこの度,その setlock を golang で移植した go-setlock というものをこさえました. go-setlock は setlock と同等の機能を持っており,かつ以下の様なメリットが挙げられます. daemontools から独立しているので

    go-setlock - Go port of setlock - その手の平は尻もつかめるさ
    katryo
    katryo 2015/08/10
    最高ぽい
  • Surf - Stateful programmatic web browsing in Go

    Surf Surf is a Go (golang) library that implements a virtual web browser that you control pragmatically. Surf isn't just another Go solution for downloading content from the web. Surf is designed to behave like web browser, and includes: cookie management, history, bookmarking, user agent spoofing (with a nifty user agent builder), submitting forms, DOM selection and traversal via jQuery style CSS

    katryo
    katryo 2015/08/05
    べんりかも
  • Yet Another JSON な json5をgolangでparseできる奴を作った - from scratch

    このエントリは Go Advent Calendar 2014 の記事です。 さて、僕はJSONSchemaで疲弊してたんですが、主に疲弊してた理由としてはJSONの表現力不足(ケツカンマ許さない、コメントかけない等)とJSONSchema Validatorで不正な値があった時の情報量の少なさでして、JSONの表現力不足に関しては皆さんYAML使ったりして色々解決してるとは思います。 そこで自分もYAMLではなく、JSON5使って解決しようと考えてgolangで実装してみました。 JSON5の詳細に関してはこちらのエントリを参考にされると良いかと思います。 普通にjson5をインストールする インストールは簡単。 $ brew tap yosuke-furukawa/json5 $ brew install json5そんで、こんな感じのjson5ファイルを用意して、 // This i

    Yet Another JSON な json5をgolangでparseできる奴を作った - from scratch
    katryo
    katryo 2014/12/03
    Golangプロダクトだ!!!!!!!
  • 私のGopherコレクション2014 #golang - Qiita

    はじめに GoCon 2014 Autumnお疲れ様でした! Rob先生や鵜飼さんのキーノートをはじめ、豪華な登壇者ということもあり、 今まで最も大きな規模のGoConとなりました。 しかし、この記事では、GoConのことは書きません!また別の機会で詳細は書けたらなと思います。 GoConも終わり、12月と月曜日が一緒にやって来ましたが、ひとつ重要なことを忘れてました。 Advent Calendarを書いてなかったのです。。。 ということで、GoConが終わってから必死で書いております。 技術的な内容は時間的に厳しいので、私のGopherフォルダが火を吹くぜ!ということで、 私が描いたGopherを紹介したいと思います。 なお、Gopherのオリジナルのデザインは,Renee Frenchさんです. 家のやつをトレースしたGopher 家のgopherはどれもpngで公開されています

    私のGopherコレクション2014 #golang - Qiita
    katryo
    katryo 2014/12/01
    かわいさAGEAGEマック
  • 【翻訳】プロダクション環境でのベストプラクティス - Qiita

    Qiitaは2ヶ月ぶりです。 GopherCon2014でSoundCloudの方がプロダクションでGoをどう使うかというところで発表されていたようです。その内容がブログで公開されていたので、僕の勉強も兼ねて翻訳することにしました。 英語は得意でないのですが、ザクッと訳してみました。きっと間違い有るので、どうかご指摘ください。 元ネタ:http://peter.bourgon.org/go-in-production/ スライド:https://github.com/gophercon/2014-talks/blob/master/best-practices-for-production-environments.pdf SoundCloudでは、たくさんのクライアントに対してAPIの形でプロダクトを提供するようにしています。ですから、ウェブサイトやモバイルクライアント、モバイルアプリの

    【翻訳】プロダクション環境でのベストプラクティス - Qiita
    katryo
    katryo 2014/11/27
    “依存性管理だ! ウリィィィィィ!!! ᕕ( ᐛ )ᕗ” SoundCloud、ドイツの会社だった気がするけどこのへん英語だったのだろか
  • Effective Go — プログラミング言語 Go ドキュメント v0.1 documentation

    イントロダクション¶ Goは新しい言語です。既存の言語からいろいろなアイディアを借りてきていますが、効果的なGoプログラムは、関連するような言語のプログラムとはかなり異なる性質を持っています。C++JavaなどのプログラムをそのままGoに変換しても、満足できるような結果にはなりません。所詮はJavaで書かれたプログラムであって、Goらしいプログラムにはなりません。一方、Goの視点からプログラムについて考えてみると、うまくいく可能性はありますが、既存のプログラムとは違う結果になるでしょう。言い換えると、Goらしいプログラムをうまく書くためには、Goの特性やイディオムを理解することが重要になります。また、命名規則、フォーマット、プログラムの構造などの、Goでプログラミングをするための適切な習慣を知ることも大切になります。そうすることで、他のGoプログラマが簡単にあなたのプログラムを読むことが

    katryo
    katryo 2014/10/27
    #hikarie_go これかー
  • GoでEnd To End Testingフレームワーク書いた - Webtech Walker

    SeleniumラッパーなテストフレームワークをGoで書いてみた。初Go。 https://github.com/hokaccha/sprinkler GoのコードでE2Eテストのコード書けてもあんまり嬉しくないのでYAMLで書けるようにした。 scenarios: - name: Hello sprinkler! actions: - visit: http://www.google.com - assert_title: Google - wait_for: input[type="text"] - input: element: input[type="text"] value: Hello - submit: form[name="f"] - wait: 1000 - assert_text: element: "#main" contain: Hello こんな感じのYAMLを以

    GoでEnd To End Testingフレームワーク書いた - Webtech Walker
    katryo
    katryo 2014/10/17
    ヤムル
  • GitHub - zenazn/goji: Goji is a minimalistic web framework for Golang that's high in antioxidants.

    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 - zenazn/goji: Goji is a minimalistic web framework for Golang that's high in antioxidants.
    katryo
    katryo 2014/10/06
    goji datsuji
  • 第4回ISUCON予選にチーム「ご注文はPHPですか?」で参戦して1日目暫定10位になりましたがPHP使ってません - このブログはURLが変更になりました

    いい感じにパフォーマンスチューニングするコンテスト第4回ISUCONに参戦しました。まだ現時点で戦に進めるのかわからないのですが、1日目で暫定10位になりました。 PHPでも十分に戦える!と思った方、ごめんなさい。Go言語使いました。 チーム紹介 チーム名 ご注文はPHPですか? チーム略称 ごちぺち 予選スコア 44000〜45000ぐらい(暫定) メンバー アイコン Twitter @do_aki @matsuu @netmarkjp 職業 インフラエンジニア インフラエンジニア インフラエンジニア 得意言語 PHP Perl Python 当日の役割 右腕 左腕 ファシリテータ えぇ、ぺちぱー(PHPer)で有名なdo_aki先生がいるチームですが、Go言語を使いました。 役割分担大事。特にファシリテータ大事です。fujiwara組もたぶんfujiwaraさんがファシリテータだと思

    第4回ISUCON予選にチーム「ご注文はPHPですか?」で参戦して1日目暫定10位になりましたがPHP使ってません - このブログはURLが変更になりました
    katryo
    katryo 2014/09/28
    いい話だった
  • GitHub - brucehsu/GobiesVM: A Ruby VM written in Go aims to exploit parallelism via Software Transactional Memory

    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 - brucehsu/GobiesVM: A Ruby VM written in Go aims to exploit parallelism via Software Transactional Memory
    katryo
    katryo 2014/09/18
    Golang製のRuby VMとな
  • Go For Perl Mongers

    Go For Perl Mongers (or, for Lightweight Language lovers) Daisuke Maki Engineer, LINE Corporation Who Is This Guy? @lestrrat LINE / Japan Perl Association / YAPC::Asia (2008~2013) STF / peco (new!) 2 俺とGo Goしてみて約1年弱 概算10~12万行くらい書いた。lived○○rBl○g の裏方にもこっそりgo入れてる 最初の4万行くらいまでに goの落とし穴にほぼ全て落ちた 自信がある 今日はその落とし穴から学んだ諸々の話 3 対象観客層 もともとPerl/Python/Ruby/PHPあたりから来た人 Goは最低限とりあえずかじった程度はやった人 かじってみたけど「Go、便利そうだけどなん

    katryo
    katryo 2014/08/31
    ものすごく使える資料では
  • ヒカルのGO! hikarie.go #2 (2014/08/12 19:00〜)

    月に一度の間隔で開催するgolangの勉強会です。 gopherを増やす目的で開催します! 初〜中級者向けの会となっています. 発表形式は 発表(20分 × 2)+LT x 5となっています! LT、発表者募集中です! 発表したい方は@7yan00か下記コメント欄でご連絡下さい! 参加要項 ≪会場への入館フロー≫ 入館受付は 19:00 開始です オフィスフロア入り口である11Fにお越しください。ヒカリエビル内の地下フロアやJRとの連絡通路がある2Fに、 11Fへのエレベータが数カ所設置されています。 当日11Fには、イベント用の特設受付をご用意しておりますので、そちらへお越し頂き、その後は 受付の案内に従ってください。 (※オフィス総合受付の側に設置します) ヒカリエ入館に伴うセキュリティ上の観点で11F特設受付にて名刺を1枚いただきます。 名刺には事前にconnpass 申し込み時の

    ヒカルのGO! hikarie.go #2 (2014/08/12 19:00〜)
    katryo
    katryo 2014/08/08
    LT枠まだ人がいないじゃないですかー
  • Farewell Node.js

    I’ve been fighting with Node.js long enough in production now that I don’t enjoy working with it anymore unfortunately, so at least for now this my formal farewell! And more importantly I need maintainers! Node does some things well, but ultimately it’s not the right tool for the type of software I’m interested in these days. I still plan on using Node for web sites, but if you’re interested in ma

    katryo
    katryo 2014/07/04
    やはり時代はGo
  • Open Sourcing Our Go Libraries

    Dropbox owes a large share of its success to Python, a language that enabled us to iterate and develop quickly. However, as our infrastructure matures to support our ever growing user base, we started exploring ways to scale our systems in a more efficient manner. About a year ago, we decided to migrate our performance-critical backends from Python to Go to leverage better concurrency support and

    Open Sourcing Our Go Libraries
    katryo
    katryo 2014/07/03
    すべてがGoになる