タグ

IOとgoに関するclavierのブックマーク (4)

  • GitHub - microsoft/go-winio: Win32 IO-related utilities for Go

    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 - microsoft/go-winio: Win32 IO-related utilities for Go
  • チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋

    簡単なチャットプログラムは、ネットワークプログラミング用のフレームワークでは定番のサンプルプログラムです。 echo サーバーが Hello World とするなら、チャットは FizzBuzz といったところでしょう。 とりあえず動くだけのチャットならだれでもすぐに作れるようになりますが、まじめにチャットを作ることで、 ネットワークプログラミングで考えないといけない点やエラー処理の重要な基礎を学ぶことができます。 ということで、 Go でシンプルなチャットを実装してみました。 (ソースコード) 以降、何を考えてどういう設計を採用したのかを解説していきます。 考慮すべきポイント 特定のクライアントへの送信に長時間待たされた場合に、他のクライアントへの送信が遅れないようにする。 クライアントを切断するのは、 (1)ルーム側から kick する場合, (2)受信エラー, (3)送信エラー の3

    チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋
  • HerokuとGithubを使った統一的なツール配布

    HerokuGithubを使った統一的なツール配布 Go言語ではクロスコンパイルがとても簡単で,複数プラットフォーム向けのバイナリをつくってそれを配布するというのがさらっとできる. 単純にやるなら, クロスコンパイルした各バイナリをzip等に固める Github Releaseやbintray,Dorone.ioなどにホストする そして,ユーザには自分のプラットフォームに合ったものをダウンロード/展開してPATHの通ったところに置いてもらう. 開発者からすると,すごい簡単.ホストするまで完全に自動化できる.でも,ユーザからすると若干めんどくさい. もっとツールを使い初めてもらうまでの敷居を下げたい. TL;DR 全プラットフォーム共通で以下のようにツールをインストールできるようにする.若干長いが1コマンド! $ L=/usr/local/bin/ghr && curl -sL -A "`

  • Go言語のビルド生活を drone.ioで幸せに暮らす #golang (Go Advent Calendar 2013 Day 5) - Qiita [キータ]

    Go Advent Calendar 2013 5日目の投稿です。 Qiitaに投稿するのは初めてな @atotto です。よろしくお願いします。 Go言語のビルド生活をdrone.ioで幸せに暮らす はじめに Goはクロスコンパイルがとても簡単です。実行ファイル形式で配布する場合、他の環境用にサクっとコンパイルして渡すことができます。 ただ、githubなどにコードは公開してるけど各環境用にコンパイルしたものをさっと配布したいなーと思うとちょっと面倒です。みんながGoのコンパイル環境をもっているとも限りませんし。そこで、CI(継続的インテグレーション)環境でクロスコンパイルしてバイナリを配布できるようにするしくみがないか探してみました。 やりたいことをまとめると: リポジトリにあるコードをCI環境上でクロスコンパイルしておきたい 成果物をダウンロードできるようにしておきたい ということで

    Go言語のビルド生活を drone.ioで幸せに暮らす #golang (Go Advent Calendar 2013 Day 5) - Qiita [キータ]
  • 1