A little bit of everything

情報系大学院生の備忘録

安定ソート(stable sort)

ソートアルゴリズムにおいて「安定である」ということの意味 同順序のものの順序関係が、ソート前とソート後で保たれるもののこと。 (順序が保たれないものは、「安定ではない」という) 例) 本の値段と出版年によってソートする場合を考える。 最初に出版…

MongoDB の install (Mac)

homebrew を使用。 基本、Install MongoDB Community Edition on macOS — MongoDB Manual 3.6 に従う。 まず、brew update 次に、brew install mongodb ここで怒られた。対処したやり方↓ yuukiyg.hatenablog.jp で、これでinstall 完了。 Before you start M…

【メモ】homebrew で install するときに Permission denied になった

とりあえず brew doctor をやってみる。そしたら、 Warning: /usr/local/etc isn't writable. Warning: /usr/local/include isn't writable. Warning: /usr/local/lib isn't writable. みたいなことを言われた。 解決策は、 sudo chown -R $USER /usr/local …

データベースの種類

リレーショナルデータベース 関係モデル(リレーショナルデータモデル)にもとづいて設計、開発されるデータベース。スキーマが決まっていて、トランザクションが利用できるもの。 オブジェクトリレーショナルデータベース リレーショナルデータベースの一種…

スケールアウトとスケールアップ

スケールアウト(水平スケール): システムにノードを追加することで、システム全体のスケーラビリティ(システムの規模の変化に柔軟に対応できるかの度合い)を向上させること。具体的には、サーバが動いているようなシステムで、単純にサーバの数を増やせ…

DHCP のしくみ

DHCP (Dynamic Host Configuration Protocol) プロトコルスタック TCP/IPのアプリケーション層 下位プロトコル UDP ポート番号 67と68 (67はDHCPサーバ、68はDHCPクライアント用) 用途 TCP/IPで通信を行うためのIPアドレスやサブネットマスク、デフォルトゲ…

【Java】for文でリストを回して要素を削除

for文でリストを回して要素を削除しようとするなら、注意が必要です。 例えば、こんなコードがあったとする。 import java.util.ArrayList; public class Sample1 { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1</integer></integer>…

シャットダウンフック

JVMの終了時に何らかの処理をさせることが可能です。 この「JVM終了時に実行する処理」を記述したスレッドのことをシャットダウンフック(ShutdownHook)と呼びます。 ここで言う「JVMの終了時」とは、以下のものを指します。 System.exit() が呼ばれた場合 …

【Java】TCP通信

サーバ側 //これから立てるサーバのポート番号 int serverPort = 10000; //そのポート番号でサーバソケット(ServerSocket)をつくる ServerSocket serverSocket = new ServerSocket(serverPort); //accept() と書いた瞬間、クライアント待ちのループに入る So…