fujimisakari blog

TCPのSocket Closeでハマった

TCP通信開発に慣れていないのとTCP状態遷移を理解できていなかったのでSocket Closeしようとしてハマってしまった。 前提 やろうとしていたこと TCP ServerとClientを開発していて、Serverが落ちたときClientからリトライで再接続するような仕組み ハマったっこと Clientからリトライで再接続するとき、bind: ad

Test Double パターン

ユニットテストでよく mock や stub, fake など見かけるが理解度が低かったので、テストでは有名な xUnit Test Patterns を漁ってみるとこれらの用語は Test Double パターン がそれに該当するようだったので調べてみた Test Double パターン について対象コードをテストするために依存してるコンポーネントを別で用

Go

Go Linter

定期的にブログ書いてないとなかなか書く気が起きなくなるので敷居が低そうだった Go の Linter について調べてみた。書こうと思って調べた矢先、非常にまとまった良い記事を発見してしまったが気にせず書いてみる。 Go の CI で lint と カバレッジ回して非人間的なレビューは自動化しよう in 2016年 - haya14busa Go Meta

Go

赤黒木を実装

最近、業務委託で参画させていただいてる会社の方から新たな言語を使うときはまず赤黒木を作ってみるといいよと聞きGoで実装してみましたー red-black-treeコマンドに引数で数字を渡すと赤黒木として表示させる実装になってます 赤黒木について赤黒木は「平衡木」というデータ構造のひとつで、ツリー構造のうち、根ノードから子を持たない末端の葉ノードまでの深さがな

pecoでDockerを操作する

タイトルの通りですが、pecoでDockerを操作するコマンドを作りました。はじめに理想を言うと、素のDockerコマンドをタイポせずすごい勢いで打てるのが一番カッコイイと思ってるのですが自分には無理なので最高のインタフェースを持つpeco(本当はpercol)でDocker操作を効率化できるようにしました。 これまではよく紹介されてるshell設定のエイリ

Go

ゴルーチン、チャネルを利用した並行パターン

最近以下の書籍でゴルーチン、チャネルを利用した並行・並列ロジックに勉強しましたので整理してみます。 プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)Alan A.A. Donovan Brian W. Kernighan 丸善出版 売り上げランキング: 162,350Amazon.co.

Pythonエンジニアファーストブックを読んで

去年、@checkpointさんから頂いてたのに今ごろ感想上げて申し訳ありませんorzそしてありがとうございました!! Pythonエンジニア ファーストブック鈴木 たかのり 清原 弘貴 嶋田 健志 池内 孝啓 関根 裕紀 技術評論社 売り上げランキング: 44,136Amazon.co.jpで詳細を見る この本は、ファーストブックとつくようにこれ

EmacsでGoの開発環境構築

今さら感がありますが、最近よくGoを使っててあらためてEmacs環境を整備したのでざっくりまとめてみます。 メジャーモードの導入(go-mode)まずGo言語のためのメジャーモードのgo-modeで入れます。シンタックスハイライトやインデント、goコマンドをelispインタフェース通して利用できるようになります。 1M-x package-install g

2017年を振り返る

去年に引き続き今年も一月づつ印象に残ってることを振り返ってみる。 1月 新しい会社に入社 helm-code-skeltonを作る 言語のしくみを読んで まつもとゆきひろ 言語のしくみまつもとゆきひろ 日経BP社 売り上げランキング: 156,517Amazon.co.jpで詳細を見る 2月 プライベートでいろいろあってフリーランスを考えだす Hea

TDD

テスト駆動開発を読んで

ほしいと思ってたんですが気付いたらamazonとジュンク堂には無く、第2刷でようやく手に入れました。 テスト駆動開発Kent Beck オーム社 売り上げランキング: 4,007Amazon.co.jpで詳細を見る 自分はTDDについての知識は、ネット上の誰かの記事でつまみ読み程度でこうした本を読んで勉強するのは初めてでした。そして、普段の開発でテ