motacaplaのめう

日頃得られた知見と気付きをdumpするところ

2019-01-01から1年間の記事一覧

Effective Javaを読んでまとめてみる

はじめに 秋からの業務でJavaを書くこととなった. Javaを使う上での best practiceを学びたいと思い, おすすめされたEffective Javaを読み始めた. 著者の主張を自分なりに解釈してまとめることとする. 項目数が100近くあるので, いくつかに分ける. Item 1-5 …

Sort-Tile-Recursive (STR) algorithmの論文についてまとめてみる

これは何? Sort-Tile-Recursive (STR) algorithm に関して日本語・英語で説明された記事がなかった (+英語で書かれたスライドが間違っていた) ため, 原論文を読んでまとめることとした. Sort-Tile-Recursive (STR) とは? R-treeと共に用いられるpacking algo…

今更ながらJavaでSortアルゴリズムを実装した

はじめに Javaに親しむ一貫として、有名なSortアルゴリズムを3つ実装してみた。 今回実装したのは、QuickSort、BucketSort、MergeSortの3つ。 (ジェネリクスの扱いになれてなくて、結局int型配列で実装した) package motacapla.lib; public class Sort<T> { pri</t>…

合意プロトコル(Consensus Protocol)についてまとめてみる 第3章 3-phase commit (3PC)

この記事は何? 下記の続編で、3記事目である。 tikeda-meu.hatenablog.com というわけで今日は3-phase commit (3PC) についてまとめてみる。 3-phase commit (3PC) とは commitまでに3つのフェーズが存在し、それらをpassした時にのみcommitする、そうでなけ…

合意プロトコル(Consensus Protocol)についてまとめてみる 第2章 2-phase commit (2PC)

この記事は何? 下記の続編である。今回は2 Phase Commit (2PC) についてまとめる。 tikeda-meu.hatenablog.com 2-phase commit (2PC) とは 2PCはatomic commitment protocol (ACP) の一種である。このatomic commitとは、"変更"操作の集合として処理が実行さ…

Dependency Injection (DI) について入門した話

これは何? 「Dependency Injection (DI) を知ってますか?」と聞かれ、何も分からなかったので調べてまとめました Javaでコードを書いてみたので、参考になればと思います DIとは DIは"あるクラスが他クラスのオブジェクトを引数で受けとる"ようなソフトウェ…

合意プロトコル(Consensus Protocol)についてまとめてみる 第1章 概要と背景知識について

この記事は何? 分散環境下において合意を取るためのプロトコルがいくつか存在するので、それらを簡単にまとめることとする。 ※分散システムの勉強を兼ねて書いておりますので、間違い等ありましたらご指摘頂けると幸いです。 利用用途 分散合意プロトコルは…

ABC130に参加して冷えた話

はじめに 更新をサボり気味なので、これから毎週コンテスト後の感想を綴っていこうと思います。 2完しか出来ずに氷河期を迎えた(茶パフォ)、前回稼いだレートは消えました。 Contest Result - AtCoder A問題 お決まりのif文知ってますか問題、変数の名前は…

忙しい人のためのRedisチュートリアル

この記事は何? RedisConf19参加にあたり, Redisのdocsをしっかり読み込んだことがなかったため実施した. 量が多いため, 途中から要約だけ載せる.(疲れたので) https://redis.io/ なお, 現時点でのlatest stableはRedis v5.0.4である. commands データ型はstr…

ABC118 に参加した話

問題 下記リンク atcoder.jp 解答 A問題 cin >> a >> b; if(b%a == 0) cout << a+b << endl; else cout << b-a << endl; B問題 mapに挿入、n個あるものをカウントして出力 int k[31], a[31][31]; map<int, int> mp; int main(void){ ios_base::sync_with_stdio(false);</int,>…