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

komeとは kome is Terminal Niconama Comment Viewer ターミナルで動くニコニコ生放送用のコメントビューワーです。 コメントの送受信、閲覧ができます。 操作はキーボードのみ、vim風のキーバインドを採用しています。 macとlinuxだったら動くと思います。(windowsは未検証) 作った経緯 peco経由でtermbox-goを知る。これで何かつくってみたい。 ↓ tigのようなグラフィカル&インタラクティブなCUIいいなぁ。 ↓ フォロワーさんでコメビュ(Viqo)作っている人がいたので乗っかる。 得られた知見 デッドロックは簡単におきる channelのデッドロックは結構わかりずらくて3日くらい悶々と悩まされました。 例えばこんなコード up := make(chan int, 10) down := make(chan int, 10) /
概要 k0kubun/ppという、pretty printライブラリを作った。 任意の型のオブジェクトをpp.Print()に渡すと色つきでpretty printしてくれるという非常にシンプルなもの。 作った背景 fmt.Printf("%#v", ...)等ではわかりづらい複雑なmapやstructをdebug printするときは、pretty printを使うと便利。既存のpretty printライブラリには、GitHubで人気なものだとdavecgh/go-spewやkr/prettyなどがある。 いままではGoでデバッグのために複雑な構造をダンプするときこれらを使っていたのだが、必要以上に型の情報が書かれていたり、大きなものだと白黒なのでパッと見てわかりづらいなどの問題があった。 そこで、型やフィールドごとに別の色をつけることで視認性を高め、ビルトインの型情報は色にまかせて省
簡単なチャットプログラムは、ネットワークプログラミング用のフレームワークでは定番のサンプルプログラムです。 echo サーバーが Hello World とするなら、チャットは FizzBuzz といったところでしょう。 とりあえず動くだけのチャットならだれでもすぐに作れるようになりますが、まじめにチャットを作ることで、 ネットワークプログラミングで考えないといけない点やエラー処理の重要な基礎を学ぶことができます。 ということで、 Go でシンプルなチャットを実装してみました。 (ソースコード) 以降、何を考えてどういう設計を採用したのかを解説していきます。 考慮すべきポイント 特定のクライアントへの送信に長時間待たされた場合に、他のクライアントへの送信が遅れないようにする。 クライアントを切断するのは、 (1)ルーム側から kick する場合, (2)受信エラー, (3)送信エラー の3
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く